일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- JavaScript
- 원티드프리온보딩
- Passed by Value
- 식별자란
- 원티드인턴십
- react
- 향해99
- Mac OS NVM
- toast err
- input error
- 인풋태그 엔터
- jsEvent Loop
- 프로젝트
- git
- Client-Side Navigation
- next/link
- Node
- Til
- 알고리즘
- CPU와 GPU의 차이점
- CloudFront 무효화
- JS
- NVM
- 유령 의존성
- Redux
- 광고지구
- 회고록
- 원티트 프리온보딩인턴십 1주차
- NextJs
- react portal
- Today
- Total
목록TIL (31)
SUIN
v2 시작되는 프로젝트에서 기존 v1에서 자동 배포된 내용을 참고해서 그대로 반영할 것인가 조금 더 도전해 볼 것인가 고민하던 난 이왕 다시 하는 거 새로 만들어보자! 하며 바로 도전해 보았다 기존 내가 알고 사용하던 워크플로우 name: CI-CD on: pull_request: branches: - main jobs: deploy: name: 'Build & Deploy' runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v2 - name: Use Node.js uses: actions/setup-node@v2 with: node-version: ${{ secrets.NODE_VERSION }} - name: Cache nod..
기존에 v1 배포 후 원티드 인턴십을 하던 나는 연락을 한통 받았다 "수인님! 저희 프로젝트 리팩토링 진행하는 건 어떨까요?" 초기에 프로젝트를 진행할때 구현하기에 급급했던 나는 사실 아쉬운 부분이 많았고 내가 담당했던 부분은 책임감 있게 완성하고 싶은 마음이 컸다. 그렇게 시작된 v2 광고지구 탄생 회의를 잠깐 진행하며 기존의 프론트 4명의 멤버에서 -> 3명으로 인원이 축소되며 구현했던 코드들을 확인해 보니 생각보다 파일관리가 너무 복잡했고 유지보수성이 불편하다는 판단이 나왔다. 배포된 레포를 건들기에는 자동화 처리로 인해 혹시 모를 상황을 방지하고자 새로운 레포를 만들어 a-z 까지 새롭게 다시 진행하기로 했다. 고민한 내용 내가 적절한 컴포넌트 분리를 했는가 팀원들과 코드 컨벤션을 잘 맞추며 작업..
오늘한일 원티드 커리어 코칭 수업 week 1 복습 광고지구 프로젝트 리팩토링 회의 온보딩 2주 차 월요일이 시작되었다 오늘은 정규수업이 아닌 커리어코칭 1일 차 강의여서 조금 짧은 강의가 이루어졌다. "지금까지 나는 무엇을 해왔고 앞으로 무엇을 해야 하는가" 강의 중에 가장 기억에 남는 건 지금까지 나는 무엇을 해왔는가라는 부분이다. 프로젝트들을 진행하면서 정작 내가 자세하게 나는 어떤 식으로 문제를 해결해 왔는가에 대해서는 자세하게 생각을 해보지 못한 것 같다. 단계별로 시기별로 나라는 사람을 생각해 보며 정리해 보자 나는 어떤 사람인가 나는 어떤 사람인가 , 이전에는 어떤 일을 했는가? 어떠한 계기로 개발을 시작하게 되었는가? 웹개발자, 프론트 개발자를 선택한 이유가 무엇인가? 개발자로서 어떤 과정..
항해99 실전 프로젝트 이후 오랜만에 팀 프로젝트를 진행하게 되었다. 이번 프로젝트를 하며 느낀 점을 짤막하게 일기 형식으로 적어보려고 한다. 항해에서 같은 기수 분들도 계셨지만 대부분은 이제 막 7기를 수료하신 분들 이어서 그런지 4기를 졸업했던 나로서는 잘해야 한다는 부담감과 피해를 끼치지 말아야겠다는 감정들이 조금 컸던 것 같다. 총 프런트 4명과 백엔드 1명으로 백엔드 쪽에서는 타이트한 프로젝트였지만 개발 일정에 맞추기 위해서 프론트가 도와줄 수 있는 부분에서는 채워나가는 형식으로 진행을 하며 프로젝트가 마무리되었다. 실무자가 없었기 때문에 궁금한 내용은 주변 실무자에게 많이 물어봤고 어드민 , 클라이언트 두 부분을 모두 개발해야 했기 때문에 여러 기술 스택을 사용해보면서 한 단계 성장할 수 있는..
Warning: A component is changing an uncontrolled input to be controlled. This is likely caused by the value changing from undefined to a defined value, which should not happen. Decide between using a controlled or uncontrolled input element for the lifetime of the component input에 정의되지 않은 값이 들어가게 되면서 발생되는 error //변경 전 const isAllCheck = prodList && prodList.length > 0 && checkedItems.length === ..
현재 진행하는 프로젝트에서 어드민 페이지의 전역 에러 처리 담당을 하게 되었다 각 api response 값이 다양하게 들어오기대문에 해당 res data의 vlaue 값을 별도로 뽑아주는 작업을 진행하여야 했다. react-toastify 라이브러리를 통해 toast 팝업을 띄워 주었으며 코드는 다음과 같다. import { toast } from "react-toastify"; axiosInstance.interceptors.response.use( (response) => response, (error) => { const { response } = error; if (response) toast.error(`${Object.values(response.data)[0]}`, { // toast 스타..
보호되어 있는 글입니다.
회원가입페이지를 작업하는 중 form의 inpyut password type에서 발생되는 경고 메시지 발생 Google Chrome에서는 모든 비밀번호와 모든 양식 데이터를 기본적으로 자동 저장 및 자동 완성하려고 하며 웹 개발자에게 브라우저에 더 편리한 양식 요소 범위를 준수하도록 더욱 권고한다고 한다 때문에 패스워드에는 별도의 자동완성 처리를 추가해주어야 한다. 크롬이 아니라면 경고창이 뜨지 않으며 코드에는 문제가 되지 않지만 콘솔을 깔끔하게 해 주기 위해서 autocomplete를 추가해주었다. 해결방법 autocomplete -> on or off 처리