전체 글 59

[내일배움캠프] 2월 1주차 WIL

1. 지난 일주일 동안 가장 인상 깊었던 배움처음으로 유저 인터뷰를 진행하였다. 이 분의 생산 관리 업무를 하시는 분이셨고, 이 분과 대화를 통해 기능들을 다시 점검해 나가는 중이다.내가 생각했던 부분과 동일한 부분도 있었지만 놓쳤던 부분들도 있어서 서비스 개선에 있어서 큰 도움이 되었다.2. 그 배움까지 도달하며 겪은 어려움이 분과 대화를 하다 보니 어떤 질문들을 해야 하는지 헷갈렸다. 내가 구현하고 있는 서비스를 간단히 말로 소개해 드리고, 업무를 진행하시면서 힘든 점들을 듣다 보니 자연스럽게 다음 질문들이 생겨나서 더 많은 이야기들을 들을 수 있었다.3. 그 과정에서 무엇을 깨달았고, 느낌 감정과 생각나는 내가 느낀 pain point에서 시작했으니 고객의 입장을 잘 안다고 생각했다. 하지만 나는 ..

카테고리 없음 2026.02.06

Chapter 17. StatefulWidget Lifecycle

StatefulWidget Lifecycle이란?: Flutter에서 상태(State)를 가지는 위젯이 생성되고, 화면에 그려지고, 업데이트되고, 제거되기까지의 전체 흐름 createState() ↓initState() ↓didChangeDependencies() ↓build() ↓(setState / 부모 변경) ↓didUpdateWidget() ↓build() ↓deactivate() ↓dispose() Lifecycle 메서드 정리1. createState( )StatefulWidget이 처음 생성될 때 호출해당 위젯과 연결될 State 객체를 생성보통 직접 로직을 작성하지 않음2. initState( )State 객체가 생성된 후 단 한 번만 호출위젯이 화면에 나타나기 전 초기화 ..

Chapter 16. 비동기 프로그래밍과 Dart

안녕하세요!오늘은 다트 문법의 마지막 시간입니다.. 이제 하산해도 되는 건가???라고 생각하셨다면 오산입니다음하하 오늘은 비동기 프로그래밍 준비했습니다!사실 저도 아직 너무 헷갈리는 개념이라 정리하면서 다시 복습 해볼 생각입니다!ㅎㅎ1. 동기 프로그래밍작업이 완료될 때까지 기다렸다가 결과가 나오면 값을 반환! 단점: 결과값이 나올 때까지 다른 모든 연산이 멈추기 때문에 다른 작업을 할 수 없다.시간이 오래 걸리는 작업인 경우 매우 비효율적!파일로부터 데이터를 읽을 때데이터 베이스에 데이터를 쓸 때네트워크를 통해 데이터를 불러올 때-> 동기 프로그래밍의 비효율을 해결하기 위해 나온 것이 비동기 프로그래밍이다! 2. 비동기 프로그래밍작업이 완료될 때까지 기다리지 않고, 미래의 특정 시점에 값을 반환결과값이 ..

[내일배움캠프] 1월 4주차 WIL

1. 지난 일주일 동안 가장 인상 깊었던 배움지난 일주일은... 너무 빨리 지나갔다사업계획서의 무한 수정과 개발한 프로그램의 수정..무한 수정의 굴레에 빠지다 보니, 정신을 놓아버릴 것 같은 기분이다..하지만 계속 수정의 과정을 거치다 보니 점점 더 핵심들이 드러나고 있고, 점점 원하는 방향으로 흘러가고 있는 것 같다.고민하는 시간들이 길어지고, 그 시간 속에서 답을 찾아나가는 과정이 모두 성장의 연속인 것 같다.2. 그 배움까지 도달하며 겪은 어려움고민하는 시간이 길어지면서 가끔씩 생각이 다른 길로 빠질 때가 있었다.그러다 보니 생각들이 많아지고, 정리가 안 되는 느낌도 들었다.하고 싶은 건 많은데 뭐부터 해야 할지 모르겠는 느낌이었다.사업계획서도 써야 하고, 개발도 해야 하고, 수요도 조사해야 하니 ..

카테고리 없음 2026.01.30

Chapter 15. 효율적인 앱 개발을 위한 스로틀링과 디바운싱

