목록전체 글 (50)
개발자의 서재
- datasource, JPA 설정 - entity 생성, - h2 console 결과확인 1. application.properties > yaml 파일로수정 > 내용입력 spring: h2: console: enabled: true datasources: url: jdbc:h2:mem:testdb driver-class-name: org.h2.Driver username: sa password: jpa: database-platform: org.hibernate.dialect.H2Dialect hibernate: ddl-auto: create-drop properties: hibernate: #콘솔창에서 sql 보기위한 설정 format_sql: true show_sql: true logging: ..
서버와 클라이언트가 같은 세션 ID 를 공유하는 방식의 기존의 세션 로그인 방식은 서버가 각 클라이언트들의 세션ID를 서버의 별도 공간에 저장해야 한다는 점 때문에 여러가지 제한 사항들이 있다. (서버의 저장공간 필요, 서버가 여러 대 일 경우 세션 클러스터링 필요. 각 서비스별로 별도 로그인 필요등) JWT 로그인 방식은 서버에서 클라이언트에게 토큰을 발급 한 후 별도로 저장 해 놓을 필요가 없기 때문에 세션 로그인 방식에 비해 여러가지 장점을 가지고 있다. (물론 단점도 있다.) 이번 실습으로 JWT 토큰 인증 방식을 REST API 적용하는 방법을 익히고자 한다. 목적 : SpringSecurity + JWT 토큰인증 구축해보기 JWT 토큰인증방식을 REST API 에 적용해보기 JPA 활용 공부 ..
create table POSTS ( id bigint not null auto_increment -- 자동증가옵션 , create_date datetime , modified_date datetime , author TEXT not null -- null 비허용 , content TEXT not null , title varchar(500) not null , primary key (id) -- pk설정 ); create table BUILDING ( CODE VARCHAR(5) ,NAME VARCHAR(100) ,primary key (CODE) ); create table TIMETABLE ( CODE VARCHAR(5) ,day VARCHAR(3) ,STARTTIME DATETIME ,ENDTIM..
클래스명에 @Slf4j 를 선언해주면 해당 클래스 메소드에서 log.info("~~~"); 로 로그출력이 가능하다. import lombok.extern.slf4j.Slf4j; @Slf4j @Controller public class HomeController { @GetMapping public String home(Model model, Locale locale){ log.info("Welcome home! The client locale is "+locale+"."); LocalDateTime now = LocalDateTime.now(); DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy년M월d일(E) a h시m분s초"); Strin..
@SpringBootApplication 붙인 클래스를 실행 시 발생하는 에러 이유는 아주 단순.. java 파일에 package 가 누락되어 있을 시 발생하는 에러이다.
자식창에서 부모창의 스크립트 변수에 데이터를 입력 시 유의사항 예시) //부모창 var array = new array(); //자식창 opener.array.push({name:홍길동, age:20}); 위와 같은 방식으로 자식창에서 opener.array에 직접 데이터를 push 할 경우 데이터 전송 제대로 되지않음. 아래와 같이 부모창에 function 을 정의하여 사용해야 정상 전송이 된다. //부모창 var array = new array(); function sendData(name, age){ array.push({name:name, age:age}); } //자식창 opener.sendData('홍길동','20'); ** 자식창에서 부모창의 array 객체에 직접 데이터를 넣고 삭제하는등의..
//페이지로드시 function 실행 $(document).ready(function() { getCookieSecretCouponPopup(); }); //쿠키값이 있는지 확인하여 팝업창 show, hide 처리. function getCookieSecretCouponPopup () { var cookiedata = document.cookie; if ( cookiedata.indexOf("popup_secret_coupon=done") < 0 ){ $('.float-banner').show(); } else { $('.float-banner').hide(); } } //쿠키데이터 설정 function function setCookie( name, value, expiredays ) { var toda..
* 실제 input type="file" 항목은 숨김처리하고 별도로 input type="text" 와 찾아보기, 삭제 버튼을 추가하여 사용. 찾아보기... 삭제 * 팝업 이미지는 jpg, png, gif 파일만 등록이 가능합니다. //첨부파일 등록 function popupImgFileReg(){ $('#popupImgFile').click(); } //첨부파일 삭제 function popupImgFileRm(){ $('#popupImgFile, #popupImgFile_text').val(''); } //파일등록시 확장자 검사 function popupImgFileChange(obj){ var fileNm = obj.value; var maxSize = 10485760; //10mb var fileS..
* 테이블생성 CREATE TABLE 테이블명 ( 컬럼명NUMBERNot Null, 컬럼명VARCHAR2(20)Not Null, 컬럼명VARCHAR2(20), 컬럼명DATENot Null ) * PRIMARY KEY CREATE ALTER TABLE [TABLE 명] ADD PRIMARY KEY (COL1, COL2, COL3 ...) * PRIMARY KEY DROP ALTER TABLE [TABLE 명] DROP PRIMARY KEY * DB 컬럼추가 ALTER TABLE [테이블명] ADD(컬럼명 데이터타입(사이즈)); * 컬럼 type 수정 ALTER TABLE [테이블명] MODIFY(컬럼명 데이터타입(사이즈)); * 컬럼 삭제 ALTER TABLE [테이블명] DROP COLUMN 컬럼명; *..
기본적으로 git pull을 받을 때, 다른 작업자에 의해 수정되어진 파일과 내가 로컬에서 수정한 파일과 겹칠 경우 해당 파일 conflict 가 발생한다. 1. 개별파일 conflict 시 해결 방법 1. conflict 난 파일 백업. 2. 해당 파일 우클릭 > replace with > head revison 실행 3. pull 받음 4. pull 받은 파일에 수정 내역 재입력. (백업파일 보고) 5. 해당 파일 push 진행 2, pull 받을 내역이 많이 밀렸을 경우 Checkout conflict with files: .classpath 같은 에러메세지가 나오면 pull 이 안될때가 있다.. 이럴때는 git 의 stash 기능을 활용한다. (먼저 작업내역 push 할것은 push 완료 부터 하..