タグ

rubyに関するngyukiのブックマーク (8)

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

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

    私的アンリーダブルコード―他人を発狂させるための 9 のテクニック
  • Dotenvはproductionで使わないほうがよいのではという話 - なんかかきたい

    またRubyとかRailsの話になってる。当はこんな話なんてしたくなくて、スクフェスの話でもしたい。凛ちゃんマジえんじぇー。 Webアプリケーションを書いていると、データベースのユーザ名やパスワード、接続先サーバのIPなどなど、アプリケーションコードとは関係がないけれどもリポジトリ内には含めたくない、動かす環境に合わせて変更する必要のある設定を扱う機会がしばしばある。 こういう設定は環境変数に設定すると便利だよっていう考えがあって、The Twelve Factorsで紹介されていたりする。 The Twelve-Factor App これを実現するには、例えば /etc/environment や ~/.bash_profile みたいなファイルに書けばいいんだけど、開発環境では1台のPC上で複数のアプリケーションを書く機会も少なくないはず。 そういう場合に、/etc/environm

    Dotenvはproductionで使わないほうがよいのではという話 - なんかかきたい
    ngyuki
    ngyuki 2016/07/05
    /etc/environment とかだとむしろ再起動するしか無さそうな気がするけどそうでもないのかな
  • 「マイクロソフトを嫌っていたのではない、われわれが嫌われていたのだ」――Rubyまつもとゆきひろ氏が語る、MSの壁

    「われわれがマイクロソフトを嫌っていたのではない、マイクロソフトがわれわれを嫌っていたのだ」――日のソフトウェア技術者であり、Rubyの父とも呼ばれるまつもとゆきひろ氏は、日マイクロソフトが主催する開発者向けイベント「de:code 2016」でこう語った。一体何があったのか。 「オープンソースソフトウェア」の誕生 その歴史は、1996年までさかのぼる。当時、米Microsoftが開発していた「Internet Explorer」の機能強化により、それまで大きなシェアを獲得していたNetscape CommunicationsのWebブラウザ「Netscape」シリーズとの2大ブラウザ戦争が勃発した。その後、Internet Explorerはますます勢いを増し、この勢いに押されたNetscapeは1998年1月にNetscape Navigatorを無償化。しかしシェアの巻き返しには

    「マイクロソフトを嫌っていたのではない、われわれが嫌われていたのだ」――Rubyまつもとゆきひろ氏が語る、MSの壁
  • URLデコードをワンライナー(one liner)で | Linux | マイノリティでいこう

    wordpressのパーマリンクをタイトルにしてしまった関係で、apacheのログがURLエンコードされた状態で出力され非常に可読性が悪い。 そんなに気にしてなかったが、やっぱりどの記事を見てるのかわからないので、簡単なワンライナー無いかなと調べた。 ワンライナーならperlだろうと思っていたが、簡単そうで行き着いたのは、rubyだった。 以下

  • ランダムな日本語のデータを生成するGemまとめ - Qiita

    語の名前や住所を含んだテストデータを用意するためにGemを調べたのでまとめました。 ちなみにRuby ToolboxのRandom Data Generationタグでランキングを参照できます。 Faker Ruby Toolboxでダントツに人気があるGemです。名前(ふりがなは無い)、住所、電話番号を生成でき、多言語対応されており日語も使えます。 Ffaker Fakerをリライトし高速化したものですが、少しAPIも変わっており、日語は今のところ名前、職業のみのようです。 ForgeryJa 英語しか無いForgeryを日向けにしたものです。名前(ふりがな有り)、住所、その他いくつか対応されています。 Gimei 日語の名前や住所を取得できます。Fakerと違い、ふりがなにも対応しています。 下記のようにインスタンスをつくって同一名の漢字、ふりがなを取得できるのも便利です。

    ランダムな日本語のデータを生成するGemまとめ - Qiita
    ngyuki
    ngyuki 2016/01/16
    テスト用にランダムな日本語のテストデータを作成するやつ
  • 最近の Rack サーバ事情について - おもしろwebサービス開発日記

    先月、heroku推しサーバが unicorn から puma に変わったという発表がありました。unicorn だとスロークライアントの影響を受けやすいというのが理由なようです。 もう少し詳しく調べてみましょう。 そもそもスロークライアントってなに その名の通り遅い回線のクライアントです。3G環境のモバイル端末などが該当します。 「unicorn だとスロークライアントの影響を受けやすい」とは unicorn はプロセスモデルのサーバであり、blocking I/O モデルを採用しています。つまり、クライアントとの通信中プロセスが専有されるということです。 例えば unicorn がワーカプロセスを3つ立ち上げていて、そこへ通信完了に10分かかるようなスロークライアントが3つ接続されたら…、続くクライアントはスロークライアントの通信が完了するまで実行を待たなければならなくなります。プ

    最近の Rack サーバ事情について - おもしろwebサービス開発日記
    ngyuki
    ngyuki 2015/02/26
  • Rubyにはウンザリ!動的型付け、副作用、およびオブジェクト指向プログラミング全般からの考察 | POSTD

    この記事を書き上げるには、相当長い時間がかかりました。来は今年の年明け、 Rubyの死 やデイヴィッド・ハイネマイヤー・ハンソンの TDDは死んだ がアップされて騒ぎになる前に投稿するつもりだったのです。昨年末に書いたツイートを見てください。 > Rubyにはもう飽き飽きした。理由はいろいろあるが、特にその副作用と、ステータスが可変なせいで大量のユニットテストを書かされるのにはウンザリだ。 @abevoelker Rubyの開発に関しては、大勢の人が心のどこかで何かおかしい、何かが欠けていると思っているようですが、たいていの人は責める対象を間違っています。Rubyで書いたアプリがとんでもない代物になったって? それはあなたがきちんとテストコードを書かなかったか、テスト駆動開発(TDD)の指針に則って開発しなかったからです。もしくは、正しいデザインパターンに切り分けるための知識が不足してい

    Rubyにはウンザリ!動的型付け、副作用、およびオブジェクト指向プログラミング全般からの考察 | POSTD
  • http://www.phptoruby.com/

  • 1