Programming
-
[Python] euc-kr 웹페이지의 데이터를 utf-8로 변환하기Programming 2016. 4. 6. 19:36
python(2.7) 으로 웹페이지 parsing 을 하다보면 계속 만나게 되는 문제.매번 까먹어서 짜증나서 블로그에 포스팅해놔야지 euc-kr 로 제작된 웹페이지를 urllib 등으로 데이터를 읽어와서작업을 하려하면 한글이 무참히 깨지거나, 폭풍 error req=urllib2.Request(url) res=urllib2.urlopen(req).read() convStr=unicode(res,'euc-kr').encode('utf-8') print(convStr) 이렇게, unicode로 변환 후 utf-8로 encoding 해주면 대부분 잘 된다.
-
[PHP] 접속 기기 구별 하기 - 모바일? 데스크탑?Programming/Web 2014. 3. 7. 15:57
홈페이지를 만들다 보면 유저가 모바일로 접속한것인지, 데스크탑으로 접속한건지구별해야 할 때가 있다. 모바일로 접속했을 경우 모바일 웹을 보여줘야하고데스크탑으로 접속했을 경우 PC웹을 보여줘야 하기 때문이다.(물론 다른이유들도 있겠지만) 그리하여, 접속자가 모바일로 접속했는지 PC로 접속했는지 구별하는 방법을 알아보자 위와 같이 $_SERVER['HTTP_USER_AGENT'] 로 모바일인지 PC인지 등을 구별할 수 있다.위의 소스는 일부러 iOS와 Android 를 나누었지만나누지 않고 Mobile 로 구별할 수 도 있다.Agent 로 오는 값은 다양한데 대표적으로 아래와 같은 목록이 있다. 위의 목록이면 거의 대부분의 '스마트폰'을 식별해 낼 수 있다.
-
[HTML/JS]홈페이지에 페이스북 좋아요 버튼을 달기Programming/Web 2014. 3. 7. 15:36
위와 같은 페이스북 좋아요, 공유버튼을 만들어 달아보자 https://developers.facebook.com/docs/plugins/like-button 위의 링크로 접속하면 페이스북 좋아요 버튼을 만들 수 있다. 위의 그림1과 같은 모습을 볼 수 있는데. 각 텍스트에 내가 원하는 값들을 넣으면 쉽게 Code 를 작성해준다. URL to Like 에 좋아요 갯수를 올릴 링크를 넣고 Layout 과 Action Type 을 지정해주고, 옵션을 선택하고 Get Code 를 누르면 된다. [ 가운데 미리보기를 보면서 만들면 누구나 쉽게 만들 수 있다] 그림2와 같이 만들어 준 코드를 홈페이지 나 블로그에 적용 하기만 하면된다. Body 내에 스크립트를 넣어두고, 아래칸의 코드를 버튼을 두고싶은 위치에 적용..
-
Android 앱 개발시 Java 7 사용하기 - 펌Programming/Android 2014. 1. 13. 21:57
Android 앱 개발시 Java 7 사용하기GDG Korea Android 의 공동 운영자이신 김기완(hl5pma 골뱅이 gmail.com) 님께서 안드로이드의 새로운 빌드시스템인 gradle 설정을 통해, 작년 가을 새롭게 릴리즈된 Java 7 컴파일러를 이용하여 안드로이드 어플리케이션을 개발하는 방법에 관한 내용을 정리해 주셨습니다. 개발자의 삶을 한층 더 편안하게 만들어줄 수 있는 Java 의 새로운 기능들을 함께 살펴보면 어떨까요?buildToolsVersion 19 부터 Java 7 로 앱을 빌드할 수 있게 됨에 따라 gradle 빌드 스크립트에 아래 내용을 추가해주면 Java 7 의 특성들을 이용하여 앱을 개발할 수 있게 되었습니다.android { compileSdkVersion 19 bu..
-
[Network] Android Volley 라이브러리Programming/Android 2013. 11. 21. 13:37
오늘은 Google I/O 2013 에서 발표되었던 Volley 라는 Network&ImageLoading Framework 에 대해서 블로깅 해보려고 합니다. 이번 프로젝트에서 저는 Network 통신을 위해서 사용한 라이브러리 인데, 매우 만족하고 이에 대해 블로깅하고 정보를 공유하고자 합니다. Volley의 주요 기능은 다음과 같습니다. ● 요청작업큐(RequestQueue) + Thread pool을 이용한 동시 요청 지원. ● 요청별 우선 순위 : 목록조회와 이미지 다운로드를 할때 목록조회가 우선순위가 높게 설정. 다음 페이지의 목록조회를 요청하면 이전페이지의 이미지로딩이 끝나지 않아도 기다리지 않고 수행. (A요청이 B요청보다 먼저 응답을 받아야 할 경 우와 같이) ● Transparent c..
-
스피커폰으로 전화걸기Programming/Android 2013. 8. 19. 13:16
현재 진행중인 프로젝트를 진행하면서 어플에서 해당번호로 한뼘통화(스피커폰)를 거는 이슈가 있었다. 해당 이슈는 어려운부분은 아니지만 한글로 된 가이드를 찾아보지 못해서 이렇게 적어본다. 전화를 거는데는 TelephonyManager 와 통화상태를 확인할 StatePhoneReceive, 그리고 스피커폰을 제어할 AudioManager 가 필요하다. 그리고 Manifest 에 MODIFY_AUDIO_SETTINGS CALL_PHONE READ_PHONE_STATE 퍼미션이 필요하다. 이렇게 Permission 을 설정해줘야한다. 그리고 java 소스는 다음과 같다. public class MainActivity extends Activity { private AudioManager am; Telephony..
-
MediaScanning - 미디어스캐닝Programming/Android 2013. 8. 19. 12:26
Android 어플을 개발 하다 보면 사진,음악,동영상 등을 만든 후 스토리지에 저장하는 일을 만나곤 한다. 저장해서 path를 불러온 후 사용하는것 까진 문제가 없는데, 보통 저장후에 저장한 파일을 리스트에 불러오는데에 문제가 발생하곤한다. 안드로이드는 미디어를 저장한 후 미디어저장소를 갱신하는데 까지 꽤 오랜 시간이 걸린다. 그래서 자신이 미디어를 저장함과 동시에 그 미디어를 스캐닝처리를 해주어야, 바로 재사용이 가능하다. // 외장 스토리지 전체 스캐닝 public static void mediaScanForExtStrg(Context c) { c.sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED, Uri.parse("file://" + Environme..
-
Eclipse 자주 쓰는 단축키Programming 2013. 7. 19. 15:19
안드로이드를 개발하면서 이클립스를 쓰는데..ㅋㅋ단축키를 몰라서 아는 몇개만 썼었는데.. 더 좋은 퍼포먼스를 위해 단축키를 알아본다 Ctrl + / : 주석 처리 - 한 라인/블록에 대해 주석 처리 (추가 및 제거) Ctrl + L : 특정 라인으로 이동 Ctrl + F6 : Editor 창간의 이동 Ctrl + F7 : View 이동 메뉴 Ctrl + F8 : Prespectives 이동 메뉴 Ctrl + D : 한라인 삭제 - 커서가 위치한 라인 전체를 삭제 한다. Ctrl + J : Incremental find 이클립스 하단 상태 표시줄에 Incremental find 라고 표시되어 한 글자자씩 누를 때 마다 코드내의 일치하는 문자열로 이동 , 다시 Ctrl + J 를 누르면 그 문자열과 일치 하는..