목록Development (561)
컴공생의 다이어리
[MySQL] 조건문 - CASE WHEN MySQL에서 다중 조건문을 사용하고 싶을 때 CASE 함수를 사용해서 처리할 수 있다. CASE문은 WHEN의 조건을 순차적으로 체크하고 조건을 만족한다면 그에 해당하는 THEN 뒤에 있는 값을 반환한다. 모든 조건을 충족하지 않는다면 마지막 ELSE에 해당하는 값을 반환한다. 아래는 CASE함수의 기본 형식이다. CASE WHEN 조건1 THEN 반환값1 WHEN 조건2 THEN 반환값2 ... ELSE 반환값 END CASE함수 예시 아래 쿼리문에서 만일 SCORE가 85라면 해당하는 행의 RESULT 컬럼 값은 B이다. SELECT STUDENT_CODE, CASE WHEN SCORE >= 90 THEN 'A' WHEN SCORE >= 80 THEN 'B..
Git PR(Pull Request) local로 가져오기 Github에 PR을 날리고 해당 브랜치와 바로 Merge하지 않고 테스트를 한 후 Merge하는 것이 더 안전할 것이다. 이때 PR을 local로 가져오려면 아래 명령어를 사용하면 된다. git pull origin pull/{PR 번호}/head:{branch 이름} # ex git pull origin pull/2/head:main 나는 PR을 받은 브랜치를 로컬로 가져오고 나서 위의 명령어를 통해 PR을 가져온 브랜치에 합치면서 테스트를 진행한 후 확인하고 있다. 아래 과정처럼 사용하고 있다. # 1. 원격 저장소의 main 브랜치를 test라는 이름의 브랜치로 로컬로 가져옴 git checkout -b test origin/main # ..
spring security 적용 후 Refused to display in a frame because it set 'X-Frame-Options' to 'DENY' 발생 spring 프로젝트에 naver smarteditor2를 적용하려고 하니 Refused to display "http://localhost:8080/~" in a frame because it set 'X-Frame-Options' to 'DENY'라는 오류가 발생해 제대로 적용되지 않았다. 이유를 찾아보니 spring security를 적용하면 기본적으로 X-Frame-Options Click jacking 공격 막기 설정이 되어있기 때문이었다. X-Frame-Options 종류로는 아래 3가지가 있는데 이번 오류는 SAMEORI..
Spring JDBC queryForObject의 결과가 없을 때(null) 혹은 2개 이상일 때 스프링 프로젝트에서 JDBC Template의 queryForObject 함수는 오직 하나의 행을 반환한다. 만약 쿼리문의 실행 결과로 행이 없거나 두 개 이상의 행이 있으면 IncorrectResultSizeDataAccessException이 발생한다. 이때, 만일 queryForObject 실행 결과로 행이 없거나 두 개 이상의 행이 있을 때에 대해 예외처리를 해주고 싶다면 아래와 같이 try catch 문을 사용해주면 된다. try { JdbcTemplate jdbcTemplate; String sql = "select user_id from User where name = ?"; return jdb..
[MySQL] 절대값 함수 MySQL에서 절대값을 얻기 위해서는 ABS 함수를 사용하면 된다. ABS(숫자) ABS 예시 두 쿼리문의 결과는 모두 1이다. SELECT ABS(-1); SELECT ABS(1); https://solbel.tistory.com/1099 [sql/mysql] abs 절대값 함수 사용법과 예제 [sql/mysql] abs 절대값 함수 사용법과 예제 기본 사용법은 아래와 같습니다. ABS(절대값을 얻어낼 수) 아래는 예제입니다. select abs(100); // 결과는 100; select abs(-100); // 결과는 100; 위 사용법과 예제.. solbel.tistory.com
[MySQL] TIMESTAMP 시간 차이 계산 MySQL에서 TIMESTAMP 자료형의 시간 차이를 계산할 때 TIMESTAMPDIFF 함수를 사용하면 된다. 제일 맨 처음 인자로 단위를 넣고 그 다음 인자들로 TIMESTAMP 타입의 날짜(시간) 2개를 넣어주면 된다. TIMESTAMPDIFF(단위, {날짜1}, {날짜2}); 단위 SECOND : 초 MINUTE : 분 HOUR : 시 DAY : 일 WEEK : 주 MONTH : 월 QUARTER : 분기 YEAR : 연 TIMESTAMPDIFF 예시 아래 쿼리문을 실행한다면 결과는 1이 나온다. SELECT TIMESTAMPDIFF(MONTH, '2022-01-20 10:00:00','2022-02-25 12:00:00') AS RESULT; 보통..
GitHub 프로필 Organizations 탭?에 나의 organization 보이게 하기 나의 깃허브 프로필 organizations 탭을 보면 내가 속해있는 organization가 뜬다. 하지만 다른 사람이 내 프로필을 보면 organization이 안보이는 경우가 있다. 다른 사람도 내가 속한 organization을 보이게 하려면 우선 그 organization에 들어간다. 그리고 나서 People 탭을 클릭한다. 그리고 아래와 같이 나왔을 때 내 계정에 대해서 Private이라고 되어 있는 부분을 클릭하고 Public으로 변경하면 된다.
JSTL date format(날짜 형식) jsp 파일에서 날짜 형식을 변경하기 위해서 아래 라이브러리를 jsp 파일 상단에 추가한다. 날짜 포맷을 변경하려면 변수의 타입은 Date형이어야 한다. 만일 다른 형이라면 함수를 사용해서 Date형으로 변경하면 된다. fmt:formatDate가 Date형을 원하는 패턴으로 변경할 수 있다. value 값에는 변수를 넣어주고 pattern에는 출력하고 싶은 형식을 넣어주면 된다. pattern에 넣을 형식과 관련해 아래 표를 참고하면 좋을 것 같다. Letter 설명 y 연 M 월 d 일 E 요일명 u 요일 (1 = 월요일, 2=화요일, ..., 7 = 일요일) a 오전인지 오후인지 ("AM" or "PM" / 한글환경이면 "오전" or "오후") H 24시간..
Git 특정 파일만 되돌리기 프로젝트를 진행하다가 작업 내용이 꼬이거나 하면 최근 커밋으로 초기화시킬때 보통 git reset --hard HEAD 명령어를 사용한다. 하지만 모든 작업 내용을 초기화하지 않고 특정 파일만 초기화하고 싶다면 git checkout 명령어를 사용하면 된다. git checkout 뒤에 변경하고자 하는 파일의 시점에 대한 커밋아이디를 넣고 그 파일의 경로를 넣어서 명령어를 사용하면 된다. git checkout https://hoyoung1.github.io/posts/git/2020-01-27-git-reset-HEAD-file git 특정파일만 되돌리기, 특정파일만 add 취소하기 특정파일의 작업 취소 그리고 특정파일의 add 취소에 대해 알아보자 HoYoung1.gith..
javascript location.href와 location.replace location.href location.replace 기능 새로운 페이지로 이동 기존페이지를 새로운 페이지로 변경 형태 속성 메서드 주소 히스토리 기록됨 기록 X 예시 location.href='/' location.replace('/') 자바스크립트에서 페이지를 이동시킬 때 보통 location.href를 사용한다. 이때, 페이지가 변경될 때 기존에 있던 페이지로 뒤로가기를 막고 싶다면 location.replace를 사용하면 된다. location.replace는 현재 페이지를 새로운 페이지로 덮어 씌우는 것이기 때문에 뒤로가기 버튼을 눌러도 소용이 없다. https://blog.naver.com/yiuse78/501002..