전체 글 131

(멀티 코어를 100% 활용하는) 자바 병렬 프로그래밍 / Java Concurrency in Practice

처음 프로그래밍은 C로 배웠다. 하지만 Java는 내 주 언어다. '프로그램' 모양새를 어느 정도 갖춘 버전을 구현한 언어도 자바이고, 석사 논문 실험할 때의 언어도 자바였다. 지금은 안드로이드로 먹고 살고 있으니 내 생계수단도 자바다. 프로그래밍을 10여년이나 했지만 지금도 멀티 스레드는 두려운 대상이다. 언제 어디서 버그가 튀어 나와 괴롭힐 지 모른다. 더군다나 요즘처럼 코어 개수가 점점 늘어나고 있는 개발환경에서는 더욱 그렇다. 지금이라도 늦지 않았다. 멀티 스레드 개발을 정복해 보자(는 거창한 목표에 도전해 보자). 2008년에 출간된 책이지만 읽을 내용이 풍부하다. 제목: (멀티 코어를 100% 활용하는) 자바 병렬 프로그래밍 / Java Concurrency in Practice저자: 브라이어..

[Win7] 부팅시 네트워크 드라이브 자동연결

Windows 7에서는 재부팅 전 설정해 둔 네트워크 드라이브 연결이 자꾸 끊어진다.이렇게 해결하자!! 출처: http://mosei.tistory.com/entry/Win7네트워크-드라이브-자동연결 1. 메모장에 아래 내용을 작성한 후, netstart.bat 라는 이름으로 (확장자는 bat 또는 cmd 여야 함) 저장한다. (빨간색 글씨만 각 정보에 맞게 수정해서 적어주고 검정색 글씨는 그대로 복사해서 쓰면 된다.) set USER=아이디set PASSWD=비밀번호net use Z: http://file.domain.co.kr:5005 %PASSWD% /user:%USER% /persistent:no 2. 폴더옵션에서 숨김 파일, 폴더 및 드라이브 표시 에 체크 후 적용한다. 3. 아래 경로로 들어간..

Tips/Windows 설정 2014.08.12

500 English - 미국인이 많이 쓰는 문장 500

