Mongoid フィールド定義の上書きを設定する

Env Rails 4.2.7 Mongoid 5.1.1 結論 警告を消したいなら、以下のように overwrite オプションを追加することで消すことができます。 field :_id, type: String, overwrite: true, default: -> { generate_id } 以下では設定前後の比較やログの確認をしています。 警告メッセージを確認する フィールドを重複して定義していると警告がログに出力されます。 コーディングミスにより重複している場合はこのログで気づけるわけです。 ですが、例えば _id フィールドの採番ルールをカスタマイズしたい場合など、フィールドを再定義したい場合があります。 app/models/user.rb class User include Mongoid::Document include Mongoid::Timestamps field :_id, type: String, default: -> { generate_id } field :created_at, type: Time, default: -> { Time.current } end Rails console $ rails c > User.first log/development.log Overwriting existing field _id in class User. Overwriting existing field created_at in class User.

2016/05/16 気になるサービス

slack-sql https://github.com/wang502/slack-sql Slack 上でSQLを実行する /sql コマンドが使えるようになる 面白いこと考える人がいますねー Python で実装されており、DatabaseはPostgreSQL GitHub でソースが公開されています カゴ落ち損失シミュレーター http://www.cart-rcv.jp/sim/#/view ひと月の売上高と平均単価を入力することで、カゴ落ちにより発生するであろう損失金額を導き出す http://eczine.jp/news/detail/3123 Image Search Keyboard https://imagesearchkeyboard.com/ iOS キーボードアプリ キーボードから Google の画像検索をして貼り付けできる 個人的には lgtm.in とか tiqav 版もあると嬉しい 画像で会話するような時に便利かも(チャットやTwitter)

Itamae & Serverspec ことはじめ

Itamae を使って Vagrant 環境を構築してみます。 また、構築した環境は Serverspec でテストします。 今回のサンプルコードは GitHub にアップしました。 Env Mac OS X El Capitan 10.11.4 ruby 2.3.1 rake 11.1.2 itamae 1.9.6 serverspec 2.34.0 Vagrant 1.8.1 Vagrant セットアップ まずは Vagrant の設定を。 $ mkdir workdir; cd workdir $ vagrant init CentOS7 で試してみたことがあったので、今回は Ubuntu でいきます。 $ vagrant init ubuntu/trusty64; vagrant up --provider virtualbox ref: https://git.io/vrsCY 起動した Vagrant にログインできることを確認。 $ vagrant ssh Itamae で Nginx をインストール Itamae も Serverspec も Ruby の Gem で公開されています。 Bundler を使ってインストールします。

2016/04/25 気になるサービス

O RLY Cover Generator http://dev.to/rly オライリー風の画像ジェネレーター 色や表示の動物などを選択してそれっぽい表示画像を作れる bioo http://www.bioo.tech/ 植物から電気を作って、スマホやタブレットを充電!! 化学はよくわからないのですが光合成によって発生した電気を使ってる?? クラウドファウンドで資金調達中 glot.io https://glot.io/ コードスニペットの実行, 保存, 共有が可能 コードの実行はdocker上で行われる Hashkell製のOSS

2016/04/18 気になるサービス

せっかく社内に共有してるのでこっちにも転載 HeroZebra https://www.herozebra.com/ Instagram にアップした画像で自分のショップを持てるサービス Instagram のアカウントが必要 決済は Paypal, Stripe 独自ドメイン使用可能 STORES.jp も Instagram の画像を商品画像にできるんだよ kite https://kite.com/ コードを書くとリアルタイムでスニペットやサジェストを表示してくれる エディターのみならず、ターミナルのコマンドもサポート タイポも指摘してくれる (Did you mean) Sublime Text, emacs, vim, PyCharm, Atom, Terminal.app, iTerm をサポート これは捗るかも!! 詳しく見てませんが入力情報をどのくらい送信してるかが気になりますね ※ なんで 凧 ?? Spaces https://joinspaces.co/ インテリア特化のキュレーションサイト 商品は全てAmazonのもの 購入も Amazon.com から 面白いのは部屋のコーディネート例から、そこに使われている商品を買えるところ 新居を購入した夫婦で運営してるようですよ

