Quantcast
Channel: Kwang Yul Seo
Browsing all 28 articles
Browse latest View live

Image may be NSFW.
Clik here to view.

Setting a TypeScript Compiler Project

TypeScript is not just a standalone compiler. It provides the Compiler API and the Language Service API so that you can create your own TypeScript tools leveraging all the powerful features of...

View Article



Image may be NSFW.
Clik here to view.

TypeScript Type System: Interface Types

In JavaScript, it is common to add more members to existing objects by monkey patching. For example, jQuery UI provides its API by adding a bunch of members to the jQuery object provided by jQuery....

View Article

Image may be NSFW.
Clik here to view.

TypeScript Function Overloads

In TypeScript, you can declare an overloaded function by declaring the function with a multiple invocation signatures. interface Foo { bar: { (s: string): number; (n: number): string; } } or interface...

View Article

Image may be NSFW.
Clik here to view.

TypeScript: More on Union Types

In the previous article, I explained the basics of union types in TypeScript. Though union types resemble sum types of algebraic data types, they are different types. (Confusingly, sum types are...

View Article

Image may be NSFW.
Clik here to view.

Thoughts on Intersection Types

Facebook’s Flow is a static type checker, designed to find type errors in JavaScript programs. Flow’s type system is similar to that of TypeScript in that it is a gradual type system and relies heavily...

View Article


Image may be NSFW.
Clik here to view.

TypeScript: Best Common Type

TypeScript tries to find the best common type when a type inference is made from several expressions. Let’s experiment a bit with following types. Square is a subtype of Shape and Circle is also a...

View Article

Image may be NSFW.
Clik here to view.

Total Functional Programming

This is my summary of D.A. Turner’s Total Functional Programming paper. 1. Introduction The author suggests a simple discipline of total functional programming designed to exclude the possibility of...

View Article

Image may be NSFW.
Clik here to view.

Summary of Philip Walder’s “Proofs are Programs”

This is my short summary of Philip Wadler’s “Proofs are Programs: 19th Century Logic and 21st Century Computing“. Proofs and programs are the same thing. But it took a century of efforts to recognise...

View Article


Image may be NSFW.
Clik here to view.

The origin of notation λ in lambda calculus

Here is an extract from the impact of lambda calculus in logic and computer science. In Russel and Whitehead's [1910-13] Principia Mathematica the notation for function f with f(x) = 2x + 1 is 2x̂ + 1....

View Article


Image may be NSFW.
Clik here to view.

Encoding algebraic data type in JavaScript

JavaScript lacks algebraic data type, but we can emulate it because JavaScript has first-class functions. Here’s a simple Haskell program declaring Tree data type with Bud, Leaf and Tree data...

View Article

Image may be NSFW.
Clik here to view.

Blog moved

My new blog is here.  

View Article

해시 충돌

비트코인을 비롯한 거의 모든 블록체인 시스템은 해시 함수의 collision을 찾기가 어렵다는 사실을 전제하고 있습니다. 비트코인은 SHA256, 이더리움은 Keccak 해시 함수를 사용하고 있는데, 만약 이들 해시 함수에 collision이 발견되면 비트코인이나 이더리움의 안정성을 담보할 수 없게 됩니다. 비트코인 스크립트 언어를 이용하면 hash...

View Article

BFT 합의 알고리즘

Tendermint, Casper the Finality Gadget, BFT+dPoS 등 많은 합의 알고리즘이 BFT 기반의 합의 방식을 사용하고 있습니다. BFT는 분산 컴퓨팅 분야에서 많은 연구가 되었고 safety나 liveness를 수학적으로 보장할 수 있기 때문에, 앞으로 더 많은 합의 알고리즘이 BFT를 차용하여 성능이나 확인 시간을 개선하는...

View Article


아이콘의 비상식적인 행보

ICON은 작년 성공적인  ICO를 밑거름으로 고속 성장하고 있는 유명한 블록체인 프로젝트이다. 이더리움과 마찬가지로 스마트 컨트랙을 통해 다양한 DApp을 서비스할 수 있는 체인이며, 서로 다른 여러 체인을 연동하는 인터체인 프로젝트이기도 하다. 자타가 공인하는 국내 최고의 블록체인 기술 기업이지만, 마케팅과 사업 제휴 능력에 비해 의외로 기술력을 보여준...

View Article

Schnorr 서명

비트코인, 이더리움 모두 서명 알고리즘으로 ECDSA(Elliptic Curve Digital Signature Algorithm)을 사용하고 있다.  ECDSA는 전통적인 DSA에 비해 키/서명 크기가 작기 때문에 많은 블록체인에서 서명 알고리즘으로 채택하고 있다. 하지만 최근 비트코인은  ECDSA를 Schnorr 서명으로 대체하려는 논의를 진행 중이다....

View Article


블록체인 기술에 대한 오해: 작업 증명과 보상

비트코인, 이더리움이 PoW (작업 증명) 방식으로 블록을 생성하고 블록 생성 보상을 준다는 사실은 널리 알려져있다.  그럼 네트워크 참여자가 네트워크에 도움이 되는 행위를 하면 네트워크에서 발행한 토큰으로 보상해 준다는 아이디어도 가능하지 않을까? 생각보다 쉽지 않다. 우선 아무 작업이나 작업 증명에 사용할 수 있는 게 아니다. 비트코인의 경우 SHA256...

View Article

Image may be NSFW.
Clik here to view.

코드체인 데브 미팅 후기

어제 세 번째 코드체인 데브 미팅이 있었다. 코드체인 데브 미팅은 일주일에 한 번 오픈소스 코드체인 프로젝트에 기여하는 개발자들이 모여 개발 논의, 코드 리뷰, 기술 발표 등을 진행하는 정례 행사이다. 이번 미팅에는 코드체인팀 8명, 외부 기여자 4명 총 12명이 참석하였다. 오늘 처음 참석한 SKT  송지영님이 간단히 소개를 하고, 곧 바로 기술 발표를...

View Article


블록체인 합의 알고리즘의 correctness

블록체인 기술의 핵심이 합의 알고리즘이다 보니 전산 전공자가 아닌 분들도 PoW나 PoS, BFT 같은 합의 알고리즘에 대해 엔지니어들 못지 않은 지식을 자랑하는 걸 많이 볼 수 있습니다. 그리고 신규 블록체인 플랫폼이 저마다의 합의 알고리즘을 하나씩 내놓으면서 유행처럼 많은 합의 알고리즘을 쏟아져 나오고 있습니다. 여러 대의 노드가 트랜잭션의 내용과 순서를...

View Article

코드체인의 합의 알고리즘들

어떤 합의 알고리즘이 가장 좋은 합의 알고리즘일까? PoW(Proof of Work)? PoS(Proof of Stake)? PoA(Proof of Authority)? 사실 정답은 없다. 성능, 보안성, 분산화의 정도 등 여러 면에서 장단점이 있기 때문에 특정 합의 알고리즘이 가장 좋다고 이야기하기는 어렵다. 블록체인 네트워크를 구축할 때는 네트워크의...

View Article

코드체인 도구 지원

새로운 블록체인을 만들겠다는 팀이 무척 많다. 이더리움 기반 ERC-20 토큰으로 ICO를 한 팀들도 상당수는 이더리움을 쓰지 않고 자체 체인을 만들어 쓰겠다고 계획을 가지고 있다. 확장성(scalability)를 개선하기 위한 노력에도 불구하고 아직 이더리움의 성능이 충분히 나오지 않고 DApp에 특성에 따라 기존 블록체인 플랫폼이 제공하지 않는 추가...

View Article
Browsing all 28 articles
Browse latest View live




Latest Images