hyun
  • 홈
  • 글쓰기
  • 태그
  • 방명록
  • 메뉴 닫기
  • 글작성
  • 방명록
  • 환경설정
    • 분류 전체보기 (103)
      • 1. Computer Science (11)
      • 2. FrontEnd (51)
        • Javascript (10)
        • TypeScript (6)
        • CSS (3)
        • React (17)
        • Next.js (1)
        • Dart (1)
        • Three.js (3)
        • State Management (4)
        • TDD (2)
        • Ag-Grid (1)
        • LeetCode (1)
      • 3. Backend (9)
        • NestJS (9)
      • 4. Git (4)
      • 5. Blockchain (9)
        • Mastering Ethereum (5)
      • 6. Error (16)
      • 7. Infra | Cloud (2)
        • Docker (2)
        • Kubernetes (0)
        • AWS (0)
      • 8. 자격증 (0)
        • CompTIA A+ (220-1101, 220-1102.. (0)
      • Daily (1)
        • 후기 (1)
        • 맛집 (0)
  • 홈
  • 태그
  • 방명록
4. Git

[Git] .gitignore

🍀 .gitignore이란? 보통 git에 파일을 커밋할 때, 하나씩 git repositiry에 넣는것이 귀찮아 git add .을 사용하여 커밋한다. 이 중에서 커밋을 원치않는 파일들이 간혹 한두개씩 들어있는데, 이를 git rm으로 제외시킬 수 있지만, 커밋을 할때 기억하면 좋지만 깜빡하고 커밋하여 보안위험이 일어나는 경우가 대다수이다. (프라이빗키를 커밋해서 지갑이 털린 경험이 있다 🥺..프라이빗키 너무 즁요해요⭐️) 이러한 바탕으로 우리는 .gitignore 디렉토리를 만들어서 커밋을 하지 않을 파일 이름을 넣어서 미리 방지할 수 있다. (* git_깃 + ignore_무시하다) 🍀 사용법 .gitignore파일을 만들어서 제외할 파일 혹은 폴더를 써넣으면 된다 1) 특정파일 제외할 경우 파일이..

2022. 9. 8. 17:22
5. Blockchain

[Hardhat] 개념 및 초기 설정

실제로 사용해본적은 딱 한번 있었다. (NFT mint하는 프로젝트) 그 당시엔 그냥 사용했지만, 프로젝트했던 기억을 더듬어 자세히 개념정리를 하고, 방법을 단계별로 정리하고자 글을 쓴다. 🍀 Hardhat이란? Truffle과 유사한 이더리움 dApp개발 도구 (Smart Contract 작성, 컴파일, 테스트, 배포 도구) Builder라는 이름으로 사용되었으나, 현재 HardHat으로 변경 node에서 동작하며 npm,yarn 으로 설치함 web3.js가 아닌 ethers.js를 사용함 ⭐️ Truffle과는 다르게 내부적으로 Ganache와 같은 가상 이더리움 네트워크(즉시 실행되는 내부(in-process)가상 이더리움 네트워크)를 제공해서 단위 테스트를 실행할 때 Ganache가 필요하지 않다..

2022. 9. 3. 18:24
2. FrontEnd/TypeScript

[TS] Union Type, Literal Type, Type Aliases