짬을 내서 앱을 하나 만들었습니다. (https://play.google.com/store/apps/details?id=com.dextto.fivehundredeng) 아내에게 '미국인이 많이 쓰는 문장'이라는 링크를 보내주었더니 좋아 하길래 앱으로 만들어 들고 다니면서 공부할 수 있도록 해 주고 싶었습니다. 허접한 앱이지만 만들고 보니 애정이 생겨 마켓 등록 1호 앱이 되었네요. 컨텐츠는 원문에서 원저자께서 공유를 허락하셨으니 감사히 가져다 썼습니다. :) 안드로이드로 개발을 시작한게 2010년 초였으니, 안드로이드 개발자임에도 불구하고 4년 반이 되도록 마켓에 앱을 하나도 등록해 보지 않았다는 게 부끄러울 따름입니다. 회사일이 바쁘다는 것과 너무 허접한 앱은 마켓에 올리기가 부끄러웠고, 실력이 쌓인 ..

개발자 Life 2014.07.19

[Windows] 배치파일에서 시간이 오래 걸리는 작업이 끝나면 팝업창으로 노티를 주자

bat 파일로 작업을 할 때 시간이 오래 걸리는 작업을 할 때가 있다. 예를 들면 바이너리를 HW에 굽는다든지.. 이럴 때 msg.bat으로 아래 내용을 저장해 두고,@echo offecho msgbox "DONE!!" > msg.vbsstart /wait msg.vbsdel msg.vbs 작업 배치파일 마지막에 호출부를 넣어주자. @CALL msg.bat 작업이 끝나면 아래와 같은 팝업을 볼 수 있다!! 이제 여러분의 뇌는 걸어둔 작업에 신경을 빼앗기지 않고 멀티태스킹을 할 수 있다. (가령 웹서핑을 한다든지... )

Tips/잡다구리 2014.06.27

The Joel Test: 나은 코딩을 위한 12단계

조엘 스폴스키가 정립한 내용. 현재 회사의 SW 개발 수준을 측정하는 잣대가 될 수 있다. 물론 팀원으로써의 Test를 수행할 수 있는 역량을 갖추어야 함은 물론이다. 다시 한 번 찾아 읽으며 블로그에 옮긴다. 원문: http://korean.joelonsoftware.com/Articles/TheJoelTest.html The Joel Test Source Control(소스 컨트롤)을 사용하십니까?한번에 빌드를 만들어낼 수 있습니까?daily build(일별 빌드)를 만드십니까?버그 데이타베이스를 가지고 있습니까?새로운 코드를 작성하기 전에 버그들을 잡습니까?up-to-date(최신) 스케줄을 가지고 있습니까?spec(설계서)를 가지고 있습니까?프로그래머들이 조용한 작업환경을 가지고 있습니까?돈이 허..

[JAVA] 문자열 내에서 숫자만 분리하기

String 클래스의 split 함수와 정규표현식을 이용해서 문자열 내에 들어 있는 숫자들만 추려보자. 자바 소스를 보면 String.split() 메쏘드는 내부적으로 Pattern클래스의 split 메쏘드를 사용한다. 즉, 사용자가 Pattern 클래스를 이용하지 않고 사용하기 편하게 만들어 놓았을 뿐. public String[] split(String regex, int limit) { return Pattern.compile(regex).split(this, limit); } public String[] split(String regex) { return split(regex, 0); } 예제 코드를 보자. @Test public void split() { String text = "blah 11..

Tips/Java 2014.05.09

이공계인을 위한 사회 지침서 - 바보야, 이제는 이공계야

나는 자기계발서를 거의 보지 않는 편이다. 자기계발서에 적혀 있는 내용이 저자 자신에게는 유용한 방법이었을지는 모르나, 처해 있는 환경이 다른 독자에게는 그다지 유용하지 않은 내용이 많기 때문이다. 자기계발서를 읽으면서 얻을 거라고는 저자의 성공담에 대한 대리만족 밖에 없다. 마치 "내 친구 아무개는 잘 나가" 이런 말을 누구에게 건넬 때 느끼는 감정과 비슷하다. '나는 비록 아니지만 그래도 잘 나가는 친구를 알고 있다. 그러니 날 무시하지 마라.' 아니면 지금 대화를 나누고 있는 상대에게 '너나 나나 그 잘나가는 친구에 비하면 똑같은 처지다.'라고 은연중에 건네는 말. 뭐 이런 식이다. 하지만 정작 그 말을 하고 난 자신이 초라해 지는 자신을 발견하게 된다. 이 책 제목은 다소 도발적이면서도 다른 분야..

새로운 업무를 대하는 자세

회사 생활을 하다 보면 평소 일하던 방식이 급격히 변경될 때가 있다. 조직 개편으로 인해 다른 조직으로 발령이 나거나 새로운 업무 방식이 도입될 때가 그렇다. 이때 역시 변화에 대처하는 방법에 썼던 '회피자형', '얼리어답터형', '추종자형'이 나타난다. 자신에게 변화가 찾아올 때 '얼리어답터'는 아니더라도 '회피자'는 되지 말자고 했었다. 빠른 적응력이 요구된다. 하지만 이렇게 급격한 변화가 일어날 때에는 이야기가 다르다. 적응할지 말지 재는 행동이 오히려 독이 된다. 이 업무방식은 내게 안 맞아. 도대체 위에서는 왜 이런 결정을 내리는 거지? 보나 마나 6개월 정도 있으면 또 바뀔 거야. 이런 부정적인 생각을 빨리 버리는 게 좋다. 일은 이미 벌어졌다. 자신이 그 변화를 원래대로 바꿀 수 없는 위치에..