일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 게시판 제작
- 설정
- 게시판
- 파일
- vision document
- srs
- FIle
- jdbc
- 자바
- 클래스
- js꼬리
- 소켓
- Database
- 데이터베이스
- sequence diagram
- jdk설치
- 메소드
- java
- IO
- 이클립스 설정
- Eclipse
- 제안서
- analysis
- System Requirement Specification
- Ecilpse
- workspace
- network
- 네크워크
- custom Tag
- mindmap
- Today
- Total
목록분류 전체보기 (56)
공적's life
이제 우리는 통신을 배워 보겠습니다. 자세하게 하는 것이 아니라 단순하게 배울 것입니다. 우리에 목표는 network에 대해서 전반적으로 공부하는 것이 아니라 우리가 사용하는 것만 배워볼 것입니다. 일단 기본적으로 통신을 하기 위해서는 Socket클래스를 사용합니다 . 간단한 예제를 볼까요? public class SocketNetwork { public static void main(String[] args) throws UnknownHostException, IOException { //소켓 열기 Socket socket = new Socket("www.naver.com",80); //쓰기 준비 OutputStream os=socket.getOutputStream(); //읽기 준비 InputStre..
이제 우리가 배워야 할 내용은 가장 기본적인 IO입니다. 일단은 이전에 배웠던 문서 관리에서 살짝 맛보기로 사용된 적이 있었죠? 이제 그것을 조금 더 심화 해서 해보겠습니다. 이것이 끝나면 File을 할 것이고. 그리고 나서 network쪽을 한 후에 간단한 WebServer 만들어 본 후에 그리고 나서 시간적 여유가 있으면 DBMS를 만들어 보도록 하죠. 물론 풀로 구현하는 것이 아니라 맛보기 구현 정보만 할 것입니다. 일단 간단한 예제를 보면서 이해 해보도록 하죠. 일단 가장 기본이 되는 표준 입출력을 해볼까요? public class InputStreamExercise { public static void main(String[] args) throws IOException { //표준 입력 Inp..
우리는 지금까지 메소드와 클래스로 문서관리 프로그램을 코드로 표현했습니다. 어렵게만 느껴지던 메소드와 클래스들이 조금씩 이해 되는 거 같은 기분들도 들고. 저 역시 많은 것을 배웠습니다. 최대한 모르는 사람을 기준으로 코드를 작성하였기 때문에 크게 어려운 점이 없을 거라고 생각합니다. 하지만 이것 조차도 어렵게 생각 하실 수 있습니다. 하지만 조금만 생각해보면 변화는 것과 변하지 않는 부분이 있을 것입니다. 그 부분을 잡아 내신다면 앞으로의 변화와 트렌드를 알게 될 것 입니다. 이것을 하면서 특별히 기억나는 일들은 한번에 모든 것을 만들 수 없다는 것을 배웠습니다. 저 조차도 알고 있다고 생각한 것도 틀리고, 그러한 것을 고쳐가면서 조금 더 좋은 코드가 나오는 거 같아서 기뻤습니다. 이후에 배울 내용도 ..
우리는 이제 클래스로 분리 하려고 합니다. 저번에는 메소드로 분리하였는데 어느 정도 분업이 가능했지만 이제는 좀더 진화한 분업을 위하여 클래스로 분리하여 각자 클래스를 작성할 수 있게 해보겠습니다. 일단 기능 별로 분리 해보도록 하죠^^; 제가 제일 처음 한일은 먼저 패키지를 작성하였습니다. 이제는 패키지로 관리 해볼까 해서요^^; 일단 우리가 작성하는 패키지의 이름은 com.tistory.melpis.board 입니다. 어디서 많이 보던 이름이죠? 일반적으로 패키지는 주소를 꺼꾸로 잡습니다. 간단하죠? 만약에 꺼꾸로 하지 않으면 묶이질 않고 서로 따로 놀게 됩니다. 그 다음에 한일은 Board의 클래스 이름을 변경 하였습니다. 일단은 BoardExecution 라고 했네요, 그리고 메소드들을 전부 Bo..
이제 어떠한 기준으로 메소드를 분리 해야 할까요? 힌트는 나와있습니다. 그 답은 바로 기능단위로 분리하는 것입니다. 이렇게 한다면 여러 사람이 작업 할 수 있지 않을까요? 한 명당 한가지의 메소드를 맡아서 진행하는 것입니다. 그럼 실제로 해보도록 하죠^^; private static void registDocumentForm() { // 4. 등록 폼출력 System.out.println("제목: "); System.out.println("내용: "); } 등록 폼 출력입니다. 별 문제 없이 되네요. 중간에 static은 main 메소드가 static이기 때문에 붙은 것입니다. 모든 영역에서 static영역에 것들을 쓸 수 있지만. static영역은 모든 영역에 있는 것을 쓸 수 없습니다. 그렇게 때문에..
2-5로 main메소드에 작성하는 것을 끝내고 그 다음인 메소드로 분리하는 것을 해 볼 예정입니다. 우리가 그 동안 무엇을 했고 무엇을 배웠나 정리하기 위해서 이 글을 작성합니다. 첫 번째 우리는 분석된 결과를 프로그래밍을 하였습니다. 여기서 배운 것은 우리가 정의한 절차와 흐름에 따라서 프로그래밍 했다는 것입니다. 두 번째는 한번에 프로그래밍이 되는 것이 아니라 서서히 만들어져 가는 것을 배웠습니다. 절대로 프로그래밍은 한번에 꽝하고 나올 수 없습니다. 프로그래머의 실수든지 아님 언어에 미숙함, 그리고 생각지도 못했던 문제들을 해결해왔습니다. 프로그래밍은 문제를 해결하는 것입니다. 우리는 다양한 문제에 프로그램을 활용 할 수 있습니다. 미약하나마 우리는 그것을 익히고 있고, 어떻게 하면 효율적으로 할 ..
이제 마지막으로 남은 것은 수정입니다. 수정은 단순히 생각하면 문서 상세보기와 등록에 연속입니다. 그러니 어렵지 않게 구현할 수 있죠. 자 말보다 코드로 해볼까요? //사용자가 입력한 문서 번호 가져오기 String userInputSeq = outputData[1]; //일치할경우 저장할 Map타입 Map documentSave=null; //검사 for(int indexI=0; indexI 2000) { return; } // 6. 문서 번호 가져오기 systemSeq += 1; // 7. 등록일 가져오기 Date systemDate = new Date(); SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy.MM.dd HH:mm:ss", Locale..
이제 우리에게 남은 것은 수정과 삭제입니다. 수정은 등록과 상세보기에 합작이기 때문에 제일 나중에 해도 무방할 듯 하여 삭제부터 진행하겠습니다. 지금 현재는 삭제할 때 List에서 한 개씩 문서를 꺼내고 사용자가 입력한 문서번호와 문서를 보관하고 있는 List가 일치하면 그것을 삭제하는 것입니다. 지금은 조금 세련되지 않았지만 약간에 수정을 거치면 세련되게 삭제가 될 것입니다. 그럼 코드로 직접 볼까요? //사용자가 입력한 문서 번호 가져오기 String userInputSeq = outputData[1] //검사 for(int indexI=0; indexI 600) { return; } if (userInputContent.length() ..
일단 우리가 해결해 할 문제는 // 저장되는 공간 int seq =0; String title = null ; String content = null; Date registDate = null; int hit =0 ; 이것을 어떻게 처리 하느냐 에 문제 입니다. 이것이 어떠한 문제 인가 하면 지금 까진 한 건 단위로 처리했지만, 이제는 한 건이 아닌 여러 건을 처리 해야 하기 때문에 저 데이터들을 묶어줄 필요성이 생긴 것입니다. 우리가 정의 할 문서는 저 위 내용을 모두 포함한 것이 한 문서가 되기 때문입니다. 그래서 어떻게 묶어 줄까 궁리를 했습니다. 첫 번째로 생각한 것은 배열이었습니다. 하지만 단점으로 같은 자료형으로 묶어야 한다는 단점과 크기가 제한 되어있다는 단점으로 인하여 실패 하였습니다. 그..
이제 전에 만들었던 등록부분을 다시 고쳐보도록 하죠 // 문서 등록 폼 Register Document Form // 문서 등록 Register Document // 문서 상세 보기 view Document // 문서 목록 보기 view Document List // 문서 삭제 Delete Document // 문서 수정 폼 Edit Document Form // 문서 수정 Edit Document // 1. 사용법 출력 System.out.println("문서 등록 폼: ex) RF"); System.out.println("문서 등록: ex) RD:제목:내용 "); System.out.println("문서 상세 보기: ex) VD:문서번호 "); System.out.println("문서 목록 보기: e..