pom.xml org.mybatis mybatis 3.5.0 org.mybatis mybatis-spring 2.0.0 code import java.util.Properties; import javax.sql.DataSource; import org.apache.ibatis.session.SqlSessionFactory; import org.mybatis.spring.SqlSessionFactoryBean; import org.mybatis.spring.SqlSessionTemplate; import org.mybatis.spring.annotation.MapperScan; import org.springframework.context.annotation.Bean; import org.springfra..
Spring Security의 기본 동작은 표준 웹 애플리케이션을 사용하기에 쉽다. 쿠기 기반 인증 및 세션을 사용한다. 또한 CSRF 토큰을 자동으로 처리한다. 반면에 외부 서비스 또는 SPA/모바일 응용 프로그램과 함께 사용되는 REST API만 빌드하는 경우에는 전체 세션이 필요하지 않을 수 있다. 여기에 디지털 서명 토큰인 JWT(JSON Web Token)가 있다. 필요한 모든 정보를 토큰에 저장할 수 있으므로 서버가 세션이 없을 수 있다. 서버가 사용자에게 권한을 부여할 수 있도록 모든 HTTP 요청에 JWT를 첨부해야 한다. 토큰을 보내는 방법에 대한 몇 가지 옵션이 있다. 예를 들어 URL 매개 변수로 또는 Bearer 스키마를 사용하는 HTTP 인증 헤더를 사용한다. Authorizati..
많은 웹 개발자가 jQuery에 의존한다. 배울 때부터도 자바스크립트를 배우지 않고 jQuery로 시작하는 경우가 꽤 많기도 하다. 라이브러리가 주는 편리함과 jQuery만 알아도 결과물은 만들어 낼 수 있기 때문이다. 또한 많은 좋은 플러그인들이 jQuery에 의존적이다. 하지만 어느 정도 시간이 지나 한계를 깨닫고 DOM 스크립트에 대해 관심을 갖게 된다. 처음 웹 개발 공부를 하면 보통 아래와 같은 순서로 한다. 1. 문법 2. 브라우저 API (DOM API) 3. 라이브러리, 프레임워크 위의 순서로 프런트엔드 개발을 하면서, 배울 건 많고 당장 화면을 쳐내야 한다면 jQuery만큼 좋은 건 사실 없다. 1, 2번(DOM 스크립트)을 몰라도 결과물이 나오기 때문이다. 많은 웹 개발자가 이런 함정에..
public static void main(String[] args) { List studentList = new ArrayList(); studentList.add(new Student("Pea", 20)); studentList.add(new Student("Ni", 35)); studentList.add(new Student("Pang", 30)); studentList.add(new Student("Tum", 25)); studentList.add(new Student("Sombut", 22)); Student student = Collections.max(studentList, Comparator.comparing(s -> s.getAge())); System.out.println("The ol..
// 공통 Ajax call // auth: Authorization // type: Method(GET, POST, PUT, DELETE) // data: 객체 리터럴 형식 data={page: 1, recordsPerPage: 10} // dataType: 데이터 타입 // async: 비동기 여부 (Deafult true 비동기) // successFn: 성공시 // failFn: 실패시 // completeFn: 성공이후 function ajaxCall(auth, type, url, data, dataType, async, successFn, failFn, completeFn) { type = type.toUpperCase(); const options = { type: type, url: url..
#slider { pointer-events: none; } #slider::-moz-range-thumb { pointer-events: auto !important; } #slider::-webkit-slider-thumb { pointer-events: auto !important; } #slider::-ms-thumb { pointer-events: auto !important; } #slider::-ms-track { pointer-events: none !important; }
let previousLineNum = 0; $(document).on('blur keyup paste input click', '[contenteditable]', function(e) { const selection = window.getSelection(); if (null != selection.anchorNode) { const range = selection.getRangeAt(0); const lineNum = range.startOffset; if (13 === e.keyCode && previousLineNum < lineNum) { const scrollHeight = $(this).get(0).scrollHeight; $(this).scrollTop(scrollHeight); prev..

Lombok은 단축 어노테이션을 제공하는 라이브러리이다. 대규모 프로젝트가 늘어나면서 getter, setter 메소드를 정의 함에 있어 관리하기가 힘들어져 유지보수가 힘들어진다. 이 같은 문제를 해결한 라이브러리가 Lombok이다. Lombok 설치 https://projectlombok.org/ Project Lombok projectlombok.org 작성일 기준일 버전은 1.18.12 버전이 있다. 다운로드가 완료되면 CMD창을 열어 아래와 같은 명령어를 실행한다. "java -jar lombok.jar" installer가 실행되면 IDEs 화면에 자동적으로 STS와 이클립스의 경로가 설정되는 경우도 있다. 수동으로 설정하는 방법은 Specify location을 클릭한다. 설치가 완료되면 이클..
Git을 잘 사용하다가 갑자기 SSL certificate problem: self signed certificate 에러를 만나는 경우가 있다. SSL 보안인증서가 없어서 인데, 인증서 절차 무시 명령어로 해결이 가능하다. git config --global http.sslVerify false ## 또는 다음과 같이 환경 변수로 설정 가능 export GIT_SSL_NO_VERIFY=0
- Maven
- Java
- Linux 명령어
- 자바스크립트
- 정렬 알고리즘
- SQL
- 리액트 16
- effective java
- Collection
- 제주도 여행
- 리액트
- 제주도 3박4일 일정
- 리눅스 명령어
- sort algorithm
- 개발환경
- 경력관리
- React
- 오라클
- Eclipse
- 회고
- 오라클 내장 함수
- 성능분석
- 이직
- 소프트웨어공학
- Tomcat
- 프로그래머
- 프로그래머스
- spring
- javascript
- 자바
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |