전체 글

전체 글

    1장 : HTTP 개관

    1장 HTTP 개관 미디어 타입- HTTP는 웹에서 전송되는 객체 각각에 MIME 타입이라는 데이터 포맷 라벨을 붙인다. - MIME 타입은 '/' 으로 구분된 주 타입과 부 타입으로 이루어진 문자열 라벨이다. MIME 타입의 목록은 Mozilla MDN 에서 확인 가능하다. URI(Uniform Resource Identifier)- URI는 정보 리소스를 고유하게 식별하고 위치를 지정하며, URL과 URN으로 나뉜다.- URL(Uniform Resource Locator, 통합 자원 지시자)* 특정 서버의 한 리소스에 따라 구체적인 위치를 서술한다. 그렇기 때문에 리소스가 정확히 어디에 있고 어떻게 접근할 수 있는지 알려준다.* 대부분의 URL은 세 부분으로 이루어진 표준 포맷을 따른다.https:/..

    스프링 시큐리티 ③ : 사용자 저장소

    스프링 시큐리티 ③ : 사용자 저장소

    스프링 시큐리티 ③ : 사용자 저장소사용자 저장소에는 요청별로 요구하는 권한과 사용자 정보가 저장되어있어야한다. 두 가지 방법으로 이 사용자 저장소를 지정하고, 저장소에 있는 사용자를 권한처리 할 수 있다. 1. 인 메모리서버의 메모리 내부에 사용자 저장소를 만드는 방식이다. 계정의 종류가 매우 적고, 계정의 아이디, 패스워드, 권한목록이 변경되지 않을때 사용하기 좋다. configure() 메서드를 아래와 같이 오버라이드해 사용한다. 12345678910111213@Configuration@EnableWebMvcSecuritypublic class SecurityConfig extends WebSecurityConfigurerAdapter{ @Override protected void configure..

    스프링 시큐리티 ② : 상세 설정하기

    스프링 시큐리티 ② : 상세 설정하기

    스프링 시큐리티 ② : 상세 설정하기WebSecurityConfigurerAdapter 의 세가지 configure() 메서드를 오버라이드하는 것으로 미세한 설정이 가능하다. 메서드 설명 configure(WebSecurity) 스프링 시큐리티의 필터 연결을 설정하기 위한 오버라이딩 configure(HttpSecurity) 인터셉터로 요청을 안전하게 보호하는 방법을 설장하기 위한 오버라이딩 configure(AuthenticationManagerBuilder) 사용자 세부 서비스를 설정하기 위한 오버라이딩 123456789protected void configure (HttpSecurity http) throws Exception{ http .authorizeRequests() .anyRequest()..

    JSTL은 인터넷 연결이 없으면 사용할 수 없을까?

    JSTL은 인터넷 연결이 없으면 사용할 수 없을까? jsp에서 JSTL을 이용해 개발을 하는 도중에 의문이 생겼다. 만약, 인터넷 연결 없이 내부 인트라넷으로 이 페이지를 호출한다면 JSTL이 정상적으로 동작할까? JSTL의 taglib을 include할 때 uri 속성이 마음에 걸렸다. 왠지 uri 속성 때문에 인터넷 연결이 끊기면 동작하지 않을 것 같아 한 번 알아보았다. 아래는 태그별 선언 방법이다.12345cs 어떤가? 나와 같은 의문이 들지 않는가?그런데, 사실 uri는 실제로 저 경로를 통해 뭔가를 취득하고 하는게 아니다. 인터넷 연결이 없어도 동작한다. 아래는 오라클에서 제공하는 JSTL 중 core 태그에 관련된 문서이다. https://docs.oracle.com/javaee/5/jstl..

    이미지를 BLOB 형태로 DB에 저장하기

    이미지를 BLOB 형태로 DB에 저장하기

    이미지를 BLOB 형태로 DB에 저장하기 요즘은 잘 사용하지 않는 방식이지만, DB 컬럼에 이미지나 파일을 저장하는 경우가 있다. 아무래도 자주 사용되는 방식도 아니고, MyBatis를 이용해 데이터를 삽입하는 방법은 나도 잘 몰랐기 때문에 포스팅해본다. 주요 로직은 아래와 같다.1. 서비스단에서 주어진 파일 경로를 바탕으로 파일 객체를 만든다.2. 파일 객체로 이미지를 byte 배열 형태로 변환한다.3. MyBatis를 통해 데이터를 삽입, 수정한다. 위 로직을 보았을 때 한 가지 의문점이 생길 수도 있다. DB 컬럽 타입은 BLOB인데 왜 byte 배열로 변환하는것일까? 이유는 MyBatis의 typeHandlers에 있다. 아래 사진을 보면 알 수 있듯이, Java의 byte[]을 JDBC의 BLO..

    eval() 과 new Function()

    eval() 과 new Function()

    eval() 과 new Function()eval()eval 함수는 String 형태의 소스 코드를 매개변수로, 해당 스크립트를 동적으로 실행시킬 수 있다. String 매개변수는 Javascript 파서에 의해 분석되고 실행된다. 하지만, 특별한 경우가 아닌 이상 eval 함수를 사용하지 않고도 동일한 로직을 구현할 수 있기도 하고 보안상의 이유로 사용하지 않는 것을 권장한다. 예시12var property = "안녕!";eval("alert(property)");cs 이렇게만 보면 굳이 eval 함수를 쓰는 이유를 이해할 수 없을 것이다. 그렇다면 아래 예시를 한 번 보자! 예시1234567891011121314151617181920212223242526272829303132function notif..

반응형