この記事は Ruby on Rails Advent Calendar の 7日目の記事です。 この記事では、Ruby on Rails がサポートしている PostgreSQL の型を紹介した上で その中でも特にマイナーな ltree 型について詳しく紹介します。 PostgreSQL で使える型 実は、Ruby on Rails では PostgreSQL 特有の多数の型を利用可能です。 例として、下記のような型が利用可能です。 型 概要
Ruby on Railsのmigration機能は、DBを育てていくための多種多様な機能を提供してくれています。サービスを運用していく中で、DBは「カチッと安定している」ことが望ましいですが、それは夢物語であり、日々サービスに機能追加や修正を施していく度に、DBも当然影響を受けます。それは、テーブルの追加や列の追加だけでなく、時には「テーブル名の変更」も出てくるでしょう。 もし「itemsテーブルの名前をproductsに変えておいて」と依頼されたら、あなたならどうしますか? rename_tableでは済まされない状況 もし手元に開発環境があって、自分しかアクセスしないdevelopmentやtestのDBであれば、以下のようにしてしまえば良さそうです。
Ruby 2.1 / Rails4.1 での意外に忘れらている便利なメソッドを集めました。 RubyやRailsでは有用なメソッドがたくさん実装されており、車輪の再発明にならないように、それらを覚えて適切な箇所で使うだけで生産性はあがります。 (大雑把に書いたので、まだまとまってないので、随時修正します) 動作確認 Ruby 2.1.2 Rails 4.1 ActiveSupport 4.1.7 目次 Rubyの基本 代入、範囲、正規表現、%記法 メタプログラミング 文字列からクラスを作成 constantize 動的にメソッドを定義 class_eval Object nilや空を判定する(present?, blank?)、nilや空以外の値を取得(present)、nilを扱う(try) String 複数行の文字列(ヒアドキュメント)、文字列を含む(include?, index)
Rubyでニューラルネットワークを使った学習をするバックプロパゲーションのプログラムを試してみたいと思い立ったのでメモしておきます。 今回の記事では、その準備ということでまずバックプロパゲーションが何なのかということから振り返ってみたいと思います。 機械学習に関しては勉強を始めたばかりなので、理解が行き届いてない箇所や勘違いしている部分などたくさんあると思いますので教えてくださいますと幸いですm(_ _)m バックプロパゲーションについて バックプロパゲーションとはなんなのか まず、バックプロパゲーションがなんなのか、というところから振り返ってみたい。 そのためには、ニューラルネットワークについてまず知らなければいけない。 ニューラルネットワークとは、簡潔に説明すると「ニューロセルを複数結合した情報処理機構」である。 では「ニューロセル」とはなんなのか。 ニューロセル ニューロセルはニュー
最近仕事でRailsのコードレビューをする時間が長くって、いろいろ指摘するんですが、 Railsって「Railsチュートリアル」には書いていないのに覚えないと仕事にならないこと多すぎだなと気付かされます。 どこでどんなふうにすれば、プロになろうとしている人が最短距離で知識を獲得できるかはわからないですが、 今思っている特に大事だなと思うことつらつらと書いていきます。 😀 プログラミングの重要な要素まず、Railsの前にプログラミングで全般的に特に重要と思っている要素を紹介します。 - リーダブルなコード - ネーミングルールについて - 言語・フレームワークのルール - 変数のスコープについて - プロジェクトの設計思想 - オブジェクト指向・コードの再利用性 - 正しいテストケースを作る プロジェクトによって変わるので、すべては書きませんが、ぜひ意識してどこを学ぶべきかを考えてみてくだ
Rubyはたのしい言語です。Rubyを触っているとマニュアルにも書いていない「小さな発見」に遭遇することがよくあります。このような「発見」は、プログラムの質や効率の改善には直結しないかもしれません。いや、むしろチームプログラミングでは妨げになる可能性すらあります。しかしその一方で、言語自体が自分の知らない領域を持ち続けていることが、その対象に対する興味を失わせないための大きな要因である、というのもまた疑いのない事実なのです。つまり「発見」はたのしさに直結しているのです。 このブログにおいて「知って得するRubyのトリビアな記法」というタイトルで、今まで3回記事を書きました。 “知って得する21のRubyのトリビアな記法” “第2弾!知って得する12のRubyのトリビアな記法” “第3弾!知って得する12のRubyのトリビアな記法” これらのトリビアには、ネット検索で見つけたもの、Twitt
Railsの仕組みを体系的に学べる大型コンテンツ Rails Guides に基づいた1,600ページ超えの大型リファレンスです。 プロダクト開発に役立つ実践的な知識が満載 Railsチュートリアルを完走し、プロダクト開発中の人に最適です。 全文検索やバージョン毎の検索にも対応 Proプランでは、さらに効率的な活用をサポートします。 このアイコンが付いているガイドは現在作業中 (WIP: Work In Progress) です。作業中のガイドはそれなりに有用ではありますが、不完全な情報やエラーが含まれている可能性があります。 はじめに Rails をはじめよう Railsのインストール方法と最初のRailsアプリケーションの作成に必要なすべてを解説します。 モデル Active Record の基礎 Active Recordの基礎となるモデル、データベースへの永続的な保存、Active
railsのインストールでの失敗。 インストール時に「nokogiri-1.6.6.2 for inspection.」というエラーが出て失敗。 具体的には以下のエラー # gem install --no-ri --no-rdoc rails Fetching: thread_safe-0.3.4.gem (100%) Successfully installed thread_safe-0.3.4 Fetching: minitest-5.5.1.gem (100%) Successfully installed minitest-5.5.1 Fetching: tzinfo-1.2.2.gem (100%) Successfully installed tzinfo-1.2.2 Fetching: i18n-0.7.0.gem (100%) Successfully installe
Find actively maintained & popular open source software libraries for the Ruby programming languageThe Ruby Toolbox is a catalog of all Rubygems that keeps track of popularity and health metrics to help you choose a reliable library CategoriesTo give you an overview of what open source libraries are available for a given task we group projects for common problems into categories. The catalog itsel
追記: 2017/09/06 少しAPIが冗長なもののActiveRecordへのモンキーパッチが少ないバージョン activerecord-precounter というのを作りました。こちらの方がバグりにくいはずなので、現在はactiverecord-precounterの方を使うことが推奨されます。 github.com #shibuyarb でLTをした ぼくが一番長い期間書いている言語はRubyなんだけど、なぜかGoの話ばかりしていてRubyについての発表をしたことがなかった。 新卒研修も終わって平日やっている勉強会にも気軽に出れる感じになったので、以前作ったactiverecord-precountというgemについて発表をしてきた。 ActiveRecordのN+1 countクエリどうすんの問題 Tweet.all.each do |tweet| tweet.favorite
railsアプリに使ってるドメイン内で静的ファイルを公開したくなったので調べた。 serve_static_assets config.serve_static_assetsがtrueになっていると、public以下のファイルにアクセス可能になる。 しかし、速度の問題で静的ファイルはwebサーバーに処理させたほうが良いので、productionではデフォルトでfalseになっている。*1 nginxでの静的ファイルのルーティング locationの指定には以下の3つの方法がある。 正確にマッチするクエリを指定: location = /hoge/ 正規表現を指定: location ~* \.png*2 先頭からマッチするクエリを指定: location /documents/ 上から順にマッチし、マッチした場合はそこで検索をストップする。*3 以下がルーティングの例 upstream f
こんにちは、Railsエンジニアの鈴木(信)です。 先日31歳になったんですが、やはり30歳を超えたあたりから衰えたというか、何か体に変化があったように思います。 自身の健康はもちろんですが、コードの健康(品質)のことも気になる年頃になりました。 そこで今回は弊社で利用しているコード解析ツールをご紹介します。 brakeman - セキュリティ brakemanは、簡単なXSSやインジェクション系の脆弱性を検出してくれるgemです。 もちろんこれだけで完全に安心という訳ではありませんが、弊社ではJenkinsのBrakeman Pluginを使って、継続的にモニタリング、修正しています。 使い方 $ brakeman $ brakeman --only-files=path/to/specific_file simplecov - テストカバレッジ simplecovはカバレッジ計測ツール
ダミーデータを作るのは意外と面倒で、つい“ああああ”などとしてしまったり、同じ文字を繰り返してしまったりします。しかしそれでは実際にありそうな文字数が分かりづらかったり、雰囲気として本物っぽさが感じられません。 そこで使いたいのがGimeiです。偽名、偽の住所などを生成してくれるライブラリです。 Gimeiの使い方 GimeiはRubygemでインストールできます。 gem install gimei 例えば男性を作る場合は以下のようにします。 gimei = Gimei.male gimei.male? #=> true gimei.female? #=> false gimei.kanji #=> "小林 顕士" もちろん実行する度に結果は変わります。 > gimei = Gimei.male => #< gimei::name:0x007fd2cb35b4c0 @gender=:ma
若干リファクタ naivebayes.rb: 2014-06-30 (ruby2.1) 元ネタは Python 実装 第3回 ベイジアンフィルタを実装してみよう:機械学習 はじめよう|gihyo.jp … 技術評論社 理論 第2回 確率の初歩:機械学習 はじめよう|gihyo.jp … 技術評論社 やること ナイーブベイズアルゴリズムを利用してテキストを読み込み、学習し、自動でカテゴリ分類する。 文章を形態素に分割する morphological.rb Yahoo!デベロッパーズネットワークの日本語形態素解析を利用する。 (nokogiri はインストール済で) require 'open-uri' require "nokogiri" APPID = 'Yahoo!デベロッパーズネットワークのアプリケーションIDを入力して下さい' REQUEST_URL = "http://jlp.ya
(追記:2013-11-01) DirFriendのバージョンアップについての記事を書きました。 あなたはファイルシステムに美を見るか? プロジェクトにおけるディレクトリ構造をさっと把握したいという欲求があります。そういうときは通常treeします。 % bundle gem gem_project -bt % tree gem_project gem_project ├── Gemfile ├── LICENSE.txt ├── README.md ├── Rakefile ├── bin │ └── gem_project ├── gem_project.gemspec ├── lib │ ├── gem_project │ │ └── version.rb │ └── gem_project.rb └── spec ├── gem_project_spec.rb └
It's like JSON. but fast and small. MessagePack is an efficient binary serialization format. It lets you exchange data among multiple languages like JSON. But it's faster and smaller. Small integers are encoded into a single byte, and typical short strings require only one extra byte in addition to the strings themselves. Next: MessagePack is supported by over 50 programming languages and environm
いよいよ2011年がスタートしました。 今年も去年同様、勉強することが 沢山あります。まだモチベーションが そこそこあるうちに勉強になりそうな 国内の記事をリンク集にしました。 迷ったときに見てみようかなと思い ます。 より最適な方法というのはあると思いますが、まずは扉を叩かない事には何が悪いかも分かりません。ということで、内容に拘らず、否の意見をスルーしてここに色々まとめさせて頂きました。 勉強したい気持ちはあるけど出来ない理由は「何を始めればいいのか分からない」という方も、何が出来るのか、どういった勉強法で出来るようになるかが分かればやる気が起きるかも知れません。 5分で分るシリーズ 以前も流行ったんですね。Web関連以外も含めてここにまとめられています。 5分で分かる PHP を知らない人が PHP の便利さを学べる記事を書いたよ 5分でわかる Ruby を知らない人が Ruby の
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く