あとで読むに関するrlhoのブックマーク (77)

  • 私的アンリーダブルコード―他人を発狂させるための 9 のテクニック

    コードはたいてい一度しか書かれませんが、何度も何人も読むことになります。 普段何気なく書いているコードが他人の時間と精神を削っているかもしれません。 そんなわけで、個人的に辛いなと思うことを 9 つ挙げてみました。共感してもらえるものもいくつかあるんじゃないかと思います。 実体にそぐわない変数名 見分けの付かない配列とハッシュの変数名 呼び出し元で true/false を指定するだけの引数 暗黙の実行順序 [] メソッドの定義・Array の継承 ハッシュの乱用 密結合した mixin 過剰な nil guard 条件によって異なる返り値の型 推薦図書 静的型付き言語を使うことで解消される問題もありますが、その選択肢はひとまずなしということで。 Ruby 前提になっていますが、他の言語にも言えることも多いと思います。 実体にそぐわない変数名 例えば Vehicle というクラスが定義され

    私的アンリーダブルコード―他人を発狂させるための 9 のテクニック
    rlho
    rlho 2017/01/27
    気をつけないといけない
  • Moving persistent data out of Redis

    EngineeringMoving persistent data out of RedisHistorically, we have used Redis in two ways at GitHub: We used it as an LRU cache to conveniently store the results of expensive computations over data originally persisted in… Historically, we have used Redis in two ways at GitHub: We used it as an LRU cache to conveniently store the results of expensive computations over data originally persisted in

    Moving persistent data out of Redis
  • Cakeboxでお手軽CakePHP - コネヒト開発者ブログ

    皆様、こんにちは! 今一番楽しみなのは 劇場版「Fate/stay night」Heaven's Feelであると言っても過言ではないエンジニアの結城(@super_manner)です! さて、突然ですが現在私はCakePHP3を使ってAPI開発を行っています。 エントリを読んでくださってるみなさまは普段どのような言語、フレームワークを使用されていますか? 体感として、近年私の周りでPHPをメインに開発されている方にはLaravelを使用されている割合が高いように思います。 日頃開発を行う中で、ふと「さっくり他のフレームワークを試してみようかな」と思うことはありませんか? 私の場合は、つい最近まではLaravelをメインに開発を行っていたので、CakePHP3を使用するにあたってあまりコストを掛けずに試すことができるものをもとめていました。 日はお手軽にCakePHP3を試してみたいな

    Cakeboxでお手軽CakePHP - コネヒト開発者ブログ
  • RESTful API の設計のキホン

    2016/10/12 社内勉強会で使ったスライドを社外向けに一部加筆訂正したもの

    RESTful API の設計のキホン
  • A Tale of Four Caches

    Yoav Weiss (@yoavweiss) has been working on mobile Web performance for longer than he cares to admit. He takes image bloat on the Web as a personal insult, which is why he joined the Responsive Image Community Group and implemented the various responsive images features in Blink and WebKit. He is now working at Akamai as a Principal Architect, focused on making the Web platform faster by adding pe

    A Tale of Four Caches
  • HTTP APIの詳細なエラー情報をレスポンスに持たせるための仕様

    今日では HTTP(s) で API が公開されることは当たり前の時代ですが、エラーをアプリケーションにどう伝えるかは、個々の API の設計に依存していました。特に、HTTP ステータスコードは有限であり、元々持っている意味があるので、自由に使うことはできません。API はそのドメインごとにもっと複雑で細かなエラー情報があるはずで、それらはレスポンスボディに載せてアプリケーションに伝えることになりますが、その書式に規定は今までありませんでした。 HTTP API にて、アプリケーションにエラー情報を伝達するための(レスポンスボディに載せられる)標準的な形式が、RFC7807 Problem Details for HTTP APIs で定められています。適用例としては、以下のようになります。 HTTP/1.1 403 Forbidden Content-Type: application

  • 例外設計における大罪 - 契約

    This document summarizes a microservices meetup hosted by @mosa_siru. Key points include: 1. @mosa_siru is an engineer at DeNA and CTO of Gunosy. 2. The meetup covered Gunosy's architecture with over 45 GitHub repositories, 30 stacks, 10 Go APIs, and 10 Python batch processes using AWS services like Kinesis, Lambda, SQS and API Gateway. 3. Challenges discussed were managing 30 microservices, ensur

    例外設計における大罪 - 契約
  • Railsアプリケーションにおけるエラー処理(例外処理)の考え方 - Qiita

    はじめに Railsアプリケーションを格的に作り込んでいくと、「エラー」とは無縁ではいられません。 しょうもないバグでエラーが発生することもありますし、ほとんど不可抗力ともいえるような大規模なネットワーク障害でエラーが発生することもあります。 エラーの種類がなんであれ、エラーが起きた場合は「原因を素早く特定し、速やかに復旧させること」と「あるエラーが引き金になって、さらに大きなエラーに引き起こさないようにすること」が重要です。 エラー処理を適切に実装していれば、原因の特定や復旧もすばやくできますし、さらに大きなエラーを引き起こす可能性も少ないです。 また、ソースコードも比較的シンプルに保てます。 逆にエラー処理が不適切だと原因の特定に時間がかかったり、異常なデータがどんどん増えてさらに大きなエラーを引き起こしたりします。 ソースコードにも無駄に複雑な処理フローや条件分岐がたくさん出てきて

    Railsアプリケーションにおけるエラー処理(例外処理)の考え方 - Qiita
  • 独断と偏見で選ぶ、新人Rubyプログラマの為の技術書21選 - Qiita

    株式会社LITALICOでWebエンジニアRails)を担当しています、@YudaiTsukamotoです。 この記事は『LITALICO Advent Calendar 2016』21日目の記事です。 はじめに 業務なり趣味なりでプログラミングを学習していくと、技術書を読む機会が誰しも有るのではないでしょうか? 初心者や、新人プログラマの時は、対象となる無数の技術書の中から自分にとって良い技術書を探す事は中々難しいのかなと思います。 技術書を選定する基準はいくつか有ると思いますが 「他人がオススメしている」 という選定軸はそれなりに有効であるという事を私は初心者から頑張って勉強した過程の中で学びました。 そこでLITALICO Advent Calendar 2016の21日目の日、 不詳ながら私が新卒1年目の時に読んだ技術書(サイトも含む)の中から21個をピックアップしてみようかと

    独断と偏見で選ぶ、新人Rubyプログラマの為の技術書21選 - Qiita
  • Railsにおける「サービスレイヤ」「サービスオブジェクト」について – recompile.net

    Railsを使ったアプリケーションの特定の場面では、「サービスレイヤ」や「サービスオブジェクト」という概念を導入すると有効に機能することがあります。今回は、その紹介をします。 まず、サービスレイヤとは何でしょうか。『Patterns of Enterprise Application Architecture(以下、P of EAA)』では「サービスレイヤは利用可能な操作を定め、各操作へのアプリケーションレスポンスを取りまとめる」と定義されています(参照)。ユーザーインタフェースなどからの呼び出しを受け付けるアプリケーションの境界として、ビジネスロジック、トランザクション制御、レスポンスなどの取りまとめをするのが、サービスレイヤの役割です。 では、どのようなときにサービスレイヤを導入するのでしょうか。P of EAAには、次のように記述されています。 You probably don’t

    Railsにおける「サービスレイヤ」「サービスオブジェクト」について – recompile.net
  • SSSSLIDE

    SSSSLIDE
  • kubernetes初心者のための入門ハンズオン - Qiita

    この記事はリクルートライフスタイル Advent Calendar 2016の10日目の記事です。 DEPRECATED! [2020/12/05追記] この記事内のコマンドは現在のバージョンの挙動と一部異なっていたり、説明に不正確な部分があります。 例えば公式のチュートリアルなど、信頼できる情報を参照ください。 https://kubernetes.io/ja/docs/tutorials/kubernetes-basics/ 2019/05/30追記 下記内容は若干の不正確を含みますので、軽く読み流して雰囲気を掴んでいただいたあとは https://qiita.com/Kta-M/items/ce475c0063d3d3f36d5d などご参照いただくとよいかと思います。 こんばんは 「sshするときの-p 443ってなんの数字ですか?」ぐらいの素人がインフラ周りを担当し8ヶ月、kub

    kubernetes初心者のための入門ハンズオン - Qiita
  • Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

    ※ダウンロードして読んでください。 日デジタルゲーム学会 第14回月例研究会(2008年7月4日) 開始時間 18時00分 第14回月例研究会の概要が決定いたしましたので、お知らせいたします。 開催日時:2008年7月4日(金) 18:00開始 20:00終了 場所:東京大学郷キャンパス 工学部新2号館9階 92B教室 (地図)http://www.u-tokyo.ac.jp/campusmap/cam01_04_18_j.html 定員:120名 講師: 新 清士(ゲームジャーナリスト、IGDA日) 三宅 陽一郎(フロムソフトウェア) タイトル: 「『SPORE』を読む〜ウィル・ライトの思想とゲームデザイン」 概要: 「シムシティ」シリーズのクリエーターであり、世界で最も有名なゲームデザイナーウィル・ライト(Maxis/EA)が現在開発している「SPORE」は、微生物から、生物、文

    Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)
  • プログラミング勉強を加速させる7つの習慣 - Qiita

    記事は自分が運営するブログに転載しています 株式会社LITALICOでWebエンジニアRails)を担当しています、@YudaiTsukamotoです。 この記事は『LITALICO Advent Calendar 2016』16日目の記事です。 はじめに 私は学生時代は情報工学の専攻でもなければ、趣味でプログラミングをやっていたわけでもなく、 社会人になってWebエンジニアとして初めてまともにプログラミングを勉強し始めました。 入社するまでに独学で勉強の真似事をしてはいましたが、そもそもどうやって勉強していいのか全然わからず、 を読んで写経をして何故だか理由はよくわからないが動作してしまうミニブログを眺めては、ため息を付いて挫折を繰り返しておりました。 そんな初心者だった自分が、Webエンジニアとしてべていくために気で努力して身につけたノウハウを、 「プログラミング勉強を加

    プログラミング勉強を加速させる7つの習慣 - Qiita
  • Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(前篇)

    Builderscon 2016 における講演資料です。 ソフトウェアの人工知能化について話しています。 https://builderscon.io/builderscon/tokyo/2016 Read less

    Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(前篇)
  • FlashAir を使ってデジタルカメラを『はいふりカメラ』にする | Recruit Tech Blog

    今回はデジタルカメラからでもはいふりカメラを楽しめるように、FlashAir と RaspberryPi、AS-289R2(プリンターシールド)を用いてはいふりカメラ&はいふりプリンタを開発します。 開発するシステム FlashAir の Lua 機能には、ファイルシステムにアクセスできるものがあります。これを使うと、デジタルカメラで写真を撮影した時に Lua を実行して、撮影した画像ファイルを操作することが可能です。 この機能を使い、FlashAir の中で撮影した画像にはいふり画像を合成すれば、デジタルカメラをはいふりカメラにすることが出来そうです。っと思いきや、実は FlashAir の RAM は非常に小さいため、FlashAir の Lua 機能で画像処理をすることは困難な事がわかりました。そこで、今回ははいふり化を行うためのサーバー(はいふりプリンタ)を用意し、FlashAir

    FlashAir を使ってデジタルカメラを『はいふりカメラ』にする | Recruit Tech Blog