분류 전체보기 802

JavaScript 구조분해 할당으로 함수 매개변수 다루기

JavaScript에서 함수를 사용할 때, 객체를 파라미터로 전달하는 경우가 많습니다. 이때 구조분해 할당(destructuring assignment)을 사용하면 코드가 더 간결하고 가독성이 좋아집니다. 이번 글에서는 구조분해 할당을 이용해 함수에서 객체의 특정 속성만 사용하는 방법을 알아보겠습니다. 1. 구조분해 할당으로 매개변수 간편하게 처리하기구조분해 할당을 사용하면, 필요한 속성만 손쉽게 추출할 수 있습니다. 아래는 예시입니다.function printMovie({ title, director }) { console.log(`Title: ${title}, Director: ${director}`);}const movie = { title: "Inception", director: "Chri..

Default Import 와 Named Import 의 Import 방식 차이

Next.js 를 새롭게 배우고 있는데 함수를 Import 하다가 뭔가 생긴게 이상하다 싶어서 알게된 Default Import와 Named Import. 그래서 알게된 것을 글로 정리 해보았다.  Default ImportDefault Import는 파일에서 하나의 컴포넌트를 기본으로 내보내고, 이를 가져올 때 사용하는 방식이다. 예를 들어, components/todo.tsx 파일에서 Todo 컴포넌트를 기본으로 내보낼 수 있다. // components/todo.tsxexport default function Todo() { return Todo Component;} 그리고 아래 예시처럼 Todo 컴포넌트를 가져올 수 있다.// app/page.tsximport Todo from "../com..

글또 반상회 준비위 회고 (셀프 인터뷰)

글또와 반상회글또라는 개발자 글쓰기 커뮤니티가 있습니다. 현재 9기의 참여자 수는 450여 명입니다. 이번 글또 9기는 세 차례 반상회가 열렸는데요. '백엔드 반상회', '프론트 반상회', 그리고 마지막으로 제가 준비위로 참여한 '데이터AI 반상회'입니다. 데이터AI 반상회는 데이터 직군과 AI 직군을 묶은 반상회입니다. 이번 데이터AI 반상회는 약 60~70여 명이 참여했는데요. 반상회라는 단어가 낯설 수 있을 텐데, 쉽게 말해 커뮤니티 내의 소규모 콘퍼런스라고 볼 수 있습니다.  회고 인터뷰이번 회고는 가상의 인터뷰 형식으로 진행합니다. 최근에 [우주로부터의 귀환] 이라는 책을 읽었는데요. 지구로 돌아온 우주비행사들을 인터뷰하는 부분이 나옵니다. 그 형식에 영감을 받아 제 회고 글에도 인터뷰 형식을 ..

유데미(Udemy) '기획부터 개발까지 한방에 도전하는 플러터(Flutter) 수익형 기초 앱 개발' 수강 후기

현재 개발자 글쓰기 커뮤니티 '글또' 9기에 참여하고 있습니다. 이번 9기에서는 유데미에서 지원을 받아 관심 있는 강의를 무료로 들을 수 있었는데요. 제가 두 번째로 선택한 강의는 [기획부터 개발까지 한방에 도전하는 플러터(Flutter) 수익형 기초 앱 개발]입니다. -> 강의 링크 작년에 플러터를 잠깐 만져본 적이 있는데, 아무래도 앱스토어와 플레이스토어에 모두 출시를 할 수 있는 크로스 플랫폼이라는 장점이 매력적으로 다가왔습니다. 그래서 이번에는 수익화까지 기대할 수 있는 강의를 선택하였습니다.   강의 소개 역시나 1000명이 넘는 수강생이 들었을 정도로 인기 강의라는 것을 알 수 있었는데요. 이 강의를 통해서 배울 수 있는 것들은 다음처럼 명시되어 있습니다. - 네이티브 앱 개발, 웹앱 개발, ..

제 11회 유니톤 대상 후기, 그리고 배운 것들

이번 11회 유니톤(해커톤) 대회에서 제가 속한 9팀이 대상을 수상했습니다. 이 글은 제가 백엔드 개발자로 유니톤에 참가하면서 느끼고 배운 것들을 정리한 글입니다. 제 11회 유니톤 대상 수상 이번 11회 유니톤의 주제는 '기후', '평화'였습니다. 저는 9팀에 속하여 이번 유니톤에 참가했는데요. 우리 팀은 '평화'라는 주제를 선택했고 [2024 대화 평화상]이라는 서비스를 만들었습니다. 그리고 운이 좋게도 이번 11회 유니톤의 대상을 수상했습니다! 🏆👏👏👏 그렇다면 어떤 서비스길래 대상을 받았는지 궁금하시겠죠? 먼저 우리 팀이 만든 [2024 대화 평화상]의 시연영상을 보여드리겠습니다. [2024 대화 평화상]은 카톡의 대화내용을 분석하여 대화 참여자들의 평화 점수를 매기고, 점수에 따라 '대화 평화상..

주니어 개발자가 2년 동안 업무를 통해 배운 것들

이번 3월을 끝으로 회사를 나오게 되었습니다. 저는 2년 전 개발자로 커리어 전환을 하고, 핀테크 스타트업인 *알파프라임에서 백엔드 개발자로 일했습니다. 이 글은 제가 회사에서 2년 동안 어떤 업무를 해왔는지, 그 업무를 통해 어떤 배움을 얻었는지에 대해 회고하는 글입니다. *알파프라임은 [알파스퀘어]라는 스마트 트레이딩 플랫폼 서비스를 운영하고 있습니다. 온보딩 프로젝트 처음 입사를 하고 약 한 달 동안 온보딩 프로젝트를 진행했습니다. 저희 회사는 신규 입사자와 사수가 함께 프로젝트를 만들어가는 방식으로 온보딩을 진행합니다. 저는 온보딩 프로젝트로 주식 관심종목에 대한 CRUD를 구현했고, 그 과정에서 FastAPI, Sqlalchemy, PostgreSQL 같은 기본적인 기술들과 회원가입 & 로그인,..

유데미(Udemy) React Three fiber(R3F)로 배우는 인터렉티브 3D 웹 개발 수강 후기

현재 개발자 글쓰기 커뮤니티 '글또' 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주에 한 번씩 글을 슬랙에 공유하는 방식으로 소통합니다. 이 과정에서 서로의 글에 피드백을 주고받고, 가끔은 멤버들 간 커피챗을 통해 지식이나 경험을 나누기도 합니다. 저는 여기에 더해 ..

Sqlalchemy 의 scalar 메서드들을 살펴보자

Scalar 메서드는 쿼리를 통해 가져온 결과를, 단일 데이터 요소(ex. ORM)로 반환하는 데 사용하는 sqlalchemy.engine.Result 클래스의 메서드입니다. 이번 글에서는 SQLAlchemy에서 제공하는 Scalar 메서드들에 대해 알아보고, 각 메서드들의 적합한 예시를 함께 살펴보겠습니다. 🥸 scalar() scalar() 메서드는 쿼리 결과의 첫 번째 행의 값을 반환합니다. 만약 결과가 없으면 None을 반환합니다. scalar() 메서드는 주로 결과가 최대 하나만 있을 것으로 예상되거나, 여러 결과 중 첫 번째 값만 필요한 경우에 사용됩니다. 예시: 특정 조건을 만족하는 첫 번째 사용자의 이름 조회 first_user_name = session.query(User.name).fi..

FastAPI 의 jsonable_encoder 들여다보기

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=..