굳이 회고를 써야하나 하는 시점에서 지금 잘하고 있는가를 고민하다가 회고를 쓰면서 정리하기로 했다. 작년에는 블로그가 인생의 절반이었기 때문에, 블로그를 중심으로 회고가 이루어졌는데 올해에는 이런 저런 많은 일들이 있었으니 주제별로 세션을 나눠 회고를 해야겠다. 블로그 회고 1. 포스팅 성격에 따른 플랫폼 분리작년에는 티스토리에만 주구장창 포스팅을 했었다. 포스팅의 성격은 신경쓰지 않고 한 플랫폼에서 카테고리만 나눠 포스팅을 했더니 뭔가 모듈화가 되어있지 않은 느낌을 받았다. (이 정도면 거의 병이다.) 그래서 미디엄이라는 플랫폼에는 에세이 형식의 글을 포스팅하기로 했고 GitHub 호스팅을 통해 새로 블로그를 만들어서 프론트엔드 분야와 각종 Tool들을 소개하는 포스팅을 하기로 했다. 그리고 세 플랫폼..
Refactoring 1편 컴퓨터가 인식 가능한 코드는 바보라도 작성할 수 있지만, 인간이 이해할 수 있는 코드는 실력있는 프로그래머만 작성할 수 있다. What, 리팩토링이란 무엇인가 정의 리팩토링이란 겉으로 드러나는 기능은 그대로 둔 채, 아랑보기 쉽고 수정하기 간편하게 소프트웨어 내부를 수정하는 작업을 말한다. 리팩토링 기법을 연달아 적용해서 겉으로 드러나는 기능은 그대로 둔 채 소프트웨어 구조를 변경한다. 목적 첫째, 리팩토링은 소프트웨어를 더 이해하기 쉽고 수정하기 쉽게 만드는 것이다. 둘째, 리팩토링은 겉으로 드러나는 소프트웨어 기능에 영향을 주지 않는다. Why, 리팩토링은 왜 필요한 것인가 1) 소프트웨어의 설계를 보다 더 나아지게 한다. 2) 코드를 더 이해하기 쉽게 만든다. 3) 코드에..
blocking, non-blocking and AsyncBlocking I/O Model일단 I/O작업은 User Level(application)에서 직접 수행할 수 없다. 실제 I/O작업은 Kernel Level(OS)에서 일어나는 과정이다. 따라서 유저 프로세스(applicatioin)는 커널(OS)에게 I/O 작업에 대한 요청을 해야 한다. I/O 작업을 처리하기 위해 User Level에 있던 Application이 시스템 함수를 호출한다.(system call) 이 때 context-switching 이 발생한다. 그리고 Kernel Level에서 해당 I/O 작업이 끝나고 데이터를 반환하게 되면 그 때가 되서야 애플리케이션 단의 스레드에 걸렸던 block이 풀린다. 애플리케이션 관점에서 보..
이번에 스타트업과 대기업 한 곳씩 'SW개발 인턴'으로 지원을 했습니다. 그 지원 과정과 면접 후기를 공유합니다. 구직하고 계시는 예비 개발자분들에게 도움이 되었으면 좋겠습니다. (면접에서 물어본 구체적인 내용에 대해서는 말씀드릴 수가 없습니다.) 스타트업 K사 지원 후기서류로 지원서와 포트폴리오가 제출하였고, 운이 좋게 통과하면서 면접 날짜가 잡혔다. 그리고 Coding Assignment가 주어졌다. 자신이 원하는 언어를 사용하여 문제를 해결할 수 있었고 제한 시간(3시간)내에 풀어서 Github주소를 통해 제출하는 방식이었다. 지원한 회사와 관련된 coding assignment가 주어졌다. 평소에 사용해봤던 라이브러리를 사용하여 보다 수월하게 할 수 있었지만 완벽하게 구현하진 못했다. 면접은 오후..
"9개월 간의 블로그 포스팅 회고"다른 기술 블로그 글에 영감을 받아 저도 한 번 회고를 작성해봅니다. 블로그를 시작하게 된 계기받은 만큼 베풀어야 올해 3월부터 블로그를 시작했습니다. 9~10개월 정도 되었네요. 처음 이 분야에 대해 알아보기 시작했을 때의 그 막막함은 이루 말할 수 없을 정도였습니다. 하지만 다른 분야만 할까요? 많은 선배 개발자분들이 여러 채널을 통해 정보를 공유해주시고 계셨습니다. 각종 블로그, 각종 커뮤니티 등 검색 만으로 취할 수 있는 정보가 정말 많았습니다. 개발 공부 초기에 많은 도움을 받았고 받은 도움을 나 또한 베풀어야겠다고 다짐했습니다. 가르치듯 공부하기누군가에게 무언가를 설명할 때 논리적인 허점이 들어나고, 질문에 대한 답을 할 때 알고 있다고 착각하는 부분들이 드러..
- Total
- 1,373,461
- Today
- 40
- Yesterday
- 529