✅ Union Type 자바스크입트의 OR연산자(||)와 같은 의미의 타입 변수값이 숫자타입 혹은 문자열 등 여러타입을 가지는 경우 주로 사용 (BackEnd에서 매핑 데이터가 문자열 | 브라우저 입력값이 문자열인 경우, 변수 age는 string 타입 가능하게 해야함.) `|`연산자를 이용하여 타입을 여러개 연결하는 방식을 Union 타입 정의방식이다. 함수내에서 수행하는 작업과 관련하여 보다 유연하게 활용하는 방법 코드에 하드코딩할 수 있는 정확한 값만 허용하는 것이 아닌 두개이상의 가능한 값을 가지려는 경우 사용 Union타입 대신 any타입을 대체가능하지만, 타입을 추론할 수 없는 경우에 사용되므로 타입스크립트의 강점이 없어진다 (any를 사용하는 경우 마치 JS로 작성하는것처럼 동작하고, Uni..

2022. 8. 31. 17:18
2. FrontEnd/TypeScript

[TS] 타입스크립트란?

✅ TS = JS + Type (* TS는 개발자만의 타입을 작성할 수 있게 해줌) JS는 몇가지 데이터 타입을 갖고 있는데, TS는 더 많은 타입을 지님 TS를 사용하면 타입을 이용하면서 명시적이고 예상하지 못한 에러를 미리 보여주어 런타임시 에러를 피할 수 있다. TS 코드를 작성한 후에 컴파일하여 JS코드로 변환하여 사용해야한다. +a) JS input요소의 value속성은 문자열으로 반환된다. ✅ JS 타입과 TS 타입의 공통점 number 1, 2.3, -9 Allnumbers, no differentiation between integers or floats 다른 프로그래밍언어들에는 특별한 정수형과 실수형 또는 이중형이 있지만, JS와 TS에는 number타입 하나만 존재 string 'im'..

2022. 8. 25. 19:50
2. FrontEnd/Javascript

[JS] 싱글 스레드 언어

✅ Javascript : 싱글 스레드 언어 싱글 스레드 = 한 번에 하나의 작업만 할 수 있다 👉🏻 one thread == one call stack == one thing at a time 자바스크립트는 싱글 스레드 언어이기에 함수를 실행하면 함수 호출이 스택에 순차적으로 쌓이고, 스택의 맨 위에서부터 차례대로 한 번에 하나의 함수만 처리할 수 있다. 간단한 프로그램이라면 상관없지만 아주 복잡한 프로그램을 구동한다고 생각했을때, 시간이 매우 오래 걸리는 작업이 스택에 쌓이고 실행되면 그 다음 작업은 무한정 대기할 수밖에 없다. 이처럼 다른 작업을 실행하기 위해서 이 전 작업이 완료될 때까지 기다려야만 하는 상황을 블로킹(blocking)이라고 한다. 극복하기 위한 해결 방안이 바로 Asynchron..

2022. 8. 17. 20:17
1. Computer Science

[네트워크] HTTP

✅ 핵심개념 : HTTP, GET, POST, 상태코드 ✅ HTTP (HyperText Transfer Protocol) 웹 브라우저(클라이언트)가 웹 서버와 대화하기 위한 프로토콜입니다. 사용자가 웹 페이지를 방문하려 할 때, 그들의 웹 브라우저(클라이언트)는 웹 서버에 웹 페이지의 내용을 요청해야 합니다. 웹 서버는 그 요청에 응답하기 위해 요청을 해석하고, 요청된 페이지를 클라이언트에게 돌려보냅니다. HTTP는 이 과정을 용이하게 해주며, 요청을 보내고 받는 표준적인 방법을 정해줍니다. HTTP works as a request-response protocol between a client and server. 예) A client (browser) sends an HTTP request to th..

2022. 8. 17. 19:36
1. Computer Science

[네트워크] TCP, IP

✅ 핵심 개념 : IP, 라우터, 패킷, TCP, 포트 컴퓨터들이 인터넷을 통해 통신하기 위해서는 통신을 어떻게 해야 하는지, 인터넷상의 한 지점에서 다른 지점으로 어떻게 데이터가 도달하는지 알려주는 표준 집합 혹은 프로토콜이 필요하다 프로토콜 없이는 수신 장치가 정보를 받게끔 보장하거나 받은 정보로 무엇을 해야 할 지 보장해줄 수 없다. 프로토콜에는 전송 제어 프로토콜(TCP, Transmission Control Protocol)과 인터넷 프로토콜(IP, Internet Protocol)이 있다. TCP/IP를 사용하겠다는 것은 IP주소체계를 따르고 IP Routing을 이용해 목적지에 도달하며 TCP의 특성을 활용해 송신자와 수신자의 논리적 연결을 생성하고 신뢰성을 유지할 수 있도록 하겠다는 것을 ..

2022. 8. 17. 19:16
1. Computer Science

[네트워크] Router

