'java'에 해당되는 글 10건
- 2011/07/25 SMI <-> SRT 자막 변환 프로그램 (멀티플랫폼 지원) (5)
- 2009/02/20 간단한 웹 서버 제작에 들어가기 앞서서
- 2009/02/16 간단한 웹 서버 제작 계획중?!
- 2007/11/14 Windows와, Linux에서 Java의 속도차이? (2)
- 2007/11/10 AWT와, Applet으로 작동하는 지뢰 찾기 (2)
- 2007/10/28 내가 사용하는 윈도우에서 자바 설치 순서
- 2007/07/28 객체지향적인 프로그래밍이란 것은 무엇일까? (4)
- 2006/12/12 Java 1.6.0 (2)
- 2006/05/13 FreeBSD 신버전 출시와 메인 컴퓨터 포멧 계획 (2)
- 2006/04/09 알고리즘에 따른 속도차이 (5)
SMI <-> SRT 자막 변환 프로그램 (멀티플랫폼 지원)
윈도우용은 [여기]에서 받으세요 ㅎㅎ
[실행방법]
- GUI 환경: MinySubtitleConverter.jar 을 더블클릭.
- CLI 환경: java -jar MinySubtitleConverter.jar 을 입력. (하지만 아직 GUI필요)
- 변경할 파일을 프로그램에 드래그 & 드롭
- File > Open > 파일을 선택
'컴퓨터 > 프로그래밍' 카테고리의 다른 글
| SMI <-> SRT 자막 변환 프로그램 (멀티플랫폼 지원) (5) | 2011/07/25 |
|---|---|
| SMI <-> SRT 자막 변환 프로그램 (31) | 2010/12/04 |
| smi -> srt 변환 프로그램 (16) | 2010/11/27 |
| 필요한 기능이 있어서 만들어본 이미지 뷰어 = ㅅ=;;; (2) | 2010/03/28 |
| 티스토리에서 자동으로 모바일 페이지로 이동하기 (9) | 2010/01/01 |
| 웹 프로그래밍의 허와 실 - Character Set (4) | 2009/07/26 |
-
crrr 2011/08/03 15:14
만들어주신 변환기 정말 유용하게 쓰고 있습니다. 감사합니다.
질문이 있는데요.. 아웃풋 인코딩부분에..
일반적인 smi자막 ansi인가요?? 그걸로 설정하는건 어떤걸 선택해야하는지요? 제가 사용중인 재생기중에 ansi로 인코딩된 자막만 인식하는게 있어서요 ㅠㅠ 요즘 utf-8로 제작된 자막들이 다 인식이 안되서.. 패러럴스 부팅해서 윈도우 메모장으로 일일이 다 열어서 ansi로 저장해서 보구 있거든요 ㅠㅠ 이걸로 하면 너무 간편해서 꼭 알고 싶습니다.-
화현 2011/08/04 14:46
ANSI라면... 아마 US-ASCII인데 한국어를 사용하시려면 x-windows-949나, EUC-KR을 사용하는게 맞습니다.
어떤 프로그램을 사용중이시죠? 페러럴즈를 사용하시는걸 보니 맥 유저신거 같은데 테스트해볼께요
-
-
crrr 2011/08/04 15:09
아.. 프로그램이 아니구요.. 사용중인 모니터에 usb로 외장하드나 메모리를 물려서 영화재생하는 기능이 있거든요. lg제품인데.. 메뉴얼엔 ascii 자막만 인식한다고 써있어요. 메모장으로 asni로 저장하면 재생이 되더라구요.. 알려주신 두가지 버전으로 다시 저장해서 테스트 해보겠습니다. 답변주셔서 정말 감사합니다.
간단한 웹 서버 제작에 들어가기 앞서서
지금 또 다른 고민이 생겼습니다. 그것은
자바의 Servlet 인터페이스들을 상속 받아 작성하느냐 마느냐인데...
아무래도 Servlet 인터페이스들을 상속받아 만들면 JSP까지는 아니더라도 Servlet을 사용 가능하게 됩니다.(우와, 우와~)
그런데 아무래도 본래의 취지와는 많이 다르게 복잡해질 가능성이 높더군요 -ㅅ-;;;
상속받는걸 포기하고 모두 제가 만들면 아무래도 좀 난이도가 많이 낮아진 상태에서 만들 가능성이 높긴 한데...
음... 고민입니다 -ㅅ-;;
'컴퓨터 > 프로그래밍' 카테고리의 다른 글
| 웹 프로그래밍의 허와 실 - 들어가기 앞서서 (2) | 2009/07/25 |
|---|---|
| 간단한 웹 서버 프로그램 거의 다 만들었습니다. (5) | 2009/03/07 |
| 간단한 웹 서버 제작에 들어가기 앞서서 (0) | 2009/02/20 |
| 간단한 웹 서버 제작 계획중?! (0) | 2009/02/16 |
| HTML의 table 테그에 관해서 (4) | 2008/09/30 |
| Chrome 때문에 일거리 늘어나버렸네 -_-;; (0) | 2008/09/08 |
간단한 웹 서버 제작 계획중?!
브라우저에서 서버쪽으로 데이터를 요청했을 시 몇가지 정보를 모아서 서버측에 전송을 합니다. 그래서, 이 정보가 일할 때 필요하기도 하고, 보고 싶기도 해서 요청한 브라우저로 다시 보내는 프로그램을 짜고 있었습니다.
그리고, 다 완성~ 했는데...
잠시 고민하니깐 조금만 더 손을 보면 웹 서버 프로그램 하나 만들수도 있겠더군요 -ㅅ-;;;
그래서 심심풀이로 아주 간단한 웹서버 프로그램을 하나 만들 예정입니다.
사용할 언어로는, 늘 그랬듯이 Java 6.0
구현 범위는, 데이터 형에 대한 Content-Type 분류 지원, 파일 업로딩, 끝... 응?
뭐, 서버 스크립트 지원이나, 버추얼 호스트 이런건 간단한 부류에서 한참 벗어난 기능이고~
언제까지나 초보자도 소스 봐도 "어? 별거 없네?" 라고 할 정도로 간단한것을 목표로 하고 있습니다.
그리고 다 만들었을 시 소스를 공개 할지는... 잘 모르겠습니다 ㅎㅎ 허접하게 만든 코드를 올려도 될지 망설여 지기도 하고 보여주기 싫기도 하고 해서 결과는 나중에 봐서 ^^;
그럼, 앞으로 나올 프로그램 많이 기대해 주세요 ^O^
'컴퓨터 > 프로그래밍' 카테고리의 다른 글
| 간단한 웹 서버 프로그램 거의 다 만들었습니다. (5) | 2009/03/07 |
|---|---|
| 간단한 웹 서버 제작에 들어가기 앞서서 (0) | 2009/02/20 |
| 간단한 웹 서버 제작 계획중?! (0) | 2009/02/16 |
| HTML의 table 테그에 관해서 (4) | 2008/09/30 |
| Chrome 때문에 일거리 늘어나버렸네 -_-;; (0) | 2008/09/08 |
| 자바스크립트로 페이지 이동 팁 (0) | 2008/05/27 |
Windows와, Linux에서 Java의 속도차이?
결국 이렇쿵 저러쿵 해서 제가 짠 프로그램의 테스트용으로 우분투 i386버전을 깔았습니다. 물론 그래픽 드라이버는 안잡고요 ㅎㅎ
그래서 JDK & JRE 1.6과, eclipse를 설치를 해서 돌려보는데 이게 왠걸? 너무 너무 부드럽게 잘 돌아가는 것입니다. 마치 윈도우에서 Visual Studio .NET 돌리는 느낌?
하도 이상해서 예전에 제가 짰던 홀수 마방진 프로그램으로(참고로 J2SE 1.4기준으로 바꿨습니다.) 테스트를 하는데
162ms... ㄷㄷㄷㄷㄷㄷㄷ
참고로 예전 글에서 x64의 수행 결과가 187ms가 나왔었는데 32비트 리눅스가 훨씬 빠르네요 -_-;;
프로그램을 1.4에서 돌아가게 컴파일 했겠다, JRE 버전도 올랐겠다, 다시 한번 윈도우에서 테스트를 하는데…
32bit 버전 : 189ms
64bit 버전 : 187ms ㄱ-
-_-;;;;
어떻게 64비트는 더 느려지고 32비트는 더 빨라졌냐… ㄱ-
뭐, 어째튼 역시 아무리 멀티 플랫폼의 자바라고 하더라도 유닉스&리눅스 환경이 더 잘 맞나 봅니다. 이 프로그램을 솔라리스에서 돌려보고 싶어지네요 ㅎㅎ
참고로 테스트 한 컴파일러 버전도 같이 공개합니다~~.
Ubuntu 7.10 + JRE 1.6.0_03 32bit
Windows Vista + JRE 1.6.0_03 32bit
Windows Vista + JRE 1.6.0_03 64bit
그래픽만 해결 되면 개발은 리눅스에서 해야지 ㅎㅎ
'컴퓨터 > 프로그래밍' 카테고리의 다른 글
| Chrome 때문에 일거리 늘어나버렸네 -_-;; (0) | 2008/09/08 |
|---|---|
| 자바스크립트로 페이지 이동 팁 (0) | 2008/05/27 |
| Windows와, Linux에서 Java의 속도차이? (2) | 2007/11/14 |
| AWT와, Applet으로 작동하는 지뢰 찾기 (2) | 2007/11/10 |
| 내가 사용하는 윈도우에서 자바 설치 순서 (0) | 2007/10/28 |
| 한번쯤 짜 보고 싶은 프로그램... (2) | 2007/10/04 |
AWT와, Applet으로 작동하는 지뢰 찾기
지난번에 Applet으로 작동하는 지뢰 찾기를 공개한 적이 있는데, 이번엔 왕창 뜯어 고쳐서 AWT와, Applet 두 환경 모두 작동하게 고쳤습니다. >.<
그리고 지난번에는 귀찮아서 1개의 클래스 파일로 모두 구현했는데 이번엔 아주 잘게 잘게 쪼갰습니다. 그래서 전체적인 용량도 조금 커지고, 속도도 약간 떨어지긴 했지만 뭐, 어째튼 잘 돌아갑니다 ^^
그 밖에 수정 내용이라면…
각 숫자 및 깃발에 색을 넣었음.
초기화 된 상태에서 “재시작”버튼을 누르면 사용자 정의 게임을 할 수 있음.
AWT에서 창 크기 조절 가능 AWT에서 크기 조절 시 버튼의 크기가 일정하게 나옴(이거 생각 외로 꽤 힘듬)
기타 다수…
뭐 설명만 백줄 되는 것 보다 한번 게임을 해 보는 게 더 낳을 테니 이 창에서 하실 분은 이 창에서 하시고, 받아서 해 보실 분은 받아서 실행을 해 보세요 ^^
아, 혹시 JRE 필요하신 분은 및에 링크를 통해서 설치하세요^^
JRE 받으러 가기
실행방법
2007-11-14 : 리눅스에서 마우스 양쪽 버튼이 작동 안하는 버그 수정
'컴퓨터 > 프로그래밍' 카테고리의 다른 글
| 자바스크립트로 페이지 이동 팁 (0) | 2008/05/27 |
|---|---|
| Windows와, Linux에서 Java의 속도차이? (2) | 2007/11/14 |
| AWT와, Applet으로 작동하는 지뢰 찾기 (2) | 2007/11/10 |
| 내가 사용하는 윈도우에서 자바 설치 순서 (0) | 2007/10/28 |
| 한번쯤 짜 보고 싶은 프로그램... (2) | 2007/10/04 |
| 졸업을 앞둔 대학생 입장에서 바라본 좋은 프로그래머가 되려면 열심히 배워야 하는 중고등학교 교과 과목 (6) | 2007/09/10 |
내가 사용하는 윈도우에서 자바 설치 순서
몇몇 분은 아시겠지만 제가 가장 많이 사용하는 언어는 바로 자바입니다.(작년 여름 이후 C++을 역전) 그래서인지 저의 JDK & JRE 설치 방법이 있습니다. 그래서 그 순서를 한번 올려봅니다.
1. J2RE 1.4.2
음, 아무래도 아직까지 1.4버전을 많이 사용하다 보니 배포할 프로그램은 이 버전 기준으로 작성하고, 컴파일 합니다. 예전에 올렸던 지뢰 찾기 역시 이 버전으로 컴파일 한 것입니다. ㅎㅎ
주의할 점은 여기서 이걸 체크를 해서 모든 언어를 사용하는 것 정도?
그리고 이것, 최신버전을 사용할 것이기 때문에 끈다.
2. JRE 6
아무래도 인터넷에서 Applet을 사용하기 위해서는 이게 필요합니다. ㅎㅎ
주위 할 점은 위랑 같습니다 ^^
주의할 점이라면 아래 그림처럼 고급 옵션 패널 표시를 체크해야 전부 설치할 수 있다는것 정도?
3. JDK 6 x64
제 컴퓨터에 64비트 운영체제를 설치를 해서 개발 킷은 x64버전을 사용합니다. 몇가지 보면 i386버전과 차이가 있을 것 같지만 사용하는데 크게 지장이 없어서 그냥 사용합니다 ㅎㅎ
4. JRE 6 x64
보통 JDK i386버전을 설치하면 JRE도 같이 설치되는데 x64는 그런 거 없더군요 -_-; 그래서 따로 설치합니다. ㅎㅎ 그런데 왜 32비트를 같이 설치하냐 위에 써 놓은 것처럼 인터넷에서 Applet을 보려면 32비트 버전이 필요합니다. x64라도 Internet Explorer는 보통 32비트 버전을 많이 쓰거든요 ^^
이 작업을 모두 마치면 Path설정을 하는데요, 뭐, 아시는 분은 알겠지만 커맨드 창에서 컴파일 하거나, 자바 파일을 실행할 것이 아니면 안 해줘도 상관없습니다. (의외로 많은 분들이 윈도우 환경에서도 꼭 해줘야 하는 줄 알더군요 물론 리눅스는 꼭 해줘야 하겠지만요 ㅎㅎ)
이건 제가 자주 사용하는 방법이니까. 꼭 저처럼 따라 하실 필요는 없습니다.
우선 JRE와, JDK의 경로를 시스템 환경 변수에 등록해 줍니다.
JDK_HOME = JDK 설치된 경로
JRE_HOME = JRE 설치된 경로
이렇게 하는 이유는 나중에 JDK와 JRE가 업데이트 했을 때 손쉽게 경로를 바꾸는 목적과, 혹시 있을지 모르는 Linux와의 호환입니다.(저 변수명이 Linux에서 사용하는 그대로인 거 아시죠?)
다음으로 Path에 다음 내용을 추가합니다.
; %JRE_HOME%\bin; %JDK_HOME%\bin
* 순서 주의, JRE 먼저, JDK 나중입니다. JRE에 있는 것을 우선으로 실행하기 위해서 입니다.
마지막으로 CLASSPATH는 설정하지 않습니다. 왜냐하면, 최신버전의 Java는 윈도우의 환경변수를 무조건 무시하더군요 -_-;;; 그리고 5.0과 달리, 6는 Path를 자동 설정하지 않아서 이 같은 작업 해 줘야 커맨드 창에서 편하게 작업합니다. 5.0은 Path마저 자기 맘대로 설정합니다 -_-;;
그럼 끝~ 그럼 이제 자바의 세계에 빠져 볼까요? ㅋㅋ
*다음번엔 윈도우용 GCC 설치에 대해 올릴께요~ ^^
'컴퓨터 > 프로그래밍' 카테고리의 다른 글
| Windows와, Linux에서 Java의 속도차이? (2) | 2007/11/14 |
|---|---|
| AWT와, Applet으로 작동하는 지뢰 찾기 (2) | 2007/11/10 |
| 내가 사용하는 윈도우에서 자바 설치 순서 (0) | 2007/10/28 |
| 한번쯤 짜 보고 싶은 프로그램... (2) | 2007/10/04 |
| 졸업을 앞둔 대학생 입장에서 바라본 좋은 프로그래머가 되려면 열심히 배워야 하는 중고등학교 교과 과목 (6) | 2007/09/10 |
| 객체지향적인 프로그래밍이란 것은 무엇일까? (4) | 2007/07/28 |
Trackback : http://blog.myhyuny.com/trackback/201
-
Subject J2SE 설치하기 (1.4 for Microsoft Windows)
2009/04/27 22:55
1. 'http://java.sun.com'에서 1.4 버전을 다운로드 받습니다. 2. 다운로드 받은 파일을 실행합니다. 3. 'Next >'를 클릭합니다. 4. 설치될 경로를 확인하고 'Next >'를 클릭합니다. (가능하면 'C:\' 루트 아래에 설치될 디렉토리가 설정되도록 하는 것이 차후 추가 API 설치시나 경로 참조할때 편리합니다.) 5. 운영체제에 설치해서 사용하는 브라우저에 체크가 되어 있는지 확인하고 'Install >'을 클릭합니다...
-
Subject J2SE 설치하기 (5.0(1.5) for Microsoft Windows)
2009/04/27 22:59
1. 'http://java.sun.com'에서 5.0 버전을 다운로드 받습니다. 2. 다운로드 받은 파일을 실행합니다. 3. 'Next >'를 클릭합니다. 4. 설치될 경로를 'C:\' 아래로 변경하기 위해서 'Development Tools'를 선택한 후 'Change...'를 클립합니다. 5. 설치될 경로를 'C:\jdk1.5.0_18'로 변경한 후, 'OK'를 클립합니다. (설치하시는 JDK의 빌드넘버가 다르다면, 'jdk1.5.0_'이후에..
-
Subject J2SE 설치하기 (6.0(1.6) for Microsoft Windows)
2009/04/27 22:59
1. 'http://java.sun.com'에서 6.0 버전을 다운로드 받습니다. 2. 다운로드 받은 파일을 실행합니다. 3. 'Accept >'를 클릭합니다. 4. 설치될 경로를 'C:\' 아래로 변경하기 위해서 'Development Tools'를 선택한 후 'Change...'를 클립합니다. 5. 설치될 경로를 'C:\jdk1.6.0_13'으로 변경한 후, 'OK'를 클립합니다. (설치하시는 JDK의 빌드넘버가 다르다면, 'jdk1.6.0_'이..
-
Subject J2SE 설치후 설정 (for Windows, JDK 1.4, 1.5, 1.6 공통)
2009/04/27 22:59
1. 바탕화면의 '내 컴퓨터' 아이콘을 우클릭해서 '속성'을 선택하거나, 제어판의 '시스템'을 선택합니다. 2. '시스템 등록 정보' 창이 뜨면, '고급' 탭을 선택하고, '환경 변수(N)'을 클릭합니다. 3. '환경 변수' 창이 뜨면 '시스템 변수' 항목의 '새로 만들기(W)'를 클릭합니다. 4. '새 시스템 변수' 입력 창이 뜨면, '변수 이름'에 'JAVA_HOME'을 입력하고, '변수 값'에 사용하실 JDK의 루트 경로(필자의 경우 'C:\j..
객체지향적인 프로그래밍이란 것은 무엇일까?
고등학교시절 C++을 알게 되면서 객체지향 프로그래밍(Object Oriented Programming, 줄여서 OOP) 에 대해 궁금증을 가지게 되었습니다.
도대체 이런 게 왜 필요하지? -_-??
일의 순서에 따라 작업을 처리하는 절차 지향적 프로그래밍 언어를 공부했던 저는 그래도 C의 신 버전이라는 착각 속에 공부를 시작했지만, 이놈에 Class에서 막히는 것이었습니다.
막힌 이유는 바로
대체 이걸 왜 써?
머리에 완벽히 절차지향으로 고정이 되어 버려서 필요성을 못 느꼈고, 게다가 엄청나게 늘어나 버리는 코딩 량의 압박에 좌절했습니다. (얼마나 늘어나는지 앞으로 보게 될 것 입니다. ㅎㅎ)
어째튼 그 뒤로 Rukxer형과 함께 일했을 때, HTML의 폼의 구조와 이것을 접근하는 JavaScript의 방식을 보고 조금씩 객체지향의 구조와 필요성을 알게 모르게 느껴가고 있었고, 대학에 들어가 Java를 배우니 왜 이것이 필요한지를 느끼게 되었고, 이제 나름대로 사용할 수 있게 되었습니다. (물론 잘 하는 건 아니지만 ^^;)
뭐 객체지향에 대해 설명하라면 제가 직접 하는 것 보다 책에 써 있는 것이 더 잘 표현되어있기 때문에 생략하고~
그럼 구체적으로 어떤 식으로 작성해야 객체지향 프로그래밍이 될까요? 들어가기 전에 절차지향적으로 작성된 프로그램의 예제를 가지고 설명해 보겠습니다.
Triangle.c
제가 자주 써먹는 (아주 우려 먹어라 -_-;;) 삼각형 예제를 가장 널리 쓰이고 있는 절차지향 언어인 C로 작성했습니다. 정말 간단하죠? 그럼 이것을 객체 지향 언어로 구현하면 어떻게 될까요?
Triangle.cpp
이렇게 될까요? 아니죠~ 객체지향 언어 가지고 절차지향으로 작성한 것 밖에 안됩니다. -_-+
그래서~ 준비했습니다. 객체지향 언어인 자바로 작하였고, 객체지향적으로 설계한 삼각형입니다.
.java
… 쿨럭!! -_-;;
C로 작성한 삼각형이 24라인으로 콘솔 모드로도 한 화면에 다 표시할 수 있는 것에 비해 자바로 작성한 삼각형은 모두 다 합쳐 무려 192라인으로 무려 8배나 되는 라인 수를 자랑합니다 -_-;;
그럼 간단히 해설에 들어가면
삼각형의 정의는 [삼각형(三角形)은 세 점을 선분으로 이어 만든 도형이다. 삼각형의 세 점을 꼭지점이라 하고, 선분을 변이라고 한다.] 라고 되어있습니다. (출처 : 위키)
간단히 이야기해 3개의 점에 선이 달린 것이 삼각형이랍니다 -_-;;
그런데 중간에 도형이라는 단어가 눈에 뜨이죠? 그래서 찾아봤습니다.
도형의 정의는 [기하학에서 도형(圖形)은 점•선•면의 집합이다.] (출처 : 위키)
결국은 삼각형은 도형중 하나인 것입니다. ㅎㅎ
그런데 또다시 눈에 띄는 것 중에 하나가 선이라는 것이 있습니다. 그럼 선은 무엇일까요?
선의 정의는 [선은 줄을 말한다] 랍니다. 장난하냐? (출처 : 역시 위키 -_-;;)
음음, 그럼 다른 곳을 찾아보려다 그냥 기억 속에 있는 것을 꺼내겠습니다.
언제인지는 모르겠는데, 하여간 수학시간에 이런 말을 들은 것 같습니다. [수많은 점들이 일열로 빈틈없이 늘어서면 선이 된다.] 하여간 이거만 믿고 갑니다 ㅋㅋ
다음 점에 대한 정의로 [점(點)은 수학에서 크기를 갖지 않고 공간을 점유하지 않지만 위치 등을 지정할 수 있는 가상적인 개체이다.] (출처 : 위키)
결국 이게 마지막인 것 같네요. 개체까지 내려왔으니까요 ㅎㅎ (프로그래밍에서 개체는 곧 객체가 됩니다.)
결국 필요한 것은 점, 선, 도형, 삼각형 이렇게 4개가 되겠습니다. 그리고 그것을 구체화 시킨 것이 바로 제가 작성한 삼각형이 되겠습니다. (1개 더 추가한 것은 선과, 도형 둘 모두 점을 필요로 해서 점을 저장해 두는 개체를 만들어 둘에게 상속받게 만들었습니다. 코드 양을 줄이기 위해 -_-;;)
어째튼 객체지향을 이해하신 분들이라면 소스를 보면 대충 이해는 하실 겁니다. 납득은 못하실 것 같지만 -_-;;
그렇다고 결국 객체지향은 나쁘다! 라고 이야기 하는 것은 절대 아닙니다. 객체지향적으로 작성할 경우 처음에는 좀 길어질 수 있지만 잘 만든 객체 하나 덕에 나중에 더욱 편하게 프로그래밍 작업을 할 수 있는 것이 바로 이 객체지향 프로그래밍이거든요. 요즘 졸업작품을 만드는 중인데 객제지향 프로그래밍에 대해 새삼 놀라움을 느낍니다. 정말 잘 만들어둔 객체 덕에 편하게 작업하고 있거든요 ^^ (구체적으로 다향성 덕에) 어째튼 여러분들도 심심하면 한번 도전해 보세요. 절차지향적인 프로그램을 객체지향으로 바꾸는 것을요 ^^
참고]
테스트에 사용한 컴파일러 : gcc 3.4.2, g++ 3.4.2, javac 1.6.0_02
문제될만한 부분이나, 버그를 알려주시면 감사하겠습니다 ^^
덧]
웃자고 만들기 시작했는데 정신을 차려보니 경각심을 불러일으킬 소지를 지는 글로 변했다는... 쿨럭!
'컴퓨터 > 프로그래밍' 카테고리의 다른 글
| 한번쯤 짜 보고 싶은 프로그램... (2) | 2007/10/04 |
|---|---|
| 졸업을 앞둔 대학생 입장에서 바라본 좋은 프로그래머가 되려면 열심히 배워야 하는 중고등학교 교과 과목 (6) | 2007/09/10 |
| 객체지향적인 프로그래밍이란 것은 무엇일까? (4) | 2007/07/28 |
| 스레드를 이용한 병렬처리 프로그래밍 – 2 (0) | 2007/05/06 |
| 간단하고 쉬운 프로그래밍 문제 3 : 피보나치 수열 (4) | 2007/03/21 |
| 간단하고 쉬운 프로그래밍 문제 2 : 소수 구하기 (4) | 2007/03/11 |
Trackback : http://blog.myhyuny.com/trackback/182
-
Subject 요섭이와 이야기한 객체지향 프로그래밍
2007/07/30 00:00
개미수열을 완성하고 요섭이와 메신저로 이런저런 이야기를 나누었다. 개미수열로 시작한 이야기는 최근 각자 공부하고 있는 부분들에 대한 이야기로 이어졌고 객체지향(Object Oriented Programming)에 대한 이야기도 나오기 시작했다. 다형성, 은닉성, 추상화, 상속 이런 이야기들... 그 때 요섭이가 해 준 짧막한 이야기가 있었는데 참 재미있어서 블로그에 남겨본다. 학기중에 PHP수업을 할 때 교수님이 과제를 내 주었다. PHP코드를 작성..
Java 1.6.0
마지막 시험이 Java여서 준비 해 둘겸 해서 Sun홈페이지에 가 보니 1.5이 없어지고 1.6이 떡하니 버티고 있더군요 -_-;;
그래서 설치하고 스샷 한번 찍어 봤습니다 ^^
'컴퓨터' 카테고리의 다른 글
| Vista에서 XP로 돌아왔습니다 (2) | 2007/02/22 |
|---|---|
| 한국 Microsoft, Windows Vista 예약판매 (6) | 2007/01/29 |
| Java 1.6.0 (2) | 2006/12/12 |
| Windows Vista : Ultimate x64 RTM 시험 설치 (2) | 2006/12/09 |
| WMP11 화질 열화에 대한 문제점 해결 (0) | 2006/11/02 |
| Microsoft Windows Media Player 11 (6) | 2006/11/01 |
FreeBSD 신버전 출시와 메인 컴퓨터 포멧 계획
제가 굳이 리눅스를 쓰려는 이유는 FreeBSD에서는 Java를 사용하려면 리눅스를 에뮬레이팅해서 자바 가상머신을 작동시키기 때문에 엄청 느립니다. 그래서 익숙한 FreeBSD를 제외하고 2개중 한 개를 선택할 생각으로 현재 VMWare를 설치하여 테스트할 예정입니다. 어째튼 이 두 운영체제에 대해 잘 아시거나, 데스크탑으로 쓸만한 리눅스를 아시는 분은 댓글 좀 부탁 드립니다 ^^;
'컴퓨터' 카테고리의 다른 글
| SEK 2006 (0) | 2006/06/25 |
|---|---|
| MEDC 2006 (0) | 2006/06/23 |
| 포멧의 좌절 OTL (0) | 2006/05/20 |
| FreeBSD 신버전 출시와 메인 컴퓨터 포멧 계획 (2) | 2006/05/13 |
| Microsoft의 쓸데없는 참견 (2) | 2006/04/06 |
| Intel Mobile Celeron 650 (0) | 2006/03/27 |
알고리즘에 따른 속도차이
요즘 객체지향 프로그래밍을 공부를 하고 있는데 문득 “같은 목적의 프로그램이지만 라인과 코딩숫자가 다를 경우의 속도차이는 어떠할까?”라는 궁금 점이 들더군요.
그래서 최근 배우고 있는 Java를 이용해서 홀수 마방진 프로그램을 만들었습니다.
첫 번째 알고리즘은 보통 사람들이 많이 구현하고, 제가 고등학교 때 구현했던 알고리즘입니다.
그림에서 보시다시피 맨 처음 시작은 상단의 정 중앙에서 시작합니다. 그 뒤 우측 위쪽으로 1칸씩 이동을 하며 만약 공간을 벗어났을 경우 벗어난 곳의 반대쪽에 지정을 합니다. 그리고 지정한 곳에 숫자가 있으면 이전 곳의 아래를 지정하는 순으로 만들어지게 됩니다.
소스
두 번째 알고리즘은 첫 번째 알고리즘의 기초가 되는 알고리즘인데 제가 오늘 안 돌아가는 머리 굴려가며 구현한 알고리즘입니다.
지정된 공간에서 벗어난 지점을 포함해서 대각선으로 숫자를 넣은 뒤 벗어난 지역의 숫자를 반대편으로 넣는 방식으로 만들어집니다.
소스
두 알고리즘의 결과는 약간 다르지만 두 개 모두 같은 목적을 가진 알고리즘입니다.
각 알고리즘별 출력 결과
이제 이 두 개의 알고리즘을 놓고 속도, 컴파일 시 용량을 측정해 보겠습니다.
속도 측정은 999 * 999짜리 마방진을 100번 만들어내는 속도로 측정을 했습니다.
첫 번째 결과
두 번째 결과
두 결과 모두 0.5초, 0.8초 차이로 두 번째 알고리즘의 승리입니다.
그럼 컴파일 시 용량이 어떻게 되는지 알아보겠습니다.
18바이트 차이로 두 번째 알고리즘의 승리군요.
알고리즘 선택에 따라 이렇게 미묘한 차이가 있을 수 있다는 것을 이번 실험에서 알아낼 수 있었습니다. 하지만 이 미묘한 차이가 쌓이고 쌓이면 엄청나한 차이가 있을 수 있다는 사실을 잊어서는 안될 것 같습니다.
여기서 보너스~
두 번째 알고리즘을 구현하기 위해 머리를 싸맸던 흔적을 공개하겠습니다 >.<
단 한줄 때문에 이런 삽질을...
'컴퓨터 > 프로그래밍' 카테고리의 다른 글
| [문제] 초등학생도 풀만한 기초 문제 – 2 : 삼각형 변형 1 (4) | 2007/01/16 |
|---|---|
| [강좌] 초등학생도 풀만한 기초 문제 – 1 : 삼각형 기본 [해설] (2) | 2007/01/15 |
| [강좌] 초등학생도 풀만한 기초 문제 – 1 : 삼각형 기본 [문제] (2) | 2007/01/13 |
| 간단한 강좌 기획 중~~ (2) | 2007/01/12 |
| 스레드를 이용한 병렬처리 프로그래밍 (3) | 2006/05/12 |
| 알고리즘에 따른 속도차이 (5) | 2006/04/09 |
MinySubtitleConverter.jar
