2010년 12월 24일 금요일

뭐야!

뭐야 이게,, textcube가 털린다는 말은 있었지만,
블로거,,, 좀 어려워!!
걍 티스토리로 돌아갈까?
어디로 갈진 모르겠지만, 일단 tistory주소는 dcmichael.tistory.com입니다~

2010년 8월 9일 월요일

<국제 규모의 IT 대회>

아시는 분이 정리해주신직접 하신건진 모르겠지만,, 국제규모 대회 내역이다,,
꽤 기니까 접어서,,,

펼쳐두기..


2010년 6월 6일 일요일

나의 QR코드

요즘 QR코드가 인지도를 얻어가고 있다.

그래서 나도 나만의 명함 코드를 만들어 보았다.

이런 코드는 아래 사이트에서 만들거나

 

http://www.scany.net/kr/generator/

 

혹은 Viewfinder라는 iPhone어플에서 만들어 사용할수 있는데,

 

일반적인 웹 주소라던가, 글, 등의 간단한 자료를 전달하는데에는 호환성의 문제가 보이지 않지만 명함을 대체하기 위한 명함코드에 있어서는 각 어플마다 차이가 있어 보인다.

 

 

 

 

 

우선 위 코드는 이미 말했듯이 scany에서 작성된 mecard형식 명함이다.

scany 에서 불러오면 제대로 인식을 하지만 viewfinder나 qrooqroo에서 불러오게 되면

이렇게 인식한다.

 

역으로 Viewfinder에서 만든 코드인


이것은 Viewfinder에서 읽게되면 상당히 잘 정리된 명함으로 나오지만

다른 뷰어에서 열면

이런식으로 망가져버린다.

영어 데이터는 잘 나오는것 같아서 인코딩의 차이인가 싶기도 하지만 인코딩 이전에 각 업체별로 QR코드 자체에 특별한 포멧들을 갖고 명함코드를 만들다 보니 이런 문제가 생긴듯 하다.

 

하지만 위에 소개한 사이트 외에도 몇군데 사이트를 돌아다닌 결과 QRooQRoo같이 자사의 마이크로블로그형식으로 링크하는곳을 제외하면 첫번째 Mecard형식으로 만들어져서 Viewfinder가 비표준인가 싶었더니 한 카페에서 받은 PC용 QR코드제작 프로그램에서는 Viewfinder형식으로 만들어졌다...

이를 바탕으로 생각해볼수 있는것은

 

1. 둘다 표준이다.

2. 둘다 비표준이다.

3. 하나는 표준이고 하나는 특정 업체만 사용한다.

 

라고 생각해 볼수 있는데,

1번의 경우라면은 QRooQRoo와 Scany, Viewfinder중 한 어플도 2가지 명함을 같이 인식하지 못하므로 아닐테고(맞다면 3개 어플 모두 표준에 맞춰 업데이트가 필요하다)

 

2번의 경우라면 표준 제정이 시급하다. QR코드는 범용성을 위해 만들어진 코드인데, 이 범용성이 깨진다는것은 코드의 무능력화가 되는것이기 때문이다.

 

3번의 경우라면 소니의 MS를 들수있다. 소니사에서 만들어진 MS라는 메모리카드형식은 분명 세계표준형식은 아니다. 하지만 워낙 넓은 시장에서 사용되다보니 현제 메모리스틱 멀티리더들은 모두 MS를 지원한다.

이와 마찬가지로 둘중 1개가 비표준이더라도, 점점 사용층이 많아진다면 반대쪽의 코드도 호환되지 않을까 싶다.

 

하지만 가장 정확한것은 2번이 맞을것 같다. 표준이 정해진 상태에서 어플들이 나왔다면, 한쪽을 인식하면서 나머지 한쪽을 인식 하느냐 마느냐가 되야할텐데, 현재는 어플들이 둘중 하나만을 지원하고있기 때문이다.

2010년 5월 2일 일요일

Week 7: Array and Matrices

