Skip to content

Instantly share code, notes, and snippets.

🏠
Working from home

Taiju Muto tai2

View GitHub Profile
View word_count.go
import "strings"
func WordCount(s string) map[string]int {
counts := make(map[string]int)
words := strings.Fields(s)
for _, word := range words {
count, ok := counts[word]
if ok {
counts[word] = count + 1
} else {
@tai2
tai2 / errorLoggerMiddleware.ts
Created Apr 4, 2019
Dump stack trace to console when FSA contains an error.
View errorLoggerMiddleware.ts
import { Dispatch } from 'redux'
type ErrorAction = { payload: Error }
function isErrorAction(action: any): action is ErrorAction {
return (<ErrorAction>action).payload instanceof Error
}
const errorLoggerMiddleware = (store: any) => (next: Dispatch) => (
action: any
View me_and_python.md

2002: 出会い

エリック・レイモンドのハッカーになろうに感化されて、Pythonを使いはじめる。シンプルな構文やスライスの多機能さなどに魅了される。

2005: 遺伝的アルゴリズムによるSameGameソルバー(趣味)

大学で受講していた遺伝的アルゴリズムの講義で要求された自由課題として、Pygameを使ってSameGameを実装した上で、そのソルバーもPythonで実装した。評価関数の設計が良くなかったのか、スコアはあまり伸びなかった(ソースコード消失)。

2006: RSA公開鍵の実装(趣味)

View getVideoDuration.ts
export default function getVideoDuration(src: string): Promise<number> {
return new Promise((resolve, reject) => {
const video = document.createElement('video')
video.src = src
video.addEventListener('loadedmetadata', () => {
resolve(video.duration)
})
video.addEventListener('error', error => {
reject(error)
})
@tai2
tai2 / the_origin_of_sniper.txt
Last active Jan 12, 2019
スナイパーの由来
View the_origin_of_sniper.txt
シェアハウスの住人が、そのとき着ていたミリタリージャケットを「殺し屋っぽい」と評したから
----
スナイパー空手の師範代だから
----
小便器で用を足すときに、一歩下がって、さながら長距離狙撃の如く用を足しても、一滴も零さずに用を足し終えられるから
@tai2
tai2 / custom_error.js
Created Dec 19, 2018
custom error detection
View custom_error.js
class CustomError extends Error {
constructor(...args) {
super(...args)
this.name = 'CustomError'
}
}
const e1 = new CustomError('a custom error')
const e2 = new Error('a standard error')
View atlaskit-layout.js
import React from 'react';
import { LayoutManager, NavigationProvider } from '../../../src';
export default () => (
<NavigationProvider>
<LayoutManager
globalNavigation={() => null}
productNavigation={() => null}
containerNavigation={() => null}
>
View vmmap_chrome.txt
Process: Google Chrome [620]
Path: /Applications/Google Chrome.app/Contents/MacOS/Google Chrome
Load Address: 0x10730a000
Identifier: com.google.Chrome
Version: 70.0.3538.110 (3538.110)
Code Type: X86-64
Parent Process: ??? [1]
Date/Time: 2018-12-13 14:10:08.800 +0900
Launch Time: 2018-12-05 10:32:02.894 +0900
@tai2
tai2 / omakase_vs_alacarte.md
Last active Dec 8, 2018
おまかせ vs アラカルト(Railsdm 2018 Day 4) 付録
View omakase_vs_alacarte.md
@tai2
tai2 / webmails.md
Created Nov 28, 2018
Web mail service comparison
View webmails.md
You can’t perform that action at this time.