주로 #{} 이렇게 되어있는데 ${} 이렇게 되어있는 부분도 있어서 검색해보았다. #{}와 ${}의 가장 큰 차이는 '', String이냐 아니냐의 차이인 것 같다. #{} String 형태로 주입되어 자동적으로 ''가 붙는 형태가 된다. WHERE user_idx = #{user_idx} 예를 들면 위의 경우 출력되는 쿼리문은 WHERE user_idx = '2'의 형태가 된다. 쿼리 주입을 예방할 수 있어서 보안 측면에서 유리하다. ${} String 형태가 아닌 주입되는 형태 그대로 출력된다. 쿼리 주입을 예방할 수 없어서 보안 측면에서 불리하다. 테이블 명, 칼럼 명을 전달할 때 사용한다. #{}의 경우 String 형태이기 때문에 ''가 붙어서 사용할 수 없다. 출처 https://logical..
상황) SQL로 Select했을 때 name 칼럼에 클래스의 변수명이 들어있어서 DTO에 넣으려면 name 칼럼의 값을 확인하고 DTO와 매칭 시켜서 값을 담아주어야 한다. 과정) 하나하나 setter로 모두 담아주려고 보니 코드가 길어지고 가독성이 떨어지는 것 같아서 한번에 담을 수 없을까라는 생각에 리플렉션을 공부하게 되었다. 리플렉션이란? 리플렉션은 구체적인 클래스 타입을 알지 못해도, 그 클래스의 메서드, 타입, 변수들에 접근할 수 있도록 해주는 자바 API 리플렉션을 언제 사용하는가? 정적 언어인 자바를 동적인 문제로 해결해야 하는 경우가 있는데 이때 리플렉션을 사용한다고 한다. 클래스의 변수 명을 비교한 뒤 값을 넣어주어야 하는 나의 상황도 이러한 상황이라고 할 수 있을 것 같다. 리플렉션은 ..
한영키 전환이 안돼서 찾아보니 초기화를 시켜주면 될 수도 있다고 해서 초기화를 해 보았다 모델명은 GK686B이고 초기화 방법은 아래와 같다 ESC + CTRL + INS + 우측 방향키 키보드의 네 귀퉁이(?)를 5초간 누르면 초기화가 된다. 초기화를 시켜준 후, 윈도우로 되어있는 키보드 설정을 맥으로 변경해 주면 되는데 FN + ALT 3초간 누르면 FN키 위에 불이 들어오면서 맥으로 설정이 변경된다.
++ 계속 추가 예정, mac 기준 이전에 수정한 파일 목록 보기 cmd + e 해당하는 코드에 대한 메서드 분리 cmd + opt + m 클래스명 리팩토링 shift + F6 자동 정렬 해당부분 선택 후, cmd + alt + L 단어 포커스 opt + up키 단어 선택 opt + shift + right키 프로젝트 탭 열기/닫기 cmd + 1 Project DB Query Console 해당 DB 선택 후, cmd + shift + F10 Jump to Query Console 변수 할당 cmd + alt + v
git commit을 하려는데 다음과 같은 에러가 발생했다. nuxt 프로젝트 생성할 때, Style에 전부 체크 했더니 husky라는 것이 같이 받아졌는데 저걸 따로 추가하지 않아서 에러가 발생했다. yarn add husky --save-dev 설치 후 아래의 에러가 발생했는데 Code style issues found in the above file(s). Forgot to run Prettier? 이 에러는 아래의 명령어로 해결할 수 있었다. npx prettier --write . commitlint 까지 받아졌는지 아래의 에러도 발생했는데 이 부분은 git commit convention을 따라주면 해결이 된다. (ex. git commit -m "feat: 식당 뽑기 기능 추가")