Write the class “DoubleLinkedSparseMatrix”.
DoubleLinkedSparseMatrix 클래스를 만드세요.

The class has two kinds of chains: row chains and column chains.
이 클래스는 두종류의 체인을 갖고 있어요. 행과, 열.

Each row has a row chain that consists of elements at the same row.
각 열에는 같은 열에 있는 인자를 저장하는 열체인을 갖고있어요.

Similarly, each column has a column chain.
비슷하게, 각 행은 행체인을 갖고있어요.

Naturally, an element is linked in both a row chain and a column chain at the same time.
당연히 각 인자는 열체인과 행체인에 연결되어 있어요.
The class must provide following methods other than constructors.
이 클래스는 아래에 있는 것들을 갖고있어야 되요.

A) Int insert(int row, int col, Object element)
삽입.
B) Object remove(int row, int col)
제거
C) Void transpose()
행-열변환
D) Object get(int row, int col)

E) Iterator getRowIterator(int row)
열 Iterator.
F) Iterator getColumnIterator(in col)
행 Iterator.

You have to write both interator classes, “SparseMatrixRowIterator” and “SparseMatrixColumnIterator” based on your “DoubleLinkedSparseMatrix”.
그러니까 2개의 iterator클래스도 만들어야되죠.
SparseMatrixRowIteratorSparseMatrixColumnIterator

A row iterator iterates the elements in a row sequentially (from the one with the smallest column).
SparseMatrixRowIterator녀석은 행을 따라 움직여야 되고,
A column iterator iterates the elements in a column one by one.
SparseMatrixColumnIterator녀석은 열을 따라 움직여야 되요.

You must do your homework solely, not with any friends.
과제는 혼자하세요,, 친구랑 같이 하지 말고....

2010년 4월 15일 목요일

Data Structure 6번째 HW(번역)

 Week 6: Linear Lists - Simulated Pointer Representation
6주차 선형 목록 : 포인터 시뮬레이트 표현법.
Since we have midterm exams next week, I will give you an extremely easy assignment. I belive that this takes only a couple of hours.
다음주에 시험이니까 매우쉬운 과제를 줄께, 난 이 과제가 2시간 정도 걸릴거라고 생각해.

Section 7.7 introduces the concepts of the equivalent relationship and union set.
7.7장에서 동등관계와 공용체의 컨셉을 소개했다.

Just type in the example code to find the union set, and write a program that test the example code.
책에서 공용체를 찾는 코드를 그대로 쳐라, 그리고 그것을 테스트하는 예제 코드를 만들어 보아라.

What you will turn in is a PDF file that contains the test code, screen shots of the test program in execution, and brief explanation of your understanding on the concepts of the equivalent relationship and union set.
니가 할일은 테스트 코드와, 실행 스크린샷, 그리고 니가 이 컨셉을 이해했다는것을 증명하는 설명을 PDF에 담아 제출하는것이다.

Data Structure 6번째 HW

Week 6: Linear Lists - Simulated Pointer Representation

Since we have midterm exams next week, I will give you an extremely easy assignment. I belive that this takes only a couple of hours.

Section 7.7 introduces the concepts of the equivalent relationship and union set. Just type in the example code to find the union set, and write a program that test the example code. What you will turn in is a PDF file that contains the test code, screen shots of the test program in execution, and brief explanation of your understanding on the concepts of the equivalent relationship and union set.

2010년 4월 10일 토요일

Data Structure 5번째 HW(내맘대로 분석)

Week 5: Linear Lists - Linked Representation

1. Write code for the class ChainWithSortMethods.

ChainWithSortMethods 클래스를 만들어라


This class is a subclass of Chain and it includes the number method insertionSort, which uses insertion sort to reorder the chain elements into nondecreasing order.
이 클래스는 Chain을 상속받는다. 그리고 인자의 크기를 오름차순 정렬하는 insertionSort 메소드를 갖고있다.

=========================================================

위 두가지의 조건에 맞추려면 Chain은 그냥 저자 홈페이지에서 갖고오고, 나머지는 그냥 쓰면 되겠다.


