Skip to content

Instantly share code, notes, and snippets.

Choi Geonu Hardtack

Block or report user

Report or block Hardtack

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
View gist:7fd7264f578e95d43baf07c91a3f9762
pragma solidity ^0.4.24;
* @title ERC20Basic
* @dev Simpler version of ERC20 interface
* See
contract ERC20Basic {
function totalSupply() public view returns (uint256);

Keybase proof

I hereby claim:

  • I am hardtack on github.
  • I am hardtack ( on keybase.
  • I have a public key ASCaFLZ-FdfnDWiw2auJLTmaXKLlJqeTXYualTQkg9xVGQo

To claim this, I am signing this object:

Hardtack /
Last active Aug 1, 2019
순수 함수형 상태 전이와 Functional Reactive 프로그래밍을 이용한 Reactive Model View Controller 설계 패턴 (1)

순수 함수형 상태 전이와 Functional Reactive 프로그래밍을 이용한 Reactive Model View Controller 설계 패턴 (1)

최근 많은 프로그래밍 언어에서는 함수형 프로그래밍을 지원하기 위한 다양한 도구들을 제공하고 있습니다. 그중 Swift는 최신 트렌드가 많이 반영된 언어로써, 스몰토크형 객체지향 프로그래밍과 함수형 프로그래밍을 함께 지원함으로써 개발자들에게 함수형 프로그래밍에 대한 접근성을 증가시켰습니다.

그리고 Reactive 프로그래밍이 조명을 받기 시작하며, Reactive Extension과 같은 훌륭한 리액티브 프로그래밍을 위한 도구를 제공하고 있습니다. Reactive Extension은 Reactive 프로그래밍을 지향하고 있으며, 이를 기반으로 Functional Reactive 프로그래밍을 실현할 수 있습니다. 또한, 다양한 언어에 포팅이 되어있어 서로 다른 언어에서 일괄적인 패턴을 적용할 수 있습니다.

이 글에선 순수 함수적 상태 전이에 대해 간단하게 알아보고, 이를 기반으로 Functional Reactive 프로그래밍이 지향하는바와, 이러한 기법들의 장점을 극대화 할 수 있는 설계에 대한 기본 원칙, 그리고 그에 따른 설계의 예를 다룰 것 입니다.

Hardtack / .babelrc
Created Jan 31, 2017
Alert on click elements in drawer
View .babelrc
"presets": [
Hardtack /
Created Jan 23, 2016
Marshmallow JSON Schema for Formencode schema
import datetime
import decimal
import uuid
from marshmallow import Schema, fields
from formencode import validators as v
from formencode.api import Validator as FormencodeValidator, NoDefault
from formencode.schema import Schema as FormencodeSchema
# From
def issublist(sublist, superlist):
if not sublist:
return True
idx = 0
first = sublist[0]
cnt = len(sublist)
while True:
idx = superlist[idx + 1:].index(first) + idx + 1
import os
import random
with open('people.txt') as f:
s =
li = s.split('\n')
s = random.choice(li)
Hardtack /
Created Apr 14, 2014
crontab-like python scheduler
""":mod:`crontab` --- Quick-and-dirty linux crontab-like event scheduler.
You can schedule tasks like this::
import datetime
import crontab
def o_clock():
import code
from myapp import app
env = {
'app': app,
with app.app_context():
Hardtack / NSDate+HTFormat.h
Created Dec 8, 2013
Descriptive interval string
View NSDate+HTFormat.h
// NSDate+HTFormat.h
// Created by 최건우 on 13. 7. 1..
// Copyright (c) 2013년 Hardtack. All rights reserved.
#import <Foundation/Foundation.h>
@interface NSDate (HTFormat)
You can’t perform that action at this time.