쿠키 Cookie 브라우저에 저장되는 내용들이다. 즉, 내 컴퓨터에 저장된다. 임의로 고치거나 지울 수 있고 남이 볼 수도 있기 때문에 중요한 정보를 저장하지 않는다. 예) 자동완성, 공지 하루 안보이기, 로그인 안 한 상태로 장바구니 담기 세션 Session 세션을 사용하는 사이트에 접속하면 서버에서 사용자를 구분하는 기한이 짧은 임시 키를 브라우저로 보내서 쿠키로 저장한다. 브라우저가 이 사이트의 페이지들에 접속할 때마다 http 요청에 임시 키를 실어서 전송하고 서버는 그 키를 보고 사용자를 인식한다. 사용자의 중요한 정보들은 이 서버의 메모리나 데이터베이스에 저장된다. 즉, 사용자나 다른 누군가에게 노출되어서는 안 되는 정보들은 세션으로 서버에서 관리한다. 예) 자동 로그인 캐시 Cache 가져오..
파일 구조 ㄴconfig ㄴApplicationConfig.java ㄴDBConfig.java ㄴdao ㄴRoleDao.java ㄴdto ㄴRole.java ㄴmain ㄴTest.java pom.xml 설정 및 DAO 작성 UTF-8 1.8 1.8 5.1.5.RELEASE org.springframework spring-context ${spring.version} org.springframework spring-jdbc ${spring.version} org.springframework spring-tx ${spring.version} org.apache.commons commons-dbcp2 2.1.1 org.mariadb.jdbc mariadb-java-client 2.7.0 Role.java pu..
Spring JDBC 개발자가 할 일 connection 파라미터 정의 SQL문 지정 파라미터 선언과 파라미터 값 제공 각 이터레이션에 대한 작업 수행 Spring이 해주는 일 connection 오픈 statement 준비와 실행 (존재한다면)결과를 반복하는 루프 설정 모든 예외 처리 트랜잭션 제어 connection, statement, resultset 닫기 JDBC와 Spring JDBC 소스 비교 // JDBC public Role getRole(Integer roleId) { Role role = null; Connection conn = null; PreparedStatement ps = null; ResultSet rs = null; try { Class.forName("org.mariad..
const, let은 자바스크립트 ES6(ECMA 2015)부터 생긴 구문이다. 익스플로러 호환성 문제 때문에 아직도 대다수 웹에서는 var 변수만 사용된다. const 선언할 때 바로 값을 넣어줘야 한다. 한번 넣은 값은 바꿀 수 없는 상수이다. const mouse_1 = '서울쥐'; mouse_1 = '귀촌쥐';//Error let 선언과 값 정의를 따로 할 수 있다. 넣은 값은 이후 얼마든 바꿀 수 있다. 대신 선언을 다시 할 수 없다. let mouse_2; mouse_2 = '시골쥐'; mouse_2 = '상경쥐'; let mouse_2 = '서울쥐';//Error var 값을 자유롭게 변경할 수 있다. 다시 선언할 수 있다. var mouse_3 = '청계천쥐'; mouse_3 = '잠적쥐'..
Inversion of Control / Dependency Injection Dependency Injection은 Inversion of Control 원칙을 구현하기 위한 방법. (IoC=DI) 컨테이너가 코드 대신 오브젝트의 제어권을 갖고 있어 IoC(제어의 역전)이라 한다. 개발자가 만든 어떤 클래스나 메소드를 다른 프로그램이 대신 실행해주는 개념. 누군가가 Bean을 넣어주면 사용자는 활용만 할 뿐 그것이 무엇인지 모른다. POJO와 설정(Configuration Metadata)을 등록하고 IoC/DI Container에 주입시키면 Bean을 생성(인스턴스화)한다. 이 과정을 Dependency Injection 혹은 Inversion of Control이라 할 수 있다. Spring에서 제..
방법1 - applicationContext.xml에서 등록하는 방법 maven 프로젝트 구조에서 src/main/resources/applicationContext.xml 파일을 생성하여 bean을 등록 및 관리할 수 있다. ㄴsrc ㄴmain ㄴjava : 자바 패키지 폴더와 소스 코드가 위치함. ㄴresources : *.properties, *.xml 등 설정파일들이 위치함. ㄴwebapp : WEB-INF와 웹 관련 리소스(html, jsp)들이 위치함. ㄴtest ㄴjava : 테스트와 관련된 자바 패키지와 소스코드가 위치함. ㄴresources : 테스트와 관련된 설정파일이 위치함. ㄴtarget : 컴파일, 패키징된 결과물이 위치함. ㄴpom.xml : Maven 설정 파일 public c..
프레임워크 vs 라이브러리 공통점 : 남이 짜놓은 코드를 가져다 쓴다. 차이점 : 라이브러리가 각각 개별적인 기능들이라면 프레임워크는 각 라이브러리들이 모여서 기본 제품 골격을 갖춘 상태에 덧붙여서 만드는 것을 프레임워크라 한다. 차이점2 : 프레임워크로 일을 할 때는 프레임워크의 규칙을 따라야 한다. 언어별 프레임워크 Java : Spring PHP : Laravel, CodeIgniter, Symfony Python : Django Ruby : Ruby on Rails Scala : Play C# : .NET Core 참조 https://www.youtube.com/watch?v=AERY1ZGoYc8&t=8s https://www.youtube.com/watch?v=t9ccIykXTCM&list=TL..
버블링이란? 클릭한 지점이 하위 엘리먼트라고 하여도, 그것을 감싸고 있는 상위 엘리먼트까지 올라가면서 이벤트 리스너가 있는지 찾는 과정 설명 html div1 div2 div3 css #div1 { width: 150px; height: 150px; border: 1px solid blue; } #div2 { width: 100px; height: 100px; border: 1px solid blue; position: absolute; top: 30px; left: 30px; } #div3 { width: 50px; height: 50px; border: 1px solid blue; position: absolute; top: 25px; left: 25px; } javascript let div = d..