Do not create new nodes or delete old ones.

노드를 새로 생성하거나 삭제하지 마라.


=========================================================

헐,,, 이건 좀 문제다,,,,, 링크만 수정하는 방식으로 가야겠네,,,


a) What is the worst-case time complexity of your method? How much time does your method need if the elements are already in sorted order?

최악의 경우 에 시간복잡도는 얼마인가?

이미 정리되어 있는 경우에는 시간이 얼마나 걸리는가?


b) Test the correctness of your method by compiling and then executing the code. Use your own test data (any programs with any data are allowed).

측정의 정확성을 위해 컴파일링을 하고 실행해봐라.

너만의 테스트 데이터를 만들어라

Data Structure 5번째 HW(번역)

Week 5: Linear Lists - Linked Representation

1. Write code for the class ChainWithSortMethods.

ChainWithSortMethods 클래스를 만들어라


This class is a subclass of Chain and it includes the number method insertionSort, which uses insertion sort to reorder the chain elements into nondecreasing order.
이 클래스는 Chain을 상속받는다. 그리고 인자의 크기를 오름차순 정렬하는 insertionSort 메소드를 갖고있다.
Do not create new nodes or delete old ones.

노드를 새로 생성하거나 삭제하지 마라.


a) What is the worst-case time complexity of your method? How much time does your method need if the elements are already in sorted order?

최악의 경우 에 시간복잡도는 얼마인가?

이미 정리되어 있는 경우에는 시간이 얼마나 걸리는가?


b) Test the correctness of your method by compiling and then executing the code. Use your own test data (any programs with any data are allowed).

측정의 정확성을 위해 컴파일링을 하고 실행해봐라.

너만의 테스트 데이터를 만들어라

Data Structure 5번째 HW

Week 5: Linear Lists - Linked Representation

1. Write code for the class ChainWithSortMethods. This class is a subclass of Chain and it includes the number method insertionSort, which uses insertion sort to reorder the chain elements into nondecreasing order. Do not create new nodes or delete old ones.


a) What is the worst-case time complexity of your method? How much time does your method need if the elements are already in sorted order?


b) Test the correctness of your method by compiling and then executing the code. Use your own test data (any programs with any data are allowed).

2010년 4월 1일 목요일

Data Structure 4번째 HW(번역)

1. Make an interface “StudentLinearList” as shown in Program 5.1.
프로그램 5.1 에 있는것과 같이 StucentLinearList 인터페이스를 만들어라.

Implement the “StudentArrayLinearList” class, which is an implementation of the interface “StudentLinearList”.
StudentLinearList를 인터페이스로 갖는, StucentArrayLinearList클래스를 구현하여라.

Modify the time measuring program, which was used in the last homework, by replacing the “Student” object array with the “StudentArrayList” class.
지난번 과제에서 만들어 놓은 시간측정프로그램을 Student배열을 사용하던것에서 StudentArrayList클래스를 사용하는것으로 수정해라.

2. Extend “StudentArrayLinearList” to include the method “removeRange”, which removes all elements in the specified index range.
StudentArrayLinearList를 특정 인덱스 범위를 제거하는 removeRange메소드를 갖도록 확장해라.

What is the complexity of your method?
이 메소드의 복잡도는 얼마인가?

3. Extend “StudentArrayLinearList” to include the method “concateList”, which concatenates a parameter “StudentArrayLinearList” to the list of the method-owner object.
StudentArrayLinearList를 StudentArrayLinearList를 인자로 하여, 원래 배열에 인자로 받은 배열을 이어 붙이는 concateList메소드를 갖도록 확장해라.

What is the complexity of your method? Test your code with a simple example code.

Data Structure 4번째 HW

1. Make an interface “StudentLinearList” as shown in Program 5.1. Implement the “StudentArrayLinearList” class, which is an implementation of the interface “StudentLinearList”. Modify the time measuring program, which was used in the last homework, by replacing the “Student” object array with the “StudentArrayList” class.

