분류 전체보기

아주 예전에, 학교 공지사항의 내용을 스크래핑에서 데이터베이스에 저장하고, 새로운 공지사항이 올라온 경우 사용자에게 알림을 보내는 기능을 개발한 경험이 있다. 이에 대한 내용도 포스팅을 해두었으나, 최근에 좀 더 자세하게 해당 내용을 써달라는 요청을 받기도 했고, 고생을 많이 했던 경험이 있기 때문에 보다 자세하게 해당 내용과 다양한 트러블슈팅에 대한 내용도 담으면 좋을 것 같다는 생각을 하게 되어, 좀 더 구체적으로 작성해보려고 한다. 시대생팀에서 2023년에 앱을 리빌드 하는 과정에 앞서, 기획팀원분들은 나서서 유저 리서치를 진행했습니다. 함께 유저 리서치에 참여하여 실제 사용자들은 어떤 기능을 유용하게 사용하고 있는지 함께 이야기를 나눈 적이 있습니다. 그 당시 새롭게 학교 공지사항이 올라왔을 때..
최근에 새로운 프로덕트에 백엔드 포지션으로 붙게 되면서 기존 프로덕트의 세팅을 해야 하는 일이 있었다. datadog를 통해서 로그 세팅부터 트레이스 세팅까지 완성을 해두었고, 로그 포맷을 조금 수정하고 있던 도중에 문득 관측성의 세 가지 축이란 키워드가 떠올랐다. 원래는 손이 많이 가던 프로덕트는 아니었으나, 나를 포함한 다른 개발자들이 프로덕트에 붙기도 하였고, 앞으로 다양한 서비스를 쌓아올릴 예정이라 정비를 할 필요가 있었다. 간단한 프론트엔드쪽 리펙토링과 함께 백엔드에서는 로그 시스템을 손보고 있었다. 백엔드 시스템의 Observability를 챙겨주는 과정에서 로그라는 것은 정확히 어떻게 찍는 건지. 그런 것들을 실무적으로 고민해 본 적이 없었다. 그래서 그런 것들을 찾아보는 과정에서 이 관측성..
· 후기/책
클라우드 시대의 인프라 관리 방법을 지지하는 사람들은 연속성을 간단한 것이라고 생각한다. 시스템을 안정적으로 운영하기 위한 가장 친숙한 접근 방식은 변경을 수행하는 데 비용이 많이 들고 위험하다는 구시대의 전제를 기반으로 한다. 이러한 접근 방식은 클라우드, 애자일, 빠른 변경 속도에 중점을 둔 여러 방법의 이점을 약화시킨다. 이 책은 친절한 아키텍처 그림과 함께 책의 표지에 붙어있는 것처럼 27가지의 인프라 관리 패턴에 대해서 소개한다. 패턴과 안티패턴에 대해서 다룬다. 이 책은 코드로 인프라 관리는 어떻게 하는 것이다! 라고 말하는 책이기보다, 표지 그대로 패턴에 대해서 나열되어 있다. 따라서 각 패턴을 이해하기 위해서는 꽤 많은 인프라에 대한 이해가 있어야 한다. 책 소개이 책의 주제 및 목표는 인..
· 후기/책
'이펙티브' 시리즈는 특정 주제에 대한 '두 번째 표준 책'을 지향하고 있습니다. 이전에 자바스크립트와 타입스크립트로 작업해본 경험이 있다면 이 책이 매우 유용할 것입니다. 이 책을 산 건 꽤 오래 전이지만, 당시에는 크게 TS 기반의 작업을 많이 하지고 않았고 오래 하지도 않아서 정말 무슨 소리인지 이해하기도 어려웠고, 이해는 할 수 있었지만 '이게 대체 왜 필요하지?' 이런 생각이어서 얼마 못 읽고 책을 덮었다. 최근에는 TS 기반의 풀스택(Next.js, Nest.js) 개발을 하기도 하고 있고, 주말에 문득 기술 서적을 뭘 읽어볼까 하다가 꺼내든 책인데, 생각보다 테크니컬한 부분에서 재미있게 읽은 책이다. 책 소개이 책은 위에 써놓은 그대로, 타입스크립트의 중급자를 위한 책이다. 여느 중급자 책이..
· 후기/책
게임 데이는 의도적으로 장애를 발생시켜 팀이 실제 상황에서 어떻게 대응하는지 관찰하고 개선점을 찾는 시뮬레이션 훈련이다. 마치 소방 훈련이나 재해 대피 훈련처럼, 실제 장애가 발생하기 전에 미리 경험해보는 것이다. 특정 기간을 정해놓고 게임 데이(Game Day)를 실행하게 되면, 개발자들은 장애를 대응하기 위해서 일사불란하게 움직인다. 여러 개발자들끼리 힘을 합치면 어떻게든 장애는 해결할 수 있을 것이다. 하지만 미리 사전에 훈련되어있지 않은 장애 대응으로 인해, 특정 권한을 급하게 누구에게 요청해야한다거나, 이 시크릿 키는 누가 들고 있다거나와 같은 이유로 장애 대응이 늦어지는 이유를 확인할 수 있다. 책 소개카오스 엔지니어링은 어느 정도 개발을 접해본 사람에게는 익숙한 키워드일 것이다. 특히 넷플..
최근에 마인크래프트를 팀원분들과 하게 되었다. 올해 새롭게 출시된 엄청나다던 맥북 m4 pro를 구매했기 때문에 쉐이더 모드라는 마인크래프트의 그래픽을 엄청나게 좋게 만들어주는 모드를 설치하려고 했다. 위 보이는 사진은 쉐이더 모드를 설치하기 위한 인스톨러이다. 근데 이게 웬걸, 찾아보니까 MacOS에서 설치하는 방법이 없었다! 절망감에 휩싸이며 포기하려던 찰나, 쉐이더를 설정하는 파일을 봤더니 그 인스톨러의 확장자가 .jar로 끝나는 것을 봤다. 내가 왜 MacOS에서 설치하는 방법이 없었고, 스스로 도전해보지 않았냐면 ARM64 버전 인스톨러가 없기 때문에 '설마 MacOS는 지원을 안 하는 건가?'라고 생각한 것이었다. 그도 그럴게, 게임이라는 카테고리에 있어서는 MacOS는 거의 외딴 섬 취급이기..
최근에 소프트웨어를 깔면서, 그리고 docker image를 빌드하면서 자꾸 ARM과 AMD을 설정해줘야 하는 부분이 있었고, 가끔씩 뭐가 뭔지 까먹는다. 둘이 비슷하기도 하고, 실수해서 잘못 입력하기도 한다. 아무튼, 그러한 작업을 계속하다 보니까 자연스레 관심이 생겼고, 결론적으로는 마인크래프트를 설치하는 과정에서 컴파일러와 인터프리터의 궁극적인 의문점이 생겼다. ( 뭔지는 다음 포스팅에서 다룰 예정 ) 그전에 앞서, ARM와 AMD 아키텍처를 먼저 짚고 넘어가야 할 것 같다. 우리가 흔히 아는 CPU는 아마 Intel일 것이다. 그리고 맥북을 좀 안다면 맥북에서 m1, m2와 같은 CPU를 내고 있다는 것도 알 것이다. CPU 회사들의 제품들 아키텍처는 다음과 같이 정리할 수 있다. 포인트는, in..
· 후기/책
"그 사람의 존재로 인해 팀이 전체적으로 나아진다면 책임 개발자다. 그 사람의 존재로 인해 회사가 전체적으로 나아진다면 수석 개발자다. 그 사람의 존재로 인해 업계가 더 발전한다면 최고 개발자다." 이 책은 크게 세 가지 챕터로 나뉘어 있다. Disciplines, Standards, and Ethics. 이 책의 저자 로버트 C.마틴은 각 챕터에서 소프트웨어 엔지니어를 장인(Craftman)이라 생각하며, 꼭 지켜야할 내용들을 정의한다. 책 소개이 책의 챕터는 크게 세 가지로 나뉘어 있는데, 다음과 같다. The Disciplines규율을 의미한다. 소프트웨어를 개발하는 사람이 지켜야 할 규율, 리펙터링을 꾸준하게 하고 보이스카우트처럼 다른 사람이 한 선행에 무언가를 더해서 다시 베푼다. 체크인된 코..
marsboy
'분류 전체보기' 카테고리의 글 목록