タグ

ブックマーク / qiita.com/awakia (15)

  • RailsアプリでPDFを出力する (Heroku対応) - Qiita

    wicked_pdfというGemを使うとHTMLを元にPDFを生成できるのでこれを使う。 Gem wicked_pdfは、wkhtmltopdfコマンドを叩くという実装になっているので、まずはそのバイナリをインストールする必要がある。 普通にインストールしてもいいのだが、wkhtmltopdf-binary gemで入れることをお薦めする。これで、wkhtmltopdfをインストールする必要があることを知らない他のメンバーのPCでも動き、Herokuでも動くアプリになる。 結果Gemfileは以下のようになる。

    RailsアプリでPDFを出力する (Heroku対応) - Qiita
    taka222
    taka222 2016/09/15
  • プログラマが知っておくべき、メモリ/ディスク/ネットワークの速度まとめ - Qiita

    注: 無線ネットワークは干渉などによりこの数値より遅くなる状況も十分ありえます。 ポイント メモリからの読み込みとディスクからの読み込みはランダムアクセスで1000倍程度違う とは言え、最近はディスクも結構速い きちんと繋がれた有線ネットワークからの読み込みは、ディスクより速い つまり、ディスクから読むより、同じデータセンターのマシンのメモリから読んだほうが速い モバイルネットワークだと100キロバイトのデータでも1秒以上かかることがある メモリからの読込速度の遅さは、CPUのクロック数も10G/s程度なのと、来はL1/L2キャッシュなどがあることを考えると通常意識しなくて良い 何故この参考値をまとめたか プログラミングをする際、どのくらいの時間でどのくらいのサイズ感の処理が出来るのかを考えられることが、ある一定規模以上のサービスを開発するときは必須条件になってくると思います。 なにより

    プログラマが知っておくべき、メモリ/ディスク/ネットワークの速度まとめ - Qiita
    taka222
    taka222 2016/07/06
  • Ruby/Railsでの高速化の際に使うgem達 - Qiita

    1. ベンチマーカー プロファイルすると、プロファイル自体に時間がかかるので正しく速度が測れない。そのためベンチマーカーも使うと良い。 ただし、ベンチマーカーはどこが遅いか等の解決の糸口は教えてくれない。 benchmark-ips 2. プロファイラ 実際に速度のボトルネックを見つける際に使う。 stackprof どのメソッドに多くの時間を費やしているかがわかる これを入れても速度にさほど影響がない rblineprof 行ごとにかかっている時間を出してくれる peek-rblineprofを使うとブラウザで結果が見れる ただしプロファイリングに結構時間がかかる (3. NewRelic) 実際、これらのことを手元でやらなくても、特にstackprof的なことや、どこのページやどのSQLクエリが特に遅いかなどは、 New Relic がやってくれます。お金を払うと結構詳細な部分も見れま

    Ruby/Railsでの高速化の際に使うgem達 - Qiita
    taka222
    taka222 2016/01/25
  • GitでMerge CommitをRevertする方法 - Qiita

    何個もCommitがあるような一つのPull Requestを全てRevertしたいようなときに使えます。 そもそもRevertとは あるコミットを打ち消すような、全く逆のコミットを作ることです。 追加した部分を削除して、削除した部分を追加して、変更した部分を変更前の状態にするコミットを作成します。 取り消したいコミットがあるのだけれど、既にリモートにコミットしてしまって、git reset, git rebase -i, git reflogなどを使っての取り消しが不可能なときに使います。 通常のRevert 普通のcommitなら、revertは

    GitでMerge CommitをRevertする方法 - Qiita
    taka222
    taka222 2015/09/15
  • 開発フロー研修 @ Wantedly - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? Githubでの開発 - Issue, Commit, Pull Request, Mention, Code Reviewに関する基的なルール ゴール 「 チーム で 長期にわたって 生産性を上げる 」 前提 みんながサービス・プロダクトについて自主的に考える組織 エンジニア全員がそれぞれオーナーシップを持ってよりプロダクトを良くすることを考える いわゆるPM職の不在 = コードは書かずに、マネージだけする人がいない これは組織による。(e.g. 外注やディレクター職の存在) けれど、Wantedlyは、多少変化しつつも、より良いサ

    開発フロー研修 @ Wantedly - Qiita
    taka222
    taka222 2015/04/11
  • RubyでJSON形式の結果が返ってくるURLをParseする - Qiita

    HTTPリクエストでJSONが返ってくるAPIを処理するとかよくあるケースだけど、意外と書き方忘れるのでメモ require 'net/http' require 'uri' require 'json' uri = URI.parse('http://www.example.com/sample.json') json = Net::HTTP.get(uri) result = JSON.parse(json) puts result require 'net/http' require 'uri' require 'json' def get_json(location, limit = 10) raise ArgumentError, 'too many HTTP redirects' if limit == 0 uri = URI.parse(location) begin res

    RubyでJSON形式の結果が返ってくるURLをParseする - Qiita
    taka222
    taka222 2014/11/06
  • Railsで、URLにIDでなく名前を入力して、アクセスする方法 - Qiita

    でアクセスできるようにする。 単純にURLのかっこ良さが上がる気がするし、文字列でのアクセスのみ受け入れるようにしたら、サイトの持っている情報のスクレイピング対策にもなる。 例として、適用するモデル名をUser、urlに使用するカラム名をcanonical_nameとする。ここではidとcanonical_nameのどちらでもアクセスできるようにする例を書く。 モデル側のコード class User < ActiveRecord::Base validates :canonical_name, uniqueness: { case_sensitive: false }, format: { with: /^[A-Za-z][\w-]*$/ }, length: { minimum: 3, maximum: 25 } def to_param canonical_name ? canonic

    Railsで、URLにIDでなく名前を入力して、アクセスする方法 - Qiita
    taka222
    taka222 2014/06/11
  • redirect_toのレスポンスコードをデフォルトで302 Foundではなく301 Moved Permanentlyにする - Qiita

    redirect_toのレスポンスコードをデフォルトで302 Foundではなく301 Moved PermanentlyにするRubyRails 302じゃなくて301を使う理由は、301リダイレクトと302リダイレクトの違い参照。 重要なところを抜き出すと、 301リダイレクトは、”Permanent Redirect”で「恒久的な転送」、一方、302リダイレクトは、”Temporary Redirect”で「一時的な転送」を表します。 検索エンジンのインデックスに関して: 302リダイレクト:旧URLのまま 301リダイレクト:新URLへ というようになっている。 ちなみにRailsでは、デフォルトで302が返るようになっている。 これを変えるには、

    redirect_toのレスポンスコードをデフォルトで302 Foundではなく301 Moved Permanentlyにする - Qiita
    taka222
    taka222 2014/06/02
  • Rubyはじめての人がRails開発に参加するときに最初に知っておくべきこと - Qiita

    ※この内容はRailsで書かれたWantedlyプロジェクトに参加することを想定していて、一部Railsのデフォルトでない機能の解説もありますが、使っているgemもメジャーなもので割と汎用的な内容になっていると思うので、是非参考にしてみてください。 URLを見ればだいたいどこを変更すればいいかわかると言うこと Ruby on RailsはMVC(Model View Controller)にもとづいて設計されていて、ディレクトリ構造的にもapp/以下に綺麗に分かれている。 MVCって何?って人は、ググってみてほしいが、割と宗教論争になりかけているので、モデルはDBの各テーブルに関連していて、ビューはHTMLの部分に近くて、コントローラーはビュー用にモデルを引っ張ってくるつなぎ役だと思ってれば大体合っている。これ以上は深く考えずにコードを読んだほうが良いと思う。 Router でもコード的

    Rubyはじめての人がRails開発に参加するときに最初に知っておくべきこと - Qiita
    taka222
    taka222 2014/05/05
  • Rubyで学ぶデザインパターン - Iterator - Qiita

    Wantedlyエンジニア新人研修(設計)の1回目 チェックポイント ArrayはIteratorを使っているか? HashはIteratorを使っているか? 自分でIteratable(Enumerable)なクラスは書けるか? Rubyでインターフェースは存在しないがどう置き換えられているか? 1. どういう時に使うか 集合の要素を全走査したいとき。 Rubyで言えば XXX.each でループを回せる部分。 2. メリット (+デメリット) メリット 個々の要素とその集合という概念を扱えるようになる。 デメリット 特になし。 3. このパターンを使わないとどうなるか 配列やDB的なidがあるものに関してはfor (int i = 0; i < x.size(); i++)というような決まり文句で代替が効く。 文字列をKeyにした集合だと、そのkeyの配列などがない限り個々の要素にアク

    Rubyで学ぶデザインパターン - Iterator - Qiita
    taka222
    taka222 2014/04/17
  • RSpecのshouldはもう古い!新しい記法expectを使おう!

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

    RSpecのshouldはもう古い!新しい記法expectを使おう!
    taka222
    taka222 2014/04/16
  • Railsでmemcacheを使ってobjectをキャッシュ - Qiita

    Page Cache Action Cache Fragment Cache とかじゃなくて普通にObjectをStoreしたいんだよって時に。

    Railsでmemcacheを使ってobjectをキャッシュ - Qiita
    taka222
    taka222 2014/04/11
  • Railsで日本語サービスを作るときのテンプレート - Qiita

    config.i18n.load_path += Dir[Rails.root.join('config', 'locales', '**', '*.{rb,yml}').to_s] config.i18n.default_locale = :ja config.i18n.available_locales = [:ja, :en] config.time_zone = 'Tokyo' ja: activerecord: errors: template: header: one: "%{model}にエラーが発生しました。" other: "%{model}に%{count}つのエラーが発生しました。" body: "次の項目を確認してください。" messages: taken: "はすでに存在します。" record_invalid: "バリデーションに失敗しました。 %{error

    Railsで日本語サービスを作るときのテンプレート - Qiita
    taka222
    taka222 2014/04/04
  • with_indexが便利だという話とstable_sort_by - Qiita

    Rubyはいろんなことがone lineで書けて便利ですよね。 いろんなことを1行に書けるようにするには String, Array, Hash, Enumerable あたりの、リスト系の構造になったものにどういうメソッドがあるかを覚えておけば、たいていのことは1行で書けます。 今回の話は、これに加えて、 Enumerator のメソッドも知っておくともっと世界が広がるよという話です。 map_with_indexが欲しい! 例えば、あるユーザーのリストに対して、名前の前に通し番号をふった文字列を出力したい(あんまり無さそうな例でごめんなさい)という要求があったとしましょう。 それをただ出力すれば良いのであれば、each_with_indexを使って users.each_with_index do |user, i| puts "#{i+1}: #{user.name}" end とす

    with_indexが便利だという話とstable_sort_by - Qiita
    taka222
    taka222 2013/12/12
  • pryでのデバッグ中にnextがstepの様な挙動をしてしまう問題の解決法 - Qiita

    Ruby2.0に置き換えた人はこの問題にぶち当たっているみたいです。 debuggerがruby2.0に対応できていないのが問題らしいので、対処法としては、 debuggerをbyebugに pry-debuggerをpry-byebugに 置き換えればいいみたいです。 情報源 Register as a new user and use Qiita more conveniently You get articles that match your needsYou can efficiently read back useful informationYou can use dark themeWhat you can do with signing up

    pryでのデバッグ中にnextがstepの様な挙動をしてしまう問題の解決法 - Qiita
    taka222
    taka222 2013/08/17
    ”Ruby - pryでのデバッグ中にnextがstepの様な挙動をしてしまう問題の解決法 - Qiita [キータ]”
  • 1