전체 글 69

Request를 최소로 해야되는 이유

최근에 42서울에 있는 모든 사람들의 유저 데이터를 가져와야되는 이유가 생겼다. 그래서 42API로 전체를 가져오는 로직을 제작하고 있었는데, 이 과정에서 너무 많은 시간이 걸리는 것을 인지하고 최적화에 나섰다. 처음 시도한 방법은 기본적인 API요청을 기반으로 요청을 작성하였는데, 기본적인 페이지 사이즈는 30이었다. 즉, 한번 GET요청을 던지면 서버에서는 30명의 정보를 내게 리턴해주는 방식으로 작동하였다. 사실 30명이라는 사이즈가 그렇게 크지는 않았지만 전체인원(42를 그만두거나 블랙홀에 빠진 인원)을 포함하여 모두를 가져오다보니, 총 요청이 270번 정도 작동하는 문제가 있었다. 컴퓨터에서 비용은 레지스터

RFC7230 요약(HTTP 아키텍처)

본 내용은 RFC7230을 기반으로 작성되었습니다. 영문판을 기반으로 해석을 통해 작성하였으며, 틀린 내용 댓글로 알려주시면, 수정할 수 있도록 하겠습니다. HTTP란? HTTP는 HyperText Transfer Protocol의 약자로, 네트워크를 기반으로 작동하는 무상태 어플리케이션 레벨 요청/응답 프로토콜을 말한다. 이 응답 프로토콜이 사용하는 것으로는 네트워크 기반 하이퍼 텍스트 정보시스템과 유연한 상호작용을 위한 확장 가능한 메시지 페이로드를 포괄하고 있다. 처음 들으면, 무엇인지 이해하기 힘든데, 중요한 키워드 2가지 무상태와 어플리케이션 레벨만 정리하고 넘어가자 첫번째로, 무상태란 무엇일까? 무상태를 설명하기 위해서는, 그 전에 Connectionless(비연결성)에 대해서 설명해야된다. ..

나의 몽골 여행기(3, 대자연의 위대함과 함께)

몽골의 자연은 상상을 뛰어넘는다 세상은 넓고 볼 것은 많다고 하지 않는가? 몽골은 그 볼 것이 너무나도 많은 곳이었다. 끝없이 펼쳐진 국토에 사람은 많이 살지 않다 보니, 몽골에 멋있는 대자연은 다른 나라의 자연과 궤를 달리하는 경우가 많았다. 이곳에서 관광지라고 이름이라도 내밀기 위해서는 다른 나라 1 티어 자연관광지는 데리고 와야 했다. 내가 2년 이상 본적을 옮겼던 단양의 자연도 이곳에서는 그저 지나가면 있는 관광지정도였다. 그 정도로 이 몽골이라는 곳의 대자연은 넓고 광활했다 아름답고 또 아름다운 모습들의 향연이 바로 이곳이다. 인간이 만들어낸 그 어떤 건축물도 대자연이 수 천년 간 빚어낸 작품에 비할 수 없다는 말을 본 적이 있었는데, 그때는 다 헛소리라고 생각했다. 인간에게 가장 감명을 줄 수..

회고/여행 2023.03.06

나의 몽골 여행기(2, 칭기즈 칸의 흔적을 찾아서)

몽골의 길에는 낭만이 있다. 낭만과 고생은 함께온다고 생각한다. 나는 20대에 몽골에 온 것을 정말 잘한 선택이라고 생각했다. 몇 년만 지나서 왔다면 허리가 아파서 저 차에 그렇게 오랜시간 앉아있지 못했을 것이다. 푸르공은 정말 재미있는 차다. 정말 작아보여서 내가 저기에 들어갈 수 있을까 싶다가도, 안에 앉아있으면 꽤 아늑해서 타고다니기 좋다. 또, 와 저런 곳을 차가 갈 수 있을까? 싶은 곳을 아무렇지도 않게 달려나간다. 이 황량한 땅에서 일어나 세계를 호령한 몽골 제국의 기병이 연상되는 차이다. 작지만, 강하다. 몽골 여행을 계획하고 있다면, 저 차 안에 최소 가는날 * 6시간 정도는 탑승한다고 생각하면 좋다. 도로의 85% 이상이 비포장 도로이기 때문에, 저 차를 타고 ATV를 버틴다고 연상하면 ..

회고/여행 2023.03.06

나의 몽골 여행기(1, 울란바토르로 떠나다.)

