전체 글 335

[원티드 프리온보딩 프론트엔드 인턴십 8기]동료 및 셀프 피드백

프리온보딩을 마치고 기간은 조금 지났지만 피드백에 대한 부분을 궁금해 하실수 있어서 남겨봅니다. 동료 피드백 같이 Best Pracitce를 찾아가며 구현해서 과제를 제출해낸 동료들에게 피드백을 주고 받는 시간이었다. 나름 열심히 참여한다고는 했지만 동료들은 어떻게 생각했을지 궁금했는데 다들 좋은 말씀만 적어주셔서 감사했다. 고쳐야 할 점에 대한 피드백도 나름 각오는 하고 있었다. 개발자가 아니라도 내가 고쳐야 할 점은 나보다 남이 더 잘알고 그것을 극복한다면 더 나은 개발자가 될 수 있기 때문이다. 더보기 동료 피드백 인원 7명 / 만점 7점 긍정적 동료되기 평균6.67 도전하고 주도하기 평균6.67 린하게 해결하기 평균6.67 데이터로 소통하기 평균6.5 집단지성 활용하기 평균6.67 품질과 기한 지..

Web 3.0이란?

이번에 취업 준비를 하면서 NFT/블록체인에 대한 회사들이 늘어가고 있다는 것을 알게 되었고, Web 3.0이라는 단어가 눈에 띄게 많아졌다. 그래서 Web 3.0이란 무엇인가에 대해 학습한 내용을 작성해보고자 한다. (틀린점이 있다면 말씀해주세요!) Web 3.0을 알기전에 Web1.0과 Web 2.0에 대해서도 알아야한다. Web 1.0이란? Web 2.0이 유행하기 전의 WWW(World Wide Web) 상태이다. 기본적인 읽기 기능만 가능한 상호작용이 없는 정적인 웹 페이지를 말한다. ex) 홈페이지 Web 2.0이란? 2000년대 부터 등장하기 시작했다. Web 1.0에서는 읽기만 가능했지만 Web 2.0은 양방향 소통이 가능한 웹 페이지를 말한다. 읽기, 쓰기, 참여, 공유 등 사용자가 직접..

Daily/개발관련 2023.02.06

[TypeScript] TypeScript?

notion에 작성했던 내용을 옮겨 적었습니다. 타입스크립트란? 타입스크립트틑 자바스크립트를 기반으로하는 프로그래밍 언어이다. 타입스크립트는 프로그래밍 언어면서 도구이기도 하다. 작성한 코드를 실행하면 타입스크립트 코드를 자바스크립트로 컴파일하는 강력한 컴파일러다. 자바스크립트 언어에 타입을 추가한다. 자바스크립트 언어에 기능을 추가한다. 장점 새로운 기능과 장점을 추가하는 언어로 JS 코드를 더 쉽고 강력하게 작성할수 있도록합니다. 스크립트가 실행되고 브라우저 런타임에서 에러가 발생하기 전에 코드의 에러를 개발자가 미리 식별할 수 있는 기회를 제공한다. 개발중에 런타임에러로 인해 발생하는 에러를 초기개발과정에서 발견하고 수정할수 있도록 ㄱ추가적인 오류 검사를 제공한다. 단점 타입스크립트는 브라우저와 같..

Coding/TypeScript 2023.02.06

[원티드 프리온보딩 프론트엔드 인턴십 8기] Week 5-2(End)

오늘은 원티드 프리온보딩 프론트엔드 인턴십의 마지막날이다. 처음엔 나에게 도움이 될까라는 생각을 많이했지만 현직자의 실시간 강의와 자료를 보며 내가 몰랐던 것에 대해서 많은 것을 알아가게 되었고, 내가 알고 있는 내용이 정확한 내용인지 정확하게 알 수 있었으며, 기업과제를 수행하고 팀원들의 코드를 보면서 Best Practice를 선별하며 다른 사람의 코드를 읽는 능력 또한 향상 되었다. 면접 준비를 하면서 가장 많이 보았던 실행 컨텍스트와 클로저에 대해서 강의를 진행해주셨다. 📝 강의내용 스코프와 this, 호이스팅, 클로저의 공통점 모두 실행 컨텍스트라는 개념에 근간을 두고 있다. 실행 컨텍스트? JavaScript가 실행되는 환경을 정의한다. this, 변수, 객체, 함수 등 코드의 실행에 필요한 ..

[원티드 프리온보딩 프론트엔드 인턴십 8기]채용 설명회 (2/17 ~ 2/18) 및 이력서 코칭

채용 설명회 총 4개의 기업에서 채용설명회를 진행했는데 정작 프론트엔드를 뽑는 기업은 위메이드 밖에 없었다는 생각이 드는 설명회였다. 나름 채용설명회라해서 기대를 했었지만 17일은 두 개의 기업 모두 프론트엔드를 뽑지 않는 채용회여서 너무 아쉬움이 많았다. 회사에 대해서 알 수 있다는 것은 좋지만 미리 언급을 해줬으면 어떤지 생각이 드는 시간이었다. 이력서코칭 이력서 코칭은 2주차에 진행했던 커리어 코칭의 내용과 매우 흡사했다. 중복되는 자료도 있을 거라 생각하여 많이 바꿔오셨다고는 했지만 이력서 코칭은 내용이 거의 다 비슷한 내용같다. 하지만, 이력서 코칭을 들으면서 내 이력서를 다시 돌아볼 수 있는 시간이 되는 것은 좋은 것 같다.

