디시인사이드 갤러리

갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

어떡해 일기 2-14 :: 방학 중간 기록, java 프로젝트 오답노트.

어떡해갤로그로 이동합니다. 2010.08.14 22:29:14
조회 662 추천 0 댓글 5



방학이 이제 3주 남아있는 시점에서 잠깐 그동안 했던 일과, 공부했던 것을 정리해볼까 한다.

먼저, 방학초에 준비해두었던, 계획해두었던 교재들은 3권을 제외한 나머지는 무사히 마쳤다.

자료구조의 경우 중복되었던 책도 있었고, 또 한번 거쳐갔던 책들이었기 때문에 소화하기에는 무리가 없었고

때때로 내용 실습을 하면서 배운 내용을 잊어먹지 않기 위해 애썼다.

뇌자알과 C++ 그리고 임베디드 리눅스는 책을 살펴보긴 했지만 실상 공부를 시작하진 못했다.

현재 AVR 128을 입문 준비하고 있고, 키트로 임베디드 실습을 조금씩 실시하고 있는 상태인데,

아마 늦어도 다음주 월요일 부터는 C++교재를 시작할 수 있을 것 같다.

더불어 현재 자바학습 프로젝트로 진행하고 있는 Html 추출기 (프갤 검색하고 비슷한 기능을 하는)는 방학초에는 깔짝 깔짝 진행하다가

2주전부터 광적으로 코딩을 실시하고 있다.

하지만, 역시 노하우 부족과, 학습 부족으로 여러가지 점에서 에로사항을 많이 겪었다.

그것을 조금 정리해보자면.

12610C0E4C6692148A570B

처음 시도 시, 파서는 아무런 문제없이 끝을 낼 수 있었다.
초반 정규표현식의 사용에 대한 에로사항이 있었는데, 초반에 프로젝트를 들어가기전에 관련 문서를 수집했을 때
정리해놓은 정규표현식 작성법이라는 문서에 php와 java의 regex의 정규표현식이 섞여있었다.
문서가 잘못된 것인지, 내가 잘 이해를 못한 것인지는 모르겠지만
대표적으로 ^의 경우 php에서는 최초로 시작되는 문자로 처리를 하는데에 반해, java regex에서는 ^를 제외해야할 문자로 인식하고 있었다.
후에 다시 정규표현식을 정리하면서 이 문제는 해결되었다.

1562D40E4C669213946887

TCP/IP 코딩이 주로 유닉스 계열을 중심으로 작성이 되어 있는 덕분에 Windows 상태에서는
코딩하고 테스트하기 다소 까다로웠던 점도 있고, 평소 리눅스를 한번 써보고 싶었었기에 우분투 10.4를 설치하고
거기에 개발환경을 만들어 java 코딩 및 기타 언어 코딩을 즐겨하게 되었다.
그런데 이번에 JAVA 프로젝트를 진행하다 리눅스 환경에서 작성한 코드를 읽어들인 소스들의 한글 주석이 전부
깨지는 현상이 일어났다.
이는 윈도우에서 텍스트 인코딩을 MS-949 방식으로 하고 리눅스의 경우 UTF-8 방식으로 하기 때문인데
자바 프로젝트의 속성창을 확인하면 위의 텍스트 코드를 재 인코딩하는 설정이 마련이 되어 있다.
수정하고 적용을 하면 정상 출력이 되는 것을 확인 할 수 있으나, 나는 중간에 저장을 해버려서 주석을 전부 새로 달아버리게 됐다 ㅜㅜ

126C830E4C6692166A6923
C언어에서 while(1)을 통해 항상 루프를 돌게 한뒤, if를 통해 함수를 빠져나오는 데에 return;을 즐겨 사용했는데
어째서인지 위의 간단한 코드에서 자바 컴파일러는 return을 실시할 수 없다고 에러를 뿜었다.
확인해보니, return 뿐만아니라 while 블럭 밖에 위치하는 필드의 인스턴스 변수에도 접근이 불가능했다.
여러가지 방법을 알아보고 테스트해본 결과, java 컴파일러는 while(i<4)와 같이 조건이 달려있는 반복문에서는
return이 가능하도록 하는 것 같지만, while(true)와 같은 강제적 루프에서는 break;를 명시하지 않으면
컴파일 자체를 못하게 막는 듯함.

1657FA0E4C669217C242B2
졸라크네;;

