소개
우아한형제들에서 프론트엔드 프로그래머로 일하고 있습니다. 평범한 사람들이 모여서 비범한 일을 할 수 있다고 믿습니다.
- 현) 우아한형제들, 프론트엔드 프로그래머
- 전) 야놀자, 백엔드 프로그래머
- 전) ArasoPandan, 백엔드 프로그래머
- 전) MobiDIX, 모바일 게임 클라이언트 프로그래머
강의
수강평
- 만들면서 배우는 프론트엔드 DO IT 코딩 (Next.js, Typescript)
- 만들면서 배우는 프론트엔드 DO IT 코딩 (Next.js, Typescript)
- Google Apps Script로 시작하는 업무 자동화
- 만들면서 배우는 프론트엔드 DO IT 코딩 (Next.js, Typescript)
게시글
질문&답변
완성된 코드를 공유해 주실 수 있으신가요?
안녕하세요 정우님.신규 입사자 코드 첨부합니다.function myFunction() { const sheets = SpreadsheetApp.getActiveSpreadsheet(); const list = sheets.getSheetByName('list'); const lastRowNo = list.getLastRow(); const folderId = '폴더 ID'; const folder = DriveApp.getFolderById(folderId); const files = folder.getFiles(); const fileMap = new Map(); const inlineImages = {}; while (files.hasNext()) { let file = files.next(); const flieName = file.getName(); fileMap.set(flieName, file); inlineImages[flieName] = file; } const imageFile = DriveApp.getFileById('파일 ID'); inlineImages['megaphone'] = imageFile; let allMembers = []; for (let i = 2; i { const index = acc.findIndex(f => f.division === cur.division); if (index === -1) { // 기존에 없는 부문이므로 새로 추가 const newDivision = { division: cur.division, members: [{...cur}], } return [...acc, newDivision]; } // 이미 있는 부분 const prevData = {...acc[index]}; prevData.members.push({...cur}); const updateArr = [...acc]; updateArr[index] = prevData; return updateArr; }, []); const htmlFile = HtmlService.createTemplateFromFile('email'); htmlFile.data = reduceMembers; const htmlBody = htmlFile.evaluate().getContent(); MailApp.sendEmail({ to: '본인 이메일 주소', subject: '신규입사자 소개합니다', htmlBody, inlineImages, }); }
- 0
- 1
- 225
질문&답변
vscode bgColor 바로 표시되기 설정방법 및 chakra-ui img src 설정관련
안녕하세요 브루브루님 확장기능은 AI인턴이 설치한걸 설치하진 않았어요.그런데 언젠가부터 되더라고요.eslint, tailwind, styled component 관련 확장을 설치하긴 했는데요.하나씩 disabled 시켜도 잘 나오더라고요.vscode 기능인건지 ... 저도 의문이네요. 2번은 차이 없습니다.(사진) 이면 될텐데 저렇게 닫았네요.
- 0
- 2
- 298
질문&답변
클래스 방식말고 (2)
안녕하세요 oridori님!if (!admin.apps.length) { const config: Config = { credentials: { projectId: process.env.projectId || '', clientEmail: process.env.clientEmail || '', privateKey: process.env.privateKey?.replace(/\\n/g, '\n') || '', }, }; admin.initializeApp({ credential: admin.credential.cert(config.credentials), }); console.info('bootstrap firebase admin'); } 기존에 이 코드만 가지고 정상적으로 동작하는지 먼저 확인해보세요.이 코드를 복수의 파일에서 import했을 때 initializeApp이 한번만 실행되고, 각자 동작을 잘 한다면 문제 없을꺼에요!
- 0
- 1
- 222
질문&답변
클래스 방식말고
안녕하세요 oriori2705님! 작성해주신 코드 잘 동작할듯해요.admin에 앱이 있는지 체크하는 부분이 있잖아요.if (!admin.apps.length) {다만, 이 코드는 require로 가져오도록 하는데요.이게 여러 파일에 걸쳐있을 때, 어플리케이션이 실행되면 한번만 init 이 되는지 확인해봐야겠네요. 2번 질문은 admin.apps.length가 어떤 값을 가지는지 확인해보셔야할 듯하네요.if 문안에서 동작안한다면 if문 코드가 실행되지 않았을 가능성이 있어요.
- 0
- 1
- 184
질문&답변
배포 후 오류
https://blah-blah-one.vercel.app/api/messages.list?uid=cccodus313&page=1&size=10이렇게 요청하면{"message":"존재하지않는 사용자"}이런 응답이 돌아와요. 지금 배포된 환경에서 데이터베이스에 제대로 접근하지 못하고 있는듯합니다. 코드가 아니라 환경변수를 .env 파일이랑 비교해보셔요.
- 0
- 3
- 938
질문&답변
const resp = await fetch(`/api/messages.list?uid=${uid}`)가 404에러가 뜹니다
네, 메시지 리스트니까 목록처럼 나와야겠죠. 디버깅 과정은 어제와 비슷합니다.넘어간 uid가 올바른가?api 컨트롤러까지 응답이 잘 왔나?잘 오지 않았다면 호출한 url이 유효한가?잘 왔다면, 컨트롤러의 어느 지점에서 404로 반환하는가? 등의 과정으로 확인해보면 됩니다.
- 0
- 1
- 343
질문&답변
localhost:3000/api/user.info/totuworld 404 에러가 뜹니다.
최종 확인 된 사항입니다. 첫 번째 문제는 접근하는 url에 아이디가 달랐어요.만약 제 email이 totuworld 라면 ttotuworld 처럼 중간에 들어간게 조금 달라서 접근이 안된거였습니다. 두 번째 문제는 firebase auth 를 넘기는 초기값이 null인데요. 이게 undefined로 넘어가면서 발생했습니다.https://github.com/cccodus313/Blah-Blah/commit/d493f443e596a73c09966400f551d3e85651eae0#diff-568e8274da487c742d5bb3662960de2752a55e6921e2929d8c8f426cfa2068f9L7 export default function useFirebaseAuth() { const [authUser, setAuthUser] = useState(null);위에 코드 처럼 되어있어야했어요! 이게 문제를 일으킨 이유는 아래 코드에서 null이 아니면 InAuthUser라고 생각하고 데이터에 접근하는데요.초기값이 undefined였기 때문에 앞선 조건을 통과하고 .uid에 접근하니까 에러가 발생되었어요. const isOwner = authUser !== null && authUser.uid === userInfo.uid;
- 0
- 3
- 290
질문&답변
localhost:3000/api/user.info/totuworld 404 에러가 뜹니다.
안녕하세요 채연님.지금 데이터베이스에 사용자가 추가된 상태인가요?
- 0
- 3
- 290
질문&답변
사용자를 찾을 수 없다.
작성자가 없다니 이게 무슨...
- 0
- 1
- 297
질문&답변
2. 사용자 API 만들기 => 강의는 짧지만 백엔드 api 만드는 기본 내용 다 들어가 있음 주의하세요!!
flat_white님 안녕하세요 :)질문 너무 재미있네요.맞습니다. 계속 하다보면 해결되는 부분이 있어요.책을 읽을 때 모든 단어를 이해하고 읽지 않죠. 문맥을 통해 혹은 통밥으로 추측하고 넘어가다보면 전체 그림이 보입니다.물론 그럼에도 이해되지 않는 부분은 나중에 찾아보면 됩니다.이런 방법으로 학습하시길 기대했는데요. flat_white님이 그 부분을 정확히 짚어주셨네요.
- 0
- 1
- 264