タグ

kadoyauのブックマーク (501)

  • ドワンゴを退職しました - ytanaka's blog

    2019/2/28をもって株式会社ドワンゴを退職しました。 ドワンゴにエンジニアとして新卒入社して今年で約4年になります*1。色々と注目度の高い会社で様々な経験をさせてもらいました。ここでは備忘録の役割も込めて、何をやってきたか・どんなこと感じたかを書いていきたいと思います。 何をやってきたか 初年度はドワンゴの教育事業であるN予備校の企画開発とAndroidアプリの開発、2年目以降はN予備校やniconareといった新規サービスのインフラ構築やSREを担当していました。AndroidからSREに転向したのは一度フロントエンドから離れたところで経験を積んでみたかったというのがあります(当時人数が少なくて大変そうだったというのもある)。 結果的にネットワークなどの基礎的な部分から負荷対策、例外やアクセスログ監視、オンコール対応、パフォーマンスの改善といった、今でいうところのSRE的なものの最

    ドワンゴを退職しました - ytanaka's blog
    kadoyau
    kadoyau 2019/03/05
    すごい推薦システムに期待!
  • 見積もりについて勉強したことを色々スライドにしてみた - だいたいよくわからないブログ

    見積もりについて思ってることとかをまとめてみました。 マネージメントの実戦経験というよりソフトウェア開発手法について学んだ結果のアウトプットみたいなノリでみていただければ幸いです。 社内勉強会で話したので会社のスライド使ってますが、会社が今こうというわけではなく一般的な話にとどめています。(あとstudy_lean_agileっていう名前の勉強会なんですが、このスライドはリーンもアジャイルもあまり意識していません) 前半は自分なりの考え方、後半は具体的にはこうしたらいいんじゃないかと思っていることという風に分けています。 誰のための見積もり・何のための見積もり part1 from matsu_chara Matsubayashi www.slideshare.net 誰のための見積もり・何のための見積もり part2 from matsu_chara Matsubayashi www.s

    見積もりについて勉強したことを色々スライドにしてみた - だいたいよくわからないブログ
    kadoyau
    kadoyau 2019/01/29
  • 約3年かけてプログラマ向けニュース推薦アプリを作り直した話 - Qiita

    概要 『もっとより良いニュースアプリはできないだろうか』 そう考えてMenthasというニュースアプリを開発し、プログラマ向けニュースキュレーションサービスを作ってみた話 という記事をQiitaに書き、自分の予想を超えた反響を受けてから約3年になります。 しばらく開発の更新は留まってしまいましたが、ニュース推薦に関しての探求が終わったわけではなく、むしろ見えてきた課題のために数多くの論文を読んだりプロトタイピングを繰り返していました。 そしてつい先日、これまで解けなかった問題に対してようやく答えを自分なりに導き出すことができたため、骨格となるアルゴリズムの刷新に始まり、ついで開発もインフラからサーバサイド、フロントエンド・デザインと、全面的なリニューアルを行うことに成功しました。 新しいMenthasは以下のリンクから使用することができます。 https://menthas.com 今回は

    約3年かけてプログラマ向けニュース推薦アプリを作り直した話 - Qiita
    kadoyau
    kadoyau 2018/09/07
  • ssコマンドはバグと地雷の塊なのでnetstatの代わりにならない - ろば電子が詰まつてゐる

    既に有名な話ですが、CentOS 7およびRed Hat Enterprise Linux 7からはifconfigコマンドやnetstatコマンドが非推奨となり、デフォルトインストールすらされなくなりました。代替として、ifconfigコマンドはipコマンド、netstatコマンドはssコマンドが用意されています。 というわけでさっそくssコマンドを試していたのですが、明らかに動きがおかしなところがあり、少し調べてみました。 そして、「netstatコマンドの代替と思って安易にssコマンドを使うと、これは痛い目に遭うな……」ということが分かったので、不幸になる人を少なくするためにこのエントリを書きました。 概要 結論から先に言うと、CentOS 7/ RHEL 7のssコマンドには「UDPの開放ポートがTCPと報告される」というひどいバグがあり、使うべきではありません。 また、ssコマン

    ssコマンドはバグと地雷の塊なのでnetstatの代わりにならない - ろば電子が詰まつてゐる
    kadoyau
    kadoyau 2018/08/20
    2015年には直っており、CentOS7.2では問題ないっぽい https://bugzilla.redhat.com/show_bug.cgi?id=1063927
  • ディープラーニングの力で結月ゆかりの声になってみた

    目次 (背景)自分の声を結月ゆかりにしたい。前回はあまりクオリティが良くなかったので、手法を変えて質を上げたい。 (手法)声質変換を、低音質変換と高音質化の二段階に分けてそれぞれ学習させた。画像分野で有名なモデルを使った。 (結果)性能が飛躍的に向上し、かなり聞き取れるものになった。 (考察)精度はまだ改善の余地があり、多対多声質変換にすることで精度が向上すると考えられる。今回の結果を論文化したい。 デモ動画 背景多くの人が可愛い女の子になりたいと思っている。 CG技術やモーションキャプチャ技術の向上により、姿は女の子に仮想化できるようになってきた。 しかし、声に関してはまだまだ課題が多い。 声質変換は「遅延」「音質」「複数話者」などの難しい課題がある。 今回は、自分の声を結月ゆかりにするための、低遅延で実現可能な高音質声質変換を目指した。 手法大きく分けて3つの工夫をした。 画像ディープ

    kadoyau
    kadoyau 2018/02/13
    なりた〜い
  • Joe Duffy - Blogging about Midori

    Founder/CEO Pulumi • Cloud, languages, and developer tools guy • Eat, sleep, code, repeat Enough time has passed that I feel safe blogging about my prior project here at Microsoft, “Midori.” In the months to come, I’ll publish a dozen-or-so articles covering the most interesting aspects of this project, and my key take-aways. Midori was a research/incubation project to explore ways of innovating t

  • メモリのビット反転エラーとセキュリティの話|Rui Ueyama

    ハードウェアのエラーでメモリの内容が化けてしまうことが稀にある。大抵のDRAMエラーはせいぜいプログラムがクラッシュする結果になるだけだが、データ破壊になることもありえるし、悪意のある使い方をすればセキュリティ破りに使うこともできてしまう。ここではメモリエラーとセキュリティの話をしようと思う。 メモリのエラー率は意外なほど高い。データセンターで大規模なマシン群を対象に実際に観測したところ、1年間に1回以上のエラーが発生したDIMMモジュールは全体の8%にのぼったそうだ。DIMM 1枚に数百億個のメモリセルが実装されているといっても、このエラー率はちょっとびっくりするくらい大きな数字ではないだろうか? サーバでは普通はエラー訂正付きのDIMMを使うので1ビットのエラーは問題にならないが、エラー訂正のないコンシューマ機器ではこれは実際的な問題になりえる。 メモリエラーを利用したセキュリティ破り

    メモリのビット反転エラーとセキュリティの話|Rui Ueyama
  • 『アメーバピグにおけるDB構成&対応記』

    2ヶ月前にインフルエンザとウィルス性胃腸炎でひどくダメージを受けた増田(@masudaK)です。アメーバピグは2009年2月に始まったサービスで、FLASH・Javaで作られています。そして、データストアにMySQLを用いてます。記事では、わたくしが2年ほど見続けているアメーバピグのDB環境について構成や、日々どのようにして問題と向き合っているかを紹介したいと思います。インフラ寄りの内容が多いため、アプリ寄りの話は弊社生沼の資料を御覧ください。 1. 構成と規模 1.1. 構成 まず構成ですが、読み書きはすべてマスターへ行うようにしています。そのため、スレーブには参照を向けず、ホットスタンバイとして使っています。バージョンに関しては2012年中旬までは5.0を使ってましたが、DC移転にあわせて5.5にあげました。ロック機能を用いたシャード構成をしてまして、2014年3月現在6シャードにな

    『アメーバピグにおけるDB構成&対応記』
    kadoyau
    kadoyau 2017/11/01
  • Encoder-Decoder でレシピの材料名を正規化する - クックパッド開発者ブログ

    研究開発部の原島です。部のマネージメントのかたわら、自然言語処理関連の開発に従事しています。エントリでは、最近社内で開発した自然言語処理システムを紹介します。 ■ 「しょうゆ」のバリエーションは 100 種類以上 クックパッドで以前から解決したかった課題の一つに材料の名前(以下、材料名)の正規化があります。 クックパッドレシピは複数の材料から構成され、各材料は名前と分量から構成されています。例えば、上のレシピの一つ目の材料は「豚薄切り肉」が名前で、「200g」が分量です。 さて、この材料名はこのレシピでは「豚薄切り肉」という表現でした。しかし、他のレシピでは「豚うす切り肉」という表現かもしれません。「豚うすぎり肉」や「ぶた薄切り肉」、「豚薄ぎり肉」等の表現もありえますね。 これは異表記同義(いわゆる表記揺れ)の問題ですが、同様の問題は他にも沢山あります。例えば、以下のようなものです。

    Encoder-Decoder でレシピの材料名を正規化する - クックパッド開発者ブログ
    kadoyau
    kadoyau 2017/10/30
  • きららフォワードCTF Writeup - バランスを取りたい

    発端はこれ。 きららフォワード読んでたらめちゃめちゃ不自然な半分のQRコード出てきたんですが、CTFか? pic.twitter.com/FIbeTeepew— 格手打ち麺 (@tyage) 2017年9月20日 QRコードといえばSECCONですが、このタイプの欠け方は今まで見たことがなかったのでチャレンジしてみました。 ちなみに今までCTFで出たQRコード問題は、 データ部分が完璧に残っている エラー訂正部分がほぼ完璧に残っている フォーマットデータが壊れている の大体3種類です。 今回のQRコードはデータがちょっと欠けつつエラー部分はほぼ全滅、になっています。 まずはテキストに書き起こさないと始まらないので書き起こします。 XXXXXXX X XXX X XXXXXXX X X X X X X X X XXX X X X X XXX X X XXX X XXX XX X X XXX

    きららフォワードCTF Writeup - バランスを取りたい
    kadoyau
    kadoyau 2017/10/25
  • 電話番号を扱う技術

    libphonenumberͷίί͕ੌ͍ TelephoneNumber.valid?('8180XXXXXXXX') # => true TelephoneNumber.valid?('+81 80 XXXX XXXX') # => true TelephoneNumber.valid?('080 XXXX XXXX', 'JP') # => true require 'telephone_number' telephone_number = TelephoneNumber.parse('8180XXXXXXXX') telephone_number.e164_number # => +8180XXXXXXXX telephone_number.national_number # => 080-XXXX-XXXX telephone_number.country.country_id #

    電話番号を扱う技術
    kadoyau
    kadoyau 2017/10/24
  • 意外と知らない?NICを冗長化するボンディング(bonding) - うさぎ文学日記

    割と長い間ネットワークに携わってる人と話していて、その人がボンディングの存在を知らなかったので、もしかして知られていないのではないかと思ったので紹介してみます。 Linuxでは、ボンディング(bonding)を使うことでNICの冗長化、負荷分散ができます。ケーブルが断線したり、間違えて抜いてしまったなんてことがあったとしても大丈夫です。 このボンディングはNICを複数束ねて使うことで、1個のチャンネルにすることができます。異なるベンダーのNICとかでも大丈夫ですよ。(bondingは機能の名称で、束ねることはteamingとも言うらしい) 異なるスイッチ(更に、その上に異なるルーターとか)なんかにつなぐと、更に冗長化ですよ。 当たり前ですが、NICは2個以上消費します。 /etc/sysconfig/network-scripts/ifcfg-bond0 を作成 DEVICE=bond0

    意外と知らない?NICを冗長化するボンディング(bonding) - うさぎ文学日記
    kadoyau
    kadoyau 2017/10/02
  • 料理きろくにおける料理/非料理判別モデルの詳細 - クックパッド開発者ブログ

    研究開発部の菊田(@yohei_kikuta)です。機械学習を活用した新規サービスの研究開発(主として画像分析系)に取り組んでいます。 最近読んだ論文で面白かったものを3つ挙げろと言われたら以下を挙げます。 Poincaré Embeddings for Learning Hierarchical Representations Training Group Orthogonal Neural Networks with Privileged Information Fluctuation Theorem for Many-Body Pure Quantum States クックパッドのアプリには「料理きろく」という機能があります。 携帯端末から料理画像のみを抽出して表示することで自分がべたものを振り返れるようになっており、ここからレシピ投稿やつくれぽを送ることもできるようになっています

    料理きろくにおける料理/非料理判別モデルの詳細 - クックパッド開発者ブログ
  • Consulのおもしろそうな仕組みについて調べてみました : DSAS開発者の部屋

    はじめに KLabさんの協力会社として一緒にお仕事をさせて頂いておりますクラスターコンピューティングと申します。今回はSerfの同様にHashiCorpより提供されているConsulを試してみました。 コンテナによるクラスタなど随時サービスが追加削除されるような環境ではそのアドレスはDHCPなどにより動的に決定されます。コンテナ名などでそのサービスにアクセスできれば便利ですが、動的なアドレスとコンテナ名の関係をどのように解決するかという点が問題になります。クラスタ内でロードバランサやリバースプロキシ等を利用している場合、サービスの追加に応じてその設定ファイルも動的に更新しなくてはなりません。また、構成が随時変化するなかで、現在どのサービスがどのホストで実行されているかということを把握する必要もでてきます。 Consulを利用することによりこれらの問題を解決することができます。今回はそのため

    Consulのおもしろそうな仕組みについて調べてみました : DSAS開発者の部屋
    kadoyau
    kadoyau 2017/09/15
  • scryptがGPUに破られる時 | びりあるの研究ノート

    一般的によく知られている SHA-256 や MD5 などのハッシュ関数は非常に単純な設計となっており、非力なパソコンや組み込み機器、スマフォなどでも高速に計算できます。 しかしながらその一方で、ハッシュ関数を手当たり次第に計算し、もとの入力値を復元するいわゆる「ブルートフォース攻撃」が容易であるというデメリットがあります。 特にこのような SHA-256 や MD5 といったハッシュ関数は、GPU を用いるか、もしくは専用のハードウェア (FPGA もしくは ASIC) を製作することで非常に高い効率で計算(攻撃)ができてしまうことが知られています。 そのため、GPU ないし専用ハードウェアを用いたとしても、攻撃効率の改善が難しくなるような新たなハッシュ関数がいくつか提案されています。 その中で比較的古く (2012年ごろ) に開発され、他のハッシュ関数にも影響を与えている「scrypt

    scryptがGPUに破られる時 | びりあるの研究ノート
  • Songrium 超歴史プレーヤ - 初音ミク10周年記念版

    バブルアニメーションで見るニコニコ動画のカテゴリ史。ニコニコ動画の各カテゴリごとの動画を投稿日順にクロスフェード再生できます。懐かしのあんな動画やこんな動画をふりかえってみませんか?ニコニコ動画全体(総合)のほか、ボカロ音楽・歌ってみた・踊ってみたカテゴリの動画でバブルアニメーションを楽しめます。

    Songrium 超歴史プレーヤ - 初音ミク10周年記念版
    kadoyau
    kadoyau 2017/09/06
    ザッピングして気になった曲をマイリストできて便利。半受動的に曲を概観できる
  • コンセプトから学ぶAmazon DynamoDB【Amazon RDSとの比較篇】 | DevelopersIO

    よく訓練されたアップル信者、都元です。AWS上のシステム設計において、どんな時にRDSを選択するのか、そしてどんな時にDynamoDBを選択するのか。比較しながら見て行きたいと思います。 RDBとNoSQL ACIDなRDB 一昔前、一般的に「データベース」と言えば、多くはリレーショナルデータベース(RDB)のことを指していました。テーブルと呼ばれる「行とカラムで構成される二次元のデータ構造」に対して、SQLと呼ばれる強力なクエリ言語で操作を行い、データの一貫性(Consistency: どこから観測しても同じ値が得られること)や操作の原子性(Atomicity: 一連の操作を全て適用commitするか、全てキャンセルrollbackするかの二択として実現できること)を実現するモデルは、開発者を含むシステムの利用者にとって非常に理解しやすく、広く受け入れられて来ました。多くの方がご存知の通

    コンセプトから学ぶAmazon DynamoDB【Amazon RDSとの比較篇】 | DevelopersIO
  • Introducing the Aurora Storage Engine | Amazon Web Services

    AWS Database Blog Introducing the Aurora Storage Engine What Is Amazon Aurora? Amazon Aurora is a MySQL and PostgreSQL compatible relational database service that combines the speed and availability of high-end commercial databases with the simplicity and cost-effectiveness of open source databases. Amazon Aurora provides up to five times better throughput than MySQL and three times better through

    Introducing the Aurora Storage Engine | Amazon Web Services
  • AWS f1インスタンスでのFPGA開発

    AWSののFPGAインスタンスを使って開発する方法について記録する。AWSでのFPGA開発は以下の3ステップで行う。 FPGA Developer AMIを起動する FPGA HDKでAmazon FPGA Image (AFI)を作成する FPGA SDKでAFIをロードする FPGA Developer AMIの起動 まず、AWSでのFPGA開発に必要なVivadoなどのソフトが用意されたFPGA Developer AMIを起動する。 https://github.com/aws/aws-fpga#fpga-developer-ami によればこのAMIははc4/m4/r4/t2.2 xlargeのいずれでも動くそうなので、最初はこれらの安価なインスタンス上で開発・シミュレーションを行い、開発が終わったところでf1インスタンスを立ち上げるようにすれば費用が抑えられる(が結局実機がない

  • DBの基礎 - コネクションプーリングについて

    コネクションプーリングについて、わかっていないことが多すぎたので、ちょっとだけ調べたことをメモで残しておきます。 今はまだ触りレベルしかわかっていなのいので、もう少しちゃんと分かるようになりたい! 😀 [スライド] データベースの羅針盤 コネクションプーリングを調べている過程で偶然見付け足資料 『データベース技術の羅針盤』。 とにかくわかりやすくて、俯瞰的にDBの業界を知ることができる資料。すばらしすぎる。 🎂 コネクション・プーリングとは?DBのコネクションを一定数確立しておいて、それを使いまわす手法のこと。 DBへの接続に必要となるオーバーヘッドをカットしてWeb/DBの双方の負荷を下げる。 また、WebとDBの接続を使いまわすことで同時接続数を節約する。 用意した、コネクション数を超えたアクセスは、コネクションに空きがでるまで待たされる。 以下はOracle関連の話ですが、基

    DBの基礎 - コネクションプーリングについて