Input Validation using Regular Expressions

Injection Vulnerabilities For example SQL Injection Sample code SELECT * FROM users WHERE id='$id' $id is fetched from the user input. if user input is below, ';DELETE FROM users -- Sample code to create an SQL statement to select SELECT * FROM users WHERE id='';DELETE FROM users --' Check input values using regular expressions Only alphanumeric and length 1-5 '/\A[a-z0-9]{1,5}\z/ui' u : UTF-8 encoding i : case-insensitive mode \A \z : \A only ever matches at the start of the string.

[tig] Browse the Github pull request

Browse the Github pull request that includes selected commit Required jonas/tig github/hub open-pr command $ vim open-pr $ chmod +x open-pr ref: https://gist.github.com/mknkisk/381acbb8c87f67df5e3f Browse Github pull request page $ open-pr {commit id} Custom bindings to tig custom bindings to tig in your ~/.tigrc + bind generic P @open-pr %(commit) Refs GitベースのコードリーディングTips - クックパッド開発者ブログ tig から当該コミットがマージされた Pull Request 画面を開く - Qiita Find the github pull request for a commit

Sidekiq API

Queue Deletes all Jobs in a Queue, by removing the queue. Sidekiq::Queue.new.clear link: API · mperham/sidekiq Wiki

Extract email & message of bounced mail from Postfix logs

Extract email & message from Postfix logs $ grep 'status=bounced' mail.log | gawk 'match($0, /to=<(.+)>,.+said: (.+)$/, m) {print m[1] "," m[2]}' > extract_email_message_from_maillog.csv $ cat extract_email_message_from_maillog.csv hoge@example.com, 550 <hoge@example.com>: User unknown (in reply to RCPT TO command)) hoge@example.com, 50-5.1.1 The email account that you tried to reach does not exist. Please try 550-5.1.1 double-checking the recipient's email address for typos or 550-5.1.1 unnecessary spaces. Learn more at 550 5.1.1 https://support.google.com/mail/answer/6596 Sort error code

Web + その他の記事メモ - 2016/02/13

EC Tokyo Otaku Modeに訊く、「独身の日」の経験から言える中国越境ECの戦いかた|ECzine(イーシージン) [http://eczine.jp/article/detail/2700?p=3] * 海外でECやるには文化の違いも考えないとですね (サポート対応 etc) AWS ELBのアクセスログをAWS LambdaでElasticsearchに取り込む | Developers.IO [http://dev.classmethod.jp/cloud/aws/elb-accesslog-to-elasticsearch/] * 最近、Lambda をやっと触り始めたので Analytics 無料でGoogleアナリティクスと連携してKPIを自動設定する「Dot metrix」サービス提供開始 | Web担当者Forum [http://web-tan.forum.impressrd.jp/n/2016/02/09/22149] JS 最近のWebサイトで使われている、レスポンシブ対応のページレイアウトに役立つスクリプトのまとめ | コリス [http://coliss.com/articles/build-websites/operation/javascript/javascripts-for-page-layout.html] OSS nemex.io [http://nemex.io/] Markdown記法で書けるライトなOSSブログエンジン・「nemex」 - かちびと.net [http://kachibito.net/useful-resource/nemex] Service Foodshot [http://foodshot.co/] 食品関係の写真素材をCC0ライセンスで提供するフード専門のストックフォトサイト・「FOODSHOT」 - かちびと.net [http://kachibito.net/useful-resource/foodshot] * 食品特化のサイトは初めて見た 社内で利用するツールを紹介し合うクチコミサービス - Wantedly Tools [https://www.wantedly.com/company_tools] ウォンテッドリー、社内で利用するツールをシェアする口コミ機能「Wantedly Tools」を開始 - THE BRIDGE(ザ・ブリッジ) [http://thebridge.