목록javascript (110)
언젠가는 펼쳐 볼 아카이브
... const CommentItem: React.FC = ({ item, onDelete }) => { const handleDelete = () => { onDelete(item._id); }; ... 함수 컴포넌트를 React.FC 로 타이핑한게 눈에 들어옵니다. 이전에는, 암묵적인 children 및 숫자나 문자를 반환하면 에러가 발생하였는데 이제는 괜찮아 졌습니다. 그런데, 여전히 제네릭이라던가 defaultProps 는 개선이 안된 것 같습니다 . 그리고 오히려 저 코드가 더 읽기 어렵게 만들수도 있기에, 우리에게 친숙한 props 에만 타입을 명시해주는 형태로 작성하셔도 됩니다. :) 참고링크 : )https://www.totaltypescript.com/you-can-stop-hating..
현재 프로젝트에서 동일하게 코드 컨벤션을 맞추기 위해 eslint와 prettier를 적용했습니다. 다수의 인원과 함께 프로젝트 작업을 하신다면, 코드 퀄리티를 위해 eslint 와 prettier 를 적용하는게 좋습니다. 컴포넌트 작성할때 함수 표현식으로 사용하기로 했는데, 선언식과 차이가 있을까요? 어떤 것이든 사용해도 상관은 없습니다. 다만 hoisting 이슈만 유의해서 사용해주시면 됩니다. 타입스크립트를 사용할때 유의점이 있을까요? 타입스크립트를 사용할 때, "모든 타입을 적어줄거야!" 보다는 타입 추론이 되는 것들은 작성하지 않아도 됩니다. 그래야 생산성도 올라가고, 흔히 말해 가독성도 좋아지거든요. 필요한 것에만 타입 선언을 하시면 됩니다. React Query 버전 관련 React Quer..
Javascript Asychoronus 초기 웹 환경에서는 서버에서 모든 데이터를 로드하여 페이지를 빌드 했기 때문에, Javascript 에서는 별도의 비동기 처리가 필요하지 않았음 Ajax의 등장으로 페이지 로드 없이 client-side에서 서버로 요청을 보내 데이터를 처리할 수 있게 됨 XMLHttpRequest라는 객체를 이용해 서버로 요청을 보낼 수 있게 됨 Javascript는 single-threaded 언어이므로, 서버 요청을 기다려야하면 유저는 멈춰있는 브라우저를 보게 됨 따라서 비동기 처리를 이용해 서버로 통신할 필요가 있음 Synchornous Asynchoronus - 해당 코드 블록을 실행할 때, 스레드의 제어권을 넘기지 않고 순서대로 실행함 - 코드의 순서와 다르게 실행 됨 ..
#제출코드 const fs = require('fs'); const filePath = process.platform === 'linux' ? '/dev/stdin' : './input.txt'; const input = fs.readFileSync(filePath).toString().trim().split('\n'); const [cardNum, number] = input[0].split(' '); const cards = input[1].split(' ').map((item) => +item); console.log(solution(+cardNum, +number, cards)); function solution(cardNum, number, cards) { let total = 0; for (l..