본문 바로가기

공부/컴퓨터

(279)

[책/리뷰] 안드로이드 프로그래밍 정복 1권 백만년만에 글을 쓰게 되었는데, 글이 책리뷰라서 좀 안타깝긴하다. 네이버 카페 코드인(http://codein.co.kr)에서 책 리뷰를 해 줄 리뷰어를 모집했고, 그래서 얼른 냉큼 후딱 신청해서 당첨이 되었다. 리뷰하려고 하는 책은 "안드로이드 프로그래밍 정복 1권" 이다. 안드로이드프로그래밍정복.1(개정판)SDK2.3진저브레드를적용한안드? 카테고리 미분류 지은이 김상형 (한빛미디어, 2011년) 상세보기 회사에서 하는 일이 Office 프로그램개발인데, Java를 이용해서 만들어야 했으므로 Java swing을 기준으로 개발을 해 왔었다. 하지만 시대의 급변에 따라서 모바일 환경이 중요해졌고, 안드로이드쪽을 공부해야 했었다. 그 때 마침 리뷰어를 모집하는 글이 눈에 띈 것이다. 보통의 프로그래밍 개발..
[이해하기 쉬운 코드] 수직적인 코드를 만들자. 최근 들어 일을 하면서, 어떻게 하면 오해 하지 않도록 코드를 짤 수 있을까? 에 대해서 많은 생각을 한다. 과제 제출용으로 작성하거나, 혹은 테스트로 작성하는 코드가 아니라면, 일반적으로 하나의 프로그램을 여러명이서 작성하게 된다. 그러므로 내가 만들어 낸 코드를 나 혼자 쓰는것이 아니라, 다른 사람도 사용하게 된다. 이때 다른 사람들은 내가 만들 소스 코드를 정확하게 이해하고 쓸 수 있을까? 내가 소스를 이렇게 작성한 의도를 정확하게 파악할 수 있을까? 그렇기 때문에 나 스스로 코드를 작성할때, 되도록이면 오해하지 않는 코드를 작성할 수 있도록 노력하고 있다. 물론 노력하고 있다는 것은 여전히 그렇게 하지 못하고 있다는 의미를 포함하고 있다. ㅎㅎ 내가 생각하는 오해하지 않는 코드의 조건은 아래와 같..
[프로그래밍] RGB 이미지를 grayscale로 바꾸는 심오한 세계 프로그래밍 도중에 이미지를 이용해서 작업을 하는 경우가 있다. 이때 이미지 변환중에서 가장 자주 사용되는 변환은, 이미지 크기 늘리기, 회전하기 등이 있겠지만, 이미지 자체를 변환 시키는 것으로는 GrayScale, 즉 회색화(?)시켜야 하는 경우가 있다. 우리는 프로그래밍할때 어떤색을 분리해 보라고 하면, 빛의 3원색으로 빨간색, 녹색, 파란색, 즉 RGB로 분리하게 된다. HTML에서 색을 표현할때도, #FF9933(Red=0xFF, Green=0x99, Blue=0x33)등으로 표현하니깐 말이다. 그러므로 최소단위인, RGB를 이용해서 색의 변환을 수행해야 한다. 물론 GrayScale도 이 세가지 색깔을 이용해서 회색으로 만들어 줄 수 있다. 제일 간단한 방법 조금만 생각하면 누구나 떠 올릴 수 ..
HTTP 응답 코드 목록 블로그 글 정리하면서 오래전에 참고 했던 자료를 공개. Status Code Associated Message Meaning 100 Continue 클라이언트로부터 일부 요청을 받았으니 나머지 요청 정보를 계속 보내 주시오. (HTTP 1.1에서 처음 등장) 101 Switching Protocols 서버는 클라이언트의 요청대로 Upgrade 헤더를 따라 다른 프로토콜로 바꿀 것임. (HTTP 1.1에서 처음 등 장) 200 OK 모든 것이 정상적임. GET이나 POST 요청 뒤에 문서가 온다. 이것은 서블릿의 기본 상태다. setStatus를 사용하지 않으면 이 상태코드를 얻게 된다. 201 Created 서버에서 문서를 만들었음. Location 헤더는 그 URL을 가리킨다. 202 Accepted ..
[정보] GPL을 사용하면 내 프로그램도 GPL로 공개해야 하나?? 2008년 9월에 Codein ( http://codein.co.kr ) 카페에 적어 두었던 글을 여기에 다시 옮겨둠. ==== 안녕하세요. 찬 입니다. GPL를 적용한 소스코드를 사용하면, 모든것을 공개해야 하는것에 대한 의문이 있을 수 있습니다. 그래서 이번에 찾은 내용이 있는데 정리하는 겸 올려둡니다. http://www.gnu.org/licenses/gpl-faq.ko.html 이 중에서 몇가지 모호했던것 정리 1. GPL 라이센스가 걸린 라이브러리를 사용하면, 내가 만든것도 GPL을 적용해야 하나? - GPL 라이센스가 걸린 source code의 결과물을 linking ( static, dynamic 포함 ) 하면 무조건 GPL로 해야 한다. - 관련 문서 : 코드를 GPL 프로그램과 링크시켜..
[Java/기초] BlockingQueue를 이용해 쉽게 Producer/Consumer 패턴 만들기 여전히 책을 읽고 있다. 정확하게 말하면 요즘에는 거의 못 읽고 있다. ㅠ_ㅠ 자바 병렬 프로그래밍 - 멀티코어를 100% 활용하는 더그 리 외 지음, 강철구 옮김 아무튼 이 책에는 BlockingQueue에 대한 설명이 잠시 나온다. 이를 이용하면 Producer/Consumer 패턴을 만들기 쉽다고 나와서 직접 코드를 짜 본다. synchronized block를 이용한 생산자/소비자 패턴은 아래와 같다. ( 간단하게 짜 본거라.. 뭐.. 잘못 되었을 수도 있다. 책임 못짐. ㅎㅎ ) import java.util.ArrayList; import java.util.Random; public class PlainProsumer { private static ArrayList queue = new Arr..
[Java/Tip] 자바소스의 잠재적 버그를 잡아내는 FindBugs 책을 한권 읽다가 발견한 내용이 있어 글을 적어 본다. 참고로 읽고 있는 책은 "자바 병렬 프로그래밍 - 멀티코어를 100% 활용하는" 이다. ( 아직 출간 된지 1년이 안된책이라 -_- 할인이 별로 안된다. 쩝... ) 아직은 읽고 있는 중이라, 다음에 다 읽으면 그때 정리해야지. ㅋ. 자바 병렬 프로그래밍 - 멀티코어를 100% 활용하는 더그 리 외 지음, 강철구 옮김 각설하고 이 책을 읽다 보면, 멀티 스레드에서 버그가 많이 발생할 수 있다는 이야기를 하면서, FindBugs라는 프로그램에 대해서 설명이 아주 짧게 나온다. 이 FindBugs라는 프로그램은 Java 소스에서 잠재적으로 버그가 일어날만 한 부분에 경고를 보여 준다. 직접 프로그램을 설치 할 수도 있지만, 이클립스 플러그인도 있다. 이..
[프로그래밍/팁] 59초 다음에는 60초일까? 0초일까? 다시 오랜만에 쓰는 프로그래밍 관련 팁. 별로 쓰일 일이 없고, 생각안하고 써도 크게 문제가 되지 않을 수 있는 부분이다. 최근의 IT 계열 뉴스에서 자주 올라오던 기사인데, 1초가 더 생겼으니 1초를 소중히 생각하자면서 나오던 뭐 그런뉴스와 관련되는것이다. ( http://www.dt.co.kr/contents.html?article_no=2008122202011757731006 ) 응? 근데 1초가 더 생긴다고? 어떻게 시간이 더 생길 수 있지? 그것이 바로 윤초의 문제이다. 2005년에 후지쯔 코리아 사이트에 올라온 공지를 보면 잘 설명되어 있다. ( http://www.fujitsu.com/kr/news/pr/notice20051230.html ) 귀찮으신 분들을 위해서 간단하게 정리하자면, 정의..