この記事は Ruby on Rails Advent Calendar の 7日目の記事です。 この記事では、Ruby on Rails がサポートしている PostgreSQL の型を紹介した上で その中でも特にマイナーな ltree 型について詳しく紹介します。 PostgreSQL で使える型 実は、Ruby on Rails では PostgreSQL 特有の多数の型を利用可能です。 例として、下記のような型が利用可能です。 型 概要
経緯 せっかくATOMに乗り換えたし、リアルタイムで更新を反映したいし、なんなら同じ画面でそれ確認したいし、ターミナルも同じ画面で触れるようにしたいし、ショートカット充実させたいしってことで、あわよくば、できるんじゃないかなーと思って調べてたら作れたので共有。いわゆる、「ぼくのかんがえたさいきょうのRails開発環境」ってやつです。 環境 Mac OS 10.10.5 Atom 1.5.3 ※ Win機でこれから話す環境が作れるかの確認はとっていないです。 画面図を確認してみる ①画面左がプロジェクトディレクトリをツリー構造にしたTreeView ②その右にエディタを表示 ③さらに右にウェブビューを置いています。 ④そして下のほうにはターミナルをおいております。 これが爆速開発を可能にする基本スタイルであります。 環境構築していこう 1. Packageをぶっこむ 主に使うパッケージはこち
Ruby on Railsのmigration機能は、DBを育てていくための多種多様な機能を提供してくれています。サービスを運用していく中で、DBは「カチッと安定している」ことが望ましいですが、それは夢物語であり、日々サービスに機能追加や修正を施していく度に、DBも当然影響を受けます。それは、テーブルの追加や列の追加だけでなく、時には「テーブル名の変更」も出てくるでしょう。 もし「itemsテーブルの名前をproductsに変えておいて」と依頼されたら、あなたならどうしますか? rename_tableでは済まされない状況 もし手元に開発環境があって、自分しかアクセスしないdevelopmentやtestのDBであれば、以下のようにしてしまえば良さそうです。
Railsの開発ではconsole(というかdebugger)が必需品ですよね。 となると、当然、バッチ処理用に作るRakeタスクもconsoleでデバッグしたくなるわけで。 実はこれまで、consoleからはRakeタスクをキックできないと思っていたので、実際の処理をModel.execに書いてRakeタスクからはそれを呼ぶ形で書いてたんですが、調べたら簡単に出来ました。
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)
最近仕事でRailsのコードレビューをする時間が長くって、いろいろ指摘するんですが、 Railsって「Railsチュートリアル」には書いていないのに覚えないと仕事にならないこと多すぎだなと気付かされます。 どこでどんなふうにすれば、プロになろうとしている人が最短距離で知識を獲得できるかはわからないですが、 今思っている特に大事だなと思うことつらつらと書いていきます。 😀 プログラミングの重要な要素まず、Railsの前にプログラミングで全般的に特に重要と思っている要素を紹介します。 - リーダブルなコード - ネーミングルールについて - 言語・フレームワークのルール - 変数のスコープについて - プロジェクトの設計思想 - オブジェクト指向・コードの再利用性 - 正しいテストケースを作る プロジェクトによって変わるので、すべては書きませんが、ぜひ意識してどこを学ぶべきかを考えてみてくだ
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はカバレッジ計測ツール
検索サービスを提供しているGoogleは、「Google カレンダー」と呼ばれる便利なスケジュール管理サービスも提供している。 Google カレンダーは、ウェブブラウザからスケジュールを確認できるので、会社と自宅で異なるパソコンを使っていても、その日の予定をチェックすることができるし携帯電話やスマートフォンでも確認できるので、使っている人は多いだろう。 そこで今回は、「Googleカレンダー」をより便利に活用できるテクニックを一挙に紹介しよう。 スケジュール管理サービスのGoogleカレンダー。予定を管理するのに使うものだから、表示している時間も長いはず。どうせなら、気分によって表情も変えてみてはどうだろう。カレンダーの背景を変えたり、便利なパネルを追加したり、Googleカレンダーはさまざまにカスタマイズできる。 職場でも、家庭でも共通して使える便利さから、「Googleカレンダー」利
Capistranoはデプロイツールだ。簡単な設定さえしておけば、後はコマンド一つでリモートサーバでソースを展開し、データベースのマイグレーションをはじめ必要な処理を行ってWebサーバの再起動をしてくれる。毎度行うと手間のかかるデプロイ作業が簡単に終わるのだ。 PHP用のリモートデプロイツール CapistranoはRailsアプリケーションで使うともとても便利だが、それをPHPのフレームワークSymfonyでも使えるようにしたのがCapifonyだ。 今回紹介するオープンソース・ソフトウェアはCapifony、PHP用デプロイツールだ。 PHPはRailsのようにWebアプリケーションサーバを用意する必要がないので(今はPassengerがあるが)、そんなものは不要と思うだろうか。だがPHPのコードをリモートサーバ側でバージョン管理システムから取り出し、データベースの設定を変更し、Web
このドメインは お名前.com から取得されました。 お名前.com は GMOインターネットグループ(株) が運営する国内シェアNo.1のドメイン登録サービスです。 ※表示価格は、全て税込です。 ※サービス品質維持のため、一時的に対象となる料金へ一定割合の「サービス維持調整費」を加算させていただきます。 ※1 「国内シェア」は、ICANN(インターネットのドメイン名などの資源を管理する非営利団体)の公表数値をもとに集計。gTLDが集計の対象。 日本のドメイン登録業者(レジストラ)(「ICANNがレジストラとして認定した企業」一覧(InterNIC提供)内に「Japan」の記載があるもの)を対象。 レジストラ「GMO Internet Group, Inc. d/b/a Onamae.com」のシェア値を集計。 2023年10月時点の調査。
Windows環境での Ruby on Rails (Railsアプリ作成手順)アプリ編 当ページの目次 インストールする主要環境 MySQLのインストール Ruby,RubyGemsのインストール Railsのインストール gettextのインストール(日本語化に使用) gtk-win32-develのインストール(gettextに必要) Apacheのインストール FASTCGI、mod_rubyのインストール(ApacheでRubyが動作するようにする為) httpd.confの変更 httpd.confのチェック hostsの変更 Apache再起動 インストールする主要環境は以下のもの(付随してインストールされるものもあります) ・MySQL-5.0.24a ・Ruby-185-21 ・Rails-1.1.6 ・Apache_2.0.59 ・R
Heroku は現在リミテッドβの状態なので、ユーザー登録を行うにはこちらのページでメールアドレスを登録し、招待メールが来るのを待たなくてはなりません。私が登録したときは 2 週間待ちだったのですが、現在はだいたい 1 日以内に招待が来るようです。ちょっと面倒ですが、ぜひサインアップして、 Heroku の素晴らしい世界を体感してみてください。 ・・・どうでもいいけど、サインアップのページにある看板はいったい。 無事にサインアップできたら、さっそくこちらのページから heroku にログインしましょう。すると、最初に以下のアプリケーション管理画面が表示されます。 heroku では同時に複数の Rails アプリケーションが開発できるので、この画面でそれらを管理するわけです。しかし、現在はひとつもアプリケーションが存在しませんので、新たに作成してみましょう。アプリケーションの作成は「Cre
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く