전체 글 807

2023년 19-20주차 '원하는 것을 이루는 삶'

원하는 것을 이루는 삶지난 5월 19일에 있었던 글또 백엔드 반상회에서 '내가 커뮤니티로 성장하는 방법' 이라는 주제로 발표를 했다. 수십여 명의 현업 개발자 앞에서 내가 발표를 했다니.. 지금 생각해도 가슴이 콩닥콩닥하다. 발표에 대한 자세한 후기는 반상회 후기 글로 남기겠다. 대신 이 글에서는 '원하는 것을 이루는 삶'에 대해 발표에선 하지 못했던 말을 해보겠다. 발표에서 내 소개를 할 때, 이태원클라쓰의 박새로이 대사를 보여주었다. "원하는 거 다 이루면서 살 거야" 이 대사는 내가 좋아하는 대사들 중 하나인데, 내가 추구하는 삶이기도 하다. 지금으로부터 2년 전, 나는 개발자가 되기로 결심했다. 그전까지만 해도 나는 내가 개발자가 된다는 걸 상상조차 할 수 없었다. 나 같은 사람은 개발자가 될 수..

이별 후 아프다는 것은

*이 글은 '사랑'과 '이별'에 대해 주관적인 생각을 적은 글입니다. 모든 사람은 결국 이별한다그게 연애 중 이별이든, 결혼 후 이혼이든, 그리고 사별이든. 그 어떤 것이든 사랑했던 사람과의 헤어짐은 아프고 힘든 게 당연하다. 이를 바꿔 말하면 힘든 만큼 상대를 사랑했다는 뜻이기도 하다. 그러므로 나는 오히려 이별의 고통을 자랑스럽게 여겨야 한다고 생각한다. 그만큼 내가 누군가를 사랑했다는 뜻이니까. 요즘에는 누군가를 사랑하는 것조차 피하려는 경향이 있는 듯 하다. 내가 고통받기 싫어서, 감정소모를 하기 싫어서, 상대에게 쏟는 비용이 아까워서 등 많은 이유로 사랑을 시작조차 하지 않는다. 하지만 고통을 피하려는 이런 행태가 과연 나에게 도움이 되는 걸까? 내 마음을 감추고 표현하지 않는 것이 오히려 '자..

Python _ Decimal 모듈로 부동 소수점 문제 해결하기

Decimal 이란? Decimal은 '부동 소수점 문제'를 해결하고 소수점을 정확하게 표현하기 위해 사용하는 Python 자료형이다. 컴퓨터에서는 소수를 이진수로 표현하다 보니, 0.1과 같은 값이 정확하게 표현되지 않을 수 있다. 이러한 문제 때문에 금융, 회계 등 정확한 계산이 필요한 경우에는 Decimal을 사용해야 한다. 예를 들어, 파이썬에서 소수형을 그대로 사용하면 다음과 같은 부동 소수점 문제가 발생할 수 있다. value = 0.1 + 0.2 print(value) # 출력: 0.30000000000000004 하지만 아래처럼 Decimal 모듈을 사용하면 이런 문제를 피할 수 있다. from decimal import Decimal value = Decimal('0.1') + Decim..

JavaScript _ 콜백 함수를 알아보자

들어가며 자바스크립트에서 비동기 프로그래밍의 기초 개념 중 하나인 콜백 함수에 대해 알아보자. 본 글에서는 콜백 함수의 개념부터 동기 콜백과 비동기 콜백의 차이, 콜백 지옥과 한계, 그리고 콜백 함수 작성 팁까지 다루겠다. 또한 콜백 함수의 대안으로 선호되는 프로미스와 async/await에 대해서도 간략하게 소개하겠다. 콜백 함수란? 콜백 함수란 다른 함수에 인자로 전달되어, 어떤 작업이 완료된 후에 실행되는 함수이다. 콜백 함수는 자바스크립트에서 흔히 사용되는 패턴으로, 특히 비동기 작업을 처리할 때 유용하다. 비동기 작업이란, 작업의 실행과 완료 시점이 일치하지 않는 작업을 말하는데, 예를 들어 서버에서 데이터를 가져오는 작업이나 타이머를 사용한 작업 등이 비동기로 이루어질 수 있다. 콜백 함수의 ..

2023년 18주차 '행복하고 싶다면 내 삶을 살자'

첫 수익형 웹사이트 '톡톡캣' 첫 수익형 웹사이트 '톡톡캣'을 출시했다. 링크 톡톡캣은 챗지피티를 활용한 MBTI 연애상담 AI 서비스이다. 예전부터 MBTI를 기반으로 한 연애상담 서비스를 만들어보고 싶었는데 챗지피티 덕분에 그 목표를 아주 쉽게 이룰 수 있었다. 처음에는 가까운 지인들에게 먼저 보내보고, 카카오 애드핏 광고가 붙고 나서는 참여하고 있던 커뮤니티에도 공유했다. 아래는 이번 한 주간의 성적이다. 비록 -90%??? 적자가 발생했지만,,, 그래도 수익형 웹사이트를 만들었다는 것에 의의를 두려고 한다. 또한 300명 이상의 사용자가 내 서비스를 접하고 평균 1분이나 사용했다는 것은 기대이상의 성과였다. 중간중간에는 피드백을 받아가며 일부 기능을 개선하기도 했다. 예를 들어 답변시간이 느리다는..

