목록프로그래밍 (88)
개발자 블로그
문제의 현상을 조금 구체적으로 설명하면, 일단 Windows7에서는 문제가 안되고, Windows10에서만 발생한다. (Windows8은 없어서 테스트 못해 봄) 트레이 영역에 생성한 아이콘을 마우스 우클릭 했을 때 컨텍스트 메뉴를 띄워주는데, 윈도우의 시작표시줄을 우클릭 했을 때 뜨는 컨텍스트 메뉴가 동시에 떠버리는 현상이다. 같이 뜨는 것 자체도 문제지만, 이렇게 동시에 떴을 때 아래 이미지처럼 z-order가 시작표시줄이나 시스템 컨텍스트 메뉴보다도 더 밑에 위치해 있어서 선택하는 것 역시 쉽지가 않다. 문제의 원인을 파악하는건 어렵지만 해결 방법은 매우 간단한 경우가 많은데, 이번에도 그랬다..마우스 우클릭 이벤트를 잡는 부분의 코드를 WM_RBUTTONDOWN 이벤트를 잡아서 처리했는데, 이걸 ..
일단 "FirewallAPI.dll" 파일을 참조로 추가해 줘야 된다. "FirewallAPI.dll" 파일은 "C:\Windows\System32" 폴더 밑에서 찾을 수 있다. 일단 FirewallManager 관련 클래스 using NetFwTypeLib; using System; namespace Test.Utils { class FirewallAppInfo { public bool mListAdded; // 방화벽 앱 목록에 추가되어있는지 여부 public bool mEnabled; // 방화벽 앱 목록에 '허용'으로 되어있는지 여부 } class MyFirewallManager { private const string CLSID_FIREWALL_MANAGER = "{304CE942-6E39-40..
메뉴에 별도로 "파일관리자"앱이 없어서 에뮬레이터에서는 파일관리자앱이 없는 줄 알았다. 그래서 지금까지 "Android Device Monitor"를 사용해서 파일을 확인하고 관리했었는데.. 이제서야 파일관리자 앱을 찾았다. 지금까지 참 불편하게 일했었네..-_-;;일단 첨부한 이미지는 안드로이드 마시멜로우(API 23) 버전이 설치된 에뮬레이터 기준이다. 하지만 누가(API 24)에서도 같은 방법으로 파일관리자 앱을 실행할 수 있다. 메뉴에서 [설정] 아이콘을 클릭. 설정 앱에서 [저장소 및 USB] 항목을 클릭. [내부 저장소] 항목을 클릭. 만약 SD카드의 파일을 확인하려면 밑에 있는 [SDCARD]를 클릭하면 된다. 내부 저장소 화면에서 화면을 밑으로 조금 내리면.. [탐색] 이라는 항목이 보인다..
처음 이 에러가 발생하지는 꽤 오래 됐는데 이제서야 해결을 했다. 원인을 찾고나면 참 별거 아닌건데.. 지금까지 버그 수정했던 것들 중 제일 나를 괴롭혔던 문제같다. (사실은 아직 해결못한 놈들이 더 나를 괴롭히고 있겠지만..)계속해서 발생하던 에러는 아니고, 삼성 단말 중 안드로이드 마시멜로우 버전에서만 발생했다. SecurityException이 뜨게되면 제일 먼저 의심하는게 AndroidManifest.xml 파일의 이지만 이건 그런 문제가 아니었다. 아,, 일단 먼저 에러메시지를 봐야겠구나..전체 에러메시지는 아래와 같다. (패키지명은 *로 가렸다.) Fatal Exception: java.lang.SecurityException: Permission Denial: starting Intent {..
아놔 이런.. 태어났을 때부터 지금까지 30년 넘게 살아오면서 봐온 달력이 전부 토요일을 파란색으로 표시한 - 굳이 파란색이 아니다 하더라도 평일과는 다른색으로 표시는 - 달력만 봐왔기 때문에 다른 나라에서도 모두 이런 방식을 사용하는 줄 알았다. 프로그래밍을 하면서 가끔 달력 컨트롤을 사용할 때 한 주의 시작을 무슨 요일로 할지에 대한 설정항목을 본적이있어서 일요일이 아닌 다른 날을 사용하는 나라도 있다는것 정도는 알고 있었다.근데 토요일.. 하,, 토요일이 파란색이 아닐거라는건 한 번도 생각해본적이 없네. 우리에게는 익숙하지만 다른 나라의 사용자들은 내 앱을 사용하면서 왜 토요일을 파란색으로 표시했는지 의아해 했을 수도 있을 것 같다. 그럼 우리나라는 왜 토요일을 파란색으로 표시한걸까? 잘 정리 된 ..
관련글 : https://code.google.com/p/android/issues/detail?id=62800위에 링크를 보면 알겠지만 안드로이드 킷캣에서만 발생하는 문제인 듯 하다. 실제로 롤리팝이나 마시멜로우 기기에서 테스트해보면 발생하지 않는다. 젤리빈에서도 역시 발생하지는 않는 것 같은데,, 확실하지는 않다. 테스트 기기 해상도가 낮아서 문제가 되는 크기의 큰 텍스트를 그리지 못했기 때문일 수도 있어서,,해결방법도 역시 링크로 대체.. (위에 관련글도 같은 링크를 안내하고 있다.)해결방법 : http://stackoverflow.com/questions/1723846/how-do-you-draw-text-with-a-border-on-a-mapview-in-android/5817510#58175..
이틀 연속으로 해당 에러가 리포팅 되었다. 한번도 보고되지 않았던 에러인데.. 아마도 최근에 사용자가 좀 늘어나면서 보고된 걸로 보인다. 전체 에러메시지는 아래와 같다. Fatal Exception: java.lang.NullPointerException android.webkit.WebViewClassic.setBaseLayer (WebViewClassic.java:5898) android.webkit.WebViewClassic.setNewPicture (WebViewClassic.java:11916) android.webkit.WebViewClassic$PrivateHandler.handleMessage (WebViewClassic.java:11099) android.os.Handler.dispatc..
즐겨찾기를 정리하다가 예전에 추가해놓았던 RichEdit 컨트롤 관련 자료들을 그냥 삭제하기 아까워서 정리를 해둘까한다.그 때 당시 만들던 MFC 프로그램이 원래 그냥 에디트 컨트롤을 사용했었는데 키워드 강조 기능을 추가하기 위해서 RichEdit 컨트롤로 전환을 했었다. 그 과정에서 문제가 생긴게.. 텍스트의 양이 늘어나면 키워드 강조를 위해서 소모되는 시간이 굉장히 크게 증가했었다. 이 문제를 해결하기 위해서 찾았었던 자료들이다.자 그럼 느려터진 RichEdit 컨트롤의 속도를 향상시키기 위해서 찾아봤었던 자료들.. 1. Fast HTML syntax highlighting with the Rich Edit control - Code Project 2006년도 자료라서 그런건지 데모 프로그램이 제대로..
안드로이드 화면을 켜진 상태로 유지하는 두 가지 방법이 있다.1. FLAG_KEEP_SCREEN_ON 플래그를 이용하는 방법 2. PowerManager를 이용하는 방법일단 대부분의 경우에는 1번의 방법을 사용하면 된다.OnCreate() 메서드 안에 아래 코드 한 줄만 추가해주면 된다. getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); 특별한 퍼미션도 요구하지 않고 쉽게 사용할 수 있지만 한가지 제약사항이 있다. 해당 액티비티가 백그라운드로 전환되면 화면 켜짐 상태가 더이상 유지되지 않는다. 화면을 항상 켜진 상태를 유지하도록 토글기능을 제공하는 위젯처럼 몇몇 특수한 경우에는 액티비티가 백그라운드 상태에 있더라도 화면을 계속해서..
가끔 보는 시사 프로그램이있다. 거기에 '수사' 담당 패널이 한 분 나오는데, 그 분이 그런말을 한적이 있다."수사는 의지가 절반이다." 오늘 문득 그런 생각이 들었다. 개발도 어쩌면 의지가 절반인지도 모르겠다고..아마 열심히 구글링도 해보고 여러번 삽질을 경험해본 개발자라면 이 말에 공감하지 않을까 싶다. 오늘 나에게도 그런 일이 있었다. 사실 가능한지 여부를 몰라서 계속 미뤄뒀던 일이 하나 있었다. 구글링 할 키워드라도 알고 있으면 진작에 찾아봤을텐데.. 뭐라고 검색을 해야될지 키워드조차 모르고 있었다.그래서 그렇게 계속 미뤄두기만 했던 일인데, 바쁜일들이 끝나서 한참을 미뤄뒀던 그 일을 제대로 파보기로 마음먹었다.시작할 때는 참 막막했는데 한참을 구글링하고 stackoverflow에서 헤엄치다보니깐..
예전에 사용하던 브라운관 TV는 알람 시간을 설정해 놓으면 그 시간에 TV가 켜져서 시끄럽고 의미없는 자명종이나 스마트폰 알람 대신에 사용을 했었다. 아침 뉴스를 듣다보면 자연스레 거기에 집중을 하게되고 잠에서 깨는 것도 어렵지 않았는데..새로 구입한 LED TV에는 알람 기능이없다. 주변 친구들한테 물어보니 대기업 제품을 사용중이라서 그런건지.. 다 알람기능이 있다고 한다. 스마트 TV에는 당연히 알람 기능이 들어있고. 어쩌면 중소기업 TV라서 그런지도 모르겠다. 아니 어쩌면 알람 기능을 필요로 하는 사람이 없어서 그런건지도.. 딱 필요한 기능만 넣어서 만들어봤다. IR센서 각도가 좁아서 방향을 잘 맞춰야 된다는게 조금 불편하기는 한데.. 뭐 하드웨어의 한계니깐 어쩔수가 없다. 이번에 만들면서 알게된건..
경고 표시 뜨는걸 강제로 무시하는게 좋은 방법은 아니지만, 경우에 따라서는 의도 된 코드인 경우가 종종있다. 공통으로 사용하는 유틸 클래스 같은경우.. 사용안하는 메소드가 있기도 하고, 접근 제한자에 대한 경고가 표시되기도 한다. https://gist.github.com/elevenetc/bf795f94aaf3e92169ef 위 링크에서 전체 SuppressWarnings 목록을 볼 수 있다. 내가 자주 사용하는 몇 가지에 대해서 정리해본다. ResultOfMethodCallIgnored 메서드의 호출의 결과값을 사용하지 않음 UnusedDeclaration 사용되지 않는 메서드 WeakerAccess 접근제한자 SuspiciousNameCombination 의심스러운 이름 결합 (width를 인자로 ..
안드로이드 공식 가이드에 나와있는 방법은 아래 링크를 참조Doze 및 앱 대기 모드 최적화 > 잠자기 및 앱 대기 모드로 테스트 ☞ https://developer.android.com/training/monitoring-device-state/doze-standby.html#testing_doze_and_app_standby 가이드 방법이 잘 나와있지만 내 경우에는 몇 가지 절차들이 필요했다. 초보자에 맞춰서 단계별로 방법을 소개한다. 1. error: more than one device/emulator 에러가 발생한 경우 $ adb kill-server $ adb start-server 위 명령을 실행하면 해결된다.만약 위 명령으로 해결이 안된다면, 명령어를 입력할 때 에뮬레이터를 직접 지정하는 방..
조금 지난 이야기인데 한 번 해보려고 한다. 생애 처음으로 앱을 출시하면서 겪은 이야기다. 참고로 안드로이드 앱이다. 두 번째 앱까지 출시한 지금은 앱 등록하는게 별거 아니지만 처음 할 때는 참 어려웠다. 아, 스토어 등록정보 작성하는건 지금도 너무 어렵다. 글쓰는 재주가 없어서 그런 것 같다. 글쎄다.. 내 나름의 판단으로는 첫 번째 앱이었지만 꽤 성공적이었다고 생각했다. 처음에는 반응이 없었지만, 이건 모든 앱이 공통적으로 겪는 일인 것 같다. 구글 플레이에서 검색결과 노출 알고리즘을 모르겠지만 처음 출시하면 순위가 꽤 낮다. 계속 업데이트 하다보면 어느 순간 순위가 오르는데 순위가 슬금슬금 오를수록 다운로드 수도 점점 증가한다. 그렇게해서 내 앱을 대표하는 키워드로 검색했을 때 검색결과 네 번째 순..
지난번 글에서 이야기 했던 것 처럼 새로운 개발PC를 주문했다. 정확하게 이야기 하자면 CPU, 메인보드, 램 이렇게 부품을 업그레이드 하는거다. 솔직히 저거 교체하는게 PC 새로 사는거나 마찬가지지. 이전글 보기 ☞ 2016/08/30 - [전업개발자 이야기] - 개발용 PC를 주문했다.아주 오래전에 인텔 펜티엄3 888MHz CPU 이후로 처음 써보는 인텔 CPU다. 그동안은 돈 없는 거지라서 AMD만 썼었는데 이번에는 단순 개인사용 용도로 구입하는게 아니고 안드로이드 앱 개발 목적이라서 일부러 인텔 CPU로 주문을 했다. 안드로이드 에뮬레이터가 AMD CPU의 가상화 명령을 지원하지 않아서.. 택배왔다. 구입은 '디스컴'이라는 곳에서 했다. 현금가로 살 때는 여기가 진짜 싸더라. (업체에서 따로 받..
안드로이드 인앱구매 기능을 개발하다가 바보 같이 실제 결제처리를 해버렸다. 실제 돈이 왔다갔다 하는거라서 개발문서 꼼꼼히 읽어보고 구글링 하면서 어떻게 하는건지 잘 파악했다고 생각했는데.. 바보 같이 테스터 e-mail 등록하는걸 깜빡했다.테스트 하면서 '어? 이거 뭔가 진짜 결제되는 것 같은 느낌인데?'라는 생각이 들었지만 실제 결제를 진행해본 경험이 없어서 이게 진짜로 실결제인지를 몰랐다. 실결제와 동일하게 진행되고 청구만 안되는건 줄 알았다. 지금 생각하니깐 되게 바보 같았네..참고로 테스터 e-mail 등록은 "개발자 콘솔"에서 [설정] > [계정 세부정보] 메뉴로 이동한 뒤 "테스트 권한이 있는 Gmail 계정"에 추가해주면 된다. 아래에서 설명하는 내용은 잘못 결제한 구매를 환불처리 하는 방법..
영문 윈도우10 사용자를 대상으로 하는 글입니다. 영어랑 좀 친해져 볼 생각으로 윈도우의 언어를 영어로 변경했다. 시스템 언어를 변경했더니 약간의 문제가 생겼다. 안드로이드 스튜디오의 UI 텍스트가 아래 이미지처럼 깨져서 나왔다. 딱 보니깐.. 한글만 저렇게 네모로 깨져서 보인다. 아마도 윈도우 시스템 언어를 변경하면서 안드로이드 스튜디오에서 사용하는 UI 폰트가 변경되었나보다. 해결하는 방법은 안드로이드 스튜디오 UI 텍스트에 사용하는 폰트를 변경해주면 된다. (한글이 정상적으로 표시되는 폰트로..) 안드로이드 스튜디오의 셋팅 메뉴로 들어간다. 위치는 [File] > [Settings].셋팅 화면에서 [Appearance & Behavior] > [Appearance]로 들어간다. (위 이미지에서 왼쪽..
AMD CPU쓰는 거지라서 안드로이드 스튜디오에 내장 된 에뮬레이터는 거의 사용이 불가능하다. (가상화를 지원하지 않기 때문에 인텔 CPU에 비해서 10배는 더 느리다.)안드로이드 앱을 개발하거나 테스트 할 때는 실제 디바이스를 이용하는데 모든 버전의 안드로이드 기기를 가지고 있지 않다보니깐 특정 버전에 문제가 되는 오류를 수정하고 테스트 해볼수가 없다. 이번에 문제가 생긴 부분은 안드로이드 마시멜로 버전의 권한 관련된 문제. 마시멜로부터는 사용자가 앱별로 권한을 부여하거나 거부하는게 가능하다고 하는데 아마도 사용자가 권한을 거부해서 발생한 문제인 것 같다. 나는 마시멜로 버전의 안드로이드 폰이 없어서 지니모션이라는 에뮬레이터를 사용해보려고 했는데(이게 평이 좋더라..) 이게 무료가 아니었네?? (꽤 많..
지난번 글에서 이어지는 내용이다. 2016/08/18 - [전업개발자 이야기] - 앱개발자 개인사업자 등록개인사업자를 등록하고, 사업자 번호가 나오면 "통신판매업신고"를 해야한다. 전기통신매체, 광고물 등을 통해 소비자와 직접 상거래가 이루어지는 통신판매업을 하고자 하는 경우에 신고를 하도록 되어있는데, 내가 만든 앱을 구글플레이나 앱스토어를 통해서 판매하는 경우 전기통신매체를 통해서 소비자와 상거래가 이루어지기 때문에 이 경우 신고를 해야 된다. 무료앱만 만드는 경우라면.. 안해도 될 것 같은데 그런 경우라면 사업자를 낼 필요도 없겠지. 통신판매업 신고는 "민원24" 사이트에서 인터넷으로 신청이 가능하다. 단, 신청만 인터넷으로 가능하고 "신고증"은 직접 수령기관으로 가서 수령을 해야된다. 수령기관은 ..
매번 쓸 때 마다 찾아보는게 귀찮아서 블로그에 남김..왜 이렇게 안외워지냐..-_-;; 안드로이드버전 명칭(영문) 명칭(한글) API버전 2.3 GINGERBREAD 진저브레드 10 4.0 ICE CREAM SANDWICH 아이스크림 샌드위치 15 4.1 JELLY BEAN 젤리빈 16 4.2 JELLY BEAN 젤리빈 17 4.3 JELLY BEAN 젤리빈 18 4.4 KITKAT 킷캣 19 5.0 LOLLIPOP 롤리팝 21 5.1 LOLLIPOP 롤리팝 22 6.0 MARSHMALLOW 마시멜로 23 7.0 NOUGAT 누가 24 7.1 NOUGAT 누가 25 8.0 OREO 오레오 26 8.1OREO오레오27 9.0PIE 파이 28 내가 개발할 때 주로 사용하는 minSdkVersion은 15. ..
전업 앱 개발자로 첫 발을 내딛는 첫 번째 단계로 개인사업자 등록을 했다. 분기별 600만원 이하는 종합소득세 납부만 제대로 하면 굳이 사업자등록을 할 필요가 없다는 글이 있기는 한데.. 뭔가 제대로 내 사업자 이름을 내걸고 시작을 하고 싶었다. 사용자 입장에서도 개인보다는 아무래도 사업자의 앱을 좀 더 신뢰하지 않을까? 하는 내 나름의 생각도 있었다.개인사업자 등록은 인터넷으로 신청부터 발급까지 가능하다. 신청서 작성하는데는 시간도 얼마 걸리지 않는다. 인터넷에 이미 개인사업자 등록방법에 대한 많은 자료들이 있지만, 그래도 이미지도 다 캡처해놓은김에 나도 한 번 써본다. 사업자등록 신청은 국세청 홈택스 사이트에서 신청이 가능하다. (국세청 홈텍스 바로가기)메인화면에 있는 [신청/제출] 버튼을 클릭 스크..
이 책은 좋을수도 있고, 안 좋을수도 있습니다...는 그냥 드립친거고, 이런 종류의 책이 보통 그런 것 같다. 책을 읽는 사람의 상황에 따라 큰 도움이 되기도 하고, 별 도움이 안되기도 하고.. 책의 제목에도 나와있듯이 책에서 예제로 사용하는 프로그래밍 언어는 C와 C++이다. 해당 언어의 문법만 아는 상태라면 추천하지 않는다. 어느정도 객체지향 프로그래밍 경험이 필요하다. 그렇지 않은 상태에서는 봐봤자 크게 얻어가는게 없을 것이다.게임 프로그래밍 코드를 가지고 설명을 하는데 굳이 게임 개발자가 아니더라도 별 상관이 없다. 나 역시 게임 개발을 해본적은 없지만 책의 코드를 이해하는데는 전혀 무리가 없었다. 한가지 아쉬운 점은 요즘 많이 사용하는 C#이나 Java언어라면 어땠을까 하는 점. C++의 문법적..
요즘 일이 조금 바빠져서 책을 자주 못 보는데, 오랜만에 시간내서 읽어 본 책이다. 요즘 웹 개발의 기술적인 트렌드를 알아보고자 읽어봤다. 굳이 웹이 아니더라도 '프로그래밍'이라는 분야의 기술 변화는 정말 빠르다. '웹' 분야로 한정하면 그야말로 눈부신 속도로 변화하고 있다. 마지막으로 웹 개발 관련 일을 했던게 거의 10년전이라서(그것도 아주 잠깐..) 최신 웹 기술 전반에 대한 얕고 넓은 지식이 필요했는데 이 책이 적합할 것 같았다. 책을 보고나니깐 내가 잘못 생각했었다. 역자는 웹 엔지니어가 되고 싶어하거나 신입 웹 엔지니어가 된 사람에게도 권할만 하다고 했는데 그건 책 몇 권이라도 더 팔기위한 멘트같고, 저자가 얘기하는 대상 독자는 2~3년차 엔지니어다. 저자의 의견이 맞다. 웹에 대해서 잘 모르..
안드로이드에서 날짜를 출력하는 경우 "yyyy", "MM", "dd" 같은 포맷 지정문자를 이용해서 원하는 형식으로 날짜를 가져올 수 있다. (날짜 포맷 지정 문자에 대한 자세한 내용은 여기를 참조)사용자에게 보여지지 않고 내부적으로 사용하거나 특정 국가 한정으로 개발하는 앱이라면 위 형식으로도 충분하지만 "다국어지원"을 염두해 둔다면 결코 좋은 방법이 아니다. 한국에서는 "년-월-일" 순서의 날짜표기를 사용하지만, 미국의 경우에는 "월-일-년"으로 출력하는 순서가 서로 다르다. 로케일로 구분해서 포맷을 달리 적용해서 해결 할 수도 있겠지만 아래 코드를 이용하면 매우 깔끔하게 해결이 가능하다. Calendar cal = Calendar.getInstance(); // the value to be form..
안드로이드 앱을 개발할 때 프로그래밍을 통한 방법으로 스마트폰의 이름을 구할 수 있는 방법 몇가지를 소개한다. 최신기기와 구형기기에서 사용할 수 있는 방법에 차이가 있다. 사용자 기준에서 가장 쉽게 "내 스마트폰"을 구분할 수 있는 방법을 제공해주는게 목표인데, 구형기기에서는 한계가 있었다.개발환경은 아래와 같다. - 스마트폰1 : 삼성 갤럭시s2, 젤리빈 - 스마트폰2 : LG G2, 롤리팝 1. android.os.Build 정보를 이용하는 방법 개발자 입장에서는 제일 편한 방법이라고 할 수 있다. 퍼미션도 필요없고, 별도의 절차도 없다. 그냥 상수처럼 가져다 쓸 수 있다. 사용방법이 너무 간단해서 따로 설명할 것도 없다. 코드는 아래와 같다. String tmpStr = ""; tmpStr += "..
한참을 삽질해서.. 혹시나 다른 누군가에게 도움이 싶어서 남기는 글.개발환경은 - OS : Windows10 64bit - IDE : Visual Studio 2015 Community - 윈폼, C#그동안 고정된 크기의 아이콘만 사용하다가 Multi-size 아이콘을 한 번 만들어봤다. (Multi-size 아이콘 변환 사이트 ☞ http://icoconvert.com/)뭐 이미 알고 있겠지만 작업표시줄에 보이는 아이콘은 Form의 속성에서 변경하는거고, 생성되는 .exe 파일의 아이콘은 프로젝트의 속성 페이지에서 변경해줘야 된다. 아이콘 디자인은 변경없고, .exe파일의 아이콘만 여러 해상도를 지원하는 Multi-size 아이콘으로 바꾼거라서 프로젝트의 속성페이지에서 아이콘을 변경했다. 그리고 다시 ..
사용환경에 대해서 먼저 설명하자면, 아래와 같다. OS : Windows10 64bit IDE : 안드로이드 스튜디오(Android Studio) 1.5.1 Device : LG G2, 롤리팝(Lollipop) 윈도우10에서는 스마트폰의 드라이버를 자동으로 설치해주기 때문에 별도의 드라이버를 다운받아서 설치할 필요가 없다. (모든 스마트폰에 다 해당되는지는 모르겠지만, 일단 내가 가지고 있는 LG G2와 삼성 갤럭시s2의 경우에는 바로 인식이 되었다.) 스마트폰(G2)을 연결했는데 안드로이드 스튜디오에서 장치가 표시되지 않는다.스마트폰 설정 메뉴의 [개발자 옵션]에서 [USB 디버깅] 옵션은 당연히 선택 한 상태. 여기서 몇가지 추가적인 설정을 해줘야 정상적으로 연결이 된다. 스마트폰을 PC와 연결하면 ..
안드로이드에서 특정 날짜의 요일은 Calendar 객체의 get 함수를 통해서 int 형식으로 얻을 수 있다. 그렇다면 int 타입의 요일에 해당하는 요일이름은 어떻게 구할까?String 배열을 미리 선언해서 int 타입의 요일을 인덱스로 요일명을 구할 수 있지만 아래 두가지 면에서 그다지 좋은 방법은 아니다. 1. 추가적인 배열을 필요로 한다. 2. 사용언어가 바뀌면 프로그램 소스코드도 변경해야 된다.위 문제를 해결할 수 있는 방법이 있다. 코드는 아래와 같다. String weekDay; // SimpleDateFormat dayFormat = new SimpleDateFormat("EEEE", Locale.US); // 특정 언어로 출력하고 싶은 경우 SimpleDateFormat dayFormat..
비슷한 문제를 겪을 사람이 얼마나 될지는 모르겠지만,, 일단 기록해둔다. 우선 ZipArchive 라이브러리는 MFC에서 사용할 수 있는 zip 파일 압축 및 해제 라이브러리다. MFC에 내장된 클래스는 아니고, Code project에서 다운받은 라이브러리다. (여기를 클릭하면 해당 글로 이동함.)요즘은 MFC를 사용하는 사람도 적을 것 같고, 또 컴파일 할 때 에러가 나기 때문에 최신버전의 visual studio에서는 사용이 불가능하다.개발자의 사이트에서 최신버전의 라이브러리를 다운받을 수 있지만 소유권을 주장할 수 있는 프로그램에 사용하는것은 라이센스 위반이다. 이 경우에는 라이브러리를 별도로 구입해야 한다. 뭐 꼭 라이브러리 홍보하려고 쓰는 것 같네. 어쨌든 나는 더이상 사용 안한다. MFC를 ..
도서관에서 우연히 발견하고 빌려 본 책이다. 제목은 "웹 기획자가 알아야 할 서비스 글쓰기의 모든 것"이지만 개발자에게도 추천하고 싶은 그런 책이다.저자가 여러명인데 NHN에서 "테크니컬 라이터"로 근무하는 사람들이다. "테크니컬 라이터"라는 직업이 있다는걸 이번에 이 책을 보고 처음 알았다. 그러고보니 제목을 왜 "웹 기획자가 알아야 할.."이라고 지었는지 궁금하다. 웹 기획자보다는 오히려 개발자들에게 더 필요한 책일 것 같은데. NHN이야 큰 회사이니 "테크니컬 라이터"도 있겠지만 어지간한 회사는 개발자가 프로그램 개발하면서 메시지도 직접 작성하는 경우가 태반일테니깐.실제로 내가 근무했던 회사도 직원수가 500명이 넘는 회사였지만 테크니컬 라이터는 없었다. 그러다보니 프로그램내에서 출력하는 메시지는 ..