일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 오일러 경로
- 객체 지향 설계
- BFS
- 추론 통계
- divide and conquer
- 다형성
- dag
- 표본 추출
- 이진탐색
- PostgreSQL
- 확률
- Probability Distribution Function
- Solid
- Random variable
- 확률분포
- 확률분포함수
- Algorithm
- 재설치
- 확률변수
- 너비 우선 탐색
- 베이지안
- 이분탐색
- spring boot
- 스프링
- 알고리즘
- 인터페이스
- dfs
- 기술 통계
- 분할정복
- 깊이 우선 탐색
- Today
- Total
목록전체 글 (40)
말하는 감자
* IS TABLE OF * BULK COLLECT INTO 이렇게 하면 VARCHAR2(11) 타입의 배열을 동적으로 사용할 수 있는 효과 -- 중첩 테이블 타입 선언 TYPE NEW_TYPE IS TABLE OF VARCHAR2(11); -- 변수 선언 ACCTS NEW_TYPE; BEGIN SELECT 컬럼 BULK COLLECT INTO ACCTS FROM 테이블 WHERE 조건 ; IF I_ACCT MEMBER OF ACCTS THEN DBMS_OUTPUT.PUT_LINE('해당'); END IF ; END; 참고 오라클 SQL과 PL/SQL을 다루는 기술: ③ 중첩 테이블 (thebook.io)
postgresql 설치 진행 후에 postgresql의 기본 계정인 postgres의 비밀번호를 '0000'으로 설정하고 SUPERUSER의 권한을 준다. $ sudo -u postgres psql postgres=# ALTER USER postgres WITH PASSWORD '0000'; postgres=# ALTER USER postgres SUPERUSER; /etc/postgresql/(버전)/main 로 이동 vi 명령어를 통해 pg_hba.conf 수정. postgres 계정의 접근 권한 설정 # Database administrative login by Unix domain socket local all postgres peer # TYPE DATABASE USER ADDRESS METH..
직접만든 MVC와 스프링 MVC 비교 - FrontController = DispatcherServlet - handlerMappingMap = HandlerMapping - MyHandlerAdapter = HandlerAdapter - ModelView = ModelAndView - viewResolver = ViewResolver - MyView = View 요청 흐름 1. 서블릿이 호출되면 HttpServlet 이 제공하는 serivce() 가 호출된다. 2. 스프링 MVC는 DispatcherServlet 의 부모인 FrameworkServlet 에서 service() 를 오버라이드 해두었다. FrameworkServlet.service() 를 시작으로 여러 메서드가 호출되면서 Dispacher..
MVC 초반 패턴의 개선사항들 - 모든 컨트롤러 뷰로 포워드 - 포워드할 때 쓰는 viewPath의 경로가 중복 (/WEB-INF/views/ ~ .jsp) - 사용하지 않는 servlet 객체 Front controller 도입 - 프론트 컨트롤러 서블릿 하나로 클라이언트의 요청을 받음 - 프론트 컨트롤러가 요청에 맞는 컨트롤러를 찾아서 호출 - 여기서부터는 뷰 jsp는 수정하지 않고 재사용한다. 개선 V1) 프론트 컨트롤러와 로직 컨트롤러 구분시키기 - 컨트롤러 인터페이스 생성으로 컨트롤러 호출에 일관성 부여. - 로직 컨트롤러들은 기존 HttpServlet 상속받던 패턴을 없애고 인터페이스만 구현하는 걸로 변경한다. public interface ControllerV1 { //Form, Save, ..
MVC 등장 배경 - 비즈니스 로직 → 서블릿 / 화면 렌더링 → JSP 분리의 필요성 - Controller 와 View 의 영역이 나뉘게 됨 - 컨트롤러: HTTP 요청을 받아 파라미터를 검증, 비즈니스 로직 실행. 뷰에 전달할 결과 데이터 조회해 모델에 담음. - 모델: 뷰에 출력할 데이터 담아둠. - 뷰: 모델에 담겨있는 데이터를 사용해 화면을 그리는 일에 집중(HTML을 생성). 뷰가 필요한 데이터 모두 모델에 있기에 비즈니스 로직이나 데이터 접근을 몰라도 되고, 화면을 렌더링 하는 일에 집중. 서블릿을 컨트롤러로 사용하고, JSP를 뷰로 사용해서 MVC 패턴을 적용 - 공통적으로 서블렛: 비즈니스 로직 실행 → (필요하다면) request를 모델로 데이터 보관 → 디스패쳐로 jsp 호출 - F..
- 도메인(회원객체, Member)와 리포지토리(db관리객체, MemberRepository) 먼저 구현했다는 가정 하에 진행한다. - 스프링의 기능들을 사용하지 않았을 때에는 싱글톤 관리를 다음과 같이 했다. public class MemberRepository { private static Map store = new HashMap(); private static long sequence = 0L; //싱글톤으로 관리 - 하나만 생성 //생성자 private으로 막아놓음 - 조회만 public private static final MemberRepository instance = new MemberRepository(); private MemberRepository(){ } public static ..
HttpServletResponse 기본 사용법 - 응답 메시지 생성: HTTP 응답코드 지정, 헤더 생성, 바디 생성 //[status-line] response.setStatus(HttpServletResponse.SC_OK); //200, 숫자로 적기보다는 응답코드의 의미를 알 수 있도록 //[response-headers] response.setHeader("Content-Type", "text/plain;charset=utf-8"); response.setHeader("Cache-Control", "no-cache, no-store, must-revalidate"); response.setHeader("Pragma", "no-cache"); response.setHeader("my-header"..
HttpServletRequest 스타트라인, 헤더 정보 조회하기 - start line 정보 알 수 있는 여러 기능들 System.out.println("--- REQUEST-LINE - start ---"); System.out.println("request.getMethod() = " + request.getMethod()); System.out.println("request.getProtocal() = " + request.getProtocol()); System.out.println("request.getScheme() = " + request.getScheme()); System.out.println("request.getRequestURL() = " + request.getRequestURL..
서블릿 - HTTP통신을 할 때, 비즈니스 로직 구현을 제외한 반복되는 절차(소켓 연결, 파싱, 응답 헤더 붙이기, 소켓 종료 등)를 자동화해준다. - 개발자는 HttpServletRequest HttpServletResponse 객체를 가지고 비즈니스 로직만 구현하면 된다. - 스프링이어야할 필요는 없지만 톰캣이라는 서버가 내장되어있어서 편리함때문에 사용 - 컨테이너에 서블릿 자동등록 어노테이션: @ServletComponentScan @ServletComponentScan //서블릿 자동등록 @SpringBootApplication public class ServletApplication { public static void main(String[] args) { SpringApplication.ru..

그동안 메모리에 데이터를 저장했었기 때문에 서버를 닫으면 데이터도 함께 날아갔었다. 실무에서는 데이터베이스를 따로 두기 때문에, 다양한 데이터베이스를 가지고 실습을 한다. 1. H2 데이터베이스 엔진 H2는 용량이 적은 데이터베이스로 교육용으로 적합하다. https://www.h2database.com/html/main.html H2 Database Engine H2 Database Engine Welcome to H2, the Java SQL database. The main features of H2 are: Very fast, open source, JDBC API Embedded and server modes; in-memory databases Browser based Console applic..