전체 글

개발, PS 풀이
Diary & 후기

당근 SERVER 밋업 2회 참가 후기

https://festa.io/events/4140 당근 SERVER 밋업 2회 | Festa! Festa에서 당신이 찾는 이벤트를 만나보세요. festa.io 당근 SERVER 밋업 2회 버스가 늦어 살짝 늦게 도착하게 되었는데 FESTA로 발급받은 QR코드를 입력하여 입장할 수 있었다. 입장해서는 물과 세션 정보가 담긴 이름표, 다양한 굿즈들을 받을 수 있었다! 다행히도 막 세션을 막 시작하려는 참이라 허겁지겁 자리 앉았다. 동아리 단위가 아니라 기업 단위의 세미나는 처음으로 참여하게 되어, 신입으로 취준하고 있는 내가 온전히 받아낼 수 있을까 걱정되었다. 하지만 생각보다 자유롭고 편안한 분위기에서 진행되었고, 당근이도 귀여웠다. 한편에는 사진을 찍을 수 있는 부스? 같은 곳이 존재했는데, 같이 온 ..

알고리즘/BOJ

[백준/파이썬] 30023번 전구 상태 바꾸기

문제 주소: https://www.acmicpc.net/problem/30023 30023번: 전구 상태 바꾸기 $N$개의 전구가 일렬로 세워져 빛나고 있다. 각각의 전구는 빨간색, 초록색, 파란색 중 하나의 색으로 빛나고 있다. 지원이는 $N$개의 전구 중 연속한 세 전구를 선택한 후에 그 전구들의 상태를 www.acmicpc.net 문제 해석 문제 풀이 전구를 시작 색의 경우의 수는 3가지이다. 0122의 전구가 존재한다면 1. 012 2. 120 3. 201 다음의 경우의 수를 시작으로 0번째 전구와 동일하도록 끝까지 전구의 상태를 변경하여, 조건에 맞는다면 최솟값을 갱신해나간다. 문제 코드 import sys input = sys.stdin.readline # input n = int(input(..

Study

[HTTP] 쿠키와 쿠키를 삭제하는 응답 메시지 보내기

쿠키를 사용하는 이유 HTTP는 무상태를 기반으로 하는 프로토콜이다. 따라서 우리가 구현해야 하는 로그인을 구현해 사용자가 로그인을 하더라도, 이후 요청에서 마이페이지를 조회하는 요청이 오더라도 로그인 정보를 기록해두지 않아 누구의 마이페이지 인지 알 수 없다. 즉, 클라이언트가 다시 요청을 하면 서버는 이전 요청을 기억하지 못한다. → 클라이언트와 유저는 상태를 유지하지 않는다. 동작 과정 홍길동이라는 클라이언트가 서버에게 로그인을 요청한다. 로그인을 완료시킨 서버는 Set-Cookie 헤더를 통해 쿠키를 유저에게 전달한다. 클라이언트의 웹 브라우저는 쿠키 저장소에 전달 받은 쿠키를 저장한다. 로그인 이후에 웹 브라우저는 어떠한 요청을 수행하더라도 저장된 쿠키를 Cookie 헤더에 담아 전달한다. 서버..

Study/Java

[Java] 불변 객체 (Immutable Object) 란?

나만의 WAS 서버를 구현하는 도중에 클라이언트의 HTTP 메시지를 요청받고, 이를 파싱해 객체로 다루기 위한 작업이 필요했다. 이 과정에서 생성된 HttpRequestMessage 라는 클래스는 처음 파싱 이후 수정될 일이 없다는 특성을 가지고 있다. 이 특성을 만족하기 위한 객체지향 프로그래밍에서 사용되는 불변 객체에 정리하고자 한다. 불변 객체 (Immutable Object)? 불변 객체는 객체가 생성된 이후에 그 상태를 변경할 수 없는 객체를 의미한다. 한 번 생성된 객체는 재할당 되는 것이 아니라면 영원히 그 상태가 변하지 않는다. 자바에도 불변 객체가 존재한다. java.lang.String 문자열 클래스가 그 예이다. String 으로 생성된 문자열 객체의 메서드를 직접 살펴본다면 내부의 ..

Study

HTTP Request, Response 메시지 구조

HTTP 메시지 HTTP 메시지는 웹 애플리케이션에서 클라이언트와 서버 간의 통신을 위해 만들어졌습니다. 클라이언트가 요청하기 위한 Request와 요청에 대해 서버가 응답하는 Response 두 가지로 이루어져 있으며, ASCII로 인코딩 되어 있습니다. HTTP Request 메시지 GET /index.html HTTP/1.1 Host: localhost:8080 Connection: keep-alive Accept: */* body HTTP 요청 메시지는 다음과같은 형태를 띠고 있습니다. Request Line GET /index.html HTTP/1.1 가장 상단의 첫 줄을 의미합니다. 3가지의 정보를 담고 있으며, 순서대로 HTTP 메서드, 경로, HTTP 버전을 나타냅니다. HTTP 메서드 -..

ddingmin00
ddingstory