[우아한테크코스 8기] 웹 프론트엔드 최종 합격 후기
·
우아한테크코스
12월 29일 대망의 1차 합격 발표일 15시 발표예정이라 15시에 합격 메일을 기다렸다.그런데 30분이 되어도, 50분이되어도 오질 않았다.15시 53분이 되자 이메일 하나가 왔다.프리코스에서 내가 한 노력들이 드디어 빛을 발한것 같아 기분이 너무 좋았다.그렇게 최종 코딩테스트를 준비하게 되었고 1월 10일에 최종코딩테스트를 보게 되었다.최종 코딩테스트 준비 과정먼저 같이 합격한 스터디원 2명과 함께 일정을 짜보았다.필자는 7기까지의 최종코딩테스트 문제를 모아봤고 각 코테는 5시간이란 제약이 있다는 것을 깨달았다.그래서 필자가 선택한 방식은 5기 최종코테 - 점메추, 6기 최종코테 - 온콜을 2일씩 나눠서 시간이 얼마나 걸리든 13시부터 시작하여 문제를 풀기로 했다. 그 후 7기 최종코테 - 출석부를 ..
[우아한테크코스 8기] 프리코스 오픈미션 회고 💡
·
우아한테크코스
드디어 오픈미션 회고를 하게 되었다 :)3주차를 마무리하며 적었던 회고를 다시 읽어보았는데Bottom-Up TDD 자체도 훌륭한 방법이지만, 인터페이스 설계가 선행되어야 한다!이 문장을 적으면서도 한편으로는 궁금했다.그럼 완전히 새로운 기술 스택으로도 이 원칙들이 적용될까? 내가 한 번도 써보지 않은 언어에서도?????우테코는 "해본 적 없던 일에도 하나씩 도전하는 사람"이 되길 기대한다고 했지 않았는가!!!오픈미션에선, 결정했다! 완전히 다른 접근을 시도해보기로:):) 💪=> Rust + Arduino로 실제 문제를 해결하자!!! GitHub - hjkim0905/handong_parking: [우테코8기] 오픈미션[우테코8기] 오픈미션. Contribute to hjkim0905/handong_pa..
[우아한테크코스 8기] 프리코스 3주차 회고 💡
·
우아한테크코스
이번 3주차 미션은 로또였다.로또 구입 금액을 입력받아서 => 로또를 발행하고 => 당첨 번호랑 비교해서 => 당첨 토계와 수익률을 출력하는 프로그램 만들기특히 이번 미션에서는 우테코에서 제공하는 Lotto 클래스를 사용해야 했고, #numbers 외에 다른 필드를 추가할 수 없으며 private 접근 제어자도 변경할 수 없다는 제약이 있었다.처음엔 좀 답답했는데, 나중에 보니 이게 다 이유가 있었긴했다.이번 주 액션아이템!필자는 2주차 미션에서 PR 피드백과 스터디에서의 피드백을 받고 나서 이번주차의 액션 아이템을 설정했었다.1. Bottom-Up 방식의 TDD 도전해보기! (2주차는 Top-Down이었기도 했고, 단위테스트를 하기엔 상향식 접근이 맞다고 생각했다.)2. Factory 패턴 적용해보기3..
[우아한테크코스 8기] 프리코스 2주차 회고 💡
·
우아한테크코스
벌써 2주차 회고를 하게됬다!!!1주차를 마무리하며 적었던 회고를 다시 읽어봤다.좋은 코드는 한 번에 만들어지는 것이 아니라, 끊임없는 리팩토링의 결과물이다이 문장을 적으면서도 한편으로는 궁금했다.그럼 처음부터 잘 설계하면 안되는 걸까? 리팩토링 말고 다른 방법은 없을까????우테코는 "할 수 있는 것만 아닌 사람"이 아니라, 해본 적 없던 일에도 하나씩 도전하는 사람"이 되길 기대한다고 했지 않았는가!!!2주차엔, 결정했다! 완전히 다른 접근을 시도해보기로:):) 💪=> MVC 패턴과 TDD에 도전하자!!!미션2 - 자동차 경주 게임이번 2주차 과제는 자동차 경주 게임이었다.자동차에 이름을 부여하고, 랜덤 값에 따라 전진하거나 멈추게 하고, 주어진 횟수만큼 경주를 진행한 후 우승자를 가리는 게임이다...
[우아한테크코스 8기] 프리코스 1주차 회고 💡
·
우아한테크코스
프리코스가 시작되기 전, 필자는 디스코드 가입 인사 채널에서 세 가지를 다짐했었다.더 자세한 내용은 아래 글 참고를 바란다. [우아한테크코스 8기] 프리코스를 준비하며 🫀우테코에 지원했다.왜냐고?몰입하고 싶었다. 그리고 이곳에서 우테코의 비전처럼 "소프트웨어 생태계에 선한 영향력"주는 개발자로 성장하고 싶었다.대학생 신분으로 학업과 알바를 병행하며bbin-guuuu.tistory.com이제 1주차를 마무리하며 그 다짐들이 얼마나 실천되었는지, 그리고 어떤 것들을 배웠는지 돌아보려 한다.생각보다 생각할게 많네??😭이번 기수 프리코스의 첫 번째 과제는 7기와 같이 '문자열 덧셈 계산기'로 시작하였다.쉼표와 콜론으로 구분된 숫자들을 더하는 것, 그리고 //와 \n 사이의 문자열을 커스텀 구분자로 사용할 수..
[우아한테크코스 8기] 프리코스를 준비하며 🫀
·
우아한테크코스
우테코에 지원했다.왜냐고?몰입하고 싶었다. 그리고 이곳에서 우테코의 비전처럼 "소프트웨어 생태계에 선한 영향력"주는 개발자로 성장하고 싶었다.대학생 신분으로 학업과 알바를 병행하며 개발 공부를 계속할 수도 있지만,10개월 동안 온전히 개발에만 집중할 수 있는 환경은 흔치 않다고 생각한다.무엇보다도 함께 성장하는 문화, 협업을 중시하는 철학, 우테코만이 그 경험을 허락해준다 생각한다.그래서 간절했다.지원서를 쓰고 또 쓰며, 문장 하나하나를 고민하고, 단어 하나하나를 다듬으면서 주변 사람들에게 피드백을 받고, 다시 수정하며 진솔한 나의 이야기가 완성되었다.그렇게 떨리는 마음으로 제출하였고 곧이어 이메일로 지원 완료 메시지가 도착했다.이제 시작이다!!!프리코스 다짐.프리코스 시작 전 디스코드에 가입하게 되었는..
[React Native] Expo로 React Native 생성하기 + 이유
·
React Native
최근 진행하고 있는 공모전에서 앱서비스를 개발하게 되었다.스택을 선정하는 과정중 동료 개발자가 웹개발자였고 한정적인 시간 내에서 JavaScript와 React 지식을 그대로 활용할 수 있는,상대적으로 러닝커브가 적다고 생각한 리액트 네이티브로 개발하기로 정하였다.React Native가 뭐야?React Native는 Facebook(현 Meta)에서 개발한 크로스플랫폼 모바일 앱 개발 프레임워크이다.하나의 코드베이스로 iOS와 Android 앱을 동시에 개발할 수 있다는 점이 가장 큰 장점이다.React와 유사한 문법을 사용하기 때문에 웹 개발자가 모바일 앱 개발에 진입하기 위한 러닝커브가 상대적으로 낮다는 특징이 있다. React Native가 특별한 이유는 하이브리드 앱이 아닌 진짜 네이티브 앱을 ..
[Next.js] 크롬 익스텐션으로 뉴스 분석 AI 서비스 개발기 🚀
·
Next.js
이 글에서는 필자가 프로젝트에서 개발한 뉴스 분석 AI 서비스를 크롬 웹 스토어에 배포한 경험을 공유해보고자 한다!무슨 프로젝트?필자는 NEWSEE란 서비스를 개발했다. NEWSEE는 뉴스 기사를 AI가 분석하여 핵심 내용을 쉽게 이해할 수 있도록 도와주는 크롬 익스텐션이다.사용자가 뉴스 URL을 입력하면 -> AI가 자동으로 제목을 재구성하고 -> 요약을 생성하며 -> 키워드를 추출하고 -> 난이도를 분석하는 등 다양한 분석 결과를 제공한다.이 프로젝트에서 필자는 Next.js의 App Router, LangChain을 활용한 AI 파이프라인, 크롬익스텐션 개발, 그리고 Chrome Web Store 배포까지 전체 과정을 경험할 수 있었다!!!이 글은 크롬 익스텐션을 스토어 배포한 경험에 목적을 두고 ..
[LangChain] Next.js + TypeScript + LangChain으로 제미나이 연동부터 테스트까지 진행해보기
·
LangChain
최근 AI기술이 급속도로 발전하면서 개발자들도 AI를 활용한 웹 애플리케이션을 만들어보고 싶어한다. (필자 포함)특히 ChatGPT나 Claude, Gemini와 같은 대화형 AI를 직접 웹사이트에 통합해보는 것부터 시작해야되지 않을까?그래서 이번에는 Next.js와 TypeScript, 그리고 LangChain을 활용해서 구글의 제미나이 AI모델을 연동하는 프로젝트를 진행해보고자 했다.왜 위와 같은 기술 스택을 선정했을까?사실 많을 고민을 했다...Next.js를 선택한 이유는 풀스택 개발이 가능하기 때문이다. 프론트엔드와 백엔드를 하나의 프로젝트에서 관리할 수 있어 개발 효율성이 높다 판단을 했다. 특히 API Routes 기능을 통해 서버리스 함수처럼 백엔드 로직을 쉽게 구현할 수 있다는 점이 매력..
[Electron + React] Electron 앱 공증(Notarization)은 필수다?!!
·
React
최근 프로젝트에서 React + TypeScript로 'Graduable'이란 전산전자공학부 학생들의 학점관리와 미래 학업계획에 도움이 되는 데스크탑앱을 만들었다. 이 때 사용했던 스택이 Electron이었다. 하지만 로컬에서의 개발이 끝이 아니었다...웹앱 개발의 끝은 배포... 데스크탑앱을 만들었으면 빌드 과정 후 설치파일을 만들어서 다른 컴퓨터에서도 실행이 가능하게 해야하지 않나.우리 팀은 MacOS에서만 구동되는 데스크탑앱을 만들었는데 배포를 하며 알게된 사실을 정리하고자 한다. Electron 앱 배포의 시작.. 왜 공증이 필요한가?Electron으로 데스크탑 앱을 개발하고 나서, macOS에서 앱을 배포하려고 하면 단순히 빌드만으로 끝나지 않는다는 사실을 알게 되었다.macOS는 보안 정책이 ..