Skip to content

Instantly share code, notes, and snippets.

💭
I may be slow to respond.

Kuniwak Kuniwak

💭
I may be slow to respond.
View GitHub Profile
View 絶望しかない.java
Set<String> keys = map.keySet();
for (String key : keys) {
//some condes
}
//↑が↓になった
Set<String> keys = map.keySet();
String[] keyarray = keys.toString().split(",");
for(int i=0; i<keyarray.length; i++){
@taiki45
taiki45 / fizzubzz.hs
Created Dec 17, 2013
http://bugrammer.hateblo.jp/entry/2013/12/15/220418 を読んで、こう書けばモーナド♡って気持ち、表現できたのではとおもってみたりでし
View fizzubzz.hs
fizz x = if x `mod` 3 == 0 then Left "fizz" else Right x
buzz x = if x `mod` 5 == 0 then Left "buzz" else Right x
fizzbuzz x = if x `mod` 15 == 0 then Left "fizzbuzz" else Right x
number x = Left $ show x
doFizzBuzz x = either id id $ fizzbuzz x >>= buzz >>= fizz >>= number
main = foldr1 (>>) $ fmap putStrLn (fmap doFizzBuzz [1..])
@nulltask
nulltask / 20140826.md
Last active Jul 6, 2020
Express / Socket.IO をスケールアウトしてみよう
View 20140826.md
@susisu
susisu / functional_js_tsurai.md
Last active Mar 3, 2019
関数型 JavaScript がつらい
View functional_js_tsurai.md

関数型 JavaScript がつらい

明けましておめでとうございます. @susisu2413 です.

この記事は OUCC アドベントカレンダー 2014 21日目の記事です. 昨日は @spring_raining 氏による大学のグループ開発でgitを布教する方法でした.

JavaScript での関数型処理

盛んに「関数型で脱アルゴリズム」などと叫ばれる昨今ですが, その真偽はさておき, 処理の単位として関数を用いるのは処理の一般化や再利用をする場合に役に立つことが多いです (たぶん). 関数型っぽい処理としては, 生の JavaScript では Array のメソッドに map, filter, reduce などがあります

View ack-sed
#!/usr/bin/env ruby
if ARGV.size != 3
puts "usage: ack-sed <pattern> <replace-string> <dir>"
end
query, replace, dir = ARGV
system("ack #{query} #{dir} | cut -d':' -f1 | uniq | LANG=C xargs sed -i -e 's/#{query}/#{replace}/g'")
@sunaot
sunaot / writing_unit_test.md
Last active Mar 1, 2020
テストを書くか書かないかの判断の話
View writing_unit_test.md

ユニットテストでテストを書くか書かないかの判断の話

お題

メソッドの出力の結果が、true か false のどちらでも返ってくる可能性がある場合、assert 文を書く時は true の場合だけで良いのだろうか

テストとは

まず、基本の考えとしてなぜテストをするのか?というのがあります。

View return_if.rb
class Binding
def return_if(name)
eval "return #{name}" if local_variable_get(name)
end
end
def foo(v)
binding.return_if(:v)
'v is nil'
end
View tk0miya-sponsors-2020.md

(For English readers: please read https://github.com/sponsors/tk0miya instead)

@tk0miya の企業・個人スポンサーを募集します

@tkomiya は、日本在住の OSS 開発者です。
趣味として Sphinxpycmarkblockdiag などの OSS の開発やメンテナンスに携わっています。

ここ数年の活動の中心は Sphinx です。 Sphinx は PythonLinux カーネルをはじめとして、数多くの OSS のドキュメントに利用されているドキュメンテーションツールです。 Sphinx プロジェクトはごく少人数のメンテナによって活動しており、(明確な役割として定義はされていないものの) リードメンテナ、メインメンテナとして活動しています。

View OnePlusOneIsTwo.swift
class Number {}
class Zero : Number {}
class Succ<N:Number> : Number {}
typealias One = Succ<Zero>
typealias Two = Succ<Succ<Zero>>
typealias Three = Succ<Succ<Succ<Zero>>>
class Eq<S: Number, T: Number> {}
class Add<S: Number, T:Number> : Number {}
View value-witness-table.cpp
// swift/stdlib/public/runtime/Metadata.cpp をプリプロセッサのみ実行した結果から抜粋
struct ValueWitnessTable;
namespace value_witness_types {
typedef OpaqueValue * (*initializeBufferWithCopyOfBuffer) (ValueBuffer *, ValueBuffer *, const Metadata *);
typedef void (*destroy) (OpaqueValue *, const Metadata *);
typedef OpaqueValue * (*initializeWithCopy) (OpaqueValue *, OpaqueValue *, const Metadata *);
typedef OpaqueValue * (*assignWithCopy) (OpaqueValue *, OpaqueValue *, const Metadata *);
typedef OpaqueValue * (*initializeWithTake) (OpaqueValue *, OpaqueValue *, const Metadata *);
You can’t perform that action at this time.