분류 전체보기

    [HTTP 완벽가이드] 5장 - 웹 서버

    [HTTP 완벽가이드] 5장 - 웹 서버

    시작하기 전에.. 여러 종류의 소프트웨어 및 하드웨어 웹 서버에 대해 조사한다 어떻게 웹 서버가 HTTP 트랜잭션을 처리하는지 단계별로 설명한다. 웹 서버가 하는 일 커넥션을 맺는다. 클라의 접속을 받아들이거나, 원치 않는 클라라면 닫는다. 요청을 받는다. HTTP 요청 메세지를 네트워크로부터 읽어 들인다. 요청을 처리한다. 요청 메세지를 해석하고 행동을 취한다. 리소스에 접근한다. 메세지에서 지정한 리소스에 접근한다. 응답을 만든다. 올바른 헤더를 포함한 HTTP 응답 메세지를 생성한다. 응답을 보낸다. 응답을 클라에게 돌려준다. 트랜잭션을 로그로 남긴다. 로그파일에 트랜잭션 완료에 대한 기록을 남긴다. 단계 1 : 클라이언트 커넥션 수락 1. 새 커넥션 다루기 클라가 웹 서버에 TCP 커넥션을 요청하..

    [HTTP 완벽가이드] 4장 - 커넥션 관리

    [HTTP 완벽가이드] 4장 - 커넥션 관리

    시작하기 전에.. 여기서 알고 갈것 공부하고 설명할 수 있어야 한다!! HTTP는 어떻게 TCP 커넥션을 사용하는가? TCP 커넥션의 지연,병목,막힘 병렬 커넥션, keep-alive 커넥션,커넥션 파이프라인을 활용한 http의 최적화 커넥션 관리를 위해 따라야 할 규칙들 4.1 TCP 커넥션 TCP 스트림은 세그먼트로 나뉘어 IP 패킷을 통해 전송된다. HTTP가 메세지를 전송하려고 할 경우 , 현재 연결되어 있는 TCP 커넥션을 통해서 메세지 데이터의 내용을 순서대로 보낸다. 컴퓨터는 항상 TCP 커넥션을 여러개 가지고 있다. 4가지 값으로 식별한다. 발신지 IP주소 발신지 포트 수신지 IP주소 수신지 포트 4.1.4 TCP 소켓 프로그래밍 소켓 API를 사용하면, TCP 종단 데이터 구조를 생성하고..

    [백준][파이썬] 1662 - 압축

    배열에는 튜플도 추가할 수 있다! 애용하자 stack.append((temp,length-1)) length=0 multi,preL=stack.pop() HTML 삽입 미리보기할 수 없는 소스

    [HTTP 완벽가이드] 3장 - HTTP 메세지

    HTTP 메세지 시작줄은 어떤 메세지인지 서술하고, 헤더 블록은 속성을, 본문은 데이터를 담고있다. [요청 메세지] [응답 메세지] 안전한 메서드 HTTP는 안전한 메서드라 불리는 메서드의 집합이다. 안전한 메서드의 목적은, 서버에 어떤 영향을 줄 수 있는 안전하지 않은 메서드가 사용될 때 사용자들에게 그 사실을 알려줄 수 있도록 하는 것에 있다. 읽기 전용인 경우 안전한 메서드로 간주한다. PUT The PUT method requests that the state of the target resource be created or replaced with the state defined by the representation enclosed in the request message payload -- ..

    [HTTP 완벽가이드] 2장 - URL과 리소스

    [HTTP 완벽가이드] 2장 - URL과 리소스

    [키워드] URL 스킴 안전한 전송 URN 대부분의 URL 스킴은 9가지부분으로 나뉜다 ://::@:/;?#

    [백준][파이썬] 2504 - 괄호의 값 (런타임에러 발생..해결)

    [백준][파이썬] 2504 - 괄호의 값 (런타임에러 발생..해결)

    런타임 에러 (IndexError) 왜 발생했을까? 답은 스택 배열이 비어있는 상태에서 stack[-1]의 값을 조회할때 에러가 발생하는것이었다. 비어있는 상태라면 조회를 할수없게 코드를 분리해서 해결하였다. 파이썬에서의 Stack 은 List를 활용하자! append() : 마지막에 값추가 pop() : 마지막에 들어온 값 제거 (반환받아서 값을 사용할수도 있음) list[-1] : 제일 top에 있는 값 조회 가능 ( 비어있을때 조회시 에러 발생하므로 유의할것) not list : 비어있는지 확인 입력값을 받을때 rstrip()을 꼭 사용하자! (주의) HTML 삽입 미리보기할 수 없는 소스 위 아래의 입력된 값이 달라서 len(입력값)에 차이가 있었다. 주의하자 제출 코드 HTML 삽입 미리보기할 ..

    [HTTP 완벽가이드] 1장 - WEB의 기초

    [HTTP 완벽가이드] 1장 - WEB의 기초

    이번 책읽기 부터는 좀 능동적으로 생각하면서 읽을 예정이다. 그동안 너무 그냥 있는 정보를 받아적는 수동적인 책읽기여서 머릿속에 잘 안남았다. HTTP는 Hypertext Transfer Protocol의 약자다. 즉 Hypertext 인 HTML(Hyper Text Markup Language)을 전송하기 위한 통신규약을 의미한다. 웹을 지탱하는 가장 중요한 두 기술은 HTML과 HTTP래. HTTP를 이해한다는것은 웹이 어떤식으로 동작하는지에 대한 이해를 뜻하는데, 정확한 근거에 기반한 맞는 기술적 판단을 하는데 도움이 된다. 1장. HTTP 개관 웹 클라이언트와 웹 서버 웹서버는 웹리소스를 관리하고 제공하는데, 웹리소스는 정적인것 뿐만아니라 모든 컨텐츠가 리소스가 될수 있어. 웹서버는 모든 HTTP..

    220710 [일] 일주일을 그려보자

    [주간 계획] [ Spring 강의 ] : 백기선 https://www.inflearn.com/course/spring [ 알고리즘 ]: 그날꺼 기록하기 (야무지게) [ 아이디어톤 ] : api 먼저 정리 싹 하자 [ 아침 일기 ] : 써보자 [ Java Study ] : 주제 뭐로하지... 1.jvm 2. http완벽가이드!! [ 일정 ] 월 화 수 목 금 토 일 10시 : 아이디어톤 회의 1~5시 : 아이디어톤 회의 7~10시 : 멋사 세션 9시 : java 스터디 [오늘 계획] - http 완벽가이드 훑기 > 정리 (의견을 첨부해서) 맨날 입으로만 털지말고 실천하자. └ 1장 정리

    [책][타이탄의 도구들] #2

    [책][타이탄의 도구들] #2

    우리 안의 놀라운 능력을 깨닫기 -호흡하며 걷기 -3가지 사실에 감사하기 -내가 꼭 해내리라고 결심한 일 3가지 - 뭔가 당신을 불쾌하게 한다면, 그안을 들여다봐라 무언가 있다는 신호다 - 왜 아침일기를 쓰지? 1. 현재 처한 상황을 정확히 파악하고자 하는데 도움을 얻기 위해 2. 하루를 잘 보낼수 있도록 날뛰는 정신을 종이위에 붙들어 놓은 것 뿐 - 자기전에 생각할 거리를 정리해두고 자라 -

    [아이디어톤] 내 눈앞에 보이던 것 보다 더 큰 숲이 있었고, 나는 좀 더 진지해졌다.

    [아이디어톤] 내 눈앞에 보이던 것 보다 더 큰 숲이 있었고, 나는 좀 더 진지해졌다.

    관심사로 사람들을 간편하게 모으고 만나게 해주는 플랫폼 서비스를 기획하고 있다 (근데 이제 대학생들을 타겟팅으로 한) 나는 백엔드 개발자로의 취업을 희망하고 있었다. 몇주 동안 팀원들과 아이디어를 기획하고 창업대회까지 나갈만한 목표를 세운만큼 백엔드만 보이던 나에게 더 큰 그림이 보이기 시작했다. 하나의 서비스가 만들어지고 어떤식으로 시장을 구축해 나가며 어떤 포인트에 집중을 하며 살이 붙는지에 대한 전체적인 숲을 보려고 노력을 하고 있다. 다양한 창업의 요소.. 아이디어톤을 진행하며 창업의 요소를 많이 겪어보는 것 같다. 어떻게 해야 사람들이 쓸지 어떤 워딩을 해야 사람들이 감이 올지 나라면 쓸지 만나는 사람마다의 반응을 수집하고 나온 의견들을 전부 피드백 하고 보다 구체적인 타겟층을 설정하고 아이디어..

    [백준] 1931 - 회의실 배정 (그리디 알고리즘)

    [백준] 1931 - 회의실 배정 (그리디 알고리즘)

    [시간초과 요인 분석] - 이전의 코드는 O(n^2)였지만 O(n)으로 줄어들었다. - 정렬을 한번 더 했어야 했다. - 바로 머릿속에 있는대로 구현하기보다는 (모든것을 확인하려고 했었음), 불필요한것은 덜어낸 채로 찾아보는 방법을 더 생각해 보도록 하자.(시간초과와 관련이 있음) #회의 시작시간 순으로 배열을 정렬한다. sch=sorted(sch,key = lambda x: [x[1], x[0]]) [처음 코드] import sys n=int(sys.stdin.readline()) sch=[] #회의의 시작시간 S , 마치는시간 E 를 sch 배열에 담는다. for i in range(n): S,T=map(int,sys.stdin.readline().split()) sch.append([S,T]) #회..

    220708 [금] 정신없이 산다는것,,

    진짜 정신이 없다. 하루 할거 정해서 하다보면 밤이다. 자고일어나면 또 할거 하다보면 밤이고 벌써 주말이다,, 근데 이게 싫진 않다. 다만 그 상황에서 더 인지를 갖고 어떤부분에서의 성장을 하고 있는지 내 자신을 바라보고 싶을 뿐이다. 너무 흘러만 가게 두고 싶지 않은 마음? 어렵구만.. 솔직히 이번 월화수목 열심히 살았는데 남긴 기록이 탐탁치 않다. 기록에 내 생각을 담고싶은데 그냥 정보, 했던 일들 이런 것들만 담기는게 좀 아쉽다. 그렇다면 시간을 조금이라도 마련하는게 낫겠다. 기록에 조금 더 내 의견을 담아보자. [오늘 계획] 1. 알고리즘 https://www.acmicpc.net/problem/1931 2. [타이탄의 도구]들 읽고 생각 정리, 루틴 설정 3. SPRING 강의