タグ

2017年5月29日のブックマーク (13件)

  • Slackのチャンネルのメンバーからランダムで一人選ぶBotを作る - dackdive's blog

    タイトルの通り。 GitHub の PR のレビュアーを、開発チームの特定のメンバー数名から一人指名したい 開発チームの一部のメンバーで持ち回りでやらないといけないタスクがあって、毎回誰がやるか決めるのめんどい といったことがあって、せっかくなので bot に決めてもらえないかなあという気分になりました。 「どの人たちから選ぶか」は目的によってまちまちなので、それなら Slack のチャンネルのメンバーから選ぶようにすれば汎用性が高いんじゃないかと思って作ってみました。 コード 先にコードから。 なお、フレームワークとして Hubot を使ってますが、CoffeeScript を書くのが嫌だったので ES2015 で書いてます。 そのあたりの設定の話はこちらを参考にしてください。 dackdive.hateblo.jp import request from 'request'; modu

    Slackのチャンネルのメンバーからランダムで一人選ぶBotを作る - dackdive's blog
    michael26
    michael26 2017/05/29
  • 60fps on the mobile web — Flipboard Engineering

    Flipboard launched during the dawn of the smartphone and tablet as a mobile-first experience, allowing us to rethink content layout principles from the web for a more elegant user experience on a variety of touchscreen form factors. Now we’re coming full circle and bringing Flipboard to the web. Much of what we do at Flipboard has value independent of what device it’s consumed on: curating the bes

    michael26
    michael26 2017/05/29
  • Qiita ユーザー向けの Mastodon インスタンス Qiitadon を試験的に公開しました - Qiita Blog

    こんにちは。 tomoasleep です。新卒最初の仕事はハイラル王国に平和をもたらすことでした。 Qiitaユーザー向けの Mastodon インスタンス Qiitadon を https://qiitadon.com/ にて試験的に公開しました。 Qiitadon についてQiitadon では、技術に関する話題はもちろん、それ以外のことも投稿していただけます。 また、Qiitadon には Mastodon の機能に加え、以下の2つの機能を用意しています。 Qiita アカウント連携コードブロック記法とハイライト機能 Qiita アカウント連携Qiitadon は Qiita OAuth を使って簡単に新規登録、ログインができます。 現在は負荷対策のため、新規登録は Qiita アカウント連携のみとさせていただきます。 ちなみに画面左のキャラクターは Qiitan といいます。 In

    Qiita ユーザー向けの Mastodon インスタンス Qiitadon を試験的に公開しました - Qiita Blog
    michael26
    michael26 2017/05/29
  • Mozillaが反ChromeのスタンスでFirefoxのマーケティングキャンペーンを展開へ - Mozilla Flux

    新キャンペーンの開始 Mozillaは、米国時間の2017年5月24日、"browse against the machine"と銘打ったFirefoxのマーケティングキャンペーンを開始した。Mozilla Corp.でDirector of Product Marketing, Firefoxを務めるEric Petitt氏が"Browse Against the Machine"というブログ記事で明らかにしたところによれば、このキャンペーンは、明確に反Chromeのスタンスを採用する。 キャンペーンの名称は、Rage Against the Machineというアメリカのロックバンドの名前をもじったもののようだが、最近のGoogle機械学習に力を入れていることを踏まえているとみられる。ここでいう"the machine"はChrome=Googleの象徴であり、ユーザーを呑み込もうと

    Mozillaが反ChromeのスタンスでFirefoxのマーケティングキャンペーンを展開へ - Mozilla Flux
    michael26
    michael26 2017/05/29
  • サービスか受託か。Webサービスを作るということ | F's Garage

    先日、某SIコンサル社にいる方が、まだ転職を悩んでるという前提でのカジュアル面談に臨んだ。その人の転職理由というのは、僕が受託の会社から転職した時に言っていたこととそのままだったので、是非、面接に進んで欲しいと思った。 その一方で、受託からWebサービスに来る人に、よく言うことして、 「受託からWebサービスに来ると、ファンタスティックな案件がなくなってつまらないかもしれないですよ」 と言う話をする。これはどういうことか?というと「技術的チャレンジ」を求めるならば、筋の良い受託の会社にいる方が楽しくて、Webサービスはコードを書いている瞬間から技術的なレガシーを産んでおり、先々に渡って最初の選択の影響を受けるので、あなたの技術力の定義が「話題の言語でコードを書けること」であるならば、Webサービスはあんまり勧めません、という話をする。 当時僕がいた会社は、技術の共通化がまだ進んでおらず自

    サービスか受託か。Webサービスを作るということ | F's Garage
    michael26
    michael26 2017/05/29
  • 「AlphaGo」という“神”の引退と、人類最強の19歳が見せた涙の意味:現地レポート

    michael26
    michael26 2017/05/29
  • 型システム入門 サポートページ

    TAPL 型システム入門 サポートページ Benjamin C. Pierce 著 住井英二郎 監訳 遠藤侑介・酒井政裕・今井敬吾・黒木裕介・今井宜洋・才川隆文・今井健男 共訳 ISBN 978-4-274-06911-6 Benjamin C. Pierce "Types and Programming Languages" の日語版サポートサイトです。 ご質問・議論 書籍『型システム入門』(TAPL日語版)の技術的内容や、型システム全般に関する、日語での質問と議論は GitHub issues にお願いします(2023年9月以前の議論は Google グループ "taplkatasystem" を参照)。 正誤表 第1刷(第2刷で修正済) 定理15.3.5 の証明(p. 148)の「T-Subの場合」における結論の「Γ ⊢ t : T」は、正しくは「Γ ⊢ t' : T」です(原

    michael26
    michael26 2017/05/29
  • 書評「型システム入門」 - あどけない話

    端的に説明するなら「正しく型付けされた項はおかしくなることがない」ことを学ぶための壮大な。型に関する圧倒的な知識を持ち、説明がうまく、根気づよい人にのみ記すことができた英語の良書が、型システムを愛する訳者と監訳者、および(書中に名前が出てくる方も含む)豪華なレビュアの情熱によって翻訳された記念すべき書籍。税抜きで6,800円と高いが、それ以上の価値があるである。 型システム入門 −プログラミング言語と型の理論− 作者: Benjamin C. Pierce,住井英二郎,遠藤侑介,酒井政裕,今井敬吾,黒木裕介,今井宜洋,才川隆文,今井健男出版社/メーカー: オーム社発売日: 2013/03/26メディア: 単行(ソフトカバー) クリック: 68回この商品を含むブログ (11件) を見る 動的言語のプログラマと静的型付き言語のプログラマの間で、型についての議論が定期的に沸き上がる。今後、

    書評「型システム入門」 - あどけない話
    michael26
    michael26 2017/05/29
  • プログラミング言語Scala 日本語情報サイト - 第 16 章 Hindley/Milner 型推論

    この章では、Hindely/Milner スタイル[Mil78] の型推論システムの開発を通して、Scala のデータ型とパターンマッチングを見てみます。型推論器の対象言語は、mini-ML と呼ばれる let 構成子を持つ λ計算です。mini-ML の抽象構文木は、次のデータ型 Term によって表現されます。 abstract class Term {} case class Var(x: String) extends Term { override def toString = x } case class Lam(x: String, e: Term) extends Term { override def toString = "(\\" + x + "." + e + ")" } case class App(f: Term, e: Term) extends Term {

    michael26
    michael26 2017/05/29
  • Hindley-Milner型推論アルゴリズムをF#で書いてみた - pocarist’s blog

    この記事は F# Advent Calendar 2014の21日目の記事です。昨日はc0hamaさんの「Linux で F# を始める」でした。 いきなり弁解から入りますが、この記事は「Hindley-Milner型推論アルゴリズムをGroovyで書いてみた」というid:uehajさんの記事を単にF#で写経しました。という話をします。 動機 そもそもなんでそんなことをしようと思ったのか、 今年のICFPC2014でSECDマシン用のコンパイラを作る課題が出てmini-ML文法の独自DSLを作る。 その言語がMLっぽい文法のくせに型検査がなくて開発効率が悪かった。 よし、型検査を入れよう。ついでに型推論も入れよう。 ネットで調べると日語のコメント付きですげーわかりやすいブログ発見。 →とりあえず、すぐに試せるF#で書き写してみよう。 という感じで作業していたら、テストが通るようになったの

    Hindley-Milner型推論アルゴリズムをF#で書いてみた - pocarist’s blog
    michael26
    michael26 2017/05/29
  • Hindley-Milner型推論アルゴリズムをGroovyで書いてみた - uehaj's blog

    こないだ「Haskellのforallについて理解したことを書いておく(ランクN多相限定)」の記事を書いたときにHindley-Milner型推論アルゴリズム*1を調査するにあたって、こちらにある「Scala by Example」の16章にあるScalaでの実装例をGroovyに書きなおしたので晒しておきます。 以下のような型検査・推論ができます。実行はできません。 def listLenTest = LetRec('len', Lam('xs', App(App(App(Var('if'), App(Var('isEmpty'), Var('xs'))), Var('zero')), App(Var('succ'), App(Var('len'), App(Var('tail'), Var('xs')))) )), App(Var('len'), App( App(Var('cons'

    Hindley-Milner型推論アルゴリズムをGroovyで書いてみた - uehaj's blog
    michael26
    michael26 2017/05/29
  • Haskell厨を6年やってる俺がOCamlを仕事で2ヶ月使ってみた - keigoiの日記

    Haskell Advent Calendar jp 2010のためのエントリです(17日目). 6日目の id:camlspotterさんの 経験15年のOCaml ユーザーが Haskell を仕事で半年使ってみた に対するカウンター(になってるかどうか分からないですが)みたいな感じです. 近くて遠い隣人:HaskellとOCaml OCamlはHaskellと違って副作用があり,更にHM型推論をもつためプログラマは質的な部分の記述に注力しつつ,コードのチューニングもできる. つまり働くHaskellプログラマがシリアスなソフトウェアを書く時に使えるほとんど唯一の選択肢だ.しかし,同じ静的型付けの関数型言語でありながら,OCamlとHaskellの見た目はかなり異なる. この記事では, HaskellプログラマがOCamlを使い始めると,どういうトラップにハマるかを書く. なかでも,

    Haskell厨を6年やってる俺がOCamlを仕事で2ヶ月使ってみた - keigoiの日記
    michael26
    michael26 2017/05/29
  • Rails(ActiveRecord)でN:Nの自己結合を実装する - Qiita

    Twitterみたいなユーザ同士をフォローする仕組みを実装するにあたり、ActiveRecordでN:Nの自己結合を実装するのにちょっとハマったので書いておきます。 前提 usersテーブルがある User同士のフォロー関係を登録するfollowsテーブルがある 具体的なmigrationは以下。 class CreateUsers < ActiveRecord::Migration def change create_table :users do |t| t.string :name, null: false t.string :email # : # : t.timestamps end end end

    Rails(ActiveRecord)でN:Nの自己結合を実装する - Qiita
    michael26
    michael26 2017/05/29