サーバサイドエンジニアの中村です。先日開催されたRubyKaigi2017に参加しました。 その中で最も興味深かったセッションである The Ruby Module Builder Pattern について自分なりの理解をまとめてみようと思います。 Moduleの問題 module内でdefine_methodを使ってメソッド定義を行ったmethodに対して、そのmoduleをextendしたclass内で該当のメソッドに対して super を呼び出すことができません。 module AdderDefiner def define_adder(*keys) define_method :+ do |other| self.class.new( *(keys.map { |key| send(key) + other.send(key) }) ) end end end class Line
2017年秋にリリース予定のiOS 11.1で登場予定の「Apple Pay Cash」は、既にリリースされているApple Payの新機能で、個人間送金が可能になるためユーザー同士でのお金のやり取りがApple Payで簡単に行えるようになるというものです。そのApple Pay Cashを、Appleの従業員が現在テスト中であることが明らかになりました。 Apple Employees Testing Apple Pay Cash Internally in iOS 11.1 - Mac Rumors https://www.macrumors.com/2017/10/03/apple-pay-cash-internal-ios-11-1-test/ Apple employees begin testing Apple Pay Cash in iOS 11.1 beta http:/
RubyKaigi 2017 Keynoteレポート 中田伸悦さん「Ruby開発者の日常」Making Ruby? ゆるふわRuby生活 〜RubyKaigi 2017 基調講演 1日目 2017年9月18日から20日まで、広島国際会議場にて「RubyKaigi 2017」が開催されました。基調講演の模様をレポートします。 RubyKaigi 2017 初日の基調講演はフルタイムRubyコミッタである、中田伸悦さんです。Rubyの開発環境、中田さんの普段の開発環境、最近面白かったpatchなどについて発表しました。 Rubyの開発を取り巻く環境 基調講演は、Rubyが普段どのように開発されているかという話からはじまりました。Rubyの開発を取り巻くものとして、バージョン管理システム・Issue管理システム・開発者会議の3つについて触れました。 バージョン管理システムはSubversionを
こんにちは、技術部の遠藤(@mametter)です。フルタイム Ruby コミッタとして、クックパッドにあたらしく入社しました。よろしくお願いします。 最近、Ruby や RubyGems の脆弱性を発見して、その結果セキュリティリリースにつながるということを経験しました。どういう動機でどのように脆弱性を発見したか、どのように通報したか、などについてまとめてみます。Ruby の脆弱性を見つけたけどどうしよう、という人の参考になれば幸いです。 HackerOne について HackerOne という脆弱性情報の通報と公開のためのプラットフォームをご存知でしょうか。 OSS にとって脆弱性情報の管理は面倒なものです。脆弱性の通報を秘密裏に受け付け、関係者だけで議論しなければなりません。そのため、通常のバグトラッカとは別のコミュニケーションチャンネルを用意する必要があります。 そこで Hacke
『リーダブルコード』を現場で読み解く! 開発スピードを向上させる、読みやすいコードの書き方【今こそ読み解きたい名著】 圧倒的名著として知られる『リーダブルコード』ですが、高い評価には理由がある!現役エンジニアが、この一冊を読み込み、変数名の命名法など、読みやすいコードを書く極意とその必要性を抽出します。 数多くの開発者から支持を受け、読み継がれてきた名著。そこには読み継がれる理由があります。 名著には、内容・ボリュームともに充実した書籍が多く、概要に目を通しただけで本を読んだつもりになっていたり、腰を据えて読む時間がなく「積ん読」してしまいがち。「エンジニアが絶対読むべき書籍●選」といった記事をブックマークするだけで読んだつもりになっていないでしょうか。 ポイントを押さえつつ内容を深掘りし、名著の根底に流れるエッセンスを開発に活かしましょう。 アプリエンジニアの池田惇(@jun_ikd)で
Paul BoagはUXデザイナーでデジタルトランスフォーメーションのエキスパート。非営利団体がWeb、ソーシャルメディア、モバイルを利用する支援をしている。 私たちは仕事をするために、クライアントとステークホルダーを納得させる必要があります。彼らがいないと、私たちは必要なことをするための承認を得ることができません。しかし、私たちのほとんどは説得するのが驚くほど下手です。よって問題は、私たちがどのように説得に失敗するのか、それについてどのように対処するべきかです。 私は、6月末のオンラインワークショップの準備にあたり、クライアントやステークホルダーとどのように協力して仕事するのかについて、多くのことを考えました。これは、同僚やクライアントから同意を得る方法について4つのパートから説明するものです。 私がこのようなワークショップを開くのは、ほとんどすべての作業において、やる価値があると他人を
Here is the English version of this article. この投稿は個人サイトとのクロスポストです。 2017年の8月下旬に思い立って、ツリー型タブのWebExtensions版を作り始め、去る9月26日にバージョン2.0としてリリースしました。 重い腰を上げて取り組む気になれたのは、必須と目していたAPIが一通り実装されてきて、Firefox 57でようやく技術的に作れる目処が立ってきたからでした。 関係者の皆さんの尽力に改めて感謝の意を表明します。 やっている事自体はそう難しい話ではなく、技術的に目新しいトピックは無いのですが、主に歴史的資料としてレガシーなアドオンの移行の一事例の記録を残しておこうと思います。 ツリー型タブとは? 一言でいうと、ツリー型タブ(Tree Style Tab、略してTST)は「Firefox用の、タブ同士の来歴・関係をツリー
speakerdeck.com 日本で開催されるもっとも大きなiOSに関するカンファレンスの1つであるTop | iOSDC Japan 2017に参加し、表題の内容で発表しました。 聴いてくださった方々からは好評のようでよかったです。発表資料は本題と関係のない話がちょこちょこ挟まったり、口頭の説明がないとわからないページがあり、スライドだけでは意図がよく伝わらない恐れがあるので、こちらで内容について補足します。 伝えたかったテーマは「依存が大きく複雑で、単体でテストしづらいコードを単体で動かしてテストできるようにするには」ということです。その題材として一般的に依存が複雑でテストしづらいコンポーネントであるビューを例として取り上げました。ですのでビューやUIをテストするということに絞った話ではなく、どのレイヤーに対しても複雑にいろいろな依存関係があってユニットテストが書けないという状況を改
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く