nishinipporirb.doorkeeper.jp 西日暮里.rbでGraphQLのスキーマ定義をRubyでやって、動かしてみたというLTをしてきた。 発表資料はこちら speakerdeck.com 動かせるサンプルコードはこちらにあるので、興味がある方はお試しください。 github.com GraphQLは特定のストレージやFWに対応する実装ではないので、何のORMを使ってどのDBにつなぐかは関係しない。 今回は使い慣れているので、ActiveRecordを使った。 今回の発表ではGraphQLをRubyに理解させられるぞ以上のことは何もできていないのが残念。 次回までにGraphQLで何か作っておきたい。 あと西日暮里.rbのオーガナイザに前回から加わらせてもらっています。 微力ながらコミュニティ運営にお力添えしていきたいと思っていますので、今後ともよろしくお願いします。
TensorFlowでのDeep Learningによるアイドルの顔識別 のためのデータ作成 - すぎゃーんメモ の記事で書いているけれど、学習用データとして使うために収集した画像から「顔の領域」だけを切り出して「固定サイズ」(112x112など)に切り出す必要があって。 以前にも書いたけど、自撮り画像はけっこう顔が傾いた状態で写っているものが多いので、それも検出できるようにしたりしている。 Heroku + OpenCVで簡易顔検出API - すぎゃーんメモ で、せっかく傾きの角度も含めて検出できるならそのぶんを補正して回転加工して切り出すようにしていて。 …というのを RMagick のRVGを使ってcanvasっぽい感じでどやこや書いていたのだけど、どうも使っているImageMagickのバージョンなどの影響もあるのかもしれないけど #destroy!とか明示的に呼んでるはずなのにメ
Stay Relevant and Grow Your Career in TechPremium ResultsPublish articles on SitePointDaily curated jobsLearning PathsDiscounts to dev toolsStart Free Trial7 Day Free Trial. Cancel Anytime. Key Takeaways Ruby’s performance has significantly improved with the advent of Ruby 2.0+, debunking the myth that Ruby is a slow programming language. The key to optimizing performance lies in sound object-orie
fluentdな人達と話していると定期的にRubyのオブジェクト生成が遅いとdisられます。 本質的にしょうがない部分もあるんですが、それにしても遅い部分も結構あるので、おもむろにperf statとperf recordを取ってみましょう。 % sudo perf stat -d ./miniruby -e'GC.disable;i=1000000;while (i-=1)>0;Hash.new;end' Performance counter stats for './miniruby -eGC.disable;i=1000000;while (i-=1)>0;Hash.new;end': 467.629812 task-clock (msec) # 0.993 CPUs utilized 19 context-switches # 0.041 K/sec 2 cpu-migratio
これまでもプッシュ通知を送るためのAPIを提供するサービスはありましたが、1対1の通知しか送れず、自分自身のために送るプッシュ通知という利用形態に限られました。 [参考] Prowl: Easy Push Notifications [参考] im.kayac.com: Receive your notification at iPhone [参考] Pushover Notifications Push7は購読してくれた人全員にプッシュ通知を送ることができる1対多のサービスであるところが画期的です。それでいて無料で使えるのですから素晴らしいものです。 ブログを運営していれば、興味を惹かれるサービスであるのは間違いありません。 弊ブログも遅ればせながらPush7対応をしてみました。ぜひ購読をお願い致します。 WordPress用のプラグインがあるので、WordPressなら導入は簡単です。
Rails 5から、production environmentでのDB破壊系のtaskの実行を防止する仕組みが入りました。 例えば、production environmentでdb:dropを実行しようとすると、下記のようなエラー(ActiveRecord::ProtectedEnvironmentError)が発生します。 $ RAILS_ENV=production ./bin/rails db:drop rails aborted! ActiveRecord::ProtectedEnvironmentError: You are attempting to run a destructive action against your 'production' database If you are sure you want to continue, run the same co
3/15は ginza.rb の33回目のミートアップでした。 Ginza.rb 第33回 もうすぐやってくる!Rails 5を見ておこう - Ginza.rb | Doorkeeper 前回のミートアップ時に、きっと Rails 5.0 がリリースされているだろうと思い Rails 5.0 をテーマとして設定しましたが、見事に期待が外れましたね>< 未完成のリリースノートを読みつつ、主にメジャーな機能について内容を確認していきました。ざっとメモ書きを載せます。何か間違っている点などありましたら教えていただけると嬉しいです! Ruby on Rails 5.0 Release Notes — Ruby on Rails Guides ActionCable ご存知 websocket 用 pubsubサーバとして postgres と redis に対応している Basecamp のチャッ
Bigqueryを使ったバッチジョブを色々と実行しているのですが、Rakeで複雑な依存関係を管理したり、並列実行させたりするのが辛くなってきたのでRukawaというワークフローエンジンを自作しました。 自作したのは、RailsプロダクトにAirflowとかLuigiとかAzkabanとか入れるにはちょっと重厚過ぎる感じだったのと、Rubyで書ける方が楽で良いやという理由からです。 RukawaとはRUby KAntan Workflow Assistantの略です(後付け) (本当はミッチーとか水戸の方が好きなんだけど良い名前が浮かばなかった) 実際は、並列実行を可能にして書き方を変えてみたRakeとそんなに大差無い。 Rukawaの機能 ジョブの定義 まず実行したい処理をジョブクラスに記述します。 module ExecuteLog def self.store @store ||= {
お知らせ タイトルにもあるとおり、Software Design 2016年4月号にRubyの入門記事を書きました。 「今すぐ実践できる良いプログラムの書き方」という巻頭特集で、「第4章 Ruby編 お作法を意識して可読性や保守性を高めよう」というパートを執筆しています。 どんなことを書いてるの? この記事ではRuby初心者によくありがちな「お作法から外れた書き方」と、それに対応する「お作法に則した書き方」を紹介しています。 また、記事の後半ではお作法に沿ったRubyプログラムを書くための考え方や学習方法を紹介しています。 ページ数は全10ページで、なかなかのボリュームです。 対象となる読者は「プログラミング初心者の方」「他の言語を使っていた期間が長い方」といった、つい「お作法」から外れたコードを書いてしまいがちな方です。 「今までは XXX をよく使ってきたけど、Rubyもちゃんと書ける
3年ほどRailsを書いてきてある程度知見が溜まってきたので、忘れないためのメモとしてKPTと導入例を交えながらダラダラと書いています。 見出しの命名規則は クラス名/ディレクトリ名の単数形をupper camel caseにしたもの + KPT です。 Keepは今後も使うもの、Problemは開発規模によっては問題が発生する(した)もの、Tryは現在使用していないが使用したほうが良いと思っているものです。 これらすべてを導入すれば上手くいくというわけでもないので、開発規模に合わせて適切に採用していくと良いと思います。 DDDやデザインパターン等見聞きはしているものの詳しいわけではないので間違っている部分等あるとは思うのでその辺りはコメントでご指摘お願いします。 はてブコメント欄で頂いた指摘内容等についてはまとめの後でまとめて返答を記載しています。 Asset (Keep) app/as
Article (has-many notifications) Comment (has-many notifications) Mention (has-many notifications) Notification (belongs-to something) のようなモデルとそれらの関連性があるとき、notificationsテーブルに例えば以下のようなカラムがあれば、Notification.belongs_to :source, polymorphic: true のようなコードでPolymorphic associationが実現できるようになると思います。 source_id source_type しかしNotificationの要件が大きくなるにつれ、関連するモデルの種類によって条件分岐が増えてくる可能性があります。例えば、Articleに関連するNotificati
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く