분류 전체보기 258

21.05.27 이더리움에 대한 첫 관심

누구누구말대로 투자를 했더니 공부할 관심이 생겼다. 다만, 차트 확인할 시간에 정보 하나 더 구글링하기로 다짐...! 1. 이더리움의 합의 알고리즘 방식 변경 이더리움 - PoW → 이더리움 2.0 - PoS 채택 PoW : 작업증명 - 채굴한 만큼! 탈중앙화 원리는 모든 노드들이 서로 부정행위를 방지하도록 경계하는 데에 있다. PoS : 지분증명방식 - 지분을 가지고 있는 만큼! 탈중앙화 원리는 일반인이든 채굴자이든 효율이 같기 때문에 자연스럽게 분산된다. 2. 이더리움 클래식! ETC로 이더, 이더리움과는 또 다른 녀석이다! 이더리움 클래식은 이더리움 ETH에서 화폐 개념으로 따로 분리된 가상 화폐이다. 무제한 발행*하는 이더리움과는 다르게 발행수를 약 2억 1~3000만장으로 제한한다는 점에서 코인..

이더리움 2021.05.28

21.05.25 DeFi, DEX

DeFi DeFi가 뭔데? 디파이 이름은 많이 들어봤다. Decentralized Finance 를 줄여서 DeFi라고 부른다. 중앙화되지 않는 금융 즉, 탈중앙화 금융 시스템이다. 중앙화된다는 것은 기존의 금융 시스템을 생각하면 쉽다. (Centralized Finance, CeFi) 중앙 기관인 은행이 중심에 있고 개인이나 기업 간의 금융 거래가 그 중심을 통해야만 이루어지는 시스템이다. 거래를 안전하게 책임지는 은행이 있으니 굳이 DeFi라는 것이 필요할까 생각이 들지만 20세기 말부터 21세기 현재까지 베어링스 은행 파산*, Long Term Capital Management 파산**, 리먼 브라더스 파산***, 국내 라임 사태 및 옵티머스 사태**** 등의 갖가지 파산 및 금융 위기 사례가 있었..

카테고리 없음 2021.05.26

21.05.24 포인터 변수

