전체 글(111)
-
[백준/node.js] 11399번 ATM
내가 걸렸던 함정 1. 문자열 sort -만약 1, 2, 3, 1000 이라면? const fs = require('fs'); const [n, input] = fs.readFileSync("/dev/stdin").toString().trim().split("\n"); const inputArr = input.trim().split(" ").map(Number).sort((a,b) => a-b) let sum = 0; let answer = 0; for (let i = 0; i < n; i++) { sum += inputArr[i] answer += sum } console.log(answer)
2023.07.31 -
캐싱, useCallback로 훅 시야 넓이기
내 리액트의 현재 수준은 기초에 머물러 있다. 기초에 머물러 있는 것은 문제가 되지 않는데 기초에서 몇 달째 좀처럼 나아가질 못하고 있어 문제이다. html, css, js는 강의를 듣다보면 어느 정도 코드를 쓰다보면 느는 것을 볼 수 있는데 리액트는 그게 되지 않는다. 그 이유는 훅의 사용 때문에 그렇다. 훅의 원리를 제대로 이해하지 못하면 훅을 사용할 수 없고 그 것은 우리가 자동차가 있어도 운전 방법을 몰라 걸어가는 것과 같다. 그래서 몇 달 째는 나는 useState, useEffect에서 벗어나지 못하고 있었다. 그래서 이제부터 좀 차근차근 정리해나가기로 한다. 사실 정리는 공식문서에 정연하게 되어있지만 난 아직 공식문서를 읽고 실행할 수 있는 단계에 이르지 못했다. 어느 정도 알아먹어야 공식문..
2023.07.30 -
JS 변수에서 $나 _를 왜 쓰는걸까?
참고로 나는 제이쿼리를 모른다. 근데 종종 강의나 유튜브를 보면 변수에 $나 _를 쓰는 경우를 심심치 않게 볼 수 있다. 한국어로 찾으니 getElementById 축약이라고 보통 이야기하는데 내가 봤을 때 이런 경우를 찾는 것 같지는 않았다. 그래서 영문으로 찾아보았다. Why JavaScript Variable Starts with a Dollar Sign?? https://stackoverflow.com/questions/205853/why-would-a-javascript-variable-start-with-a-dollar-sign https://www.geeksforgeeks.org/why-javascript-variable-starts-with-a-dollar-sign/ Why JavaScri..
2023.07.30 -
React-todolist 리팩토링으로 이벤트 위임 배워보기
리액트 파일에 작성하여 리액트 카테고리에 넣었지만 실상 js에 대한 내용이다. import { useState } from "react"; function ToDoList2() { const [todoList, setTodoList] = useState([]); const [todo, setTodo] = useState(""); const handleInput = (e: React.ChangeEvent) => { setTodo(e.target.value); }; const handleSubmit = (e: React.FormEvent) => { e.preventDefault(); // 기본적인 것을 잊고 있었다. 새로고침을 없애고 form을 이용해서 엔터고칠수 있다. setTodoList((prev) =..
2023.07.30 -
[하루만에 정복해보는 TS] TS와 Class
TS는 JS Class를 객체 지향형 프로그램 언어처럼 만들어준다. 기존 JS에서는 쓸 수 없었던 접근 제한자 private, public, protected 등을 사용할 수 있게 해준다. 몰론 위 접근 제한자는 실제 js 코드에서는 사라지지만 말이다. public은 기본값으로 제한이 없으며 private 자기 자신의 클래스 안에서만 사용 가능하다. 마지막으로 protected는 자기 자신 클래스와 상속된 클래스까지 접근이 가능하다. class User { constructor( private firstName:string, private lastName:string, public nickname: string ) } 다음으로 abstract, 즉 추상 클래스에 대해 알아야한다. 추상이라는 말은 언제 어..
2023.06.29 -
[하루만에 정복해보는 TS] type 설정해보기
이번에 type을 정의하는 방식에 대해 이야기보려고한다. const PlayerChoi : { name:string, age?:number } = { name: "choi", age: 25 } const PlayerInnbo : { name:string, age?:number } = { name: "innbo", age: 31 } 이렇게 오브젝트에 대한 타입 정의하였다고 가정하자. 하지만, 일일히 오브젝트 타입은 비효율적이기에 아래와 같이 타입을 선언하여 정리해줄 수 있다. type Player = { name: string, age?: age } const PlayerChoi: Player = { name: choi, age: 25 } 타입 안에 이미 선언한 타입을 넣어주는 것도 가능하다. type A..
2023.06.18