タグ

ブックマーク / ainame.hateblo.jp (6)

  • Rubyで並列処理をやっていく #AdventCalendar - ainameの日記

    mixiグループアドベントカレンダー2016 1日目です。 今回は、自分が今まで利用したRubyでの並列処理を書くためのgemとか知見を紹介します。 機運 先日のRubyKaigi 2016で、Ruby3ではGuildという新しい並列処理のモデル*1が、導入されるというセッションがあったり、concurrent-rubyというgemの開発が流行り初めて居たりと、Ruby界隈でも何となく並列処理がブームきているように感じます。 マルチプロセス/スレッド しかしRubyで並列処理するのは言語の仕様としてそれなりに制限があり、他の言語のようにThreadをバンバン立ててマルチコアで計算!爆速化!!みたいなのは難しいです。 というのも、Ruby1.9からネイティブスレッドは導入されたものの多くのC拡張を使ったgemのスレッドセーフ性が問題となるため、GIL(Global interpreter l

    Rubyで並列処理をやっていく #AdventCalendar - ainameの日記
  • 来年からブリストル(イギリス)で働く - ainameの日記

    近況報告。2018年の1月2日からついにイギリスで働く。12月18日に日旅立つ。6月に東京のクックパッド株式会社に入社したが、ビザ(Tier 2 General)取得の都合上、 出向ではなく一度退職してからの転籍という形でイギリスのブリストル(ロンドンではない)にオフィスがあるCookpad Ltd.に入社する。も一緒に渡英する。 前回の近況報告からのアップデートは以下。 ビザ申請 Tier 2 General (up to 3 years)のビザ申請を行った。 参考までに超詳細に手順を書いたとしても数年後にはUK側の法律が変わっている可能性があるので、 手順は公式の情報を当たるのが良い。 Tier 2 (General) visa - GOV.UK https://www.gov.uk/tier-2-general 9月末にIELTSの試験を受験してとりあえずかろうじてビザ申請に必要

    来年からブリストル(イギリス)で働く - ainameの日記
  • スクラムチームで属人化させずにiOSもAndroidもRailsもAWSも全部やっていく話 - ainameの日記

    去年から「家族アルバムみてね」というスマホアプリの開発を担当している。(公にはそんなに言ってなかったので改めて宣言しておきます。) 子供の居る家庭向けのデジタルアルバムサービスで、お子さんが居る方はぜひ使ってみてください。 mitene.us 自分は子供どころか結婚もしていないのでターゲットユーザという感じではないけど、 社内の新規プロジェクトとして初期から関わらせていただくことが出来て、 スマホアプリ開発どころかAPIサーバーのRails以外に関しては経験がほとんどないままここまでやってきた。 開発者が(ほぼ)4人という割りと少人数チームでそれぞれのエキスパートのような人がチーム内に居ない中、 iOS版のためにObjective-C書いてAndroid版のためにJava書いてAPIなりWeb版のためにRuby書いて番環境のために AWS一から学んで環境構築したりして改めて振り返るとやっ

    スクラムチームで属人化させずにiOSもAndroidもRailsもAWSも全部やっていく話 - ainameの日記
    a2ikm
    a2ikm 2015/09/02
    自分もiOS書いてAndroidちょっと見てWeb API書いてAWS触ってという感じだったけど、最近はWeb APIが好きだと感じで完全にそっちになった。
  • Rubyでメソッドチェイン可能なクエリオブジェクトを書く - ainameの日記

    ひとでさんのこの前のYAPCでの発表(ベストスピーカーおめでとうございます)の はてなブログではドメイン駆動など使ってイケてるサービスを作り続けているぜっていう話、 オブジェクト指向やらドメイン駆動の話とかいろいろあったけれども、 結局のところイケてるサービスを作り続けるためには継続的にコードベースも良くしていかなければいけない っていうメッセージがあったのだったのだと勝手に解釈していてすごい共感している。 エリック・エヴァンスの自体買って中途半端に読んで読みっぱなしなので、 ドメイン駆動設計については何も意見できるところはまだない。 でも最近思うのが、複雑な仕様を手続き的に実装すると確実に複雑なままになってしまうので、 やっぱりビジネス上に現れるルールは単語で表現してコードに起こすという作業をしないと ダメだと思って、ここ数日過去に作ったコードに手を加えるついでに大幅に書き直している。

    Rubyでメソッドチェイン可能なクエリオブジェクトを書く - ainameの日記
  • ffmpegがハングしたことを検知したらkillするための実行環境 - ainameの日記

    先日から作り始めているmediakitにread timeout的な機能を追加した。 read timeout read timeoutというのは入力待ち状態に制限を設けて、制限いっぱいまで待っても入力が得られない場合はタイムアウトとして終了するような機能で、ネットワーク周りのライブラリにはよく実装されている気がする。 ffmpegのハングアップ検知 日々Sidekiqなどの非同期ジョブサーバー上でffmpegを用いてエンコードを実行していると、たまになかなか終了しなくて長時間生き残ってしまうプロセスがいるので、そういう状態を検知して殺していかなければ、キューが詰まってしまうことになる。 read timeoutと似たような枠組みで、ffmpegにもハングアップしたことを検知してkillする処理を実装できる。ffmpegはコマンドを普通に実行すると標準エラーにエンコードの進行状況を書き込ん

    ffmpegがハングしたことを検知したらkillするための実行環境 - ainameの日記
    a2ikm
    a2ikm 2015/05/24
    ffmpegの標準エラーを使ったハンドリング、ダミーのコマンドを使ってのテスト、rubyのマルチスレッド・プロセスプログラミング、Cool::IO
  • Clang-FormatでObjective-Cのコードを整えたらレビュー捗る - ainameの日記

    最近Objective-C書いてるのでClang-Formatというツールを試してみた。 些末なコードレビュー - naoyaのはてなダイアリー にもある通り、コードレビューするときにいちいちソースコードのフォーマットを指摘し続けるのはアンチパターンで、人間以外がやるべき仕事PerlならPerltidyというツールがあるけど、Objetive-C(C, C++)にはclang-formatというコマンドがある。暇なので社内で導入出来るように調べた。 ClangFormat — Clang 3.5 documentation 使い方 CLIの場合は以下のように実行する。-iで指定したファイルを上書き、-styleでフォーマットを指定する。 $ clang-format -i -style=Google Hoge.m これだけで既存のコードがフォマッターの設定通りに整えられる。 2014年

    Clang-FormatでObjective-Cのコードを整えたらレビュー捗る - ainameの日記
  • 1