본문 바로가기

Develog/TIL14

프로젝트, 이제 AI를 곁들인... 진행기 (2) 설문조사 발단 : 나름 해커톤에서 기획을 배웠습니다AI위클리톤에서 배운 기획의 기본을 써먹기로 했다. 바로 문제정의와, 가설세우기, 그리고 설문조사(가설검증)!내가 실제로 생각한 유저의 니즈와 실제 유저의 니즈는 다를 수 있기 때문에 리서치 과정이 꼭 있어야한다고 하셨다.(강의내용)실제로 해커톤을 진행했을 때에도 우리는 이러한 기능이 필요할거야~ 하고 기획했는데인터뷰 결과 응 안필요해요, 나와도 안쓸것같아요~이런 적이 훨씬 많았다. 유저와 배포, 유지보수까지 목표였던 우리는 철저하게 기획하기로 했다.그렇게 이번에 할 일 관리 앱에 우리의 가설을 검증하기 위해 타겟층을 설정하고 설문을 진행했다. 1. 우리는 가설을 세웠다 누가 : 기존의 투두리스트를 사용하던 유저들이언제 : 혼자 투두 리스트를 만들고 지켜야 할 때.. 2024. 9. 28.
프로젝트, 이제 AI를 곁들인... 진행기 (1) 의도현재 기획하는 프로젝트에서 핵심 기능은 ‘친근한 한국어 챗봇 ’ 이다먼저 프로젝트를 진행하기 전 기획하는 기술이 구현 가능한지에 대한 구상, 투자비용 예상, 기능개발을 위한 최적의 솔루션을 조사해 보기로했다.가설 검증서비스 운영 비용이 많이 드는가?모델을 직접 배포그래픽 카드 이용API 이용한국어가 자연스러운가?라포가 형성될 만큼 자연스러운지유저 타겟층 조사 (예정)유사 서비스 조사 AI의 성능이 우리 서비스에서 가장 중요한 부분이었다.하지만 AI는 비용이 가장 큰 걸림돌이라서 이 부분을 가장 먼저 조사하기로 했다.  1. 서비스 운영 비용이 많이 드는가?팀의 요구사항한 달에 5만원 내외였으면 좋겠다.방법 1 모델 직접 배포모델 선택파인튜닝 (모델을 원하는 용도로 학습시키는 것)은 리소스가 부족하기에.. 2024. 9. 7.
[TIL] 2023-09-08 TIL 1. 9월 계획을 세웠다. 사소한 습관과 사고방식부터 바꿔보려 한다. 간단히하자면 귀찮아, 라는 생각와 미루자, 라는 생각을 내 사전에서 없애기로했다. 2. next.js 강의듣기 로그인을 구현하는 방법에 대해 배웠는데 굉장히 쉬웠다. NEXT.js 에서 제공하는 next-auth라는걸 활용하니까 OAuth나 로그인 기능 구현하는게 정말 쉬웠다. jwt,session,OAuth의 개념에 대해 배웠다. 주말에 정리해야 겠다. 회고 어제 가족들과 함께 시간을 보내느라 TIL을 못썻다. 앞으로는 조금도 철저하게 신경쓰자 NIL (Next I learn) 1. 인강 (NEXT.JS) 2. 체크래커 만들기 3. 모든관계는 심리학으로 풀린다 책리뷰 하기 4. 독서-클루지 2023. 9. 9.
[TIL] 2023-09-06 TIL 1. 아침독서 (클루지) 역행자에서 추천한 클루지를 읽고있다. 인간이 유전자의 영향을 많이 받고있으며 불안전한 진화를 해왔다고 주장한다. 인간의 뇌는 세련되게 발전하지 않았다. 수많은 요소에 오염되며 그로 인해 현명하지 못한 선택을 하게된다. 한 예로 인간은 가치보다 비용에 예민하다. 당신은 100달러짜리 미국 여행과 50달러짜리 프랑스여행을 예약했다. 그러나 여행의 시간을 겹치게 예약하는 실수를 범하고 말았다. 이때 당신은 50달러짜리 프랑스 여행이 더 재밌고 즐거울게 확실할텐데도 100달러짜리 미국여행을 선택하게 된다. 즉 가치보다는 손해보는 비용을 택한것이다. 두번째 예로 어떤 금은방의 안팔리는 50달러짜리 목걸이가 있다. 주인은 자신이 휴가갔다올동안 해당 목걸이를 반값에 판매하라고 했다 하.. 2023. 9. 7.
[TIL] 2023-09-05 TIL 1. 아침독서 (클루지) 우리는 맥락기억에 많은 영향을 받는데, 예를 들어 같은 사물을 접했다고 하더라도 열정적인, 즐거운, 귀여운, 긍정적인 이런 단어들을 읽고 봤을때는 긍정적인 느낌을 , 무기력한, 우울한, 부정적인, 험상궃은 단어들을 읽고 사물을 접한다면 부정적인 느낌을 받는것처럼 우리의 기억체계는 객관적인 시각이 아닌 맥락에 따라 왜곡을 일으키기도 한다. 맥락기억의 또 다른 예시로는 쥐들이 미로 달리기를 훈련시키는 연구가 있었는데, 쥐들이 미로자체와는 아무 상관없는 요인들에 매우 민감하다는 사실을 발견했다. 예컨대, 전등이 켜진 방에서 훈련을 받은 쥐는 자연광보다는 전등이 켜진 방에서 검사를 받았을 때, 미로를 더 잘 찾았다. 조명과 미로달리기 과제는 특별한 관계가 없었는데도 쥐가 검사 받.. 2023. 9. 6.
[TIL] 2023-09-04 TIL 1. 아침독서 (클루지) 역행자에서 추천한 클루지를 읽고있다. 인간이 유전자의 영향을 많이 받고있으며 불안전한 진화를 해왔다고 주장한다. 저자는 인간의 마음이 세련되게 설계된 기관이라기보다 클루지(kluge), 곧 서툴게 짜 맞춰진 기구라고 주장한다. 생존 때문에 최선의 선택을 방해받는 진화의 법칙, 즉 진화의 관성 때문에 우리들의 마음과 세계는 불완전하다는 것이다. 저자는 이 책에서 기억, 신념, 선택, 결정, 언어, 행복 등 인간의 삶을 구성하는 중요한 정신 영역을 두루 살피며, 우리들의 세계 곳곳에서 현명한 일상을 방해하는 생각의 함정을 파헤친다. 좀 더 괜찮은 의사결정을 하는 법을 배우고 싶어서 읽고있는데 꽤 괜찮은 것 같다. 사람이 쉽게 빠질 수 있는 심리학적 오류를 알려주고 더 나은 의.. 2023. 9. 5.
Webpack 번들링 : 각각 나눠진 파일들 (ex) 자바스크립트 파일) 등을 하나로 모아서 묶어주는 작업을 뜻함 webpack의 등장 웹개발이 발전하면서 다양한 모듈의 도입으로 애플리케이션이 커졌다. 조각난 모듈들의 의존성을 파악하여 번들링 해 주는 webpack이 등장하였다. 장단점 장점 : 1. 성능 최적화 & 자동화 코드축소, 사용하지 않는 코드를 제거하는 tree shaking을 사용, http 요청 수를 감소시켜 웹사이트 성능을 향상시킴 2. 번들러가 제공하는 편의성 css가 아닌 Sass나 Stylus등을 사용할 경우, 또는 typescript 사용시, 번들러가 컴파일 과정에서 필요 플러그인을 추가하고 번들러를 실행해줌 3. CodeSplitting 을 통해 필요할 때만 스크립트를 로드 할 수 있다. 시시.. 2023. 6. 29.
Expo ReactNative Storybook 도입시 Constants.expoConfig.extra.storybookEnabled === undefined in windows 발단 : ReactNative 로 스토리북 연습하려고 했을 시 Constants.expoConfig.extra.storybookEnabled === undefined 오류 windows유저들은 억울하다 공식문서를 보고 https://dev.to/dannyhw/how-to-swap-between-react-native-storybook-and-your-app-p3o How to swap between React Native Storybook and your app How to use expo constants and environment variables to swap between storybook and your app dev.to 위의 링크를 따라했는데도 undefined가 나오는 세상에서 살고있기 .. 2023. 6. 18.
백엔드 폴더 흐름 정리 개요 쇼핑몰 제작 팀 프로젝트에서 백엔드를 담당하게 됐다. 배울때는 할 수 있을 것 같았는데, 받은 코드의 폴더가 나뉘어져 있어서 각각 폴더가 어떤 역할을 하고 어떤 흐름으로 연동되는지 정리하려 한다. db : 데이터가 array형식으로 저장되어 있다. routers : 라우터들이 구현되어 외부에서 사용할 수 있게 export 되어있다. services : 필요한 기능들이 함수 또는 클래스로 구현되어있다. 클래스로 만들어져 있다면 객체를 생성한 후, export 해준다. static-files : bulma 관련 코드들, 프론트에서 백을 향해 fetch함수를 통해 요청을 보낸다. 그리고 결과를 받아서 , html 스크립트에 적용한다. 즉 pug와 같은 라이브러리인 것 같다. app.js : 백엔드의 ma.. 2022. 5. 24.
express 경로 이해하기 app.get("/page/:pageId", function (req, res) { return res.send(req.params.pageId); }); app.get("경로",콜백) 해당 경로에 접근하면 콜백을 수행한다. "/page/:pageId" express에서 제공하는 시맨틱 URL 처리방식 :뒤에 지정한 값은 일종의 변할 수 있는 값, 즉 변수이다. req.params에 저장되고 접근할 수 있다. params는 이를 key value로 제공한다. 소스코드에서 지정한 /:pageId라는 값에 32가들어간 걸 볼 수 있다. 이해한 바로는 :는 수많은 숫자 페이지 기타등등에 대한 경로를 다 지정하기 곤란하니 제공되는 변수처럼 사용할 수 있는 파라미터이다. 그래도 해당 경로의 값을 얻어와야 할 경우.. 2022. 5. 17.