들어가면서 터키를 다녀오고 1달이 지난 시점, 나는 아직 여행이 목말랐다. 군에서 보낸 2년 4개월의 갇혀있던 시간은 3주 정도의 터키여행으로 갈음하기에는 너무 컸고, 나는 그 여행에 대한 목마름을 충족시킬 어딘가를 찾아다녔다. 인도와 스탄 국가들을 제외하고 거의 모든 아시아 국가를 다 가본 나로서는 몽골은 아직 가보지 않은 미지의 땅이었고, 나는 이 갈증을 채워줄 곳으로 몽골을 선택했다. 몽골을 가기로 마음 먹은 후, 여러 리뷰들을 비교하며 어떻게 갈까를 생각해 봤다. 개인적으로 가장 선호하는 여행 방법은 충분한 조사를 바탕으로 한 개인여행이지만, 몽골은 그런 부분이 매우 제한적이라는 것을 조사를 통해 알 수 있었다. 실제로, 가장 유명하고 볼 것이 많은 여행지들은 수도에서 비포장 도로를 15시간 이상..

회고/여행 2023.03.06

[42서울] 인셉션을 마치고(Docker, LXC)

들어가면서 5서클에 올라오자마자 가장 만만한 친구를 고르자면 아마도 (내게는)이 인셉션이다. 이 과제는 내가 정한 리눅스 내에 가상머신의 꿈 속의 꿈을 구현해내는 과제인데, 이 과정에서 Docker을 통한 가상화를 깊이있게 학습하게 된다. 나는 지금도 3개 이상 팀에서 웹 서비스 배포를 담당하고 있다보니, 이러한 작업에 익숙해졌고 덕분에 편안하게 과제를 잘 마무리할 수 있었다. 과제의 총 소요기간은 약 5일정도였으며, 나는 과제에서 필수적으로 요구하는 PHP, DB, NGINX 외에도 추가적인 서비스들을 구축하여 보너스 점수를 얻을 수 있었다. 내가 총 구현한 도커 컨테이너는 10개로 각각은 다음과 같다. 필수 구현 : MariaDB, Nginx, WordPress 보너스 구현 : Redis, admin..

[42서울] 5서클 ft_container을 보내며(Generic Programming)

들어가면서 드디어! 5서클의 악명높은 컨테이너 과제를 성공적으로 마쳤다. 처음 이 과제를 마주했을 때에는 도대체 내게 무엇을 원하는 것인지 몰라서 절망한 순간들도 있었지만, 이렇게 과제를 다 마치고 나니 이 과제를 통해서 정말 많은 것들을 배웠던 것 같다. 이제는 42서울 과제 난이도 조정으로 인하여 이너서클의 필수과제가 아니게 되었지만, 옛날에 존재했던 이 컨테이너라는 과제가 도대체 무엇이었을지 궁금할 수 있는 카뎃분들과 내가 이 과제를 통해서 어떤 것들을 배웠는지 남기기 위해서 글로 흔적을 남겨본다. 컨테이너? 컨테이너라고 하면 모두들 어떤 것이 생각나는가? 대부분의 사람들은 부두에서 볼 수 있는 네모네모한 상자들을 생각해낼 것이다. 나는 그래도 프로그래머라고 도커를 가장 먼저 생각했다. 하지만, 이..

[42서울] 23년 2월 Top Contributor가 되다

42서울의 Top Contributor 42서울에는 코알리숑이라는 제도가 있다. 이 제도는 (마치 해리포터의 그리핀도르, 스미드린 처럼) 42서울 내 구성원들 간에 팀과 소속감을 가지고 서로 선의의 경쟁을 부추기기 위해 존재한다. 나는 건곤감리 중 곤의 소속으로 곤 내부에서 특별한 자리를 차지하고 있지는 않았다. 이 그룹에 소속된 인원들은 자신의 소속에 애착을 가지고, 더 높은 코알리숑 점수를 얻어 다른 코알리숑을 이기는 경험을 할 수 있다. 이번 달 우승한 코알리숑은 건(노랑색)이었지만, 2월에 42서울 전체중에서 가장 많은 코드를 치고 활동을 한 인원은 나여서 덕분에 이런 영광스러운 자리에 수상을 받을 수 있었다. 그냥 열심히 하고 있었는데 사실 나는 이런 탑 컨트리뷰터 제도가 존재하는지도 몰랐다. ..

42모글 개발기 발표 회고(안되면 될 때까지)

발표 영상 내 발표 순서는 14:30부터(발표는 순서대로 mgo, susong, joonhan, minsukan) 우당탕탕! 정말 말 그대로 안되면 될 때까지 밀어붙일 수 있는 열정의 사나이들이 드디어 프로젝트를 마치고 그 후일담을 발표하게 되었다. 오늘은 우리의 프로젝트의 마침점인 발표에 대해서 한번 이야기해보려고 한다. 무엇을 개발하려고 했는가? 42내에서 공부는 자율과 책임을 강조하는 42커뮤니티답게 자신의 스케쥴에 맞춰서 진행되게 되는데, 대부분의 사람들이 그러하듯 이 스케쥴이라는 것이 자율로 하게하면 잘 작동하지 않는 부분이 많다. 자신에게 스스로 지속적인 자극을 주지 못한다면 게을러지는 것은 어쩔 수 없는 것은 인간이 가진 게으름의 형태이기 때문이다. 또한, 학교처럼 어떤 유대를 맺어주는 그룹..

