2016년 10월 4일 화요일

50day / WEB / Model2 게시판 만들기

http://www.javatpoint.com

비로그인형 간단게시판 만들기 (계획)

  • 주요업무분석
  1. 글쓰기 -> 글 작성완료 후 결과화면은 (상세 글 보기) 
  2. 게시글목록에서 상세 글 보기로 링크 이동 

  • 기능구현 
  1. 글쓰기 
  2. 목록보기 
  3. 상세 글 보기 (의외로 가장 어려운 사항이였음) 

  • View 
  1. index.jsp 
  2. -> 초기화면 
  3. header.jsp 
  4. -> 상단 메뉴바 
  5. detail.jsp 
  6. -> 상세 글 보기 
  7. list.jsp 
  8. -> 게시글 목록 
  9. writer.jsp 
  10. -> 글 작성 폼
  11. update_popup.jsp
  12. -> 정보수정 폼
  13. delete_popup.jsp
  14. -> 게시물 삭제 비밀번호 입력 폼
  15. delete_checkpass_result.jsp
  16. -> 삭제 여부 질의 후 PK을 파라미터로 컨트롤러에 넘김
  17. update_checkpass_result.jsp
  18. -> 수정 여부 질의 후 PK을 파라미터로 컨트롤러에 넘김
  • Controller
1. IndexController.java
-> 초기화면을 이동해준다.

2. DetailController.java
-> 요청된 PK 값에 대한 상세글보기 페이지로 이동시켜주며 조회수를 증가시켜준다

3. ListController.java
-> 전체 글 목록을 ArrayList로 뽑아서 리턴해준다

4. WrteController.java
-> 게시물 등록 후 PK값과 함께 상세글보기 페이지로 이동한다.

5. HandlerMapping.java
-> 클라이언트의 요청에 대한 객체를 생성하여 리턴한다
(Singleton Pattern ,Factory Pattern 적용)

6. DispatcherServlet.java
-> 클라이언트의 요청을 받는 시작점이다 (Fronte Controller Pattern 적용) 
  요청상황에 따라 redirect하기도하고 forward하기도 한다.

7. ModelAndView.java
-> 컨트롤러 업무 수행 후 반환할 때 사용하는 객체이다. 반환결과를 저장한다.

8. DeletePostingController.java
-> PK값을 받아 해당 게시글을 삭제해준 후 전체 목록으로 이동시킨다.

9. DeleteCheckPasswordController.java
-> 게시물을 삭제해도 되는지 비밀번호로 판단하여 리턴한다.

10. UpdatePostingController.java
-> 입력받은 정보로 정보수정을 해준다

11. UpdateCheckPasswordController.java
-> 게시물을 수정해도 되는지 비밀번호로 판단하여 리턴한다.

12. UpdateViewController
-> 게시물을 수정에 접근할 수 있을 때만 게시물 수정 폼으로 이동시켜준다
  • Model
1. BoardDAO.java-> 게시판의 비즈니스 로직을 담당한다. (Singleton Pattern 적용)

2. BoardVO.java-> 게시판의 구성요소 객체

3. DataSourceManager.java-> 컨넥션 풀을 생성하여 공유하는 객체
(Singleton Pattern 적용)


# 코드 및 풀이 과정은 다음 게시물로 이어서..

2016년 10월 2일 일요일

개발자 커뮤니티 모음


