본문 바로가기

분류 전체보기103

[Network] 4. HTTP 버전 & QUIC 1. 개요 HTTP프로토콜은 TCP/IP 환경에서 동작한다고 알고있다. 하지만 HTTP가 TCP프로토콜에서 동작하는게 맞는 말일까? 위키백과 HTTP(HyperText Transfer Protocol, 문화어: 초본문전송규약, 하이퍼본문전송규약)는 W3 상에서 정보를 주고받을 수 있는 프로토콜이다. 주로 HTML 문서를 주고받는 데에 쓰인다. 주로 TCP를 사용하고 HTTP/3 부터는 UDP를 사용하며, 80번 포트를 사용한다. 그렇다. http프로토콜은 TCP가 필요한 것이 아니라 신뢰성을 보장하는 프로토콜이 필요한 것이었고, TCP보다 효율적으로 전송할 수 있는 UDP가 신뢰성 까지 보장한다면 TCP를 사용할 이유가 없을 것이다. 이 사실을 모른 채 HTTP에 대한 대화를 나누다 http는 tcp에서.. 2021. 5. 28.
[Network] 3.로드밸런싱(Load Balancing) 1.로드밸런싱 서버가 수천만명의 사람들의 접속을 감당하지 못하면 어떻게 해야할까? 이를 해결 하는 방식에는 2가지가 있다. 1. 장비를 업그레이드 하는 Scale-up방식 2. 장비를 여러개 두는 Scale-out방식 2번의 경우 장비를 여러개 두게 된다면 장비마다 다른 IP를 가지게 되어 어떤 서버에 누가 얼마나 들어가는지 설정하지 못하기 때문에 각 서버에 부하를 적절하게 분산해야한다. 개발자의 의도대로 각 서버가 부하를 적절하게 나누는 것을 로드밸런싱(load balancing)이라고 한다. 이때 로드밸런싱을 담당하는 장비를 로드밸런서(load balancer)라고 한다. 2. 로드밸런서의 종류 로드밸런서는 OSI 7계층을 기준으로 부하를 분산하는 방법에 따 라 종류가 나뉜다. 계층 방법 프로토콜 L.. 2021. 5. 27.
[프로그래밍언어] 절차지향 vs 객체지향 vs 함수형 프로그래밍 1. 개요 절차지향, 객체지향, 함수형 프로그래밍등 코디의 기초라고 할 수 있는 것들을 잘 알고 있을까? 각각의 차이점을 말하라고 한다면 잘 말 할 수 있을까? 라고 물어보면 그렇지않나? 라는 자신감 없는 대답이 나올 것 같다. 따라서 이번 포스팅을 통하여 정리해 보고자 한다. 2. 프로그래밍 패러다임 프로그래밍 패러다임 - 프로그래머에게 프로그래밍 관점을 갖게하고 코드를 어떻게 작성할지 결정하는 역할을 한다. 새로운 프로그래밍 패러다임을 통해서 새로운 방식으로 생각하는 법을 배우게 되고, 이를 바탕으로 코드를 작성하게 된다. 최근의 프로그래밍 패러다임 명령형 프로그래밍 : 무엇(What) 할건지를 나타내기 보다 어떻게(How)을 할 건지 설명하는 방식 절차지향 프로그래밍 : 수행되어야 할 순차적인 처리.. 2021. 5. 26.
[유튜브 추천] 우아한 Tech https://www.youtube.com/channel/UC-mOekGSesms0agFntnQang 우아한Tech 우아한형제들의 기술조직 이야기를 전하는 우아한Tech입니다. 우아한형제들 https://www.woowahan.com/ 우아한Tech 페이스북 https://www.facebook.com/woowahanTech 우아한형제들 기술블로그 http://woowabros.github.io/ www.youtube.com IT용어는 하루가 다르게 늘어간다. 또한, 정리를 해 두지 않으면 그 내용을 파악하기도 쉽지 않다. 해당 링크는 우아한형제들(배민)에서 운영하는 테크 유튜브로의 링크로 우아한 형제들이 개발자 양성을 위해 진행하는 우아한 테크코스의 참여자들이 그런 개념들에 대해서 발표를 하는 영상을 .. 2021. 5. 25.
[OS] 6. 가상메모리 1. 가상메모리 다중 프로그래밍을 실현하기 위해서는 다수의 프로세스들이 메모리 위에 올라와 있어야 한다. 하지만 메모리의 용량은 한정되어있고, 다중프로그래밍을 하려면 메모리 용량이 부족하기 마련이다. 가상메모리는 이런상황을 대비해 프로세스 전체가 메모리 내에 올라오지 않더라도 실행이 가능하도록 하는 기법이다. 이 기법의 장점 중 하나는 사용자 프로그램이 물리 메모리보다 커져도 된다는 점이다. 가상메모리는 사용자 관점의 논리 메모리와 물리 메모리의를 분리시켜 주 메모리를 균일한 크기의 저장공간으로 구성된 엄청나게 큰 배열로 추상화 시켜준다. 이번 포스팅에는 가상메모리를 구현하는 요구페이징에 대해서 알아보는 시간을 갖겠다. - 가상메모리의 필요성 잘 발생하지 않는(거의 실행하지 않는) 오류 상황을 처리하는 .. 2021. 5. 24.
[OS] 5. 동기화(세마포, 뮤텍스) ※본 포스팅은 공부목적(https://develaniper-devpage.tistory.com/77)에 따라 해당 블로그와 깃허브를 참조하여 제작된 포스팅 입니다. 1. 동기화 1) 경쟁상황( race condition ) 여러개의 프로세스가 동일한 자료를 접근하여 조작하고, 그 실행 결과가 접근이 발생한 특정 순서에 의존하는 상황을 말한다. 이런 경우에 동일한 자료에 대한 접근을 제한하여 접근 순서에 관계없이 항상 일관적인 결과를 도출 할 수 있도록 해야한다. 이렇게 같은 자원에 대해서 한번에 한 프로세스 혹은 쓰레드만 작업을 허용하는 것을 동기화라고 한다. 2) 임계구역(Critical Section) 공유자원이 접근하는 코드를 말한다. 각 프로세스 또는 쓰레드가 공유자원에 값을 변경하는 코드의 영역.. 2021. 5. 22.
개발 유튜브(조언, 방향제시, 개발인생 참고...) feat.개발바닥 세계 최초 예능지향 Dev 엔터테인먼트 토크쇼! https://www.youtube.com/channel/UCSEOUzkGNCT_29EU_vnBYjg/featured 개발바닥 본격 세계최초 개발 엔터테인먼트 토크쇼!! 스타트업 개발자와 유니콘기업 개발자!! 구독 안하면 장애남!! www.youtube.com 아마? 우아한 형제들(배달의 민족)에서의 인연으로 알게 되신 두분인것 같은데요(현재는 두분다 이직하셨음). 개발자로서 나아갈 방향도 제시해 주시고 참고가 될만한 얘기들도 많이 해주셔서 추천하는 유튜브 프로그램입니다. 또한 영상들을 시청하며 기업에서 필요한 개발자, 원하는 개발자가 되기위한 노력, 최소 지식수준에는 어떤것이 있는지도 확인 할 수 있던 계기가 됐던것 같아요. 특히 이 유튜브를 보고 "향로.. 2021. 5. 21.
디자인 (아이콘 사이트) https://www.flaticon.com/ Flaticon, the largest database of free vector icons Download all icons in SVG, PSD, PNG, EPS format or as webfonts www.flaticon.com 상업용 무료 아이콘을 다운할 수 있는 사이트 입니다. 상업적 용도는 써도 괜찮으나 저작권 표기를 해야한다고 합니다. 프리미엄 회원으로 결제한다면 저작권 표기없이 사용가능하다네요 전에도 사용한 적이 있었는데 꽤 괜찮았던 기억이 있어서 포스팅합니다 2021. 5. 21.