1. 포인터란? 변수가 선언되었을 때, 그 데이터를 할당하는 공간인 주소가 존재하는데 그 주소를 포인터라고 한다. 2. 일반 변수와의 차이점 일반 변수 = 값; 포인터 변수 = 주소; 일반 변수의 역할 : 자료 자체를 저장하기 위해 사용 포인터 변수의 역할 : 일반 변수가 실제 메모리에 할당된 주소를 참조하기 위해 사용 3. 예시 { int a = 100; //일반 변수 int *pa; //포인터 변수 pa = &a; //주소지정 연산자 cout

C++ 2021.05.24

21.05.17 메모리 영역

✔메모리가 필요한 이유 프로그램이 실행되기 위해서는! 프로그램과 그 프로그램에 사용되는 변수를 저장하기 위한 메모리가 필요하다. ✔메모리 공간의 종류 1. Code 코드 영역 실행할 프로그램의 코드가 저장되는 영역 CPU는 코드 영역에 저장된 명령어를 하나씩 가져가서 처리한다. 2. Data 데이터 영역 프로그램의 전역변수와 정적변수가 저장되는 영역 프로그램의 시작과 함께 할당되며 프로그램이 종료되면 소멸한다. 3. Stack 스택 영역 함수 호출과 관련된 지역 변수와 매개변수가 저장되는 영역 함수의 호출과 함께 할당되고 함수 호출이 완료되면 소멸한다. (push 데이터 저장, pop 데이터 인출) 4. Heap 힙 영역 사용자가 직접 관리하는 메모리 영역 사용자에 의해 메모리 공간이 동적으로 할당되고 ..

21.04.30 find(), findIndex(), indexOf()

📌Array.prototype.find() : 값 찾기!! find() 메서드는 주어진 판별 함수를 만족하는 첫번째 요소의 값을 반환한다. 그런 요소가 없다면 undefined를 반환한다. const array1 = [5, 12, 8, 130, 44]; const found = array1.find(element => element > 10); console.log(found); //expected output : 12 📌Array.prototype.findIndex() : 위치 찾기!! 함수 조건 findIndex()메서드는 주어진 판별 함수를 만족하는 배열의 첫번째 요소에 대한 인덱스를 반환한다. 만족하는 요소가 없으면 -1을 반환한다. const array1 = [5, 12, 8, 130, 44];..

JavaScript 2021.04.30

21.04.27 project#4 주소에 /api 붙이는 이유

1. 클라이언트와 서버를 연결시켜준다. 자바스크립트에서는 '프로토콜, 도메인이름, 포트'로만 접근 가능하다. React 에서는 클라이언트와 서버의 포트 번호가 달라서 클라이언트가 서버에 접근할 수 없는 문제가 있다. 즉, 클라이언트 → 서버로 바로 접근할 수 없고 클라이언트 → 프록시 → 서버 를 통해 클라이언트가 서버에 접근할 수 있다. 프록시를 통해 이를 해결할 수 있다. 2. 도메인 주소를 제외한 URL만 입력해도 서버와 통신 가능하다. React 클라이언트에서 axios 같은 라이브러리로 서버와 통신할 때 서버의 절대 주소를 일일이 입력해야 하는 번거로움을 줄일 수 있다. 로컬의 경우, axios('http://localhost:8001/login') → axios('/login') 프록시를 설정..

Node.js 2021.04.30

21.04.28 useSelector, useEffect, useDispatch

📌useSelector() : 리덕스 스토어의 데이터를 추출 React-Redux Hook, 참조하는 상태와 일치 여부를 판단하고 상태를 가져온다. react-redux 공식 소스코드는 다음과 같다. >> 더보기 import { useReducer, useRef, useMemo, useContext, useDebugValue } from 'react' import { useReduxContext as useDefaultReduxContext } from './useReduxContext' import Subscription from '../utils/Subscription' import { useIsomorphicLayoutEffect } from '../utils/useIsomorphicLayoutEf..

React.js 2021.04.30

21.04.27 redux, axios 로그인 상태 관리 프로세스

📌frontend : _actions/types.js 액션 타입 정의하기 export const LOGIN_USER = "login_user"; 📌frontend : _actions/user_action.js axios 모듈과 액션 타입 불러오기 import axios from "axios"; import { LOGIN_USER } from "./types"; LoginUser 로그인 액션 함수 정의하기 export function loginUser(dataToSubmit) { const request = axios .post("/api/auth/login", dataToSubmit) .then((response) => response.data); console.log("로그인 페이로드", request..

React.js 2021.04.27

21.04.25 project#4 challenge collection 생성

📌models/challenge.js 모듈 불러오기 const mongoose = require("mongoose"); //auto increment 쓸 수 있는 모듈 const autoIncrement = require("mongoose-auto-increment"); autoIncrement.initialize(mongoose.connection); 객체 형식으로 스키마 작성 const ChallengeSchema = new mongoose.Schema({ //챌린지 인덱스 (자산, 건강, 역량, 관계, 취미분야 1~5) challengeIndex: { type: Number, }, //작성자 아이디 registerId: { type: String, required: true, }, //카테고리 ca..

Node.js 2021.04.25

21.04.22 mongoDB 연결 및 postman 사용 연습

📌index.js -세팅 파트 //필요한 모듈 const express = require("express"); const mongoose = require("mongoose"); const bodyParser = require("body-parser"); const app = express(); const port = 5000; //몽고디비 연결 호스트 설정 const config = require("./config/key"); // const { User } = require("./models/User"); app.use(bodyParser.urlencoded({ extended: true })); app.use(bodyParser.json()); //몽고 디비 연결 mongoose .connect(c..

Node.js 2021.04.25