본문 바로가기

main

ECMAScript 문서에서 Array.from()에 대해 읽어보기 요즘 JS로 알고리즘 문제를 푸는 것이 꽤 재미있는 상태다.2차원 배열은 기본이고 3차원 배열도 자주 쓰게 된다. 다차원 배열을 초기화하여 선언하는 과정에서 원소를 복사해서 넣어주게 되면배열 복사 시 기본 특성인 shallow copy (얕은 복사, 주소 참조)로 인해원본 배열을 변경하여도 새 배열이 같은 주소를 참조하여 두 배열의 값이 함께 변경되는 의도하지 않는 일이 발생한다. 따라서 초기화 시 shallow copy 되지 않도록for문 혹은 map()을 이용해서 원소를 하나하나 넣어줄 수 있다. 또는 Array.from() 메서드를 사용할 수 있는데 요즘 나는 이 방법을 주로 사용하고 있다.처음에는 단순 사용법만 외워 쓰다가 원리를 알고 써야겠다 싶어 공부하게 되었다. 1. ECMAScript 명세.. 더보기
팀 레포 Vercel 무료 배포하기 | Github Action: Fork Repo Sync 맞추기 (+CI/CD) Github Action를 통한 작은 Continuous Delivery 구축하기프론트엔드 프로젝트의 배포를 도와주는 Vercel을 무료로 사용하기 위해서는 개인Repository여야 한다.Organization Repo 등을 사용할 경우에는 유료 버전을 사용해야 한다. 사실상 Vercel을 사용하면 배포는 vercel에서 해주는 것이고 나는 CD환경을 직접 구축하지 않아도 된다.보통 CD의 D를 deployment/delivery 중 혼용하여 사용하는 것 같은데, 여기서는 delivery에 가까운 듯 하다. 하지만 우리의 팀 프로젝트에서 Vercel의 기능을 사실상 우회..!하여 프론트엔드를 무료로 배포하기 위해팀 레포에서 공동 작업을 하고 -> 팀원의 개인 레포로 fork한 다음 vercel과 연결.. 더보기
Next.js typescript 환경 cypress + jest 설치 과정 중 만난 에러 핸들링 최근 합류한 프로젝트가 있는데 기존 코드 및 기획을 이해할 겸 테스트코드를 먼저 짜려고 했다.이미 프로젝트에 cypress와 storybook이 있었는데 (사용하고 있지는 않았지만 ..?)일단 testing-library를 써야겠다 싶어 jest를 설치했다.  Testing: Jest | Next.jsLearn how to set up Jest with Next.js for Unit Testing and Snapshot Testing.nextjs.orgNext.js의 공식문서를 참고하여 진행했는데 계속해서 에러가 나는 것이다.뭔가 없다며 any 타입을 찍어주고 있다.테스트 초보인 나는 구글링을 해보았지만 돌아오는 결과는 'config 파일 좀 잘 써봐' 였다. 자세히 보니 expect가 이상하다.오른쪽처.. 더보기
백준 _ 2457 공주님의 정원 (JavaScript) https://www.acmicpc.net/problem/2457 JavaScript 코드const [in1, ...in2] = require("fs").readFileSync("/dev/stdin").toString().trim().split("\n");const N = Number(in1)const inputList = in2.map((el) => el.split(" ").map(Number))const flowers = inputList.map(el => { const startMD = el[0] * 100 + el[1] const endMD = el[2] * 100 + el[3] return [startMD, endMD]}).sort((a, b) => a[0] - b[0])const last.. 더보기
백준 _ 2580 스도쿠 (Python, JavaScript) https://www.acmicpc.net/problem/2580 풀이 과정1. 빈 칸의 좌표를 모두 조회해 보관한다.2. 빈 칸에 들어갈 수 있는 숫자를 체크해본다. 이때, 행/열/정사각형 범위를 체크한다.3. DFS 백트래킹을 통해 모든 빈 칸의 좌표가 채워질 때까지 반복한다. Python 코드def check(y, x, n): for i in range(9): if n == arr[y][i] or n == arr[i][x]: return False for i in range(3): for j in range(3): if n == arr[y//3 * 3 + i][x//3 * 3 + j]: return False return Truedef find(n): .. 더보기
[수강후기] 유데미(Udemy) 【한글자막】 Typescript :기초부터 실전형 프로젝트까지 with React + NodeJS 프런트엔드 개발자라면 이제는 누구나 공부하는 타입스크립트이죠 Typescript 공부에 대한 목마름이 계속 있던 저는 좀 더 잘 알고 잘 쓰기 위해 해당 강의를 들어보게 되었습니다. 강의 내용 Typescript의 개념과 컴파일러 작동 방식, ES6 문법, JavaScript를 Typescript에 통합, Webpack으로 개발 환경 설정, 실제 사례를 배웁니다 요구 사항으로는 Javascript 기본 문법 정도의 사전지식을 요합니다. Typescript를 완전 처음 사용해보는 수강생을 위한 초기 셋팅부터 알려줍니다. 그게 아니라면 앞부분은 건너 뛰셔도 될 듯 합니다! 좋았던 점 강의가 꽤 길지만 (15시간) 그만큼 내용도 폭넓고 알찹니다. Typescript는 직접 실습해보지 않으면 이론만으로 공부하기.. 더보기
코드트리 두달 사용 솔직 후기 알고리즘 공부에서 길을 잃었나요 .....? 코드트리 한달 사용 솔직 후기 들어가기 전에 잠깐, 제가 알고리즘을 공부한 지가 얼마나 되었게요? 처음 시작한 알고리즘. Python이었으며 무려 2019년, Jul 이니까 햇수로만 따지면 5년이 좀 안 됐군요. 놀랍게도 아직도 알고리 improvisation.tistory.com 지난 번 한달 사용 후기를 작성하고, 조금 늦게 돌아 온 두달 후기입니다 ..! 두달 차에는 무작정 문제만 풀지 말고, 코드트리에서만 할 수 있는 공부를 하자! 가 목표였고 짧은 기간인지라 역시 모든 커리큘럼을 다 볼 수는 없었고 가능한 만큼 공부했습니다. 알고리즘 문제풀이가 아닌 [ 개념설명 + 설명한 개념 관련 퀴즈 ] 로 구성되어 이론 공부하기 좋은 커리큘럼이 NH(Novic.. 더보기
[수강후기] 유데미(Udemy) 【한글자막】 AI 만들기 : 강화학습과 인공신경망 완전 정복 인공지능에 대한 배경지식을 쌓기 위해 해당 강의를 들어보게 되었습니다. 들어가기 전, 인공지능에 대한 제 수준은 거의 아는 게 없고 여러 종류의 모델들이 어떤 차이가 있는지도 잘 모르는 초보 입니다. - 과거 데이터 정제, 데이터 시각화 등등의 기초 수업을 python, R으로 들은 적이 있다. - RNN을 공부하고 tokenize를 사용해 봤다. AI에서 사용되는 언어인 Python에 대해서는 적당히 알지만, 잘 쓰진 못합니다. 크롤링 하고 알고리즘 열심히 풀었던 게 너무 까마득 ... 강의 내용 Q-Learning, Deep Q-Learning, Deep Convolutional Q-Learning, A3C, 인공신경망과 CNN 모델 등 최신 AI 모델 완벽 마스터 강화학습과 딥러닝의 핵심 모델에 대.. 더보기