분류 전체보기

· Java
Java 8의 혁신 (2014년 출시) 람다 표현식: 코드를 간결하게 만들고, 함수형 프로그래밍 접근을 가능하게 함. 스트림 API: 데이터 컬렉션 처리를 위한 새로운 방법 제공. 인터페이스의 디폴트 메소드: 인터페이스에 구현 코드를 포함할 수 있게 함. 날짜와 시간 API: 사용자 친화적인 날짜 시간 처리 기능. 나즈혼 JavaScript 엔진: 자바스크립트 실행을 위한 새로운 엔진. Java 11의 변화 (2018년 출시) 장기 지원 (LTS): 기업 환경에 적합한 안정적인 버전 제공. 로컬 변수 타입 추론: var를 사용하여 지역 변수의 타입을 자동으로 결정. HTTP 클라이언트 API: HTTP/2 프로토콜을 완벽하게 지원. ZGC (Z Garbage Collector): 저 지연 시간을 위한 새..
· web
암호화는 디지털 세계에서 개인 정보를 보호하고 안전한 통신을 가능하게 하는 필수적인 기술입니다. 이 글에서는 공개 키와 개인 키, 두 가지 주요한 암호화 키에 대해 자세히 알아보고, 이들이 어떻게 안전한 통신을 지원하는지 살펴보겠습니다. **공개 키 암호화의 개념:** 공개 키 암호화는 두 개의 키를 사용하는 암호화 방식입니다: 공개 키와 개인 키. 이 두 키는 수학적으로 연관되어 있지만, 하나를 알더라도 다른 하나를 유추하기는 매우 어렵습니다. 1. **공개 키 (Public Key)**: - 공개 키는 누구나 접근할 수 있으며, 이를 사용해 메시지를 암호화하거나 디지털 서명을 검증할 수 있습니다. - 예를 들어, 사용자 A가 사용자 B에게 안전하게 메시지를 보내고 싶을 때, A는 B의 공개 키를 사용..
· spring
#### 1. Model (모델) - **내용**: 모델은 MVC 패턴에서 데이터를 처리하는 컴포넌트입니다. 이는 데이터베이스와 상호 작용하고, 데이터를 처리하여 컨트롤러에 전달합니다. 모델은 비즈니스 로직과 애플리케이션 데이터 상태를 관리합니다. public class User { private String username; private String password; // getters and setters } #### 2. Controller (컨트롤러) - **내용**: 컨트롤러는 사용자의 요청을 받아 처리하는 컴포넌트입니다. 이는 사용자의 입력을 받고, 모델과 뷰를 조작하여 사용자에게 적절한 응답을 반환합니다. 스프링에서는 `@Controller` 어노테이션을 사용하여 컨트롤러 클래스를 정의합니..
이직 시작한지 이제 8개월째이다. 사실 이직 준비를 하면서 거의 2달 가까이를 날려먹었다. 물론 면접을 여러번 보게 되면서 나의 위치를 어느정도 판단을 할 수 있었고 내가 부족한 점을 파악할 수 있는 긍정적으로 받아들인 부분이 있었다. 그걸 알면서도 면접을 보면 볼 수록 몸으로 지친게 느껴진다. 회사에서는 야근을 해야하는 상황인 동시에 새벽까지 공부를 해야하는 상황이기 때문이다. 동시에 몸이 버티기 위해서는 운동을 해야 하는데 운동을 하지를 못하고 있다. 단순히 운동이 재미없어서이다. 운동을 하다가 재미를 못 느껴서 도중에 그만둔적이 여러번 있었기에 새로운 운동을 하기에 어느정도 두려움(?)이 있었고, 본래 운동 자체를 재미없어하기에 체력을 길러야 하는 상황인데 기르지 못하고 있다. 설상가상으로 여태까지..
· 인프라
특징/아키텍처 모놀리틱 아키텍처 마이크로서비스 아키텍처 (MSA) 코드베이스 단일 코드베이스로 전체 애플리케이션이 관리됨 각 서비스가 독립적인 코드베이스를 가짐 데이터베이스 주로 하나의 데이터베이스를 사용 각 서비스가 자체 데이터베이스를 가질 수 있음 확장성 전체 애플리케이션을 확장해야 함 각 서비스를 독립적으로 확장 가능 유지보수 하나의 부분을 변경하면 다른 부분에도 영향을 미칠 수 있음 각 서비스가 독립적이므로 유지보수가 쉬움 배포 전체 애플리케이션을 하나의 단위로 배포 각 서비스를 독립적으로 배포 가능 결합도 높은 결합도로 서비스나 기능들이 밀접하게 연결됨 낮은 결합도로 각 서비스가 독립적으로 동작 팀 작업 하나의 큰 팀이 전체를 관리 각 서비스를 별도의 작은 팀이 관리 가능 복잡성 초기에는 단순하..
· spring
1. **빈의 정의**: 스프링 빈은 스프링 컨테이너(ApplicationContext)에 의해 생성되고 관리되는 객체입니다. 이러한 빈은 통 비즈니스 로직을 담고 있는 컴포넌트나, 데이터 접근, 서비스 레이어 등을 담당합니다. 2. **빈의 생성**: 빈은 보통 `@Component`, `@Service`, `@Repository`, `@Controller` 등의 애노테이션을 통해 클래스 레벨에서 선언됩니다. 또한, XML 설정이나 자바 설정을 통해서도 빈을 생성할 수 있습니다. 3. **빈의 라이프사이클**: 스프링 컨테이너가 시작될 때, 빈은 생성되고 의존성이 주입됩니다. 컨테이너가 종료될 때, 빈은 소멸됩니다. 4. **의존성 주입(Dependency Injection)**: 빈은 필요한 다른 빈..
· spring
스프링에서 빈으로 오브젝트 매퍼를 관리하는 이유: 1. **의존성 주입(Dependency Injection)**: 스프링 프레임워크는 의존성 주입을 쉽게 해줍니다. 오브젝트 매퍼를 빈으로 선언하면, 다른 빈이나 컴포넌트에서 쉽게 주입받아 사용할 수 있습니다. 2. **생명주기 관리**: 스프링은 빈의 생명주기를 관리해주므로, 개발자가 직접 관리할 필요가 없습니다. 이는 코드의 복잡성을 줄이고 유지보수를 용이하게 합니다. 3. **추가 기능**: 스프링의 AOP(Aspect-Oriented Programming), 트랜잭션 관리 등의 추가적인 기능을 쉽게 적용할 수 있습니다. 4. **테스트 용이성**: 빈으로 관리되는 객체는 테스트가 더 쉽습니다. Mock 객체를 쉽게 주입할 수 있기 때문에, 유닛 테..
· 기타
### 제목 "싱글톤 패턴에서의 무상태 설계: 왜 중요한가?" ### 내용 싱글톤 패턴은 객체 지향 프로그래밍에서 특정 클래스의 인스턴스가 하나만 생성되도록 보장하는 디자인 패턴입니다. 이러한 싱글톤 패턴에서 "무상태(stateless)"라는 개념은 매우 중요한 역할을 합니다. 그렇다면 무상태가 무엇이며, 왜 중요한 것일까요? #### 무상태(Stateless)란? 무상태라는 용어는 객체가 어떠한 상태도 유지하지 않는다는 의미입니다. 즉, 인스턴스의 작동은 전적으로 입력에 의존하며 이전의 작업이 후속 작업에 영향을 미치지 않습니다. #### 싱글톤 패턴에서 무상태의 중요성 싱글톤 패턴은 전역 상태를 공유하기 때문에, 객체 내부에 상태를 저장하면 여러 부분에서의 동시 액세스로 인해 예기치 않은 동작이 발생..
· web
HTTP 상태 코드는 웹 브라우저와 웹 서버 간의 상호 작용을 나타내는 3자리 숫자입니다. 이 숫자는 특정 HTTP 요청이 성공했는지, 리디렉션 필요한지, 클라이언트 오류인지, 서버 오류인지 등을 나타냅니다. 다음은 주요 HTTP 상태 코드에 대한 요약입니다. 코드 설명 1xx (정보 응답) 100 Continue 101 Switching Protocols 2xx (성공) 200 OK 201 Created 204 No Content 3xx (리디렉션 필요) 300 Multiple Choices 301 Moved Permanently 302 Found (임시 리디렉션) 4xx (클라이언트 오류) 400 Bad Request 401 Unauthorized 403 Forbidden 404 Not Found 5..
· spring
1. 클라이언트 요청의 시작 웹 애플리케이션에서의 모든 작업은 클라이언트의 요청으로 시작됩니다. 사용자는 URL을 통해 특정 리소스에 접근하거나, 폼을 제출하게 됩니다. 2. 서버 수신과 필터 처리 스프링 부트 내장 웹 서버가 요청을 받기 시작하면, 최초로 필터(Filter) 영역을 거칩니다. 2.1 필터 (Filter) 필터는 서블릿 컨테이너 레벨에서 작동하며, 요청과 응답을 가로챕니다. 인증, 인가, 로깅, 인코딩 처리 등에 사용될 수 있습니다. 3. 디스패처 서블릿과 인터셉터 요청이 필터를 통과하면 디스패처 서블릿으로 전달되며, 여기서 인터셉터(Interceptor)가 작동할 수 있습니다. 3.1 인터셉터 (Interceptor) 인터셉터는 필터와 유사하게 동작하지만, 스프링 컨텍스트 내에서 작동하..
개발만파볼까
'분류 전체보기' 카테고리의 글 목록 (3 Page)