タグ

2017年12月2日のブックマーク (22件)

  • 今度こそ絶対あなたに理解させるPaxos - Qiita

    Paxosとは何か 分散システムの金字塔とも呼ばれ、Leslie Lamport大先生の輝かしい成果の一つとして知られる分散合意アルゴリズムPaxos。 既存の解説 実はすでに存在するPaxosの解説は充分に質が高い Wikipediaの項目にも結構長々と書かれていて、これを読んで理解できた人はもう僕の記事を読む必要はない。 同様にPFIの久保田さんによる解説スライドもあり、これも良く書けているし、これを読んで理解できた人もこれ以上記事を読む必要はない。 minghai氏によるブログ記事のこれとか特にこっちなんかはかなり納得感があり、これらを読んで理解できた人も(中略) tyonekura氏によるスライドも良くかけていて(中略) この記事はこれらの説明に目を通してもなお理解できなかった人、もしくはこれらの説明をこれから読もうと思っている人に向けて書き、Paxosアルゴリズムの詳細な説明自体

    今度こそ絶対あなたに理解させるPaxos - Qiita
    quodius
    quodius 2017/12/02
  • "I wrote some code. I think you should maintain it."

    Keep in mind that when you send a pull request you’re saying, “I wrote some code. I think you should maintain it.”

    "I wrote some code. I think you should maintain it."
    quodius
    quodius 2017/12/02
  • Raspberry Pi でゆっくり達に Twitter タイムラインを読み上げてもらう - Qiita

    背景・動機 私事ですが、先日 Google Home を購入しました。早速、Google Home と Twitter を IFTTT 連携させ、音声操作によるツイートをしばらく楽しんでいました。しかし、ツイート後のタイムラインの様子を確認するため、結局スマートフォンを手に取ってしまいます。 タイムラインも音声で確認したいと思い、Google Home にタイムラインを読み上げてもらおうと考えたのですが、稿執筆時点では IFTTT で Twitter をトリガーに指定できても Google Assistant をアクションに指定することはできません。 そこで、Google Home での読み上げを諦め、Raspberry Pi に読み上げてもらおうとアプリを作りました。 ※ あとがきで後述する通り、ここで Google Home での読み上げを断念するのは早計でした。 作ったもの Ti

    Raspberry Pi でゆっくり達に Twitter タイムラインを読み上げてもらう - Qiita
    quodius
    quodius 2017/12/02
  • 分散ファイルシステムはブロックチェーンの夢を見るか | メルカリエンジニアリング

    今年からメルカリでもMercari Advent Calendar 2017と称してAdvent Calendarを始めることとなりました。 初日は id:stanaka / @stanaka がロンドンよりお届けします。 分散ファイルシステムという言葉を聞くと、トラウマを刺激され、うっと頭を抱える人も多いかと思います。私もその一人で、以前にPBクラスまではいかずとも数TBのHDDを数百台並べたシステムのお守りをしたことがあり、日々壊れ続けるHDDに負荷に悲鳴を上げるメタデータDBなどネタには困らない状況でした。そういう時にAWS S3を触ると、「ああ、これは天国だ..」ともはや過去には戻れない思いをしたものです。 最近では分散ファイルシステムを運用しているところもめっきり減っていて*1もう過去の分野かな、と思っていたのですが、ここ数年で「ブロックチェーン x 分散ファイルシステム」という

    分散ファイルシステムはブロックチェーンの夢を見るか | メルカリエンジニアリング
    quodius
    quodius 2017/12/02
  • ネカマをやっていた頃

    俺はこれまでの人生で半年だけ無職だった時期がある。ネカマをやっていたのはその頃のことだ。26才だった。小人閑居して不善をなす。まったくその通りだと思う。つまらない人間に暇を与えるとろくなことをしない。 きっかけは2ちゃんだった。当時、俺は2ちゃんに入り浸っていた。ある日、表現規制について議論になった。その時に誰かが俺に言った。 「だから女はダメなんだ」 面らった。俺を女だと決めつける奴が現れたのだ。その時はネカマだったわけではない。向こうが勝手に勘違いしたのだ。俺はなんとなく楽しくなり、そのまま女として振る舞った。すると誰もがそういう前提で話しかけてきた。議論そのものよりそっちが楽しくなった。 それから俺はネカマに目覚めた。しばらくは2ちゃんが主戦場だったが、やがて色々な場所に書き込むようになった。ツイッター、チャットルーム、増田。ネカマをやっていていちばん驚いたのは、なんと言っても

    ネカマをやっていた頃
    quodius
    quodius 2017/12/02
  • UUID (version 4) における衝突確率を計算する - 理系学生日記

    UUID というのは、全世界・全時間において一意性を持った識別子とされています。RFC 4122 の言葉を借りると、 A UUID is 128 bits long, and can guarantee uniqueness across space and time http://www.ietf.org/rfc/rfc4122.txt とされています。 ですが、128 bit という有限長なんだから 回試行すれば少なくとも 1 回は生成した UUID が衝突するということになります。UUID は万能じゃねーんだ。冷静になれ。 UUID ってのは一意性が「保証」されているわけじゃなく、「実用上は一意と見做せる」ということになります。ですから、衝突する確率というのは 0 にはなりません。じゃぁ、果たしてどのくらいの確率で衝突が発生するのか、計算してみましょう。 計算のまえに結論を言う。回

    UUID (version 4) における衝突確率を計算する - 理系学生日記
    quodius
    quodius 2017/12/02
  • RustでWebGL2 - Qiita

    Rust Advent Calendar 2017の1日目です。 初日から変化球という感じですが、申込み時点で初日と最終日しか空いていなかったのでご容赦ください。 はじめに WebAssemblyによるRustでのWebフロントエンド開発に興味があり、ちょっとだけ記事を書いたりしてきました。 RustでWebフロントエンド開発 RustでFetch API with Emscripten つい先日、Emscriptenに依存せずにWebAssemblyを生成するwasm32-unknown-unknownというターゲットが公式に追加されたりもして(参考:wasm32-unknown-unknown landed & enabled)、Webフロントエンド開発でRustWebAssemblyが実用的に使われる日が徐々に近づいているように感じます。 WebAssemblyが盛り上がっていると

    RustでWebGL2 - Qiita
    quodius
    quodius 2017/12/02
  • 文を生成することが辛いひとの文章執筆プロセス - おどりのようなもの

    下宿と自宅の引っ越し、東京&名古屋への出張などいろいろあった11月が終わった。その間に2の原稿を書くこともできた。その爽快感が消えないうちに、ブログも更新しようと思う。 今回は最近の執筆環境について書く。前提として、ぼくはとにかく文を生成するのが下手で、苦手意識が非常に強い。企画書の箇条書きやレイアウトが込み込みの「書類」を作成したり、誰かが一度上から下に書いたものを綺麗に整えたりする作業はできる。でも、自分で企画を立ててアウトラインを引き、それを踏まえながら文を生成し、最後まで自分の手で書ききる。文を生成する行為を含めた一連の「文章執筆」がすごく苦しい。 そこで、執筆プロセスを分解して、特に一番苦手な「文を生成する」という段階を最小限にするやり方でこの仕事に臨んでいる。 1. パワポをつくる 最初にやるのが、これから書こうとする文章の全体像やイメージを大雑把に表現すること(いわゆる企画

    文を生成することが辛いひとの文章執筆プロセス - おどりのようなもの
    quodius
    quodius 2017/12/02
  • 「選べることでは誰も困らない」。夫婦別姓の訴訟で本当に訴えたいこととは

    Search, watch, and cook every single Tasty recipe and video ever - all in one place! News, Politics, Culture, Life, Entertainment, and more. Stories that matter to you.

    「選べることでは誰も困らない」。夫婦別姓の訴訟で本当に訴えたいこととは
    quodius
    quodius 2017/12/02
  • jQueryが必要とされなくなってきたのは, Reactなどの他のフレームワークが登場したせいではなく, 標準DOM APIが進歩したおかげです

    jQueryが必要とされなくなってきたのは, Reactなどの他のフレームワークが登場したせいではなく, 標準DOM APIが進歩したおかげです JavaScript Advent Calendar 2017 - Qiitaの2日目の記事です. 何故この記事を書こうと思ったか JavaScriptの定番ライブラリであるjQueryは, 最近以前と比べて必要とされなくなってきました. その理由はよく, Reactなどの他のフレームワークが登場したせいだと勘違いされています. しかし, jQueryが必要とされなくなってきた理由は標準DOM APIの進歩によるものです. この記事ではそれを書いていきます. なお, この記事ではReact Nativeについて触れる必要がないため, React DOMのことも一緒くたにReactと記述します. また, 私がweb開発を開始したのは3年前ぐらいから

    jQueryが必要とされなくなってきたのは, Reactなどの他のフレームワークが登場したせいではなく, 標準DOM APIが進歩したおかげです
    quodius
    quodius 2017/12/02
  • Backlog アドベントカレンダーのご紹介 #Nu_Office_Tokyo #Backlog

    2. 自己紹介 •平 愛美 Manami Taira •エクストリームデザイン株式会社 XTREME DESIGN Inc. Senior Systems Engineer •こども 6歳・2歳 (男児) •ブログ http://mana-cat.com •Twitter @mana_cat •最近取った資格 LPIC-303 Security

    Backlog アドベントカレンダーのご紹介 #Nu_Office_Tokyo #Backlog
    quodius
    quodius 2017/12/02
  • 東京メトロが「トイレ空室状況提供サービス」実証実験 個室が空いてるかどうか分かる

    東京メトロは「トイレ空室状況提供サービス」の実証実験を行います。場所は池袋駅(東京・池袋)、期間は2017年12月1日から2018年2月28日です。 これで一目瞭然です このサービスは、池袋駅のトイレ空室状況を東京メトロ公式アプリで案内するというもの。各トイレの個室にセンサーをつけ、その情報をサーバーに送ってアプリに反映させます。 トイレの稼働状況分析やニーズの検証が実験の目的です アプリの「メトロラボ2017」から「トイレ空室状況」を選択すると、東京メトロ池袋駅にあるトイレの空室状況が表示されます。さらに「場所確認のボタン」を選ぶと、池袋駅構内マップが出て、トイレの場所が分かります。東京メトロは、実験期間の利用状況を踏まえてサービスの拡大を検討しているとのこと。 ちなみに東京メトロ池袋駅のトイレは丸ノ内線エリア(丸ノ内線 中央通路東改札近傍)、有楽町線エリア(有楽町線 南通路西改札内)、

    東京メトロが「トイレ空室状況提供サービス」実証実験 個室が空いてるかどうか分かる
    quodius
    quodius 2017/12/02
  • Vim8とNeovimと私(Vim初心者) - Qiita

    neocomplete.vimからdeoplete.nvimに乗り換え〜とか思ったんですが、使ってたvim8だと導入めんどくさそうとか思って、軽い気持ちでNeovimに手を出してみたら結局いろいろめんどくさかったけど、結果ちょっと快適になったかもしれないとかそういう話です。 自分用の忘備録としてまとめます。 Vimを使い始めて2年目、(フロント)エンジニアリング歴も同じくらいのデザイナーが書く記事なので、Vimmer先輩諸氏におかれましては、気になる部分とか色々あるかと思いますが、HRTの精神で編集リクエストやコメントなどしていただけるとありがたく思います。 初めてのNeovim Neovim 次世代のVimと言われているようです。Vim歴1年半くらいのぺーぺーなので突っ込んだところはよくわかってません。 VimからForkして開発されてるってことくらいしかわかってません。でもVimとほと

    Vim8とNeovimと私(Vim初心者) - Qiita
    quodius
    quodius 2017/12/02
  • goyaccでjson5 likeなシンタックスのパーサとjsonのジェネレータを書いた | DevelopersIO

    こんにちは、齋藤です。 今回の記事は golangアドベントカレンダー 2017の2日目の記事です。 フライングしています。 今年の golang の盛り上がり様はすごいですね。 Qiita に存在する golangのアドベントカレンダーは 4つもあります! golangアドベントカレンダー 2017 その1 golangアドベントカレンダー 2017 その2 golangアドベントカレンダー 2017 その3 golangアドベントカレンダー 2017 その4 また、この記事を書いている時点で、AWS Lambdagolang のサポートが追加されたという速報が 弊社記事に上がっており、golang の人気はうなぎのぼりなのではないでしょうか! go go golang ! ! ちなみに現在上記リンクにある記事は 弊社の諏訪さんによって リアルタイム更新が行われておりました。強い。

    goyaccでjson5 likeなシンタックスのパーサとjsonのジェネレータを書いた | DevelopersIO
    quodius
    quodius 2017/12/02
  • VimでFSharpを実行(Run)・テスト(Test)・デバッグ(Debug)する - callmekohei's blog

    この記事はF# Advent Calendar2017 2日目の記事です ( see : F# Advent Calendar 2017 - Qiita ) この記事はVim2 Advent Calendar2017 2日目の記事です ( see : Vim2 Advent Calendar 2017 - Qiita ) IDEを使わなければ、コンピュータが自動でやってくれることなどほとんどなく、あとは自分の手でやるしかないのです。プログラミングとは元々そういうものだったはずです Hello, Worldから始めよう | プログラマが知るべき97のこと Greeting こんにちは!最近ポンド円でほぼ死にかけのcallmekoheiです! みなさまいかがお過ごしでしょうか? 今回はFSharpとVimのAdvent Calenderに同時にポストします! 思えばなんで僕、VimでFShar

    VimでFSharpを実行(Run)・テスト(Test)・デバッグ(Debug)する - callmekohei's blog
    quodius
    quodius 2017/12/02
  • 市場バグを引き起こした優秀なデータたち - ボドゲを愛するテスト屋さん

    ※この記事は「ソフトウェアテストの小ネタ Advent Calendar 2017 - Qiita」用の記事です。 ソフトウェアテストの小ネタ 2日目担当のオムそばです。 実はちゃんとした(?)記事を書くのはこれが初めてなので、生暖かい目で見ていただければ。 そんなわけで早速表題の件、市場バグを引き起こした優秀なデータたちをご紹介します。 今回は、よくある「半角記号」、「空白やスペース」などは割愛させていただきます。 (2017/12/26追記)"市場バグ"という言葉に違和感や疑問を持たれた方は、こちらの記事をどうぞ。文言について整理してみました。 ■日時に関するデータ ・1969/12/31、2038/1/20:UNIX系のシステムに有効なデータ。UNIXのシステム時刻は1970/1/1 開始なので、それ以前のデータを打ち込むと予期せぬエラーが発生する可能性がある。また、同様に2038/

    市場バグを引き起こした優秀なデータたち - ボドゲを愛するテスト屋さん
    quodius
    quodius 2017/12/02
  • ID生成大全 - Qiita

    セッションIDやアクセストークン、はたまた業務上で使う一意の識別子など、いろんなところで一意のIDを生成しなきゃいけないケースが存在します。 そこで世間で使われているIDの生成方法について調べてみました。 選択基準 ID生成における要求として、以下の観点が上げられるかと思います。 生成の速度 大量にデータを短期間で処理し、それらにIDを付与する場合、ID生成そのものがボトルネックとなることがあります。 推測困難性 IDを機密情報と結びつける場合、IDを改ざんされても、機密データが見れないようにできている必要があります。 順序性 採番した順にデータをソートする必要がある場合は、IDがソートキーとして使えないといけません。 それぞれについて各生成手段を評価します。 ID生成の手段 データベースの採番テーブル 採番用のテーブルを作り、そこで番号をUPDATEしながら取得していくやりかたです。古い

    ID生成大全 - Qiita
    quodius
    quodius 2017/12/02
  • Vimのカバレッジを見る - daisuzu's notes

    この記事はVim Advent Calendar 2017の2日目の記事です。 Vimのカバレッジはcoveralls.ioやcodecov.io上で見ることができますが、手元で見たくなることもあると思います。 そんな時はMakefileに書いてある通り、次のようにしてカバレッジを計測し、生成されたhtmlから見ることができます。 # Vimのリポジトリ直下に移動 # 各種フラグに--coverageをつけてビルド、他はお好みで CFLAGS=--coverage LDFLAGS=--coverage ./configure --with-features=huge && make cd ./src # まずはゼロカバレッジの初期データを作る lcov -c -i -b . -d objects -o objects/coverage_base.info # テストを走らせてカバレッジ情報

    Vimのカバレッジを見る - daisuzu's notes
    quodius
    quodius 2017/12/02
  • reanimatedでreagentのUIを楽しくする - Qiita

    tl;dr reagentは理解できるけど、csstransitionとかは厳しい、でもUIには動きを付けたい筆者のような人にオススメのreanimatedというライブラリがある 勉強兼ねてデモ作ってみた。ソース デモGIF デモのコード (ns reanimated.demo (:require [reagent.core :as r] [reanimated.core :as rc])) (defn item [s stuff] (let [size (r/atom 40) spr (rc/spring size)] (fn [] [:div {:on-click #(swap! stuff (fn [stuff] (assoc stuff s false))) :style {:font-size (str @spr "px") :margin "10px" :cursor "po

    reanimatedでreagentのUIを楽しくする - Qiita
    quodius
    quodius 2017/12/02
  • AWX を10分でDeployしちゃうマン(10分でDeployできるとは言ってない) - _・)Keep Smiling

    この記事はAnsible Advent Calendar 2017 - Qiitaの2日目の記事です。 (12/22追記:PostgreSQLのコンテナのデータ保存先がデフォルトでは”postgres_data_dir=/tmp/pgdocker”とデプロイ先の/tmp以下に置かれる設定になっているため再起動時などで削除されてしまう状態でしたので、該当部分の変更を文中で追記しています。) どうも、鰻師の方から来ました。 皆さんは日鰻師同好会という酷いグループをご存知でしょうか。 色々なアドカレに出没しては鰻師の蒲焼きのテーマソング(?)を替え歌にして様々なOSSの普及に努める 酷い 素晴らしいグループです(主な活動は歌って正拳突きをする、です)。 この「Ansible Advent Calendar 2017」もまさか初日と二日目を連続して日鰻師同好会メンバーに乗っ取られるとは思って

    AWX を10分でDeployしちゃうマン(10分でDeployできるとは言ってない) - _・)Keep Smiling
    quodius
    quodius 2017/12/02
  • Raspberry Pi で簡単にネットワークブートができるようになったよ,という話 - Qiita

    Raspberry Pi Advent Calendar 2017 2日目です. 結論 SDカードにbootcode.bin (49kBほど) というファイルを置いておくだけで,全バージョンのRaspberry Piで ネットワークブート USBストレージブート ができます. サーバの設定などは Network Boot Your Raspberry Pi - Raspberry Pi Documentation を参考にしてください. 経緯 まずRaspberry Piのブートは,おおまかには3段階からなります. 1段目 Raspberry PiのSoCにはROMが載っており,ここにファームウェアが書き込まれています. Raspberry Piに電源が投入されると,まずこのROM内のファームウェアがメモリに読み込まれます. 読み込まれたコードはGPUにあるVPUというプロセッサによって実

    Raspberry Pi で簡単にネットワークブートができるようになったよ,という話 - Qiita
    quodius
    quodius 2017/12/02
  • テストがなかった無法地帯にテストを導入して開発速度を1.7倍にした話 - Qiita

    テストがなかった無法地帯のプロジェクトに自動テストを導入して、開発速度を1.7倍にした話をします。 自動テストがなぜないのか 自動テストのないプロジェクトには、そうなる理由が必ず存在します。よくみる理由は、「時間がないから1」「テストの書き方がわからないから」「無理やりテストを書いたつらい経験があったから2」といったものです。今回のプロジェクトの場合は、以下の2点でした: 自動テストの書き方がわからないから レビューがテスト代わりだったから まず、チーム編成が変わって私ともう一人がチームに加わるまで、実装者の中に自動テストの経験者はいませんでした。このような状況では、自動テストは困難になります。なぜなら、何をどうやってどこまでテストするかを決めるには、多少の慣れが必要だからです。この慣れがないと、何をしたらいいかわからないという状態に陥りがちで、結果として自動テストが後回しにされてしまいま

    テストがなかった無法地帯にテストを導入して開発速度を1.7倍にした話 - Qiita
    quodius
    quodius 2017/12/02