개발 기록
-
[Blockchain 101] Proof of Work(PoW)Intern/블록체인 2024. 11. 28. 21:48
• Proof of Work(PoW)의 특징 / 원리 PoW는 블록체인 네트워크에서 새로운 블록을 생성하고 네트워크의 무결성을 유지하기 위한 합의 알고리즘입니다. ➀ 특정 문제가 주어지면, 네트워크의 노드(마이너)들이 이 문제를 해결하는 계산 작업(해싱)을 수행합니다. ➁ 문제를 해결하려면 연산 능력과 시간이 요구되며, 이를 통해 참여자의 노력이 증명됩니다. ➂ 가장 먼저 문제를 해결한 노드가 새로운 블록을 생성할 권한을 얻고, 보상(암호화폐 또는 트랜잭션 수수료)을 받습니다. ex) 비트코인, 라이트코인과 같은 대표적인 블록체인 시스템이 PoW를 사용 • Proof of Work(PoW)의 장점 ➀ 보안성 강화 - 블록 생성에 많은 연산 자원이 필요하므로, 네트워크를 공격하려면 엄청난 비용과 ..
-
[Blockchain 101] 블록체인의 장단점Intern/블록체인 2024. 11. 27. 09:02
• 블록체인의 특징 / 원리 [특징]➀ 분산 원장 - 데이터가 중앙 서버가 아닌 네트워크에 분산되어 저장- 모든 노드가 동일한 데이터를 보유하여 투명성과 보안을 강화 ➁ 탈중앙화- 중앙 관리자가 없이 네트워크 참여자들이 분산되어 데이터를 관리- 거래 기록이 여러 노드에 복제되어 저장되므로 한 노드의 장애가 전체 시스템에 영향을 미치지 않음 ➂ 불변성 - 한 번 기록된 데이터는 변경 또는 삭제 불가- 블록이 체인 형태로 연결되어 있어 특정 블록을 수정하려면 이후 모든 블록을 변경해야 됌 ➃ 투명성- 블록체인의 모든 거래 기록은 네트워크 참여자들에게 공개- 누구나 거래 내역을 확인할 수 있어 신뢰성을 제공 ➄ Smart Contract- 블록체인 상에서 조건이 충족되면 자동으로 실행되는 계약 기능을 제..
-
[Blockchain 101] 브릿지Intern/블록체인 2024. 11. 27. 09:02
• 서로 다른 블록체인 네트워크란? 자산 이동에 브릿지가 필요한 이유는? - 서로 다른 블록체인 네트워크란? 서로 다른 합의 알고리즘, 프로토콜, 규칙 등을 가진 블록체인 네트워크를 말합니다. ex) 이더리움 : Smart Contract 기반 플랫폼 * 합의 알고리즘블록체인 네트워크에서 모든 참여자가 동일한 데이터 상태를 공유하고 합의하도록 보장하는 메커니즘입니다.블록체인은 분산된 환경에서 운영되기 때문에, 중앙 관리자 없이도 네트워크가 일관된 상태를 유지하려면합의 알고리즘이 필요합니다. - 자산 이동에 브릿지가 필요한 이유? ➀ 서로 다른 네트워크 간 호환성 부족으로 인해 자산 이동이 불가능 ➁ 브릿지는 한 블록체인에서 다른 블록체인으로 자산의 소유권을 안전하게 전송하는 역할 ex..
-
[Blockchain 101] Smart ContractIntern/블록체인 2024. 11. 27. 09:01
• EOA / Smart Contract 차이점? 구분EOASmart Contract소유 및 관리 주체개인이 소유하며 프라이빗 키를 통해 제어블록체인에 배포된 코드로 특정 주소를 가짐트랜잭션 생성직접 트랜잭션을 생성하고 서명 가능자체적으로 트랜잭션 생성 불가능, 외부 요청에 의해 작동 실행 조건사용자의 서명과 가스비 지불로 실행트랜잭션 호출 및 조건 만족 시 실행 가능가스비 지불 주체 사용자가 직접 가스비를 지불가스비는 호출한 EOA나 다른 Smart Contract가 부담저장 데이터 ETH 잔고만 보유 가능 상태 변수, ETH, 기타 데이터 저장 가능역할 사용자가 블록체인과 상호작용하는 기본 계정 특정 로직을 수행하는 프로그램처럼 작동 • ERC-20, ERC-721, ERC-1155 - ERC..
-
[CS/JAVA] 자바의 메모리 영역 / 클래스와 객체 / 생성자CS/Java 2024. 11. 26. 16:53
• 자바의 메모리 영역에 대해 설명해주세요. 자바의 메모리 공간은 크게 Method 영역, Stack 영역, Heap 영역으로 구분되고, 데이터 타입에 따라 할당됩니다. 메소드 영역 : 전역변수와 static 변수를 저장하며, 메소드 영역은 프로그램 시작부터 종료까지 메모리에 남아있습니다. 스택 영역 : 지역변수와 매개변수 데이터 값이 저장되는 공간이며, 메소드가 호출될 때 메모리에 할당되고 종료되면 메모리가 해제됩니다. LIFO(Last In First Out) 구조를 갖고, 변수에 새로운 데이터가 할당되면 이전 데이터는 지워집니다. 힙 영역 : new 키워드로 생성되는 객체(인스턴스), 배열 등이 힙 영역에 저장되며, 가비지 컬렉션에 의해 메모리가 관리되어 집니다. • 각 메모리 영역이 할당되..
-
[CS/JAVA] 가비지 컬렉션 / 객체지향 설계의 원칙CS/Java 2024. 11. 26. 16:53
• 가비지 컬렉션(Garbage Collection)에 대해 설명해주세요. 가비지 컬렉션은 JVM의 메모리 관리 기법 중 하나로, 시스템에서 동적으로 할당됐던 메모리 영역 중에서 필요 없어진 메모리 영역을 회수하여 메모리를 관리해주는 기법입니다. • 가비지 컬렉션 과정에 대해 설명해주세요.GC의 작업을 수행하기 위해서 JVM이 어플리케이션의 실행을 잠시 멈추고, GC를 실행하는 쓰레드를 제외한 모든 쓰레드들의 작업을 중단 후 (Stop The World 과정), 사용하지 않는 메모리를 제거(Mark and Sweep 과정)하고 작업이 제개됩니다. GC의 작업은 Young 영역에 대한 Minor GC와 Old 영역에 대한 Major GC로 구분됩니다. • 객체지향의 설계원칙에 대해 설명해주세..
-
[Blockchain 101] 블록체인의 기술적인 구조Intern/블록체인 2024. 11. 26. 16:53
• 블록체인은 기술적으로 어떤 특성을 가지고 있길래 위변조가 어려운가? ➀ 분산 원장 기술 모든 참여자가 동일한 거래 기록을 보유하여 데이터 위변조 시 전체 네트워크에서 이를 검증하고 거부할 수 있습니다. ➁ 암호화 블록의 데이터는 암호화되어 저장되고, 해시값이 블록의 고유 ID로 사용되며, 블록의 데이터가 변경되면 해시값도 바뀝니다. ➂ 체인 구조(Singly Linked List 구조) 각 블록은 이전 블록의 해시값을 포함하기 때문에, 하나의 블록을 변경하려면 연결된 모든 블록을 재작업해야 합니다. ➃ 합의 알고리즘 네트워크의 모든 노드가 거래를 검증하고 승인해야 하기 때문에, 단일 노드의 변조로 인해 시스템 전체를 변경하기 어렵습니다. • Block이란? 블록은 데이터를..
-
[프로그래머스/JAVA] 귤 고르기Algorithm/Java 2024. 11. 24. 17:08
https://school.programmers.co.kr/learn/courses/30/lessons/138476 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr[ 오답 노트 ]❌ 기존 오답 코드import java.util.*;class Solution { public int solution(int k, int[] tangerine) { // 1 : 1개, 2 : 2개, 3 : 2개, 4 : 1개, 5 : 2개 // k = 6일때 종류의 값을 합한 수가 6이 되어야함 (종류의 개수가 큰 수 부터 하나씩 값 더하기) // (2 : 2개)..