전체 글
-
[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개)..
-
[프로그래머스/JAVA] 카드 뭉치Algorithm/Java 2024. 11. 24. 17:08
https://school.programmers.co.kr/learn/courses/30/lessons/159994 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr📌 문제 요약 코니는 두 개의 카드 뭉치를 사용해 원하는 단어 배열(goal)을 만들 수 있는지 확인하려고 합니다. 각 카드 뭉치의 카드는 순서대로만 사용할 수 있고, 한 번 사용한 카드는 다시 사용할 수 없습니다.주어진 카드 뭉치와 단어 배열로 목표 배열을 만들 수 있으면 "Yes", 그렇지 않으면 "No"를 반환해야 합니다.[ 오답 노트 ]❌ 기존 오답 코드class Solution { public String solution(Str..
-
[CS/JAVA] 추상 클래스 / 인터페이스 / 싱글톤 패턴CS/Java 2024. 11. 24. 17:08
• 추상 클래스와 인터페이스를 설명해주시고, 차이에 대해 설명해주세요. - 추상 클래스는 클래스 내 추상 메소드가 하나 이상 포함되거나 abstarct로 정의된 경우를 말하고,- 인터페이스는 모든 메소드가 추상 메소드로만 이루어져 있는 것을 말합니다. - 공통점new 연산자로 인스턴스 생성 불가능 합니다. 사용하기 위해서는 하위 클래스에서 확장/구현 해야 합니다. - 차이점인터페이스는 그 인터페이스를 구현하는 모든 클래스에 대해 특정한 메소드가 반드시 존재하도록 강제함에 있고,추상 클래스는 상속받는 클래스들의 공통적인 로직을 추상화시키고, 기능 확장을 위해 사용합니다. 추상 클래스는 다중 상속이 불가능하지만, 인터페이스는 다중 상속이 가능합니다. • 싱글톤 패턴에 대해 설명해주세요. 싱글톤 패..