본문 바로가기

전체 글324

[Spring Boot With Kotlin] Web Server Tutorial (Feat. Intellij) 가장 먼저 jetbrains에서 Intellij IDEA를 설치합니다. 다운로드 IntelliJ IDEA: 우수성과 인체 공학이 담긴 JetBrains Java IDE www.jetbrains.com 상용 버전의 경우 Spring을 바로 설정할 수 있지만 커뮤니티 버전의 경우 https://start.spring.io/ 사이트에 접속하여 Spring 프로젝트를 생성해야만 합니다. 저는 Spring Boot와 Kotlin을 이용하여 웹을 개발할 예정이기 때문에 아래와 같이 설정한 뒤, GENERATE를 이용하여 압축 파일로 저장하였습니다. Project : Gradle Project Language : Kotlin Spring Boot : 2.7.2 Java : 17 Dependencies : Spring.. 2022. 7. 23.
블록체인의 증명 방식, PoW(Proof of Work), PoS(Proof of Stake) 블록체인 블록체인이란 블록에 거래내역(트랜젝션)을 기록하고 해당 블록을 이용하여 다음 블록을 만듬으로써 연결 고리를 가진 블록들의 집합이라고 할 수 있습니다. 그리고 해당 데이터들은 한 곳에 저장되는 것이 아닌 P2P 방식으로 모든 사용자에게 전송되므로 거래 내역을 임의의 수정하거나 누락시킬 수 없으며, 블록체인에 기록된 모든 데이터를 추적할 수 있습니다. 그렇다면 블록은 어떻게 만들어질까요? 블록은 채굴(Mining)을 통해 만들어지는데요. 채굴이란 블록을 만들고 검증하는 과정을 의미하며, 이 방식은 작업 증명 방식(Proof of Work)와 지분 증명 방식(Proof of Stake)으로 나눠집니다. 작업 증명 방식(PoW) 작업 증명 방식에서 채굴은 임의의 Nonce 값을 대입하여 특정 목표 값 .. 2022. 7. 13.
BlockChain의 채굴 난이도(Bits) BlockChain의 PoW(Proof of Work) 증명 방식에서 채굴 과정은 nonce에 임의의 값을 입력하여 나오는 해시 값이 특정 목표 값보다 낮은 값을 찾기 위한 과정입니다. 만약 최대로 나올 수 있는 해시 값이 1억이라고 가정한다면, 목표 값이 1000만인 것과 100만인 것 중 어느 것이 더 빨리 찾을 수 있을까요? 이는 수학적으로 매우 쉽게 답변할 수 있습니다. 1. 목표 값이 1000만인 경우 목표 값보다 낮은 값을 찾을 확률은 10%(1000만/1억*100) 입니다. 2. 목표 값이 100만인 경우 목표 값보다 낮은 값을 찾을 확률은 1%(100만/1억*100) 입니다. 3. 따라서 목표 값이 1000만인 경우가 더 빨리 찾을 수 있습니다. PoW 증명 방식의 채굴 과정에서도 이렇게 .. 2022. 7. 13.
Excel 단축키 모음 ","으로 구분되어 있을 경우 순서대로 눌러야 됨 행 높이 설정 : ALT, O, R, E 열 너비 설정 : ALT, O, C, W 병합 맞춤 : Alt, H, M, M, Enter 이전에 했던 행동 반복 : F4 필터 적용 : CTRL+Shift+L 표 전체 선택 : CTRL+A 2022. 7. 13.
JSP(Java Server page)와 Java Servlet Java Servlet Java를 사용하여 웹 기반의 요청에 대한 동적인 처리가 가능한 Server Side Program으로 Java 코드 안에 HTML 코드를 넣어 동적인 웹 페이지를 생성함 JSP(Java Server Page) Java를 기반으로 하는 Sever Side Script 언어로 HTML 코드 안에 Java 코드를 넣어 동적인 웹 페이지를 생성함 JSP의 내부 동작 과정 1. Client에서 hello.jsp 파일을 요청함 2. JSP Container가 hello.jsp 파일을 읽어옴 3. JSP Container가 변환(Gernerate) 과정을 통해 Servlet 파일(helloServlet.java)을 생성함 4. 생성된 Servlet 파일은 .class 파일(helloServl.. 2022. 7. 13.
Django란? Django는 2005년부터 시작된 Python의 오픈 소스 웹 프레임워크이자 풀 스택 프레임워크 입니다. 웹 프레임워크는 크게 풀 스택 프레임워크와 마이크로 프레임워크로 나눠지는데, 풀 스택 프레임워크는 "웹 개발에 필요한 모든 요소를 갖춘 프레임워크"이며, 마이크로 프레임워크는 "웹 개발에 필요한 일부 요소가 구현되어 있지 않은 프레임워크" 입니다. ※ Python 기반의 마이크로 프레임워크 중 대표적인 것은 Flask가 있으며, 일부 요소가 구현되어 있지 않기 때문에 반대로 개발자의 능력과 목적에 맞춰 커스텀이 가능한 부분이 있습니다. 또한, Django의 경우 ORM(Object Relational Mapping)을 기본적으로 제공하고 있는데요. ORM이란 객체와 관계형 데이터베이스의 데이터를 자.. 2022. 7. 10.
콜드 월렛(Cold Wallet)과 핫 월렛(Hot Wallet) 콜드 월렛과 핫 월렛의 차이는 온라인(인터넷)에 연결이 되어 있냐와 아니냐로 따질 수 있습니다. 비슷한 개념으로 콜드 스토리지와 핫 스토리지가 있습니다. 콜드 스토리지(Cold Storage) 온라인에 연결되어 있지 않은 오프라인 저장소로 바로 출금이 불가능함 EX : USB, 종이, 내 머리, 인터넷에 연결되어 있지 않은 저장소 핫 스토리지(Hot Storage) 온라인에 연결되어 있는 저장소로 바로 출금이 가능함 콜드 월렛(Cold Wallet) 온라인에 연결되어 있지 않은 오프라인 월렛 핫 월렛(Hot Wallet) 온라인에 연결되어 있는 월렛 그렇다면 스토리지와 월렛의 차이는 무엇일까요? 간단한게 말씀드리자면 스토리지는 저장하는 기능만을 제공한다면 월렛은 스토리지(저장) 기능보다 더 많은 기능(인.. 2022. 7. 3.
[MS Office 1-Day] Follina 취약점(CVE-2022-30190) 해당 취약점은 22년 05월 30일에 긴급 조치가 된 건으로 비교적 최근에 발표된 취약점 입니다. [긴급] MS 오피스, 제로데이 취약점 Follina 발견 최근 마이크로소프트 오피스(Microsoft Office)에서 제로데이 취약점인 ‘Follina’가 발견됐다. 특히, 이번 취약점은 사용자가 문서를 열람하기만 해도 악성코드가 실행될 수 있어 PC 사용자들의 주의 www.boannews.com Follina 취약점이란? 제한된 보기 기능을 통해 문서를 열람만 하더라도 임의의 악성 코드를 실행시킬 수 있는 취약점으로 위험도와 파급도가 매우 높다고 볼 수 있습니다. ※ 해당 취약점은 MSHTML Remote Code Execution 취약점(CVE-2021-40444)에서 파생된 취약점임 Follina .. 2022. 7. 2.
CORS(Cross-Origin Resource Sharing) 클라이언트(브라우저)에서는 어떤 방식으로 요청을 하느냐에 따라 각 출처(Same Origin, Cross Origin)에 대해 다른 방식을 가지고 처리하고 있습니다. 그렇다면 여기서 말하는 출처(Origin)란 무엇일까요? 아래와 같은 URL이 있을 때 출처(Origin)에 해당하는 부분은 Protocol+Host+Port 까지 입니다. https://hacksms.tistory.com:443/hello 만약 Protocol, Host, Port까지 동일한 출처(Origin)일 경우 이를 Same Origin이라고 부르며, Protocol, Host, Port 중 하나라도 다른 것이 있다면 이를 Cross Origin이라고 부릅니다. HTML Tag - CORS(Cross-origin resource s.. 2022. 6. 22.