오늘은 컴퓨터 환경과 클라우드를 공부하면 한 번쯤은 들어봤을 법한 단어를 정리하고자 합니다.IaaS, PaaS, SaaS 가 무엇이며, 어떠한 차이가 있는지, 대표적인 예시가 무엇이 있는지 알아보겠습니다. laaS, PaaS, SaaS클라우드 서비스 공급자가 컴퓨팅 자원을 어느 단계까지 고객에 서비스할 것인가를 기준으로 클라우드 서비스 모델을 구분한다. (laaS, PaaS, SaaS) IaaSInfrastructure-as-a-Service컴퓨터, 네트워크, 스토리지와 같은 인프라 자원을 제공한다. 대표적인 예시로 Aws EC2, RDB, S3가 존재한다. 우리가 AWS에서 사용한 Public IP도 여기에 해당한다. PaaSPlatform-as-a-ServiceIaas 서비스와 마찬가지로 인프라를 ..
목표ServletContainer와 SpringContainer의 차이 이해하기ServletServlet이란?웹 요청과 응답의 흐름을 간단한 메서드 호출로 처리할 수 있게 도와주는 Java Program이다.Servlet은 HTTP 요청을 받아 처리한 후, 응답을 반환하는 역할을 한다.Servlet are responsible for accepting a request, processing it, and sending a response back.public interface Servlet { void init(ServletConfig config) throws ServletException; void service(ServletRequest req, ServletResponse res) th..
목표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..
Both compilers and assemblers are the language processors used to convert software codes written in high-levl language and assembly language into machine language codes.컴파일러와 어셈블러는 기계가 읽을 수 있도록 처리해주는 언어 처리기이다. 컴파일러는 고급 언어를 기계어로, 어셈블러는 어셈블리 언어를 기계어로 변환해준다.CompilerCompiler is used to translate a high level programming language code to machine level code and to create an executable program.컴파일러는 고급..