본문 바로가기

전체 글62

2024 팀네이버 코딩 테스트 후기 Tech 2024년4 월 7일 - 검사 대상자 선정을 서류 합격으로 오인해서 내용 수정했습니다. 코테 전형이 따로 있는게 아닌 코테 포함 서류 전형이었네요. 네이버에서 대규모로 신입 공채를 진행하였는데 취준 기간에 좋은 기회라 생각되어 지원하게 되었다네이버는 연봉을 떠나서 복지, 퇴사 후 네이버 출신 개발자라는 이력, 친척들에게 회사를 설명하지 않아도 된다는 매우 많은 장점이 있어서 대부분의 개발자들의 꿈의 직장일 것이다 나는 아쉽게도 코테 직전까지 다른 회사들 2~3곳의 면접과 과제 전형을 준비하느라 어떤 준비도 하지 못했고 홈페이지 지원서도 마감 10분 전에 겨우 제출했으니.. 큰 기대를 하진 않았다.막상 대상자 메일을 친한 분들에게만 알려주니 엄청난 기회라고 열심히 해보라고 하셨는데 코테도 폭망했고 일요일.. 2024. 3. 26.
스타트업 프론트엔드 개발자 발표 면접 후기 프로젝트를 새로 시작하느라 바쁜 와중에 면접이 급하게 잡혀서 하루 준비를 하고 보게 되었다 세번째로 보는 면접인데 여전히 긴장됐고 프로젝트 발표는 처음이라 준비도 부족했다 대기업 R&D센터에 사무실이 있어서 건물이 엄청 컸고 1층에 도서관도 있어서 좋아보였다. 면접 대표님, CTO님과 2대1 미팅으로 간단한 인사 후 프로젝트 발표를 시작, 흔하지 않은 블록체인 프로젝트여서 배경지식 설명을 하려 했는데 이미 다 알고계셔서 놀라웠다.(역시 대표님 정도면 다르구나..) 프로젝트 발표는 대부분 순조롭게 진행됐고 엄청 다행히도 날카롭게 질문하시진 않았다 코드를 보여드리는게 좀 부끄러웠는데 그냥 페이지 설명 쭉 하고 코드 한번 쭉 보여드렸는데 이렇게 발표하는게 맞는 지 모르겠다 전에 봤던 스타트업 회사처럼 본인들 .. 2024. 3. 16.
[TIL] WebRTC 이제 21차로 접어들면서 오전 시간을 활용하는 데에는 적응을 했지만 취침 시간은 아직 지켜지지 않고 있다 학습량도 오후에는 집중력이 떨어져서 지금보다 2배는 더 늘려야 한다 프로젝트에서 가장 핵심 기능을 구현하는데 쓰이는 WebRTC의 개념에 대해 학습해 보았다 WebRTC란? WebRTC(Web Real-Time Communication)은 웹 애플리케이션과 사이트가 중간자 없이 브라우저 간에 오디오나 영상 미디어를 포착하고 마음대로 스트림할 뿐 아니라, 임의의 데이터도 교환할 수 있도록 하는 기술입니다. WebRTC를 구성하는 일련의 표준들은 플러그인이나 제 3자 소프트웨어 설치 없이 종단 간 데이터 공유와 화상 회의를 가능하게 합니다. MDN 공식 문서 WebRTC API 핵심은 별도의 소프트웨어 .. 2024. 3. 12.
[TIL] next-auth, fetch vs axios, react-query vs axios 아슬아슬하게 일어나서 8시 58분 쯤 스터디 카페 도착 정보처리기사 실기 시즌이 다가와서 오랜만에 계획에 넣었는데 분량 조절을 실패해서 토익 공부를 빼버렸기에 어길 시 벌칙을 하는 ToDo랑 선택사항의 ToDo를 구별할 필요성이 생겼다 TIL 프로젝트 1. next-auth ( 구글, 카카오, 네이버 Provider ) 프로젝트에서 로그인을 우선으로 구현하려고 했는데 Next.js에서는 next-auth로 auth 공급자를 관리하는 기능이 있어서 적용하였다 우선 Google Cloud에서 프로젝트를 생성하고 client id와 client secret을 생성해야 하는데 이부분은 생략하겠다(네이버 카카오도 마찬가지로 시크릿 키를 생성해야 한다) 공식 문서 src/app/api/auth/[...nextaut.. 2024. 2. 28.
[TIL] 2/21 axios 모듈화, gif 파일 생성 길어지는 취준 기간으로 나태해지고 미루게 되어 부캠 동기들에게 하루 일과를 공개하고 도움을 받기로 했다 점점 희망을 잃어가고 자포자기 했는데 동기분들이 도와줘서 큰 힘이 되었다 카페나 도서관에서 디스코드에 접속한 후 화면 공유를 통해 감시 받을 수 있게 하여 다른 행동을 못하게 제한 전날 오후 6시이후부터 금일 오후 6시까지 준비한 내용과 휴식 내용과 시간을 기록하여 공유 목표치를 미달성하면 벌칙으로 팀원들이 있는 디코방에 기프티콘 투척 TIL 이력서에 gif을 넣기위해 시연 영상을 찍어야했고 화면 작동을 테스트해야 했다 원래 목적과 다르긴 했는데 trypto의 코드를 보던 중, localhost로 적은 부분이 신경쓰여서 모듈화를 다시 진행하였다 2024. 2. 21.
[코테] 순위 Lv.3 (40%) 문제 ###### 문제 설명 n명의 권투선수가 권투 대회에 참여했고 각각 1번부터 n번까지 번호를 받았습니다. 권투 경기는 1대1 방식으로 진행이 되고, 만약 A 선수가 B 선수보다 실력이 좋다면 A 선수는 B 선수를 항상 이깁니다. 심판은 주어진 경기 결과를 가지고 선수들의 순위를 매기려 합니다. 하지만 몇몇 경기 결과를 분실하여 정확하게 순위를 매길 수 없습니다. 선수의 수 n, 경기 결과를 담은 2차원 배열 results가 매개변수로 주어질 때 정확하게 순위를 매길 수 있는 선수의 수를 return 하도록 solution 함수를 작성해주세요. ##### 제한사항 - 선수의 수는 1명 이상 100명 이하입니다. - 경기 결과는 1개 이상 4,500개 이하입니다. - results 배열 각 행 [A, .. 2024. 2. 19.
[React] 리액트 버전 17 VS 18 이번 주제도 스타트업 면접에서 받은 질문이다 암기력 테스트 같아서 좋아하진 않는 질문이지만 질문을 받은 김에 정리해 보려고 한다 2022년 3월 업데이트 된 React 18.0.0 버전의 주요 키워드는 "Concurrency(동시성)"이다 동시성이란 자바스크립트의 싱글 스레드라는 한계를 극복하여 사용자 경험을 향상시키기 위해 여러 작업을 다루는 해결책이다 실제로 여러 작업이 병렬로 처리되진 않지만 여러 작업들을 빠르게 전환하면서 동시에 수행되는 것처럼 느끼게 해준다 이러한 동시성 모드를 사용하기 위해서는 index.js에서 이전 버전의 root.render() 메서드 대신에 createRoot() 메서드를 사용하면 되는데 CRA(create-react-app)로 프로젝트를 빌드하면 자동으로 설정된다 1... 2024. 2. 14.
파이썬 함정카드, round() 알아보기 엑셀 데이터를 읽어서 특정 동작을 하는 외주 프로그램에서 문제가 발생했다. 당연하게도 읽은 값을 입력하면 서로 동일해야 하지만 딱 하나가 읽을 땐 2.3의 값이 2.2로 입력되었다. 결론부터 말하자면, 부동소수점으로 인해 예상되는 동작과 실제 동작이 다른 round 메서드 때문이었다 파이썬의 내장 메서드인 round는 모두가 예상하듯이 소수점을 반올림하는 함수이고 깊게 알아볼 이유도 없어 보인다 구글의 최상단에 뜨는 블로그를 들어가도 '반올림에 사용된다' 정도만 언급되어 있고 chatGPT도 반올림 함수의 예시로 round를 알려준다 하지만 round메서드는 우리가 일반적으로 의미하는 반올림과 다른 반올림을 사용한다 우리가 생각하는 반올림이면 round(2.5) = 3이 나와야 할 텐데? round의 올.. 2024. 1. 30.
[Recoil] 사용법 리코일 이란? React에서 사용하는 Recoil은 상태 관리 라이브러리로, Facebook에서 개발한 오픈 소스 라이브러리이다. Redux나 Context API와 같은 다른 상태 관리 도구와 비교될 수 있지만, Recoil은 특히 복잡한 상태 관리 및 컴포넌트 간의 데이터 공유를 보다 간편하게 만드는 데 중점을 둔다. Redux는 훨씬 오래되었지만 보일러플레이트 코드가 많은 단점이 있다(그럼에도 가장 많이 쓰임). contextAPI는 react 내장 api이지만 비동기 처리가 비교적 어렵고, 렌더링 최적화를 별도로 해주어야 하기 때문에 규모가 커질수록 외부 라이브러리를 사용한다. Redux는 React처럼 페이스북팀에서 만들었기 때문에 신뢰성과 높은 호환성을 기대할 수 있다. 코드량이 적어도 높은 .. 2024. 1. 27.
[Project] 배포 완료, 보안 경고 문제 발생(Opensea clone Project) 부트캠프에서 첫번째로 진행했던 팀 프로젝트를 드디어 배포했다 규모는 작지만 NFT와 메타마스크와 관련된 기능이 있기 때문에 배포하기 전에 할 일이 많았다. 1. 스마트 컨트랙트 배포 NFT를 민팅하고 조회하는 기능이 있는 컨트랙트를 배포해야 했는데, 분명 프로젝트 때 제대로 작동하던 코드가 에러가 발생했던 것이다. https://jamesbachini.com/openzeppelin-v5/ 이 사이트에서 원인을 찾을 수 있었는데, OpenZeppelin V5가 나오면서 NFT 코드가 변경된 것이었다! contract MyNFTs is ERC721URIStorage, Ownable { using Counters for Counters.Counter; Counters.Counter private _tokenI.. 2024. 1. 23.
개인 포트폴리오 프로젝트 계획 하, Frontend 개발자형들! 팀 프로젝트를 4번을 경험했음에도 이력서에 올릴만한 프론트엔드 프로젝트가 그동안 없었는데 위의 블로그를 읽고 개인 프로젝트와 이력서에 적은 프로젝트의 배포를 결심했다 윗 블로그의 내용은 이력서를 검토하는 입장에서 Frontend 개발자 분들에게 말해주고 싶은 내용들인데 3가지로 요약할 수 있다 1. 이력서에 있는 프로젝트는 배포를 하자 2.README.md를 잘 꾸며라 3.개인 프로젝트를 해라 Frontend의 가장 큰 장점이 결과물을 보여줄 수 있다는 말이 와닿았는데 그 동안 코드를 보면 되지 굳이 배포 해야하나라는 생각에 빠졌던 것 같다. 생각해보면 나도 AI 프로젝트를 하신 어떤 분의 웹사이트를 접속해 보고 많은 걸 알 수 있었고 코드는 확인조차 하지 않았었다 이력.. 2024. 1. 16.
블록체인 부트캠프 후기 (코드스테이츠) 후기 1차 작성은 작년 4월에, 2차 작성은 11월에 하고 내가 봐도 부족한 글솜씨 때문에 올리지 못했던 후기를 새해를 시작하며 정리를 하게 됐다 2022년 11월 ~ 2023년 4월, 지인의 추천으로 수강을 결심한 이후로 지금까지 많은 걸 배웠고 동료들과 함께 성장하는 기회가 되었다 작년까진 바라기만 했던 나와 잘 맞는 개발자 동료들이 현재에도 서로 좋은 영향을 주고 받고 있기 때문에, 이런 게 부트캠프가 주는 가장 큰 자산이라고 생각한다 수강을 선택한 이유 졸업 후 가족 회사를 다니며 코딩을 틈틈히 공부하며 만드는 재미를 느끼던 시기였다. 이미 개발자를 평생의 직업으로 생각했고 취업을 하기보단 배운 것을 사용하며 재미를 찾는 것에 의미를 뒀다. 혼자 공부하는 게 익숙해 졌지만 점점 혼자서는 모든 걸 .. 2024. 1. 14.