Skip to content

Instantly share code, notes, and snippets.

View appetizermonster's full-sized avatar

Heejin Lee appetizermonster

  • Seoul, South Korea
View GitHub Profile
@appetizermonster
appetizermonster / json-parser.rb
Created December 26, 2017 08:51
SimpleJsonParser in Ruby
require 'strscan'
class SimpleJsonParser < StringScanner
WHITESPACE = /\s+/
SINGLE_LINE_COMMENT = /\/\/[^\n\r]*\s*/
NULL = /null/
NUMBER = /\-?\d+(\.\d+)?([eE][\+\-]?\d+)?/
NUMBER_START = /\-?\d/
@appetizermonster
appetizermonster / WebAssembly on EOS 번역.md
Created July 9, 2017 02:11
WebAssembly on EOS 번역

EOS에서의 Web Assembly - 초당 50,000회 전송

우리는 EOS용 컨트랙트 작성용으로 작으면서도 견고한 스크립트 언어를 사용하길 원했습니다. 첫 선택은 Wren(프로그래밍 언어)이었습니다. 몇 주 전, 저는 빈 컨트랙트를 이용해서 Wren의 성능을 테스트해봤습니다, 대략 초당 1000 트랜잭션 정도의 퍼포먼스를 보여주였으나, 우리의 목표를 달성하기에는 너무 느린 퍼포먼스였습니다.

그래서 지난 몇 주 동안, EOS 개발팀은 Wren을 버리고, 새롭게 Web Assembly를 차용했습니다. 그리고 오늘, 현재까지의 진행 상황과 성과에 대해서 알려드리고자 합니다.

Web Assembly에 대해서

Web Assembly는 Microsoft, Google, Apple의 지원을 받아 최근에 개발된 웹 표준 기술입니다. Web Assembly의 목표는 신뢰할 수 없는 고성능 코드(네이티브 수준의 코드)를 브라우저에서 실행할 수 있게 만드는 것입니다.

@appetizermonster
appetizermonster / steemit-helper.user.js
Last active November 21, 2019 09:38
steemit-helper.user.js
// ==UserScript==
// @name Steemit Helper
// @version 0.1.1
// @description Tag Autocompletion, more is coming.
// @author Heejin Lee <monster@teamappetizer.com>
// @updateURL https://gist.github.com/appetizermonster/0f95597f1ad71b1668bc44812502605c/raw/steemit-helper.user.js
// @downloadURL https://gist.github.com/appetizermonster/0f95597f1ad71b1668bc44812502605c/raw/steemit-helper.user.js
// @match https://steemit.com/*
// @include https://steemit.com/*/*
// @resource selectizeCss https://cdnjs.cloudflare.com/ajax/libs/selectize.js/0.12.4/css/selectize.min.css
@appetizermonster
appetizermonster / trello-with-magic.user.js
Last active May 31, 2017 00:34
A Tampermonkey Script, Trello with magic
// ==UserScript==
// @name Trello with magic
// @version 0.0.7
// @description Something magical for Trello
// @author Heejin Lee <monster@teamappetizer.com>
// @updateURL https://gist.github.com/appetizermonster/3cd46b2187e6fd344f75ae05c9d6f8b8/raw/trello-with-magic.user.js
// @downloadURL https://gist.github.com/appetizermonster/3cd46b2187e6fd344f75ae05c9d6f8b8/raw/trello-with-magic.user.js
// @include https://trello.com/*
// @include https://trello.com/b/*/*
// @include https://trello.com/c/*/*
@appetizermonster
appetizermonster / Bitbucket Wiki Viewer Extensions.user.js
Last active April 20, 2017 03:34
A Tampermonkey Script for Bitbucket Wiki Viewer Extensions
// ==UserScript==
// @name Bitbucket Wiki Viewer Extensions
// @namespace http://tampermonkey.net/
// @version 0.0.6
// @updateURL https://gist.github.com/appetizermonster/3967520e271a69138e367e6de16bdfd5/raw/Bitbucket%2520Wiki%2520Viewer%2520Extensions.user.js
// @downloadURL https://gist.github.com/appetizermonster/3967520e271a69138e367e6de16bdfd5/raw/Bitbucket%2520Wiki%2520Viewer%2520Extensions.user.js
// @description Bitbucket Wiki Viewer Extensions
// @author Heejin Lee
// @include https://bitbucket.org/*/wiki/*
// @exclude https://bitbucket.org/*/wiki/edit/*
@appetizermonster
appetizermonster / Bitbucket Wiki Editor Extensions.user.js
Last active April 20, 2017 03:34
A Tampermonkey Script for Bitbucket Wiki Editor Extensions
// ==UserScript==
// @name Bitbucket Wiki Editor Extensions
// @namespace http://tampermonkey.net/
// @version 0.0.3
// @downloadURL https://gist.github.com/appetizermonster/392d00ad336870896507d7aec1ea5a23/raw/Bitbucket%2520Wiki%2520Editor%2520Extensions.user.js
// @updateURL https://gist.github.com/appetizermonster/392d00ad336870896507d7aec1ea5a23/raw/Bitbucket%2520Wiki%2520Editor%2520Extensions.user.js
// @description Bitbucket Wiki Editor Extensions
// @author Heejin Lee
// @include https://bitbucket.org/*/wiki/edit/*
// @include https://bitbucket.org/*/wiki/create
@appetizermonster
appetizermonster / MergeSort.cs
Last active January 21, 2021 12:52
MergeSort for C# (Optimized for Unity3D)
using System;
using System.Collections.Generic;
internal static class MergeSort<T> {
public static void Sort (List<T> list, Comparison<T> comparison) {
if (list.Count <= 1)
return;
var mid = list.Count / 2;