이 경우는 내가 벙찐 상태에서 코딩했다는 것을 증명하는 것.
특정 클래스에서 객체를 생산하고, 그 해당 객체를 어레이 리스트에 삽입해서 생산 순서에 따라 접근하고 데이터를 추출 할 수있도록
작성을 했다고 생각했는데, 어째서인지 의도한 값이 나오지 않았다.
디버그를 한 결과, 아뿔사 레퍼런스 변수만 잔뜩 넣어두고 해당 레퍼런스들은 모두 힙의 한가지 객체만을 가리키도록 해놓음
나의 우둔함을 탓하며 새벽에 담배피러 가다가, 근처 아파트 경비아저씨한테 여기에서 담배피지 말라고 많이 혼났다.

14695B0E4C669216679485




초반 추출과 파싱을 하는 클래스를 설계시 1)과 같이 설계함.
A클래스의 경우 통상 수집을 하는 클래스, B의 클래스의 경우 DC와 같이 비슷한 기능이나 다소 차이가 있는 특성화 클래스로 설계함.
하지만, 중간에 이런 후잡한 설계가 어딨냐는 자기학대와 함께 공통기능을 뽑고, 후에 문제가 생기더라도 클래스 추가만으로 해결할 수 있는
2)와 같은 형태로 교정. 그러나 이것도 나중에 문제가 일어나서 최종적으로는 3)과 같은 형태로 인터페이스를 이용해 해당 객체를 다형성으로
접근할 수 있도록 설계하고, 클래스의 기능과 인스턴스변수 분배도 좀 더 고민을 많이 해서 했다.
말은 3)이지만 실제로는 한 21)쯤 되는 것 같음.


결론적으로 >
이번 방학은 과거에 유래없이 다소 알차게 보낸 것 같으나, 자바와 기타 언어 프로젝트를 수행하면서 역시 많이 모자라고,
또 생각하기 귀찮아 대책없이 코딩하다가 나중에 갈아엎은 소스만 30회를 넘겨가니 점차 지쳐가는 자신을 발견.
이에 대해서 생각할 점은 다소 코딩을 늦게 시작하더라도, 설계 부분은 이것저것을 잘 따져봐야한 다는 것.
특히 객체지향은 오버라이딩이나 오버로드 같은 이런 부분도 중요하지만, 더 중요한 것은 클래스와 클래스 간의 관계 라는 것.
하지만 과연 삽질은 지식의 샘터라고, 삽질을 하면 할수록 스스로도 뭔가 이것저것 따지는 경우가 늘어나 실력이 부쩍 늘고 있다는 것이 느껴진다.


오늘의 어떡해 일기 끄 ㅌ

추천 비추천

0

고정닉 0

0

원본 첨부파일 1

댓글 영역

