無知

갈 길이 먼 공부 일기

분류 전체보기 123

스마트 컨트랙트 (6) | 보안 : 해킹 및 버그 사례

해킹 및 버그 사례 해당 내용은, 블록체인 및 스마트 컨트랙트 분야에서 코드 및 시스템의 안정성과 보안, 호환성 등의 문제가 얼마나 중요한 사안인지를 체감할 수 있는 현실 사례들의 모음이라고 보면 된다. As many supporters argue, bugs are to be expected on any new platform. However, in ethereum, code issues have proven uniquely hazardous, since its smart contracts are supposed to be 'immutable' (that is, they can't be changed after the fact), including any and all errors. The most no..

스마트 컨트랙트 (5-7) | Solidity(솔리디티) 라이브러리, Libraries

1. Libraries - 솔리디티에서 라이브러리는 한번 설치되어 여러 다른 contract들에 의해서 사용. - 따라서, 동일한 코드가 반복해서 이더리움 네트워크에 설치되는 것을 방지. - 라이브러리 함수는 contract 메소드 호출과 유사하다 - 라이브러리는 자신의 storage를 갖지 못한다 - 라이브러리는 이더를 소유할 수 없다 - 라이브러리는 state variable을 가질 수 없다 - 라이브러리는 상속 관계에 있을 수 없다 - 라이브러리는 fallback 함수를 가질 수 없다 - 라이브러리는 payable 함수를 가질 수 없다 pragma solidity >=0.4.0 =0.6.0 bool) flags; } library Set { // Note that the first parameter..

스마트 컨트랙트 (5-6) | Solidity(솔리디티) Error Handling

Error handling require revert assert Use when control flow is simple control flow is complicated control flow is simple Check Pre-condition Pre-condition Post-condition Returns Gas Unused Return Return Does not Return - 솔리디티에서는 exception 발생 시 현재까지의 모든 transaction이 중단되고 transaction 이전 상태로 돌아간다. exception을 발생시키기 위한 함수 1. require 주어진 조건을 검사해서 이를 만족시키지 못하면 exception을 발생시킨다. 남은 gas는 반환된다. // require(..

스마트 컨트랙트 (5-5) | Solidity(솔리디티) Contracts, Inheritance, Interface

1. Contract Contracts can be created “from outside” via Ethereum transactions or from within Solidity contracts. IDEs, such as Remix, make the creation process seamless using UI elements. One way to create contracts programmatically on Ethereum is via the JavaScript API web3.js. It has a function called web3.eth.Contract to facilitate contract creation. When a contract is created, its constructo..

스마트 컨트랙트 (5-3) | Solidity(솔리디티) Units and Globally Available Variables

1. Units 솔리디티에서는 시간이나 이더의 단위를 나타내는 unit을 지원한다. (1) Ether Ether Units: A literal number can take a suffix of wei, gwei or ether to specify a subdenomination of Ether, where Ether numbers without a postfix are assumed to be Wei. assert(1 wei == 1); assert(1 gwei == 1e9); assert(1 ether == 1e18);​ https://docs.soliditylang.org/en/v0.8.13/units-and-global-variables.html 이더의 단위를 표현할 수 있어서 내부적으로 이를 왼쪽..

위험한 적자 (3) | 쿠팡, 노동집약적 물류사업의 한계

[위험한 적자 시리즈] 우리나라 스타트업 대표자격인 3가지 기업, 쿠팡, 컬리, 우아한형제들에 대한 수익성 악화 우려가 나오고 있는 상황에서, 우려의 원인은 무엇인지, 이를 타개할 가능성이 어느 정도인지 살펴보는 아티클이다. 기업과 시장을 공부해보기 위해 자료를 모은 자료집 성격에 가깝다. 쿠팡, 높은 고용효과의 그림자는 수동 물류 인프라 [Moozii Opinion Summary] 쿠팡의 높은 고용은, 뛰어난 성장세에 기반한다고 생각했지, "왜 Scalable한 IT 업체가 그리 많은 고용인원이 필요한가"에 대해 깊이 고민해본 적은 없는 것 같다. 그래서 이번 기회에 확인한 결과, 쿠팡의 사업 핵심인 물류센터의 구조와 국내 여건 상 아마존과 같은 완벽한 물류 자동화가 어렵고, 노동집약적인 성장이 쿠팡이..

위험한 적자 (2) | 마켓컬리, 본질적인 고비용 구조

[위험한 적자 시리즈] 우리나라 스타트업 대표자격인 3가지 기업, 쿠팡, 컬리, 우아한형제들에 대한 수익성 악화 우려가 나오고 있는 상황에서, 우려의 원인은 무엇인지, 이를 타개할 가능성이 어느 정도인지 살펴보는 아티클이다. 기업과 시장을 공부해보기 위해 자료를 모은 자료집 성격에 가깝다. 컬리, 직배송 + 신선식품 + 새벽배송의 비용 구조 한계 [Moozii Opinion Summary] 마켓컬리의 핵심 사업인 신선식품과, 차별화전략이자 시장 진입 전략으로 작용했던 새벽 배송의 본질적인 고비용 구조가 적자로 현실화되고 있다. 마켓컬리는 공헌이익은 흑자라며 수익성 논란을 불식시키고자 노력하지만, 공헌이익 흑자는 물류 인프라 등의 투자를 회수하기 시작했다는 의미일뿐 진정한 흑자 기업, 수익기업으로 거듭나기..

위험한 적자 (1) | 배달의민족, 단건 배달로 외주용역비 증가

[위험한 적자 시리즈] 우리나라 스타트업 대표자격인 3가지 기업, 쿠팡, 컬리, 우아한형제들에 대한 수익성 악화 우려가 나오고 있는 상황에서, 우려의 원인은 무엇인지, 이를 타개할 가능성이 어느 정도인지 살펴보는 아티클이다. 기업과 시장을 공부해보기 위해 자료를 모은 자료집 성격에 가깝다. 배민, 소비자 불만에도 늘어나는 적자... 배달 호황의 실체는 [Moozii Opinion Summary] 배달의민족 운영사 우아한형제들은 적자 폭이 늘고 있는데, 그 핵심은 배달 시장의 경쟁 양상에서 나타난 단건 배달 싸움으로 늘어난 배달 비용 때문이다. 이를 위해 배달대행 자회사 우아한청년들을 운영 중인데, 사용하는 외주용역비만 수천억 규모다. 아마 단건배달 비용 현실화와 더불어 포스트-팬데믹으로의 전환을 통해 배..

스마트 컨트랙트 (5-2) | Solidity(솔리디티) State Variable, Type

3. Contents 3-1. Contract 3-1-1. Variable 3-1-1-1. State Variable State Variable은 EVM 내 스토리지에 저장된다. 메모리에 저장되는 임시 값들과 반대된다. 스토리지는 컨트랙트의 모든 함수가 접근할 수 있다. 즉, EVM의 storage 영역은 contract 내의 모든 function 이 접근할 수 있으며 function이 변경한 값은 계속해서 저장되어 다음 번 function에서 저장된 값을 사용할 수 있다. 컨트랙트의 함수 바깥에서 선언되었다. State Variables State variables are variables whose values are permanently stored in contract storage. See th..

스마트 컨트랙트 (5-1) | Solidity(솔리디티) 레이아웃

1. Solidity Language 1-1. 특성 - 절차적 언어 ( VS 함수형 언어) - 정적 타입 언어 (컴파일 시 타입 결정. 오류 시 컴파일 에러) - 변수 이름의 대소문자 구분 - 객체 지향 언어 - 확장자 : sol 2. LayOut 2-1. pragma 파일 최상단에 위치, 컴파일러의 특정 기능을 활성화하는 데에 사용 Pragmas The pragma keyword is used to enable certain compiler features or checks. A pragma directive is always local to a source file, so you have to add the pragma to all your files if you want to enable it in..

쿠버네티스 (18) | CRD, 서비스 카탈로그, 오픈시프트, Helm

앞으로의 스터디 내용은 을 기반으로 진행합니다. 자세한 내용은, 해당 책을 확인해주세요! http://www.yes24.com/Product/Goods/89607047 1. 사용자 정의 API 오브젝트 1.1 CustomResourceDefinition 1.2. 사용자 정의 컨트롤러 1.3. 사용자 정의 오브젝트 유효성 검증 1.4. 사용자 정의 API 서버 2. 서비스 카탈로그를 통한 셀프 서비스 2.1. 서비스 카탈로그 소개 2.2 서비스 카탈로그 API 서버 및 컨트롤러 매니저 2.3. ServiceBroker와 OpenServiceBroker API 2.4. 프로비저닝과 서비스 사용 2.5. 바인딩 해제와 프로비저닝 해제 3. 쿠버네티스 기반 플랫폼 3.1. 레드햇 오픈시프트 컨테이너 플랫폼 3...