목록분류 전체보기 (778)
치춘짱베리굿나이스
Zadanie próbne 2 문제 Wyobraźmy sobie przez chwilę, że w tym roku konkurs SKI'10 składa się z n punktowanych rund i jednej rundy próbnej. Ile zgodnie z regulaminem może się pojawić zadań w czasie całych zawodów? 입력 W pierwszej i jedynej linii znajduje się liczba naturalna n (1
폴리오미노 문제 민식이는 다음과 같은 폴리오미노 2개를 무한개만큼 가지고 있다. AAAA와 BB 이제 '.'와 'X'로 이루어진 보드판이 주어졌을 때, 민식이는 겹침없이 'X'를 모두 폴리오미노로 덮으려고 한다. 이때, '.'는 폴리오미노로 덮으면 안 된다. 폴리오미노로 모두 덮은 보드판을 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 보드판이 주어진다. 보드판의 크기는 최대 50이다. 출력 첫째 줄에 사전순으로 가장 앞서는 답을 출력한다. 만약 덮을 수 없으면 -1을 출력한다. 풀이 const polio = () => { let str = require("fs").readFileSync("/dev/stdin").toString().trim(); let con = 0; const strlen = str..
코드리뷰 서론 초대손님 반갑습니다~~ 웹스톤을 쓰는 이유? 추천받아서..? 코드리뷰 #1 Route는 최대한 간단해야 한다 레이아웃은 최상위에 배치해서 래핑하는 것을 추천 기업 같은 경우 페이지가 30~40개급이 돼서 라우터가 무거워질 수록 라우터 구성이 매우 복잡해진다 React-loadable 기본 Lazy 기능도 좋지만 loadable을 쓰면 조금 더 깔끔할 것 코드를 최대한 깔끔하게 쓰자 && 연산자, || 연산자로 도배하는 것보다 if / else문, useMemo 사용하는 것을 추천 삼항연산자는 코드의 depth를 늘어나게 만든다 프론트엔드는 가독성이 중요 ⇒ 가독성을 신경쓰지 않으면 줄 수가 기하급수적으로 늘어난다 나중에 리팩토링 할 수 있으니 그걸 고려하자 공통컴포넌트로 쓸 수 있는 것들은..
코드 예시 리덕스로 다크모드 구현하기 전역 상태관리 라이브러리 context api : 비추함 속도가 느림 사용할 때마다 코드가 캐스캐이딩되어서 코드가 금방 더러워진다 redux toolkit : 추천함 바닐라 redux에 여러 기능과 라이브러리를 포함해서 쉽게 쓸 수 있도록 되어있음 mutation 관리, Thunk 관리, 캐싱 등 일반 리덕스보다 훨씬 쓰기 편함 recoil 아직도 알파단계라 뭐가 금방금방 바뀜 atom 정도 (+ selector) 만 쓸 것 redux 사전 설정 import { Provider } from 'react-redux'; import { store } from './states'; // 전역 상태값 저장하는 store 위치 ... const root = ReactDOM.c..
코드리뷰 코드리뷰 #1 (내코드) readme 리드미만 보면 전교1등이다 (ㅋㅋㅋㅋ) 하이테크 볼펜 20개씩 있을것같다 얼마나 타자를 열심히 쳤으면 손가락이 ㅋㅋ 와 ㅋㅋ 검색어 없을 때 불필요한 API 요청 없애기 export const MovieListContainer = () => { const res = fetchWrappedMovieData(setValue, 1); // 이 부분 때문에 컴포넌트가 로딩될 때마다 검색어가 없어도 값을 fetch한다 .. } 페이지 리렌더링할 때마다 불필요하게 API 요청이 한번씩 더 들어간다 조건문 등을 이용해서 검색어가 없을 땐 API 요청을 없애자 서버가 헛수고하잖어!! 드래그앤 드랍 할 때 내부 문자열 긁히는 거 막기 user-select: none; CSS..
그룹과제 #2 시작 공식적인 내생각 새로운 과제가 시작되었다 여전히 파트분배는 어렵다... 그리고 이번에도 API 명세는 해괴하다 일단 오늘은 정리해야할 내용이 많아서 간단하게 axios로 데이터 fetch만 해 봤는데 response로 들어오는 data 객체에서 우리가 써야 할 정보가 깊이 5 안쪽에 있다 심지어 느려... JSON 파일을 주는 이유를 알 것 같았다 리액트 쿼리랑 리덕스 툴킷 위주로 공부하고 fetch api 함수를 어떻게 잘 다듬을지 고민해봐야겠다 오늘 정리한 강의 과제하느라 얼레벌레 시간보내다가 제대로 정리를 이제야 했다 (반성) 실시간으로 들을땐 진행속도가 빨라서 어버버하다 키워드만 적어놨었는데 진작에 미리 정리하고 개인과제했으면 과제 퀄리티 좀 올라갔을듯 220510 코드리뷰 2..
날씨 앱 서론 자기 코드에 자만심갖거나 쪽팔려하지 말자 ⇒ 발전이 없다 공식문서 신경 많이 쓰기 린터는 절대 끄지마세요 날씨앱 만들기 키값 보관하기 - 환경변수 REACT_APP_[변수명]=[변수값] REACT_APP_API_KEY=12345678 키값 털리면 API 리밋에 걸리거나 돈이 마구 나갈 위험이 있음 깃허브에 올리지 않도록 하기 위해 .env 파일 등에 넣는다 위의 형식으로 .env 파일을 저장하면 process.env.REACT_APP_API_KEY 와 같은 식으로 환경변수를 사용할 수 있다 CRA로 생성한 프로젝트는 변수명 앞에 접두사로 REACT_APP_을 붙여줘야 인식함 NavLink 사용하여 내비게이션 바에 링크 달기 ... cx({ [styles.isActive]: isActive ..
각잡고 정리하다가 조금 오래걸렸다... 서론 린터, 프리티어 절대 끄지 마시오 빨갛게 노랗게 뜨면 다 0점 드리겠습니다 린터와 타입스크립트가 50% 이상 들어간다 코드리뷰 중요 11년차와 1년차의 차이: 삽질을 먼저 해봤느냐 처음해보느냐의 차이 타입스크립트 샘플 참고해가면서 사용하세요 초대손님 환영합니다 코드리뷰 코드리뷰 #1 Readme 꼼꼼히 적기 CRA 디폴트 리드미 사용하지 말고 프로젝트 개요나 설명 등을 적어놓기 폴더구조 같은 걸 첨부하면 코드 읽기에 더 좋다 Router 폴더명 Router는 폴더명 소문자로 해놓는 게 좋다 그리고 파일 하나밖에 없는 상태니까 그냥 폴더로 만들지 말고 파일 하나로 빼자 (router.tsx) 폴더 구조 컴포넌트 이름을 제외하고는 파일명은 어지간하면 다 소문자로 ..