タグ

2013年12月4日のブックマーク (9件)

  • てめえらのRailsはオブジェクト指向じゃねえ!まずはCallbackクラス、Validatorクラスを活用しろ! - Qiita

    てめえらのRailsはオブジェクト指向じゃねえ!まずはCallbackクラス、Validatorクラスを活用しろ!RubyRails ちょっと煽り気味のタイトルにしてみましたが、Railsで開発する時は意識的にOOPに寄せないとオブジェクトの力が活かせなくなるよってことと、Railsが提供しているクラスの責務を分割することを支援してくれる機能について話をします。 ActiveRecordの性質 Rails開発においては、モデル層にロジックを書いてコントローラーは薄くしろ、というのはしつこく言われているので、概ね浸透してきていると思います。 それに加えて、最近私が結構しつこく主張しておきたいのが、モデル = ActiveRecordでは無いよ、ということです。 ActiveRecordは成り立ちから言うと、ロジックとDBへの永続化をまとめてカプセル化するアーキテクチャパターンから来ています。

    てめえらのRailsはオブジェクト指向じゃねえ!まずはCallbackクラス、Validatorクラスを活用しろ! - Qiita
    komlow
    komlow 2013/12/04
  • HubTech - Latest Technology and Gadgets News

    Curious about the ETH to USD conversion rate? Experts predict a significant surge in Ethereum’s…

  • 次世代標準非同期I/Oフレームワーク asyncio (Tulip) - methaneのブログ

    Python Advent Calendar 2013 の4日目です。 Python 3.4 で標準ライブラリに追加される asyncio を触ってみます。 なお、 Tulip とは asyncio のリファレンス実装のプロジェクト名です。 背景 Python はよく非同期 I/O プログラミングに使われます。 Twisted, Tornado, gevent, eventlet, pyuv などのフレームワークがあります。 これらのフレームワークの問題点として、ライブラリの再利用性の低さが挙げられます。 たとえば Twisted 用に書かれた XMPP ライブラリは、そのままでは Tornado で 利用することができません。 この問題の解決策として、良くイベントループの乗り入れが行われます。 GUIアプリケーションに組み込む場合などを考えて、多くのフレームワークが最初から イベントルー

    次世代標準非同期I/Oフレームワーク asyncio (Tulip) - methaneのブログ
  • ポータブルなWebアプリケーション - naoyaのはてなダイアリー

    140文字で書ききれなかったのでブログに殴り書き。 Heroku のアプリケーションを人に渡す 昨日、「naoyaさんが作ってるiOSアプリのバックエンドサーバーに相乗りさせてもらえないか」という話をいただいた。自分でも同じようなAndroidアプリを作っているけど、サーバーサイドは作ってないからということらしい。 対して「githubにコードあるからgit cloneしてheroku pushすれば動くし、自分で heroku にデプロイしてよ」と応えた。相乗りしてもらってもよかったのだけど、こちらでコードを書き換えたりメンテしたときに先方のアプリが停止することを考えると同じコードベースでサーバーは自分で立ててもらう方が何かと良い。 対象になったソフトウェアは Heroku で動かしていたので、Heroku Ready な形、つまり、必要な外部パッケージの一覧やサーバーの起動手順なんかは

    ポータブルなWebアプリケーション - naoyaのはてなダイアリー
    komlow
    komlow 2013/12/04
  • 2012年衆院選落選候補の元公式サイトが順調にSEO業者等のサテライトサイトに化けつつある - 情報の海の漂流者

    2012年衆議院選挙から、そろそろ一年。落選者の公式サイトは順調にドメイン失効し、アフィリエイターやSEO業者のサテライトサイトに化けつつある。 サテライトサイトとは Googleは検索順位を決める際に「質の高いサイトからリンクしてもらっている数」を考慮する。 これをうまく利用(悪用?)した手法の一つに、サイトを量産して、そのサイト群から命サイトへ自作自演でリンクりまくるというものがある。 (一時期それで検索順位が跳ね上がるケースが出て、問題視されていた。いまはどの程度効果があるのか不明) この時、信用度が高い中古ドメインを買い取り、その信用を流用すると、サイトを一から育てる手間が省ける。 だから、適度に被リンクが付いている中古ドメインを狙う人が出てくる。 1.国政選挙の候補者は落選後HPを管理しなくなる事が多く、選挙の一年もたつとドメインを失効してしまうことが珍しくない。 2.候補者の

    2012年衆院選落選候補の元公式サイトが順調にSEO業者等のサテライトサイトに化けつつある - 情報の海の漂流者
    komlow
    komlow 2013/12/04
  • BackboneマンがAngular勉強会いってきたけどそんなに好きになれなかった話 #ng_jp - mizchi's blog

    最初に僕のポジションは表明しておくけど、今までbackbone.js, というかそのラッパーであるchaplin.jsべったりの環境で開発してて、今のプロジェクトをゼロから作り直す機会があるので次バージョンのためのライブラリ選定のためにとりあえず比較として angularを試した見た程度の人間なので、深くは理解してない。 Angularのメリット 僕の浅い理解と勉強会での話を総合した感じ レールに乗り切った時の開発効率が半端ない レールがしっかり敷かれているので開発者の能力差が問題にならない HTMLがテンプレートなので意味的な乖離が少ない ビューモデルに対する操作が一貫していてテスタビリティがある 自分もモジュラリティがあるHTML/CSSは幻想だと思っているので、HTMLに直接属性を書くのは別に構わないと思っている。 ただ、集団開発でも開発者の能力差が問題にならない、という発表をしてい

    BackboneマンがAngular勉強会いってきたけどそんなに好きになれなかった話 #ng_jp - mizchi's blog
  • 若いエンジニアへ

    エンジニアなら誰でも突貫工事に喜びを見出した経験がある。深夜2時の夜を共にした同僚のことは、その職業人生を通じて忘れることはない。しかし、そこにいかなるドラマがあろうとも、突貫工事は例外である。これを常態としてはならない。 メーカーの組込みプログラマとしてエンジニアのキャリアをスタートした私は、「よい製品はよいプロセスから生まれる」ことを頭に叩きこまれた。素晴らしい製品を生み出す工場は静かである。常に誰かが大声で叫んでいるような工場には明らかにプロセス上の問題が認められ、素晴らしい製品を生むことは決してない。 物のエンジニアは突貫工事を好まない。突貫工事とはプロセス上の誤りであり、つまり誰かが大声で叫ばなければならないということだからである。エンジニア仕事は計画され、コントロールされたものでなければならない。 長時間労働によって成果を生み出そうとすることも、やはり例外としなければなら

  • Put chubby models on a diet with concerns

    Different models in your Rails application will often share a set of cross-cutting concerns. In Basecamp, we have almost forty such concerns with names like Trashable, Searchable, Visible, Movable, Taggable. These concerns encapsulate both data access and domain logic about a certain slice of responsibility. Here’s a simplified version of the taggable concern: module Taggable extend ActiveSupport:

    Put chubby models on a diet with concerns
    komlow
    komlow 2013/12/04
  • ssig33.com - Rails のファットモデル対策

    http://37signals.com/svn/posts/3372-put-chubby-models-on-a-diet-with-concerns これ読めばいいんじゃねえかと思います。 Rails を設計している人達は module に切り出せばそれでいいだろ糞 include された結果生成されるドメインモデルが超絶巨大だろうが知ったことか糞 という発想で生きていることが伺えます。 module に切り出す粒度はどうするかとかこれはこれで難しいとろはあるのですが簡単な考え方ですし、現実的な落とし所がこの辺にある場合は多いと思います。 無意味に複雑なやり方を導入しようとする人間を殺せ。 back to index of texts Site Search