タグ

ブックマーク / blog.yugui.jp (20)

  • 新型コロナウイルス接触確認アプリのソースコードを請求してみた - 世界線航跡蔵

    厚生労働省の「新型コロナウイルス接触確認アプリ」が公開された。 かねて話題になっていたように、ある程度匿名性を保ったままbluetoothで他のデバイスが近隣に留まったことを認識する方式らしく、割と安心できそうかと思う。 またITMediaの記事によればCOVID-19 Japanという有志によるオープンソースプロジェクトを元にしているそうだ。 ただし、記事を読む限りでは完全にオープンソースプロジェクトそのままというわけではなく「COVID-19 Radar」の技術を核として厚生労働省がベンダーに開発を委託したとある。 そうなると、いくつか気になる点がある。 「COVID-19 Radar」のソースは公開されているからプライバシー等への懸念がある場合にはそれを読んで確認すれば良い、というような意見もあるが、「COVID-19 Radar」と「新型コロナウイルス接触確認アプリ」がその点におい

    新型コロナウイルス接触確認アプリのソースコードを請求してみた - 世界線航跡蔵
    YaSuYuKi
    YaSuYuKi 2020/06/20
    公開されているアプリが公開された仕様通りであることの検証は、IT mediaのQ&Aに足りないことの一つ。不可欠なこと
  • 転職エントリ(1年後) - 世界線航跡蔵

    Nianticに転職して1年あまりが過ぎた。 2018年の9月からNianticで働いているのだが、そういえば転職エントリーを書きそびれていた。 転職して以来、相変わらずサーバーサイドの開発をしていている。なお、開発しているのはIngressでもPokémon GOでもハリー・ポッター:魔法同盟でもない。 Nianticとの関わり Ingressは2014年12月から続けていて、Pokémon GOも日での正式リリース日からぼちぼちやってきているものの、それにしてもNianticで働くようになるとは思ってもみなかった。 Pokémon GOがなんかえらく流行り始めたときも、自分とは関係ない話だと思いつつGoogle Maps時代の知り合いが何人か関わっているのを思い出して無責任に祝福していたぐらいである。知り合いへのご祝儀のつもりでポケコインを1万円分ぐらい買って、行動圏内にルアーモジュ

    転職エントリ(1年後) - 世界線航跡蔵
    YaSuYuKi
    YaSuYuKi 2019/10/24
  • 『異文化理解力』  - 世界線航跡蔵

    文化理解力――相手と自分の真意がわかる ビジネスパーソン必須の教養 作者: エリン・メイヤー,田岡恵,樋口武志出版社/メーカー: 英治出版発売日: 2015/08/22メディア: 単行この商品を含むブログ (3件) を見る しばらく前にエリン・メイヤー『異文化理解力』というを読んだ。各国の仕事文化を比較して、それを理解し尊重する方法を示しているだ。 著者の経験と知識に基づいて文化の差異を8つの軸の度合いとして分析し、それぞれに意味があることを説明し、また差異どうやって扱うべきかを解説している。 最初に読んだ直後にtwitterでも読書メモを書いたんだけど、改めて私の理解と、とりわけ日からの視点をまとめてみようと思う。 エリン・メイヤー『異文化理解力』読了。文脈依存、評価の伝え方、説得原理、階層性、意思決定者、信頼構築過程、見解の相違への許容度、予定の柔軟性の8軸で世界の仕事文化

    『異文化理解力』  - 世界線航跡蔵
  • ブロックによるRuby内DSLの起源 - 世界線航跡蔵

    時代とともにRubyの使われ方は変わってきましたが、いつの頃からか発生したDSLのホスト言語としての役割にはずっとお世話になってます。人に優しく、故にプログラマ以外にも優しく、これがとてもRubyらしくて好きな点です。 #ruby25th— Yuki Yugui Sonoda (@yugui) 2018年2月24日 僕にとってRubyはfluentdやchefのための言語ですが、プラガブルなOSSエコシステムであったり、強力なDSLを作りやすかったりするところにその魅力を感じます。特にfluentdは大好きなOSSで、Mackerel運営でもかなり参考にさせてもらっています。 #ruby25th おめでとうございます!— songmu (@songmu) 2018年2月24日 DSLは当に感動したところなんだけど、DSL開発ツールとしてのRubyが「発見」されたものなのか意図されたものな

    ブロックによるRuby内DSLの起源 - 世界線航跡蔵
  • Jsonnetでwebアプリケーションの設定ファイルをテスト可能に - 世界線航跡蔵

    最近、Jsonnetを用いてwebアプリケーションをデプロイする際に適用する設定群をテストしようとしている。 今やInfrastructure as a Codeと言われて久しく、アプリケーション配備の基盤構成もその上で走るwebアプリケーションをどうやって設定するのかもコードとして書かれるのが一般的になった。 それらはコードとして書かれているのでバージョン管理可能であり、テストも可能である。だから何かが間違っていれば実際に配備する前に気づくし、それでも間違えていれば差し戻せる。 「どうやって設定するか」はコードになった。では「何が設定されるか」はコードになっているだろうか。やっている人もいるだろうけれども、そんなに簡単な話でもない。 実際Chefで設定ファイルを扱う際は templates なり files なりが第一の選択であるとは思うが、これらはよほどヘルパーメソッドを充実でもさせな

    Jsonnetでwebアプリケーションの設定ファイルをテスト可能に - 世界線航跡蔵
  • 情報技術による変革の道のりを思う - 世界線航跡蔵

    祖父母と話していて、ちょっと調べてを読んで考えれば分かることに対してなぜいつまでも堂々巡りの思考を巡らしているのだろうと思うことが良くあった。 学生時代に工場生産や農業にかり出されてあまり教育を受けられなかったというのはあるが、それにしても祖父は戦後に大学を出ている。時代的な教育の問題だけとも考えづらい。 しかし、よくよく考えてみるとちょっと調べるために私が使うのはインターネットの情報だ。書籍は書籍の価値があるので同様に情報源とする(今は過渡期で境界が曖昧とは言え、やはり書籍の形に手間暇掛けてまとめ上げた有料情報ならではの価値というのはある)が、それにしたって書籍に到達するのはweb上の書評経由であることも多い。入手経路も半数はAmazonからだ。これらを通じて学んだ情報や考え方、情報の取捨選択の方法に基づいて私は考えている。 これらはどれも祖父母が持っていない物だった。自分が何を知らな

    情報技術による変革の道のりを思う - 世界線航跡蔵
    YaSuYuKi
    YaSuYuKi 2016/07/19
  • APIデザインケーススタディ —— Rubyライブラリを移植する前に読む本 - 世界線航跡蔵

    APIデザインケーススタディ 』というを頂戴したので読んでみた。 ライブラリ作者に向けて このRuby標準ライブラリを題材にして、分かりやすく、多様な機能をサポートして、互換性を保つAPIの設計をするにはどのように考えるべきかを教えてくれる。 ここでAPIと言っているのは、一般的なRubyのクラスとオブジェクトとメソッドから成るライブラリをどうデザインするか、という話である。 別にChef RecipeやRSpec DSLのようなちょっと変わったDSLを設計するとかそういう話ではない。確かにその種の言語内DSLのデザインには固有のセンスが必要とされるし、 Ruby DSL Handbook なんてが書かれているように実装にあたってもある種のテクニックが必要なのも確かだ。でも、それ以外の「ふつう」のライブラリのデザインは果たして簡単だろうか。 適切な粒度のクラスを定義する。必要な

    APIデザインケーススタディ —— Rubyライブラリを移植する前に読む本 - 世界線航跡蔵
  • Automation Accountパターン - 世界線航跡蔵

    コンテキスト あなたが開発しているサービスはユーザー向けにAPIを提供している。そして、APIを利用するにはユーザーは短寿命の認可情報(たとえばOAuth2トークン)を提示しなければならない。 ユーザーは認可情報が紐付いているアカウントの権限でリソースを読み取ったり、作成したり、所有したり、編集または削除したりする。 ここで、ユーザーは人間(が操作するユーザーエージェント)であることもあるが、人間の手を離れてバックグラウンドで自動実行されるプログラムかもしれない。 また、あなたは悪用目的でアカウントが大量登録されるのを防ぐためにCaptchaを利用したいと思っている。 さらに、課金目的で請求書送付先を登録させたいとも思っているかもしれない。 問題 プログラムが利用するアカウントを安全に管理するのがユーザーにとって困難である。 プログラムは自分でCaptchaを解いたりEメールを受け取るのが

    Automation Accountパターン - 世界線航跡蔵
  • アンダースタンディング・コンピュテーション - 世界線航跡蔵

    『 アンダースタンディング コンピュテーション ―単純な機械から不可能なプログラムまで 』を監訳者の笹田さんから頂戴したので、読んだ感想をまとめてみる。 このRubyを用いて計算理論を紹介しようというものだ。具体的には次のようなトピックを扱っている。 形式的意味論 操作的意味論 表示的意味論 オートマトンとチョムスキー階層 ラムダ計算 停止性問題と計算不能性 静的意味論と型システム サンプルが丁寧に書かれていて簡単に動作させられること。これが書の強みだと言える。 正直なところ今までオートマトンはともかく形式的意味論は他のを何度を読んでもいまいちピンと来なかったのだが、書のサンプルプログラムを動かして初めて理解が進んだ気がする。 そもそも文にも書かれているように、ミニ言語の形式的意味論をより強く(曖昧な)言語であるRubyで書いたところで理論的には意味は無い。 意味の定義がRub

    アンダースタンディング・コンピュテーション - 世界線航跡蔵
  • Dockerで何が変わるのか - 世界線航跡蔵

    DockerCon 2014 に行ってきた。 この会期中には各社からいくつもの製品が紹介/発表された。そして、それによってクラウドという技術は次のステージに移行したと言っても過言ではないだろう。 より自由にユーザーがクラウドベンダーを選べる時代へ。どうやってクラウドにうまくデプロイするかではなく、アプリケーションそのものに注力できる時代へ。 Dockerとは Docker とはいわゆるコンテナ技術の1つで、Linuxホスト環境の中に隔離された別のLinux環境を作ってくれる技術だ。 軽量仮想マシンと呼ばれたりもする。 Solaris Container とも似ている。 新しくないDocker 1つ述べておくとDocker技術的には新しくない。Dockerの価値は技術以外にある(とDockerCEODockerConで言ってた)。 技術的にはSolarisにはSolaris 10の頃か

    Dockerで何が変わるのか - 世界線航跡蔵
  • fluentdを勉強中 - 世界線航跡蔵

    最近はlog collectionというと fluentd が話題らしいというので、少し触り始めている。 多少は分かってきたように思うので理解したことと、理解できていないところをまとめてみようと思う。 fluentdとは何か オフィシャルサイトには"tool to collect events and log"と書いてある。 要するに、サーバー群から継続的に情報を吸い上げるための仕組みを提供するdaemonである。 この「情報をかき集める」という枠組みは今時のサーバーサイドでは頻出パターンだ。 データベースサーバ、アプリケーションサーバー、フロントエンドキャッシュサーバー, ...と役割分担をするのが普通だし、 アプリケーションサーバーだって負荷分散のために複数インスタンスを持つのが当たり前だ。 そしてこれらサーバー群をきちんと管理するためには様々な情報をかき集めてきて一カ所に保存したり集

    fluentdを勉強中 - 世界線航跡蔵
  • 環境に優しい難読コード - 世界線航跡蔵

    ぼちぼち忘年会やクリスマス会のシーズンとなってきた。 そんなパーティーの1つに出欠の連絡をしなければならない場面があったのだけど、どうやらネタ回答を期待されているらしかったので次のように回答した。 puts [[->(&f){->(n){f[f[f[f[f[f[f[f[f[f[f[f[f[f[n]]]]]]]]]]]]]]}},->(&f){->(n){f[f[f[f[f[n]]]]]}}, ->(&f){->(n){f[f[f[f[f[f[f[f[n]]]]]]]]}},->(&f){->(n){f[f[f[f[f[f[f[f[f[f[f[f[f[f[f[n]]]]]]]]]]]]]]]}}, ->(&f){->(n){f[f[f[f[f[f[f[f[n]]]]]]]]}},->(&f){->(n){f[f[n]]}},->(&f){->(n){f[f[f[f[f[f[f[f[f[f[f

    環境に優しい難読コード - 世界線航跡蔵
    YaSuYuKi
    YaSuYuKi 2013/12/01
  • ぐんまRuby会議01で発表した - 世界線航跡蔵

    ぐんまRuby会議01 で発表してきた。 講演依頼では、「Rubyを通じて見てきた世界、ソフトウェア開発者としての世界観を語ってほしい」とのことであった。そうすると、私がRubyに関わっている理由は2つだ。 個人的にRubyが好きで手に馴染んでいて、これからも継続してほしいから 私が望む世界が実現されるための手段としてRubyは有効であり、Rubyに発展してほしいから 上についていえば好きなものを好きなのにそんなに理由はない。たぶん「プログラマのあるサブセットにとって自然で親しみやすく」というMatzの言語デザイン意図にうまくはめられたというだけだろう。 下についていうと、Rubyはあくまでも手段であり話題の主役ではない。が、Matzの意図についてはMatzがすでに多くを語っているし、私は下について話すことにした。内容は 過去の記事 +α。 ある人の世界観を共有する手段としては、背景にある

    ぐんまRuby会議01で発表した - 世界線航跡蔵
  • 指定バイト数ぐらいの長さの文字列を読み込む方法 - 世界線航跡蔵

    IO から指定したバイト数以内の長さを読み込みたいが、多バイト文字の途中で切れてしまうのは嬉しくないのでそういうときはもう少し読む、というような処理を書きたいことがよくある。 これ、というメソッドは見当たらないので仕方がないから自前でバッファリングしたりしてなんとかしていたのだけど、 IO#gets にそういう機能があることが分かった。 IO#gets はseparatorに nil を指定するとseparateせずにファイルの最後まで読む。それからもう1つ、読み込むバイト数の上限を指定できる。この上限指定は1.9ではもちろん多バイト文字を壊さないようになっている。だからこれらを組み合わせて io.gets(nil, limit) とすると希望の動作をする。行操作でもないのに gets というのはちょっと思いつかないね。 余談 なぜ突然こんなのに気づいたのかというと、今書いているライブラリ

    指定バイト数ぐらいの長さの文字列を読み込む方法 - 世界線航跡蔵
  • 性的保守主義と性同一性障害の親和性 - 世界線航跡蔵

    性同一性障害の典型例、つまり 自己の性的同一性を明確に認識——身体との間には齟齬があるにせよ自分の人格の中核を成す性別には疑問がない——し、ヘテロセクシュアルで、性的自己認知と性別役割に葛藤が無く、その現象を「性同一性障害」として医療化することを受け入れている人にとって性的保守主義は甘い誘惑だ。 性的保守主義と抑圧 ここで性的保守主義とは、最も典型的な男、女という性に性現象のすべてを回収するものとしよう。彼らは例えば社会での男女の性別役割を自然で当然のものと考える。そこから外れる人を「男なのに○○」「女なのに○○」と自己の属する多数例を基準に評価する。同性愛は彼らに言わせれば例えば「女と寝るように男と寝る者」(レビ記18:22)だ。私が知人の男性同性愛者を見たり資料を読んだりする限りにおいて、これはたぶん不当なことだ。彼らの関係性が「異性愛ではない」のは自明なのに、なんで何もかもが異性愛と

    性的保守主義と性同一性障害の親和性 - 世界線航跡蔵
  • 良い相続人であるために - 世界線航跡蔵

    翔泳社の「君のために選んだ1冊 ソフトウェア開発の名著」という企画に寄稿を依頼されて、以下のような文章を書いた。ブログ等で公開して良いとのことだったのでここに公開したいと思う。 この企画は他の人の分を読むのが楽しみだ。早くができあがらないかな。 ちなみに「 きっと何者にもなれないお前たちに告げる 一冊」というタイトルを最初に思いついたけれど、長く読み継がれるであってほしいという企画の趣旨を鑑みて流行のネタを使うのは避けた。 yuguiがレガシーコードに絶望した人に贈りたい一冊 - 『レガシーコード改善ガイド』 レガシーコード改善ガイド (Object Oriented SELECTION) 作者: マイケル・C・フェザーズ,ウルシステムズ株式会社,平澤章,越智典子,稲葉信之,田村友彦,小堀真義出版社/メーカー: 翔泳社発売日: 2009/07/14メディア: 大型購入: 45人 クリ

    良い相続人であるために - 世界線航跡蔵
    YaSuYuKi
    YaSuYuKi 2011/12/05
    コード改善の時に欠かせないリファレンスブックでもある>レガシーコード改善ガイド
  • Googleによるトランスセクシュアルへの配慮の事例 - 世界線航跡蔵

    先に報告した ようにこのたびGoogle転職した。 ここで、Googleトランスセクシュアルへの対応に感心したので書いておく。 履歴書 まず、US系の企業としては当たり前の慣習であり法的自己防衛でもあるのかもしれないけど、履歴書に性別を書かされない。 背景 履歴書に書くべき何か簡潔な性別の記述というものが存在するのであれば私にとっては問題ないのだけれども、実際のところはそうではない。 この話は 以前も書いた 。 人は性別という単一の二値属性が存在することを信じるが、残念なことに自然はそういう風にはできていない。人の信じる仮構は単に、少数者を例外として排除してしまえば幾つかの性別要素にまつわる量が成す数ベクトル空間について2つの同値類が存在し、それを「男」「女」と呼べるというだけの話に過ぎない。 残念なことに最初に省いた特異点を含めると単純な同値類は成立しない。都合の悪い例から逃げずに一

    Googleによるトランスセクシュアルへの配慮の事例 - 世界線航跡蔵
  • あなたは本当に、既に何かをやってしまった労働者より、現在うまくやっている労働者を求めているのですか? - 世界線航跡蔵

    会長や取締役の方々、事業部の部長などラインの上司にあたる方々がブラウザ三国志というゲームにはまりまくっているということです。 知り合いがとある動画サイトを運営している会社に勤めているのですが、会長や取締役の方々、事業部の部長などラインの上司にあたる方々がブラウザ三国志というゲームにはまりまくっているということです。 このままでは仕事に支障をきたすと思うのですがその知り合いはどうしたらいいでしょうか? 当に仕事に支障を来しているとしたら私なら上司たちに面と向かって散々なことを言ったり、社内での愚痴の聞き手に回って楽しんだりしそうだけど、でも、この文面だけからするとひねくれたことを言いたくなるなー。 管理職のためのハッカー FAQより: 2.5: しかしですね、うちの他の従業員はハッカーの成功に気分を損ねてますし、彼らの生産性を損なっているのですが。 あなたは当に、既に何かをやってしま

    あなたは本当に、既に何かをやってしまった労働者より、現在うまくやっている労働者を求めているのですか? - 世界線航跡蔵
    YaSuYuKi
    YaSuYuKi 2010/12/31
  • テクノロジーの世界の女性のロールモデルについて考えてみた - 世界線航跡蔵

    最近、「テクノロジー(あるいはオープンソース)の世界で目立つ女性というのは珍しい」 というようなことを言われることが何件か重なった。「 Rubyがそろそろ一回終わってみるべき10の理由 」とか、その他何件かね。 その重なりは私に、何か色々なことを考えさせた。考えたことについて何とはなしに書き下してみようと思う。 前提と社会 何とは言ってもオープンソースの世界で活躍しようと思ったら、それが好きでなければならない。そりゃあ、今時はオープンソースを積極的に貢献し、それを利用しようとする企業も少なくない。しかし、開発コミュニティには沢山の、開発が好きで好きで仕方が無くてそれに時間を努力を惜しまない人々がいる。その中でなにがしかをなしとげようと思ったら、やっぱり「業務命令だから」じゃなく「好きだから」でなければやっていくのは難しいだろう。 で、ソフトウェア開発が好きで好きで仕方がない女性ってのはどれ

    テクノロジーの世界の女性のロールモデルについて考えてみた - 世界線航跡蔵
  • フィルタリングの技術的問題点を知らしめる活動 - 世界線航跡蔵

    若年者(年齢の線引きはおいといて)のように価値判断が未発達な人間に見せないほうが良い情報があることは認めよう。それにしても、側にいる大人が日常的な指導や適切なフォローをすればカバーできるとは思うけどね。 技術的時期尚早 でも、何度でも言うけど、現在の技術的な水準では、webコンテンツのうち「有害」なものを検出するには無理がある。もしそれを完璧にできるって言う人間がいるなら、その人に国がちょっとした助成金を出すべきだ。そうすれば、みるみるうちにgooglemicrosoftyahooなんか霞んでしまうはずだから。 つまりは、それぐらい、「有害」なものを検出するというのは技術的に難しい。貴重な情報を誤って「有害」と見なしてしまったり(false positive)、そのくせ露骨な性暴力コンテンツみたいなのを「有害でない」とみなしてしまう(false negative)。これが現代の技術の限

    フィルタリングの技術的問題点を知らしめる活動 - 世界線航跡蔵
  • 1