✅ 핵심개념 : 라우터, 라우팅 테이블 도로에는 원하는 목적지를 가기 위한 길을 알려주는 도로표지판이 있는것과 같이 인터넷에서 이와 비슷한 역할을 하는 라우터라는 장치가 있습니다. (인터넷에서 데이터에게 길을 알려주는 라우터) ✅ 라우터 인터넷은 한 장치에서 다른 장치로 정보를 보낼 수 있다. 인터넷에서 데이터를 쉽게 전송하도록 돕기 위해서 라우터가 사용됨 라우터는 인터넷의 구성 요소로, 데이터를 다양한 네트워크로 보내줍니다. 라우터는 보낸 데이터가 올바른 목적지에 잘 도착할 수 있도록 보장하기 위해 특정 명령어 집합을 따른다. ✅ 라우팅 모델 인터넷에서, 인터넷에 연결된 모든 장치들은 다른 인터넷에 연결된 장치들과 통신할 수 있어야 합니다. 이러한 네트워크를 구성하기 위한 방법 중 하나는 아래와 같이 ..

2022. 8. 17. 18:49
1. Computer Science

[네트워크] DNS, DHCP

✅ 핵심단어 : DNS / DHCP / URL / 도메인 인터넷상에 있는 장치들이 IP 주소를 효과적으로 사용할 수 있도록 하는 두 가지 중요한 시스템 도메인 이름 시스템(DNS / Domain Name System) 웹 브라우저 주소창에 치는 텍스트를 IP 주소로 변환 동적 호스트 구성 프로토콜(DHCP / Dynamic Host Configuration Protocol) 각 장치에 IP 주소를 할당하는 것을 도와줌 ✅ DNS 대부분의 사람들은 웹 페이지에 접속하려 할 때 IP 주소를 치지 않고 URL을 입력합니다. URL, 즉 도메인 주소는 IP 주소보다도 사람이 읽기 쉽고 기억하기 쉬운 웹 주소입니다. 사용자가 기억하기 쉬운 URL을 사용하더라도 궁극적으로는 접근하려는 장치의 IP주소를 알아야 합니..

2022. 8. 17. 18:38
1. Computer Science

[네트워크] IP주소(IPv4, IPv6, ::) / 액세스 포인트(AP) / DHCP / DNS / URL

✅ 핵심개념 IP주소(IPv4, IPv6, ::) / 액세스 포인트(AP) / DHCP / DNS / URL ✅ 인터넷 프로그래밍을 통해 명령줄에서 실행하는 프로그램만 작성할 수 있는 것은 아닙니다. 인터넷에서 실행되는 코드도 작성할 수 있습니다. 인터넷이 동작할 수 있도록 많은 다양한 시스템들과 프로토콜(Protocol, 통신 규칙)들이 갖추어져 있고, 모든 인터넷 요소들이 더불어 동작해야 사람들이 인터넷을 효과적으로 사용할 수 있습니다. 인터넷에는 어떤 시스템이고 어떻게 동작하는지를 이해하면 인터넷에 대한 이해를 전반적으로 높일 수 있을 것입니다. ✅ IP주소 인터넷상에 있는 장치들은 IP 주소(Internet Protocol Address)를 할당 받는다. IP 주소는 인터넷에 연결된 장치들을 식별..

2022. 8. 17. 18:01
1. Computer Science

ASCII, 유니코드, RGB

컴퓨터가 문자, 사진, 영상, 음악 등 다양한 정보를 처리하는 방식을 설명할 수 있다. (ASCII, 유니코드, RGB) 컴퓨터를 통해 다양한 정보(숫자,문자,사진,영상,음악 등)를 처리하는데, 어떻게 이런 다양한 정보를 처리할 수 있는가? ✅ 숫자의 표현 -> 2진법으로 표현 (앞 포스팅 참고) ✅ 문자의 표현 문자를 숫자로 표현할 수 있도록 정해진 표준이 있다 ▶️ 아스키코드(ASCII / American Standard Code for Information Interchange) 총 128개의 부호로 정의되어 있는데, 가령 알파벳 A는 10진수 기준으로 65, 알파벳 B는 66로 되어있다. A를 2진법으로 표현해보면, 10진법 기준으로 65이므로 2**6x1 + 2**5x0 + 2**4x0 + 2*..

2022. 8. 17. 17:21
1. Computer Science

2진법 (bit / byte)

