Author

Servlet; DataSource 연동
platanus |

서블릿 : 비즈니스 로직 서블릿 비즈니스 처리 작업이란 서블릿이 클라이언트로부터 요청을 받으면 그 요청에 대해 작업을 수행하는 것을 의미 합니다. 대부분의 비즈니스로직 처리는 DB연동 작업이 동반된다. 서블릿의 데이터베이스 연동 DAO와 VO를 사용한 회원정보 연동을 해보자 서블릿으로 회원 정보 테이블의 회원 정보 조회 H2 데이터베이스를 미리 준비한다 쿼리를 밀어넣고 maven.xml에 다음 내용을 추가한다. MemberDAO, MemberVO MemberServlet... » read more

Composite pattern
platanus |

Composite 패턴 컴포짓 패턴은 part-whole의 관계를 갖는 객체들을 정의할때 유용하다. 여러 객체가 한 클래스 전체 객체의 일부분으로 정의될때 사용한다. 부분 객체의 추가나 삭제가 있어도 전체 클래스의 코드를 변경하지 않으면 컴포짓 패턴은 유용하다. 그리고 클라이언트는 whole과 part를 구분하지 않고 동일한 인터페이스를 가질 수 있다. 컴퓨터에 추가 장치 지원하기 컴퓨터를 모델링해보자. 컴퓨터에는 Keyboard, Monitor, RAM, SSD, CPU등이... » read more

Java; Exception
platanus |

예외처리 예외 클래스 오류란 무엇인가? 프로그램에서 오류가 발생하는 상황은 Compile error와 runtime error 두가지다 Compile error : 프로그램 코드 작성 실수로 발생하는 오류. 개발 환경에서 대부분의 원인을 알 수 있다. Runtime error : 실행 중인 프로그램이 의도하지 않은 동작을 하거나 프로그램이 중지되는 실행 오류. 프로그램을 잘못 구현해 의도한 바와 다르게 실행됙어 생기는 오류를 버그라고 한다.... » read more

Abstract Factory pattern
platanus |

Abstract factory 패턴 추상 팩토리 패턴은 관련성 있는 여러 종류의 객체를 일관된 방식으로 생성하는 경우에 유용하다. 계속되는 엘리베이터 예제에서 벤더에 따른 코드를 작성하면 벤더가 바뀌었을때 모든 부품의 코드가 벤더를 이동해야한다. 이런 경우에 부품별로 Factory를 정의하는 대신 관련 객체들을 일관성 있게 생성 할 수 있도록 Factory클래스를 정의하는 것이 효과적이다. 예를들어 Motor클래스를 위한 MotorFactory나 Door클래스를 위한 DoorFactory... » read more

Java; Stream
platanus |

스트림 스트림이란? 배열 요소를 특정 기준에 따라 정렬 하거나 (sort), 요소 중 특정 값은 제외하고 출력하는 기능 (filter). 이런 자료처리에 대한 기능을 구현해놓은 클래스가 stream이다. 스트림을 활용하면 자료를 일관성 있게 처리할 수 있다. 자료에 따라 기능을 새로 구현하는 것이 아니라 자료형에 상관없이 같은 방식으로 메소드를 호출한다. 간단한 스트림 예제 Arrays.stream() : 스트림의 생성 부분이다 forEach()... » read more

Factory method pattern
platanus |

Factory method 패턴 팩토리 메소드 패턴은 객체의 새성 코드를 별도의 클래스 또는 메소드로 분리함으로써 객체 생성의 변화에 대비하는데 유용하다. 프로그램이 제공하는 기능은 상황에 따라 변경될 수 있다. 그리고 특정 기능의 구현은 개별 클래스를 통해 제공되는 것이 바람직한 설계다. 그러므로 기능의 변경이나 상황에 따른 기능의 선택은 바로 해당 객체를 생성하는 코드의 변경을 초래한다. 게다가 상황에 따라... » read more

Servlet; doGet, doPost
platanus |

서블릿 기초 Servlet의 세가지 기본 기능 Servlet이 수행하는 세가지 주요 기능은 다음과 같다. 클라이언트로부터 요청을 받는다. 비즈니스 로직을 처리한다. 처리된 결과를 클라이언트에게 응답으로 내려보낸다. 초기 웹 프로그램 개발에서는 서블릿이 클라이언트로부터 요청을 받아 비즈니스 작업을 처리한 후 그 결과를 클라이언트의 브라우저로 전송하는 방식으로 작업했다. Servlet 요청과 응답 API 요청과 응답에 관련된 API는 모드 javax.servlet.http패키지에 있다. HttpServletRequest... » read more

42 서울 La Piscine 후기
platanus |

42서울? 42서울은 프랑스의 에꼴42 교육 시스템을 그대로 가지고와 과기부에서 운영하고 있는 프로그래머 인재양성 교육과정이다. 커리큘럼부터 내부 인트라넷까지 전부 프랑스의 시스템을 그대로 사용하고 있다. 42만의 특이한 점이라면 강사나 강의가 없고 피어리뷰 위주의 커리큘럼 진행이 특징이다. 과제가 주어지고 동료학습을 통해 문제를 해결해나가는 방식이다. 이 점이 가장 마음에 들었다. 한국에서는 매달 100만원의 지원금을 준다. 특이하게도 예비과정에서도 지원금을 지급한다.... » read more

Java; Inner Class
platanus |

내부 클래스 내부 클래스는 말 그대로 클래스 내부에 선언한 클래스다. 내부 클래스를 선언하는 이유는 외부 클래스와 밀접한 관련이 있기 때문이다. 다른 클래스와 협력할 일이 없을때도 내부 클래스로 선언해서 사용한다. 인스턴스 내부 클래스, 정적 내부 클래스, 지역 내부 클래스가 있다. 클래스 이름 없이 선언하고 바로 쓸수 있는 익명 클래스도 있다. 인스턴스 내부 클래스 인스턴스 변수를 선언할때와... » read more

OS; 운영체제 구조
platanus |

운영체제 구조 운영체제는 프로그래밍이 실행되는 환경을 제공해 준다. 운영체제를 살펴보는 몇가지 관점이 있다. 첫번째는 운영체제가 제공하는 서비스에 초점을 맞추는 것 두번째는 운영체제가 사용자 및 프로그래머에게 제공하는 인터페이스에 초점을 맞추는 것 세번째는 시스템의 구성요소와 그들의 상호연겨에 초점을 맞추는 것 운영체제 서비스 User Interface : 거의 모든 운영체제는 UI를 제공한다. CLI와 GUI가 있다. Program execution : 시스템은... » read more