1️⃣ 서블릿 개념 및 특징 1) 개념 서블릿(Servlet) 이란 자바를 사용하여 웹 페이지를 동적으로 생성할 때 사용되는 자바 기반의 웹 애플리케이션 프로그래밍 기술이다. 서블릿은 자바 코드 안에 HTML을 포함하며, 웹 요청 및 응답의 흐름을 체계적으로 다룰 수 있게 해준다. 만약 클라이언트가 서버에 요청을 하면, 서블릿에서 해당 기능을 수행한 뒤 결과를 다시 전송한다. 서블릿의 흐름을 간략히 나타내면 다음과 같다. 웹 브라우저 (클라이언트) 에서 서버로 요청을 보낸다. WAS 에서 HTTP 요청 메시지를 기반으로 request, response 객체를 생성한다. 미리 생성해놓은 Thread Pool 에서 하나의 Thread 를 할당 받는다. 할당 받은 Thread 는 서블릿 인스턴스에 접근, 실행..
1️⃣ 구간 합 (prefix sum) '구간 합' 또는 '누적 합' 은 합 배열을 통해 특정 구간의 합을 구하는 알고리즘이다. 비교적 간단하지만 코딩 테스트 출제 빈도가 꽤나 높다고 하니 잘 공부 해놔야겠다. 구간 합에서 가장 중요한 것은 합 배열이다. 다음은 합 배열을 구하는 방법을 정의한 것이다. // 기존 배열을 arr, 합 배열을 sumArr 라고 한다면 1) sumArr[i] = arr[0] + arr[1] + ... + arr[i - 1] + arr[i] 2) sumArr[i] = sumArr[i - 1] + arr[i] 예시 1) array 5 4 3 2 1 sumArr 5 9 12 14 15 만약 2번 ~ 4번 숫자의 합을 구해야 한다면 간단하게 4 + 3 + 2 = 9 라는 것을 알 수..
2주 차 미션 - 자동차 경주 (내 코드) https://github.com/junseoparkk/java-racingcar-6/tree/junseoparkk GitHub - junseoparkk/java-racingcar-6 Contribute to junseoparkk/java-racingcar-6 development by creating an account on GitHub. github.com [1] 요구 사항 1주 차의 목표는 git, Java, 미션 사이클에 익숙해지는 것이었다. 또한 요구 사항을 통해 기능 목록을 도출하고, 작성한 목록에 따라 개발하는 연습을 했다. 처음엔 기능 목록을 어떻게 작성해야 할지, 어떤 내용을 넣어야 할지 고민하느라 많은 시간이 걸렸다. 실제로 기능 요구 사항에 ..
프리코스를 시작하며 프리코스를 시작하고 일주일이라는 시간이 금방 지나갔다. 커뮤니티에서는 해당 주차 미션에 관한 이야기를 지양하기 때문에 그동안 말하고 싶었던 것을 꾹 참았다. 처음 미션 관련 메일을 받았을 때 얼마나 설렜는지 모른다. 다만 저번 기수처럼 1주차엔 알고리즘 관련 온보딩 미션이 나올 줄 알았는데 숫자 야구 미션이 나왔다. 그래도 하나의 프로그램을 완성해야하기 때문에 꽤나 재미있었다. 첫주 차이기 때문에 나는 처음부터 완벽한 코드를 짜기 보다는, 프리코스에 익숙해지기 위해 노력했다. 가령 자바 컨벤션을 습관화하기 위해 신경썼고, 의미있는 커밋 메시지를 작성하기 위해 연습했다. 또한 변수나 메서드 이름을 명확하게 짓는데에 오랜 시간을 투자하는 것처럼 클린 코드를 작성하는 것을 목표로 했다. 1..
그래도 꽤 열심히 살았을지도?* 이번 글은 일기처럼 주저리 주저리 작성했습니다. *2018, 2019졸업 학점을 다 채우고 학교를 떠난지 벌써 세 달이 다 되어간다. 블로그도 굉장히 오랜만에 작성한다. 지난 4년간의 대학생활을 돌아보며 느낀 점을 공유해보려 한다. 막상 학교 생활이 끝나니 1학년 때부터 나의 모습을 돌아보게 되더라. 아무것도 모르고 입학했던 2018년, 그저 대학 생활이 즐거웠고 정말 열심히 놀았다. 학창시절부터 꾸준히 관심을 갖고 있던 프로그래밍을 배우니 재미있었다. 그러나 학교 수업만으로는 스스로 발전한다는 느낌을 받지 못했다. 그래서 2학년 1학기에 학과 알고리즘 멘토링에 들어갔다. 그땐 C언어와 C++ 수업을 들어서 문법만 조금 아는 수준이었는데, 혼자 공부하는 것이 생각보다 어려..
싱글톤 패턴(Singleton Pattern) 이란 디자인 패턴중 하나로, 객체의 인스턴스가 하나만 생성되어 관리되는 것을 말한다. 해당 글은 싱글톤 자체와 관련된 내용이 아닌, 싱글톤 방식으로 동작하는 스프링 컨테이너에 관한 글이 되겠다. 따라서 싱글톤 패턴에 대한 자세한 설명은 아래의 글을 참고하면 되겠다. https://jnsodevelop.tistory.com/38 [Design Pattern] Singleton Pattern (싱글톤 패턴) Singleton Pattern Singleton Pattern (싱글톤 패턴) 은 하나의 클래스가 오직 하나의 인스턴스만 가지는 패턴이다. 싱글톤 인스턴스는 최초 생성시 하나만 만들어지며, 해당 인스턴스를 다른 모듈이 공유 jnsodevelop.tistor..
스프링 빈 조회시 발생할 수 있는 몇몇 예외가 있다. 해당 내용에 대한 설명은 아래 글들을 참고하면 좋다. https://jnsodevelop.tistory.com/53 [Spring] 스프링 빈 조회 - 컨테이너에 등록된 빈 개요 스프링 컨테이너에 등록된 빈을 조회하는 방법을 알아보자. 빈을 조회하는 방법엔 여러 가지가 있지만 그중에서 가장 기본이 되는 몇몇 방법을 살펴보겠다. 모든 빈을 조회하는 방법, 역할 jnsodevelop.tistory.com https://jnsodevelop.tistory.com/54 [Spring] 스프링 빈 조회 - 이름, 타입 지난번에 스프링 컨테이너와 등록된 모든 빈, 애플리케이션 빈을 확인하는 방법을 공부했다. 해당 내용은 아래 글을 참고하면 되겠다. https:/..