고매의 기록 (188) 썸네일형 리스트형 인하대학교 공학대학원 인공지능융합 전공 공학석사 졸업했어요 인하대학교 공학대학원 인공지능융합 전공3년간의 사투 끝에 드디어 졸업을 했습니다. 보통 2년 과정이긴 하지만중간에 휴학을 1년해서 3년이 걸렸네요. 사실 저와 같은 개발자혹은 IT 업종에 종사하시는 분들께서자기계발을 위해 석사 과정을많이 고민하시는 걸로 압니다. 아마 이 글을 보시는 분들도그런 고민이 있으신 분들이 대부분일거라 생각해요.그래서 제가 공학대학원을 다니게 된 계기와과정, 이후 현실에 대해 진솔하게 얘기해보고자 합니다. 1. 일반대학원이 아닌 공학대학원을 선택한 이유 공학대학원은 다들 아시다시피 야간에 수업이 진행되는 특수대학원 형태입니다. 저의 경우 서울에 있는 9군데 학교의 면접을 봤었고, 합격한 곳은 4곳이었으며 그 중에서 커리큘럼과 교수진, 등록금, 환경 등 모든 것을 고려.. [git] 하나의 repository에 2개 이상의 프로젝트 폴더 넣기 나의 경우에는 backend, frontend를 하나의 repository에 넣기 위해서각각의 repository를 지우고 하나로 다시 repository를 구성했다. 예를 들어서 최상위 폴더가 Fruits이고,banana 프로젝트와 apple 프로젝트를 최상위 폴더에 넣어줘야한다. 그런데, Fruits 폴더에서만 git add를 해버리면banana, apple 폴더 자체는 add가 안 된다. 아래 명령어들을 요약해서 기재한다. echo "# [최상위 repository 이름]" >> README.mdgit initgit add README.mdgit commit -m "first commit"git branch -M maingit remote add origin [최상위 repository URL]gi.. 30살, 2024년을 정리하며 (feat. 결혼, 이직, 석사 졸업) 이슈들과 빅 이벤트들이 총 집합되었던 2024년, 연말을 맞아 지난 한 해 정리를 해보고자 한다.너무 TMI인 것들은 빼려고 노력했지만 마음처럼 안 됐을 수 있음. 1월 지금의 남편과 결혼을 결심하고 본격 결혼 준비를 시작한 달이다.우리가 연애를 대략 3-4년 정도했으니, 서로가 언젠가는 결혼을 할 것이다라는 전제가 있었지만 누구 하나가 강력하게 밀어 붙이기 쉽지 않았고, 결혼 준비가 제대로 됐다는 생각이 전무했다. 그래서 사실 결혼이라는 것은 막연하기만 한 그저 먼 나라 이야기 같았다. 그러다가 1월 어느 평범했던 주말, 할게 없었던 우리는 문득 남편의 제안으로 데이트 겸 결혼 박람회를 가보게 되었는데...(우리 둘 다 호기심 많은 편) 절대 계약만큼은 하지 않기로 약속하고 박람회장에 들어선 우리는.. 맥 M1 플러터 파이어베이스 연동 오류 해결 플러터에서 파이어베이스 연동을 하는 과정에서 다음과 같은 오류를 발견했다. 아주 지긋지긋했다 몇 시간동안 이 오류를 본건지...Launching lib/main.dart on iPhone 14 Pro in debug mode...Running pod install... 8.2sRunning Xcode build...Xcode build done. 6.4sFailed to build iOS appError (Xcode): unsupported option '-G' for target'x86_64-apple-ios15.0-simulator'Cou.. React 주민등록번호 컴포넌트 1. 목적[인수 조건]Given개발자는 주민등록번호 유효성 검증을 위한 정규식을 이용한다.코드가 길어질 경우 라이브러리 React-hook-form을 사용할 수 있다.text input 2개로 구성된 컴포넌트로 구현한다.When주민등록번호 컴포넌트 GUI와 유효성 검증하는 함수로 각각 분리한다.Then1. 00년생 이전/이후와 생년월일, 성별 케이스별로 나누어주민등록번호의 뒷 번호 첫 번째 자리까지 유효성 검증을 진행한다.2. 실시간으로 유효성 검증이 진행된다.3. 올바르지 않은 주민번호 입력시 가이드 텍스트가 표시된다. [설명]보상 안내 받는 이와 예금주의 주민등록번호를 받았을 때 실시간 유효성 검증 기능이 있는 주민등록번호 컴포넌트를 구현한다.케이스는 00년생 이전과 이후로 나뉘며앞, 뒷 번호 자릿수.. AWS Secret Manager 목적Next.js 프레임워크 내에서 .env 파일 내의 S3 관련 Secret Key 노출을 방지할 수 있는 방법을 모색함빌드 후 배포시 .env 파일이 유실되어 릴리즈 버전에서 s3 접근에 리스크 존재, 이를 방지하기 위함AWS Secret Manager사용 방법https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-secrets-manager/import * as AWS from "@aws-sdk/client-secrets-manager";const client = new AWS.SecretsManager({ region: "REGION" });// async/await.try { const data = await client.l.. [Typescript] type 및 try-catch 시 return 처리 // psuedo codeclass Person { name: string; foo() { console.log(this.name); } constructor(name: string) { this.name = name; }}const p = new Person('kim');console.log(JSON.stringify(p));console.log(JSON.parse(JSON.stringify(p)));function bar(): string { let result = ''; // result가 try에서도 catch에서도 사용해야 할 경우 (부득이) try { result = 'success'; .. Dynamic Route - Slug 목적정확한 세그먼트 이름을 미리 알지 못하고 동적 데이터에서 경로를 생성하는 경우 요청 시 채워지거나 빌드 시 사전 렌더링되는 동적 세그먼트를 사용할 수 있다.Next.js의 Slug를 적극 활용해야 하는 이유App routing의 Slug 기능을 사용하여 동적 라우팅(Dynamic Routing)을 구현하려고 한다. 이 기능은 일반적으로 다음과 같이 사용된다.// app/blog/[slug]/page.tsxexport default function Page({ params }: { params: { slug: string } }) { return My Post: {params.slug};}이렇게 path param(segment)으로 온 param 데이터를 사용할 수 있는 것이 장점이다.그런데, .. 이전 1 2 3 4 ··· 24 다음 목록 더보기