✅ 컴퓨터 과학 컴퓨터 과학은 문제 해결에 대한 학문 문제 해결은 입력(input)을 전달받아 출력(output)을 만들어내는 과정 ( 그 중간에 있는 과정이 바로 컴퓨터 과학 ) 입력과 출력을 표현하기 위해선 우선 모두가 동의할 약속(표준)이 필요 따라서 컴퓨터 과학의 가장 첫 번째 개념은 어떻게 표현하는지에 대한 표현 방법 (= 2진법) ✅ 2진법 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 총 10개의 기호로 표현하는 것이 10진법 하지만 컴퓨터에는 오직 0과 1로만 데이터를 표현 (=2진법) 2진법으로 숫자 뿐만아니라 글자, 사진, 영상, 소리 등을 저장할 수 있음 2진법은 전기를 켜고 끄는 방식으로 작동하는 컴퓨터에게 적합한 방법 컴퓨터에는 굉장히 많은 스위치(트렌지스터)가 있고 on/o..

2022. 8. 17. 17:06
5. Blockchain

[Ethereum] EIP-1559

✅ 런던 하드 포크란? 2021년 8월 5일 이더리움 기능 개선을 개선하는 업그레이드 작업인 '런던 하드 포크'가 진행됐다. 하드 포크(hard fork)란, 일종의 블록체인 업그레이드 작업으로, 기존 블록체인에서 다른 블록체인으로 넘어가려고 할 때 사용되는 방식이다 \ 이번 런던 하드 포크는 기존에 이더리움 문제점으로 지적돼 왔던 수수료 구조 개선과 공급량 조절 등을 해결하고자 총 5가지의 이더리움 개선 제안(EIP)을 도입하여 주요한 업그레이드가 이루어졌다. 그중, 가스비 개선안으로 EIP-1559: Fee market change for ETH 1.0 chain가 대표적이다 이외에 EIP-3198: BASEFEE opcode / EIP-3529: Reduction in refunds / EIP-35..

2022. 7. 18. 11:45
5. Blockchain/Mastering Ethereum

6. 트랜잭션(Tx)

✅ 트랜잭션(Tx) 외부 소유 계정(EOA)에서 생성되어 이더리움 블록체인에 기록된 서명된 메시지 EVM에서 상태변경을 유발하거나 컨트랙트를 실행할 수 있는 유일한 방법 (트랜잭션을 통해서만 이더(ether)를 전송하거나, 이더리움 가상 머신(EVM)에 있는 컨트랙트를 실행 할 수 있다.) ✅ 트랜잭션 구조 트랜잭션은 다음과 같은 필드로 구성된다. nonce 발신 EOA에 의해 발행되어 메시지 재사용을 방지하는 데 사용되는 일련번호. gas price 발신자가 지급하는 가스 가격 gas limit 이 트랜잭션을 위해 사용할 가스의 최대 사용량 to 수신자 주소 value 수신자에게 보내는 이더(ether) 개수 data 가변길이의 바이너리 데이터(payload) v, r, s EOA의 ECDSA 디지털서..

2022. 7. 14. 17:07
5. Blockchain/Mastering Ethereum

5. 지갑

