어쩔수 없이 안드로이드 스튜디오를 쓰는데, 역시 이전에 쓰던 버릇을 고치기가 쉽지 않다.
다른건 어쩔수 없다 쳐도 단축키는 바꿀수가 있는데...
"File > Settings ... " 메뉴로 가서...
"Keymap > Eclipse" 를 지정하면 이클립스에서 사용하던 단축키와 동일하게 바꿔 준다.
2016년 1월 30일 토요일
2016년 1월 29일 금요일
Android : 갤럭시 노트5 에서 "USB 디버깅" 이 활성화가 안될 때. (모든 삼성폰이 다 해당됨)
안드로이드 앱 테스트를 해볼려고 하는데, 다른 폰은 다 되는데 유독 노트5만 안드로이드 스튜디오에서 인식이 되지 않는다. (이클립스에서도 안됨)
왜 인지 찾아보니...
"USB 디버깅" 이 비활성화가 되어 있음. 아예 선택이 안됨.
일런 퐗당한 씨츄웨이션이...
예전에 테스트용으로 사용한 적이 있어서 더 황당함...
구글신께 여쭤본 결과...
"My KNOX" 가 설치되어 있으면 디버깅이 안됨.
이거 이거 ... 이거 말임 ... 이거 설치되어 있으면 디버깅 모드 안됨...
(참고 : "My KNOX" 가 아닌 그냥 "KNOX" 는 설치되어 있어도 디버깅 모드 사용 가능함)
뭐 이런일이... 뭐... 잘 생각해 보니 납득이 안되는건 아님... 보안상 어쩔 수 없었겠지...
아니 !! 그러면 경고라도 뭐 하나 날려 주던가 !!!
(곰곰히 생각해 보니 있었는지도 모르겠다... 그렇다고 그거 확인할려고 다시 설치하고 싶은 생각은 없음.)
하여간 이거 삭제 하고 나니...
이제 인식 잘됨...
에이... 괜히 시간만 버렸네...
라벨:
Android,
Android Studio,
Eclipse
Android Studio : 장치는 인식이 되는데, 그 장치로 앱이 실행되지 않을때.
새로 개발환경을 세팅하고 폰을 연결해서 테스트 해보려 했더니...
이렇게 나오면서 실행이 안된다.
당연히 "삼성 통합 드라이버" 는 설치했다. 그랬으니 장치가 목록에 나오기라도 하지, 아니면 아예 아무것도 안나옴.
정말 왜 문제인지는 안알려주고 그냥 다짜고짜 안된다고 할때는 정말 답답해...
암튼 이걸 해결 할려면...
"Tools > Android > SDK Manager" 로 이동.
"Android SDK" 에서 "Google USB Driver" 를 체크하고 설치하면 된다.
이렇게 설치하고 나면...
이렇게 실행 가능 상태가 됨.
즉, "삼성 USB 통합드라이버" 와 "Google USB Driver" 가 둘다 설치되어 있어야 디바이스로 앱 실행이 가능함.
안드로이드 스튜디오가 아니라 이클립스에서도 마찬가지. 어차피 같은 SDK 니까...
이렇게 나오면서 실행이 안된다.
당연히 "삼성 통합 드라이버" 는 설치했다. 그랬으니 장치가 목록에 나오기라도 하지, 아니면 아예 아무것도 안나옴.
정말 왜 문제인지는 안알려주고 그냥 다짜고짜 안된다고 할때는 정말 답답해...
암튼 이걸 해결 할려면...
"Tools > Android > SDK Manager" 로 이동.
"Android SDK" 에서 "Google USB Driver" 를 체크하고 설치하면 된다.
이렇게 설치하고 나면...
이렇게 실행 가능 상태가 됨.
즉, "삼성 USB 통합드라이버" 와 "Google USB Driver" 가 둘다 설치되어 있어야 디바이스로 앱 실행이 가능함.
안드로이드 스튜디오가 아니라 이클립스에서도 마찬가지. 어차피 같은 SDK 니까...
라벨:
Android,
Android Studio,
Eclipse
2016년 1월 28일 목요일
Android Studio : 프로젝트 만들기
간단하게 샘플용 프로젝트를 만듬.
"Start a new Android Studio project" 를 클릭하여 프로젝트 생성.
적당하게 프로젝트명을 지정하고, 작업 경로를 지정.
Company Domain 은 나붕에 배포를 할때 문제가 될 수 있으므로 남들과 중복 가능성이 없게끔 지정.
일단 폰을 대상으로 할꺼라서 폰만 체크.
안드로이드 스튜디오는 최저 기기 대상만 지정 함.
적당히 젤리빈 정도로 지정...
모든걸 직접 다할 려면 "Add No Activity" 를 하겠지만, 일단 샘플이니 "Blank Activity" 를 지정... 이러면 빈 화면 하나 만들어줌.
이렇게 하면...
이렇게 황량한 화면이 나타나는데 ... (컴퓨터의 사양이 좋을 경우 안나타 날 수도 있음.)
하단에 보면 뭔가 열심히 작업중임을 나타내고 있음. 이게 완료 될때까지 잠시 기다리면...
요렇게 간단한 초기 세팅이 끝난 화면이 나옴...
요기서 상단의 실행 버튼을 클릭해 보면...
실행할 디바이스를 선택하는게 나오는데, 만약 실제 디바이스(휴대폰)이 연결되어 있다면 상단에 나오니 그걸 선택하면 되고, 없다면 하단에 있는 에뮬레이터를 지정.
그렇게 하면...
요렇게 가상 폰이 나타나 앱을 실행해줌.
이클립스나 안드로이드 스튜디오나, 어차피 SDK 자체는 같은 놈이라, 가상머신 실행이 엄~~~청 느림.
그냥 폰 연결해서 테스트해보는게 정신건강에 좋음.
라벨:
Android,
Android Studio
Android Studio : 안드로이드 스튜디오 설치.
예전에 글을 썼던거 같은데... 없네...
예전에는 안드로이드 앱을 개발 할때 이클립스로 했지만, 이제는 구글이 아예 이클립스를 배제하고 안드로이드 스튜디오만 지원하겠다고 해서 점점 개발 툴이 바뀌고 있는 추세.
일단 자바 기반이므로 자바를 설치해야함. 자바 설치는 아래 링크 참고.
설치 프로그램은 그냥 구글에서 다운 받으면 됨.
저기 "Get the SDK" 를 클릭 하면...
다운로드 버튼이 나오니 저걸 클릭해서 다운 받을 수 있음.
다운 받은 프로그램을 실행시키면...
설치가 시작되는데...
딱히 지정할 것은 없음, 처음에 뭘 설치할 것인가 하고 설치 경로를 묻는데, 그냥 기본값으로 해도 되고, 원한다면 바꿔도 됨.
그렇게 설치가 끝나고, 프로그램을 실행 시키면...
이렇게 로고가 뜨면서...
이상한것을 묻는데, 이건 기존 사용 환경설정 정보를 사용할 것인가 묻는건데, 처음 설치하는 경우라면 그냥 밑에 것으로 지정하고 "OK".
그러면 이렇게 설치된 항목을 점검하고 필요한 패키지가 있으면 다운로드 받아 설치함.
그런데, 가끔씩...
이렇게 뭐가 안된다며 설치가 제대로 진행이 안되는 경우가 있음.
반드시 그런것은 아니지만, 대부분의 경우는 설치할 파일이 사용중이라 설치가 안되는 경우 인데, 이클립스의 경우는 이클립스를 종료하고 직접 SDK Update 를 실행시켜 해결하곤 했으나... 그냥 프로그램 종료하고 재실행 해서 업데이트 진행하면 해결되는게 보통...
그렇게 업데이트 까지 마치면...
요렇게 최초 실행창이 뜸.
이제 프로그램 개발 하면 됨.
예전에는 안드로이드 앱을 개발 할때 이클립스로 했지만, 이제는 구글이 아예 이클립스를 배제하고 안드로이드 스튜디오만 지원하겠다고 해서 점점 개발 툴이 바뀌고 있는 추세.
일단 자바 기반이므로 자바를 설치해야함. 자바 설치는 아래 링크 참고.
윈도우에서 안드로이드 개발 환경 구축 :
http://son10001.blogspot.kr/2014/05/blog-post.html
설치 프로그램은 그냥 구글에서 다운 받으면 됨.
배포처 : http://developer.android.com/intl/ko/index.html
저기 "Get the SDK" 를 클릭 하면...
다운로드 버튼이 나오니 저걸 클릭해서 다운 받을 수 있음.
다운 받은 프로그램을 실행시키면...
설치가 시작되는데...
딱히 지정할 것은 없음, 처음에 뭘 설치할 것인가 하고 설치 경로를 묻는데, 그냥 기본값으로 해도 되고, 원한다면 바꿔도 됨.
그렇게 설치가 끝나고, 프로그램을 실행 시키면...
이렇게 로고가 뜨면서...
이상한것을 묻는데, 이건 기존 사용 환경설정 정보를 사용할 것인가 묻는건데, 처음 설치하는 경우라면 그냥 밑에 것으로 지정하고 "OK".
그러면 이렇게 설치된 항목을 점검하고 필요한 패키지가 있으면 다운로드 받아 설치함.
그런데, 가끔씩...
이렇게 뭐가 안된다며 설치가 제대로 진행이 안되는 경우가 있음.
반드시 그런것은 아니지만, 대부분의 경우는 설치할 파일이 사용중이라 설치가 안되는 경우 인데, 이클립스의 경우는 이클립스를 종료하고 직접 SDK Update 를 실행시켜 해결하곤 했으나... 그냥 프로그램 종료하고 재실행 해서 업데이트 진행하면 해결되는게 보통...
그렇게 업데이트 까지 마치면...
요렇게 최초 실행창이 뜸.
이제 프로그램 개발 하면 됨.
라벨:
Android,
Android Studio
2016년 1월 22일 금요일
C# WebForm : Get 방식으로 특수문자를 파라메타로 전달시에는 UrlEncode 를 사용하면 된다.
Get 방식으로 특수문자나 한글을 전달할 때 가끔 문제가 된다.
간단히 예제를 만들어 보면...
웹페이지를 만들고...
버튼을 클릭하면 원래 페이지로 Get 파라메터를 전달 한다.
일반적인 값은 정상적으로 잘 전달되겠지만, 특수 문자나 한글은 문제가 생길거다...
이렇게 해놓고 버튼을 클릭해 보면...
파라메타 P1 의 값에 있는 특수문자 "&" 때문에 파라메터 값이 잘린다.
이 특수한 값을 제대로 전달 할려면, UrlEncode 를 사용하면 된다.
이렇게 하면...
이렇게 정상적으로 값이 전달 된다.
한글은 encoding 이 안된것 같지만... 저 주소창의 값을 복사해서 메모장 같은데 붙여 넣어 보면...
그냥 한글로 보이지만, 사실은 인코딩 값이 들어가 있다.
(요즘은 한글은 자동으로 인코딩 해줘서 한글은 궂이 인코딩 해주지 않아도 되지만, 그래도 가급적 직접 해주는게 좋다.)
참고로, 예제에는 보낼때는 Encoding 하고 받을 때는 그냥 썻지만, 원래는...
보낼때는 Encoding 으로 보내고, 받을때 Decoding 해서 쓰는게 정석이다.
뭐... 그냥 해도 잘되니... 그냥 쓰기도 하지만... 괜히 나중에 고생하지 않으려면 다 써놓는게 좋다.
간단히 예제를 만들어 보면...
웹페이지를 만들고...
버튼을 클릭하면 원래 페이지로 Get 파라메터를 전달 한다.
일반적인 값은 정상적으로 잘 전달되겠지만, 특수 문자나 한글은 문제가 생길거다...
이렇게 해놓고 버튼을 클릭해 보면...
파라메타 P1 의 값에 있는 특수문자 "&" 때문에 파라메터 값이 잘린다.
이 특수한 값을 제대로 전달 할려면, UrlEncode 를 사용하면 된다.
이렇게 하면...
이렇게 정상적으로 값이 전달 된다.
한글은 encoding 이 안된것 같지만... 저 주소창의 값을 복사해서 메모장 같은데 붙여 넣어 보면...
그냥 한글로 보이지만, 사실은 인코딩 값이 들어가 있다.
(요즘은 한글은 자동으로 인코딩 해줘서 한글은 궂이 인코딩 해주지 않아도 되지만, 그래도 가급적 직접 해주는게 좋다.)
참고로, 예제에는 보낼때는 Encoding 하고 받을 때는 그냥 썻지만, 원래는...
보낼때는 Encoding 으로 보내고, 받을때 Decoding 해서 쓰는게 정석이다.
뭐... 그냥 해도 잘되니... 그냥 쓰기도 하지만... 괜히 나중에 고생하지 않으려면 다 써놓는게 좋다.
SQL : 자주 쓰는 기본 쿼리.
SQL 기본 쿼리. 맨날 쓰는건데도 막상 쓸려고 하면 은근히 헷갈림.
(MS SQL 기준)
[조회]
[삽입]
[수정]
[삭제]
[마지막 생성 ID]
[변수선언]
(MS SQL 기준)
[조회]
SELECT [필드] FROM [테이블] WHERE [조건] ORDER BY [정렬]
(중복제거) SELECT Distinct [필드] FROM [테이블] WHERE [조건] ORDER BY [정렬]
[삽입]
INSERT INTO [테이블] ( [필드], , , ) VALUE ( [값], , , )
[수정]
UPDATE [테이블] SET [필드] = [값], , , , , WHERE [조건]
[삭제]
DELETE [테이블] WHERE [조건]
[마지막 생성 ID]
SELECT @@identity
[변수선언]
DECLARE [변수명] [변수타입]
2016년 1월 21일 목요일
Bootstrap : 부트스트랩 공부에 도움이 되는 사이트 w3schools.com
부트스트랩에 공부에 도움이 되는 사이트
자료야 찾아보면 많이 있지만, 이 사이트의 장점은 직접 테스트까지 가능하다는데 있다.
예를 들어 버튼 부분을 정보를 조회 하다...
예제에 "Try it Yourself" 라는 버튼이 있는데, 이걸 클릭해보면...
이렇게 소스를 편집해 볼수 있는 페이지로 이동하는데 ...
여기서 직접 소스를 수정하고, "See Result" 버튼을 클릭하면...
이렇게 수정한 결과를 바로 볼수 있음.
간단하게 이것 저것 테스트해보기 딱 좋음.
http://www.w3schools.com/bootstrap/default.asp
자료야 찾아보면 많이 있지만, 이 사이트의 장점은 직접 테스트까지 가능하다는데 있다.
예를 들어 버튼 부분을 정보를 조회 하다...
예제에 "Try it Yourself" 라는 버튼이 있는데, 이걸 클릭해보면...
이렇게 소스를 편집해 볼수 있는 페이지로 이동하는데 ...
여기서 직접 소스를 수정하고, "See Result" 버튼을 클릭하면...
이렇게 수정한 결과를 바로 볼수 있음.
간단하게 이것 저것 테스트해보기 딱 좋음.
Bootstrap : 부트스트랩(Bootstrap) 사용하기 및 참조 사이트
요즘은 홈페이지 프레임워크로 Bootstrap 를 많이 쓴다.
이게 너무 흔하게 사용되서 사이트들이 개성이 죽어버린다는 둥, 프레임워크가 덩치가 너무 커서 사이트 속도가 저하된다는 둥... 해서 사용해서는 안된다고 주장하는 사람들이 있지만, 그만큼 손쉽게 뭔가 있어 보이는 사이트를 만들수 있어 안쓰기도 좀 그렇다.
(사실 IE8 을 지원하는 프레임워크가 흔하지 않아 어쩔수 없이 쓰는 경향이 있음.)
뭐, 그래도 사용법은 익혀 두는게 좋다. 쓸수 있지만 안쓰는것과, 쓸줄 몰라서 안쓰는것의 차이는 크니까.
이런 종류의 프레임웤의 사용법는 다 그렇지만, 그냥 다운받아 링크만 지정해 놓으면 된다.
여기서 다운 받으면 됨.
다운 받을 수 있는 파일의 종류가 몇가지 있지만, 학술적으로 관심이 있는 사람이 아니라면 그냥 "Bootstrap" 을 받으면 됨.
다운 받은 파일의 압축을 풀어서...
저렇게 사용하고자 하는 사이트에 복사해 넣으면 됨.
그리고 사용할 Html 페이지에서...
상단에 "bootstrap.min.css" 파일을 링크해주고, 하단에 "bootstrap.min.js" 파일을 링크 해주면 기본적인 사용 준비는 끝.
주의 할점은 이게 "jQuery" 기반이라 "jQuery" 링크를 꼭 기록해 주어야 한다는 점.
(사실 자바스크립트 플러그인을 안쓴다면 없어도 되지만, 자바스크립트 플러그인을 안쓰는 경우라면 궂이 이 무거운 bootstrap 을 쓸 이유가 없으니...)
어째서 스타일 시트는 상단에 기록하고, 자바스크립트는 하단에 기록하는지는 모르겠지만, 기본 사용법에 저렇게 하라고 되어 있으니 그냥 그렇게 하도록 하자.
예제 소스는...
배포 사이트의 "Components" 메뉴에 있는 "Dropdowns" 를 사용.
이렇게 해놓고, 웹브라우저에서 보면...
이렇게 뭔가 있어보이는 효과가 적용된 웹페이지를 간단하게 만들수 있음.
원래 배포 사이트는 영문이지만....
여기서 한글로 번역된 내용을 볼 수 있으니, 참고.
이게 너무 흔하게 사용되서 사이트들이 개성이 죽어버린다는 둥, 프레임워크가 덩치가 너무 커서 사이트 속도가 저하된다는 둥... 해서 사용해서는 안된다고 주장하는 사람들이 있지만, 그만큼 손쉽게 뭔가 있어 보이는 사이트를 만들수 있어 안쓰기도 좀 그렇다.
(사실 IE8 을 지원하는 프레임워크가 흔하지 않아 어쩔수 없이 쓰는 경향이 있음.)
뭐, 그래도 사용법은 익혀 두는게 좋다. 쓸수 있지만 안쓰는것과, 쓸줄 몰라서 안쓰는것의 차이는 크니까.
이런 종류의 프레임웤의 사용법는 다 그렇지만, 그냥 다운받아 링크만 지정해 놓으면 된다.
배포사이트 : http://getbootstrap.com/
여기서 다운 받으면 됨.
다운 받을 수 있는 파일의 종류가 몇가지 있지만, 학술적으로 관심이 있는 사람이 아니라면 그냥 "Bootstrap" 을 받으면 됨.
다운 받은 파일의 압축을 풀어서...
저렇게 사용하고자 하는 사이트에 복사해 넣으면 됨.
그리고 사용할 Html 페이지에서...
상단에 "bootstrap.min.css" 파일을 링크해주고, 하단에 "bootstrap.min.js" 파일을 링크 해주면 기본적인 사용 준비는 끝.
주의 할점은 이게 "jQuery" 기반이라 "jQuery" 링크를 꼭 기록해 주어야 한다는 점.
(사실 자바스크립트 플러그인을 안쓴다면 없어도 되지만, 자바스크립트 플러그인을 안쓰는 경우라면 궂이 이 무거운 bootstrap 을 쓸 이유가 없으니...)
어째서 스타일 시트는 상단에 기록하고, 자바스크립트는 하단에 기록하는지는 모르겠지만, 기본 사용법에 저렇게 하라고 되어 있으니 그냥 그렇게 하도록 하자.
예제 소스는...
배포 사이트의 "Components" 메뉴에 있는 "Dropdowns" 를 사용.
이렇게 해놓고, 웹브라우저에서 보면...
이렇게 뭔가 있어보이는 효과가 적용된 웹페이지를 간단하게 만들수 있음.
원래 배포 사이트는 영문이지만....
한글 부트스트랩 사이트 : http://bootstrapk.com/
여기서 한글로 번역된 내용을 볼 수 있으니, 참고.
2016년 1월 20일 수요일
C# WebForm : 웹페이지를 간단하게 Excel 로 저장
업무용 프로그램을 만들다 보면 필연적으로 출력기능이 필요한 경우가 생긴다.
정석대로라면 웹프린트를 하던가 엑셀을 만들어서 다운로드 하게 하던가 해야 하지만, 규격화된 레포트가 아니라 그냥 단순히 데이터만 받을수 있으면 되는 경우라면, 간단히 현재 페이지의 내용을 엑셀 형식으로 다운 받게 하면 된다.
물론 이 경우는 엑셀 프로그램이 Html 형태의 데이터를 읽을수 있다는 편법을 이용하는 거라, 실제 엑셀 파일을 만들어 주는것은 아니라는 것을 염두에 두고 있어야 한다.
예를 들어 요런 페이지를 엑셀로 다운 받게 만들고 싶다면...
일단 버튼을 하나 만들어 주고 그 버튼 클릭시 이벤트에다...
요렇게 ....
이렇게 만든 페이지를 웹브라우져에서 보면...
이렇게 나오는데, 저 버튼을 클릭하면...
이렇게 파일이 다운로드 됨.
이걸 엑셀 프로그램으로 열어 보면...
이런 경고가 나타나지만, 그냥 무시하고 열면 된다. 그러면...
이렇게 웹페이지의 내용을 엑셀에서 열어 볼 수 있음.
... 근데... 사실...
다운받은 이 파일은... 텍스트 에디터로 열어 보면...
그냥 원래 Html 을 엑셀 확장자로 다운 받은것일 뿐임.
뭐... 그래도 사용하는데에는 별 지장 없음.
정석대로라면 웹프린트를 하던가 엑셀을 만들어서 다운로드 하게 하던가 해야 하지만, 규격화된 레포트가 아니라 그냥 단순히 데이터만 받을수 있으면 되는 경우라면, 간단히 현재 페이지의 내용을 엑셀 형식으로 다운 받게 하면 된다.
물론 이 경우는 엑셀 프로그램이 Html 형태의 데이터를 읽을수 있다는 편법을 이용하는 거라, 실제 엑셀 파일을 만들어 주는것은 아니라는 것을 염두에 두고 있어야 한다.
예를 들어 요런 페이지를 엑셀로 다운 받게 만들고 싶다면...
일단 버튼을 하나 만들어 주고 그 버튼 클릭시 이벤트에다...
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; public partial class web_Tmp_year : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { } protected void Button1_Click(object sender, EventArgs e) { Response.ClearHeaders(); string fileName = "파일명[" + DateTime.Today.ToString().Substring(0, 10) + "].xls"; Response.ContentType = "application/vnd.ms-excel"; Response.AddHeader("Content-Disposition", "attachment;fileName=" + fileName); Response.Charset = "euc-kr"; Button1.Visible = false; System.IO.StringWriter tw = new System.IO.StringWriter(); System.Web.UI.HtmlTextWriter hw = new System.Web.UI.HtmlTextWriter(tw); String convStr = Table1.ToString(); Response.Write(convStr); } }
요렇게 ....
이렇게 만든 페이지를 웹브라우져에서 보면...
이렇게 나오는데, 저 버튼을 클릭하면...
이렇게 파일이 다운로드 됨.
이걸 엑셀 프로그램으로 열어 보면...
이런 경고가 나타나지만, 그냥 무시하고 열면 된다. 그러면...
이렇게 웹페이지의 내용을 엑셀에서 열어 볼 수 있음.
... 근데... 사실...
다운받은 이 파일은... 텍스트 에디터로 열어 보면...
그냥 원래 Html 을 엑셀 확장자로 다운 받은것일 뿐임.
뭐... 그래도 사용하는데에는 별 지장 없음.
피드 구독하기:
글 (Atom)