[Spring Security] - CSRF

CSRF란 웹사이트 취약점 공격의 하나로, 사용자가 자신의 의지와는 무관하게 공격자가 의도한 행위(수정, 삭제, 등록 등)를 특정 웹사이트에 요청하게 하는 공격을 말합니다.
Read more · 4 min read

[Java] 인스턴스를 복제하는 방법

개발을 할 때 종종 값을 복제해서 사용하는 경우가 있습니다. 자바 언어에서 인스턴스를 복제하는 방법에는 얕은 복사와 깊은 복사가 있습니다. 이번 포스트에서는 얕은 복사, 깊은 복사, 그리고 방어적 복사에 대해 살펴보도록 하겠습니다.
Read more · 4 min read

RESTful

REST는 Representational State Transfer 의 약어로, 클라이언트과 서버가 데이터를 주고 받는 방식에 대한 아키텍처 스타일이다. REST에는 여섯 가지의 기본 원칙이 있고, 이 가이드를 준수한 인터페이스는 RESTful 하다고 표현한다.
Read more · 3 min read

Layered Architecture

Layered Architecture란 말 그대로 계층이 나뉘어져 있는 아키텍쳐를 뜻한다. Layered Architecture의 주된 목표는 어플리케이션을 여러 개의 굵직한 횡단 관심사(cross-cutting concern)로 분리해, 각각의 Layer는 하나의 관심사에만 집중할 수 있도록 하는 것이다. Layered Architecture의 궁극적인 목표는 Application Layer와 Domain Layer가 기술에 대해 가지는 의존성을 최소화하여, 오직 순수한 비즈니스 로직을 작성하는 데에 집중할 수 있게 하는 것이다.
Read more · 4 min read

라이브러리 VS. 프레임워크

라이브러리는 다른 프로그램들과 링크되기 위하여 존재하는 비휘발성 자원의 모임입니다. 프레임워크는 소프트웨어 개발을 위해 구조적인 틀과 구현 코드를 함께 제공합니다. 라이브러리와 프레임워크의 차이는 응용프로그램의 흐름 주도권을 누가 가지고 있는가입니다.
Read more · 2 min read

프로그래머 성장 과정 대한 정리

어느날, Java를 프로그래밍 주 언어로 사용하지만 Java에 대한 지식이 부족하다는 생각이 들었습니다. 개발에 필요한 지식만 익히지 말고 이번에는 제대로 기본기를 잡아보자! 하는 결심이 들어서 본격적으로 Java 공부를 다시 시작하게 되었습니다. 프로그래밍을 할 수록 기초가 부족하여 막히는 부분이 생기고, 자신감이 떨여졌습니다. 그때 느꼈던 프로그래밍 학습에 대한 어려움과 극복 방법, 어떻게 연습하면 좋은지에 대한 내용을 정리해 보았습니다.
Read more · 3 min read