Home
민석강
Cancel

Java 8버전은 뭐가 달라졌나 상세파악

🔅 Java8 2014년 3월 18일에 출시된 Java버전이다. 크게 다음과 같은 변화가 있었다. Functional Interfaces 와 Lambda표현식 추가 forEach()메소드 추가. Interface에 Default Static Method 추가 Stream API 추가 새로운 날짜/시간 API 추가 Collec...

real-world프로젝트 이슈 - @AuthenticationPrincipal 테스트코드 작성하기

real-world project 구현 과정 카테고리 보기 개요 real-world프로젝트를 진행하다보니 회원유저, 비회원유저 식별 필터를 제작하였다. 본 서비스를 제작하는데에는 여러 예제코드들이 있어서 큰 어려움이 없었다. @AuthenticationPrincipal어노테이션을 붙여서 본 서비스를 제작하고 실제 잘 통신하는걸 확인하였다...

Java,OS- 동시성 정리

🔅 동시성 개요 앞에서 프로세스끼리 데이터를 공유하려면 share-memory기법이나 message passing기법을 사용하였다. 공유된 데이터를 사용하려면 항상 동시성을 생각해야하는데, 데이터 불일치라는 문제가 생길 수 있기 때문이다. 그래서 프로세스나 쓰레드의 실행 순서를 보장해주는 등의 작업을 해줘야한다. 🔑 입출금 예제 간단한 예...

가상 면접 사례로 배우는 대규모 시스템 설계 기초 8장 - URL 단축기 설계

가상 면접 사례로 배우는 대규모 시스템 설계 기초 책 정리 글입니다. 개요 URL 단축기는 말그대로 URL을 줄이는 모듈을 말한다. ✏️ 1단계 문제 이해 및 설계 범위 확정 여태까지 그래왔듯 질문을 통해 요구사항을 명확히 해야한다. 트래픽의 규모는? (예제에서는 매일 1억개의 단축url생성) url의 길이는? (예제에서는 최...

SpringMVC - MockMvc, @WebMvcTest코드까보기

real-world project 구현 과정 카테고리 보기 개요 테스트 코드를 짜면서 어쩌다보니 쓰고 있는 이 클래스, 어노테이션들 정리할 필요를 느꼈다. 😎 MockMvc, @WebMvcTest @WebMvcTest어노테이션을 알기 전 MockMvc에 대해 알고 있어야한다. @WebMvcTest 문서를 보면 MockMvc에 대한 언급이...

가상 면접 사례로 배우는 대규모 시스템 설계 기초 7장 - 분산 시스템을 위한 유일 ID 생성기 설계

개요 auto_increment속성이 설정된 관계형 데이터베이스의 기본 키를 쓰는 방법이 있겠다. 하지만 분산환경에서 데이터베이스 서버 한 대로는 이 요청을 감당할 수 없을 것이고, 여러 데이터베이스를 쓰는 경우 서버들이 중복된 값을 반환하면 안되기에 이를 관리해줘야할텐데 이 때문에 지연시간을 낮추기가 어려울 것이다. ✏️ 1단계 문제 이해 및...

Java 12버전은 뭐가 달라졌나

개요 자바12는 이전 버전에 비해 크게 바뀐 것은 없다. ✏️ 1. New String and Files methods String.indent() 이 함수는 메소드안에 있는 인자만큼 문자열을 들여쓰기 해준다. 여러줄에 걸쳐서 들여쓰기를 해야하는 경우 이 함수는 이를 감지하여 적용 시켜준다. @Test @DisplayName("String....

Process 정리

오타, 지적 환영입니다. ✏️CS스터디 저장소 프로세스(Process) 쉽게 말하면 실행중인 프로그램이다. 디스크에 있는 프로그램이 메모리에 로드되면 프로세스가 된다. 여기서 말하는 프로그램이란 .exe파일 같이 아직 실행되지 않은 명령어 집합체를 말한다. 1. 프로세스 문맥(Process Context) 여러 프로세스...

가상 면접 사례로 배우는 대규모 시스템 설계 기초 6장 - 키-값 저장소 설계

가상 면접 사례로 배우는 대규모 시스템 설계 기초 책 정리 글입니다. 개요 키-값 저장소는 키-값 데이터베이스라고도 불리는 비 관계형 데이터베이스다. 여기에 저장되는 값은 이를 식별할 수 있는 고유한 키를 가져야하고, 이러한 연결 관계를 키-값 쌍(pair)이라고 한다. put(key,value): 키-값 쌍을 저장소에 저장한다. ...

가상 면접 사례로 배우는 대규모 시스템 설계 기초 5장 - 안정 해시 설계

가상 면접 사례로 배우는 대규모 시스템 설계 기초 책 정리 글입니다. 개요 요청 또는 데이터를 서버에 균등하게 나누는 것이 중요하다. 안정 해시는 이 목표를 달성하기 위해 보편적으로 사용하는 기술이다. ✏️ 해시 키 재비치(rehash) 문제 보편적으로 해시 함수는 다음과 같이 사용한다. serverIndex = hash(key) % ...