タグ

ブックマーク / www.techscore.com (15)

  • 12. Decorator パターン

    2012/04/26 一部修正しました デザインパターン 12章 Decorator パターン 12.1 Decorator パターンとは 12.2 サンプルケース 12.3 Decoratorパターン まとめ 12.1 Decorator パターンとは 第12章では、Decorator パターンを学びます。Decorate とは、英語で「装飾者」を意味する言葉です。Decorator パターンでは、飾り枠と中身を同一視することで、より柔軟な機能拡張方法を提供します。 Decoratorパターンは機能を一つひとつかぶせていくイメージになります。ある機能を持ったDecorationをコアとなるものにかぶせていくイメージです。 12.2 サンプルケース サンプルケースでは、アイスクリームの話をしたいと思います。アイスクリーム屋さんでは、自由にトッピングを選べるようになっています。お客さんは、ト

    iR3
    iR3 2018/01/29
    ふむふむ
  • 3. ロケーションパス (2) 1

    3.1 ロケーションステップ 前回ロケーションパスの簡略な記述方法を説明しましたが、今回はロケーションパスの詳細な記述方法について説明します。 簡略な方法においてもロケーションパスは "/" で区切られた形で表されましたが、詳細な記述方法においてもその点は変わりません。実は、ロケーションパスは "/" で区切られた 1つ以上のロケーションステップと呼ばれる単位からなっています。そして、詳細な方法によるとロケーションステップは以下の 3つのパートからなります。 軸

    iR3
    iR3 2017/11/20
    XPathの記事も色々あるのね
  • Rails 4.1.0 の ActionPack Variants でデバイスごとのViewを表示する | TECHSCORE BLOG | TECHSCORE BLOG

    こんにちは、鈴木です。 Rails 4.1.0 で追加される ActionPack Variants を使ってみます。 ActionPack Variants とは ActionPack Variants とは、デバイスごとに View を切り替えるために導入された仕組みで、コントローラで request.variants に適当な値(例えば :tablet)を設定しておくと、それに応じた View ファイル(例えば index.html+tablet.erb)が使用される、というものです。 これを利用することで、デバイスごとに使用する View ファイルを切り替えることが簡単に実現できます。 ActionPack Variants を使う それでは ActionPack Variants を使ってみます。 やることは簡単で、コントローラで request.variants に適当な値を設

    iR3
    iR3 2016/07/25
    ほ〜ActionPack Variants Rails5でちょっと進化ね #sendagayarb
  • AWSでDockerを使ってみよう! | TECHSCORE BLOG | TECHSCORE BLOG

    こんにちは、鈴木です。 最近のホットな技術と言えば Docker ですね! と言いつつ使ったことが無かったので Docker 入門しました! コンテナ?仮想技術?それは何?何が良いの?と色々な疑問を少しずつ明らかにしていきたいと思います。 まずは Docker 公式サイトのチュートリアル Docker の公式サイトには、ブラウザで Docker の基的な操作を体験できるチュートリアルがあります。 「Docker やってみようかな・・。どうしようかな・・。」と迷っている方は、チュートリアルを触ってみましょう! 以下のページの「Start The Tutorial」というボタンを押すと Docker のチュートリアルが始まります。 The best way to understand Docker is to try it! 「Docker Engine Parts」と書かれた項目は概要的な

    iR3
    iR3 2016/07/07
    ふむふむ
  • Rails4 の Strong Parameters でリクエストパラメータを検証する | TECHSCORE BLOG | TECHSCORE BLOG

    こんにちは、鈴木です。 Rails4 の新機能である Strong Parameters を試してみました。 ※2013/10/03 TECHSCORE 体の記事になりました!「StrongParameters | TECHSCORE(テックスコア)」 Strong Parameters は個別の Gem ライブラリでしたが、Rails4 のコア機能として取り込まれました。 Strong Parameters を使用すると、ホワイトリスト形式でリクエストパラメータを検証することができます。 Rails3 では Mass-assignment (モデルの複数属性への一括代入)を防ぐために attr_accessible を使用していましたが、Rails4 からは Strong Parameters を用いて Mass-assignment に対応することができます。 Strong Para

    iR3
    iR3 2016/04/08
  • Ruby2.0のModule#prependは如何にしてalias_method_chainを撲滅するのか!? | TECHSCORE BLOG | TECHSCORE BLOG

    Ruby2.0のModule#prependは如何にしてalias_method_chainを撲滅するのか!? お久しぶりです。寺岡です。 lazyについて書いた前回に続いて、Ruby2.0について書いてみたいと思います。 今回注目する新機能は、Module#prependです。 Module#prependはRuby2.0で新たに追加された、Module#includeの親戚のような機能です。 一言で表すと「クラスの継承階層の手前にモジュールを追加する」ことができるようになります。 ActiveSupportのMudule#alias_method_chainを使わずに綺麗なモンキーパッチ実装することができる、Module#prependの挙動を探ってみたいと思います。 ruby2.0-rc1のインストール まずは実行環境の準備です。 前回の記事ではruby2.0-preview2を使い

    iR3
    iR3 2016/01/25
    なるほど良い記事
  • 5. カスタムタグの基本

    5.1. カスタムタグとは JSPでは標準で<jsp:useBean><jsp:getProperty>などのタグがサポートされていますが、その他にも独自にタグを定義する事ができます。カスタムタグを使用する際の文法は以下の通りです。 <(接頭辞):(カスタムタグ名) (属性1)="..." (属性2)="..." ... /> <(接頭辞):(カスタムタグ名) (属性1)="..." (属性2)="..." ... > ボディ部 </(接頭辞):(カスタムタグ名)> 例えば接頭辞が「mytag」で、カスタムタグ名が「date」の場合、 <myTag:date /> となります。 カスタムタグを使用するには以下のことを行う必要があります。 タグハンドラクラスの作成 タグライブラリ・ディスクリプタ(タグの設定ファイル)の作成 web.xmlへタグライブラリの設定追加(省略可能) JSPファイル

    iR3
    iR3 2015/05/27
    昔カスタムタグってあったなぁ。今でも残っているのかなぁ
  • Rails4.2beta1をインストールして最初にはまったこと | TECHSCORE BLOG | TECHSCORE BLOG

    こんにちは、寺岡です。 Rails4.2は来年の夏に予定されているRails5.0に向けて、4.x系最後のマイナーバージョンアップになるそうです。 今回はRails4.2beta1のインストール方法と、ちょっとしたはまりポイントをご紹介します。 まずはさらっとインストール # railsをインストールするディレクトリを作成 mkdir rails42 cd rails42 # Gemfileの作成 bundle init # Gemfileにrailsgithubのmasterブランチからインストールするように指定 echo 'gem "rails", github: "rails", branch: :master' >> Gemfile # システムのgemに混ざらないようにvendor/bundle以下にインストールする bundle install --path vendor/b

    iR3
    iR3 2014/12/05
    ふむふむ「-bオプションの存在をそっと心にとどめておくとよい」...思い出して rails s -b 0.0.0.0 で元どおりに。ほっ
  • Rails 4.1.0 で追加された Module#concerning と関心事の分離 | TECHSCORE BLOG | TECHSCORE BLOG

    こんにちは、鈴木です。 Rails 4.1.0 で Module#concerning というメソッドが追加されました。 Module#concerning とは Rails 4.0 で concerns ディレクトリが追加されたことを覚えているでしょうか。(see 「2.4. concerns ディレクトリの導入」) concerns ディレクトリに Mixin 用のモジュールを置いて、それをモデルなりコントローラなりで include する、という使い方をするものですが、Module#concerning を用いると、わざわざ concerns ディレクトリにファイルを作成せずに、モデルクラスの中に記述することができます。 コードで表すと、Rails 4.0 では以下のように書くことができるようになりました。 # app/models/article.rb class Article

    iR3
    iR3 2014/08/18
    fat model 問題は Module#concerning #sendagayarb
  • ActiveSupport::Concern でハッピーなモジュールライフを送る | TECHSCORE BLOG | TECHSCORE BLOG

    こんにちは、鈴木です。 以前のエントリで「includeされた時にクラスメソッドとインスタンスメソッドを同時に追加する頻出パターン」をご紹介しました。 今回は、それに関する定形処理を肩代わりしてくれる ActiveSupport::Concern をご紹介します。 includeされた時にクラスメソッドとインスタンスメソッドを同時に追加するパターン Before 以前のエントリ(includeされた時にクラスメソッドとインスタンスメソッドを同時に追加する頻出パターン)でご紹介していますが、おさらいしましょう。 module M def self.included(base) base.extend(ClassMethods) end module ClassMethods def foo puts 'foo' end end def bar puts 'bar' end end

    iR3
    iR3 2014/03/03
    なるほど 共通化には Concern ですか #sendagayarb で見てる
  • Yesod入門 (1) インストールから起動まで | TECHSCORE BLOG | TECHSCORE BLOG

    こんにちは、鈴木です。 以前から気になっていた Yesod というフレームワークをインストールしてみました。 Yesod は Haskell で作られたフルスタックの Web アプリケーションフレームワークです。 まだ Haskell に詳しくないので、言語を学びながら Yesod を使っていきたいと思います。 What's Yesod? 公式サイトによると、Yesod はタイプセーフで RESTful なハイパフォーマンス Web アプリケーションを効率良く開発するためのフレームワークだそうです。 Why Yesod? Yesod には以下の特徴があるそうです。 実行時エラーをコンパイル時エラーに 文字コード絡みの問題や XSS 対策のために、できるだけ型システムの力を活用する。 非同期化が簡単 計量グリーンスレッドとイベントベースのシステムコールを活用することで、書いたコードは特に苦労

    iR3
    iR3 2013/08/02
    ふむふむ「Yesod は Haskell で作られたフルスタックの Web アプリケーションフレームワーク」
  • Module#prepend

    4. Module#prepend 2013/03/01 シナジーマーケティング(株) 寺岡 佑起 [Ruby 2.0] 第4章 Module#prepend 4.1. Module#prependとは 4.2. prependとincludeの違い 4.3. モジュールの仕組み 4.4. モンキーパッチに利用する 4.5. まとめ 4.1. Module#prependとは Ruby2.0で追加されたModule#prependは、Module#includeと非常によく似た機能です。 Module#prependを使うと既存のクラスの処理を変更することができます。 Module#prependでメソッドを追加する prependを利用するのに特に難しいことは必要ありません。 以下のようにprependにモジュールを指定するだけです。 module Greeting def greet

    iR3
    iR3 2013/03/01
    なるほど prepend ! GJ!
  • Ruby on Rails 4.0 Release Notes を読む | TECHSCORE BLOG | TECHSCORE BLOG

    実行可能ファイルが bin ディレクトリに置かれるようになった。(※2013/2/15追記: 「bundle install」するときに --binstubs オプションを付ける場合に注意が必要です。詳しくは「Hello Rails4 beta」をご参照ください。) デフォルトでスレッドセーフになった。 非推奨 (デフォルトでスレッドセーフになったため)config.threadsafe! が非推奨となった。 Rails::Plugin は廃止された。vendor/plugins ではなく Gem ライブラリを使用する。 7. Action Mailer 主な変更点 特に無し。 非推奨 特に無し。 8. Active Model 主な変更点 許可しない属性に対する Mass-assignment を防ぐシンプルなモジュールである ActiveModel::ForbiddenAttribut

    iR3
    iR3 2013/02/27
    ふむふむ
  • Railsライブラリ紹介: 論理削除をサポートする「rails3_acts_as_paranoid」 | TECHSCORE BLOG | TECHSCORE BLOG

    こんにちは、鈴木です。 Rails3 で論理削除をサポートするライブラリ rails3_acts_as_paranoid をご紹介します。 rails3_acts_as_paranoid (https://github.com/goncalossilva/rails3_acts_as_paranoid) rails3_acts_as_paranoid は Rails2 時代にあった acts_as_paranoid の Rails3 対応版です。 ※2013/07/25 追記: Rails4 対応版は rails4_acts_as_paranoid です。(see 「Rails4 ライブラリ対応状況調査」) 論理削除とは アプリケーション上でデータを削除する操作をした場合の方式に、物理削除と論理削除があります。 物理削除は、アプリケーション上で削除する操作をすると、実際にデータベースのレコ

  • トップページ

    SQL データベース操作言語SQLについて、またRDBMSの持つ機能について詳しく解説します。 DB概要、SQL、テーブル操作、データ操作 ... 特集:replication PostgreSQLのレプリケーションシステムを紹介し、それらの機能を比較していきます。 特集:pgbench PostgreSQLのベンチマークテストに用いられるプログラムである pgbench について解説します。 SQL演習問題 各章に用意された演習問題を集めました。

    iR3
    iR3 2008/03/10
  • 1