전체 글 131

서문 - 대한민국에서 SW개발자로서 살기로 마음먹은 후배들을 위한 조언

먼저 내 소개부터 해야겠다. 나는 우리나라 사람이라면 누구나 아는 모 대기업의 휴대폰 사업부에서 근무하고 있다. 입사 전에는 학부에서 기계공학을 전공했고 관련 업계에서 병역 특례로 군복무를 대신했다. 학사 병역특례가 대게 그렇듯 (물론 그렇지 않은 좋은 업체도 많은 것으로 안다) 열악한 근무환경에서 일을 하다 보니, 공부할 때에는 그나마 재미있었던 전공이 앞으로 내가 먹고 살아야 할 업(業)으로 삼기에 적합한 것인가 하는 의문이 들었다. 3년 정도야 군대에서 고생하는 셈치고 참고 견딜 수 있었지만 평생을 이 업계에서 몸담을 자신이 없었다. 그래서 전공을 멀티미디어 공학으로 바꾸고 대학원으로 진학했다. 그 후 지금까지 IT업계에서 그것도 최전선이라고 할 수 있는 개발자의 삶을 살고 있다. IT 기술은 미쳐..

[JAVA] Regular Expression (정규 표현식) 예제

정규 표현식을 사용하면 코드 양을 획기적으로 줄일 수 있다. 이번 기회에 Java에서 지원하는 정규표현식을 정리해 본다. 일단 Java 정규표현식 문서는 아래 링크를 참조. (JAVA SE7기준) http://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html 문서에 사용예제가 있다. Pattern p = Pattern.compile("a*b"); Matcher m = p.matcher("aaaaab"); boolean b = m.matches(); 정규표현식의 기본 형식에 대해 테스트 코드를 만들어 보았습니다. (첨부 소스에 빠진 예제가 많은데, 혹시 예제로 표현해 주실 분은 댓글로 남겨주시면 감사하겠습니다.) IP주소: ((([0-9])|(..

Tips/Java 2013.03.16

[JAVA] 정규표현식 - URL

JAVA에서 URL 정규표현식을 알아보자. (발췌: http://goodidea.tistory.com/86) 원문에서는 마지막에 http://www.daum.net 과 같이 URL 마지막에 슬래쉬(/)가 없는 예에서는 에러가 난다. 이를 수정하면 아래와 같이 된다. ^(https?):\/\/([^:\/\s]+)(:([^\/]*))?((\/[^\s/\/]+)*)?\/?([^#\s\?]*)(\?([^#\s]*))?(#(\w*))?$ JAVA 테스트 코드로 바꾸면 다음과 같다. @Test public void url() { String regex = "^(https?):\\/\\/([^:\\/\\s]+)(:([^\\/]*))?((\\/[^\\s/\\/]+)*)?\\/?([^#\\s\\?]*)(\\?([^#\\..

Tips/Java 2013.03.15

[Android] LCD 강제로 켜기

LCD가 꺼져 있을 때 강제로 켜고 싶을 때가 있다. 메세지가 도착했을 때. (카톡과 같은 메신저류에서의 요구사항) 설정한 알람 시간이 됐을 때 : 알람 이벤트가 되면 자동으로 LCD가 켜지는 지는 모르겠다.. 또는 이와 같이 LCD가 꺼진 상태에서 특정 이벤트가 왔는데, 화면에 표시해야 할 때 이럴 때는 PowerManager를 이용해서 아래와 같이 wake lock을 걸어주면 된다. 먼저 AndroidMenifest.xml에 다음 퍼미션을 추가하자. wake lock을 걸 때 private void acquireWakeLock(Context context) { PowerManager pm = (PowerManager)context.getSystemService (Context.POWER_SERVICE..

Tips/Android 2013.03.08

뚜벅이 여행 - 종로 교남동

날이 풀리나 싶더니 다시 쌀쌀해졌다. 그래도 3일 연휴의 첫날을 회사에서 보냈으니 오늘은 외출이라도 해야겠다 싶어 아침부터 늦잠자는 아내를 깨워 아침을 차려먹고 길을 나섰다. 목적지는 얼마 전에 종로 구청에서 받은 종로 골목길 관광코스 중 ‘제7코스 교남동’. 지도의 추천코스에는 서대문 4번출구로 나가라고 되어 있었지만 나는 3번 출구로 나가 경교장길을 걸어 보기로 했다. 하지만 여기는 돈의문 뉴타운으로 지정된 구역이어서 빈집이 많고 거리엔 이사하고 나서 버려진 쓰레기가 널려 있었다. 여기 살던 사람들은 다 어디로 갔을까... 차가운 바람이 불어 동네는 더욱 을씨년스러웠다. 경교장길을 나와 먼저 경희궁으로 향했다. 서궐(西闕)이라고도 불리는 경희궁은 경복궁이나 창덕궁, 창경궁과는 달리 복원이 되지 않아 ..

살며 사랑하며 2013.03.02

종로 관광지도 신청하기

한달 전 쯤 아내가 종로구청에서 종로 관광지도를 신청한 게 며칠 전에 도착했다.배포할 지도가 모자랐는지 골목길 5, 8, 13 코스가 빠져 있긴 했지만, 펼쳐 놓고 나니 왠지 부자가 된 듯하다.평소 보고 싶었던 책을 한 꺼번에 주문한 느낌이랄까. 스마트 폰으로 검색해도 되고, pdf로 다운받아도 되지만 손으로 들고 다니며 보기에는 역시 실물이 낫다. 관광지도 신청하실 분은 아래에서 신청하시길.http://tour.jongno.go.kr/tour/community/selectCommunityList2.do?contentsDvCo=PR&menuId=2334&menuNo=2334

살며 사랑하며 2013.03.02

[Android] 미디어 스캐닝 인텐트

앱을 개발하다 보면 미디어 스캐닝을 강제로 하고 싶은 경우가 있다. 네트웍에서 음원이나 사진을 다운받았는 데 뮤직이나 갤러리에서 표시가 안되는 경우가 그렇다. 미디어 스캐너에게 파일정보가 업데이트가 되었다는 인텐트를 보낸다. sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED, Uri.parse("file://" + path))); 아래 내용은 KitKat부터 사용 불가합니다. 미디어 스캐닝이 너무 자주 불려 성능저하를 일으키는 문제로 앱단에서 호출하지 못하도록 되었습니다. 여하튼 KK 이전 버전이라면... 이럴 때는 아래처럼 인텐트를 하나 날려주자. sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED, Uri.pars..

Tips/Android 2013.03.01

[Eclipse] Indentation 조정 - tab 입력시 space가 입력되도록 하자

개인적으로 코딩을 할 때 Indentation을 맞추기 위해 tab을 사용한다. 이에 대한 조사 결과는 찾아 보지 않아서 정확한 데이터 수치는 모르겠지만, 아마도 대부분의 개발자가 그렇게 할 것 같다. 하지만 사내의 Coding rule 문서에는 indent를 넣을 때, space 4칸을 넣도록 되어 있다.사실 space든 tab이든 중요하지 않다. 중요한 것은 tab을 넣더라도 읽기 편하게 하기 위해 tab size를 4칸으로 보여주도록 툴에 설정을 하면 되기 때문이다.사내 코딩룰이 저렇게 된 것은 tab size의 기본 값이 8로 되어 있는 text editor 툴이 많아서 그럴 것이라고 생각한다. 어쨌든! 사내 코딩 가이드는 다 같이 지키라고 있는 것이니, 오늘 부터 따르기로 했다.다만 일일이 스페..

Tips/Eclipse 2013.02.24