ALL
메타마스크 독스 한국어로 훑어보기
전체적인 구조 이 글은 https://docs.metamask.io/guide/ 를 보고 전체적인 구조와 내용을 정리한 글입니다. 1️⃣ Guide 1. 소개 a. 왜 메타마스크인지 안전하고 유용한 이더리움 베이스 웹사이트 위해 만들어짐 계정 관리하고 유저들을 블록체인에 연결함 b. 계정 관리 다양한 방식으로 계정 관련 c. 블록체인 연결 이미 이더리움 블록체인 + 테스트 네트워크에 대한 연결리 로드되어있음 Ethereum 호환 JSON RPC API 를 노출하는 모든 블록체인과 호환됩니다. (새 창을 엽니다), 맞춤형 및 사설 블록체인을 포함합니다. 개발을 위해 Ganache 와 같은 테스트 블록체인을 실행하는 것이 좋습니다 우리는 지속적으로 새로운 프라이빗 블록체인이 생성되고 있음을 알고 있습니다. ..
2021 10월 TIL 모음
Frontend SCSS 관련 @mixin으로 정의된 것은 @include로 가져와서 쓸 수 있다 → CSS 모듈 사용할 땐 클래스명 주의해야한다. 디폴트로 파일이름이 클래스명에 붙기 때문에 부트스트랩 등 디폴트 스타일을 변경할 때에는 아래와 같이 클래스명을 직접 지정해줘야 한다. .carouselWrapper { &__indicator { position: absolute; justify-content: start; margin-left: 60px; bottom: 320px; & li { background-color: $gray-700; list-style-type: none; } & li[class='active'] { width: 1.5rem; height: 0.375rem; border-radi..
DP JS로 구현하기
DP JS로 구현하기 1. DP의 뜻 이미 계산된 결과는 별도의 메모리 영역에 저장해서 다시 계산하지 않도록 함 메모리 적절히 사용하여 수행시간 효율성 비약적 향상 자료구조에서 동적 할당을 의미함 → 메모리 할당하는 기법, 그러나 알고리즘에선 이런 의미 뜻하진 않음 2. 풀이 흐름 일단 재귀 함수, 그리디, 구현, 완전 탐색 등 아이디어로 풀 수 있는지 생각해보고 일단 그 방식대로 작성 그 이후로 코드 개선 or 어떻게 해도 안되면 Dp를 고려 (시간 초과 등..) 대표적으로 사용하는 경우 최적 부분 구조 : 큰 문제를 작은 문제로 나눌 수 있을 때 → 작은 문제의 답을 모아서 큰 문제 해결 중복되는 부분 문제 : 동일한 작은 문제 반복적 해결 3. 종류 공통적인 전제 : 메모이제이션 ) 한 번 계산한 ..
BFS&DFS 알고리즘 JS로 구현하기
BFS&DFS JS로 구현하기 1. BFS : 너비 우선 탐색 1-1.필요한 자료구조 큐 (선입선출) 일반 배열을 큐처럼 이용 삽입 연산 : push 삭제 연산 : shift 1-2. 풀이 흐름 전제 ) 깊이 찾기보다 넓게 찾음 -> 최단 경로 찾기와 비슷 시작 노드를 큐에 넣고 방문 처리 큐에서 노드 꺼내고, 꺼낸 노드의 인접 노드 중 방문하지 않은 노드를 모두 큐에 삽입하고 방문 처리 2의 과정 수행할 수 없을 때까지(큐가 빌 때까지 반복) 1-3. 구현 방식 // 각 노드 연결 정보, 첫번째 노드부터 보고자 배열 첫째항은 비워둔다. const graph = [ [], [2, 3, 8], [1, 7], [1, 4, 5], [3, 5], [3, 4], [7], [2, 6, 8], [1, 7], ]; /..
편집거리 알고리즘
1. 문제 문자열 A, B가 주어졌을 때, 문자열 A를 편집해서 문자열 B로 만들고자 한다. 문자열 A를 편집할 때는 삽입, 삭제, 교체 세 가지 연산 중 하나를 선택하여 이용할 수 있다. 이때 편집거리란 문자열 A를 편집하여 B로 만들기 위해 사용한 연산의 수를 의미한다. 문자열 A를 문자열 B로 만드는 최소 편집 거리를 계산하는 프로그램을 작성하라. 예를 들어 "sunday"와 "saturday"의 최소 편집거리는 3이다. 2. 풀이 이런 방식으로 dp 테이블을 만들면, dp[n][m]이 최소 편집거리가 된다. def edit_dist(str1, str2): answer=0 n = len(str1) m = len(str2) dp = [[0] * (m+1) for _ in range(n+1)] # 초반..
20210901~20210910 TIL in Goorm
1. 코드리뷰 관련 1-1. 스타일링 관련 https://medium.com/@utatti/번역-css-modules-8bb6edf4f2f CSS 모듈은 모든 클래스명과 애니메이션명이 지역적 스코프로 선언되어 있는 것을 말한다. 공식적인 스펙은 아니고 웹팩의 도움을 받아 빌드 과정을 거친다. 리액트스트랩 부트스트랩 기반으로 만들어진 컴포넌트 → 부트스트랩 하나하나 가져올 필요 없이 통째로 사용 가능 부트스트랩 뭉뚱그러진 css 스타일링 가능 → 리액스트렙으로 통째로 불러오는 것이 아닌, 세세한 부분 1-2. git flow master : 기준이 되는 브랜치로 제품을 배포하는 브랜치 입니다. develop : 개발 브랜치로 개발자들이 이 브랜치를 기준으로 각자 작업한 기능들을 합(Merge)칩니다. fe..
[백준 14502] 연구소 / 파이썬
문제 https://www.acmicpc.net/problem/14502 생각한 과정 1을 딱 세 개만 추가해서 2가 최대한 안 퍼지도록 해야한다 ! 0인 칸들의 좌표를 넣어 두고 그 안에서 조합을 이용해 세 개를 꺼내 벽을 세우고 벽을 세운 경우들마다 bfs를 통해 바이러스를 퍼뜨리고 안전영역의 크기를 최댓값으로 업데이트 코드 import sys from collections import deque from itertools import combinations input = sys.stdin.readline n, m = map(int, input().rstrip().split()) graph = [list(map(int, input().rstrip().split())) for _ in range(n)]..
SOPT 3차 세미나 - React 기본 개념 props, state, hook
🐰 Why use? SPA 등장 SPA 등장 -> JS 유지 보구 위한 라이브러리, 프레임워크 중요성 대두 ) index.html 하나로 모든 것을 해결한다! 기존엔 MPA여서 -> html, css, js 모두 로딩해야 함 but 이젠 일부만 렌더링 장단점이 있음 -> 단점 ) 초기 구동속도 느림, 검색 엔진 최적화가 어려운데 SSR로 해결 가능 🐰 기본 문법 핵심 특징 1. Component UI 구성하는 개별 뷰 단위 ) 적절하게 쪼개서 재사용성 높이기 컴포넌트 조합새 새로운 컴포넌트 만들거나, 복잡한 웹 페이지 사용 가능 클래스형 / 함수형 두 종류가 있음 ) 클래스형은 잘 사용하지 않는다 2. Virtual Dom DOM 요소 변경되면 원래 Render Tree가 만들어짐 -> 바뀔 때마다 새로..