タグ

Web制作とRailsに関するnekoneneneのブックマーク (7)

  • Shrineを使って画像をアップロードする | RE:ENGINES

    はじめに こんにちは、onoです。 以前、CarrierWaveを使って画像をアップロードするフォームを作成しました。 CarrierWaveは多機能で使いやすいGemだと思いますが、コードが大きく複雑なため、一般的な使い方から外れた場合や問題が発生した場合に処理を追っていくのが大変です。 そこで、今回は実装がシンプルで必要な機能を選んで追加できるShrineを使ってみます。 Shrineとは 簡単な説明 Shrineはファイルをアタッチするためのツールです。 主に画像をアップロードする際に利用されるのではないかと思います。 作者 ShrineはJanko Marohnić氏(リポジトリはこちら)が2015年9月から開発しています。 特徴 主な特徴としては下記の2つが挙げられます。 Shrine体は必要最小限の機能のみを実装しているため、シンプルでコードが小さい。 リサイズやダイレクトア

    Shrineを使って画像をアップロードする | RE:ENGINES
  • Shrineでアップロードする際に画像を加工する – RE:ENGINES

    はじめに こんにちは、onoです。 前回、Shrineを使って画像をアップロードする方法を紹介しました。 今回は、アップロード時に画像を加工する方法を紹介します。 アップロードする画像のリサイズ Gemを追加 Gemfileに下記のGemを追加します。 (HomeBrewなどで事前にimagemagickをインストールしておいてください)

    Shrineでアップロードする際に画像を加工する – RE:ENGINES
  • 半年間の開発環境の改善を振り返る - メドピア開発者ブログ

    こんにちは、メドピアCTO室 SREの侘美(たくみ)です。 普段はRails/Vue.js/terraform/Lambdaなどを書いています。 趣味は飼いと遊ぶことで、生傷が絶えません。 入社してから約半年間、Railsプロジェクトで実装をしつつ、合間に開発環境の改善をいろいろとやってきました。けっこうな分量となったので、紹介したいと思います。 なお、記事で扱う開発環境とは下記2つを指すこととします。 ソースコードの修正/テストの実行/静的解析の実行環境 サービスを起動し、ブラウザでデバッグする環境 特徴 主な改善対象である、「MedPeer」サービスの特徴をご紹介します。 Ruby on Rails製 社内では最も巨大なRailsプロジェクト モデル数693 認証サービス、旧サービス(PHP製)と連携している 開発環境はDocker for Macを利用 コンテナ数は旧システム、

    半年間の開発環境の改善を振り返る - メドピア開発者ブログ
    nekonenene
    nekonenene 2019/10/30
    Rails in Docker の性能改善
  • RackサーバーのPumaについて調べてみる - ゆーじのろぐ

    はじめに いま開発中のRailsアプリケーションのRackサーバーは最初Unicornを使っていたのですが、諸々の事情でPumaの方を使いたいということになった。 まだリリースもしていないのでやるなら早めに変えちゃおうということでPumaについて調べてみた。 Pumaとは Pumaとはスピードと並列性を追求したRubyのWebサーバーです。 RubyでWebサーバーを作るときの標準となっているRackに対応したライブラリになっています。 スレッドベースのWebサーバー Pumaではリクエストの並列処理を実現するためにスレッドを利用しています。 リクエストを処理するためのスレッドを予めスレッドプールに指定した数だけ用意しておきます。リクエストが来るとそのスレッドに処理を任せることでスレッドベースの並列処理を行っています。 Rubyの処理系について Pumaではスレッド用いるため、Rubyの処

    RackサーバーのPumaについて調べてみる - ゆーじのろぐ
    nekonenene
    nekonenene 2017/12/25
    Pumaの使い方。graceful restart にも触れてる
  • has_many throughで,class_nameとかforeign_keyをちゃんと復習してみる - PartyIX

    has_many,throughとかでモデルやテーブルの構成を考えるとき,どうしてもカラム名と関連づけるテーブルの名前が一致しなかったり,望み通りの命名で行けない場合がある. もちろん,一つのテーブルが,他のテーブルのレコードを複数持つだけなら,命名はスマートに決められるのだけれど. 今回の例題は,Userモデルに対するフォロー・フォロワーを実現すること. Userは一つのテーブルでなければならないことはわかりますよね. ということは,UserテーブルがUserFollowという中間テーブルを介して,Userテーブルのレコードをhas_manyするという形をとる. もうガリガリと書いていきます. まず,こういう,元から名前の統一が難しそうな場合はテーブルを先に作ってしまう. Userテーブル id name 1 poteto 2 hoge UserFollowテーブル id user_id

    has_many throughで,class_nameとかforeign_keyをちゃんと復習してみる - PartyIX
    nekonenene
    nekonenene 2017/12/03
    こんがらがりがちな関係テーブル
  • Railsのセッション管理方法について - (2015年までの)odaillyjp blog

    セッション管理はWebアプリケーションを開発・運用するときに必ず関わってきますので、ある程度知っておかなければいけないことかと思うのですが、Railsのセッション管理について解説している資料が少ないように思えました。私もRailsのセッション管理についてあまり知識がありませんでしたので、簡単にですがまとめてみました。 なお、今回のエントリはセッション管理の大雑把な仕組みについて知っていることを前提にして進めていきます。セッション管理の仕組みについてご存知ない方は、『体系的に学ぶ 安全なWebアプリケーションの作り方 脆弱性が生まれる原理と対策の実践』という書籍での説明がわかりやすかったので、そちらをご一読されると良いかと思います。 Railsのセッション管理方法 Railsでは、config/initializer/session_store.rbファイルにセッションの管理方法を指定します

    Railsのセッション管理方法について - (2015年までの)odaillyjp blog
    nekonenene
    nekonenene 2017/11/27
    セッション管理の方法がまとまっていてとてもいい記事!
  • Rails4でsession storeをActiveRecordに変更

    Rails4では、session store(セッションの格納先)がデフォルトでCookie(クッキー)のみとなっています。session store に、activerecord や memcached, redis を利用するには、別途 gem のインストールが必要となる。今回は、session store を ActiveRecord に変更する例です。以下の gem を使う。 activerecord-session_store

    Rails4でsession storeをActiveRecordに変更
  • 1