전체 글 179

스타트업에서 처음으로 개발한 신기능, 릴리즈 회고

신기능 개발 최근 나는 센디에서 새로운 기술을 개발하고 있었다. 센디의 B2B 고객 중 일부는 센디 프로덕션을 사용하기를 번거롭기 때문에 관리자에게 카카오톡을 보내거나 텍스트, 엑셀로 전달하는 경우가 많다. 이런 경우 서비스본부의 관리자분들이 텍스트를 하나하나 오더폼에 입력해서 작성해야하는 번거로움이 있다.  심지어 계정도 하나의 계정으로 한 기업의 여러명이 사용할 때도 있다. 그래서 관리도 잘 안될뿐더러 앞서 말한대로 관리자가 직접 쓰셔야 하기 때문에 여러므로 불편한 상태였다.  따라서 CTO님께서 내게 엄청 도전적인 과제를 주셨다. 주문 카카오톡(캡쳐화면) 혹은 자연어 텍스트와 같은 것들이 주어졌을 때 LLM모델이 해당 요구사항을 실제 오더폼에 채워넣는 작업이다. 즉, 관리자분들께서 주문에 대한 텍스..

스타트업 인턴 2024.06.15

프로덕트 매니지먼트의 기술 1~2장

Chapter 1. 프로덕트 매니지먼트의 실제1.1 프로덕트 매니지먼트란 무엇인가? 프로덕트 매니지먼트를 명확하게 하나로 정의하는 것은 거의 불가능하다고 이해하는게 좋은 방법이다. “정의”를 내리기 보다는 “설명”을 하는게 더 도움이 된다. Q. 프로덕트 매니지먼트의 일상적인 업무는 무엇인가?A. 상황에 따라 달라진다. 작은 스타트업이라면 제품 목업을 손보거나, 계약직 개발자와 체크인 일정을 잡는 것이 있고, 중견 기업은 디자이너와 개발자로 구성된 팀과 미팅을 진행하거나 임원들과 프로덕트 로드맵을 논의하는 것이 있다. 대기업에서는 기능 요구사항을 ‘사용자 스토리’로 작성하고, 분석 또는 기획 부서의 동료들에게 특정 데이터를 요청하고, 수많은 회의에 참석한다. 프로덕트 매니저는 상황에 따라 수많은 업무를 ..

스타트업 인턴 2024.06.12

[경단]경단 프로젝트 - 부산대 SW 1팀 선정

인턴을 시작하고 블로그에 내 얘기를 많이 안쓴 것 같다.기술 스택적 얘기든 독서든 그런거 제쳐두고, 진짜 나의 이야기에 대해서는 글을 안쓴지 꽤 된 것 같다. 사실 그런 사사로운 글은 내 네이버 블로그에 많긴 하지만(사실 tistory랍치고 사사롭지 않은건 아니지만), 이번에는 진로와 관련된 이야기고, 새로운 프로젝트 기획에 관한 얘기다.  배경: 요즘의 내 심경 최근 훌륭한 스타트업에 다니면서 훌륭한 CTO님의 가르침 아래 내 인생에서 가장 빠른 성장을 경험했고, 어제의 나와 오늘의 내가 성장 관점에서 달라질 수 있다는 것을 알게되었다. - 두레가 떠오르다 그러다 문득, 스타트업을 시작하면서 내가 개발 프로세스에 참여하지 못한 두레가 떠올랐다. 당시에 3회차 기획 회의까지 참여했고 심지어 아이디어도 내..

당신의 인생이 왜 힘들지 않아야 한다고 생각하십니까: 쇼펜하우어 아포리즘 [우정]

아파하고 싶지 않다면 아픔과 친해져야 한다 우리는 친절과 우정도 구분할 줄 알아야 한다. 친절이 그의 인격에 대한 감탄이라면 우정은 친구의 영혼을 위한 헌신이다. 감탄은 그의 그림자를 발견하는 동시에 사라지지만 헌신은 그의 그림자를 바라봄으로써 더욱 애잔해진다. 친절이 상대방의 감사로 만족한다면 우정은 친구의 행복으로 만족한다. 우정은 두개의 영혼을 가지고 있다. 우정을 가진 자는 두 개의 영혼이 가진 자다. 한 영혼이 쓰러지더라도 곁에 있는 또 다른 영혼이 그를 일으켜 세운다. 어떤 경우에도 둘이 함께 쓰러지는 법은 없다. 삶이 인간에게 우정을 선물한 까닭이다. 우정은 다른 감정보다도 인간을 현명하게 만든다. 우리가 살아가는 방법을 생각하기 이전에, 내가 무엇과 친해져야하는지, 무엇을 사랑하고 있는지부..

독서 및 회고 2024.06.10

[FastAPI] HTTPException과 Exception 예외처리의 목적과 사용방법

FastAPI에서 주로 발생시키는 에러는 HTTPException, Exception이 있다. 프로젝트를 진행함에 따라서 예외 핸들링을 하게 되는데, 이 두 가지 간에 혼용하여 사용할 경우가 있어 이를 바르게 사용하고자 정리해보겠다. 1. HTTPExceptionHTTPException은 FastAPI에서 HTTP 요청 처리 중에 발생할 수 있는 특정 예외를 처리하기 위해 사용됩니다. 특히나, 주로 클라이언트에게 HTTP 상태 코드와 함께 명확한 오류 메시지를 반환하고자 할 때 사용된다. 주로, 잘못된 요청, 인증 실패, 리소스 없음 등과 같은 HTTP 관련 오류를 명시적으로 나타내기 위해 사용된다. ✔️ HTTPException의 특징HTTP 상태 코드status_code를 인자로 받아 반환할 HTTP..

