タグ

2014年4月21日のブックマーク (11件)

  • Objective-Cで非同期処理のテストをシンプルに書く方法 | TOKOROM BLOG

    非同期処理のテストってどう書いてますか? 標準のXCTest自体がサポートしていれば良いのですがそうではないので、非同期処理のテストを書きたい場合には、その仕組みを自作するか出来合いのライブラリを利用する必要があります。現実的な選択肢としては、 GHUnitやKiwiなど非同期処理をサポートしたテストフレームワークを利用する GHunitの非同期処理のテストの仕組みを真似て抜粋したライブラリを利用する(意外とこれが多いかも?) expectaなどのマッチャーライブラリに付属の非同期処理の仕組みを使う となるかと思います。 ただ、私が調べた時点だとどれもしっくりきませんでした。 まず、GHUnitやKiwiなどを採択している場合には良いのですが、非同期処理のテストを書くという目的だけのためにそれらのフレームワークを使うというのは冗長すぎます。 また、GHUnitの非同期処理の仕組みだけを抜き

    ryshinoz
    ryshinoz 2014/04/21
  • JavaScriptでBDDを実現するCucumber.js - Julien Biezemans氏へのインタビュー

    Julien Biezemans氏はCucumberコアチームのメンバであり,Cucumber.jsの作者である。Cucumber.jsはCucumberをJavaScriptネイティブで実装したもので,任意のJavaScript環境で動作する完全な移植版だ。 Node.jsが動作する任意のブラウザ上だけでなく,Cucumber.jsは事実上,JavaScriptHTMLを生成するすべてのもの(Node.js, Ruby on Rails, PHP, .NETなど)に対して使用することができる。 InfoQ: Cucumber.jsとは何でしょう? 注目すべき理由と,それがどのような問題を解決するのかを教えてください。 Biezemans: Cucumber.jsは,BDD(Behavior-driver development)ツールとして有名なCucumberをJavaScript

    JavaScriptでBDDを実現するCucumber.js - Julien Biezemans氏へのインタビュー
    ryshinoz
    ryshinoz 2014/04/21
  • LINE iOSアプリ開発についてのご紹介 LINE Engineers' Blog

    [English version] はじめまして、LINE技術戦略室のhayaishiです。 趣味自転車と言っていますが最近は全く乗っていません。 この記事では、LINEのiOSアプリ開発に関することをいくつかご紹介させていただこうと思います。 LINEのiOSアプリ開発環境 ソースコード管理 ソースコードはgitで管理しています。gitのリポジトリブラウザとしてGithub Enterpriseを利用しており、Githubでお馴染みのPull Requestなどを活用して開発を進めています。 また、LINEのiOSアプリのタスクについてはGithub Enterpriseとは別のチケット管理システムを利用しておりそちらのステータスと連携して開発者、QA、プランナー間の開発状況の共有を行っています。 Gitでの開発フローについて LINEのiOSアプリはgithub-flowの様に

    LINE iOSアプリ開発についてのご紹介 LINE Engineers' Blog
    ryshinoz
    ryshinoz 2014/04/21
  • チャットワークの新しい開発言語とフレームワークを決める開発合宿を開催!その全貌を丸公開します。 | チャットワーククリエーターズブログ

    みなさんこんにちは、技術部Webチームリーダーの田中佑樹です。 みんなからはたなやんと呼ばれています。Vimが大好きです。 さて、今回は先日開催した2泊3日のChatWork開発合宿の全貌についてご紹介したいと思います。 「開発合宿をやってみたいけど、どうすればいいのかよくわからない」という方の参考になれば嬉しいです。 なぜ開発合宿をすることになったのか? チャットワークは2011年3月の公開以来、順調にユーザー数を伸ばし2014年4月時点で世界170カ国42,000社の企業に導入されるまでに成長しています。 そんな中、現在チャットワークのバックエンドで動いているプログラムが今後の運用において最適ではないのではという懸念があり、言語とフレームワークの再選定をしようという声が上がりました。 ただ、なかなか日頃の業務の中で時間を取るのは難しく、今後のチャットワークを左右する重大な選択なので

    チャットワークの新しい開発言語とフレームワークを決める開発合宿を開催!その全貌を丸公開します。 | チャットワーククリエーターズブログ
    ryshinoz
    ryshinoz 2014/04/21
  • modelは直接ActiveRecord::Baseを継承しているのは、なぜ? · Issue #162 · yochiyochirb/meetups

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    modelは直接ActiveRecord::Baseを継承しているのは、なぜ? · Issue #162 · yochiyochirb/meetups
    ryshinoz
    ryshinoz 2014/04/21
  • blank?の振る舞いを詳しく調べてみた - Qiita

    概要 ActiveSupportによって定義されるObject#blank?の挙動について、興味位で無駄に詳しく調べたのでまとめる。 調査したバージョン:ActiveSupport 4.0.0 調べた内容 レシーバーがなんとなく「空っぽい時」にtrueを返してくれるようだが、厳密に言うとどんな時にtrueを返すのか? それらの振る舞いはどのような仕組みで実装されているのか? 調べ方 RailsGuidsを読む コードを読む わかった事 概要 レシーバーとなるクラスが何なのかによって、#blank?がどんな振る舞いをするかが変わる。 おおむね以下の4つのパターンに分けられる 1. #empty?にデリゲートした結果を返す 例えば、Hash#blank?はHash#empty?と同じ結果になる。 HashとArrayがこのパターン 2. インスタンスの状態にかかわらず、決め打ちで値を返す 例

    blank?の振る舞いを詳しく調べてみた - Qiita
    ryshinoz
    ryshinoz 2014/04/21
  • AppleのデバイスはなぜHeartbleedの被害を免れたのか? | 小龍茶館

    セキュリティに関するソフトウェア「OpenSSL」が、 最近Hearbleedによる非常に重大なセキュリティホールを抱えていることが暴露され、 それらが大量のウェブサイトに波及していることが判明し、 業界内を震撼させたのは記憶に新しい。 しかしAppleのiOSやOS XシステムやAppleのサービスは全て影響を受けていないという。 これはどのような方法を使ってそのHeartbleedの毒牙から逃れたのだろうか? 米国のテクノロジーブログ、 4月18日のApple Insiderの記事がその背景にある秘密の物語について述べている。 以下は要約に一部私の解説を足したものだ(にしてもちょっと長いのでお時間がある方はどうぞ)。 2011年、Appleは既にOpenSSLの使用を中止していた 2011年、Appleはデベロッパー向けに、 Apple自身がOpenSSLが入っているOS Xの共用デー

    AppleのデバイスはなぜHeartbleedの被害を免れたのか? | 小龍茶館
    ryshinoz
    ryshinoz 2014/04/21
  • The Elixir programming language

    All Elixir code runs inside lightweight threads of execution (called processes) that are isolated and exchange information via messages: current_process = self() # Spawn an Elixir process (not an operating system one!) spawn_link(fn -> send(current_process, {:msg, "hello world"}) end) # Block until the message is received receive do {:msg, contents} -> IO.puts(contents) end Due to their lightweigh

    The Elixir programming language
    ryshinoz
    ryshinoz 2014/04/21
  • 非同期ストリーム処理の標準化を目指す "Reactive Streams" とは - Okapies' Archive

    TL でこんなのが流れてたので少し調べてみた。 Learn about the Reactive Streams initiative & how we're supporting a standard for asynch stream processing on the JVM http://t.co/5wUF0PjTBe— Twitter Engineering (@TwitterEng) 2014, 4月 17 Reactive Streams って? Reactive Streams ”JVM 上でのノンブロッキングなバックプレッシャーを持つ非同期ストリーム処理の標準の提案”(公式サイトより)。 ざっくり言うと、既にある JVM ベースの様々な非同期ストリーム処理フレームワーク実装の共通部分を括りだして API 化、SPI 化しようというもの。最終的には JSR での標準化を目指

    非同期ストリーム処理の標準化を目指す "Reactive Streams" とは - Okapies' Archive
    ryshinoz
    ryshinoz 2014/04/21
  • “binding.pry”って実際のところは何なのだろう - Qiita

    はじめに この記事はPryのコミッターであるkyryloが書いたso-what-is-binding-pry-exactlyを訳したものです。日語訳の公開を快く許可してくれたkyryloに感謝します。 Pryの使い方で一番最初に習うのは、“binding.pry”だと思います。この言葉をあちこちに埋め込むことで、幸せになれます。簡単にいうと、“binding.pry”を使うことで、日々の生活がだいぶ楽になります。あなたは“binding.pry”が何者なのか、不思議に思ったことはありませんか? 細かいことなので気にならなかったことだと思います。私がPryを使い始めたときは、これをおまじないの一種と考えました。“binding.pry”は不思議な魔法のようにみえたのです。魔法などでないことは、確かです。しかし、新しいことを学ぶとき、実際より不思議に思えてしまうことはよくあることです。この記

    “binding.pry”って実際のところは何なのだろう - Qiita
    ryshinoz
    ryshinoz 2014/04/21
  • 大江戸Ruby会議04参加しました! スライド・リンクまとめ

    Asakusa.rbが主催している『大江戸Ruby会議04』に参加してきました。10時スタート、19時半終了で15件以上の発表があり、盛りだくさんでした。そして、アットホームな雰囲気と「生活発表会」という絶妙なテーマで時間を感じさせないすごく楽しい一日でした! シンプルにスライドや、発表の中で出ていたリンクを中心にまとめています。 (話に聞き入りすぎて、メモを結構忘れていました。断片的ですごく申し訳ない^^;) (05-01 21:20) YouTubeの配信動画、スライド2つ追加 🐮 これから読んでいきたい書籍Rubyソースコード完全解説 今回のAsakusa.rbで、4-5回オススメされていた『Rubyソースコード完全解説』。HTML版は無料で読めるそうです。 Ruby Hacking Guide ruby-hacking-guide.github.com / original_re

    大江戸Ruby会議04参加しました! スライド・リンクまとめ
    ryshinoz
    ryshinoz 2014/04/21