본문 바로가기

분류 전체보기

자바스크립트 연관배열로 특수문자 및 기호가 포함된 property의 이름을 string으로 참조할 수 있다. DB 테이블에 저장된 행 갯수를 구해야 해서 count 쿼리문을 실행했다.1select count(*) from postscs 결과값으로 넘어오는 데이터는 이렇게 생겼다.1[ RowDataPacket { 'count(*)': 5 } ]cs rowDataPacket에 들어있는 count(*) 속성의 값이 필요하다. 하지만 특수문자 및 기호가 포함된 속성이라 undefined가 뜬다.1console.log(result[0].count(*));cs 이럴 때! 자바스크립트의 연관배열을 사용하면 해결할 수 있다.자바스크립트가 인식할 수 없는 속성 이름을 대괄호[ ]로 감싸면 string으로 읽어온다.1console.log(result[0].[count(*)]);cs 더보기
[Eclipse] Maven 프로젝트인지 구별하는 방법 :: pom.xml 웹프로젝트 유지보수가 시작되었다. 소스도 받고 이도 설치했다. 메이븐 프로젝트는 import 방법이 다르다. 우선, 소스에 pom.xml 파일이 있으면 메이븐 프로젝트다. 이클립스에서 메이븐 프로젝트를 import하는 방법은, 이클립스 실행 > 프로젝트 탐색창에서 마우스 우클릭 > import > import Maven > Existing Maven Projects > Next 소스 폴더를 선택하고 pom.xml 파일만 선택하고 OK하면 된다. 더보기
안드로이드 앱 마켓에 등록할때 개인정보처리방침 이슈 처리하기 하청으로써 한 기업의 앱을 출시했다.그 이후로 앱 유지보수를 하여 새로운 기능이 추가되었고 앱 업데이트 버전을 마켓에 배포했다. 사이닝한 릴리즈 버전의 APK 파일을 준비한다. 구글플레이 개발자 콘솔(클릭)에 로그인한다. 왼쪽의 사이드메뉴에서 "출시 관리"를 클릭해 하위메뉴를 펼친다. "앱 버전" 메뉴를 클릭해 해당 화면으로 이동한다. "버전 수정" 버튼을 클릭한다. 서명하여 릴리즈 버전으로 빌드한 APK 파일을 업로드한다. 출시 노트에는 추가된 기능이나 개선사항들을 기입한다. 정보 입력을 마치면 하단의 "검토" 버튼을 클릭한다. 왠 오류 팝업이 발생한다. 개인정보처리방침 항목인 카메라를 사용하는 앱이므로 추가 정보를 입력해야한다고 한다. 사이드메뉴의 앱 정보 > 스토어 등록정보 > 개인정보처리방침에 카.. 더보기
정규표현식 재미있다. 정규표현식을 이용해서 replaceAll과 같은 역할을 하는 함수를 만들었다. fullStr.replace(/NAY/gi, "RAY"); 를 호출하면 fullStr의 문자중에 "NAY"를 모두 "RAY"로 변경한다. 하지만 내가 구현해야 하는 부분은 치환할 종류가 세가지이다. 고객명, 회사명, 사용자명. 역할은 동일하니까 치환자를 파라미터로 받아서 처리하도록 구현했다. 헉 하지만 /NAY/gi 부분의 NAY를 변수에 저장해서 호출하니까 제대로 동작하지 않는다. 검색해봤더니 정규표현식에서 변수를 사용하려면 반드시 RegExp()를 호출해야 한단다. 1234// fullStr에 있는 모든 searchStr을 replaceStr로 치환getReplaced:function(fullStr, searchStr, r.. 더보기
[네트워킹] 그림으로 배우는 Http&Network Basic, 목표기간 3주! 개발하면서 네트워킹 지식이 모자람을 많이 느낀다. 멀티파트, 바이너리 싣는것, Volley 이용, HTTP 통신 처리용 내부 라이브러리 이용 등... 한계점이 느껴진다. 그리하여 개발자 커뮤니티에서 강추한 HTTP 완벽 가이드를 구매했지만, 와아 어려워서 책장이 안넘어간다. HTTP 공부 시작도 못해보고 정체기였는데 회사 상사님께서 보고계시던 책이 눈에 들어왔다!!!!! 그래! 이 책을 먼저 읽고나면 HTTP 완벽 가이드를 읽을 수 있을거야! 흔쾌히 책을 빌려주셨다. 감사합니다 ㅎ.ㅎ! 나는 3주안에 이 책을 읽을것이기에 상세한 목표설정을 했다. 이번주는 1장부터 5장까지 읽어야지! 더보기
Nougat 7+ 대응, FileProvider 게시물에 첨부된 파일을 다운로드하고 실행할 때, FileUriExposeException이 발생하면서 앱이 죽는다. Android 7.0 Behavior Changes | Android Developers 안드로이드 7.0 변경된 사항들을 보니, 앱과 앱간의 파일 공유에 새로운 정책이 반영되었다.앱 외부에서 file://URI를 참조하면 FileUriExposeException이 발생한다.앱 사이에 파일을 공유하려면 반드시 content://URI를 사용해야하고, 이 URI에 대한 임시 접근권한을 줘야한다.FileProvider가 그 권한을 가장 쉽게 부여하는 방법이다. FileProvider | Android Developers FileProvider란? 앱과 앱 사이의 안전한 파일 공유를 가능하게하는.. 더보기
Intent :: setFlags() VS addFlags() 첨부파일 항목을 클릭하면 새로운 액티비티를 띄워서 관련 뷰어를 실행하도록 했다.Nougat(누가) 버전을 대응하느라 FileProvider를 적용하면서, setFlags()를 addFlags()로 변경해야 관련 뷰어앱이 실행된다. intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 이 둘은 무슨 차이인거지? 우선 flag에 대해서 찾아봤다.: startActivity()를 호출할때, 새로운 액티비티를 현재 태스크에 넣을것인지 정의하는 값이다. - FLAG_ACTIVITY_NEW_TASK : 액티비티를 새로운 태스크에서 실행한다.실행하려는 액티비티에 대한 태스크가 이미 실행중이면, 그 태.. 더보기
Android nougat(7+) webview에 컨텐츠가 출력되지 않을때 안드로이드 누가 기기에서 기존에 사용하던 웹뷰를 실행해보았다.웹뷰에 컨텐츠가 출력되지 않는다. 안드로이드 개발자 문서에서는 누가 버전 웹뷰의 변경사항에 대해 말하고 있지만, 정작 해결을 어떻게 하는지는 하나도 모르겠다. https://developer.android.com/about/versions/nougat/android-7.0.html#webview 'android nougat 7 webview'로 구글링해서 얻은 결과이다.웹뷰에 WebViewClient를 설정해주고 shouldOverrideUrlLoading()에 return 값을 true로 해줘야한다. http://stackoverflow.com/questions/42367358/webview-on-android-7-0-doesnt-render.. 더보기