일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- IO
- 게시판
- Database
- 네크워크
- Ecilpse
- workspace
- 데이터베이스
- mindmap
- srs
- sequence diagram
- 자바
- jdbc
- FIle
- 클래스
- js꼬리
- System Requirement Specification
- jdk설치
- 소켓
- 이클립스 설정
- network
- analysis
- 메소드
- java
- custom Tag
- 설정
- 제안서
- Eclipse
- 파일
- Today
- Total
목록java (14)
공적's life
상당히 많은 것을 진행 한 거 같네요. 여기서 중요한 점은 어떠한 것이 되어도 비즈니스 로직이라고 불리는 것들은 전혀 변함이 없었죠? 바로 그것입니다. 기술이 그 어떠한 것이 되어도 변하지 않는 것이 있습니다. 그 부분을 잘 찾아내신다면 보다 효과적으로 프로그래밍을 하실 수 있습니다. IO File JDBC XML 사용하는 법은 거의 엇비슷하게 사용 되었지요? 코드부분을 많이 정리 해드리고 싶었는데 그래도 생각 하는 것 도 좋겠다고 판단 되어서 그러지 않았습니다. 항상 코드 리뷰는 최소한 도로 합니다. 라이브로 코딩해서 동영상을 만드는 것이 가장 좋지만, 그럴 여건이 안되어서 참으로 아쉽네요. 이제 다음 번 글부터는 이클립스도 JDK용이 아닌 JEE용으로 바뀝니다. 그에 따라서 새로 설치 해야 될 것도 ..
XML 어떻게 보면 html과 비슷한 거 같지만 사용하는 용도가 전혀 다른 두 가지 입니다. 간단하게 구분하면 XML은 데이터이고 html은 화면에 레이아웃이라고 생각하시면 됩니다. 아주 초 간단입니다. 그럼 왜 이것을 사용할까요? 데이터라고 했으니까 어디에 읽고 쓰겠죠. 라는 대답이 들리는 군요. 네 맞아요. 그렇지요. 여기에 추가적인 목적은 바로 표준화된 데이터입니다. 프로그래밍 언어별로 서로 다른 데이터를 사용하니까 그것들인 반드시 일치 할 수 없습니다. 예를 들어서 c 에서 int 타입과 java에서 int 타입은 서로 다릅니다. 물론 같은 목적을 사용되지만 지원하는 자리수도 다르고요. 이럴 때 사용할 수 있는 것이 바로 XML입니다. 이러한 목적으로 사용하게 되었지만 그 활용은 엄청나게 많습니다..
이제 우리가 작성 했던 클래스를 조금 더 다듬어 볼까요? 일단 다듬어야 할 부분을 생각해보죠. 첫째로 저렇게 문자열을 끼어 넣는 건 실수 할 여지도 있고 조금 힘들지 않을까요? 그 부분을 어떻게 잘 처리 해보도록 하죠. 그리고 예외처리를 제대로 해보도록 하죠. 첫 번째 문제를 해결하기 위해서 일단 API를 한번 살펴 보도록 하죠. 찾아 보니 이런 예제가 있네요? 에고 오라클로 넘어가면서 api찾기가 힘드네요. 역시 영어가 많이 부족함을 느낍니다. http://download.oracle.com/javase/6/docs/api/ 혹시 저와 같은 고민을 하시는 분들에게 링크를 걸어 드리죠^^ PreparedStatement pstmt = con.prepareStatement("UPDATE EMPLOYEES ..
이제 실제로 DataBase라는 것을 사용해 보도록 하죠. DataBase에 대한 설명은 다음에 하도록 하고 오늘은 Java Database Connectivity 즉 JDBC에 대해서 살짝 알아 보고 사용해 보도록 하죠. 전에 제가 만들었던 DataBase와 유사하게 동작합니다. 특정한 문자를 주면 등록, 조회, 수정, 삭제 즉 C.R,U.D를 하게 됩니다. 간단하죠? 꽤나 오랜 시간 동안 발전해 왔기 때문에 우리는 그것에 대한 규칙을 지켜야 합니다. SQL(Structured Query Language)이라는 언어를 사용합니다. 이것도 다음 기회에 DataBase를 설명할 때 다시 하도록 하고, 오늘은 그 사용법에 대해서 해보도록 하죠. 일단 database management system를 설치해 ..
이번 글은 조금 오래 걸렸네요. 사실 이번 글은 안보셔도 상관 없는 글입니다. 그렇지만 한번 봐두시면 상당히 도움이 되는 글입니다. 소스코드는 이번에는 양이 상당히 많아서 어쩔 수 없이 압축해서 올리겠습니다. 일단 기본적인 구조는 전에 했었던 문서 관리에서 크게 벗어 나지 않습니다. 하지만 전에는 파일로 저장했던 데이터들을 Network를 통해서 저장하게 됩니다. 나중에 다른 글에서 언급하겠지만 JDBC와 문자열 파싱을 연습해 볼 수 있게 작성하였습니다. 일단 간단한 절차를 볼까요? 사용자가 데이터를 입력하면 우리는 그것을 서버에 전송하게 됩니다. 그때 그냥 보내는 것이 아니라 지정 한 명령어와 규칙에 따라서 작성합니다. 그러면 서버는 그것을 받아서 저장, 삭제, 수정, 조회를 하게 됩니다. 결과값이 있..
이제 우리는 통신을 배워 보겠습니다. 자세하게 하는 것이 아니라 단순하게 배울 것입니다. 우리에 목표는 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영역은 모든 영역에 있는 것을 쓸 수 없습니다. 그렇게 때문에..