본문 바로가기

분류 전체보기

(260)
[김영한/HTTP 웹 기본 지식] HTTP 헤더 (일반 헤더) HTTP 헤더 개요 헤더 필드 형식 field-name: OWS field-value OWS ※ OWS => 띄어쓰기 허용 field-name => 대소문자 구분 없음 용도 HTTP 전송에 필요한 모든 부가정보 ex) 메시지 바디의 내용/크기, 압축, 인증, 요청 클라이언트, 서버 정보, 캐시 관리 정보, .. 표준 헤더 매우 많음 필요시 임의 헤더 추가 가능 ex) helloworld: hihi 과거 (RFC2616) 헤더 분류 General 헤더 : 메시지 전체에 적용되는 정보 ex) Connection: close Request 헤더 : 요청 정보 ex) User-Agent: Mozilla/5.0 (Macintosh; ..) Response 헤더 : 응답 정보 ex) Server: Apache En..
[김영한/HTTP 웹 기본 지식] HTTP 상태 코드 HTTP 상태코드 1xx (Informational) : 요청이 수신되어 처리중 2xx (Successful) : 요청 정상 처리 3xx (Redirection) : 요청을 완료하려면 추가 행동 필요 4xx (Client Error) : 클라이언트 오류 =>잘못된 문법 등으로 서버가 요청 수행 불가 5xx (Server Error) : 서버 오류 => 서버가 정상 요청을 처리 못함 클라이언트가 인식할 수 없는 상태코드를 서버가 반환하면? 클라이언트는 상위 상태코드로 해석해서 처리 => 미래에 새로운 상태 코드가 추가되어도 클라이언트를 변경하지 않아도 됨 ex) 299 ??? -> 2xx (Successful) 451 ??? -> 4xx (Client Error) 599 ??? -> 5xx (Server ..
재귀 알고리즘 재귀 함수 참고 링크 더보기 https://blog.encrypted.gg/943?category=773649 [실전 알고리즘] 0x0B강 - 재귀 안녕하세요, 재귀 파트를 시작하겠습니다. 지금 자신있게 말할 수 있는게 있는데 이 파트가 정말 어려울 것입니다. 물론 이전의 내용들 중에서도 군데군데 어려운게 있었겠지만 이번 단원에서 blog.encrypted.gg https://imjeongwoo.tistory.com/17 [알고리즘] 재귀(Recursion)와 수학적 귀납법(Mathematical Induction) 재귀(Recursion) void func1(int n) { if (n == 0) return; cout imjeongwoo.tistory.com : 종료 조건(base condition, ..
[김영한/HTTP 웹 기본 지식] HTTP 메서드 HTTP API API URI 설계 시 리소스 식별이 중요 + 계층구조 활용 리소스 - 해당 리소스를 대상으로 하는 행위를 분리 ex) 리소스 : 회원 / 행위 : 조회, 등록, 삭제, 변경 ex) API URI 회원 목록 조회 /members 회원 조회 /members/{id} 회원 등록 /members/{id} 회원 수정 /members/{id} 회원 삭제 /members/{id} ※ 계층 구조 상 상위 => 컬렉션 => 복수 단어 HTTP 메서드 GET : 리소스 조회 POST : 요청 데이터 처리 (주로 등록) PUT : 리소스 대체, 해당 리소스가 없으면 생성 PATCH : 리소스 부분 변경 DELETE : 리소스 삭제 +) HEAD : GET과 동일하지만 메시지 부분을 제외하고, 상태 줄과 헤..
[김영한/HTTP 웹 기본 지식] - HTTP 모든 것이 HTTP HTTP(HyperText Transfer Protocol) 초기에는 HTML, TEXT 담아 전송하는 프로토콜로 사용됨 현재 거의 모든 형태의 데이터 전송 가능 (이미지, 음성, 영상, 파일, JSON, XML (API), ..) 서버 간 데이터를 주고 받을 때도 대부분 HTTP 사용 지금은 HTTP 시대 HTTP 역사 HTTP/0.9 1991년: GET 메서드만 지원, HTTP 헤더X HTTP/1.0 1996년: 메서드, 헤더 추가 HTTP/1.1 1997년: 가장 많이 사용, 우리에게 가장 중요한 버전 - 업데이트 버전 : RFC2068 (1997) -> RFC2616 (1999) -> RFC7230~7235 (2014) HTTP/2 2015년: 성능 개선 HTTP/3 진행중: ..
[김영한/HTTP 웹 기본 지식] - URI와 웹 브라우저 요청 흐름 URI(Uniform Resource Identifier) "URI는 로케이터(locator), 이름(name) 또는 둘 다 추가로 분류될 수 있다" URI Uniform : 리소스 식별하는 통일된 방식 Resource : 자원 => URI로 식별할 수 있는 모든 것 (제한 X) Identifier : 식별자 => 다른 항목과 구분하는 데 필요한 정보 위치는 변동 가능 but 이름은 불변함 ※ URL(Uniform Resource Locator) : 리소스가 있는 위치 지정 ※ URN(Uniform Resource Name) : 리소스에 이름 부여 urn:isbn:8960777331 (어떤 책의 isbn URN) => URN 이름만으로 실제 리소스 찾는 방법은 보편화 X ∴ 앞으로 URI를 URL과 같은..
[백준/자바] 10870번 피보나치 수열 문제 피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그 다음 2번째 부터는 바로 앞 두 피보나치 수의 합이 된다. 이를 식으로 써보면 Fn = Fn-1 + Fn-2 (n ≥ 2)가 된다. n=17일때 까지 피보나치 수를 써보면 다음과 같다. 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597 n이 주어졌을 때, n번째 피보나치 수를 구하는 프로그램을 작성하시오. 코드 재귀함수로 피보나치 수열의 숫자를 구하는 문제이다. 먼저 0번째 숫자는 0, 1번째 숫자는 1인 종료 조건을 선언했다. 피보나치 수열은 앞 두 수의 합으로 이뤄지므로 각 루프마다 재귀함수 파라미터 변수의 앞 두 숫자인..
[DDC 2023] dev day 컨퍼런스 후기 (적고 나니 후기보단 일기가 되었다)개발 관련 컨퍼런스에 처음으로 다녀온 후기!친구 초대 이벤트에 당첨돼 컨퍼런스 소식을 공유해준 팀원과 무료로 참여할 수 있었다.총 6개의 세션으로 구성되었는데, 그 중에서도 첫 번째 세션과 세 번째 세션이 내가 궁금했던 IT 분야에서의 도전, 성장에 대한 막연함을 풀어줬다. 이번 포스팅에서 해당 세션들에 대한 후기를 상세히 적으려 한다.부스 이벤트컨퍼런스 시작 전에 여러 협찬사들 부스에 들러 이벤트에 참여했다. 지금 팀 프로젝트를 AWS EB, EC2로 운영 중이어서 AWS 컨설팅 기업인 베스핀 글로벌이 눈에 띄었다. (비즈니스 컨설팅이 아닌 개인적인 도움을 받고 싶었다ㅎ) JSON 기반 애니메이션 포맷을 제공하는 Lottiefiles도 인상깊었다. 애니메이션과 JSO..
[AWS Elastic Beanstalk, Route53] SSL 인증 기반 HTTPS 설정하기 Elastic Beanstalk에서 HTTPS 설정하기 Elastic Beanstalk으로 EC2를 배포해 ALB까지(기본 80포트) 설정된 상태에서, 프로젝트를 안전하게 운영하기 위해 서버-클라이언트 간 암호화 통신 프로토콜인 HTTPS를 설정했다. 요즘은 HTTPS가 설정되지 않은 사이트에 들어가면 경고창이 뜨기 때문에 보안 측면 뿐만 아니라 사용자 관점에서 필수적이라고 느꼈다. HTTPS 설정 단계는 도메인 구매 (가비아) → 도메인 등록 (AWS Route53) → HTTPS 설정 (AWS CM, ALB) 순서대로 설명할 예정이다. 1. 도메인 구매 도메인은 www.gabia.com 에서 구매했다. www.freenom.com 에서는 무료 도메인도 구매할 수 있다고 한다. 그런데 우리가 시도했을 ..
[백준/자바] 25305번 커트라인 - Arrays.sort 문제 2022 연세대학교 미래캠퍼스 슬기로운 코딩생활에 N명의 학생들이 응시했다. 이들 중 점수가 가장 높은 k명은 상을 받을 것이다. 이 때, 상을 받는 커트라인이 몇 점인지 구하라. 커트라인이란 상을 받는 사람들 중 점수가 가장 가장 낮은 사람의 점수를 말한다. 코드 앞으로 정렬 문제는 차근차근 종류별로 풀어보려고 한다. 앞서 선택, 삽입, 버블, 카운팅 정렬을 코드로 만들었기에 이번에는 자바에 내재된 java.util.Arrays 클래스를 활용해봤다. (다음 알고리즘 문제에서는 Arrays 클래스가 사용하는 합병정렬을 직접 코드로 작성할 예정이다.) 먼저 StringTokenizer로 공백으로 띄워진 각 데이터들을 정수로 변환해 변수, 배열에 대입했다. 정렬할 때에는 Arra..