2. Extend “StudentArrayLinearList” to include the method “removeRange”, which removes all elements in the specified index range. What is the complexity of your method?

3. Extend “StudentArrayLinearList” to include the method “concateList”, which concatenates a parameter “StudentArrayLinearList” to the list of the method-owner object. What is the complexity of your method? Test your code with a simple example code.

2010년 3월 26일 금요일

Data Structure 3번째 HW(번역)

1. Now we have four sorting algorithm implementations, which were originated from the 2nd week homework.
이제 우리는 2번째 과제의 4개의 정렬 알고리즘을 갖고있다.
This is the time for asymptotically analyze each program. Of course, you have to analyze them under best, worst and average cases.
이번엔 점근적인(asymptotically) 분석을 해보자. 물논, 최악, 최적, 평균적인 사건에 대해 분석해야 된다.

2. Since we have the actual implementations, we can measure the execution time of them.
실제로 구현을 해놓았기 때문에 우리는 각 알고리즘의 실행시간을 측정할수 있다.

As we learned in the class, insert profiling (time measuring) code into your programs, and measure the time to sort randomly generated data sets (Yes, you have to make random student object generating code, too!).
우리가 수업에서 배운 시간 측정용 코드를 너의 프로그램에 넣어라, 그리고 임의로 생성된 데이터셋을 정렬하는 시간을 측정하여라(우리는 랜덤한 학생 오브젝트를 만드는것도 수업시간에 해 보았다.)

The number of students to be sorted must vary from 10 to 1,000,000 by log-scale increment (10, 100, 1,000, 10,000, … on and on).
학생의 숫자는 10에서 1,000,000 까지 큼직큼직하게 변해야 한다(10, 100, 1,000, 10,000, 이런식으로,,)

Draw graphs illustrating the tendency of the execution time changes depending on the changes of the data set size.
데이터 셋의 사이즈에 따라 실행 시간이 변하는 추세를 나타내는 그래프를 그려라.

The source codes, analysis results and graphs have to be prepared in a PDF file.
소스코드와, 분석결과, 그리고 그래프는 반드시 PDF파일로 보내세요.

Data Structure 3번째 HW

1. Now we have four sorting algorithm implementations, which were originated from the 2nd week homework. This is the time for asymptotically analyze each program. Of course, you have to analyze them under best, worst and average cases.

2. Since we have the actual implementations, we can measure the execution time of them. As we learned in the class, insert profiling (time measuring) code into your programs, and measure the time to sort randomly generated data sets (Yes, you have to make random student object generating code, too!). The number of students to be sorted must vary from 10 to 1,000,000 by log-scale increment (10, 100, 1,000, 10,000, … on and on). Draw graphs illustrating the tendency of the execution time changes depending on the changes of the data set size.

The source codes, analysis results and graphs have to be prepared in a PDF file.

2010년 3월 21일 일요일

Eclipse 단축키

파란 블로그의 라삐 님께서 정리하신 Eclipse단축키 입니다.
원본 주소 : http://blog.paran.com/rabbii/14608118
 
Kind Category Name (Command) Key Sequence When Remark
Function
Key
File Rename F2 In Windows  
Edit Show Tooltip Description F2 Editing in Structured Text Editors  
Navigate Open Declaration F3 In Windows
Navigate Open Type Hierarchy F4 In Windows  
File Refresh F5 In Windows  
Run/Debug Debug Last Launched F11 In Windows  
Window Activate Editor F12 In Windows Editor창으로