발표/42서울 2023.03.01

이노베이션 컨퍼런스 발표 후기(42서울은 피라미드를 쌓는 곳이다)

발표영상 2022.12.15.(목) 이노베이션 아카데미 성과 공유 컨퍼런스 발표 제목 42서울은 피라미드를 쌓는 곳이다(송승운) 들어가면서 2022. 12. 15.(목) 재단의 요청을 받아 이노베이션 컨퍼런스에서 발표를 하게 되었다. 발표를 하고 나서 생각했던 것들 그리고 그 뒷 이야기들을 오늘 한번 해볼까 한다. 처음 발표를 하게 된 계기는 간단했다. 발표를 통해서 내가 가지고 있는 생각과 의견을 나누는 것이 즐거운 나는 이번 이노콘도 당연히 발표 하나쯤은 해볼까? 하는 생각을 가지고 있었다. 42서울에서 사용하고 있는 커뮤니케이션 툴인 Slack에 이노콘 두달 전 연사를 구한다는 이야기가 올라왔고, 나는 이 연사 지원에 42서울에 대해서 하고싶은 말들을 주제로 신청을 했다. 그런데, 신청을 하고 연사..

발표/42서울 2023.02.28

KF-21보라매 도메인 구입기

왜 구매했는가? [단독]"현대차보다 불에 탄 포르쉐 탈 것"…선 넘은 'K방산' 견제 [아시아경제 양낙규 군사전문기자]최근 수년간 승승장구한 ‘K-방산'에 대한 글로벌 견제가 심각한 수준인 것으로 드러났다. 세계 경쟁 방산기업들이 한국 무기명과 동일한 도메인을 선점해 악 v.daum.net 시작은 아주 간단한 이유였다. 어느 기사에 우리나라 국방 무기들의 도메인들이 다른 나라에 점유되어 홍보에 어려움을 겪고 있다는 소식. 그것이 나를 도메인 구입으로 이끌었다. 웹 배포 경험이 여러번 있고, 도메인도 5개 이상 보유하고 사용하고 있는 사람의 입장에서 도메인 하나 더 구매하는 것은 큰 문제가 아니었고, (애국을 위해) 이번 기회에 하나 더 추가하기로 마음먹었다. 우리나라에서 지금 가장 핫한 무기는 당연 폴란..

크롬은 어떻게 작동하는가? 발표 회고(2022. 12.)

들어가면서 2022.11월 내 Slack에는 하나의 부탁이 찍혔다. 다름이 아니라, 42 재단에서 수요지식회를 주제로 박람회를 여는데 거기에서 발표를 부탁한다는 내용이었다. 배움의 나눔이라는 것에 충실한 나는 여러 번 42에서 발표를 진행했었고, 재단 담당자도 그런 나를 좋게 봤던 것 같다. 당연하게도 바로 승낙하려고 했는데, 내용이 조금 이상했다. 내가 철학과를 전공한 것을 바탕으로 철학을 강연해줬으면 하신단다.. 그 제안은 즉시 거절, 하지만 그때 당시 프론트를 처음 접하며 궁금했던 브라우저에 대하여 발표하기로 했다. 리액트를 익히며 최적화하는 코드들에 지속적으로 관심을 가졌으나, 브라우저의 작동원리가 결여된 상태에서는 이해하기 힘든 부분이 많았기 때문이다. 그렇기 때문에 나는 브라우저에 대해서 하나..

발표/42서울 2022.12.21

끝까지 파보는 HTTPS

HTTPS 누구냐 넌! HTTPS == HTTP + SECURE 말 그대로, HTTPS는 보안이 되는 HTTP 프로토콜이다. (영문으로, HyperText Transfer Protocol Secured) HTTPS가 생긴 것을 보면 기존 HTTP는 보안이 취약했는가? 맞다. 기존의 HTTP 프로토콜 예하에서 진행된 통신들은 보안 측면에서 문제가 있었기 때문에 이것을 보완하기 위해서 HTTPS 프로토콜이 만들어졌다. 그렇다면 HTTPS 프로토콜은 어떤 장점들이 있을까? HTTPS 프로토콜이 필요한 이유 3가지 1. 개인정보를 보호받을 수 있다. - 개인정보가 보호받을 수 없으면, 내가 서버로 보내는 내용을 누군가가 가로채서 읽을 수 있다. - 네트워크단에서 내가 보내는 HTTP패킷을 누군가가 읽을 수 있는..