[CS] Call by Value와 Call by Reference
·
CS
#  Call by Value  - 값을 할당할 때, 값 자체를 넘겨주는 방식 #  Call by Reference  - 값이 담긴 변수의 주솟값을 넘겨주는 방식  - 기존 변수의 값이 변경되면, 주솟값을 넘겨받은 변수의 값도 변경됨  유사 개념- 깊은 복사 : 객체의 실제 값을 복사- 얕은 복사 : 객체의 주솟값을 복사
[SQL] 정규화와 역정규화(반정규화)
·
SQL
이상 현상 (Anomaly)  - 테이블에서 일부 데이터들이 불필요하게 중복되어 예기치 않게 발생하는 문제  1) 삽입 이상      · 데이터를 삽입할 때, 의도와는 상관 없이 원하지 않는 값들이 함께 삽입됨      · 데이터가 부족해서 null 값이나 불필요한 값을 삽입해야 함  2) 삭제 이상      · 데이터를 삭제할 때, 원하지 않는 값들도 함께 연쇄적으로 삭제됨  3) 갱신 이상      · 데이터를 갱신할 때, 일부 데이터만 갱신되어 모순이 발생함  정규화 (Normalization)  - 데이터 중복성을 제거해서 이상 현상을 방지하고, 데이터의 일관성을 유지하기 위해 무손실 분해하는 과정  - 무손실 분해      : 분해로 인한 정보 손실이 발생하지 않아야 함        → JOIN..
[Hotkeys] IntelliJ (인텔리제이) 단축키
·
Hotkeys
코드 실행  [Shift] + [F10]  코드 삭제  [Ctrl] + [Y]  코드 복사  [Ctrl] + [D]  코드 이동  [Ctrl] + [Shift] + [방향키]
[Spring Boot] CSRF (사이트 간 요청 위조)
·
Java/Spring Boot
CSRF (사이트 간 요청 위조, Cross Site Request Forgery)  - 웹사이트 취약점 공격  - 사용자가 자신의 의지와는 무관하게 공격자가 의도한 행위를 특정 웹사이트에 요청하게 하는 공격  - 특정 웹사이트가 사용자의 웹 브라우저를 신용하는 상태임을 노린 공격 방식  - 사용자가 웹사이트에 로그인한 상태에서, CSRF 공격 코드가 삽입된 페이지를 열음      → 공격 대상이 되는 웹사이트는 위조된 공격 명령이 믿을 수 있는 사용자로부터 발송된 것으로 판단함      → 공격에 노출됨
[Java] 어노테이션 (Annotation)
·
Java/Base
어노테이션 (Annotation)  - 프로그램의 코드에 메타데이터를 추가하는 기능을 제공하는 것  - 컴파일러 or 런타임 시점에 코드를 처리하는 도구들에게 추가적인 정보를 제공함  - 주로 클래스, 메서드, 변수, 매개변수 등에 부착해서 사용됨  - 형식 : @어노테이션(속성1=값1, 속성2=값2, ...)  - 코드 가독성 향상  - 자동화된 코드 생성, 테스트, 디버깅 등에 활용 #  빌트인 어노테이션 (Built-in Annotation)  - @Override      : 상위 클래스나 인터페이스의 메서드를 오버라이드함을 나타냄  - @Deprecated      : 해당 요소가 더 이상 사용되지 않음을 나타냄  - @SuppressWarnings      : 컴파일러의 경고를 무시하도록 지정..