본문 바로가기

연구하기/Computer Engineering30

fossil-scm 사용법 정리 fossil-scm 사용법 정리 2013.03.25 첫 작성 2013.03.30 8, 9 추가 2013.05.06 10 추가 2013.06.29 11 추가 2014.10.19 6 보완 fossil-scm 의 기본적인 가이드는 공식 사이트인 www.fossil-scm.org 에 잘 나와 있으므로 여기서는 개인적으로 바로 써먹었던 것들만 정리해서 올려둡니다.필요한 거 찾을 때마다 지속적으로 업데이트 예정입니다.* [] 표시는 사용자 입력 항목을 위한 것으로, 실제 입력시에는 [, ] 부분은 제거해 사용합니다. a [파일명] 이라면 a mydoc.fossil 이런 식으로Repository 생성 fossil init [Repository파일명] 예) fossil init mydoc.fossil 확장자는 딱히 정.. 2013.03.30
Java SE 에서 문자열 비교 이슈 정리 문자열은 문자의 집합이자, 거의 모든 경우에서 가변 크기를 가지는 데이터 타입인 만큼 많은 언어에서 포인터나 참조형을 사용한 형식으로 표현하고 있다. 물론 아닌 언어도 많다. 인터프리팅 방식의 언어들은 대다수 문자열을 Primative type 에 가까운 형태로 취급하고 있으니. 뭐 일단 이에 대한 이야기는 여기서 꺼낼 것이 아니니 일단 뒤로 미루도록 하고, 오늘 볼 것은 Java SE 에서의 문자열 처리에 관한 것이다. 자바의 문자열은 개체를 통해 표출하고 있고, 두 개체는 자기가 가진 멤버들의 값이 모두 같다고 하더라도 메모리상에서는 서로 다른 주소를 가지고 있기 때문에 비교 연산자 == 를 통해서는 두 개체가 같은 의미를 가지는 값인지 비교할 수는 없다. 따라서 보통 이를 위해 equals 함수를 .. 2012.08.22
디자이어를 써보면서 느끼게 된 안드로이드 OS 의 정황 디자이어를 보면, 구글의 넥서스 원과 마찬가지의 문제들 (어플 저장공간 한계, 이미지 출력이 16비트로 이루어지는 문제, 최대 힙메모리 제한 문제 등) 을 그대로 가지고 있습니다. 이것으로 보아, HTC 에서는 디자이어 개발 시 OS 를 거의 건드리지 않고 그대로 올린 듯 합니다. 뭐 이유는 여러가지가 있을 듯 합니다. 디자이어 발매 후 얼마 있지 않아 잡다한 문제들이 해결되어 나올 2.2 Froyo 가 기다리고 있고, 구글 넥서스원과 내부적으론 거의 동일한데다 동일한 곳에서 생산되고 있는 디자이어는 (아시다시피 구글 넥서스원의 제조사는 디자이어와 마찬가지로 HTC입니다) 아마도 빠른 시일 안에 Froyo 가 이식될 수 있을 것이므로, 굳이 손볼 필요가 없다고 느껴진 것이겠죠. 흥미로운 것은 이러한 잡다.. 2010.05.24
안드로이드 개발하면서 짜증나는 점. 1. 부족한 힙 메모리. 초기 안드로이드 폰은 16메가, 요즘 나오는 폰들은 24메가정도. (모토로이는 특이하게도 28메가) 참고로 윈모 폰은 32메가, 아이폰은 3G 가 45메가. 3GS 는 더 크다는 것만 확인. 해상도 480x800 짜리 폰에 힙메모리 24메가면 뭐 어쩌라는 거요. 2. 부족한 어플 저장 공간 윈모폰과 비슷한 구조로 인해 어플공간이 비좁음. 모토로이나 디자이어는 각각 SKAF 와 UI 덕에 120-150메가대의 용량을 가지는데, 덩치 큰 어플 몇개 깔면 끝. 그나마 최근 나온 갤럭시 A 가 600메가 대라고 들음. 구글에서는 외장 메모리에 데이터를 설치하도록 권고하지만, 어플을 이렇게 서비스하려면 개발자들이 앱스토어에 앱 올리는 거 이외에도 별도의 서버를 굴려서 데이터 제공 서비스를.. 2010.05.02
아이패드가 추구하는 목표를 '종이' 라고 언급한 이유. ** 글의 내용은 수정될 수 있습니다. 중요 내용이 수정되었을 경우 그 부분에 대해 언급해 두도록 하겠습니다. 과거의 하드웨어 플랫폼이 이 주도하는 시장과는 달리 현재에는 "컨텐츠" 가 시장을 주도하고 있으며, 그 "컨텐츠 시장" 의 사상을 투영하는 도구로서 하드웨어 플랫폼을 만들어가는 형태가 됨은 이미 여러가지 성공 요소들로 잘 나타나 있습니다. 제목에 언급한 애플의 아이팟-아이튠즈, 아이폰-앱스토어가 그러하죠. 여기서 사상을 투영한 하드웨어 플랫폼이라는 것은 중요합니다. 과거처럼 하드웨어 플랫폼 그 자체가 사상이 되는 시대는 지났지만, 컨텐츠를 바탕으로 하는 사상을 이어받는 하드웨어 플랫폼은 여전히 의미를 가지고 있습니다. 왜일까요? 사람들이 컨텐츠와 접촉하게 하는 역할을 최종적으로는 하드웨어가 수행.. 2010.01.29
애플의 iPad 가 추구하는 목표는 '종이' 다 이번 iPad 발표는 생각만큼 충격적이지 않다는 평이 많습니다. 뭐 전 발표 실황을 본 게 아니기 때문에 그 부분에서는 뭐라고 하기 어렵지만요. iPad 발표 전, 사실 저도 iPad 에 대해 반응이 시큰둥했습니다. 스티브 잡스가 왜 이런 애매모호한 물건에 일생의 숙원이라는 이야기를 한 것인지부터 시작해서, 타블렛 PC 의 실패 등등을 떠올리며 애물단지가 되지 않을까라는 생각을 했었죠. 그런데 오늘 발표에 대한 몇 가지 소식을 듣고서야 비로소 노리려는 목표를 깨닫게 되었죠. 그걸 깨닫고 나서야 무섭다는 생각이 들었습니다. 멀티 터치 지원, e-Book 의 용이한 지원과 인터넷 서포트, 일반적인 노트 수준의 크기. 넷북보다 살짝 비싼 저렴한 가격. 자 이걸로 할 수 있는 것은? 기존의 서적과 종이 문화를 .. 2010.01.28
Java AWT - 페인팅 이벤트의 처리 Java AWT 환경에서 처음에 가장 오해하기 쉬운 부분 중 하나가 바로 페인팅 프로세스이다. 과거 한참 AWT 파고 있던 본인도 마찬가지의 실수를 범한 것이기도 하다. Java 의 GUI 근간을 형성하는 Component 위에 원하는 형태를 그리려면 paint(Graphics) 메소드를 오버라이딩하여 원하는 것을 그려야 한다는 점은 익히 잘 알고 있으리라 생각한다. (update 메소드 및 Canvas 등에 대해서는 여기선 별도로 언급하지 않겠다) 그리고 이렇게 구현된 paint(Graphics) 메소드 및 컴포넌트의 기본적인 형태를 그리는 작업이 컴포넌트를 그려야만 하는 여러 가지 상황, 혹은 사용자의 요청에 의해서 수행된다는 것 역시도 기본적인 AWT 에 대한 지식이 있다면 잘 알고 있으리라 생각한.. 2010.01.27
Java AWT - Container 내의 Component 배치순서 Container 에 별도의 순서 지정 없이 add 를 수행하면 전체 리스트의 끝에 붙는 것은 뭐 어느 것이나 비슷합니다. 하지만 실질적인 컴포넌트의 배치방법은 다릅니다. Container 의 리스트 순서는 front-to-back Stacking Order 방식으로 처리되는데, 이 때문에 가장 먼저 배치되는 쪽은 리스트에 가장 나중에 추가된 것이 됩니다. 즉 가장 처음에 add 한 Component 가 맨 위로 오게 되는 것이죠. 제가 착각한 부분이네욤. 에궁 그럼.. 2010.01.26
Tomcat 6.x 에서 %1은(는) 올바른 Win32 응용 프로그램이 아닙니다 오류와 함께 서비스가 시작되지 않음 환경 Windows 7 64bit Professional K JDK & JRE 6 - 32bit 문제 Tomcat 6.0.24 설치 후, 서비스를 시작하면 서비스가 시작되지 않으며, 로그 디렉토리의 jakarta_service 를 확인하면, 다음과 같은 오류를 확인할 수 있다. [2010-01-22 18:31:14] [197 javajni.c] [error] %1은(는) 올바른 Win32 응용 프로그램이 아닙니다. [2010-01-22 18:31:14] [994 prunsrv.c] [error] Failed creating java C:\Program Files (x86)\Java\jdk1.6.0_17\jre\bin\server\jvm.dll [2010-01-22 18:31:14] [1269 prunsr.. 2010.01.22