목록전체 글 (738)
코드로 우주평화
이번 11회 유니톤(해커톤) 대회에서 제가 속한 9팀이 대상을 수상했습니다. 이 글은 제가 백엔드 개발자로 유니톤에 참가하면서 느끼고 배운 것들을 정리한 글입니다. 제 11회 유니톤 대상 수상 이번 11회 유니톤의 주제는 '기후', '평화'였습니다. 저는 9팀에 속하여 이번 유니톤에 참가했는데요. 우리 팀은 '평화'라는 주제를 선택했고 [2024 대화 평화상]이라는 서비스를 만들었습니다. 그리고 운이 좋게도 이번 11회 유니톤의 대상을 수상했습니다! 🏆👏👏👏 그렇다면 어떤 서비스길래 대상을 받았는지 궁금하시겠죠? 먼저 우리 팀이 만든 [2024 대화 평화상]의 시연영상을 보여드리겠습니다. [2024 대화 평화상]은 카톡의 대화내용을 분석하여 대화 참여자들의 평화 점수를 매기고, 점수에 따라 '대화 평화상..
이번 3월을 끝으로 회사를 나오게 되었습니다. 저는 2년 전 개발자로 커리어 전환을 하고, 핀테크 스타트업인 *알파프라임에서 백엔드 개발자로 일했습니다. 이 글은 제가 회사에서 2년 동안 어떤 업무를 해왔는지, 그 업무를 통해 어떤 배움을 얻었는지에 대해 회고하는 글입니다. *알파프라임은 [알파스퀘어]라는 스마트 트레이딩 플랫폼 서비스를 운영하고 있습니다. 온보딩 프로젝트 처음 입사를 하고 약 한 달 동안 온보딩 프로젝트를 진행했습니다. 저희 회사는 신규 입사자와 사수가 함께 프로젝트를 만들어가는 방식으로 온보딩을 진행합니다. 저는 온보딩 프로젝트로 주식 관심종목에 대한 CRUD를 구현했고, 그 과정에서 FastAPI, Sqlalchemy, PostgreSQL 같은 기본적인 기술들과 회원가입 & 로그인,..
현재 개발자 글쓰기 커뮤니티 '글또' 9기에 참여하고 있습니다. 이번 9기에서는 유데미에서 지원을 받아 관심 있는 강의를 무료로 들을 수 있었는데요. 제가 선택한 강의는 [React Three fiber(R3F)로 배우는 인터렉티브 3D 웹 개발]입니다. -> 강의 링크 저는 핀테크 스타트업에서 백엔드 개발자로 일하고 있지만 과거 전공이 시각디자인이기도 했고 3D 와 인터렉티브에도 관심이 있어 개인적인 흥미로 강의를 선택하였습니다. 강의 소개 R3F는 React Three Fiber의 약자로, React를 위한 Three.js 레퍼 라이브러리인데요. Three.js는 웹에서 3D 콘텐츠를 만들기 위한 JavaScript 라이브러리입니다. R3F는 이 Three.js를 React의 선언적인 구성 방식으로 ..
글 쓰는 또라이가 세상을 바꾼다 글또(글 쓰는 또라이가 세상을 바꾼다)라고 하는 개발자 글쓰기 커뮤니티가 있습니다. 현재 진행 중인 글또 9기는 454명이 참여 중이고, 전체 일정의 중반을 넘어서고 있죠. 저는 글또를 7기부터 참여하고 있고, 현재 9기까지 약 2년에 가까운 시간 동안 함께하고 있습니다. 그리고 8기 때부터는 운영진으로 참여하며 커뮤니티에 직접적으로 기여하고 있는데요. 저는 커뮤니티 내 '또봇'이라고 부르는 '슬랙 봇'을 개발하여 운영하고 있습니다. 글또는 한 기수가 5~6개월 동안 진행되며, 멤버들은 2주에 한 번씩 글을 슬랙에 공유하는 방식으로 소통합니다. 이 과정에서 서로의 글에 피드백을 주고받고, 가끔은 멤버들 간 커피챗을 통해 지식이나 경험을 나누기도 합니다. 저는 여기에 더해 ..
Scalar 메서드는 쿼리를 통해 가져온 결과를, 단일 데이터 요소(ex. ORM)로 반환하는 데 사용하는 sqlalchemy.engine.Result 클래스의 메서드입니다. 이번 글에서는 SQLAlchemy에서 제공하는 Scalar 메서드들에 대해 알아보고, 각 메서드들의 적합한 예시를 함께 살펴보겠습니다. 🥸 scalar() scalar() 메서드는 쿼리 결과의 첫 번째 행의 값을 반환합니다. 만약 결과가 없으면 None을 반환합니다. scalar() 메서드는 주로 결과가 최대 하나만 있을 것으로 예상되거나, 여러 결과 중 첫 번째 값만 필요한 경우에 사용됩니다. 예시: 특정 조건을 만족하는 첫 번째 사용자의 이름 조회 first_user_name = session.query(User.name).fi..
jsonable_encoder 이란? FastAPI 에서 제공하는 인코더 함수로, 보통은 클라이언트로 전송하기 전에 응답하는 객체를 json 으로 인코딩할 수 있도록 변환해 주는 역할을 합니다. (참고로 json 으로 변환해 주는 것은 아닙니다!) 실제로 FastAPI 는 jsonable_encoder 를 어떻게 사용할까요? 아래 코드는 요청이 유효하지 않을 때 에러를 응답하는 함수입니다. # fastapi.exception_handlers.py async def request_validation_exception_handler( request: Request, exc: RequestValidationError ) -> JSONResponse: return JSONResponse( status_code=..
2023년 키워드 - 또봇 - 발표 - 네이버 웹툰 - 텔레파시 - 수익형 웹사이트 - 템플스테이 - 해커톤 - 월간 메이커스 - 독서모임 - 제주도 상반기 또봇 개발 또봇 발표 내가 직접 서비스를 만들고 운영한다는 것이 얼마나 값지고 두근거리는 일인지 알게 되었다. 또봇과 커뮤니티를 통해 내가 어떻게 성장했는지를 주제로 백엔드 반상회에 발표를 했다. 또봇과 발표 덕분에 개발자 커리어에 의미 있는 경험을 할 수 있었고 스스로에 대한 자신감도 높아졌다. 또봇 제작 글 카테고리 수집하려다 슬랙 봇까지 개발해버린 건에 대하여… *이 글은 글또 8기에서 사용하는 슬랙 봇 [또봇]의 개발 이야기입니다. *글또는 ‘글 쓰는 또라이가 세상을 바꾼다’라는 뜻으로 슬랙을 활용에 2주에 한 번 글을 올리는 개발자 글쓰기 ..
SvelteKit에서 GitHub로그인을 어떻게 구현할 수 있을까요? 이번 글에서는 SvelteKit에서 Supabase를 이용해 간단히 Github로그인을 구현해 보도록 하겠습니다. *SvelteKit: Svelte를 기반으로 한 풀스택 웹 프레임워크 Supabase 란? Supabase 는 Firebase의 대안으로 떠오르는 오픈소스 백엔드 서비스입니다. Supabase의 주요 기능으로는 PostgreSQL 기반의 데이터베이스, 소셜 인증 기능, 실시간 구독과 파일을 저장할 수 있는 스토리지 등이 있습니다. 저는 Supabase 의 소셜 인증 기능을 사용해 Github 로그인으로 구현해 보겠습니다. Supabase 프로젝트 생성 먼저 Supabase 홈페이지에 접속하여 프로젝트를 생성해 줍니다. 프로..
학습 목표 Supabase Storage 를 이용해 이미지를 저장할 수 있는가? 저장한 데이터들을 다시 불러올 수 있는가? 측정요소 Supabase Storage 에 이미지를 저장하면 성공이다. ✅ 저장 후 공개 URL 을 받아와 DB에 저장하면 성공이다. ✅ 레퍼런스 Storage Quickstart supabase storage 사진 올리기 만들기 feat: 이미지 storage 저장로직 구현 배우고 느낀 것 이미지를 저장하고 URL을 생성하는 것을 처음 구현해보았는데 생각한대로 동작하니 재밌었다. bind:value와 bind:this라는 svelte 바인딩 명령에 대해서 알게되었다. HTML의 요소는 사용자가 파일을 선택할 수 있게 하는 DOM 요소이기 때문에 Svelte에서 bind:this를 ..
학습 목표 데이터를 Supabase로 저장할 수 있을까? 자장 후 다시 메인 페이지로 돌아갈 수 있을까? 측정요소 폼 데이터가 Supabase에 저장되면 성공이다. 저장 후 메인 페이지로 이동하면 성공이다. 레퍼런스 https://supabase.com/docs/reference/javascript/insert https://kit.svelte.dev/docs/modules#$app-navigation-goto 만들기 https://github.com/Daco2020/monthly-makers/commit/4b7791fc57b7011e128782b50e29270c3107a2d5 배우고 느낀 것 데이터 전송이 너무 빠르다.. 일부러 로딩 시간을 주면 프로젝트 등록하는 느낌을 유저에게 줄 수 있을 듯 등록 ..