목표Java Stream API의 map()와 flatMap() 메서드의 차이 이해하기 StreamStream이란데이터의 연속적인 흐름을 다루는 API로 Java 8부터 도입된 API이다.주로, 컬렉션이나 배열과 같은 데이터 소스를 처리하는 데 사용한다.Stream으로 처리하는 경우 정렬, 필터링 연산도 함께 처리할 수 있다. Map & FlatMapboth have intermediate stream operation and return another stream as method output.Both of the functions map() and flatMap are used for transformation and mapping operations.map() function produces one..
2024년 9월부터 2025년 2월까지 백엔드 인턴을 진행하면서 경험했던 것을 되새기며, 6개월 동안 진행했던 인턴을 마무리하고자 한다. 이번 회고록에서는 인턴을 진행하면서 기술적인 요소보다 Soft Skill 적으로 느낀 점을 작성하고자 한다. Q1. 협업과 개발 문화를 경험하면서 어땠는지,Slack, Notion, Jira를 사용했는데 Slack이 기록과 커뮤니케이션하기에 너무나 편리한 도구임을 느꼈다. (이전에는 슬랙을 슬랙답지 못하게 썼던 것 같다)Slack을 통해 전달 사항이나 프로젝트 진행 상황을 공유하는 데 있어, 다른 사람들에게 간편하게 공유되고 나중에 다시 확인할 수 있는 점이 너무 좋았다. 그래서 Slack을 사용할 때는 개인적인 이야기가 아니라면 주로 채널을 통해서 이야기를 공유하는 ..
JDK 21부터 기존 플랫폼 스레드의 단점을 보완하고, 동시 처리량을 높이기 위해 가상 스레드가 도입됐다.Thread 종류커널 수준 스레드 (Kernel-Level Threads)스레드의 생성, 스케줄링 및 관리를 직접 OS 커널이 담당합니다.커널 수준 스레드는 자원 관리 및 멀티 프로세싱 환경에서의 스케줄링 측면에서 장점이 있으나, 스레드 생성 및 컨텍스트 스위칭에 높은 오버헤드가 있을 수 있습니다. 사용자 수준 스레드 (User-Level Threads)사용자 영역의 라이브러리나 애플리케이션에 의해 관리되는 스레드입니다.운영체제(OS) 커널이 아닌 사용자 공간(User Space)에서 관리되는 스레드로, OS의 개입 없이 라이브러리나 런타임이 직접 스레드를 생성하고 관리합니다.운영 체제의 커널로부터 ..
코틀린을 조금 더 코틀린스럽게 사용하기 위해 자료형 변환을 정리하고자 한다.인터페이스를 추상화하여 사용했을 때 코틀린의 as, as? 를 통해 간편하게 자료형 확인과 변환이 가능해서 편리했다. 자바와 비교해 보며 어떠한 차이가 있는지 학습했다.asis used fo type castsspecifies an alias for an importKotlin에서 as는 타입 캐스팅으로 사용할 수 있다.Unsafe cast operatorval x: String = y as StringIf the cast isn’t possible, the compiler throws an exception.as로 타입 캐스트를 하는데 불가능한 타입이면 예외가 발생하는 문제가 생긴다.또한, y가 null 인 경우에도 Except..