삶을 위한 소프트웨어

전 세계 사람들의 삶의 질을 높일 수 있는 소프트웨어

Architecture for Software 94

RLE(Run-Length Encoding) 알고리즘

나름 Java로 풀어본 RLE 입니다. O(n)이 되도록 신경썼는데~ 잘 풀어진건지 모르겠네요~ 고수님들의 많은 의견 부탁드립니다. 참고로 RLE(Run-Length Encoding)는 연속적인 데이터나 문자열 등을 압축하는 알고리즘에 하나입니다. 대표적인 BMP가 이러한 RLE를 사용하여 압축합니다. /** * Copyright (C) 2009, http://www.softwareinlife.com * * This file is part of "Software in Life". * * "Vision Software in Life" is free software: you can redistribute it and/or modify * it under the terms of the GNU General P..

Windows XP에 Java SDK 설정 방법에 대하여

Windows XP 기준으로 Java SDK를 설정하는 방법을 알려드리겠습니다. 간혹 모르시는 분들이 계셔서 정리차원에서 올려드립니다. 우선 JavaSDK를 다운로드 받아 설치했다고 가정하겠습니다. 만약 아직 Java SDK가 없으신 분은 http://java.sun.com/javase/downloads/index.jsp 에 가셔서 적합한 Java SDK를 다운로드 받으시면 됩니다. Windows XP에 시스템 등록 정보의 고급 탭에서 환경변수 버튼을 클릭합니다. 시스템 변수 부분에서 새로 만들기 버튼을 클릭합니다. 그리고 변수 이름을 JAVA_HOME 이라고 넣으시고 설치한 JavaSDK의 경로를 넣습니다. 저의 경우 C:\Program Files\Java\jdk1.6.0_14 입니다. 그 후 CLAS..

첫 오프라인 Lisp 스터디 모임을 시작하였습니다. :-)

어제(2009년 9월 22일) 오후 7시 30분 토즈 강남점에서 드디어 첫 오프라인 Lisp 스터디 모임을 시작하였습니다. 마치 작은 배가 첫 출항을 하듯이 조심스럽게 준비해온 이번 첫 오프라인 스터디 모임에 제 생각보다 많은 분들이 참여해주셨습니다. 토즈에 예약을 잡을때는 7인실로 예약을 했었습니다. 최소 5명정도는 오실 것 같아서 나름 여유있게 예약을 했었습니다. 제가 처음 도착한 후 얼마 있다가 별파란(박성민)님이 오셨습니다. 별파란은 Lisp을 좋아하는 사람들의 그룹(한국 리스퍼)의 운영자로도 활동하고 계셔서 서로 오늘 몇분이나 오실지 궁금해하면서 기다리고 있었습니다. 그렇게 7시 30분이 지난 후 김영태님이 오시고, 조금 있다가 이은지님과 권순범님이 오시고 조성식님과 민정상님이 오셨습니다. 어느..

Sun 용 Maven Repository

Maven을 사용하면서 가장 번거로운 일 중에 하나가 Sun에서 배포되는 라이브러리를 추가할 때입니다. 메이븐 중앙 저장소(Maven Central Respository)에는 분명히 검색인 되지만 아티팩트(jar)가 없어서, m2eclipse에서 Missing Artifact... 라는 에러가 나옵니다. 지금까지는 다른 분들이 올려놓은 레포지토리를 연결해서 사용하거나 일일이 여러분의 로컬 레포지토리에 인스톨하여야 해결되었지만.. Sun에서도 Maven 1과 Maven 2용 레포지토리를 운영하고 있으니 간단하게 레포지토리를 추가하여 해결할 수 있습니다. 여러분의 POM.xml에 아래에 다음과 같은 저장소 정보를 입력하세요~ maven2-repository.dev.java.net Java.net Reposi..

Android의 3D에 대하여

최근 Google Android에 많은 관심을 기울이고 있습니다. 기본적인 처리는 J2ME와 비슷하지만, 달빅 VM을 사용하고 기본적으로 SQLite나 ContentProvider 등을 통하여 다양한 리소스를 활용할 수 있다는 장점이 있습니다. Android SDK 1.6까지 나와서 걸음을 재촉하고 있으니 조만간 모바일 플랫폼의 강자로 확실히 군림할 것 같습니다. 최근에는 3D에 대한 관심을 많이 가지고 있는데요~ 위의 동영상은 Android에서 쉽게 3D를 구현할 수 있도록 지원하는 Rokon이란 Game Engine입니다. 언뜻봐서도 그리 성능이 떨어져 보이지 않습니다. 물론 더 테스트는 해봐야하겠지만, 장래성이 충분해 보이기도 하네요~ 저처럼 Android 기반에서 가볍게 3D를 구현하고자하는 분들..

Maven에 ojdbc14 디펜던시 넣기

Maven을 사용하여 메이븐 프로젝트를 구성하는 경우, 가장 귀찮은 것이 메이븐 중앙 레포지토리에 없는 디펜던시 아티팩트를 추가하는 일입니다. 특히 Oracle의 ojdbc14.jar 아티팩트의 경우 디펜던시로 추가하려고 m2eclipse에서 설정하면 잘 설정이 되지만, 실제 아티팩트인 ojdbc14.jar가 메이븐 중앙 레포지토리에 없어서 아티팩트가 없다는 에러가 발생합니다. Oracle이 ojdbc14.jar를 메이븐 중앙 레포리토리를 통하여 배포하지 않는것은 여러가지 이유가 있을 수 있지만.. 메이븐 프로젝트를 구성하여 사용하는 경우에 일일이 아티팩트를 로컬 레포지토리에 인스톨하여 사용한다는것 자체가 귀찮고 개발자간 버전 불일치 문제가 있을 수 있습니다. 이때는 메이븐 중앙 레포지토리 외에 다른 레..

Lisp 오프라인 스터디를 본격적으로 시작하겠습니다. :-)

안녕하세요~ 장선진 입니다. :-) 드디어 Lisp 오프라인 스터디를 위한 의겸 수렴 내역을 공개하겠습니다. 지난 1주일간 http://spreadsheets.google.com/viewform?formkey=dDVDSFg4WkJOcU5UQzFSZnFXN1lSeEE6MA 에서 Lisp 관련 오프라인 스터디를 의한 의견 수렴을 하였습니다. 이번 의견 수렴에는 현재까지 총 14분이 본 의견 수렴에 참여해주셨습니다. 그리고 10분이나 Lisp 오프라인 스터디에 참여해주신다고 의견을 주셨습니다. 올레~ ;-) 매우 경이적입니다. 아마 첫 의견 수렴 결과를 기억하시는 분들께서는 본 결과가 매우 의미있다는 것을 익히 알고 계실 것입니다. 왜냐하면 Lisp 오프라인 스터디를 위한 1차 의견 수렴때에는 적극적으로 오프..

Software Configuration Management(SCM)에 관하여

국내에서는 형상관리라고 불리우는 SCM(Software Configuration Management)에 관하여 정리하였습니다. 최근 이런 개념을 요하는 책을 접하고 있는 관계로 관련된 용어 정리를 나름대로 다시 할 필요성이 있어 정리하고 있습니다. 역시 가장 잘 정리되어 있다고 생각되는 Wikipedia에서 Software Configuration Management(SCM)에 관한 자료를 찾아보았습니다. 따라서 본 글의 내용은 Wikipedia 의 내용을 번역하고 더 필요한 내용을 정리한 것입니다. 참고하시기 바랍니다. Software Configuration Management(SCM)란 SCM은 Revision Control이나 Source control 및 Version Control과 같이 소프..

Google App Engine for Java 용 Maven 프로젝트 구축하기

최근 Google App Engine에 많은 관심을 가지고 이런 저런 테스트를 하고 있습니다. Google App Engine for Java의 경우 이클립스 플러그인이 제공되기 때문에 쉽게 프로젝트를 생성하고 간편하게 테스트할 수 있습니다. GAE for Java용 이클립스 플러그인에 대한 자세한 정보는 http://code.google.com/appengine/docs/java/tools/eclipse.html 에서 확인할 수 있습니다. 프로젝트가 진행되면서 많은 라이브러리들이 필요할 경우에는 아시다시피 Maven을 사용하는 것이 효과적입니다. Maven은 여러모로 훌륭한 의존성 관리를 해주며, 이행종속관계에 따른 라이브러리 관리를 쉽게 해줍니다. 이러한 기능은 프로젝트 규모가 클수록, 어플리케이션이..

Lisp 오프라인 스터디를 시작하려고 합니다.

안녕하세요~ 오랫동안 기다려왔던 Lisp 오프라인 스터디를 시작하려고 합니다. 우선 Lisp 오프라인 스터디를 위한 의견 수렴을 하고 있습니다. 아래 링크로 가셔서 Lisp 오프라인 스터디를 위한 의견을 남겨주세요~ http://spreadsheets.google.com/embeddedform?key=t5CHX8ZBNqNTC1RfqW7YRxA 대략 이번주까지 많은 분들의 의견을 종합하여 본격적으로 Lisp 오프라인 스터디를 진행하겠습니다. 다음 주 초정도에 의견 수렴 결과를 알려드리겠습니다. Lisp에 관심은 있으셨으나, 공부할 기회를 찾지 못하셨던 분들은~ 지금 바로 위의 링크를 꾸욱 누르셔서 좋은 의견을 남겨주세요~ 많은 분들이 좋은 의견을 남겨주셔서 이번에는 본격적으로 오프라인 스터디를 꼭 진행하려..