들어가며슈퍼컴퓨터 관리자로 일하기 시작한 지 약 세 달째가 되었다. 대략적으로 하고 있는 일들은 익숙해졌다. 가장 중요한 일 중 하나는 비정상(abnormal)으로 작동하고 있는 노드들을 고치는 것이다. 주로 소프트웨어적인 측면에서 발생하는 문제는 HPC(High Performance Computer)를 클러스터링 할 때, Slurm이라는 툴을 사용하는데, Slurm에서 node의 상태가 drain으로 찍히는 경우이다. 이러한 경우에는 먼저 ssh로 접속하여 htop같은 명령어를 통해 리소스 사용량을 조회하고, slurm의 로그 파일을 읽어 어떤 문제가 있는지 확인하고, reboot 명령어를 통해 서버를 재실행하는 방법으로 해결하곤 한다. 소프트웨어적인 측면이 아니라 하드웨어적인 측면에서도 비정상(abn..
project
들어가며이번 포스팅에서는 웹소켓을 통해서 채팅 서버를 구현하는 방법에 대해서 알아볼 예정이다. 먼저 채팅 서버의 가장 중요한 특징은 무엇일까? 그것은 바로 실시간이라는 것이다. 일반적으로 요청(Request)와 응답(Response)으로 이루어진 HTTP API와는 다르게 실시간으로 통신하는 것이 중요한 채팅 서버에서는 웹소켓(Websocket)이라는 프로토콜을 사용한다. 따라서 이번에는 웹소켓이라는 프로토콜을 사용할 예정이다. 위와 같은 채팅 서버를 구현하기에 앞서 우리는 AWS를 이용할 예정이다. 우리가 사용할 서비스는 IAM, Amazon Lambda, API Gateway, DynamoDB를 사용할 예정이다. 간단하게 프리뷰를 하자면 다음의 포스팅을 참고하였다. 해당 포스팅에서는 CloudForm..
들어가며개발자라면 자신이 그동안 만들었던 서비스들을 보여줄 수 있는 포트폴리오가 있으면 좋을 것이다. 특히 개발자라면 웹을 통해서 자신의 포트폴리오를 보여주는 것이 하나의 재미인 것 같다. 웹 개발을 모르는 사람이 개인 포트폴리오 사이트를 보면 엄청나다고 생각하는 경우도 꽤 있지만 사실 개발자의 입장에서는 그렇게 어려운 일이 아니다. 직접 포트폴리오 사이트를 만들 수도 있고, 다양한 방법으로 호스팅 할 수도 있는 것이다. 이번 포스팅에서는 간단하게 포트폴리오 웹사이트를 만드는 방법을 서술할 예정이다. 이 포스팅의 핵심 포인트는 개발을 전혀 모르는 사람이더라도 쉽게 웹사이트를 만들 수 있게 설명했다. 준비물로는 도메인 네임과 웹사이트 템플릿을 구매할 약간의 크레딧과 깃허브 계정이 필요하다. 본론먼저, 다음..
들어가며 필자는 토이 프로젝트를 진행하는 것을 굉장히 좋아한다. 대부분의 토이 프로젝트에서 자주 구현하는 것 중 하나가 크롤러이다. 정보가 넘쳐흐르는 웹 세상에서 원하는 정보를 끌어와 가공하여 다양한 서비스를 제공할 수 있다는 점이 굉장히 흥미로웠기 때문에 많은 토이 프로젝트에서 크롤러를 구현하곤 했다. 크롤러를 만드는 데 node를 쓰기도 하고, python을 쓰기도 하고, Spring과 Kotlin 환경에서 스크래퍼를 구현해보기도 하는 등 거의 모든 프로젝트에 크롤러가 들어가는 것 같다. 이렇게 토이 프로젝트로 크롤러를 이것저것 만들다, 때는 작년 여름 시대생 앱 프로덕트에 쓰일 스크래퍼를 만들게 되었다. 단순히 스크래퍼 하나만을 만드는 것이 아니라 사용자들에게 다양한 서비스를 제공하는 애플리케이션의..