My profile

Who?

이것저것 다 하고, 폭넓은 지식을 가진 사람입니다. 욕심이 많고 의욕이 강해 뭐든지 알고자 하는 성격을 지니고 있습니다. 시스템 프로그래머에 대한 열망을 가지고 있으나 최근은 웹에 깊은 관심을 가지고 웹 프로그래머를 지망하고 있습니다. 특히 Back-end programming에 대한 깊은 관심을 가지고 있습니다.

Skill

웹 관련:

  • Linux
  • 5년간 리눅스를 메인 PC의 OS로 사용하면서 리눅스 시스템에 대한 깊은 이해를 가지게 되었습니다. 프로세스 관리, 태스크 관리부터 시작해서 문제가 생겼을 때 문제가 생기는 부분에 대해 빠른 통찰력을 가지고 있습니다. ip 명령어와 ifconfig명령어 사용법에 대해 잘 알고 있고, 각종 쉘 스크립트를 이용한 자동화에도 많은 관심을 가지고 대부분의 작업을 자동화 하는 것에 관심이 많습니다.

  • Docker
  • Docker를 통한 컨테이너 단위의 서비스 관리에 대해 지식이 있습니다. 대부분의 서비스를 Docker에 올려 관리하는것을 좋아하고, Docker-compose를 작성하여 관리하는 것에 대한 지식이 있습니다. 직접 Docker image를 만들어 직접 만든 서비스를 배포하기도 해 봤습니다.

  • Nginx
  • 첫 웹서버로 nginx를 사용하게 되어 지금까지 쭉 사용하고 있습니다. site-enablesite-available로 사이트를 관리할 줄 알며, 로드밸런서를 이용하여 tinc로 연결 된 여러 서버들에 한 서비스를 올려 서버가 하나 죽더라도 서비스의 안정성을 해치지 않게 하는 작업을 해 본 적이 있습니다.

  • Flask
  • 웹 어플리케이션 서버가 필요한 경우, Flask를 이용합니다. Flask를 이용한 RESTFul API 개발 경험이 있고, JWT를 이용한 로그인 서비스 구현도 해 보았습니다.

  • Nodejs
  • 노드같은 경우는 프론트엔드 개발이나 정말 빠르게 백본 서버가 필요한 경우 node express를 위해 사용합니다. 이것도 RESTFul API 개발 경험이 있습니다.

  • Javascript
  • Javascript의 내부 동작에 대해 관심이 많아, 여러가지로 공부해 보았습니다. prototype-based programming 철학에 대해 조금은 익숙하고, Promise, Scope, Hoisting 등에 대한 지식을 가지고 있습니다.

  • Python
  • 개념증명이 필요하거나, Tensorflow등을 다룰 때는 Python을 사용합니다. 가장 좋아하는 언어이며, 언제나 Pythonic한 코드를 작성하려고 노력합니다.

시스템 프로그래밍 관련:

  • Linux
  • 리눅스 시스템의 파일 구조와 시스템 콜에 대한 이해도가 있습니다. 특히 리눅스 시스템에서 각 시스템들이 어떤 파일을 참조하는지, 어떤 파일에 정보를 쓰는 지에 대한 지식이 있습니다. (ex: /dev/sd*, /proc/partitions)

  • Python
  • 파이썬으로 시스템 콜을 이용하여 프로그래밍 하는 것에 지식이 있습니다. 특히 자식 프로세스나 다른 프로세스간의 파이프간 통신에 대해 잘 알고 있습니다.

  • C
  • C라는 언어는 잘 다루지는 않지만, 기본적인 사용법에 대해서는 알고 있습니다. 적어도 시스템 콜을 이용할 수 있을 정도는 알고 있지만, C언어의 구조를 잘 이해하고 깔끔한 코드를 쓰는 것에는 서투릅니다.

My projects

Relative Site