본문 바로가기

전체 글

(51)
항해 플러스 AI 3기 - 시작하는 마음 깊고 넓은 AI로의 항해  항해 플러스에 지원한 것이 1월 중순 쯤인 것 같고, 사전 스터디 조가 편성된 것이 2월 초 쯤이니 두 달 넘게 달려왔나 보다. 이제 개강한 지 1주일 차지만 시간이 어떻게 흘렀는지 모르겠다.  내일배움캠프로 개발 그리고 스파르타와 인연을 맺고 개발을 시작한지 만 1년이 되어갈 쯤에 어떤 전환점이 필요했다. 버거웠던 업무가 익숙해지고 향후 커리어를 그려보면서 어떤 부분을 채워나갈지 고민했다.    javascript도 잘 모르던 코린이 시절 chatGPT 원툴이라고 생각했었고, 여전히 꽤나 유용하게 쓰는 LLM이 궁금해졌고 조금 더 깊게 알고 싶어졌다. 또한 내 베이스인 생명공학, 지향점인 신약개발, 그리고 개발을 연결해줄 고리가 AI라고 생각하기 때문에 추상적인 목표를 향해 ..
비전공자가 전하는 날것의 부트캠프 취업 후기 (feat. 내일배움캠프 with 스파르타코딩클럽) # Before Nbcamp  내 삶은 내일배움캠프 이전과 이후로 나뉜다고 해도 과언이 아닐 것이다. 생명공학을 전공한 비전공자로 전공과목에서 파이썬, 리눅스 등을 찍먹 해보긴 했지만,, (거의 Hello World! 수준이랄까) 개발의 '개'자도 모르고 컴퓨터나 CS에 대한 지식이 전혀 없는 현대적 컴맹이 개발자가 되어 밥벌이를 하고 있으니 말이다.  대학원 진학 후 생명공학 연구원이 되어 제약 업계에서 내 꿈을 펼쳐보겠다는 포부가 꺾이고 대학원을 나오게 되면서, 비교적 늦은 나이에 취업 시장에 뛰어들었다. 전공을 살려보고자 임상시험 관련 직무에 지원하고 떨어지기를 반복하며 그동안 벌어놓은 잔고도 바닥을 보이던 시점에 유튜브에서 내일배움캠프 광고를 보게 되었다.# Why Nbcamp?  더 이상 앞으로..
20240327 TIL #65 [1] 웹과 앱을 개발하는 것의 차이 (1) 웹 앱 프레임 웹 프레임, 앱 프레임을 따로 만들어야 함 안드로이드 vs iOS iOS가 제약이 더 크기 때문에 iOS에 맞춰서 하면 안드로이드도 커버할 수 있음. iOS의 경우 홈 indicator가 있어서 화면 하단에서 조금 띄워서 컴포넌트를 배치해야 함. 반응형 디자인으로 개발 앱으로 먼저 개발하고 데스크탑은 넓게 펼치면 됨. 데스크탑도 프레임을 어떻게 설정할지 정해야 함. 데스크탑 : 양쪽 마진 ⇒ 360px (1920), 40px (1020) (2) 구현 방식의 차이 웹에서는 여러 컴포넌트를 구역을 나눠서 렌더링 앱은 크기가 작기 때문에 웹처럼 구현할 수 없기 때문에 다른 방법으로 구현해야 함. 한 페이지에서 전체 컴포넌트를 Tab으로 렌더링하는 방식..
20240326 TIL #64 [1] 최종 프로젝트 기술 스택 ❓ 기술 스택 선정과 그 이유 React.js : 우리 React 4기인데요… Next.js 다양한 렌더링 방식(SSG, ISR, SSR, CSR)을 최대한 활용하여 빠르고 효율적인 화면 전환을 구성할 수 있 App Routing을 통해 간편하고 직관적으로 routing을 할 수 있음 컴포넌트의 자체 이미지 최적화 기능을 활용할 수 있음 TypeScript 컴파일 타임에 타입 에러를 잡아낼 수 있기 때문에 개발 시간을 더욱 효율적으로 관리할 수 있음 타입을 지정하여 좀 더 안전하고 효과적인 기능 구현을 할 수 있음 Tailwind CSS : 동적인 CSS를 구현할 수 있음 NextUI : 디자인 시스템 사용을 통해 UI 제작에 대한 시간을 단축하고 기능 구현에 더 시간을 ..
20240318 TIL #58 [1] 심화 프로젝트 기술 스택 (1) React.js 1) SPA 기반의 프론트엔드 개발 프레임워크 2) 컴포넌트 단위의 독립적인 블록을 이용한 개발 3) Props, state를 통해 안전하고 효율적으로 데이터를 공유 (2) Next.js 1)다양한 렌더링 방식(SSG, ISR, SSR, CSR)을 최대한 활용하여 빠르고 효율적인 화면 전환을 구성할 수 있음 2) App Routing을 통해 간편하고 직관적으로 routing을 할 수 있음 3) 컴포넌트의 자체 이미지 최적화 기능을 활용할 수 있음 (3) Typescript 1) 컴파일 타임에 타입 에러를 잡아낼 수 있기 때문에 개발 시간을 더욱 효율적으로 관리할 수 있음 2) 타입을 지정하여 좀 더 안전하고 효과적인 기능 구현을 할 수 있음 (4) ..
20240305 TIL #49 [1] TypeScript 4주차 강의 정리 1. object literal (1) key - value pair, json 형식 (2) enum은 상수로 이루어져 number, string 값만 대입할 수 있음. 1) 간단한 상수값을 그룹화 2) 각 멤버의 값이 변하면 안 됨 (3) 객체 리터럴은 어떤 타입의 값도 대입할 수 있는 유연한 구조 1) 멤버의 값이나 데이터 타입을 변경 가능함 2) 복잡한 구조와 다양한 테이터 타입을 사용할 때 2. 유틸리티 타입 (1) Partial 1) T : 제네릭 => Person을 넣고 싶으면 Partial 2) 타입 T의 모든 속성을 선택적으로 만드는 것 3) 일부 속성만 제공하는 객체를 생성할 수 있음 : field에는 최소 1개의 인자 ~ 전체 속성, 없는 속..
20240304 TIL #48 [1] TypeScript 1주차 강의 정리 1. TS vs JS (1) TypeScript : JavaScript + type system (2) JavaScript => 웹 페이지에 동적인 효과 V8 엔진 + Node.js => 백엔드 개발이 가능해짐 : full stack JS : 동적 타입 언어 Node.js의 잠재적 위험성 : 백엔드의 경우 프론트엔드보다 side effect가 크게 나타남 2. JS의 단점 : 알 수 없는 undefined 에러 (1) 실행 시간에 결정되는 변수 타입 let, const => 선언만 하는 것 개발자의 실수로 인한 오류가 발생하기 쉽고 찾기가 까다로움 (2) 약한 타입 체크 변수, 상수만 구분 (3) 객체의 성질을 수시로 변화시킬 수 있음. 오류가 생긴 경우 컴파..
20240222 TIL #42 [1] TIL 1. 개인 과제 해설 영상 피드백 (1) Redux toolkit 1) immer.js로 불변성을 알아서 유지해줌 2) immer.js immutable data를 쉽게 handling할 수 있도록 도와주는 package 3) state.unshift(newLetter); => [newLetter, …state ] : newLetter를 앞에 추가 4) state.push(newLetter); => […state, newLetter ] : newLetter를 뒤에 추가 (2) Slice의 이름 1) name: “auth” 2) action type의 prefix를 의미함 (3) A non-serializable value was detected 1) 직렬화가 되지 않았다. 2) create..