main 썸네일형 리스트형 슬랙봇으로 피크민 챌린지 랜덤 조 편성: 매주 반복되는 작업 자동화하기 오랜만에 재밌는 개발을 했어요! 💐 피크민 블룸피크민 블룸이란 포켓몬고의 피크민버전이라고 생각하면 쉬운데걸으면서 피크민을 키우고(?) 꽃을 심고 버섯을 패는(!) 등의 활동을 기본으로 하게 됩니다. 또 친구와 엽서를 주고받을 수 있으며개개인별로 하루동안 걸은 경로와 걸음 수로 짧게 기록을 남겨 주는데 꽤 재밌습니다.! 그리고, 매주 챌린지를 할 수 있는데 5명씩 모여 100,000걸음을 걷고, 꽃을 30,000송이 심는 것이 있어요.이는 친구와 함께 진행할 수 있어서 글또 10기 슬랙의 피크민또 채널에서 매주 월요일 인원을 모집하고 함께 진행해오고 있었습니다. 💫 사건의 발단그런데 가만보니 이 챌린지를 모집하고 진행하는 일이굉장히 별 것 아닌 일이지만 꽤나 번거로워보였어요. 매주 월요일 아침.. 댓글.. 더보기 또다시 돌아온 코드트리로 알고리즘 공부하기 24년 2월~4월에 코드트리 체험권 받아 잘 쓰고, 후기 작성했던 이후로거의 1년 만에 다시 코드트리를 사용해 보게 되었습니다. 💫 그 사이 코드트리를 사용하지 않을 때는 여느 다양한 플랫폼을 다시 사용하게 되었어요.백준, 프로그래머스, ... 를 기본으로 각종 기업의 코딩테스트에서 사용되는 해외 플랫폼 등등.. 특별히 뭔가 한 곳을 많이 사용하지는 않고 다양하게 이용했습니다.영어 문제를 풀기 위해 릿코드를 사용하기도 하고백준의 문제집 기능이 좋아서 문제집 중 어느 하나를 골라 한참을 풀기도 하고 프로그래머스는 코테 벼락치기용으로 공부하긴 했는데난이도가 같은 레벨에서도 편차가 있는 것 같아서. 자주 사용하진 않았습니다.. 그러던 중 아 나는 역시 DP에 너무 약하다.DP를 아예 모르는 것 같다. !?.. 더보기 TanStack Query의 난제, 코드로 직접 뜯어보기: isPending과 isFetching은 어떻게 달라요? 과거 TanStack Query v4를 사용하면서버튼의 disable 상태를 처리할 때 isLoading과 isFetching를 사용한 적이 있었다. +) 참고: v4의 isLoading이 v5에서 isPending이 되었다.v5의 isLoading은 v4의 isLoading과 다르다. 이 글에서는 v5의 name을 기준으로 설명하겠다. isPending과 isFetching의 역할은 거의 비슷했지만 캐시 사용 여부에 따라 동작이 조금 달랐다.당시 사용했던 상황에서는 해당 쿼리에서 캐시를 사용하지 않았었고 그렇다면 둘 중 어떤 것을 사용해도 차이가 없어 보였다.둘 중 하나만 사용해도 특이점이 없는 것을 간단한 테스트로 확인했고(isPending === true)일 때 버튼을 disable 시키도록 구현했.. 더보기 ECMAScript 문서에서 Array.from()에 대해 읽어보기 요즘 JS로 알고리즘 문제를 푸는 것이 꽤 재미있는 상태다.2차원 배열은 기본이고 3차원 배열도 자주 쓰게 된다. 다차원 배열을 초기화하여 선언하는 과정에서 원소를 복사해서 넣어주게 되면배열 복사 시 기본 특성인 shallow copy (얕은 복사, 주소 참조)로 인해원본 배열을 변경하여도 새 배열이 같은 주소를 참조하여 두 배열의 값이 함께 변경되는 의도하지 않는 일이 발생한다. 따라서 초기화 시 shallow copy 되지 않도록for문 혹은 map()을 이용해서 원소를 하나하나 넣어줄 수 있다. 또는 Array.from() 메서드를 사용할 수 있는데 요즘 나는 이 방법을 주로 사용하고 있다.처음에는 단순 사용법만 외워 쓰다가 원리를 알고 써야겠다 싶어 공부하게 되었다. 1. ECMAScript 명세.. 더보기 Github Action으로 Fork Repo Sync 자동화하기 (+CI/CD) | 팀 레포 Vercel 무료 배포하기 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): .. 더보기 이전 1 2 3 4 ··· 15 다음