제네릭이란? - 인스턴스화 시에 다룰 데이터 타입을 확정 - 다양한 타입의 객체들을 다루는 메서드나 클래스에 컴파일 시의 타입 체크를 해주는 기능 - 다룰 객체의 타입을 미리 명시하여 객체의 형 변환 불필요 - List test = new ArrayList(); // 위와 같은 지정된 참조타입으로만 데이터 저장과 호출 가능 제네릭 장점 - 타입의 안정성 - 형 변환 작업 불필요 - 코드 간결 – 형 변환 불필요로 인한 형 변환 코드 없음 제네릭 와일드카드 - 자바 클래스의 메서드의 매개변수 타입을 받을때 사용 - 슈퍼클래스가 참조타입으로 올 수 있는 형태로 제네릭도 사용가능 - 클래스, 인페이스도 활용 가능 public void test(List
싱글톤 패턴? - 생성자가 여러 차례 호출되더라도 실제로 생성되는 객체는 하나이고 최초 생성 이후에 호출된 생성자는 최초의 생성자가 생성한 객체를 리턴한다. - 공통된 객체를 여러 개 생성해서 사용하는 DBCP(DataBase Connection Pool)와 같은 상황에서 많이 사용된다. 싱글톤 특징 - 하나의 인스턴스를 생성해서 사용 - 메모리 낭비 방지 - 공통된 객체를 여러개 생성해서 사용해야하는 상황에서 많이 사용 - 꼭 필요한 경우아니면 지양 싱글톤 단점 - 전역 인스턴스이기 때문에 데이터 공유 우려 (static 변수에 인스턴스 생성) - 멀티쓰레드 환경에서 동기화 처리를 안하면 인스턴스가 두개가 생성된다든지 하는 경우가 발생할 수 있음 싱글톤 코드 public class Singleton {..

JSTL - JSTL의 정식 명칭은 자바서버 페이지 표준 태그 라이브러리(JavaServer Pages Standard Tag Library) - 조건, 반복 등을 테그 작성 방식으로 처리 할 수 있는 기법 - JSP 상단에 아래의 코드를 삽입해야 JSTL를 사용 할 수 있다. - JSTL을 사용하기 위해서는 라이브러리가 필요하다. 해당라이브러리는 메이븐저장소 혹은 톰켓 사이트에서 다운로드 받을 수 있다. 태그 종류 - 변수명에 값을 할당 - 값을 출력 - 조건식 - switch와 비슷 - switch문의 case에 해당 - switch문의 default에 해당 - 다른언어의 loop문 items 속성에 배열을 할당할 수 있음 (반복문) - url를 생성, get방식의 형태로 파라미터 설정 가능 requ..
■ RESTful 이란? - 웹의 장점을 최대한 활용할 수 있는 아키텍처 ■ REST API란 API(Application Programming Interface)란 데이터와 기능의 집합을 제공하여 컴퓨터 프로그램간 상호작용을 촉진하며, 서로 정보를 교환가능 하도록 하는 것 REST API의 정의 REST 기반으로 서비스 API를 구현한 것 ■ REST 구성 요소 1. 자원(Resource): URI 모든 자원에 고유한 ID가 존재하고, 이 자원은 Server에 존재한다. 자원을 구별하는 ID는 ‘/groups/:group_id’와 같은 HTTP URI 다. Client는 URI를 이용해서 자원을 지정하고 해당 자원의 상태(정보)에 대한 조작을 Server에 요청한다. 2. 행위(Verb): HTTP M..
인터셉터 : 스프링 MVC 프레임 워크의 DispatcherServlet 와 Controller 사이에 위치 DispatcherServlet에 요청이 컨트롤러에 도달하기 전과 뷰가 렌더링되기 전 후에 요청을 가로챔 인터셉터 구현 메서드 1) 패키지 2개, 클래스 2개 만들기 - 핸들러 인터셉터를 상속받게 한후 ctrl+space 를 누르면 3개 메서드를 만들 수 있다. 2) 로그정보를 확인하기. 포트번호, 서버네임, http mehotd 등 3) 4) webConfig 는 webMVConfigurer 를 상속받게 한다. 5) 6) 7) 서버를 킨 후에 uri에 접속하면 콘솔창에 찍힌다! 8) 9) 10) 11) sendRedirect 항목은 추가를 해줘야 계속 리다이렉트 되지 않는다!! 12)
깃 : 변경사항을 추적. 분산버전관리 시스템. 동시에 작업은 불가능하다. 연동이 되어있다면 -> 리포지토리와 워크스페이스가 한 묶음이라도 보면 된다. 내 워크스페이서도 저장이 되고 깃에서도 저장이된다. 1. 깃폴더에 저장된 파일을 올린다, -> 2. 커밋 -> 3. push - 다른 pc 에서 작업하게 된다면 clone을 이용. - 작업중에 다른사람이 했을 때 업데이트를 받고싶다면 : pull - fetch : 자주사용안한다. 로컬 리포지토리 : 내 파일 pull 을 먼저 받고 push를 해줘야한다 !! 1) 깃허브 접속화면 2) 1일 1커밋하기! - 사이드 프로젝트를 계속 공부하자. 3) readme : 소개파일만 선택! 4) 5) github readme markdown example 6) 플러그인해..
https://velog.io/@gparkkii/ProgramProcessThread

오류 시스템 레벨에서 발생하는 에러 개발자가 미리 예측 할 수 없는 오류이므로 어플리케이션 개발시 이에 대한 오류처리는 제외 - 하드웨어 오작동, 또는 고장으로 인한 응용프로그램 이상발생 - 시스템 레벨에서 에러 처리 예외 개발자가 구현한 로직에서 발생 예외는 개발자가 미리 예측이 가능함으로 어플리케이션에서 미리 처리 - 사용자의 잘못된 데이터 입력 - 잘못된 연산 - 개발자가 로직을 잘못 작성 - 시스템 과부하 Throwable, Exception, Error CHECKED : ex) try, catch UNCHECKED : 실행당시의 에러 - NullPointerException : 객체화가 되어있지 않음 - OutOfMemoryError : 메모리 부족. Checked Exception - 예외 처..