전체 글
-
항해99 후기카테고리 없음 2021. 10. 30. 02:07
항해99 에서부터 취업까지 2월에 퇴사를하고 항해99 부트캠프를 6월에 수료하고, 어느새 11월을 목전에 두었다. 그리고 어느덧 0.1인분의 개발자...가 되었는데 ... 어쨌든, 다른 사람들에게 도움이 될 만한 부트캠프 후기를 남겨보자. 실전 프로젝트 아마 항해를 하면서 가장 기억에 남는 것이 있다면 마지막 과정에 했던 실전 프로젝트이다. 정말 사람들이 사용 할 서비스를 (단기라도) 만들어볼 수 있었던 것이 가장 큰 장점이다. 실제 서비스 런칭하면서 유효성검사가 잘 이루어지지않아 생겼던 헤프닝도 고치면서 이력서의 소재가 되어주기도하고, 취준기간 동안 이 때 만든 서비스를 계속해서 유지보수 해나가는 재미도 있었다. 또, 실전프로젝트를 밤낮없이 같이하면서 친해진 동료들과도 지금까지 잘 지내면서 개발자로서 ..
-
10월까지의 회고blablabla 2021. 10. 26. 23:11
블로그가 너무 오랫동안 비워져있었기 때문에 다시 새로 시작하는 마음으로 회고부터 써보자. (회고라고 쓰고 취준후기라고 읽는다) 6월에 부트캠프를 수료하고 어느새 4개월이 흘렀다. 내가 추석 상여금은 받을 수 있을 줄 알았지 뭐얌^_^?... 하지만 어림도없지, 세상은 녹록치않았다. 전공지식 공부 개인적으로 공부하는 시간을 가지면서 컴퓨터과학 전공지식을 가장 먼저 시작했다. 네트워크같은 분야는 특히, 해당 지식이 없으니 이해하기 어려웠기 때문이다. 처음엔 스터디그룹 친구들이 추천해준 CS50으로 시작했다. 덕분에 컴퓨터공학의 아주아주 기초적인 부분을 빠르게 정리할 수 있었다. 강의도 길지않고 재밌어서 빠르게 들을 수 있었다. 이후에는 KOCW에서 제공하는 대학교 전공강의를 수강했다. 만약 대학에서 들었다면..
-
[독서] 인사이드 자바스크립트whatIRead 2021. 8. 23. 12:48
프로젝트 몇 개를 만들어보고, 이제는 좀 더 깊이있게 알고싶다는 생각이 들었다. 흔히 면접에서 나오는 질문들, 자바스크립트의 작동원리같은것들. 그래서 몇개의 일명 '근본책'들을 추천받았는데, 그 중 인사이드 자바스크립트가 제일이라는 소리를 듣고 바로 구매해서 읽기 시작했다. 하루에 2~3시간씩 각잡고 읽으니 생각보다 금방 읽게되었고, 이해하기 쉽게 코드로 설명을 해두어서 좋았다. 특히 프로토타입에 대한 이해가 부족한 상태였는데 그부분을 정말 딱 알맞게 채워준 책이다. 객체지향에 대한 내용, 심지어 직접 코드를 까보는 내용도 있다 와..없는게 뭐지?.. 노드를 까줬으면 더 좋았을텐데 살짝 아쉽지만 노드는 나중에 내가 직접 까보는걸로.. 지금은 객체지향부분에서 잠깐 멈춰있는 상태인데 조만간 완독해서, 객체지..
-
[알고리즘] JS 조합, 순열 재귀함수 이해하기TodayILearned/알고리즘 2021. 8. 23. 03:18
순열과 조합, javascript 재귀함수 이해하기 완전탐색 문제풀이를 위해 조합과 순열을 공부했는데, 코드의 흐름이 이해가 잘 가지 않았다. 이전에 재귀함수를 학습할 때도 어렵다고 느꼈는데, forEach문까지 합쳐져서 더 헷갈렸던 것 같다. 재귀함수 + 반복문 어택으로 자꾸 스택의 흐름을 놓치게돼서 헷갈렸는데, 직접 그려보고, 디버거에 쌓이는 호출스택과 비교하면서 보니 코드가 이해되기 시작했다. 우선 조합과 순열에 대해서는 인터넷에 많은 자료가 있기 때문에 이 글에서는 최소한의 설명만 하고, 코드의 진행 방향에 대해서 설명하려고한다. 조합 const getCombinations = function (arr, selectNumber) { const results = []; if (selectNumber..
-
전송계층 -1TodayILearned/네트워크 2021. 8. 16. 20:39
Pipelined protocols Sender가 패킷을 보내고 Receiver가 응답을 하는것을 일일이 기다리면서 작업하면 RTT가 너무 길어진다. 그래서 파이프라이닝 방식, 한번에 많은 패킷을 쏟아 붓는 방식으로 효율성을 높인다. 한 번에 얼만큼의 패킷을 보내는가의 여부는 window size(피드백 없이 한번에 보낼 수 있는 크기) Go-Back-N Receiver는 Sender가 보내는 #Seq 들을 기억해두었다가, 누락된 #Seq가 있을 경우, 다음 #Seq에 대해 ACK를 날리지 않고 계속 누락된 것을 기다린다. Selective Reapeat Receiver는 올바르게 전송된 모든 패킷에 대해 각각 Ack함 Sender는 누락되어 Ack받지 못한 패킷에 대해서만 재전송 아래 그림에서, 패킷2..
-
애플리케이션 계층2TodayILearned/네트워크 2021. 8. 16. 17:39
Reliable 데이터 전송의 원리 패킷 유실, 에러를 처리하여 reliable하게 만듦 완벽한 reliable 채널을 이용했다고 친다면, sender가 보내는 패킷은 모두 receiver에게 도달하게 될 것임. 그러나 channel이 에러가 발생한다면 에러의 발생 유무를 확인한다. 피드백을 보낸다. ACKs(Acknowledgements) NACKs(Negative acknowledgements) 재전송 NAK에 대한 패킷을 재전송한다. Feed back error 만약 feedback 자체에 에러가 있는 경우, 위의 프로세스는 부적절하다. 아래의 프로세스를 따르게된다. Sender는 각각의 패킷에 sequence Number를 붙인다. Sender는 에러가 발생한 ACK/NAK에 대해 재전송한다. R..
-
애플리케이션 계층-1카테고리 없음 2021. 8. 16. 17:06
socket programming 클라이언트 프로세스와 서버간의 인터페이스. 인터페이스란? - 여기서는 클라이언트 프로세스와 서버간의 상호작용을 위한 계층간의 경계 OS가 제공하는 기능만 사용 가능하다. TCP(socket stream) / UDP(socket datagram) 가 대표적 Socekt function - TCP case - socket() -> bind() -> listen() -> accept() -> read()/write() -> close() 1. 서버 소켓 생성, 특정 port에 바인딩, 클라이언트에 연결될 때 까지 block된다. 2. 소켓이 연결되면, 서버는 클라이언트에서 보낸 데이터(Input stream)를 읽을 수 있음 -read 3. 클라이언트에 데이터를 보냄 (Out..