기획
시장 분석 방법 - 시장 규모를 예측해보고 유사 서비스의 장점과 단점을 분석하고 우리 서비스의 특징을 생각해보는 방향으로 시장 분석을 진행했는데 멘토님과 함께하게 된다면 어떤 방식으로 시장 분석을 하게 될지
비즈니스 모델 캔버스
비용과 수익을 작성하기 힘들기 때문에 둘은 비워둬도 무방
비즈니스 모델 캔버스를 잘 그리면 비즈니스 피칭이 가능함
프로젝트 관리 방법
린과 스크럼이 애자일방법론에 포함이 된다는 식으로 이해했는데, 이해한 것이 맞는지?
다른 멘토님들은 스크럼을 강조하셨는데, 특별히 린스타트를 강조하신 이유가 있으실까요?
팀 내 스터디를 진행하시는 건가요? 책을 지정하고 그 책을 공부하는 방식으로 하는건지, 어떤 방식으로 하시나요?
한 챕터별로, 이걸 왜 이렇게 썼는지, 왜 생겼는지에 대해 토의하는 방식
예) 구글 엔지니어는 일한다- 왜 버스 지수가 생겨 났는지?
멘티들이랑 할 때는 할아버지 썰 풀 듯이, 뭐 하나 잡고 공부해보자라는 식
사용자 행동분석에 ‘지표설정’ 이라고 되어 있는데, 보통 행동분석할 때 로그데이터로 분석한다라고만 단순하게 알고 있습니다. KPI같이 어떤 구체적인 지표를 설정하는 것인지가 궁금합니다.
funnel: 깔때기
AARRR Metrics Funnel Diagram
Wow point 를 찾아가는 과정이 필요함
bounce rate
깔때기를 크게 만드는 것이 중요하다
기술
GraphQL은 RESTful에 비해 원하는 정보만 한 번에 얻을 수 있다는 점에서 아주 매력적으로 느껴졌고 간단하지 않은 API를 설계할 때는 모두 GraphQL로 설계해야 한다는 생각이 들었는데, 왜 아직 GraphQL이 RESTful에 비해 큰 점유율을 가지지 못하는지 궁금합니다
GraphQL에 장단점이 있다
RESTful
리소스를 가져오는데 특화되어 있음
대용량 데이터에 부적합
GraphQL
하나의 엔트리포인트를 사용하기 때문에 익숙하지 않음
Swagger를 만들지 않아도 됨
기존의 API에서 RESTful을 붙여도 충분하다
취향차이..? 장단점이 있기 때문에
모든 통신을 소켓에 물어서 사용할 수도 있지 않은가?..?..? 원래 소켓 아님?
RDB에서 심지어 금융권에서도 외래키를 안쓰는 경우가 있다카더라, 왜 안쓰는지, 왜 RDB를 쓰는지 궁금합니다
MySQL은 외래키를 쓰지 않음 - 쓰나 안쓰나 성능상 차이가 없음
Postgres나 oracle은 씀
은행에서 안 쓰는 경우
DB 마이그레이션 불가능
그럼에도 불구하고 RDB를 쓰는 이유
MongoDB를 쓰지 말라고 하는 이유
create 후 find가 안되는 이슈가 있었음
트랜잭션 미지원
하지만 위 문제들은 해결 되었음
위치 기반 서비스의 경우 MongoDB가 좋을 수 있음
RDB보다 NoSQL이 느림
아키택쳐
node.js가 MSA로 개발할 때 강점이 있다고 들었지만, java 역시도 MSA 개발이 불가능하지는 않다고 들었습니다.
node.js가 java보다 MSA 개발 시 강점을 가지는 이유
가 무엇인가요?‘Hello World’를 띄웠을 때 각자 언어에 따른 메모리 차이
퍼포먼스에 따른 차이
node가 메모리가 더 적음
하지만 node는 single thread에 강점이 있기 때문에, java를 쓰게 되긴 함
MSA 시 개발속도가 느림
모놀리식이 더 빠름
조직이 커지고 이에 따른 책임 분리때문에 사용하게 됨
모놀리식 후 MSA로 바꿔가는 과정을 경험해보는 것도 좋음
MSA 경험해봤을 때 ‘제대로 경험해본 분?’ 했을 때 별로 없음
Circuit Breaker
서비스 장애 발생 시 장애가 전파되는 것을 막기 위해 써보는 것
이태우 멘토님 프로젝트
멘토님이 하셨던 프로젝트 중
계정 부정이용자 제재시스템
이라는 주제가 있던데 이 시스템은 어떻게 동작하는 건가요?한 컴퓨터에서 10개의 계정이 생성되거나, 계정이 일반적인 패턴을 벗어나 동작하고 있을 때, 계정 보호 기능을 제공
어노멀리? 디텍션을 통해 ML도 사용함
Rails가 풀스택 프레임워크라는 것은 알고 있는데, 카카오 계정 서비스 개발에서 Ruby 기반의 Rails를 쓰신 이유가 궁금합니다. Ruby가 특별히 보안상의 강점이 있나요?
조상님이 그걸 써서 그걸로 함
지금은 노드나 코프링으로 다 바꿈.
그 시절에는 스프링이 빈약했어서 안 썼었다.
그 시절에는 프론트 백엔드 구분이 없어서 다 개발 했어야 했다.
멘토님이 진행하신 프로젝트 중
기계학습을 통한 실내측위 개발
에서 궁금한 게 있는데, 저도 예전에 아두이노를 통해 만든 Beacon의 신호세기를 사용자 디바이스에서 수신하여 사용자 위치를 파악하는 프로젝트를 진행해본 적이 있습니다. 그런데 아무래도 블루투스 신호가 많이 불안정하다보니 개발에 어려움을 겪었었습니다. 멘토님 프로젝트는기계학습을 도입해서 어떻게 이러한 점을 해결하셨는지 궁금
합니다.인도어 포지셔닝 시스템의 갈래
Symbolic : A방에 있다, B방에 있다
BLE로 만들기 좋음
특정 위치를 알아네는 코디네이트 정보
BLE로 만들기 어려움
칼만 필터, 무빙 에버리지로 해결함 (전처리 단계)
멘토님이 연수생 때 개발하여 런칭한 서비스와 해당 주제를 정하면서 가장 중요하게 생각한 것들과 얻어간 것들이 궁금합니다
라떼 = 더 빡쌨음. 1단계 프로젝트에서 한번 거르고 2단계에서 거르고 3단계에서 거름 → 150 → 30 → 10 명씩 남았음
2개월만에 만든거 → 트위터에 있는 글을 실시간으로 모두 가져오는 서비스
크롤링 최적화 → 빈도에 따른 최적화 시스템을 만들어서 크롤링하고 사람이 만든 트윗을 데이터베이스에 적제
하루에 2억개 트윗을 모두 가져와서 거꾸로 조립해서 트랜드를 보여줬음. 당시 검색어 순위는 있었지만 실시간 토픽을 정리하는 서비스는 없었음. 키워드에 대해 부정적인지 긍정적인지 판단
긍정 부정을 통해 주식 매수/매도 시스템을 하는 시스템
증권사 에널리스트들의 추천 시스템에서
하루 4-5000명 접속
가장 중요한 것은 ‘와우 포인트’ 였다
UI는 프론트엔드 책임이고 사용하게 만드는 것은 아이디어이기 때문에
첫번째는 기술적인 프로젝트였기 때문에 와우포인트는 없었지만 기술적으로 재미있어 보인다
두번째는 와우포인트가 있음. 증권사 리포트는 부정적인 인식을 갖고 있었기 때문에 사용자의 니즈에 맞는 서비스를 만들 수 있었다.
취업
진우 : 인기있는 백엔드 프레임워크로는 NestJS와 Spring이 있을 것 같은데, 저희 팀은 모두 취업을 생각하고 있습니다. 대다수 기업들은 Spring 사용경험이 있는 사람을 백엔드 개발자로 채용하다 보니 저희도 Spring으로 프로젝트를 진행할 계획입니다. nest와 spring 각각의 장단점이 있을텐데, 만약 저희 프로젝트가
nest를 사용했을 때 더 큰 강점이 있더라도 추후 취업을 위해서는 spring을 사용하는 것이 더 좋을까요
?네카라쿠배에서 Java를 쓰는 것은 채용 시장때문
대다수 시니어들은 Java를 섰었음
코프링도 괜찮음 ⇒ 왜 다른지 알고 쓰면 좋아함
취업을 원한다 ⇒ 코테를 해라
nest를 쓰는 곳도 있기 때문에 nest를 쓰는 것이 장점이 될 수도 있음
기존 서비스를 운영하고 있는 곳의 경우 Spring을 쓰는 것이 좋음
신규 서비스를 운영하려고 하는 곳의 경우 nest도 좋음
당근도 nest 사용
진우 : 멘토님이 하셨던,
에러 모니터링 시스템 설계 및 개발 프로젝트
를 읽고 생긴 궁금증인데, 저는 이때까지 프로젝트를 진행하면서 로그는 Client의 API 요청이나 서버 Error 로그 정도만 수집해봤는데, 이번 프로젝트는 체계적으로 수집해보고 싶은데 경험이 없다보니 구축에 따른 시간소모가 개발 일정에 지장을 주진 않을까 걱정이 됩니다. 이렇게주니어 백엔드 개발자가 깊이있게 로그를 다뤄본 경험이 있다는 것도 취업에 도움이 많이 될 수 있을까요?
유저 만명되기 전까지 금지
에러로그는 필요
Elastic으로 정제를 많이 함 (ELK, EFK)
진우 :
백오피스 개발
에 대해 궁금한 게 있습니다. 일부 회사들은 백오피스 팀이 주니어 중심으로 구성되기도 하고, 백오피스 자체가 기능상 구현에 맞춰져 있는 경우가 많고, 요구되는 완성도 자체가 높지도 않다고 들었습니다. 만약 회사에서 백오피스 개발팀으로 발령받았을 때,프론트엔드 개발자와 백엔드 개발자 각각이 해당 팀에서 얻을 수 있는 경험
은 어떤 것이 있을까요?백오피스 자체가 접하기 어려운 프로덕트
마트의 고객 입장에서 경험하는 경험과 알바들이 경험하는 경험은 완전히 다름
서비스를 처음부터 끝까지 만들었을 때
DB를 접속하지 않고 개발자가 아닌 사람이 만든 프로덕트를 만들어 봤다
는 의미기술적 경험을 얻을 수 있게 만들 수 는 있음
보안 경험 - 큰 서비스의 백오피스 역시 지켜야할 보안 사항이 있음
인희: 소마프로젝트로 취업하고 싶다.가고 싶은 회사의 도메인과 관련된 주제? 사용자들을 모을 수 있는 주제?
보통 학생들이 만드는 프로덕트: 데모 영상 찍는게 목표임
예외처리를 해본 SW경험이 중요=(유저들이 있는 걸 만들어라)
클론코딩도 좋은데, 그거는 의미가 없다 , 너무 흔하다
이력서랑 jd를 보내면 관련있는 주제를 알려주겠다!
공통 질문
[ ] 전담 멘토 시 오프라인/온라인 중 어떤 것을 더 선호하시고, 어떤 방식으로 진행하실 계획이신지?
[ ] 전담 멘토 시 월 몇 회 정도 멘토링을 진행하시는지?
멘토님의 전담 팀 선정 기준이 무엇인지? : 10팀정도 연락왔었다
같이 했을 때 재밌고 힘들어도 재밌으면 함
원래는 인증팀만 하셨지만, (1) 이제는 술이나 한 잔 먹을 수 있는 친구, (2) 회사에 데려올 수 있는 친구
티키타카 잘되는 팀
기획 피드백 - 작성자 : 이진우
WOW 포인트가 없다
Key Feature가 있어야 함
너무 방대한 기능
우리가 생각한 문제가 뭐고 어떤 사람들에게 어떤 솔루션을 제시할 것인가
Problem, Solution
한 두페이지만 가지고 이길 수 있는 기능을 찾아보자
우리가 제공할 수 있는 것은 무엇이고, 우리들의 강점은 무엇일까?
기획을 봤을 때 무엇을 만들고 싶은지 모르겠음
실제로 간단하게는 광고로 시작하고 아니면 부족한 것을 제시할 수도 있음
내가 어느 레벨에 있는 사람인지 알려줄 수 있기 때문에
실제 수준에 맞는 학습 방향을 제시해줄 수 도 있음
유저가 많이 생기게 되면 기업에서도 사용할 수도 있음
초기 개발에는 어느정도 걸릴 것이고
중간 발표까지는 몇명 유저를 목표고
최종 발표는 기업 하나에서 컨퍼런스로 사용할 수 있는 어쩌구
→ 술술 나오는 이유는 캔버스를 그려봤기 때문에
비즈니스 캔버스를 그려보자!
아래 비용구조와 수익은 제외하더라도 위에 항목들은 그려보자
잘 그리면 비즈니스 피칭이 가능함.
아이디어를 찾는 방법
모두가 공통적으로 사용하는 어플리케이션 찾아보기
공통된 취미 찾아보기
아이디어 후보 피드백
공통된 문제를 정의해야 하는데, 우리는 지금 솔루션만 제시하고 있다
그렇기 때문에 이번주에는 프로 불편러가 되어 나의 심기를 조금이라도 건들인 문제 리스트를 정리해보는 것이 좋음
열품타2
이거는 어떤 문제일까? → 열품타라는 어플에서 알림 보내기 기능이 있지만 재미가 없음
열품타는 이 세상에서 해결하고자 하는 문제가 무엇일까?
카카오톡은 문자메시지를 주고받던 시절 문자 당 20원 요금을 없애준 서비스 → 와우 포인트는 제한 없이 빠르게 통신할 수 있다는 것
피자를 파는데, 비싼 피자를 먹는 이유가 있다. 맛있으니까. 맛 자체가 와우 포인트가 될 수 있는 것
피나치공을 먹지 않고 교촌치킨을 먹는 이유. 맛있으니까. 맛 자체가 솔루션이 될 수 있음
챌린저스는 어떤 문제일까? 계획 세운걸 하나도 지키지 못한다. → 사람들은 N빵을 해서라도 하고싶은걸 하기 위해 돈을 낼 것이다.
챌런저스를 따라 만들면 챌린저스보다 잘 만들어야 하고 챌린저스가 따라 하면 어떻게 대응할지 만들어야 한다
문제를 나열해보자
코인노래방 가기라는 취미
왜 코인노래방 맵을 만들었나요? 저는 매일 코인노래방에 다닙니다. 이런 어플을 만들면 저는 쓸꺼에요!
알람을 특정 시간에 울리게 한다, 특정 위치를 지나게 할 때 울리게 한다 등 여러가지 솔루션이 나올 수 있고 문제를 가장 잘 해결할 수 있는 솔루션을 선택하면 된다.
솔루션이 너무 많이 나온다면 문제를 너무 넓게 잡은 것일 수 있음
세탁기 완료 시간
LG 세탁기에는 푸시 알림이 오는 기종이 있음
이런 기능이 없는 세탁기에서도 지원하는 솔루션?
마이크를 통해 세탁기 알림음이 들리면 핸드폰 푸시 알림을 줄 수 있음
솔루션이 간단해보이지만 다음 단계로 넘어가기 어려운 경우가 많음
카카오톡 알림을 꺼놓고 있을 때 바로 알림을 받을 수 없음
알람 인터셉트로 해결할 수 있음
안드로이드에 대한 디펜던시가 높아지고
기술적으로 너무 어려움
카카오톡이 새로운 기능을 내면 무용지물
인스타 감성 카페
카페 큐레이션을 해줄 수 있는 어플
왜 우리가 이걸 잘 할 수 있냐를 설명해야 함
카페를 자주 갑니다! 보다는 지인이 카페를 창업합니다 가 설득력 있는 이야기
도착시간에 맞는 출발시간 정하기
막차 시간 알리미와 비슷하게 갈 수 있을 것 같다
지금 나와있는 앱보다 더 잘 만들 수 있느냐
도착시간을 맞추려면 도착지를 설정해야 하고 이는 지도 어플과 큰 차이가 없다
점심 메뉴 정하기
점심 뭐먹지는 많이 있음
문제와 사용자를 구체화하면 솔루션 찾기 쉬워진다
처음보는 사람들과 점심 찾기 어렵다?
중복되는 음식을 먹기 싫다
집안일 분담이 어렵다
집안일 투두 앱을 만들어 해결할 수 있음
누가 했는지, 누가 할건지 파악하기 쉬움
용돈 받기, 랭킹 올리기 등 기능 추가 가능
템플릿 제공하면 좋을 듯
아이디어 내기 어렵다
GPT에게 물어본다
중고물품 적정가를 찾기 어렵다
중고나라 당근마켓이 나와도 어렵다
민트! → 핸드폰에 대한 적정가를 알려주는 서비스
중고 거래가 어렵다 라고 문제를 정의하면 솔루션 찾기 보다 쉬워질 것
당근마켓의 문제 → 지역 주민들끼리 만나게 하고 싶다
문제점 정의!
간단하게 문제를 정의만 해도 아이데이션 한 것 만큼 아이디어가 잘 나올 수 있다
아이데이션에서 뭔가를 만들 생각만 하기 때문에
헬스 트레이너가 옆에서 하나만 더 하세요 약올리는 경우
트레이너에게 돈 내기가 아깝다
헬스 카운트를 해주는 어플을 만들자!
구글폼 구리다
더폼
타입폼
별거 없음
UI가 조금 더 이쁘다
이정도 만들면 네카라쿠베가 모셔갈 수 있음 (프론트엔드 입장에서)
백엔드도 쉽지 않음
애매한 것들이 있음
어플을 켰을 때 내 주변 가장 힙한 카페를 보여주겠다
내 주변 가장 가까운 힙한 카페를 보여주겠다
문제 정의가 가장 시급함
문제점과 공감할 수 있는 고객을 정의하는 것이 시급함
비즈니스모델캔버스 그리기
UI/UX 생각하기
비즈니스 모델 캔버스를 만들어놓으면 PPT 만들기 쉬움
고객 설명 → 문제점 → 가치 제안 → 핵심 활동 제안 → 핵심 파트너 소개 → 핵심 자원 소개 (남들이 쉽게 따라하기 못한다) → 비용 설명 → 수익 소개 → 끝!