[원티드 프리온보딩 프론트엔드 인턴십 8기] Week 5-1

오늘은 Jest를 사용해서 프론트엔드 단에서 테스트를 하는 방법에 대해서 학습했다. 사실 이전에 학습을 해보고 조금 작성도 해봤지만 테스트를 언제, 어떻게 작성해야 하는지에 대한 고민이 항상 있었다. 이를 해결할 수 있는 시간이라고 생각된다. 📝 강의내용 소프트웨어 테스트란? 소프트웨어가 의도한대로 동작하는지를 테스트하는 것이다. 소프트웨어를 통해서 테스트를 하면 얻을 수 있는 이점 사람이 테스트를 실행하는 것보다 빠르다. 정해진 스크립트에 따라 일관성있게 동작하기에 사람이 테스트 할 경우 발생할 수 있는 휴먼 에러를 피할수 있다. 테스트에는 크게 3가지로 유닛, 통합, E2E 테스트가 있다. 유닛 테스트 테스트중에서 가장 작은 범위를 테스트한다. 개별 함수, 메서드, 클래스, 컴포넌트 등의 동작을 테스..

[원티드 프리온보딩 프론트엔드 인턴십 8기] Week 4-2

오늘은 리덕스와 리덕스 미들웨어에 대해서 설명해주셨다. 프론트엔드 개발하게 된다면 뗄 수 없는 것이 전역 상태 관리다. 이것을 쉽게 해주기 위해서 React에서는 ContextAPI를 사용하기도 하지만 보통은 Redux를 사용하여 전역 상태를 개발을 한다. 전역 상태 관리 라이브러리는 mobX, redux, recoil, zustand 등 다양한 것이 있지만 내가 생각했을 때는 Redux-Toolkit까지 사용하게 된다면 코드의 직관성을 조금 더 높일 수 있을 것 같아서 보통 작업을 할 때는 Redux-Toolkit을 사용하고 있었다. 이번 강의에서는 Redux에 middleware를 사용하는 방법에 대해서 학습했다. 📝 강의내용 Redux를 학습하기 저에 디자인 패턴에 대해서 학습했다. MVC 패턴 이..

[원티드 프리온보딩 프론트엔드 인턴십 8기] Week 4-1

오늘은 과제리뷰와 타입스크립트에 대해서 강의를 해주셨다. 타입 스크립트는 꽤 전부터 사용하고 있었지만 어떻게 사용해야 잘 사용하는 것인가에 대해 코드도 많이 찾아보고 자료도 찾아봤지만 현직자가 직접 강의 해주는 것이 훨씬 이해하기 좋았다. (블로그엔 내용이 너무 천차만별... 강의보는 것이 좋긴하다...) 📝 강의 내용 타입스크립트란 무엇인가? 타입스크립트는 자바스크립트에 타입 문법을 추가해서 만든 슈퍼셋이다. 슈퍼셋은 기존 자바스크립트에다가 추가적인 기능을 추가했다는 의미이다. 타입스크립트는 자바스크립트와 달리 브라우저에서 실행하려면 파일을 변환해주어야 한다. 이과정을 컴파일이라고 한다. 타입스크립트를 왜 써야하는가? 자바스크립트 코드의 품질과 개발 생산선을 높일 수 있다. 프로젝트를 실행하기 전에 에..

[원티드 프리온보딩 프론트엔드 인턴십 8기] Week 3-2

오늘은 지난 주에 커리어 챌린지 특강을 들었기 때문에 과제가 없어서 과제리뷰는 하지 않고 바로 강의를 진행하셨다. 강의 내용은 관심사의 분리와 SRP, Custom Hook, 횡단관심사, 의존성에 대해서 강의해주셨다. 관심사 분리는 부트캠프당시 디자인 패턴에 대해 알아보던중 스터디원 분이 알려주셔서 어느정도 알고는 있었지만 자세히는 모를 수 있다고 생각하여 집중해서 들었다. Custom Hook도 학습도 했었고, 실제 사용도 몇번 해봤지만 이게 맞는가에 대한 의구심이 많이 있었는데 해당 강의를 통해 해결 할 수 있었다. 📝 강의 내용 관심사 분리 관심사는 하나의 모듈이 수행하고자 하는 목적이다. 관심사의 분리는 각 모듈들이 한번에 여러 관심사를 처리하려고 하지 않고, 하나의 관심사만 처리하도록 분리하는 ..

[원티드 프리온보딩 프론트엔드 인턴십 8기] Week 3-1

📌 과제리뷰 지난번 과제인 Todo List 프로젝트에 대한 리뷰를 해주셨다. 총 12팀에 대한 코드를 보시고 좋지 않는 코드들을 가져와서 리뷰해주시기 때문에 전체 팀에 대한 피드백이라고 한다. 피드백 내용 불필요 파일들 삭제 사용하지 않는 변수, import 제거 상수화를 활용한 가독성, 유지보수성 향상 // 상수화X type RegisterMode = 'signUp' | 'signIn'; const [mode, setMode] = useState('sign_in'); // 상수화O const SIGN_IN = "SIGN_IN"; const SIGN_UP = "SIGN_UP"; type RegisterMode = typeof SIGN_IN | typeof SIGN_UP const [mode, setMo..