개발자들이 현장에서 접하는 기술과 고민을 함께 공유하는 데뷰 행사를 통해 보다 활발한 기술 공유와 함께 동반 성장을 할 수 있는 밑거름이 되기를 바랍니다.
네이버 랩 연구센터장, 송창현 (http://www.zdnet.co.kr/news/news_view.asp?artice_id=20140915112248)

커뮤니티에서 사람들과 이야기하며, 기술을 공유하고 서로가 도움을 주면서 기술의 흐름과 현재 프로젝트의 동향 등을 파악하고 지금 자신이 개발 중인 기술이나 프로젝트와 비교하면서 스스로가 개발자로서 어떤 방향으로 나아가야 하고 어떤 것들을 공부해야 하는지도 깨달을 수 있다고 생각합니다.한국자바개발자 협의회 JCO 일동

2016년 9월 30일 금요일

2016년 9월 29일 목요일

2016년 9월 28일 수요일

2016년 9월 27일 화요일

2016년 9월 26일 월요일

2016년 9월 23일 금요일

2016년 9월 22일 목요일

2016년 9월 21일 수요일

2016년 9월 20일 화요일

2016년 9월 19일 월요일

2016년 9월 17일 토요일

난 정말 JAVA를 공부한 적이 없다구요

난 정말 JAVA를 공부한 적이 없다구요


  • 목차

Chapter 01. Let's Start JAVA! 
01-1. 자바의 세계로 오신 여러분을 환영합니다. 
01-2. 자바 프로그램의 이해와 실행의 원리 
01-3. 첫 번째 자바 프로그램의 관찰과 응용 
01-4. 컴파일의 대상에서 제외되는 주석! 

Chapter 02. 변수(Variable)와 자료형(Data Type) 
02-1. 변수의 이해와 활용 
02-2. 정수 표현방식의 이해 
02-3. 실수 표현방식의 이해 
02-4. 자료형의 이해 

Chapter 03. 상수와 형 변환(Type Casting) 
03-1. 자료형을 기반으로 표현이 되는 상수 
03-2. 자료형의 변환 

Chapter 04. 연산자(Operator) 
04-1. 자바에서 제공하는 이항 연산자들 
04-2. 자바에서 제공하는 단항 연산자들 
04-3. 비트와 관련이 있는 연산자들 

Chapter 05. 실행흐름의 컨트롤 
05-1. if ±×¸?°? else 
05-2. switch와 break 
05-3. for, while ±×¸?°? do~while 
05-4. continue & break 
05-5. 반복문의 중첩 

Chapter 06. 메소드와 변수의 스코프 
06-1. 메소드에 대한 이해와 메소드의 정의 
06-2. 변수의 스코프 
06-3. 메소드의 재귀호출 

Chapter 07. 클래스와 인스턴스 
07-1. 클래스의 정의와 인스턴스의 생성 
07-2. 생성자(Constructor) 
07-3. 자바의 이름 규칙(Naming Rule) 

Chapter 08. 클래스 패스와 패키지 
08-1. 클래스 패스(Class Path)의 지정 
08-2. 패키지(Package)의 이해 

Chapter 09. 접근제어 지시자와 정보은닉, 그리고 캡슐화 
09-1. 정보은닉(Information Hiding) 
09-2. 접근제어 지시자(Access Control Specifiers) 
09-3. public 클래스와 default 클래스 
09-4. 어떤 클래스를 public으로 선언할까요? 
09-5. 캡슐화(Encapsulation) 

Chapter 10. 클래스 변수와 클래스 메소드 
10-1. static 변수(클래스 변수) 
10-2. static 메소드(클래스 메소드) 
10-3. System.out.println & public static void main 

Chapter 11. 메소드 오버로딩과 String 클래스 
11-1. 메소드 오버로딩(Overloading) 
11-2. String 클래스 
11-3. API Document의 참조를 통한 String 클래스의 인스턴스 메소드 관찰 
11-4. StringBuilder & StringBuffer 클래스 
11-5. 단계별 프로젝트: 전화번호 관리 프로그램 01단계 

Chapter 12. 콘솔 입력과 출력 
12-1. 콘솔 출력(Console Output) 
12-2. 콘솔 입력(Console Input) 
12-3. 단계별 프로젝트: 전화번호 관리 프로그램 02단계 

Chapter 13. 배열(Array) 
13-1. 배열이라는 존재가 필요한 이유 
13-2. 1차원 배열의 이해와 활용 
13-3. 다차원 배열의 이해와 활용 
13-4. for-each 
13-5. main 메소드로의 데이터 전달 
13-6. 단계별 프로젝트: 전화번호 관리 프로그램 03단계 

Chapter 14. 클래스의 상속 1: 상속의 기본 
14-1. 상속은 재활용 + 알파(α) 
14-2. 상속의 기본문법 이해 
14-3. 상속과 접근제어 지시자 
14-4. static 변수(메소드)의 상속과 생성자의 상속에 대한 논의 

Chapter 15. 클래스의 상속 2: 오버라이딩 
15-1. 상속을 위한 관계 
15-2. 하위 클래스에서 메소드를 다시 정의한다면? 
15-3. 참조변수의 인스턴스 참조와 instanceof 연산자 

Chapter 16. 클래스의 상속 3: 상속의 목적 
16-1. 개인정보 관리 프로그램 
16-2. 모든 클래스가 상속하는 Object 클래스 
16-3. final 클래스와 final 메소드 
16-4. 단계별 프로젝트: 전화번호 관리 프로그램 04단계 

Chapter 17. abstract와 interface 그리고 inner class 
17-1. abstract 클래스 
17-2. interface 
17-3. Inner 클래스 
17-4. Local 클래스와 Anonymous 클래스 
17-5. 단계별 프로젝트: 전화번호 관리 프로그램 05단계 

Chapter 18. 예외처리(Exception Handling) 
18-1. 예외처리에 대한 이해와 try~catch문의 기본 
18-2. 프로그래머가 직접 정의하는 예외의 상황 
18-3. 예외 클래스의 계층도 
18-4. 단계별 프로젝트: 전화번호 관리 프로그램 06단계 

Chapter 19. 자바의 메모리 모델과 Object 클래스 
19-1. 자바 가상머신의 메모리 모델 
19-2. Object 클래스 

Chapter 20. 자바의 다양한 기본 클래스 
20-1. Wrapper 클래스 
20-2. BigInteger 클래스와 BigDecimal 클래스 
20-3. Math 클래스와 난수의 생성, 그리고 문자열 토큰(Token)의 구분 

Chapter 21. 제네릭(Generics) 
21-1. 제네릭 클래스의 이해와 설계 
21-2. 제네릭을 구성하는 다양한 문법적 요소 

Chapter 22. 컬렉션 프레임워크(Collection Framework) 
22-1. 컬렉션 프레임워크의 이해 
22-2. Collection〈E〉 인터페이스를 구현하는 제네릭 클래스들 
22-3. Set〈E〉 인터페이스를 구현하는 컬렉션 클래스들 
22-4. Map〈K, V〉 인터페이스를 구현하는 컬렉션 클래스들 
22-5. 단계별 프로젝트: 전화번호 관리 프로그램 07단계 

Chapter 23. 쓰레드(Thread)와 동기화 
23-1. 쓰레드의 이해와 생성 
23-2. 쓰레드의 특성 
23-3. 동기화(Synchronization) 
23-4. 새로운 동기화 방식 

Chapter 24. 파일과 I/O 스트림 
24-1. File I/O에 대한 소개 
24-2. 필터 스트림의 이해와 활용 
24-3. 문자 스트림의 이해와 활용 
24-4. 스트림을 통한 인스턴스의 저장 
24-5. Random Access 파일과 FILE 클래스 
24-6. 단계별 프로젝트: 전화번호 관리 프로그램 08단계 

Chapter 25. Swing 컴포넌트와 이벤트 핸들링 
25-1. Swing을 시작하기에 앞서 
25-2. Swing 컴포넌트와 이벤트 핸들링 
25-3. 레이아웃 매니저(Layout Manager) 
25-4. 이벤트와 이벤트 리스너(Event Listener) 
25-5. 다양한 Swing 컴포넌트 
25-6. 단계별 프로젝트: 전화번호 관리 프로그램 09단계 

APPENDIX A. 데이터 표현방식의 이해 
A-1. 진수와 진수변환 
A-2. 데이터 표현의 단위(비트, 바이트, 워드) 

APPENDIX B. 자료형에 안전한 열거형 
B-1. 열거형의 활용 
B-2. 열거형 클래스


  • 소개

Java 초보용으로 굉장히 많은 인기를 얻고 있는 책이다.
일명 코딩 붐이 일어나면서 IT관련 서적이 쏟아지고 있는 데
특히 Java 기본서는 굉장히 많이 나오고 있어 그만큼 묻혀버리는 Java기본서도 많다
이 책은 예전부터 지금까지 꽤나 오랜 기간인기를 끌고 있는 데
제목은 왜이리 특이한지 표지도 좀 오래되어 보이고.... 뭐 결론은 내용이 꽤나 좋다.
875페이지에 달하는 꽤나 두터운 책이지만 가격은 뭐 적당한 정가 28,000원이다.
또한 http://www.orentec.co.kr 에서 무료로 회원가입만하면 저자의 동영상 강의를
볼 수 있으니 책이 없어도 내용이 궁금하신 분들은 참고해도 좋을 것 같다.

  • 유기적인 내용과 핵심을 잘 알고있는 기본서

개인적인 생각일 수 있지만 내용의 흐름이 꽤나 잘 연결된다는 느낌을 받을 수 있었다.
또한 다른 책에 비하여 중요한 부분은 항상 중요하게 다루고 넘어간다.
말 그대로 기본서로 있을 건 다 있다.
이 책만 마스터까지는 아니더라도 제대로 익힌다면 웹개발이나 안드로이드로
넘어갈때 조금 더 수월하지 않을까하는 생각이 든다.


  • 네트워크가 왜 없을까..

네트워크가 없다. 이상하다. 한창 Java로 채팅만들기 공부를 할 때 책을 뒤적였는 데
정말 없는 것이다. 대신 Swing이 들어가있다......
이 책의 출시년도는 2009년도이다. 뭐.. 개정판이 나와야 해결될까 싶다.
물론 네트워크가 필요없는 분들도 있겠지만 Java기본서에서 네트워크 부분을 익히지 않고 JSP & Servlet으로 넘어간다면 초반에 이해도가 떨어지지 않을까 싶다.

"책 한권으로 Java 기본 Master 도전! 동영상은 덤!"

2016년 9월 13일 화요일