2023년 17주차 '아이디어만 있으면 뭐든 만들 수 있는 세상'

두 번째 코로나 작년에 이어 두 번째 코로나에 걸렸다. 몸이 좋지 않아 화요일쯤 병원에 가보았는데 코로나라고 했다. 곧바로 7일간 자가격리에 들어갔다. 회사일은 재택근무로 진행했고 주말에 굵직굵직한 약속들이 있었는데 모두 취소했다. 개인적으로는 아쉬운 부분도 있었지만 코로나 덕분에 잠도 많이 자고 혼자만의 시간도 온전히 가질 수 있었다. 특히 그동안 배우고 싶었던 것들(챗지피티로 웹서비스 만들기 라든가, 미드저니로 이미지 생성하기 라든가) 시간이 없다는 핑계로 미루어 왔던 것들을 해볼 수 있어서 좋았다. 최근에는 이런저런 약속들도 많고 외부 활동을 많이 했었는데, 이제는 혼자만의 시간을 늘려야겠다는 생각이 들었다. 내가 정말로 하고 싶은 것은 코드로 사람들을 즐겁게 만드는 것이니까. 이를 위한 시간을 더..

Python & FastAPI 로 백엔드 시작하기 (2) _ API 연습 및 단축 스크립트 만들기

02. API 연습 및 단축 스크립트 만들기 개요 - `main.py` 를 `app/views` 경로로 이동합니다. - `main.py` 에 연습용 API를 구현합니다. - `run-server.sh` 스크립트를 생성합니다. - `tree` 를 이용해 디렉터리 구조를 확인합니다. main.py 를 app/views 경로로 이동하기 app 디렉터리와 그 하위에 views 디렉터리를 생성합니다. 각 디렉터리에는 __init__.py 파일을 생성합니다. *__init__.py 파일이 없는 경우, 해당 디렉터리는 단순한 디렉터리로 간주됩니다. 반면 __init__.py 파일이 존재하는 디렉터리는 파이썬 패키지로 간주되며, 패키지 내부에 있는 모듈들을 다른 모듈에서 import할 수 있습니다. 기존 main.py..

2023년 16주차 '내 삶에 대한 지표는 무엇인가?'

개발자 커피챗 목요일에 퇴근한 후, Python 개발자인 진호님, 은비님과 함께 커피챗을 가졌다. 지난 3월 초에 만났었는데, 이렇게 다시 만나 반가웠다. 그동안의 안부를 묻고, 현재 겪고 있는 고민이나 조언을 주고받으며 유익한 시간을 보냈다. 우리는 신논현 명동피자에서 저녁을 먹고, 근처 카페에서 서로의 글에 대한 피드백을 나누었다. 각자의 글을 읽어보며 전반적인 느낌과 개선할 점들을 공유했다. 내가 받은 피드백 중 하나는 블로그의 목적성에 관한 것이었다. 내가 블로그에 글을 쓰는 이유는 '나'라는 사람을 잘 드러내기 위한 것인데, 실제로 내 블로그는 이를 잘 나타내지 못하고 있었다. 예를 들어, 내가 의도적으로 만든 카테고리들( '나는...'으로 시작하는 카테고리들)이 블로그 첫 화면에 보이지 않아 ..

2023년 15주차 '좋은 프로그래밍과 그릿'

파벨만스스티븐 스필버그의 어린 시절을 다룬 자전적 영화 파벨만스를 보았다. 지인의 추천으로 보게 되었는데, 인기 있는 영화는 아니었는지 집 근처 영화관에서는 하루에 한 번만 상영하더라. 마침 월요일이 휴가이기도 해서 점심시간에 혼자 영화를 보았다. 스포가 될 수 있으니 내용은 말하지 않겠다. 상영시간은 2시간 30분이었는데 장르가 드라마/성장 스토리 임에도 불구하고 지루함 없이 끝까지 긴장감이 유지되더라. 다 보고 나서 처음 든 생각은 '뭐가 어떻게 된 거지?'라는 의문이었다. 이 영화는 할리우드 영화처럼 스토리를 쉽게 떠먹여 주지 않는다. 그러다 보니 '지금 이게 무슨 상황이지?'처럼 이해가 되지 않는 부분들이 있었는데 어쩌면 이것이 진짜 우리의 삶이고 현실이지 않을까란 생각이 들었다. 우리도 살아가다..

Python & FastAPI 로 백엔드 시작하기 (1) _ 개발환경 세팅하기

01. 개발환경 세팅하기 이 글은 Python과 FastAPI를 활용하여 백엔드 개발을 시작하고 싶은 분들을 위해 작성하였습니다. 개요 - pyenv로 가상환경을 만들고 Poetry 종속성 관리 도구를 설치한다. - FastAPI 와 Uvicorn 을 사용해 서버를 실행한다. - .gitignore 파일을 생성하여 불필요한 업로드를 막는다. - pre-commit을 활용하여 코드 스타일과 정적 분석을 자동화한다. *사용 기기 : M1 MacBook Air *사용 IDE : Visual Studio Code *만약 터미널 사용이 처음이거나 아직 세팅이 완료되지 않았다면 이전 글을 참고해주세요. 2023.03.18 - [나는 이렇게 논다/백엔드 시작하기 with Python] - Mac M1 터미널 환경 세..