개발

    [알고리즘] 알고리즘 문제 풀이 순서

    1. 문제 이해하기 문제를 보고 어떠한 문제인지 이해하는게 가장 중요하다고 생각하다. 2. 구체적 예시 알아보기 (1) 간단한 예 생각하기 (2) 복잡한 예 생각하기 (3) 빈 입력값 입력하면 어떻게 되는지 (4) 유효하지 않은 값을 입력하면 어떻게 되는지 3. 코드작성전 문제를 세분화 하기 코드를 작성하기전 문제를 세분화해서 단계를 나누는것이다. 나는 각종 조건들을 나눈다고 생각한다. 예를 들어 객체에 숫자,문자이면서 키값이 존재하는지 -> count +1 객체에 숫자,문자이면서 키값이 없으면 -> 객체에 키 추가, count = 1 이런식으로 투박하게 조건들을 주석으로 달아놓음 4. 해결방법 단순화, 코딩 주석으로 달아놓은 방법들을 코딩 5. 리팩터링 시간복잡도를 따져보며 최적화

    [코딩테스트] 프로그래머스 문제모음

    1. 안전지대 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 폭탄 주변이 중복될수 있으니 중복제거를 위해 객체로 접근했다. (1) 1번 풀이 function solution(board) { const boomIndex = {}; for (let i = 0; i < board.length; i++) { for (let k = 0; k < board.length; k++) { if (board[i][k] == 1) { boomIndex[i - 1 + "" + (k - 1)] = 1; boomIndex[i - 1 + "" + k] = 1; boomIndex[i..

    [TypeScript] .d.ts

    1. .d.ts이란? .d.ts 파일은 타입만 저장할수 있는 파일이다. 전역 변수나 전역 함수에 대한 타입을 선언하는 것이다. 타입은 다른 타입스크립트 파일에서 import로 가져와서 사용해야 하는데 옵션을 통해서 글로벌 모듈로 설정할수 있다. import로 받아오거나 export로 내보내지 않아도 전역 변수나 전역 함수에 대한 타입 선언이 가능하다. 2. 타입 사용 예시 (1) tsconfig.json 타입 폴더 설정하기 { "compilerOptions": { "typeRoots": ["./node_modules/@types", "./@types"], }, } (2) types/app.d.ts 타입 선언하기 declare namespace myName { let name: string; } (3) s..

    [TypeScript] tsconfig.json

    1. 예시 { "exclude": ["node_modules"], // typeScript 컴파일 제외할 폴더 "compilerOptions": { "outDir": "./build/", "esModuleInterop": true, "moduleResolution": "node", "resolveJsonModule": true, "strict": true, "target": "ES6", "removeComments": true, "lib": ["ES6", "DOM"], "allowJs": true, "typeRoots": ["./node_modules/@types", "./@types"], "baseUrl": ".", "paths": { "@myUrl/*": ["src/views"], "*": ["@ty..

    [TypeScript] 타입스크립트 기초 및 설치

    1. 타입스크립트란? 타입스크립트란 자바스크립트에서 타입 설정이 추가된 언어라고 보면 된다. 타입스크립트는 자바스크립트의 상위 집합 슈퍼셋으로서 대형 프로젝트를 진행할때 어느정도 약점 오류를 잡는데 좋다. 타입스크립트의 컴파일은 타입스크립트 코드를 자바스크립트 코드로 바꿔주는것이다. 자바스크립트 코드로 바꿔주는 이유는 브라우저가 이해할수 있는게 자바스크립트로 작성된 코드이기 때문이다. 2. 타입스크립트의 장점 객체지향 프로그래밍에 특화된 프로그래밍 패턴을 지원한다. 타입스크립트를 쓰면 자바스크립트로 작업할때보다 개발에서 생기는 에러를 사전에 방지할수 있고 자바스크립트의 코드 품질과 개발 생산성을 높일수 있다. 3. 자바스크립트와 비교 JS : 타입이 정해져 있지 않아서 자동완성이 미리 뜨지 않아 일일히 ..

    [블록체인] 자바스크립트로 블록 만들기

    1. crypto-js SHA-256은 현재 블록체인에서 가장 많이 채택해서 사용하고 있는 암호 방식 출력 속도가 빠르다는 장점을 가지고 있고 단방향성 암호화 방법이라 복호화가 불가능하다. 아직까지는 안정성에서 큰 단점이 발견되지 않았고 속도가 빨라서 인증서나 블록체인등에 많이 사용중이다. SHA256 알고리즘은 256비트로 구성된 64자리 문자열로 암호화 해준다. const SHA256 = require("crypto-js/sha256"); const str = "HelloWorld"; console.log("해시결과 : ", SHA256(str).toString()); console.log("해시 길이 : ", SHA256(str).toString().length); 2. merkle Merkle T..