분류 전체보기(38)
-
React에서 관심사를 분리하는 법 (feat . customHook, router )
Clean Code 좋은 코드를 쓰는것은 중요하다. → 나쁜 코드를 쓰지 않는 것이 중요하다. 하지만 과거의 코드( Legucy )가 나중에 봤을 때 나쁜코드를 의미하는 것은 아니다. 그 당시에 잘 짜인 코드는 지금와서도 마이그레이션 하기 쉬운 코드다. 비판적인 시선으로 바라보지 말자. 좋은 코드를 작성하기 위해서는 좋은 코드의 기준이 무엇인지, 그리고 방법이 무엇인지를 고민하고 연구해야 합니다. 관심사의 분리 개발에는 관심사의 분리 ( Seperation of Concerns ) 용어가 있다. 좋은 코드를 짜기 위한 가장 기본적인 원칙이며, 더 좋은 애플리케이션을 만들기 위한 여러 디자인 패턴, 기법, 아키텍쳐 등은 결국 모두 이 SoC를 가장 기본적인 원칙으로 삼고 있다. 😒 관심사란 ? 하나의 모듈..
2023.05.21 -
소프트웨어 테스트 feat. react
소프트웨어 테스트 테스트란 무언가 동작하는지 확인하는 행위이다. 소프트웨어 테스트란 소프트웨어가 우리가 의도한 대로 동작하는지 테스트하는 행위를 의미한다. 옛날에는 개발자는 개발만하고, 소프트웨어가 올바르게 동작하는지 확인하는 테스트팀이 별도로 존재했고, 개발자는 테스팅 과정에 큰 관여를 하지 않았다. 그러나 최근에는 개발자가 자동화 할 수 있는 소프트웨어 테스트를 구현하고 실행하는것이 보편화 되고 있다. 자동화된 테스트란? 컴퓨터를 통해서 소프트웨어를 테스트하는것을 의미합니다. 소프트웨어를 통해서 테스트를 할 경우… 컴퓨터를 통해서 실행하기에 사람이 실행하는 것보다 빠르다. 정해진 스크립트에 따라 일관성있게 동작하기에 사람이 테스트 할 경우 발생할 수 있는 휴먼에러를 기피할 수 있다. 소프트웨어 테스트..
2023.05.20 -
리펙토링부터 검색어 추천 기능 및 무한 스크롤 기능 구현 하기
기업 과제를 진행하면서 배운 내용들을 과제에 적용해보았다. 깃허브 링크 : https://github.com/wanted-frontedend-team5/pre-onboarding-10th-4-5 리팩토링 1. Js → Ts로 migration 타입스크립트 도입 이유 타입을 정적으로 제한하여 더 안정적이고 예측 가능한 코드 작성이 가능 컴파일 시간에 타입 오류를 확인함으로써 버그를 사전에 찾아 생산성 향상 및 유지보수가 용이함 의존성 설치 react/typescript 개발에 필요한 의존성 추가 "devDependencies": { "@types/react": "^18.2.6", "@types/react-dom": "^18.2.4", "typescript": "^5.0.4" } tsconfig.json 추..
2023.05.18 -
React Redux 파헤치기
Design Pattern 디자인패턴 : 소프트웨어를 설계하면서 자주 발생하는 문제에대한 모범답안 애플리케이션 전체를 다루기 위한 디자인 패턴들은 통상 여러 작은 범위의 디자인 패턴들을 함께 사용해서 만들어지기에 복합패턴이라고도 부름. → 그 중 모든 복합 패턴의 근간이라고 부를수 있는 패턴은 mvc 패턴 MVC MVC 패턴은 애플리케이션을 Model, View, Controller 세가지 구성요소로 나눠서 설계하는 패턴입니다. 구성요소들의 역할은 아래와 같습니다. Model: 데이터의 형태를 정의하고, 데이터를 수정하는 역할을 담당 Controller: 유저의 입력을 받아서 애플리케이션 내에서 어떻게 처리할지 판단 및 가공해서 모델 또는 뷰를 조작 View: 모델을 UI로 표현, 사용자의 입력을 받아서..
2023.05.18 -
컴포넌트 작성 피드백 및 리액트에서 렌더링 및 UseEffect 파해치기
컴포넌트 작성 피드백 코드/함수는 단순하고 한가지 일만 해야한다. 컴포넌트가 한가지 일만 하게..? 조건식 단순하게 만들기 분기가 생기는 순간 코드 읽기가 복잡해진다. → 최대한 보기 좋게 처리하는것이 좋다. 내가 처리하기 제일 편한 자료구조를 가져오는것이 기본 → 웬만하면 자료구조 선에서 처리되는게 훨씬 좋다. https://medium.com/javascript-scene/nested-ternaries-are-great-361bddd0f340 컴포넌트가 너무 많은 요소들에 의존하고 있음 컴포넌트의 해야하는 역할을 잘 생각해보자 한 컴포넌트가 2가지 일을 처리하고 있는건 아닌지 생각을 해보자 컴포넌트에 의존되는 값이 있는지 잘 생각해보고 거기에 예상되는 효과가 있는지 잘 생각해보기 자주 쓰는 strin..
2023.05.18 -
프론트엔드 개발자도 알면 좋은 지식 Infra
서버와 클라우드 컴퓨팅 그리고 AWS 서버 무언가를 제공해주는 사람이나 물건 it 업계 : 무언가를 제공해 주는 컴퓨터. 서버는 물리적인 실체가 있는 컴퓨터이다. 컴퓨터는 하드웨어이고, 각각 구성품에 사양을 가지고 있음. 서버가 받아들일 수 없는 성능을 요구하게 되면 서버가 터지게 된다. 서버를 운영하는 방법 온프레미스 (On-promise) 서버에 필요한 물리적인 공간, 컴퓨터, 제반시설등을 직접 구축해서 활용함 전통적인 방식, 직접 모니터링 전문인력들이 직접 하드웨어를 구입하고 제반시설을 구축해야 한다. ⚠️why! 급변하는 소프트웨어에 맞춰서 유지보수하기 어렵다는 단점으로 인해 많은 기업들이 현재는 온 프로미스 방식을 벗어나서 클라우드 컴퓨팅 기반의 환경으로 변경하고 있음. 클라우드 컴퓨팅 (clo..
2023.05.18