전체 글35 React Component npm에 publish 하기 ~ 꺽쇠, +, - 등의 아이콘 컴포넌트 +나 x 등의 아이콘을 적당히 만들어서 빠르게 프로토타이핑을 하고 싶을 때 사용할 심산으로 컴포넌트화 시켜봤습니다. 이번 프로젝트의 주요 목적이기도 했던 npm에 publish 또한 완료했습니다. 코드는 아래 저장소에서 보실 수 있습니다. https://github.com/JeonJaewon/react-symbols GitHub - JeonJaewon/react-symbols: Handy React.js components for various symbols Handy React.js components for various symbols. Contribute to JeonJaewon/react-symbols development by creating an account on GitHub. github... 2021. 8. 25. 새로고침 시에도 redux store 유지하기 브라우저가 새로고침 될 시, 런타임중에 변경된 redux store는 초기화되어 버립니다. 이를 해결하기 위해서 만들어진 유명한 패키지는 redux-persist가 있습니다. 다만 저는 타입스크립트 리액트 앱에서 적용시켰을 때 오류를 겪어서 저장소를 살펴보았더니 해당 저장소는 2019년 이후로는 관리가 되지 않고 있었습니다. 저를 포함한 대부분의 경우 크고 거창한 기능이 필요하기보다는 단순한 데이터 유지 기능만이 필요하므로, 직접 구현하는 것도 좋은 해결책이라고 생각이 들어서 직접 구현해보고자 합니다. 새로고침 시에도 데이터를 잃어버리지 않기 위해서는 저장소를 사용할 필요가 있는데, localStorage나 sessionStorage를 사용할 수 있습니다. 이번에는 sessionStorage를 활용해 보.. 2021. 8. 25. [Typescript] --downlevelIteration 에 대해서 for-of 구문이나 배열에 대한 Spread operator 사용시에 downlevelIteration 플래그를 사용하라는 메시지가 출력된다. tsconfig의 target을 확인해 보면 es6 이전일 것이다. 이 문법들은 es6부터 지원되기 때문이다. Type is not an array type or a string type. Use compiler option '--downlevelIteration' to allow iterating of iterators.ts(2569) downlevelIteration 옵션은 반복에 대한 (iteration) 타입스크립트 코드를 비교적 오래된 (down level) 자바스크립트 런타임에서도 문제 없이 수행되도록 컴파일하는 옵션이다. 만약 위에서 언급한 문법들을.. 2021. 8. 9. [Javascript] var, let, const 의 호이스팅과 스코프 자바스크립트를 쓰다보면 크게 세 가지의 변수 선언을 하게 된다. 바로 var, let, const이다. 차이점을 표로 만들어 비교하면 다음과 같다. var let const 중복 선언 O X X 스코프 함수 레벨 스코프 블록 레벨 스코프 블록 레벨 스코프 호이스팅 O O O 호이스팅이란, 자바스크립트 인터프리터가 코드 실행을 위해 스코프 안의 선언들을 모두 스코프 최상단으로 끌어 올리는 것을 말한다. 일반적으로 var를 사용했을 때만 호이스팅이 발생한다고 착각하기 쉬운데, 사실 내부적으로 세 형태 모두 다 호이스팅이 일어난다. var의 경우 선언과 undefined로의 초기화가 동시에 일어난다. 다만 let과 const로 생성된 변수의 경우 이 시점에서 초기화 과정이 일어나지 않고, 이때를 TDZ (Te.. 2021. 5. 31. [백준 11279][Python] 최대힙 자료구조 직접 구현하기, 시간초과 나는 이유 입력 받을 때 input() 을 사용하면 시간초과가 날 수 있습니다. 저는 7%정도에서 시간초과 오류가 났는데, sys.stdin.readline()으로 바꾸니 한번에 통과했습니다. 힙에 추가하는 부분보다는 삭제하는 부분이 어려운데, 자식 노드가 존재하는지 검사하지 않으면 list out of range 에러가 날 수 있기 때문에 size 변수를 잘 이용해서 현재 노드의 개수를 잘 파악해야 합니다. 힙은 완전이진트리이기 때문에 노드 개수만으로도 트리 모양을 예측할 수 있습니다. 파이썬을 오랜만에 썼는데 까먹은 부분이 많아서 놀랐고 앞으로도 종종 써야겠다고 생각했습니다 import sys class Heap: def __init__(self, max_size): self.size = 0 self.data .. 2021. 5. 29. Javascript는 call by value일까 call by reference일까? 2022. 06. 추가) 공부를 더 하고 보니 이 글은 틀린 내용이 포함되어 있습니다. 정확히 말하자면 primitive, 참조 타입 모두 데이터에 대한 주소 값을 저장하는 것이 맞습니다. 그러나 그 데이터가 객체이냐, 아니면 실제 값이냐의 차이인 것으로 보아야 합니다. 추후 해당 포스팅을 수정하도록 하겠습니다. 결론부터 이야기하면 정답은 바로 call by value 이다. 흔히들 기본 타입은 call by value, 참조 타입 (객체 타입)은 call by reference로 동작한다고 잘못 알고있다. 그러나 자바스크립트는 항상 call by value로 동작한다. stackoverflow에서 좋은 예제 코드를 찾았다. function changeStuff(a, b, c) { a = a * 10; .. 2021. 5. 21. 이전 1 2 3 4 5 6 다음