論理削除gemをacts_as_paranoidからkakurenbo-putiに乗り換えようとした、そして諦めたRailsacts_as_paranoid論理削除kakurenbokakurenbo-puti 世間では論理削除そのものの是非を問うている昨今ですが rails4にしたらacts_as_paranoidが上手くいかなくなったのでkakurenbo-putiに乗り換えましたようとして諦めました。 本文書は大体エッセイですw kakurenbo-putiについては http://alfa.hatenablog.jp/entry/2015/02/02/233552 も御覧ください 何が辛かったか 一言で言ってしまうと 設計思想の違い acts_as_paranoid(paranoid)は利用者に論理削除を意識させないように設計されています 削除のメソッドは既存のAR#destroy
先日、あるRuby会議での雑談中に、こんなものが必要かなぁ、と感じたのでまとめてみています。随時コメント歓迎( @ksmakoto 等まで)。 前史 1988年(ないし1989年 (別冊であるので、その『bit』本誌が1月号か?)): 『bit』別冊「Common Lisp オブジェクトシステム ――CLOSとその周辺――」(単行本として再版されている http://www.kyoritsu-pub.co.jp/bookdetail/9784320122543 )この本の第1章§3.3(p. 18)に「筆者はこうしたことのためのメソッドを特異メソッドと呼んでいる」とある(井田昌之先生による)のが、Rubyの特異メソッドの由来( #:g1: 特異メソッドという訳語の謎 も参照)。 誕生〜20世紀 1993年2月24日: 「まつもとさんが作ろうと思った」( [ruby-list:6553] )
Don Roberts, Ralph Johnson, University of Illinois {droberts,johnson}@cs.uiuc.edu Frameworks are reusable designs of all or part of a software system described by a set of abstract classes and the way instances of those classes collaborate. A good framework can reduce the cost of developing an application by an order of magnitude because it lets you reuse both design and code. They do not require
ActiveModel::Serializersとは Railsなどで簡単で素早くjsonを作れるgemです。 ActiveModel::Serializersより、 ActiveModel::Serializers brings convention over configuration to your JSON generation. 実際に試してはないですが、ActiveModelに依存しているだけなのでSinatraなどでも使えるはずです。 なぜActiveModel::Serializersを使うのか 簡単で速いので使ってます。 簡単 Railsではjbuilderを使うことが多いですが、記法が直感的じゃなくて多少憶えにくいかな思ってます。 json.(@message, :content, :author) => {content: 'hello', author: 'kakk
更新情報 UTC+9:00, 2015/03/29, 3:30くらいに、サンプルコードとかロジックの説明とかを修正した UTC+9:00, 2015/03/29, 14:30くらいに、gistにした(エラッタの修正履歴を残すため)
仕事としてプログラミングをしていると、ときどき、どう見てもダメなコードを扱わないといけないことがある。そういうコードでも動いている以上はそれなりの価値を提供しているわけだけど、ときどき触るのすら嫌悪感を感じるようなものがある。 なぜ嫌悪感を感じるのかといえば、自分で最低限だと思っている想定すら守られていないからだ。常識の通じない人たちの書いたコードには身の毛もよだつような何かがある。 コーディングスタイルが統一されていない インデントが狂っている 到達不能なデッドコードがたくさんある 無意味なコメントやコメントアウトされたコードがある コメントの文章が文章としておかしい コピペの繰り返しがたくさんある ネストが恐ろしく深い 関数が絶望的に長い 無意味に複雑 こういったコードを触らなくてはいけなくなったとき、そのままで編集するのはかなり難しい。コードの内容以前に、不自然な部分でいちいち引っか
株式会社トランスリミット 社内規程 https://github.com/Translimit/company-regulation 順調に従業員が増えてきて、そろそろ労基署へ就業規則を提出する必要があるということで、改めてちゃんとした就業規則を作りました。そして、その就業規則をGitHubで公開することにしました。 これまでは、ネットに落ちている適当なテンプレートを組み合わせて小1時間程度で作成したもので、お世辞にもちゃんとしたものではありませんでした。従業員が10名未満であれば、就業規則を労基署へ提出する義務が発生しないため、このように就業規則が甘かったり、そもそも就業規則なんてものは存在しないスタートアップもあるのではないでしょうか。 今回、弊社は初めて就業規則を労基署へ提出することになりますが、このような状態で中途半端な就業規則のままだと、従業員はおかしな条件で働かされるリスクを負
こんにちは、自転車創業の中島です。 先日お知らせさせて頂いたとおりですが、3月から自転車通勤を推奨している企業の取材記事を連載開始しました。 第1回目のパシフィックコンサルタンツは、建設コンサルタント事業として自転車による地域活性化支援も手がけており、事業と社内制度が結果的にリンクしているなどとても興味深いお話が聞けました。 パシフィックコンサルタンツが自転車通勤制度を導入した理由−交通施策のプロに訊く自転車通勤のいま【前編】 核心は“乗りやすさ”の道路情報−交通施策のプロに訊く自転車通勤のいま【後編】 そこで今回の記事では自転車通勤を推奨している企業をまとめてみたいと思います。ご多分に漏れず、当社の取材希望リストという意味も含まれておりますので、「取材受けてもいいよ!」というご担当者様からのお声はもちろん「そこの社員知り合いいるから紹介するよ」というお声も大歓迎です!いつでもお声がけくだ
クラウドソーシングサービスのランサーズを見ていると以下の案件が掲載されていた。 ・至急 30日早朝まで 原子力パワーポイントスライド翻訳(ランサーズ)(ミラー) 至急 30日早朝まで 原子力パワーポイントスライド翻訳の依頼詳細 原子力関係のパワーポイントスライドの翻訳をお願いします。 翻訳はスライド上の日本語の上に英語を上書きする形になります。 納期は明日30日の早朝ですので、 至急ご対応いただける方がいましたらぜひご連絡ください。 どうぞよろしくお願いします。 と書かれており、実際に翻訳してほしいパワーポイントが、某ファイルアップロードサービスにアップされていた。どんなファイルか気になり、ダウンロードしてみると ※担当の名前の部分はぼかしをいれてます なんと「原子力規制委員会」のロゴが入った、50ページにわたる「原子力基礎研修テキスト」だった。 表紙には「機密性2」という文字書かれている
お支払方法 ・クレジットカード 【手数料 ¥0】 ・代金引換 【手数料 ¥330】 ・銀行振込(前払い) 【振込手数料お客様負担】 楽天銀行 第二営業支店 (普通)7956253 ガクブチノタカハシ(カ ・郵便振替(前払い) 【振込手数料お客様負担】 11100(記号) 38108781(番号) ガクブチノタカハシ(カ ・コンビニ後払い 【手数料 ¥330】 商品到着から、1週間程度で請求書が届きます。 ・法人専用コンビニ後払い 【手数料 ¥330】 請求書発行月の翌月末払い。 ⇒詳細はこちら。 送料について 1回のお買い物に対し、上記の送料がかかります。 商品数に関わらず同額で、商品数で加算はされません。 大型配送品について ⇒詳細 大型商品は路線便での配送となります。 ※日祝配送・時間指定・代引払いが不可となります。
4月中旬ころになりますが、新著が出ます。SQLのパフォーマンスを主題にした本で、実行計画を読むことで、なぜこのSQLは遅いのか、あるいは速いのかをデータベースの内部動作まで把握して理解しよう、という趣旨です。 リレーショナルデータベースというのは、SQLという自然言語を模したインタフェースによって、低次のレイヤーを隠蔽する意図で作られたミドルウェアなので、本当は実行計画などという手続レベルの世界をユーザが覗き見るのは、本末転倒なところもあります。ただそうはいっても、現実にSQLが遅かったら原因を解析せざるをえないわけだし、大体本当にブラックボックスにしたいなら、なんでどのDBMSも実行計画を見られる手段なんか用意してるんでしょうね不思議ですね、という理想と現実の狭間で悩むエンジニアの方々に少しでもベターな解に辿りつけるアプローチを提示できれば、と考えております。 以下まえがきと章立てです。
前回 BeautifulSoup4 を単独で使ってスクレイピングする方法について記事を書いた。 Web スクレイピングは主にクローリングとスクレイピングの二つのパートに分かれていて、BeautifulSoup4 は後者に特化したパッケージだった。 今回は、Scrapy というフレームワークを使って、前者のクローリングも含めてやってみよう。 まずは今回使用する Scrapy と BeautifulSoup4 をインストールする。 ちなみに Scrapy は現時点で Python 3 対応が完了していないので、ここからの作業は全て Python 2.x 系の環境が必要になる。 また、今回の内容には不要だけど、いちいち出る警告を消したいので service_identity も一緒にインストールしておく。 $ pip install scrapy beautifulsoup4 service_i
cURL(カール)を使いこなしている人からしたら「当たり前のこと」なのだろう。 人様のコードをコピペしただけなので理屈でもって説明できない。(理解していない) が、たしかに自分の実行環境では実行時間が半分(2倍の早さ)になった。 キャッシュじゃない。何度も確かめたけど結果はおなじ。驚いた。 参考にしたサイト きっかけは、以下のブログ記事。ユーザー関数。 ・PHPメモ : file_get_contentsの代替にcURLを使う – Mach3.laBlog おれがスクレイピングに利用していたのは「file_get_html」という「simple_html_dom.php」のヘルパー関数。 おれのケースの場合、「file_get_html」と「file_get_contents」を比べるのは、そもそも間違っているのだのだが、とにかく「Curl」で取得したほうが速いらしいというのを聞きつけた。
Easy Active Record for Rails Developers is the ultimate guide to mastering building database-driven Rails applications using the powerful Active Record ORM Framework. By loosely following along with the development of a fun, web application for retro arcade aficionados, you’ll learn how to: Understand the importance differences between and implement the belongs_to, has_one, has_many, has_and_belon
2015年1月22日、及び3月6日に警視庁はご当地グルメサイトへ不正アクセスを行い、そこから得た情報で別のサイトへさらに不正にアクセス、そして詐欺を行ったとして無職男性を逮捕したことを発表しました。ここではその関連情報をまとめます。 容疑 事案名:不正アクセス禁止法違反及び詐欺等事件 容疑者 川崎市無職男性 20歳 男性は容疑を認めている。 犯行目的は金銭。スマートフォン等の購入も転売目的で行っていた。 捜査担当部署 警視庁サイバー犯罪対策課 蒲田署 2015年1月22日までに逮捕された容疑 詐欺など 2014年11月〜12月に北九州市80代女性のIDとパスワードを用いて、楽天に不正にログインし、パスワード等を変更。楽天のサイトを通じてクレジットカード番号を取得し、4万2800円のスマートフォン1台*1の不正購入に取得したクレジットカード情報を使用した。*2 購入したスマートフォンは大田区
Githubが同社サービスに対してDoS攻撃が行われていることを発表しました。一連のDoS攻撃はGreatfire.orgに対して行われているものと考えられ、ここではGreatFire.orgに関係するDoS攻撃の情報をまとめます。 公式発表 GreatFire.org 2015年3月19日 We are under attack 2015年3月25日 (PDF) Using Baidu 百度 to steer millions of computers to launch denial of service attacks Github 公式Blog 2015年3月28日 Large Scale DDoS Attack on github.com · GitHub Github 公式Twitter The attack has ramped up again, and we're evo
75 Minutes of Instructional Video Included With the People's Choice Book Package! Learn More Easy Active Record for Rails Developers Master Rails Active Record and Have a Ton of Fun Doing It! Easy Active Record for Rails Developers is the ultimate guide to mastering building database-driven Rails applications using the powerful Active Record ORM Framework. By following along with the development o
What Does a Rails Expert Know About Debugging that You Don't? You've Been Searching the API Docs Online for Hours. That Exception Still Makes No Sense. An Expert Would Know What To Do, But You're Still Sitting There... I Want to Be a Rails Expert ‘The magic thing about Rails is when I looked at it the first time, I knew how it worked because I already knew Ruby really well. I saw all the metaprogr
The reference for writing superb iOS apps with Ruby on Rails backends.This book is really two books in one. The the first book covers building a backend API in Rails. We will demonstrate how to create a robust, clean, flexible JSON API. Along the way, we’ll discuss different approaches that we didn’t choose and discuss their drawbacks. The second book walks you through creating an iOS application
Learn to test with confidence Learning to test your Ruby and Rails code can be tough. Even after you've been through blog posts and tutorials, screencasts and demo apps, you might find yourself feeling more lost than ever. Ruby and Rails developers emphasize testing for good reasons, and you want to get on board, but even so, it can be damn hard to learn. You just want to write tests that tell you
人工無脳を作ってみよう!本書では「人工無脳ってなに?」というところから始め、単純なサンプルプログラムを作り、いくつかのテクニックを盛り込みながら、それを次第に複雑なものへと進化させていきます。 関連サイト本書の関連ページが用意されています。 恋するプログラム―Rubyでつくる人工無脳|マイナビブックスサポートサイト内容紹介ほんとに無脳?人間とプログラムのコラボレーション。これって恋? ネットワークにはいろんな人工無脳がいます。彼らは人間とおしゃべりをして、笑わせたり感心させたりむかつかせたりするお遊びプログラム・人工知能までにはいたらないオモチャではあるんですが、これがなかなかかわいいオモチャなのです。 本書は人工無脳を作ってみようという本です。まずは「人工無脳ってなに?」というところから始め、単純なサンプルプログラムを作り、いくつかのテクニックを盛り込みながら、それを次第に複雑なものへと
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く