이더리움 지갑에는 이더(ether)나 토큰(token)이 들어있지 않다. 지갑에는 한 쌍의 공개키와 개인키만 있을 뿐, 이더나 토큰은 이더리움 블록체인에 기록되어 있다. 사용자는 지갑에 있는 키로 트랜잭션을 서명함으로써 네트워크에서 토큰을 제어한다. 지갑의 유형은 크게 지갑이 포함하는 키가 서로 관련이 있냐 없냐에 따라 비결정적(무작위) 지갑(Nondeterministic Wallet)과 결정적(시드) 지갑(Deterministic Wallets)으로 구분된다. 결정적 지갑 중에서 가장 많이 사용되는 HD 지갑에 대해서 알아보자. 비결정적(무작위) 지갑 (Nondeterministic Wallet) 각기 다른 무작위 수로부터 각각의 키를 무작위적으로 추출 그냥 열쇠뭉치(Just a Bunch Of Key..

2022. 7. 14. 14:44
5. Blockchain/Mastering Ethereum

4. 암호학

✅ 키와 주소 이더리움은 외부 소유 계정(EOA)과 컨트랙트계정(CA) 두가지 유형의 계정을 갖고 있다. 디지털 개인키(private key), 이더리움 주소(Ethereum address), 디지털 서명(digital signature)을 통해 외부소유계정의 이더 소유권을 확립한다. 키와 주소는 지갑 또는 웰렛이라고 부르는 소프트웨어에 의해 생성되고 관리된다. 계정주소는 개인키에서 직접 파생되고, 개인키는 계정(account)라고 불리는 단일 이더리움 주소를 고유하게 결정한다. 개인키를 사용하여 생성된 디지털 서명을 통해 자금의 접근과 통제가 이루어진다. 이더리움 트랜잭션은 유효한 디지털 서명이 블록체인에 있어야 실행된다. 계정주소와 디지털 서명만 이더리움 시스템에 전송되고 저장된다. 이더리움 공개키 ..

2022. 7. 14. 13:57
5. Blockchain/Mastering Ethereum

2. 이더리움 기초

✅ 이더리움 지갑 선택하기 ▶️ 지갑 = 사용자의 키를 보유하고, 사용자를 대신하여 트랜잭션을 생성하고 브로드캐스트(broadcast)할 수 있다. 메타마스크 브라우저에서 실행되는 브라우저 확장 지갑 (웹기반) 잭스 다양한 웅영체제에서 실행되는 다중 플랫폼 및 다중 화폐지갑 단순하고 사용하기 쉽도록 설계되어 새로운 사용자를 위한 좋은선택 마이이더월렛 모든 브라우저에서 실행되는 웹기반 지갑 ✅ 통제와 책임 기본원칙 : 하나의 개인키가 하나의 계정과 동일 개인키를 분실하면 자금 및 컨트랙틍 대한 접근권한을 잃게 된다. ✅ 월드컴퓨터 소개 이더 : EVM(이더리움 가상 머신)이라고 하는 에뮬레이트된 컴퓨터에서 실행되는 컴퓨터 프로그램인 스마트 컨트랙트를 실행하는 데 사용되지 위한 암호화폐 EVM = 글로벌 싱..

2022. 7. 14. 13:21
  • «
  • 1
  • ···
  • 3
  • 4
  • 5
  • 6
  • 7
  • »

공지사항

  • 이메일 = fltxld1@gmail.com / GitHub = https⋯

전체 카테고리

  • 분류 전체보기 (103)
    • 1. Computer Science (11)
    • 2. FrontEnd (51)
      • Javascript (10)
      • TypeScript (6)
      • CSS (3)
      • React (17)
      • Next.js (1)
      • Dart (1)
      • Three.js (3)
      • State Management (4)
      • TDD (2)
      • Ag-Grid (1)
      • LeetCode (1)
    • 3. Backend (9)
      • NestJS (9)
    • 4. Git (4)
    • 5. Blockchain (9)
      • Mastering Ethereum (5)
    • 6. Error (16)
    • 7. Infra | Cloud (2)
      • Docker (2)
      • Kubernetes (0)
      • AWS (0)
    • 8. 자격증 (0)
      • CompTIA A+ (220-1101, 220-1102.. (0)
    • Daily (1)
      • 후기 (1)
      • 맛집 (0)
애드센스 광고 영역
  • 최근 글
  • 최근 댓글

최근 글

최근댓글

태그

  • #AppRoutes
  • #pdf다운로드 기능
  • #AppModule
  • #cookie
  • #14버전
  • #다국어처리
  • #sessionStorage
  • #useEffect
  • #next
  • #javascript
  • #코드팩토리
  • #LocalStorage
  • #i18n
  • #Next14
  • #레포팅솔루션
  • #typescript
  • #Next12
  • #Nestjs
  • #js
  • #TDD
  • #test
  • #activereportsjs
  • #반응형
  • #getdocument
  • #Docker
  • #폴더구조
  • #gridoptions
  • #react
  • #CSS
  • #이더리움
MORE

전체 방문자

오늘
어제
전체

블로그 인기글

Powered by Privatenote Copyright © hyun All rights reserved. TistoryWhaleSkin3.4

티스토리툴바