본문 바로가기

개발일지

(25)
[Javascript] 리스트 Deep Copy Before for (const el of list) { copyList.push(el); } After const copyList = [...list];
computeIfAbsent Before Map graph = new HashMap(); for (int i = 0; i new LinkedList()).add(i); }
2진수 → 10진수 const str = "101" parseInt(str, 2); 만약 문자열의 길이가 Number의 범위를 넘어가면 parsing이 되지 않는다. 이럴땐 BigInt 사용 const str = "10100000100100110110010000010101111011011001101110111111111101000000101111001110001111100001101" BigInt("0b" + str); // 이렇게도 BigInt(`0b${str}`); 0b를 앞에 붙히면 2진수가 된다. console.log("0b111"); // 7n
조건 실수 n.toString(2).split('').map(v => v === 1 ? 0 : 1).join(''); BinaryString값의 complement를 구하기 위해 위와 같이 구현하였다. 하지만 기대하는 결과 값이 나오지 않았다. 원인은 === 에 있었다. split 까지 한 결과는 [ "1", "0", "1" ] 이런 식이다. String 값과 Number값을 비교해서 false에 해당하는 값으로만 나온 것이었다. ==은 값만 ===은 type까지 비교한다. 수정해보면 n.toString(2).split('').map(v => v == 1 ? 0 : 1).join(''); 혹은 n.toString(2).split('').map(v => v === "1" ? 0 : 1).join(''); 로 해야할 ..
Redux 입문하기 (with React.js) 해당 글은 생활코딩의 Redux 강의 내용을 정리하며 작성하였습니다. https://opentutorials.org/module/4078 Redux 수업소개 예측 가능한 애플리케이션의 상태 저장소인 Redux를 다루는 수업입니다. 이 수업에서는 순수한 웹기술인 HTML, JavaScript와 Redux만을 이용해서 웹애플리케이션을 만들어 볼 것입니다. 이 opentutorials.org Why Redux ? 1. logic을 재사용함 => logic 횟수를 감소시킨다. 2. redux-dev-tools를 사용하면 '시간여행'이 가능하다! 3. component 간의 의존성을 낮출 수 있다. => component들은 하나의 store에 집중하면 된다. What is Redux ? dispatch : ③ ..
[Javascript] String to array String to char array const array = s.split(""); title이 포함된(인덱스 0에) String to array const string = "SI JAVA JAVASCRIPT SQL PYTHON C#"; const [title, ...langs] = string.split(" "); // title = "SI" // lagns = [ 'JAVA', 'JAVASCRIPT', 'SQL', 'PYTHON', 'C#' ];
[Javascript] array sort 다중 조건 성적값으로 내림차순, 같은 성적이라면 이름값을 사전순(오름차순)으로 나열하고 싶다. 기존 코드 array.sort((a, b) => { if (b.score - a.score 0) return 1; else if (b.name b.score - a.score - (a.name < b.name)); 승률(desc), 이긴횟수(desc), 체중(desc), 번호(asc) 기준으로 정렬할 때 위의 방법으로 하면 단위가 모두 달라 적용하기 힘들다. 기존 코드 const result = array.sort((a, b)..
[JWT] 클라이언트에서의 관리 JWT (Json Web Token) What is JWT ? ​ aaaaaa . bbbbbb . cccccc ​ 헤더(header) 내용(payload) 서명(signature) Header typ : 토큰 타입 "JWT" alg : 해싱알고리즘 "HS256" 혹은 "RSA" Payload registered claim iss, sub, exp, jti 등등 public claim private claim (claim : 정보를 담는 조각. 단위) Signature hash(encode(Header) + "." +encode(Payload) , secret) 클라이언트에서 jwt를 어떻게 관리할 것 인지 ? 쿠키 or 로컬스토리지 쿠키와 로컬스토리지의 차이는? LocalStorage Cookie 장점 ..