Backend/FastAPI 2024.06.07

Junction Asia 2023

오랜만에 정리하는 내 이야기~~여름방학부터 정말 내 머릿속이 뒤죽박죽해졌던 것 같다. 진로에 관해서도 정말 많이 고민해본 것 같고..2학년 1학기를 보내면서 인공지능 분야도 물론 관심이 있었고 스터디를 이어나갔지만, 웹에 더 많은 관심이 간다는 것을 알게 되었다. 그리고 여름방학동안 React와 Spring 공부를 이어나갔다.사실 프로젝트를 진행하게 된 React를 아무래도 스프링보다 더 열심히 할 수 밖에 없었다. 심지어 괜찮은 동기들이 정션 아시아에 지원해볼 생각 없느냐고, 디자이너 명목으로 가겠지만 프론트도 하게 될거라하여 아직 해커톤에 나가보지 않았기에 궁금해서 지원해보게 되었다.물론 준비랄거까진 아니지만...프론트 공부를 어쩌다보니 더 많이 하게 되었다. 여름방학동안 동아리 홈페이지 개발 프로젝..

Frontend 2024.06.05

[만들면서 배우는 생성 AI]생성 모델링

생성 모델링1.1 생성 모델링이란?주어진 데이터셋과 유사한 새로운 데이터를 생송하도록 모델을 훈련하는 머신러닝의 한 분야다.생성 모델을 만들려면 생성하는 개체의 샘플이 많은 데이터셋이 필요하다. 이를 훈련데이터라고 하며 데이터 포인트 하나를 샘플이라고 부른다.각 샘플은 많은 **feature(특성)**으로 이루어진다.이미지 생성 문제에서 피처는 일반적으로 개별 픽셀값이다.텍스트 생성 문제에서 피처는 일반적으로 개별 단어 또는 문자의 그룹이다.목표는 일련의 새로운 피처를 생성하는 모델을 만드는 것이다. 이 모델은 우너본 데이터와 동일한 규칙으로 생성된 것처럼 보이는 피처를 만든다.생성 모델은 결정적이 아니고 확률적이어야 한다. 매번 동일한 값을 출력하는 것이 아니라 다양한 출력 결과를 샘플링할 수 있어야 ..

ML 2024.06.05

과적합(Overfitting)을 막는 방법들

학습 데이터에 모델이 과적합되는 현상은 모델의 성능을 떨어뜨리는 주요 이슈이다. 훈련 데이터에 대한 정확도는 높을 지라도 검증 데이터나 테스트 데이터에 대해서는 제대로 동작하지 않는다. 불필요할 정도로 과하게 암기하여 훈련 데이터에 포함된 노이즈까지 학습된 상태이다.1. 데이터의 양을 늘리기모델은 데이터의 양이 적을 경우, 해당 데이터의 특정 패턴이나 노이즈까지 쉽게 암기하기 되므로 과적합 현상이 발생할 확률이 늘어난다. ➡️ 데이터의 양을 늘려서 데이터의 일반적인 패턴을 학습하여 과적합을 방지하자만약, 데이터의 양이 적을 경우에는 의도적으로 기존의 데이터를 조금씩 변형하고 추가하여 데이터의 양을 늘리기도 하는데 이를 데이터 증식 또는 증강이라고 한다. 이미지의 경우에는 데이터 증식이 많이 사용되는디 이..

ML 2024.06.05

역전파(BackPropagation) 이해하기

인공 신경망이 순전파 과정을 진행하며 예측값과 실제값의 오차를 계산하였을 때 어떻게 역전파 과정에서 경사 하강법을 사용하여 가중치를 업데이트할까?1. 인공 신경망의 이해(Neural Network Overview)아래의 그림의 인공 신경망은 입력층, 은닉층, 출력층 이렇게 3개의 층을 가진다. 또한 해당 인공 신경망은 두 개의 입력과, 두 개의 은닉층 뉴런, 두 개의 출력층 뉴런을 사용한다. 은닉층과 출력층의 모든 뉴런은 활성화 함수로 시그모이드 함수를 사용한다.위의 그림은 여기서 사용할 인공 신경망의 모습을 보여준다. 은닉층과 출력층 모든 뉴런에서 변수 z가 존재하는데 여기서 변수 z는 이전 층의 모든 입력이 각각의 가중치와 곱해진 값들이 모두 더해진 가중합을 의미한다. z 우측의 |를 지나서 존재하는..

ML 2024.06.05

딥 러닝의 학습 방법

1. 손실함수(Loss function)손실 함수는 실제값과 예측값의 차이를 수치화해주는 함수다. 오차가 클 수록 손실함수의 값은 크고 오차가 작을 수록 손실함수의 값은 작아진다.회귀에서는 평균 제곱 오차, 분류에서는 크로스 엔트로피를 주로 손실함수로 사용한다.손실 함수의 값을 최소화하는 두 개의 매개변수인 가중치와 편향을 찾는 것이 딥러닝의 학습 과정이므로 손실함수 선정은 매우 중요하다.손실 함수를 정리해보도록 하자.1) MSE(Mean Squared Error, MSE)평균 제곱 오차는 선형회귀를 학습할 때 배웠던 손실 함수이다. 연속형 변수를 예측할 때 사용된다.아래와 같이 compiled의 loss에 문자열 'mse'라고 기재하여 사용할 수 있다.compile의 loss는 tf.keras.loss..

ML 2024.06.05