All slide content and descriptions are owned by their creators.
All slide content and descriptions are owned by their creators.
Railsのパフォーマンスについてよくある問題とそれに対して戦いを挑むために必要なもの。
RailsがMySQLのcollationをサーバー側のデフォルトのutf8_general_ciからutf8_unicode_ciにわざわざ変えてるのどうせ大した理由じゃないだろと思って掘ってみたらやっぱり大した理由じゃなかった… https://t.co/6NeetGhTF0— Ryuta Kamizono (@kamipo) April 18, 2014 Railsでcollationとしてutf8_unicode_ci(RailsのDEFAULT_COLLATION)が採用されるのはcharsetが未指定もしくはutf8(RailsのDEFAULT_CHARSET)のときだけで、utf8mb4にすることとかは全く考慮されてない。— Ryuta Kamizono (@kamipo) April 19, 2014 @frsyuki MySQLのcharset utf8のときのデフォルト
@h5y1m141さんに誘っていただいて、 @hitomi_twさんや shiro615さんと一緒に、RubyGemsのソースコードリーディング勉強会『GemJam』を行いました。 今回は最近仕事でソースコードを読む時間が増えてきて、苦労していたのでソースコード・リーディングのモチベーションアップやコツを調べつつ、いつもRailsでお世話になっていた『ActiveSupport』 のソースコードリーディングに挑戦してみました。 (12/28 12:10) 勉強会のアウトプットを更新しました。全員アウトプットしたのはすばらしいです 🎉 プログラムのモチベーションこれは経験談からくる話ですので、これが正解ということでないッス。どちらかというと、今までエンジニアとして経験してきた中で、僕個人はこう思っていますという観点で書きました! プログラミングは継続することが一番大切プログラミング経験ゼロ
条件1. /bin/shの実体がbashのディストリビューション RHEL CentOS Scientific Linux Fedora Amazon Linux openSUSE Arch Linux (自ら設定した場合: Debian, Ubuntu) 条件2. 動作環境 CGI (レンタルサーバでありがちなCGIモードのPHP等も含む) Passenger(Ruby) 条件3. プログラム内容 Passengerは全死亡 *1 systemや `command`、 '| /usr/lib/sendmail' などで外部コマンド実行 *2 PHPのmailやmb_send_mail、その他フレームワーク等を介したメール送信 *3 以下は条件1が不要 明示的にbashを呼ぶ 先頭で #!/bin/bash や #!/usr/bin/env bash しているプログラムを実行 (rbenv
Gemfileについてよくわかってなかったので調べてみた。 そもそもGemfileって? Bundler用の設定ファイル。 BundlerはGemfileの記述にしたがって、gemの依存関係を示したGemfile.lockを生成する。 じゃあ、Bundlerって何さ? アプリケーションで使用するgemのバージョン管理を行うプログラム。 「お前が書いたコード動かないんだけど?」 「ハァ? 俺の環境では動いてるし。バージョン違うんじゃねーの? 死ねよ」 ってならないためのツール。 Railsをはじめ、SinatraやRubyMotionでも使われている。*1 ちなみに、Bundlerの公式サイトにはこう書いてある。 The best way to manage your application's dependencies ベストらしいので使わない手はない。 source gemが置いてある場
2014.02.07 ちょっと待った! Railsのgitリポジトリから Gemfile.lockとdb/schema.rbを除外してはいけない こんにちは、hachi8833です。 Railsをgitで管理するのであれば、ログファイルや、パスワード入りdatabase.ymlなどの登録したくないファイルを.gitignoreに記載してリポジトリから除外するのが普通です。しかし実際の案件では、除外すべきでないファイルが除外されていることがたまにあります。言うまでもないような話ですが、心当たりのある方は念のためチェックしてみましょう。 gitリポジトリから除外すべきでないファイル 以下では、誤ってgitリポジトリから除外されがちなGemfile.lockとdb/schema.rbについて説明します。代表的なものであり、すべてを網羅しているわけではないのでご注意ください。 Gemfile.lo
TL;DR MVCもレイヤで捉えて関係性の設計をするといいのでは 普通のRubyオブジェクトを積極的に使いたいですね 「パーフェクト Rails」に期待しましょう 長くなって面倒くさくなり、途中から手抜き感が半端ないですが許してください この記事の位置付けなど 7 Patterns to Refactor Fat ActiveRecord Models - Code Climate Blog [翻訳] エリック・エヴァンスのドメイン駆動設計 エンタープライズ アプリケーションアーキテクチャパターン これらの参考文献を踏まえてRailsアプリケーションのリファクタリングをしていて、だいぶ方向性や考え方がまとまってきたので、これからチームに合流する人を想定読者に、Qiitaがどんな感じで作られているのかを文書化したものです。(参考文献の一覧は記事の最後にあります) 内容的には文献[2,3]を踏
アプリケーションのI18N対応をする中で出てくるタイムゾーン問題。今回はRails3環境で ActiveRecordのTimezoneの設定をどのようにすべきかまとめてみました。 photo credit: Myxi via photo pin cc Timezoneの問題はOS、DB、Frameworkといろいろ絡みうるので、一つ一つ行きたいと思います。 OSのTimezone Amazon EC2などだったらそれぞれの地域のタイムゾーンで運用しているケースも あるかと思いますが、JST(日本標準時)で運用しているところが多いのではないでしょうか。 $ date Tue Jul 3 12:54:53 JST 2012 $ ls -l /etc/localtime lrwxrwxrwx 1 root root 30 Jul 3 10:51 /etc/localtime -> /usr/sh
2022年9月13日 株式会社メンバーズ ポップインサイトカンパニーでのウェビナーのスライドです。「ユーザーが欲しいと言った機能をつけたのに使われない!」という経験はありませんか。プロダクトをつくるとき「ユーザーの心理を理解しよう」とよく言われます。しかし、ユーザーに言われたままやることと、ユーザーが本当に望んでいることは異なります。「UXデザイン・UXリサーチ」は、ユーザーを理解するための専門技術です。ユーザーインタビューやユーザビリティテストを用いてファクトを集めることで、ユーザーの表面的な言葉に惑わされない、本当のインサイトにたどりつくことができます。かんたんなワークも交えながら、体系的に解説いたします。
概要 Rails 3.1で新しいプロジェクトを作ったところ、本番環境でアセットがプリコンパイルされていないというエラーが発生しました。対策として、3.1から導入されたアセットパイプラインのために、プリコンパイル済みのアセットを作成しました。 ActionView::Template::Error (application.css isn't precompiled) 構成 Ruby 1.9.2p290 (2011-07-09 revision 32553) [x86_64-linux] Rails 3.1.0 問題 Internal Server Errorが発生し、プロダクションログには次のエラーメッセージが出力されていました。 Started GET "/working_records" for 197.8.10.19 at 2011-09-20 11:35:19 +0900 Proc
Ruby on Rails v3.2.11 アセットパイプラインとは Rails のアセットパイプライン(Assets Pipeline)は JavaScript や CSS、画像ファイルといった HTML に付随する細々としたファイル達(アセットファイル)を連結したり圧縮することで効率的にアクセスできるようにする仕組み(フレームワーク)です。 アセットパイプラインの役割 アセットパイプラインは以下のような役割をもっています。 1 複数の JavaScript と CSS をそれぞれ1つのファイルに連結する ⇒ ブラウザからのリクエスト数を減らす 2 JavaScript と CSS を圧縮してサイズを減らす ⇒ 文法上必要でない空白を削除したり、変数名を1文字にしたり 3 アセットファイル名にハッシュ値(MD5)を付加する ⇒ ブラウザがファイルのキャッシュ/読み直しを正しく行える 4
年末にユビレジさんのところでちょっと仕事のお手伝いをさせていただいたので、その時の内容をご紹介させていただきます。 ■ユビレジって何? iPadをキャッシュレジスタに変えてしまうサービスです。会計からレシートの印刷までやってくれます。最近飲食店などでレジがなくiPadだけが置いてあるお店などを散見するかと思いますが、アレがそうです。一般的なキャッシュレジスタ+店舗システムよりもはるかに安価で導入でき、しかも使いやすいというのがウリです。 開発者的に言うと、Scalaモヒカンの@kmizuさんやiOSモヒカンの@k_katsumiさんなどが在籍されていまして、エンジニアのレベルが高いです。 ■開発スタイル 少人数のため、厳密なウォーターフォール管理やアジャイル/スクラムなどは無く、チケット/Issueベースの開発になっています。githubをフル活用します。すべてPull Request(以
ブランチングモデルとしてgit-flowを使っていて、メインラインとして、本番適用中のmasterブランチと、次期リリース用のrelease/9999ブランチと、メイン開発ブランチのdevelopがある。 ところが、開発中は頻繁にブランチを移動するし、ブランチによってDBのスキーマが異なるなんてザラにあるし、ブランチ切り替える度にconfig/database.ymlを書き換えるのもタルいので、こんな風に書いた。 development: adapter: postgresql database: my_app_<%= case `git symbolic-ref --short HEAD` when 'master' then 'master' when 'develop' then 'develop' when /release\/.*/ then 'release' when /ho
はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28
仕様 rake db:data:dump DB内のすべてのテーブルのデータを抽出(schema_infoテーブルを除く) 接続先DBは、#{RAILS_ENV} に従います 抽出先は、#{RAILS_ROOT}/db/data YAML形式(日本語対応) rake db:data:load #{RAILS_ROOT}/db/data 内の YAML形式のデータをすべてDBにロード ロード前にDB内の既存のデータはすべて消えます 動機 ペアプロで開発中に実装者を交代したところ、開発しながら適宜用意してきたデータの受け渡しに困ってしまいました。ここでは、各開発者はローカルに自分用のDBを持っているとします。開発しながら自由にデータを弄っています。スキーマの同期は migrate で対応していますが、データ自体は migrate には記述していません。 fixture あたりを上手に使えないかと
さて、今日2発目のブログは、多くの人に書いてくれ〜と言われて約束していたネタです。 目下最近の私の2大関心毎は「Lean Startup/UX」と「Continuous Delivery」です。Lean Startupは書きましたので、何で「Continuous Delivery」か?というのは、理由があります。 最近実は企画フェーズのコンサルの中でプログラムを書いています。JQuery Mobile + Ruby on Rails on EC2 という感じです。インフラからアプリケーション、そしてUX的な要求開発なんかもやっています。チームは企画フェーズのアジャイルなので小さいですが、今回のアプリケーションを作っていて思っていることですが、Agileに加えてRailsやJQuery Mobileを使うとかなり開発って加速するのですが、どうしてもめんどくさい事があります。1つはインフラ構築
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く