전체 댓글 0
등록순정렬 기준선택
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 어떤 상황이 닥쳐도 지갑 절대 안 열 것 같은 스타는? 운영자 24/05/20 - -
208743 아...Maya 공부 하기 싫어 죽겠다 [3] 분당살람갤로그로 이동합니다. 10.09.21 110 0
208742 자바 도움좀. 꼭 자바가 아니긴함 [5] 어실(202.150) 10.09.21 113 0
208741 그분이 날 스치고 가셨지 . .그래서 난 질렀지 . . [4] 온순한감자갤로그로 이동합니다. 10.09.21 165 0
208740 웃어넘기는 사람이 있고, 고개를 끄덕이는 사람이 있는듯... 모닝글로리(58.225) 10.09.21 79 0
208738 c언어 코딩 오류좀 찾아줘 형들 [9] 초보(219.150) 10.09.21 259 0
208737 잠실/송파쪽 상황 좀 알려줘 [4] 유리한갤로그로 이동합니다. 10.09.21 135 0
208736 형들ㅜㅜ소스짜놓은 건데 조언좀 부탁할수있을까? [3] (112.151) 10.09.21 73 0
208735 핸드폰으로 디씨를 할수있다니 [1] 메로나™갤로그로 이동합니다. 10.09.21 79 0
208733 돌아다니면서 코딩하기엔 울트라씬이 쵝오 [6] 마타버터갤로그로 이동합니다. 10.09.21 238 0
208732 서울 및 경기북부에 있던 비구름 지금 내려오고 있어요!! [2] [성대아싸]갤로그로 이동합니다. 10.09.21 104 0
208729 시디스페이스6 부팅할때마다 자동실행되는거 못 끄나요? [1] 하앜(116.47) 10.09.21 63 0
208727 나좀 도와줘 ㅠㅠㅠ [2] 불량교주갤로그로 이동합니다. 10.09.21 118 0
208725 한 멍청이가 한 멍청돋는 질문을 합니다 mapping에 대해서 [1] asdad(121.65) 10.09.21 77 0
208724 지금 서울에 비가 오는 이유 [1] 돼지가뿔났다갤로그로 이동합니다. 10.09.21 115 0
208722 네이트온 방화벽에 막혔어요ㅠ.ㅠ [3] 네이트온(203.227) 10.09.21 136 0
208721 이미지콤보 사용법 질문좀요 [5] 군고구마임갤로그로 이동합니다. 10.09.21 99 0
208720 뭐여 서울 또 비옴? 아주아슬갤로그로 이동합니다. 10.09.21 52 0
208719 ㅅㅂ 사무실 [2] 물속의다이아갤로그로 이동합니다. 10.09.21 71 0
208718 또 비가 오는구나 Rei@디씨갤로그로 이동합니다. 10.09.21 62 0
208716 비구름이 아파트 고층까지 덮었네 [2] 이모군(175.114) 10.09.21 90 0
208714 ㅅㅂ 출근중 [2] 물속의다이아갤로그로 이동합니다. 10.09.21 65 0
208713 API 좌표개념이 좀 머리아프네.. [4] Nerpyz갤로그로 이동합니다. 10.09.21 179 0
208710 ㅡㅡ 니들 테란이 얼마나 사긴지 모르는구나? [6] 432(211.55) 10.09.21 194 0
208709 sloth_한테쓰는글 [1] 432(211.55) 10.09.21 71 0
208708 너네들은 도대체 불편한 vi는 왜 아직도 쓰는거냐? [3] ㄹㄹ(121.157) 10.09.21 165 0
208707 니들 왜 크롤러 얘기만 함? 던크(121.182) 10.09.21 92 0
208705 나라밥 먹는 사이트들은 다 개 좆이다. [3] 물속의다이아갤로그로 이동합니다. 10.09.21 167 0
208704 자바에서는 P-Town(24.4) 10.09.21 66 0
208703 횽들 함수 전달 인자 질문점여 굽신 굽신... [2] 눌눌눌(121.137) 10.09.21 73 0
208702 나도 예전에 크롤러 만들 때 전화받은적이 있어... [4] 물속의다이아갤로그로 이동합니다. 10.09.21 164 0
208701 스타2 저그 멋있더라. [6] 머그컵갤로그로 이동합니다. 10.09.21 215 0
208700 돼뿔형이랑 스미골 아저씨랑 엄청 웃긴거 같음 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ [1] 머그컵갤로그로 이동합니다. 10.09.21 135 0
208699 횽들 매틀랩 프로그램좀 봐주세요 ㅠ Nariel(183.97) 10.09.21 283 0
208697 리눅스에 한글 2008정품 샀는데 [3] 마타버터갤로그로 이동합니다. 10.09.21 155 0
208696 크롤러의 첫번째 덕목이... [25] 물속의다이아갤로그로 이동합니다. 10.09.21 270 0
208695 프겔에 오는 꼬꼬마 들은 필독해라 [7] 에드워드(134.121) 10.09.21 291 0
208694 비주얼베이직에 학과목록을 나타내려고 하는데.. [1] 비주얼베이직(124.53) 10.09.21 51 0
208691 형님들.. 도와줘요 ㅜㅜ [3] Velu(121.172) 10.09.21 53 0
208690 프로그램 기획안 [3] 늅늅(121.182) 10.09.21 190 0
208689 전복, 바나나, 굴, 그 다음엔 [10] 돼지가뿔났다갤로그로 이동합니다. 10.09.21 219 0
208688 사람은 다양한 형태의 '시간이라는 공간' 속에 존재하게 된다. [3] 한마디(61.77) 10.09.21 99 0
208686 비쥬얼베이직 왕초보 질문이요.. 레알:)(124.53) 10.09.21 68 0
208684 중소 SI업체에서도... [3] Oasis(124.153) 10.09.21 357 0
208682 웹은 껍데기고, 응용은 알맹이라는 말 어떻게 생각해? [12] 머그컵갤로그로 이동합니다. 10.09.21 191 0
208681 네이트게이버 실시간검색연관 트윗실시간으로 업뎃기능 이거 누가먼저한거임? [1] 오엠젯갤로그로 이동합니다. 10.09.21 89 0
208680 리눅스에 이클립스 넷빈 설치 성공 [10] 마타버터갤로그로 이동합니다. 10.09.21 137 0
208678 노트북좀 추천해보ㅓㅏ [7] 1231(220.76) 10.09.21 103 0
208677 추석이라니 흑흑... [10] Minryu갤로그로 이동합니다. 10.09.21 135 0
208676 아 정말 황우석 사건에 대해 많은 것을 알게 되었따... [34] 분당살람갤로그로 이동합니다. 10.09.21 478 0
208675 휴학하고 공부한다고 깝쭉 하면서 알바를 하게 되서 느낀점. [5] 부끄곰갤로그로 이동합니다. 10.09.21 169 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2