• [BlockChain] 블록체인의 암호화와 전자 서명 방식

    [BlockChain] 블록체인의 암호화와 전자 서명 방식

    블록체인은 네트워크 시스템이므로 P2P네트워크가 중요하지만 그만큼 중요한 것이 암호학입니다. 모두가 참여 가능한 네트워크에서 본인을 증명하기 위해서, 전자서명, 정보 보안등 꼭 알아둬야 할 정도로 중요한 암호학입니다. 어떠한 방식으로 암호화를 하고 있고 전자 서명은 어떻게 진행되는지, 대표적인 암호화 방식 비교까지 다루도록 하겠습니다. 암호학의 목표 기밀성 : 정보를 주고받고 저장을 하는데 부적절한 노출을 방지하여 허가받은 사용자가 아니면 내용에 접근하지 못하도록 막아야 합니다. 무결성 : 정보는 일반적으로 수정될 수 있습니다. 이러한 변경은 오직 권한이 있는 사용자에게만 허가가 되어야 합니다. 허가받지 않은 사용자가 변경하지 못하도록 부적절한 변경을 방지하여야 합니다. 가용성 : 정보를 생성하고 저장한..

  • [BlockChain] 하이퍼레저 패브릭이란? (Hyperledger Fabric)

    [BlockChain] 하이퍼레저 패브릭이란? (Hyperledger Fabric)

    하이퍼레저 패블릭이란? 하이퍼레저 패블릭(Hyperledger Fabric)은 하이퍼레저 프로젝트 중의 하나로 리눅스 제단과 함께 기업을 위한 폐쇄형 블록체인을 개발하고 있습니다. 퍼블릭 블록체인은 공개형으로서 누구나 참여가 가능하고 프라이빗 블록체인은 폐쇄형으로 특정 누군가만 참여가 가능한 블록체인 네트워크라면 하이퍼레저 패블릭은 회사나 조직에서 사용하기 위해 권한 기반으로 구성된 네트워크입니다. 권한이 부여된 사람만 참가가 가능하다는 점에서 프라이빗 블록체인 중의 하나라고 생각하시면 됩니다. 검증된 사용자만 참가할 수 있기 때문에 문제 발생 시 책임소재를 분명히 할 수 있다는 장점이 있습니다. 하이퍼레저 패블릭의 서비스 멤버십 서비스 : 일정한 허가나 인증을 받은 사람만 네트워크에 참여할 수 있다는 ..

  • [BlockChain] 퍼블릭 블록체인과 프라이빗 블록체인의 차이?

    [BlockChain] 퍼블릭 블록체인과 프라이빗 블록체인의 차이?

    퍼블릭 블록체인과 프라이빗 블록체인의 차이? 퍼블릭 블록체인(public blockchain)이란? 프라이빗 블록체인(private blockchain)이란? 차이와 장단점 퍼블릭 블록체인(public blockchain)이란? 퍼블릭 블록체인(public blockchain)은 누구나 자유롭게 참여가 가능한 블록체인으로 흔히 알고 있는 비트코인, 이더리움 등의 코인이 퍼블릭 블록체인입니다. 중앙 집권화 된 조직이 없이 누구나 참여가 가능하다는 점에서 자유롭고 책임지는 조직이 없기 때문에 퍼블릭 블록체인은 채굴에 대한 보상으로 토큰을 주는 형태로 보상을 얻고 싶은 사람이라면 자율적으로 채굴에 참여하여 퍼블릭 블록체인이 유지되도록 힘쓰고 경제적인 보상을 받는 구조가 됩니다. 이러한 구조 때문에 블록체인은 ..

  • [프로그래머스] 최빈값 구하기 (TypeScript로 풀기)

    [프로그래머스] 최빈값 구하기 (TypeScript로 풀기)

    문제 설명 최빈값은 주어진 값 중에서 가장 자주 나오는 값을 의미합니다. 정수 배열 array가 매개변수로 주어질 때, 최빈값을 return 하도록 solution 함수를 완성해 보세요. 최빈값이 여러 개면 -1을 return 합니다. 제한사항 0 a - b); let maxLength: number = 0; let length: number = 0; for (let i = 0; i < array.length; i++) { length++; if (array[i] != array[i + 1]) { if (maxLength == length) { answer = -1; } else if (maxLength < length) { maxLength = length; answer = array[i]; } len..

  • [프로그래머스] 콜라 문제 (TypeScript로 풀기)

    [프로그래머스] 콜라 문제 (TypeScript로 풀기)

    문제 설명 오래전 유행했던 콜라 문제가 있습니다. 콜라 문제의 지문은 다음과 같습니다. 정답은 아무에게도 말하지 마세요. 콜라 빈 병 2개를 가져다주면 콜라 1병을 주는 마트가 있다. 빈 병 20개를 가져다주면 몇 병을 받을 수 있는가? 단, 보유 중인 빈 병이 2개 미만이면, 콜라를 받을 수 없다. 문제를 풀던 상빈이는 콜라 문제의 완벽한 해답을 찾았습니다. 상빈이가 푼 방법은 아래 그림과 같습니다. 우선 콜라 빈 병 20병을 가져가서 10병을 받습니다. 받은 10병을 모두 마신 뒤, 가져가서 5병을 받습니다. 5병 중 4병을 모두 마신 뒤 가져가서 2병을 받고, 또 2병을 모두 마신 뒤 가져가서 1병을 받습니다. 받은 1병과 5병을 받았을 때 남은 1병을 모두 마신 뒤 가져가면 1병을 또 받을 수 있..

  • [프로그래머스] JadenCase 문자열 만들기 (TypeScript로 풀기)

    [프로그래머스] JadenCase 문자열 만들기 (TypeScript로 풀기)

    문제 설명 JadenCase란 모든 단어의 첫 문자가 대문자이고, 그 외의 알파벳은 소문자인 문자열입니다. 단, 첫 문자가 알파벳이 아닐 때에는 이어지는 알파벳은 소문자로 쓰면 됩니다. (첫 번째 입출력 예 참고) 문자열 s가 주어졌을 때, s를 JadenCase로 바꾼 문자열을 리턴하는 함수, solution을 완성해 주세요. 제한 조건 s는 길이 1 이상 200 이하인 문자열입니다. s는 알파벳과 숫자, 공백문자(" ")로 이루어져 있습니다. 숫자는 단어의 첫 문자로만 나옵니다. 숫자로만 이루어진 단어는 없습니다. 공백문자가 연속해서 나올 수 있습니다. 입출력 예 s return "3people unFollowed me" "3people Unfollowed Me" "for the last week" ..

  • [React] Link 컴포넌트 이해하기

    [React] Link 컴포넌트 이해하기

    Link 컴포넌트 이해하기 Link 컴포넌트란? Link 사용방법 Link 컴포넌트란? Link 컴포넌트란 React에서 사용하는 태그라고 설명할 수 있습니다. 태그의 경우는 href로 지정한 주소로 이동을 하기 때문에 새로고침이 일어나지만 의 경우는 주소로 이동하여 전체를 새로고침 하는 것이 아니라 필요한 부분만 재 랜더링 하도록 하는 컴포넌트입니다. 태그에서는 href를 통하여 이동하였다면 는 to를 이용하여 이동을 한다는 것이 특징입니다. Link를 사용하게 된다면 필요한 부분만 재 랜더링 하므로 속도 향상에 도움이 됩니다. Link 사용 방법 import { BrowserRouter, Routes, Route, Link } from "react-router-dom"; function App() {..

  • [React] Routes와 Route이해하기

    [React] Routes와 Route이해하기

    Routes와 Route 이해하기 Routes와 Route 이해하기 Routes와 Route 사용 방법 Routes와 Route 이해하기 React는 SPA(Single Page Application)를 만들기 위한 프레임 워크입니다. SPA에서는 단일 페이지를 가지므로 화면의 전환을 Route를 통하여 어떠한 내용을 띄울 것인지 정할 수 있습니다. Routes는 Route의 복수형으로 Route를 묶어주는 역할을 하고 기존의 Switch의 역할을 하게 됩니다. Routes를 사용하지 않고 Route를 나열한다면 조건에 맞는 Route를 다 보여주게 됩니다. Route가 실질적인 역할을 합니다. 위와 같이 Routes로 감싸는 경우 현재 주소의 라우터가 "/라우터명/추가 라우터명"이라면 추가 만 화면에 ..

  • [React] useNavigate 이해하기

    [React] useNavigate 이해하기

    useNavigate 이해하기 useNavigate란? useNavigate 사용 방법 심화 useNavigate란? 함수형 컴포넌트에서 사용하는 Hooks 중 하나입니다. 특정 이벤트가 발생하였을 때 주소를 이동시키는 기능을 제공합니다. HTML의 경우 아래의 코드와 같이 a태그와 href를 이용하여 주소를 이동하였다면 React에서는 useNavigate를 이용하여 주소 즉 React내에서 라우터 이동을 합니다. 네이버 useNavigate 사용 방법 import {useNavigate} from "react-router-dom" const 컴포넌트 명 = ()=>{ const navigate = useNavigate() const moveFunc = ()=>{ navigate("/이동할 라우터 명"..