본문 바로가기

전체 글

(73)
passport apple + nestjs 에러 해결 방법 Passport-apple + nestJS 에러 해결 방법 nestjs에서 passport-apple을 사용해서 인증을 만들면 에러가 발생한다. 이건 호환이 되지 않기 때문인데, 해결 방법은 passport-apple을 뜯어 고치는 방법이 현재(2023-05-01 기준)로서는 유일하다. 뜯어 고치기. passport-apple을 직접 수정하면 된다. 즉. passport-apple을 fork해서 직접 수정하면 된다. 뜯어 고칠 곳은 strategy.js 파일이다. 여기서 에러가 발생하기 때문. 내가 고친 방법은 kiju2/passport-apple 에서 확인할 수 있다. 적용은 어떻게 해? fork를 했다면 package.json을 조금 수정해주자. { ... "passport-apple": "githu..
그라더(Grother) | 파충류 분양 플랫폼 개발 [작성 중] https://www.grother.net/ 그라더 | 파충류 분양 플랫폼 크레스티드 게코, 레오파드 게코, 리키에너스 게코, 가고일 게코, 분양 서비스 제공 www.grother.net 파충류 분양 앱 - 그라더(Grother) 배경 파충류를 키우고 있습니다. 한 두마리 키우다보니 이제 열 마리가 넘네요 🦎🦎 파충류에게는 반려동물과 다른 아주 독특하지만 매력있는 포인트가 많이 있습니다 ! 특히 어릴 적 부터 곤충이나 동물들을 좋아하는 사람들이라면 더 좋아할 것 같아요. 파충류에 진심이 되다보니 파충류와 관련된 네이버 카페에서도 눈팅 활동을 하게 되었고, 문득 생각했습니다. "내가 가진 IT 기술로 파충류를 위한 플랫폼을 만들어 보는게 어떨까?" 제가 알고 있는 브리더분들은 전문적이고 계산적..
[우아한테크러닝] 3주차 과정 [2021.06.15] 다섯번째 과정 컴포넌트에 관련하여 더욱 자세한 이야기를 나누었다. 리액트의 컴포넌트는 일반적인 컴포넌트로 보기에는 부족하다는 김민태님의 의견이다. 사실 컴포넌트에 대해서는 대강적인 컨셉만 이해하고 있었으나 용어와 구분에 대해 면밀히 생각해보진 못했다는 점이 스스로를 되돌아보게 되었다. 컴포넌트에 대한 고찰 컴포넌트는 독립적이며, 재사용이 용이하여야 한다. 당연한 이야기이다. 리액트의 컴포넌트랑 비교해보자. 리액트의 컴포넌트는 독립적인가? 물론 사용에 따라 잘 분리하면 독립적일 수 있을 것이며 재사용성도 훌륭하게 해낸다. 그렇지만 '리액트 내부'에 한정되어있다. 외부에서 사용할 수도 있겠지만 그렇다면 어떠한 인터페이스를 갖추어야 할 것이다. 이 부분에 대해서 컴포너트라고 부르기에는 ..
[우아한테크러닝] 2주차 과정 [2021.06.08] 세번째 과정 일부 참여자들이 Draft와 Slate로 간단한 텍스트 에디터와 구글 oAuth를 통한 로그인을 만들어왔다. 그 중 몇 참여자가 발표를 진행하여 자신이 만든 프로젝트에 관해 소개를 하였다. 김민태님의 피드백 및 이야깃거리는 다음과 같다. 설명하는 자세 엔지니어로서의 자세 일이 생겨서 중간까지밖에 듣지를 못했다.. 🥲 설명하는 자세 개발자는 자신이 학습/연구한 부분이나 자신의 프로젝트나 아이디어를 잘 말할 수 있어야 한다. 잘 말하기 위해서는 처음 어느 정도 셋업이 필요하다. 무작정 자신의 코드를 보여주고 설명을 하거나, 자신이 이해한 부분에 대해서 이야기만 한다면 청중은 귀담아 듣지 않을 것이다. 귀담아 듣지 않다기보다는 귀담아들을 수 없다. 그렇기에 이번에 자신이 파..
[우아한테크러닝] 1주차 과정 [2021.06.01] 첫번째 과정 첫번째 과정은 간단한 아이스브레이킹으로 시작했다. 우아한 형제들의 기술이사가 몇명이냐는 질문에 가장 빠르게 답변을 해서 배달의 민족 10,000원 쿠폰을 얻을 수 있었다. 👍 50분 과정을 진행하고 10분 쉬는 형식으로 한 과정을 3시간, 총 1주 6시간 동안 과정을 진행한다. 첫 느낌은 김민태님은 정말 멋진 개발자라는 생각이 들었다. 멋진 개발자보다는 멋진 사람. 그런 느낌이다. 이러한 느낌을 받은 이유는 개발에 관한(자기 직업에 관한) 철학이 뚜렷하다는 느낌을 받았는데, 다음과 같은 4가지 질문을 통하여 소통을 진행하였다. 시니어 개발자가 왜 필요할까? 또는 시니어 개발자가 필요할까? 실무적 코드란 무엇일까? HandsOn은 누가 잘하는가? 개발을 잘한다는 것은 무..
[프로그래머스, javascript] 이중우선순위큐 function solution(operations) { var answer = []; function Queue(){ this.q = []; this.insert = function(num){ this.q.push(num); }; this.deleteElement = function(idx){ this.q.splice(idx, 1); } this.deleteMax = function(){ if(this.q.length > 0){ const MAX = Math.max(...this.q); const INDEX = this.q.indexOf(MAX); this.deleteElement(INDEX); } }; this.deleteMin = function(){ if(this.q.length > 0){ con..
[프로그래머스, javascript] 예상 대진표 programmers.co.kr/learn/courses/30/lessons/12985 코딩테스트 연습 - 예상 대진표 △△ 게임대회가 개최되었습니다. 이 대회는 N명이 참가하고, 토너먼트 형식으로 진행됩니다. N명의 참가자는 각각 1부터 N번을 차례대로 배정받습니다. 그리고, 1번↔2번, 3번↔4번, ... , N-1번↔N programmers.co.kr function solution(n,a,b) { (a%2 == 1) ? a ++ : null; (b%2 == 1) ? b ++ : null; if(a==b) return 1; var cnt = 0; while(!(a === b)){ a = Math.ceil(a/2); b = Math.ceil(b/2); cnt++; } return cnt; }
[프로그래머스, javascript] 네트워크 function solution(n, computers) { var visited = new Array(n).fill(false); function visit(q, arr){ if(!q.length) return; const val = q.pop(); visited[val] = true; arr[val].map((v,idx)=>{ if(!!v && !q.includes(idx) && !visited[idx]){ q.push(idx) } }) return visit(q, arr); } var network = 0; visited.map((v,i)=>{ if(!v){ //방문 안했을 경우? network++; visit([i], computers); }; }); return network; } program..