oh240のブックマーク (944)

  • Rails callback for the equivalent of "after_new"

    Right now I cant find a way to generate a callback between lines 1 and 2 here: f = Foo.new f.some_call f.save! Is there any way to simulate what would be effectively an after_new callback? Right now I'm using after_initialize but there are potential performance problems with using that since it fires for a lot of different events.

    Rails callback for the equivalent of "after_new"
    oh240
    oh240 2016/10/18
  • meta-tagsの使い方 - Qiita

    railsでページごとにtitleタグの中身を変えたい場合などに、毎回インスタンス変数に設定したりcontent_forをviewに埋め込んだりすることがありますが、それを簡単に書けるのがmeta_tagsです。 しかし、ちょっとインターフェイスが直感的でないところがあるので簡単に使い方をメモします。 共通のtitleやmeta tagを埋め込む

    meta-tagsの使い方 - Qiita
    oh240
    oh240 2016/10/18
  • Can circle ci use docker-compose to build the environment

    I currently have a few services such as db and web in a django application, and docker-compose is used to string them together. The web version has code like this.. web: restart: always build: ./web expose: - "8000" The docker file in web has python2.7-onbuild, so it uses the requirements.txt file to install all the necessary dependencies. I am now using circle CI for integration and have a circle

    Can circle ci use docker-compose to build the environment
    oh240
    oh240 2016/10/18
  • Compose を 本番環境(production) で使う — Docker-docs-ja 24.0 ドキュメント

    開発環境で Compose を使ってアプリケーションを定義しておけば、その設定を使い、アプリケーションを CI 、ステージング、番環境のように異なる環境で実行できます。 アプリケーションをデプロイする最も簡単な方法は、単一サーバ上での実行です。これは開発環境で実行する方法と似ています。アプリケーションをスケールアップしたい場合には、Compose アプリを Swarm クラスタ上で実行できます。 Compose ファイルを番環境向けに書き換え¶ アプリケーションの設定を番環境に適用するには、おそらく書き換えが必要でしょう。以下のような変更が必要になるかもしれません: アプリケーションのコードに 結び付けている(bind) ボリュームを削除する。そのため、コードはコンテナ内に残り続けるため、外から変更できなくなる。 ホスト上では異なるポートに割り当てる コンテナのコードを外から変更でき

    oh240
    oh240 2016/10/17
  • データベース構造 - WordPress Codex 日本語版

    以下は、WordPress バージョン 3.4 の標準的なインストールで作成されるデータベース・テーブルの概要と説明です。現在、WordPress バージョン 3.4 が対応しているデータベースは、MySQL バージョン 5.0.15 以上のみです。 バージョン 1.5 以降の過去のデータベース概要については英語版ページにあるリンクおよびこのページの旧バージョンのデータベース概要セクションをご覧ください。 WordPress は自動的にこのデータベースと連動しているため、エンドユーザーはその構造を気にする必要はありません。しかしプラグインを作成していると、WordPress がどのようにデータやその連携情報を格納しているかについて知りたいと思うかもしれません。既存の WordPress API を使って必要なデータにアクセスしようとしたことがすでにあり、データベースには直接アクセスできない

    データベース構造 - WordPress Codex 日本語版
    oh240
    oh240 2016/10/17
    “投稿スラッグ ”
  • GitHub - supportify/paperclip-azure: An Azure Blob Storage implementation of the Paperclip storage driver.

    oh240
    oh240 2016/10/16
  • バージョン番号の付け方

    バージョン同士をどのように比較するのかは優先度によって決まります。優先度はメジャー、マイナー、パッチ、プレリリース識別子の順番(ビルドメタデータは優先度に関して考慮しない)で分けて評価されなければなりません(MUST)。優先度は、各識別… このセマンティック バージョニングはライブラリの場合はとても良いのだけれど、パッケージ製品に採用するにはずーっとしっくり来なかった。 割り切ってしまえば、ひたすらメジャーバージョンアップだけ上げていったっていいわけで、だとしたらあまりバージョン番号は関係ないなと。 もっとシンプルなのは無いのだろうかと模索していたのだが、結構身近に YY.MM.patch というバージョン番号を付けている Ubuntu というのがあった。 Ubuntu は 16.04.1 のように年と月そしてセキュリティパッチという形でバージョニングをしている。これとてもわかりやすい。U

    oh240
    oh240 2016/10/16
    もう面倒だし、うちもこれにする。
  • ActiveRecord の serializable_hash の使い方 - Qiita

    動機 ロジックの分離、疎結合化を進めたかった。 切り出し先ではデータベースアクセスを一切させない! すべてのデータを引数渡し! ステートレス! テストしやすく! 独立性を確保! そのため、次の流れで進めることにした。 呼び出し元ですべてのデータ取得を事前に行う。 必要な全データをシリアライズして、切り出し先に引数で渡す。 受け取ったデータに対して必要な処理を行う。(データベースアクセスなし) serializable_hash や as_json の日語情報があまりなく、備忘録として記事を執筆しようと思った。

    ActiveRecord の serializable_hash の使い方 - Qiita
    oh240
    oh240 2016/10/15
  • ActiveRecordで多階層カテゴリ(Ancestry) - Qiita

    ActiveRecordで多階層カテゴリ という投稿をしたところ、 @jnchito さんに Ancestry なるgemを教えていただきました。 stefankroes/ancestry Organise ActiveRecord model into a tree structure 準備 $ rails g model category name:string $ rake db:migrate mysql> desc categories; +------------+--------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +------------+--------------+------+-----+---------+---

    ActiveRecordで多階層カテゴリ(Ancestry) - Qiita
    oh240
    oh240 2016/10/14
  • Rails4でacts-as-taggable-on Gemを使う - JanGaJan.com

    ユーザーに紐づくタスクに、タグ付けをするという機能を実現する方法です。 acts-as-taggable-onというgemを利用することで簡単(苦戦した…)にタグ機能は実現できるそうです。 なんとかできたっぽい… 環境は、こんな感じです。 Rails 4.1.6 ruby 2.1.2p95 acts-as-taggable-on 3.4.2 GithubのREADMEを参考にしました Model そもそもリレーション関係の設定でハマりましたが、これで良さそうです。 関係としてはuser 1-n taskとなり、taskにタグを設定します。 タグは、userごとに別々に管理します。 app/models/user.rb

    oh240
    oh240 2016/10/14
  • acts-as-taggable-on:チェックボックスでタグ更新 - Qiita

    acts-as-taggable-onはタグ付けするのに便利なgemなのですが、登録済みのタグをチェックボックスで表示してチェックを外すと削除できるようにしようとしたら色々手こずったのでやり方を公開しようと思います。 環境 rails 4.1.10 acts-as-taggable-on 3.4.2 acts-as-taggable-onの基 タグの追加と削除の方法 # タグの追加 @resource.tag_list.add('hoge,huga') # タグの削除 @resource.tag_list.remove('hoge,huga') やろうとしたこと 追加するタグはtext_fieldに記述 。コンマでもスペースでも区切れるようにする。 登録済みのタグはチェックボックス付きの一覧にし、チェックボックスを外したらタグを外すようにする まずは失敗例 チェックボックスでタグを配列と

    acts-as-taggable-on:チェックボックスでタグ更新 - Qiita
    oh240
    oh240 2016/10/14
  • Moment.jsを使う - Qiita

    去年にこれ(日付フォーマットなど 日付系処理) 書いたんだけど(思いの外ストックされた)、 これはライブラリ使用承認プロセスがとても難儀な環境の時書いたもので、 もしそんな悲しい環境でないなら先人たちの素晴らしいライブラリを使ったほうがいい。 ライブラリを使ういいところは、コーダの独自実装になりにくいし、他のプロジェクトでも知見が使い回しできるところだと思う。 ということでMoment.jsの使い方について書いておく。 GitHubにおいて、現在(2015/1)日付を処理するライブラリの中で多分一番Starがついてる日付系のライブラリ。人気が有るということは正義っぽい。 Qiitaにもたくさん記事ある。 公式ドキュメントはこちら。 http://momentjs.com/docs/ Moment.jsはJavaScriptのDateオブジェクトをラップするオブジェクトを生成して、そのオブジ

    Moment.jsを使う - Qiita
    oh240
    oh240 2016/10/13
  • Amazon API Gateway を使って AWS 以外のサービスの API をラップする | DevelopersIO

    Amazon API Gateway!!!! AWS Summit 2015 NewYork で発表&ローンチされた新サービス「API Gateway」。社内でも社長を筆頭に愉しみながら触れています。 Amazon Lambda と連係させることで、Lambda Function を HTTP 形式の API にできるところに注目が集まっていますが、API Gateway ではそれだけではなく、外部の HTTP プロキシの API の呼び出しや各 AWS サービスの API の呼び出しも可能です。API Gateway はいろいろな可能性に満ちあふれています。 ということで今回は HTTP プロキシの API との連係機能を使って、OpenWeatherMap のラッパー的な API を作成してみたいと思います。 API の作成 それでは、API を作成していきましょう。まずはじめに「Ge

    Amazon API Gateway を使って AWS 以外のサービスの API をラップする | DevelopersIO
    oh240
    oh240 2016/10/13
  • Railsが動いている検証用サーバ(EC2)を、AWSLambdaで指定の時間だけ起動して、コストを削減する - Qiita

    Railsが動いている検証用サーバ(EC2)を、AWSLambdaで指定の時間だけ起動して、コストを削減するRubyRailsEC2AWSLambda はじめに サービスを運用していると必ず課題になってくる「インフラコスト」。出来ればなるべくお金を掛けたくないところですよね。 今回はRailsが動いてる検証用サーバをAWSLambdaを使って必要な時だけ起動するようにしました。 今回お世話になった参考サイト AWSLambdaの設定 http://dev.classmethod.jp/cloud/scheduled_to_start_instance_from_lambda/ unicorn自動起動 http://blog.mmmcorp.co.jp/blog/2015/10/23/unicorn-auto-start/ delayed_job自動起動 http://blog.champi

    Railsが動いている検証用サーバ(EC2)を、AWSLambdaで指定の時間だけ起動して、コストを削減する - Qiita
    oh240
    oh240 2016/10/12
  • Rubyのクラスメソッドでのmethod_missing - Mame the hack

    まずmethod_missingを特異クラスに仕込む class Sample class << self def method_missing(method, *args) p "miss: #{method}" end end end Sample.hoge => # => miss: hoge Sample.hoge => # => miss: hoge そこでdefine_methodでメソッド足してみる 当然、特異クラス内でmodule_eval呼んでその中でdefine_methodよぶんだから当然これでいけるとおもったけど、、、 class Sample class << self def method_missing(method, *args) p "miss: #{method}" module_eval do define_method method do p "de

    Rubyのクラスメソッドでのmethod_missing - Mame the hack
    oh240
    oh240 2016/10/10
  • デザイナーが WP-API を使う意味-男木島図書館のスマートフォンアプリ制作から学んだWordPressのこれから

    WordCamp Kansai 2016 スピーカースライド

    デザイナーが WP-API を使う意味-男木島図書館のスマートフォンアプリ制作から学んだWordPressのこれから
    oh240
    oh240 2016/10/10
  • お前らにISUCONの負け方を教えてやる - Qiita

    ISUCONに出場しました。 残念ながら予選落ちでした。 今、もう一度やってみれば、予選は突破できる気がします。(どのチームも思っているとは思いますが) なぜ予選落ちしたのか振り返りを行った結果とやってはいけないことがいくつかわかったので、 共有します。 皆さんは勝った方法やこうしておけばよかったって書いている人が多かったので、 逆に僕は確実に負けるためにやるべきことを共有します。 ※タイトルは完全に煽りです。 事前準備をしない チャットの作成をしない チームメンバーでのコミュニケーションできる環境は必須です。コミュニケーションを取りづらくするために チャットを作成しないようにしましょう。 GCPの使用準備をしない 今回のISUCONはGCPを使用しての出題だったのですが、GCEのインスタンスにログインできる状態を 作ってしまうと、時間のロスができないので、ログインできるまでの準備はやめと

    お前らにISUCONの負け方を教えてやる - Qiita
    oh240
    oh240 2016/10/08
  • 色々な OAuth のフローと doorkeeper gem での実装 - Qiita

    OAuth って言われたら、大体の人は Facebook でログインとかを選ぶと、「〜があなたの以下の情報にアクセスしようとしています」みたいな文章が出てきて OK するやつを想像すると思います。 実は OAuth には、上記のフロー以外にも、アプリケーションにユーザのリソースへのアクセスを認可するためのフローが存在します。 今回 OAuth と doorkeeper についていろいろ調べたので、備忘録も兼ねて各認可フローを簡単に説明しつつ、doorkeeper gem を使って OAuth の各認可フローを試してみます。 補足: - 投稿中の OAuth とは、すべて RFC 6749 で定められている OAuth 2.0 のことです。 - 理解不足&説明を簡単にするために正確でないことがあるかもしれませんので、詳細については参考に挙げたページをご確認ください。OAuth に詳しい方は

    色々な OAuth のフローと doorkeeper gem での実装 - Qiita
    oh240
    oh240 2016/10/05
  • 【サンプルあり】Nightwatch.js覚書

    June 13, 2016 E2E Nightwatch Nightwatch.jsについて簡単に学び、簡単にまとめました。 概要 Nightwatchとは? Selenium WebDriver APIを使い、Node.jsで書かれたWebアプリケーション/Webサイト用の自動テストフレームワーク 継続的インテグレーションを行うためのE2Eテスト自動化へのソリューション Seleniumの概要 ブラウザ自動制御のための人気で包括できなツール。元々Javaだったが現在は多くの言語をサポート Nightwatchはブラウザ自動制御のためにSelenium WebDriver(特にWebDriver Wire Protocol)を使っている オペレーションについて NightwatchはSeleniumサーバーに正しいパラメータを付与してHTTPリクエストを送ることで動作する。 RESTful

    【サンプルあり】Nightwatch.js覚書
    oh240
    oh240 2016/10/04
  • Vue2 + TypeScript2 -- an introductory guide

    Safety check and error detection are important to development experience. Vue has gone to great lengths to provide component information when typos or mistakes happen. But we can do better, error reporting can happen at compile time. This is why we want to use TypeScript with Vue. Our goal: writing Vue in TypeScript GoalsIn this guide we will finally achieve these goals: writing type safe vue inst

    Vue2 + TypeScript2 -- an introductory guide
    oh240
    oh240 2016/10/04