전체 글97 Redis - Master/Slave 구조와 Cluster 구조 ✏️ Master/Slave 구조와 Cluster 구조 Master/Slave 구조는 Master의 내용을 Slave에 복제하여 read/write 권한을 나눠서 사용하는 구조입니다. Cluster 구조는 여러 대의 Master를 두어 가용성을 높인 구조로, 하나의 Master가 fail 되면 짝을 이루고 있던 Slave가 Master로 승격되어 가용성을 보장하는 구조입니다. 일반적인 Cluster 구조에서는 3쌍의 node를 구성해서 사용하고 있지만 경우에 따라서는 node를 추가로 설치할 수 있습니다. Master/Slave 구조 Master/Slave 구조는 단일 Master 노드와 하나 이상의 Slave 노드로 구성됩니다. 모든 쓰기 작업은 Master 노드에서 처리되며, Slave노드는 Mast.. Database/Redis 2024. 2. 6. [내돈내산 책 리뷰] 사랑에 관한 거의 모든 기술 - 사랑에도 기술이 있을까? 사랑에 관한 거의 모든 기술 돈, 노력, 시간을 낭비하지 않는 관계의 절대 법칙 - 김달 인간관계는 언제나 복잡하고 도전적이다. 학창 시절부터 시작해 어른이 되어가는 과정에서 친구 관계의 어려움을 겪으며, 나이가 들면서 사회생활에서의 인간관계 역시 마찬가지다. 사랑에서의 인간관계 역시 예외는 아니다. 이러한 관계들은 우리 삶의 중요한 부분이며, 그 중요성은 시간이 흐를수록 더욱 뚜렷해진다. 오늘 소개할 책은 이러한 여러 복잡하고 어려운 인간관계 중 사랑에서의 인간관계에 대해 도움을 줄 수 있는 사랑에 관한 거의 모든 기술이다. 연애의 가장 기본 연애의 가장 기본은 연인이 나와 대부분의 시간을 보내지 않아도 된다는 사실을 받아들이는 것이다. 이게 가장 어려우면서도 반드시 가져야 할 마음가짐이다. 그래야 두.. 내돈내산 책리뷰/에세이 2024. 1. 7. [EIP - 1599] ETH 1.0 체인의 수수료 시장 변화 이 글은 2019년 4월 13일에 제안된 EIP-1599에 대한 내용으로 그 당시에 생태계에 대한 설명으로 인해 현재 블록체인 생태계와 차이가 있을 수 있습니다. ⛔️ 기존 이더리움 트랜잭션 수수료 시스템의 문제점들 1. 거래 수수료의 변동성 이전의 이더리움 시스템에서 사용자들은 거래를 수행하기 위해 가스 가격을 제시합니다. 이 가격은 거래의 수수료를 결정합니다. 문제는, 네트워크가 바쁠 때(많은 트랜잭션이 진행될 때), 이 가스 가격이 급등할 수 있다는 것입니다. 예를 들어, 가스 가격이 10배 증가한다고 해서 실제 네트워크가 추가로 처리해야하 하는 거래량이 10배 증가하는 것은 아닙니다. 즉, 사용자들은 필요 이상으로 높은 수수료를 지불하는 경우가 많습니다. 2. 거래 지연 문제 이더리움 블록에는 가.. Ethereum/EIP 2024. 1. 5. [Croffle] BlockScout 최신 버전(v5.4.0) 세팅하기 ✏️ 서론 지난 시간에 Geth를 활용하여 Private 한 PoA Network 구축, 네트워크 정보를 파악하기 쉬운 Eth-netstats 세팅에 이어 블록과 트랜잭션 조회를 편리하게 하기 위한 Block Explorer를 세팅해 보도록 하겠습니다. 아직 네트워크를 구축하기 전이거나 Eth-netstats을 세팅하지 않으신 분들은 이전 게시글을 참고하여 주시기 바랍니다. [Croffle] Geth 완전 정복하기 (Geth, PoA, Docker, Eth-netstats) ✏️ 서론 얼마 전, 회사 동료분들과 사이드 프로젝트로 자체 스테이블 코인 결제가 가능한 쇼핑몰 사이트를 제작하기로 하였습니다. ( 잘 만들면 서비스까지 가자 🏁 ) 따라서 오늘은 스테이블 tech-talks.tistory.com 이.. 사이드 프로젝트/Croffle 2024. 1. 2. [Croffle] Geth 완전 정복하기 (Geth, PoA, Docker, Eth-netstats) ✏️ 서론 얼마 전, 회사 동료분들과 사이드 프로젝트로 자체 스테이블 코인 결제가 가능한 쇼핑몰 사이트를 제작하기로 하였습니다. ( 잘 만들면 서비스까지 가자 🏁 ) 따라서 오늘은 스테이블 코인 결제를 위한 Private 한 PoA Network 구축 과정, 네트워크 정보를 파악하기 쉬운 Eth-netstats를 같이 세팅해 보도록 하겠습니다. 이 글이 블록체인 개발을 시작하는 많은 분들에게 도움이 되길 바랍니다. 우선, PoA Network로 선택한 이유로 PoA Network는 신뢰할 수 있는 참여자만이 네트워크에 참여하여 블록 채굴을 진행하기 때문에, 서로 간의 신뢰성과 보안이 높아집니다. 또한, PoA Network는 PoW 시스템에 비해 에너지 효율성이 뛰어나고, 빠른 트랜잭션 처리 속도를 제공.. 사이드 프로젝트/Croffle 2023. 12. 29. 동일한 스마트 컨트랙트 주소로 배포 CREATE2 ✏️ 서로 다른 체인 간 계약 주소가 동일할 수 있을까? 결론부터 얘기하면 서도 다른 체인, 즉 이더리움 네트워크와 클레이튼 네트워크에 동일한 계약주소로 계약을 배포할 수 있습니다. 계약주소를 생성할 때 기본적으로 사용되는 CREATE opcode는 아래와 같은 식으로 2개의 인자값으로 계약 주소를 생성합니다. opcode에 대해 궁금하시면 아래 글을 참고해 주세요. EVM과 Ethereum Opcode ✏️ EVM EVM(Ethereum Virtual Machine)은 이더리움 가상 머신으로, 우리가 흔히 geth 같은 이더리움 클라이언트를 설치하면 스마트 계약을 실행하기 위해 특별히 제작된 경량 운영 체제인 EVM도 함께 제공 tech-talks.tistory.com keccak256(rlp([sen.. Smart Contract/Smart Contracts 2023. 12. 24. 외부 컨트랙트 호출하기 call ✏️ 외부 컨트랙트를 호출? A컨트랙트에서 B컨트랙트에 함수를 호출할 수 있을까요? 결론부터 말하면 가능합니다. 정확히는 A에서 B의 계약주소만 알고 있다면 가능합니다. 방법은 A컨트랙트에서 B의 계약주소와 call( ) 메서드를 사용하여 접근이 가능합니다. 이 외에도 delegatecall( ) 메서드를 사용하여 접근이 가능하지만 오늘은 call( ) 메서드에 대해서만 다뤄보도록 하겠습니다. 이때 call 메서드의 인자값으로 bytecode가 필요한데, 이 bytecode는 실행할 함수, 인자값을 인코딩한 bytecode입니다. bytecode와 EVM이 스마트 컨트랙트를 실행하는 동작원리가 궁금하시면 아래 글을 참고해 주세요. EVM과 Ethereum Opcode ✏️ EVM EVM(Ethereum .. Smart Contract/Smart Contracts 2023. 12. 22. [내돈내산 책 리뷰] 부의 본능 - 인간이 부자가 될 수 없는 무의식적인 본능 부의 본능 원시본능에 사로잡혀 가난하게 살 것인가 부의 본능을 일깨워 슈퍼리치로 거듭날 것인가. - 우석 인간이라면 누구나 부자가 되고 싶고, 잘 먹고 잘 살고 싶어 한다. 이를 반박하는 사람은 아무도 없을 것이다. 만약 이를 반박한다면, 그 사람은 부자가 아닐 확률이 높다. 많은 사람들이 부자가 되고 싶어한다. 그래서 재테크 책은 항상 인기가 많다. 여러 재테크 책들 중 오늘 소개할 책은 인간이 부자가 될 수 없는 이유를 설명하고 이에 대항하기 위한 무기를 알려주는 부의 본능이다. 왜 부자는 소수이고 대다수는 가난하게 살까? 어쩌면 가난하게 사는 게 부자로 사는 것보다 더 쉽지 않을까? 대다수 사람들이 가난하게 사는 건 본능대로 살기 때문이 아닐까? 어쩌면 우리 모두는 재테크에 실패하기에 딱 알맞도록 .. 내돈내산 책리뷰/재테크 2023. 12. 22. EVM과 Ethereum Opcode ✏️ EVM EVM(Ethereum Virtual Machine)은 이더리움 가상 머신으로, 우리가 흔히 geth 같은 이더리움 클라이언트를 설치하면 스마트 계약을 실행하기 위해 특별히 제작된 경량 운영 체제인 EVM도 함께 제공됩니다. 우리가 이더리움 스마트 컨트랙트를 작성할 때, 주로 Solidity를 사용합니다. Solidity는 고수준 언어로 인간이 이해할 수 있는 언어입니다. 인간은 이해할 수 있는데 기계는 이해할 수 없다..? 그렇다면 EVM은 어떻게 인간만 이해할 수 있는 코드를 해석해서 스마트컨트랙트를 실행시키는걸까요? 여기서 많이 들어보신 바이트코드가 나옵니다. 바이트코드 ( ByteCode ) 스마트 컨트랙트를 이더리움 네트워크에 배포하기 전, 컴파일러를 통해 Solidity로 작성된 .. Ethereum/EVM 2023. 12. 21. 비선형 자료 구조 ✏️ 비선형 자료 구조 비선형 자료 구조란 일렬로 나열하지 않고 자료 순서나 관계가 복잡한 구조를 말합니다. 📌 그래프 그래프(Graph)는 정점과 간선으로 이루어진 자료 구조를 말합니다. 정점과 간선 어떠한 곳에서 어떠한 곳으로 무언가를 통해 간다고 했을 때 어떠한 곳은 정점(Vertex)이 되고 무언가는 간선(Edge)이 됩니다. 단방향 간선 단방향 간선(Directed Edge)은 간선이 가리키는 방향이 정해져 있는 간선을 말합니다. 예를 들어, A에서 B로 가는 길이 있지만 B에서 A로는 갈 수 없는 상황을 단방향 간선으로 표현할 수 있습니다. 이러한 간선으로 이루어진 그래프를 유향 그래프(Directed Graph)라고 합니다. 유향 그래프에서 각 간선은 화살표로 표시되어 간선의 방향을 나타냅니.. ComputerScience/비선형 자료 구조 2023. 11. 25. 선형 자료 구조 ✏️ 선형 자료 구조 선형 자료 구조는 요소가 일열로 나열되어 있는 자료 구조를 말합니다. 📌 연결 리스트 연결 리스트는 데이터를 감싼 노드를 포인터로 연결해서 공간적인 효율성을 극대화시킨 자료 구조입니다. 삽입과 삭제가 O(1)이 걸리며 탐색에는 O(n)이 걸립니다. 싱글 연결 리스트 싱글 연결 리스트(Singly Linked List)는 각 노드가 다음 노드에 대한 링크만을 포함하는 가장 간단한 형태의 연결 리스트입니다. 각 노드는 데이터와 다음 노드를 가리키는 포인터를 가집니다. 구조 : Node(data, next) 장점 : 구현이 간단하고, 적은 양의 메모리를 사용합니다. 단점 : 이전 노드로 바로 이동할 수 없어서 일부 작업(역방향 탐색)에서 비효율적입니다. 예시 : 다음 코드는 add 기능만.. ComputerScience/선형 자료 구조 2023. 11. 24. 시간 복잡도와 공간 복잡도 ✏️ 시간 복잡도 시간 복잡도는 어떤 알고리즘이 문제를 해결하는 데 소요되는 시간이 입력의 크기에 따라 어떻게 변하는지를 나타냅니다. 이는 일반적으로 최악의 경우(worst-case)를 기준으로 측정되며, 때로는 평균적인 경우(average-case)나 최선의 경우(best-case)도 고려됩니다. 빅오(Big-O) 표기법이은 알고리즘의 성능을 최악의 상황에서 분석하기 위해 사용되는 표현 방법입니다. 예를 들어, O(n)은 알고리즘이 입력 데이터의 크기(n)와 비례하여 시간이 증가한다는 것을 의미합니다. 추가적인 표기법으로 빅오메가(Ω) 표기법과 빅세타(Θ) 표기법이 있으며 각 표기법의 역할은 다음과 같습니다. 빅오메가(Ω) 표기법 - 알고리즘의 최선 성능을 나타냅니다. 예를 들어, Ω(n)은 알고리즘이.. ComputerScience/복잡도 2023. 11. 24. 이전 1 2 3 4 ··· 9 다음