분류 전체보기
커피를 프로그래밍하듯이 접근해보기
커피를 프로그래밍하듯이 접근해보기
2023.10.31요즘 커피에 빠졌습니다. 그동안 커피를 내려 마시며 생각한 것을 글로 남겨봅니다. 피코프레소로 아아를 위한 에스프레소 추출 V60를 이용한 브류잉 (약배전 원두의 2pour 추출) 정답이 없는 커피 추출 커피 추출은 정답이 없기 때문에 코딩과 비슷했습니다. 특히, 사람의 손을 많이 타는 브류잉이 그렇습니다. 같은 커피도 누가 내리냐에 따라 맛이 확연히 달라집니다. 물론 요즘은 추출을 도와주는 다양한 도구가 있기 때문에 레시피가 있기 때문에 간단한 훈련만 받으면 누구나 맛있는 커피를 내릴 수 있습니다. 저도 레시피 기반으로 추출하기 때문에 빠르게 익하며 맛있는 커피에 입문할 수 있었습니다. ㅎㅎ (반대로 향이나 감각 기반으로 맛있게 추출하는 핸드드립 방법도 있습니다) 커피 추출 미세조정하기! 이 글에서는 ..
코딩하는 이유
코딩하는 이유
2023.10.30학교 수업에서 미래의 나를 그리는 과제내주었다. 오랜만에 이런 고민을 다시 해본다. 왜 내가 코딩을 시작했는지, 코딩이 재밌는지, 평생 코딩을 할건지 이런 고민을 가끔하고는 한다. 코딩 입문 때를 떠올려보면, 다른 사람이 쓸만한 애플리케이션을 처음으로 만든 것은 고등학교 3학년 때이다. 당시 나는 아무것도 모르는 상태로 컴공을 지원하기 싫었다. 그때는 막연히 컴공 = 개발자인줄 (전혀 아니였지만) 알았고 무작정 앱 개발을 시작했다. 이때 나는 자바의 다형성도 무슨 의미인지 몰랐다. 자바의 신이라는 책과 안드로이드 책 한 권을 들고 매일 뒤적거렸고 구현할 때는 인터넷 검색과 문서를 계속 읽었지만 제대로 이해하기는 어려웠다. 하지만 계속 밤마다 삽질 이어갔고 겨우 반채팅 앱을 개발해서 반 친구들에게 짠!하고..
Flutter3.0 Firebase 연동하기
Flutter3.0 Firebase 연동하기
2023.10.051. Firebase CLI를 설치한다다음의 페이지에서 설치할 수 있다. CLI 설치 가이드: https://firebase.google.com/docs/cli?hl=ko#setup_update_cli 설치한 다음 로그인까지 해주자.firebase login2. Firebase Project를 하나 생성한다firebase projects:create groot-fcm-test나는 groot-fcm-test라는 이름으로 프로젝트를 만들었다. 전세계에서 유일한 명칭이어야 해서 특이하게 설정해야 한다. 이제 Firebase Console에 접속해보면 방금 생성한 프로젝트가 보일 것이다. 콘솔 링크: https://console.firebase.google.com/ 3. 작업할 Flutter 프로젝트를 생성하자..
[서평] 그림으로 배우는 리눅스 구조
[서평] 그림으로 배우는 리눅스 구조
2023.09.24한빛미디어 활동을 위해서 책을 제공받아 작성된 서평입니다. 개발을 하다 보면 리눅스 커널에 관해 알아야 할 때가 옵니다. 저는 제 프로젝트를 배포하고 운용하면서 이런 필요성을 느꼈었습니다. 갑자기 시스템이 느려졌을 때 운영체제 배운 것으로 추측을 해보지만 확인할 수 없다면 답답할 수밖에 없습니다. 간단하게 검색한 명령어로 원인을 찾아 해결해 보지만 가끔은 찝찝하곤 합니다. 이 책을 읽으면서 예전에 학교에서 공부한 운영체제 지식이랑 리눅스 커널에 관해 연결지으며 많은 부분을 알아갈 수 있었습니다. 이 책을 읽으며 프로그램을 운용하고 모니터링하며 배웠던 많은 부분을 정리해갈 수 있었습니다. 이 책은 실전에 도움될 수 있도록 구성되어 있습니다. 풍부한 그림도 장점이지만 고/파이썬을 기반으로 된 코드로 실습을 ..
[서평] 이토록 쉬운 리액트로 배우는 소켓 프로그래밍
[서평] 이토록 쉬운 리액트로 배우는 소켓 프로그래밍
2023.09.18루비페이퍼 출판사로부터 책을 제공받아 작성된 서평입니다. 책 소개 간단한 백엔드 코드와 함께하는 프런트엔드를 개발자를 위한 웹소켓 프로그래밍 책입니다. 웹에서 소켓 통신을 하기 위한 기본적인 개념을 다루며 socket.io (버전 4) 라이브러리를 이용해서 실시간 웹 서비스를 만드는 내용 위주로 구성되어 있습니다. 후기 이전에 WebRTC 실시간 통신 프로젝트의 (NestJS를 이용한) 소켓 서버를 짜며 고생했던 경험이 있습니다.. 당시 저는 백엔드라서 Postman으로 socket.io 서버를 테스트했습니다. 새로운 채널이 추가될 때마다 채널 순서나 실시간 상태가 꼬여서, 프론트 분들이 리액트에서 괴로워하는 모습을 자주 봤었는데 그걸 제가 경험해 볼 수 있었습니다. 당시 이 책이 있었다면 정말 좋았을 ..
[서평] 모의 해킹으로 알아보는 리눅스 서버 해킹과 보안
[서평] 모의 해킹으로 알아보는 리눅스 서버 해킹과 보안
2023.08.29길벗 로 선정되어서 책을 제공받아 작성된 서평입니다. 책 소개 실제로 실습을 위한 환경을 구축하고 모의 해킹을 해보며 배우는 리눅스 보안! 리눅스 보안 뿐만이 아니라 리눅스에서 기본적으로 돌아가는 웹 서버, 데이터베이스에 관해서도 실습할 수 있습니다. 책의 앞 부분에 초보자를 위해서 리눅스 명령어를 자세하게 소개합니다. 그리고 다소 어려울 수 있는 환경 구축에 많이 신경 썼습니다. 그래서 리눅스 명령어에 크게 익숙하지 않더라도 괜찮습니다. 웹을 공부하는 입장에서 실제로 구축하고 공격해보는 과정에서 배우는 것이 많았습니다. 전공 때 배운 DNS 서버를 떠올리며 AWS Route53으로 추상적인 버튼만 누르면서 레코드를 설정해봤지 실제 DNS Zone 파일 설정해보는 것은 새로운 경험이었습니다. 한 발자국 ..
[서평] 관찰 가능성 엔지니어링
[서평] 관찰 가능성 엔지니어링
2023.08.27한빛미디어 활동을 위해서 책을 제공받아 작성된 서평입니다. 실제로 적용해 보며 배우는 OpenTelemetry 책 소개 인턴을 하면서 복잡해지기 시작한 애플리케이션의 모니터링 시스템을 구축한 적이 있습니다. 모노리스가 아닌 여러 서비스로 쪼개지며 알 수 없는 지연과 의존성 때문에 오류가 나고는 했는데 그러한 것을 가시화했습니다. 이때, 메트릭을 위해 프로메테우스를, 여러 애플리케이션의 로그를 위해 Loki를, 로그 수집 및 처리를 위해 fluentbit를, 이러한 데이터 소스의 시각화를 위해 그라파나를 사용했습니다. 이러한 환경을 구축하면서도 여러 선택지와 고민사항이 있었습니다. 먼저 이 책을 읽었다면.. 크게 도움이 됐을 것 같네요! 이런 시스템을 직접 구축하려다 보면 수집을 어떻게 할 것이며 분산된 ..
[AWS] AWS 비용 절감하기 :: 0. Free Tier가 끝나며 흥미로워진 AWS 비용
[AWS] AWS 비용 절감하기 :: 0. Free Tier가 끝나며 흥미로워진 AWS 비용
2023.08.16AWS Free Tier가 만료되기 직전이 되자 그동안 편하게 쓰고 있던 Free Tier RDS나 Elastic Load Balancer의 가격이 무섭게 느껴지기 시작했습니다. Free Tier의 무료 서비스로 쓰고 있던 것을 대체하며 서비스를 유지하기 위해 최대한 Low 스펙 인스턴스 안에 욱여넣는 경험을 공유합니다. AWS Free Tier가 만료되며 최근 Modoco 서비스를 위해 쓰던 AWS 요금이 예상했던 것보다 많이 들어서 급하게 PR 하나를 날렸습니다. ➡️ https://github.com/SWM-FIRE/modoco-backend/pull/56 new feature: https without loadbalancer👍 by IamGroooooot · Pull Request #56 · SW..
2023년도 상반기 인턴십 후기!
2023년도 상반기 인턴십 후기!
2023.07.04인턴십을 수행하며... 여기에 나온 기술적인 모든 내용은 기업으로부터 허락받고 올립니다. 동기 인턴십 이전에는 열정으로 학생들끼리 뭉쳐서하는 여러 프로젝트를 경험해봤습니다. 아무래도 학생으로 뭉친 프로젝트는 자원이 더 한정적이고 서로 바라는 것이 달라서 산으로 가고는 했습니다. 의사결정할 때도 이런 아주 한정된 비용에 맞춰서 이루어지고는 했습니다. 그러면서 많은 의문과 해결하지 못한 문제점들이 생겼고 실제 기업 업무를 경험해보고 싶어졌습니다. 그리고 쿠버네티스, 컨테이너, IaC 등을 개인 흥미로 공부했는데 이것으로 직접 서비스를 만들어보고도 싶었습니다. 책과 말보다는 제 경험을 쌓고 싶은 마음도 컸습니다. 그래서 이번에 인턴십을 DevOps 및 백엔드 개발로 지원하게 되었습니다. 한 일 저는 이번 인턴..
[서평] 백엔드 개발을 위한 핸즈온 장고
[서평] 백엔드 개발을 위한 핸즈온 장고
2023.06.25한빛미디어 활동을 위해서 책을 제공받아 작성된 서평입니다. 파이썬의 개발 Tip부터 장고의 다양한 개발 기능을 자세히 설명해 주는 책 책 리뷰 백엔드 개발자가 알아야 할 개념을 담고 있습니다. 이 책은 장고에만 집중하지 않았습니다. 백엔드를 하기 위해 필요한 내용들을 장고와 함께 설명해 줍니다. 백엔드에서 필요한 개념을 알아가며서 장고라는 프레임워크를 통해 배우는 느낌이 들었습니다. ER 모델링, DB 마이그레이션, ORM, 쿼리 셋, 직렬화, 뷰 등 백엔드를 개발하다 보면 자연스럽게 필요한 내용들을 담고 있습니다. 장고의 핵심 기능들까지 웹과 함께 장고가 추구하는 패턴을 설명하는 등 저자의 경험과 장고가 어떤 친구인지 알아 갈 수 있었습니다. 읽으면서 장고의 기술적인 성숙도를 기반으로 기본기를 기르기 ..
데이터베이스와 분산 시스템 지식 줍줍 스터디 시작
데이터베이스와 분산 시스템 지식 줍줍 스터디 시작
2023.05.30데이터베이스와 분산 시스템에 관한 기초가 약해서 공부를 시작하기로 했다. 일단은 데이터베이스와 분산 시스템을 공부하며 내 CS 지식을 좀 더 보강해보려고 한다.시작하게 된 계기최근 파이썬의 비동기를 건들면서 너무 무지하다는 것을 느꼈다. Celery와 Green Threads, Thread/Process Execution Pool, asyncio 등이 내 머릿속에서 짬뽕되면서 혼란스러웠다. 물론 이벤트 풀은 OS의 영역이긴 하지만 다른 분산 시스템에 대한 탐구와 공부가 필요하다는 것을 느꼈다. Grafana Loki나 Prometheus 같은 TSLB를 구축하는 일이 생겼는데 용도에 맞게 튜닝하기 어려웠다. 분산(or multi-tenant)를 지원하는 제품은 매우 설정 값이 복잡하다. Loki conf..
[서평] 데이터 품질의 비밀
[서평] 데이터 품질의 비밀
2023.05.28한빛미디어 활동을 위해서 책을 제공받아 작성된 서평입니다. 데이터 품질에 관한 개념과 현실적인 방법론을 알려주는 책! 저는 데이터 엔지니어링 분야에 관해서 거의 모르는 초보입니다. 이 분야에 입문하는 입장에서 읽어본 후기입니다. 아무래도 데이터 관련한 실무자가 아닌데 데이터 관련한 책을 리뷰하기가 조심스럽네요..ㅎㅎ 책을 읽기 전에 데이터 엔지니어? 몇 년 전, 데이터 엔지니어가 어떤 일을 하는지, 역할이 무엇인지 혼란스러웠던 기억이 있습니다. 특히, 아무런 베이스가 없는 입장에서 데이터 사이언티스트, 데이터 애널리스트, 데이터 엔지니어 등의 용어가 한국으로 들어오면서 짬뽕되어서 더 헷갈렸습니다. 회사, 팀, 역할마다 다르긴 하지만 요즘 점점 정보가 늘어나면서 데이터 엔지니어링에 관해서 언급되면 자주 들..