←↓→
Arrow
Text Editing Scroll Line Down Ctrl+Down Editing Text  
Text Editing Scroll Line Up Ctrl+Up Editing Text  
Navigate Go to Previous Member Ctrl+Shift+Up Editing Java Source  
Navigate Go to Next Member Ctrl+Shift+Down Editing Java Source  
Navigate Backward History Alt+Left In Windows History
Navigate Forward History Alt+Right In Windows
Text Editing Move Lines Up Alt+Up Editing Text  
Text Editing Move Lines Down Alt+Down Editing Text  
Edit Select Previous Element Alt+Shift+Left Editing in Structured Text Editors Select…
Edit Select Next Element Alt+Shift+Right Editing in Structured Text Editors
Edit Select Enclosing Element Alt+Shift+Up Editing in Structured Text Editors
Edit Restore Last Selection Alt+Shift+Down Editing in Structured Text Editors
File
Control
File New Ctrl+N In Windows  
File New menu Alt+Shift+N In Windows  
File Close Ctrl+F4 In Windows  
File Close All Ctrl+Shift+F4 In Windows  
File Save Ctrl+S In Windows  
File Save All Ctrl+Shift+S In Windows  
File Print Ctrl+P In Windows  
File Properties Alt+Enter In Windows  
Goto
&
Move
Navigate Go to Line Ctrl+L Editing Text  
Navigate Go to Matching Bracket Ctrl+Shift+P Editing Java Source  
Navigate (Go to) Last Edit Location Ctrl+Q In Windows  
Navigate Previous Ctrl+, In Windows ★오류부분
   바로가기
Navigate Next Ctrl+. In Windows
Edit Find Next Ctrl+K Editing Text  
Edit Find Previous Ctrl+Shift+K Editing Text  
Eclipse Window Maximize Active View or Editor Ctrl+M In Windows 화면크게보 기
Window Next Editor Ctrl+F6 In Windows  
Window Previous Editor Ctrl+Shift+F6 In Windows  
Window Quick Switch Editor Ctrl+E In Windows  
Window Show Key Assist Ctrl+Shift+L In Dialogs and Windows ★키모음보 기
Comment Source Toggle Comment Ctrl+/, Ctrl+7, Ctrl+Shift+C Editing Java Source 한줄주석
Edit Add Block Comment Ctrl+Shift+/ Editing in Structured Text Editors 선택영역주 석
Edit Remove Block Comment Ctrl+Shift+\ Editing in Structured Text Editors  
Source Add Javadoc Comment Alt+Shift+J In Windows 주석자동추가
Java
Editor
Source Organize Imports Ctrl+Shift+O In Windows import 자동
Source Add Import Ctrl+Shift+M Editing Java Source import 커서
Source Indent Line Ctrl+I Editing Java Source  
Text Editing Open Structure Ctrl+F3 TapestryEditorScope  
Navigate Quick Outline Ctrl+O Editing Java Source  
Navigate Quick Hierarchy Ctrl+T Editing Java Source  
Edit Quick Fix Ctrl+1 Editing in Structured Text Editors ★빠른오류 수정
Eclipse
Editor
Navigate Open Resource Ctrl+Shift+R In Windows
Edit Find and Replace Ctrl+F In Windows  
Search Open Search Dialog Ctrl+H In Windows 자바찾기
Search References in Workspace Ctrl+Shift+G In Windows
Edit Content Assist Ctrl+Space In Dialogs and Windows
Edit Format Document Ctrl+Shift+F Editing in Structured Text Editors ★형식맞추 기
Text Editing To Lower Case Ctrl+Shift+Y Editing Text ★대소문자변경
Text Editing To Upper Case Ctrl+Shift+X Editing Text
Etc Edit Run Query command Ctrl+F9 Editing HQL  
Editor
Common
Key
Edit Select All Ctrl+A In Dialogs and Windows  
Edit Copy Ctrl+C, Ctrl+Insert In Dialogs and Windows  
Edit Cut Ctrl+X, Shift+Delete In Dialogs and Windows  
Edit Paste Ctrl+V, Shift+Insert In Dialogs and Windows  
Edit Redo Ctrl+Y In Windows  
Edit Undo Ctrl+Z In Windows  
Edit Delete Delete In Windows  
Text Editing Line End End Editing Text  
Text Editing Line Start Home Editing Text  
Text Editing Text Start Ctrl+Home Editing Text  
Text Editing Text End Ctrl+End Editing Text