분류 전체보기(185)
-
모든 개발자를 위한 HTTP 웹 기본 지식 - HTTP 헤더 3
보호되어 있는 글입니다.
2024.01.22 -
H2 DB 사용 방법
H2 DB를 실습용으로 사용하다보면 새로운 파일 생성 방법이 기억이 안날 수 있어서 기록 해놓는다. window 기준 본인이 H2 DB 압축해제한 파일로 powershell로 이동해서 bin 파일로 이동 후, ./h2.bat 명령어로 배치파일을 실행해준다. 그러면 Edge에서 H2 콘솔이 나타나개 된다. 이 때 JDBC URL 부분에 새로 시작할 경우엔 사용하고 싶은 경로를 기준으로 URL을 입력해준다. 그러면 .mv 파일과 함께 만들어진다. 아래의 명령어를 사용하면 datajap.mv 파일이 생성된다. 이후 DB 커넥션과 관련해서 다른 곳에서도 접근하기 쉽게 하고 커넥션을 Spring과 연결하기 위해서는 다음과 같이 URL을 변경하여 사용하는게 좋다. 그리고 Application.yml 파일을 다음과 ..
2024.01.22 -
자바의 람다와 스트림 - 1(TIL)
1. 람다와 스트림을 제공하게 된 이유? 자바 8은 간결한 코드와 멀티코어 프로세서의 쉬운 활용이라는 요구사항을 기반으로 만들어졌다. 간결한 코드를 제공하고 멀티코어 프로세서에 대한 대안으로 람다와 스트림이라는 것을 도입하였다. 간결한 코드는 람다를 통해서 이루어진다. 자바 8 이전에는 익명 클래스를 이용해서 동작의 파라미터화를 구현해왔다. 하지만 익명 클래스를 이용하는 경우 불필요한 중첩이 늘어나 가독성이 높지 않다. 예를 들어, 쓰레드를 Runnable로 만들었을 대 코드를 다음과 같이 작성할 수 있다. 확실히 익명 클래스를 사용할 때보다 가독성이 높아진 걸 확인할 수 있다. public void anonymousClass() { Runnable r = new Runnable() { ..
2024.01.20 -
static initializer block와 initializer block
[ 작성 이유 ] static 키워드와 관련된 공부를 하다가 static{} 이렇게 된 코드를 보게 되었고 이 코드가 무엇을 의미하는 건지 몰라 찾아보니 정적 초기화 블록이라는 걸 알게 되었다. 그래서 모르는 김에 초기화 블록에 대해서 정리를 해보고자 한다. [ 초기화 블록 ] 초기화 블록은 실행 시점에 따라 static initializer block(정적 초기화 블록), initializer block(인스턴스 초기화 블록) 이렇게 두 가지로 나뉜다. ○ 정적 초기화 블록 정적 초기화 블록이 실행되는 시점은 클래스가 로딩되는 시점에 실행된다. static이라는 키워드가 붙어있듯이 인스턴스와 관련된 변수를 설정하는 공간은 아니고 static 변수만을 초기화할 수 있다. 특징으로는 해당 클래스에서 딱 한..
2024.01.19 -
인텔리제이 한글 깨짐
[ 작성 이유 ] 인텔리제이를 사용하다보면 한글 깨질 일이 종종 있는데 그런 경우에 해결하는 방법.. 또 검색하기 귀찮다. [ 해결 방법 ] 인텔리제이에서 윈도우 기준 ctrl + alt + s버튼을 눌러서 뜨는 창에서 검색 창에 file encodings 검색 후 뜨는 창을 다음 화면과 같이 세팅해준다. 모든 설정관련을 UTF-8로 변경해준다. 이후 재시작을 해도 한글이 아니라 ???????? 같은 게 나오는데 만약에 message를 한 곳에서 관리하기 위해 .java 파일이 아닌 properties에 따로 놓은 경우 해당 properties 파일의 값이 변경되어있을 것이다. 이걸 원래 원하던 값으로 변경해주면 된다. 이렇게 하고도 안되면 인텔리제이 내부의 캐시도 지워보고 재실행해보자. 이것도 안되면 ..
2024.01.19 -
파이썬 Regex 사용법
[ 작성 이유 ] 이전에 코딩테스트 공부를 하면서 Regex를 이용해서 문자열을 파싱했을 때 참 편리함을 느꼈었다. 그런데 오랜만에 다시 공부를 하면서 사용해보려고 하니 잘 생각이 나지 않았고 파이썬에서 Regex를 통해 파싱하는 방법을 다시 정리해보려고 한다. [ Regex 작성 방법 ] Regex를 사용하려면 pattern을 설정해야 한다. 주로 많이 쓰이는 패턴의 종류에 대해서 이야기를 하면 다음과 같다. ○ ' | ' : ' | '를 사용하면 패턴에서 매칭될 값들을 추가해줄 수 있다. 예시) (0 | 1)은 0과 1이면 매칭된다. ○ ' - ' : ' | '를 범위처럼 사용할 수 있다. ( 0 | 1 | 2 | 3 | 4 ) 이렇게 만들기가 귀찮으니 이걸 줄이는 방법이라고 생각하면 된다. 예시) ..
2024.01.17