01. 스로틀링과 디바운싱이란?스로틀링오래 사용하면 발열, 전력 과소모 등으로 인해 노트북이 갑자기 느려짐-> 스로틀링을 통해서 성능을 일부러 제한시스템을 보호하거나 안전성을 위해 일부러 속도를 낮추는 제어특정 시간 간격 내에서 이벤트가 여러 번 발생하더라도, 그 중 한 번만 실행되도록 하는 기능예시 상황스크롤 이벤트 너무 자주 발생일정 간격마다만 처리class ThrottleExample extends StatefulWidget { @override _ThrottleExampleState createState() => _ThrottleExampleState();}class _ThrottleExampleState extends State { DateTime _lastRun = DateTime.now..

Chapter 14. 사용자 경험을 올려주는 애니메이션

01. 애니메이션 종류암시적 애니메이션(Implict Animations): 개발자가 직접 애니메이션의 세부 동작을 구현하지 않아도, 위젯의 특정 속성이 변경되면 애니메이션 효과가 적용되는 방식명시적 애니메이션(Explicit Animations): 개발자가 애니메이션의 모든 세부 동작을 직접 구현하는 방식 02. 암시적 애니메이션-> 값만 바꾸면, 프레임워크가 알아서 애니메이션을 만들어주는 방식핵심 특징 1) 핵심 특징애니메이션 컨트롤러를 직접 다루지 않음이전 값-> 새로운 값 사이를 자동으로 보간코드가 짧고 직관적복잡한 제어는 어려움2) 공통 속성curve: 애니메이션은 기본적으로 0부터 1까지 진행되는 값을 기반으로 작동되는데, curve는 애니메이션이 진행되는 동안의 속도 변화를 제어 -> 애니메..

AI 시대에서 살아남기

'우리'말고 '나'에 집중되는 서비스많은 사람이 공감하고 좋아하는 콘텐츠나 서비스를 제공하는 것은 이미 끝났다.사람들은 모두 동일한 콘텐츠를 소비하지 않고, 자신에게 맞는 뾰족한 콘텐츠만을 선별해서 본다. 앞으로 계속해서 이런 방향으로 나아간다면 규모의 경제가 더 이상 유일한 경쟁력으로 작동하지 않을 것이라는 위기감이 돈다. 회사는 점점 작아지고 기술은 무한으로 확장하며 소수의 인원으로 엄청난 돈을 벌고 있는 회사는 극히 소수이다.요즘 스타트업들은 A를 활용한 맞춤형 서비스를 제공하고, 업무 프로세스의 자동화가 훨씬 많이 이루어져 있고, 훨씬 디테일한 사용자 페르소나에 타깃되어 있는 가능성이 높다.무료로 사용하는 대신 광고를 보게 하거나 구독 모델을 제공하여 광고 없이 서비스를 이용할 수 있는 수익모델은..

창업 2026.01.27

[인사이트 클럽] 혼자서 AI 에이전트 20개를 관리하고 1억 계약을 딴 창업가

1. 내가 읽은 콘텐츠https://maily.so/josh/posts/10z3086ezlw- 왜 이 자료를 선택했는가?AI 에이전트에 관심이 많았는데 그걸 실제로 하고 있는 창업가의 이야기가 궁금했다.2. 핵심 인사이트 3가지1. 에이전트를 훈련시키는 방법: Ingestion, Orchestration, TrainingIngestion: 웹사이트 URL이나 교육 문서, 투자 설명서 등을 에이전트에게 업로드 -> 데이터를 읽고 소화Training: 자료를 업로드하면 에이전트가 어느 정도 알게 되지만 처음에는 잘 알지 못하기 때문에, 에이전트가 질문을 만들어내고, 사용자가 질문에 답변하면서 점점 더 좋아지게 만드는 것Orchestration: 사람이 여러 에이전트가 서로 충돌하지 않게 고객 데이터를 분류하..

창업 2026.01.26

[내일배움캠프] 1월 3주차 WIL

1. 지난 일주일 동안 가장 인상 깊었던 배움사업계획서를 고쳐나가는 과정과 바이브 코딩을 진행하면서 겪은 시행 착오들에서 큰 배움이 있었다.2. 그 배움까지 도달하며 겪은 어려움사업계획서는 맨처음 컨펌을 받을 때 모든 내용을 다 집어넣어야 하는 줄 알고 최대한 많은 내용을 집어 넣었다.하지만 튜터님들의 피드백에 의하면 첫 장을 보고도 이 사업이 뭔지 큰그림을 알고 시작할 수 있도록 무조건 한 페이지로 줄이는 작업부터 진행하였다. 하지만 늘리는 것보다 줄이는게 더 어려운 법. 해당 과정을 통해 겉치레 적인 말들이 걷혀지고 핵심만 드러낼 수 있는 방법을 배웠다.그리고 내 서비스를 개발하기 위해 바이브 코딩을 진행했는데, 아무리 AI가 자연어를 이해하지만 기계는 기계였다.기계와 소통하기 위해서는 소통하는 방법..

카테고리 없음 2026.01.23

Chapter 13. Flutter 데이터 통신 기초와 JSON

1. JSON 이란?Dart 코드로 되어있는 객체를 다른 언어로 작성한 언어 및 플랫폼(ex. 자바로 작성된 서버)에서 작동하게 하려면?-> 통일된 규격으로 변환하는 작업이 필요: 직렬화-> 해당 작업을 JSON이라고 함!JavaScript Object Notation자바 스크립트의 객체 표기 방식을 기반한다.JS Object: 중괄호 안에 Key - Value 쌍Key는 반드시 문자열Value에 들어갈 수 있는 타입StringNumber(int, double)Boolean(bool)Array(대괄호)Object(중괄호)null2. Dart에서의 사용법데이터를 주고 받을 때 JSON 형식의 String으로 주고 받음직렬화: Dart 객체 -> Map -> String역직렬화: String -> Map -..