You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert
この記事は RubyそしてRailsをこれから勉強したい方に、どんな技術を勉強すればいいかと、それらの技術全体のガイドマップを図示します。そしてそれを学ぶための資料(書籍、Web記事ほか)を紹介していきます。この記事は、頭の中に技術全体の地図を描き、イメージしてもらうのが狙いです。 Railsアプリを作るときに必要になたくさんの技術について説明していきますが、本当にたくさんの技術が出てきます。まだ学んでいない、分からない言葉が出てくると思いますが、全体を把握するために、ひとまずは「そういう技術があるのだな」くらいで捉えてもらえればと思います。将来、その言葉が出てきたときに「どこかで聞いたような?」と思えたら儲けものです。 勉強方法のお勧めは、1つの知識を徹底的にやるよりも、まずは全体を通して勉強し、そのあとで勉強したいところに戻って積み重ねて学んでいく方が、挫折しづらいのでお勧めです。 追
方針 Dockerを使ってRails環境を構築する base OSとしてCentOSを利用1 Rubyは2.3.4を利用2 railsをはじめとするbundler gemは全てシステム(docker Container内)へインストール3 Rails projectのソースはコンテナ外部(ホストOSとの共有領域)に作成 環境構築 Docker imageの作成 次のDockerfileを用意します。 FROM centos MAINTAINER takaeda # set ruby version to be installed ENV ruby_ver="2.3.4" RUN yum -y update RUN yum -y install epel-release RUN yum -y install git make autoconf curl wget RUN yum -y ins
概要 原著者の許諾を得て翻訳・公開いたします。 英語記事: A Deep Dive into CSRF Protection in Rails 公開日: 2017/07/31 著者: Alex Taylor サイト: Ruby Inside 2017/10/23: 初版公開 2021/11/26: 更新 現在Railsを使っていればCSRF保護を使うことがあるでしょう。この機能はRailsのほぼ初期から存在し、即座に導入して開発を楽にできるRailsの機能のひとつです。 CSRF(Cross-Site Request Forgery)を簡単に説明すると、悪意のあるユーザーがサーバーへのリクエストを捏造して正当なものに見せかけ、認証済みユーザーを装うという攻撃手法です。Railsでは、一意のトークンを生成して送信のたびに真正性を確認することでこの種の攻撃から保護します。 最近私がUnboun
待ち望んでいた以下の本が出版されたので、電子書籍で購入した。 (環境) Windows 8.1 Ruby2.3.3-p222 SQLite 3.18.0 DevKit mingw64-64-4.7.2 Node.js v6.10.2 Rails 5.0.1 まずは、Windows上で、Rails5の環境構築を行う。 今までは、Vagrant + VirtualBox + CentOS7.3で仮想環境上に構築していたが、上記の本にしたがって、Windowsでやってみることにする。 (1)Ruby 2.3.3-p222のインストール http://rubyinstaller.org/downloads/ Ruby 2.3.3(x64) をダウンロードしてインストール。 cmd.exe (コマンドプロンプト)を開き、ruby -v と入力してEnter インストールできた。 (2)SQLiteの
悩ましいseed用データ作り db/seeds.rbで利用するデータは大別すると以下の2つに分かれるかと思います。 マスタデータ(例:国名、首都、都道府県、市区町村など) 環境別の初期データ(例:開発環境の登録済みユーザアカウントなど) これらのうち、マスタデータについてはそれほど問題はないのですが、登録済みのユーザアカウントとなるとユーザーテーブルと関連するテーブルが増えるほど作成が面倒になってきます。これを解決するためにdevelopment環境でもFactoryGirlを使ってテスト用のデータを読み込むという手を使うこともできるのですが、FactoryGirlをdevelopmentで使うのを避けたいという人はいるでしょう。 seed_dumpを使ってデータベースの中身をダンプする そこで活躍するのがseed_dumpです。このgemはデータベースにあるデータをdb/seeds.rb
config/locales/*.ymlが長すぎて編集しづらい Railsのja.ymlは長くなってインデントを間違ったり、重複が混ざっちゃったりと管理しづらいYAMLファイルになりがちですよね。 以下例のように各エントリーが参照のみで構成されていれば分かりやすいのに。 ja: devise: *devise errors: *errors helpers: *helpers number: *number support: *support time: *time date: *date datetime: *datetime will_paginate: *will_paginate activerecord: <<: *activerecord errors: models: user: *devise_errors app: routes: *routes categories:
はじめに ブラウザよりスマホのカメラを起動して動画を撮影し、その動画をアップロードするアプリを Ruby on Railsで構築する方法について調べて、サンプルを作成してみました。 以下、今回参考にさせて頂いた記事です。 Railsで動画ファイルを管理する~CarrierWave Flowplayer Railsで動画を管理する2 動画のサムネイルを作成する~CarrierWave + Flowplayer 上記の記事を参考にし、サンプルでは以下の点について主に変更しています。 ・twitter bootstrap の適用。 ・アップロードした動画のスクリーンショットを撮るときにサイズを指定。 ・ブラウザよりiPhoneのビデオが起動するように、HTMLタグを変更。 ・FlowPlayerの使用を止め、リンクをクリックした場合に、動画の再生はデバイスに任せることにした。 尚、今回は動画をア
株式の財務分析をするアプリを作ってます。 ROICとかWACCとかTerminal Value 割合を計算して、その割合で何か別の数字を割る。 ような計算がたくさんあります。割り切れない数同士で割り算をして桁の多い小数になったり、分母がゼロになって無限大が返ってきたり、分母も分子も0になって数字が返ってこなかったりといろいろ苦労しました。 (データベースはPostgresqlを使いました。) で、以下いろいろメモ create_tableのあとt.floatかt.decimalかt.integerか どれでもいーじゃん・・・そう思っていた時期が俺にもありました・・・・・ どうもFloatだと割合を計算させた時に「(小数の)桁が足ンねーぞオラ」とエラーが出ることがありました。 で、データ型の解説を読むと integer => -2147483648から+2147483647の整数 decim
require 'csv' # Convert to CSV def self.to_csv CSV.generate do |csv| csv << csv_headers all.each do |my_model| csv << my_model.csv_column_values end end end # Select headers # Write as you like def self.csv_headers [ "タイトル", "ユーザ名", "作成日時", "更新日時" ] end # Select values # Write as you like def csv_column_values [ title, username, created_at.strftime("%-Y/%-m/%-d %H:%M"), updated_at.strftime("%-Y/%-
(6/20 大幅に加筆修正を行いました)Railsのセッションの有効期限は、デフォルトだとブラウザが終了するまでです。これだと、ログインページによくある「ログイン状態を保持する」チェックボックスが作れません。というわけで、やり方を調べてみたら、よさそうな情報がのっているサイトを見つけたので英語の勉強がてら概要を意訳してみたいと思います。 HowtoChangeSessionOptions in Ruby on Rails すべてのセッションに対して一律に有効期限を作りたい場合 environment.rbに下記のように設定します。 ActionController::Base.session_options[:session_expires] = Time.local(2009,"jan") ここでは、上記のように絶対時間を入れます。Time.now + 1.weekのようにするのはうまく
エムスリーでは Tech Talk という技術勉強会をほぼ隔週で行っているのですが、今日は記念すべき 50 回目ということで飲み会がありました。少しだけ飲み過ぎて遅くなってしまったのですが、エムスリーアドベントカレンダー 12/21(月)の記事がこちらになります。 私は日頃趣味では JavaScript 関連を触っていることが多いのですが、業務ではフロントエンドに加えて、Rails を使ってデータの整合性が何よりも大事な業務系のシステムを書いています。このようなシステムを開発する中で、Rails の Migration、特にスキーマ変更に付随するデータ変更について学んだことをいくつか書いてみようと思います。 バックアップ 何はなくとも、本番環境で Migration を実行する前にバックアップを取りましょう。当たり前のことですが、大事なことなので二度言います。バックアップを取りましょう。
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く