본문 바로가기

반응형

공부

(316)

안드로이드 프로그램에서 메소드 갯수 제한(format == null) 안드로이드의 타겟은 모바일 환경이기 때문에, 프로그램을 만들거나 실행할때 몇몇 제약이 있다. 이야기 할 내용은 왠만해서는 접할 수 없는 안드로이드 프로그램의 메소드 갯수 제한에 관한 이야기다. 안드로이드 프로그램을 작성하기 위한 순서를 보자. 1. "자바언어"로 프로그램을 작성한다. 2. "자바 컴파일러"로 JavaVM의 Bytecode를 생성해 낸다. 3. JavaVM의 Bytecode를 DalvikVM의 Bytecode로 변경하면서 4. .dex 파일을 만들어 낸다. 5. .dex 파일과 xml 파일과 각종 이미지들을 zip포맷으로 묶고, 확장자를 apk로 바꾼다. ( 5번 항목은 더 복잡한 내용이 있지만 여기서는 굳이 말할 필요가 없어서 대충. ㅋ ) 안드로이드에서는 많은 class 및 jar들도 ..
[책/리뷰] 안드로이드 프로그래밍 정복 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 소스에서 잠재적으로 버그가 일어날만 한 부분에 경고를 보여 준다. 직접 프로그램을 설치 할 수도 있지만, 이클립스 플러그인도 있다. 이..

반응형