カテゴリー: web

パターンランゲージに基づいた3つの有用なパターン

パターンランゲージに基づいた3つの有用なパターン

デザインパターンじゃなくて・・・。

チームでのプロジェクトを成功させる秘訣34項目「コラボレーション・パターン」

この記事が気になったので元サイトに行ってみたら
他にも2つのパターンがあったのでメモ。
コラボレーション・パターン(Collaboration Patterns)

コラボレーション・パターンは、「創造的コラボレーション」の秘訣を言語化したものです。
創造的コラボレーションでは、メンバーが高め合い成長しながら、個人には還元できない
チームレベルの「創発的な勢い」に乗り、世界を変えるような成果を生み出します。
そのようなコラボレーションのデザインにおける視点や方法をまとめたものが、
コラボレーション・パターンなのです

ラーニング・パターン (Learning Patterns)

学習パターンは、自律的で創造的な学び方のコツをパターン・ランゲージという形式でまとめたものです。
どのような状況でどのような問題が生じやすく、それをどのように解決すればよいのかの発想がまとめられています。
このようなコツを「言語」として共有することで、個人の自律的で創造的な学びの支援と、学びのコミュニティの
活性化を目指しています。

プレゼンテーション・パターン (Presentation Patterns)

プレゼンテーション・パターンは、「創造的プレゼンテーション」の秘訣を言語化したものです。
創造的プレゼンテーションには、想いが凝縮されたメッセージがあり、聞き手の想像力をかきたて、
新しい発見をもたらす工夫がなされています。
そのようなプレゼンテーションのデザインにおける視点や方法をまとめたものが、
プレゼンテーション・パターンです。

慶應義塾大学の井庭 崇 研究室で作成されたものらしいです。

活用させていただきます。

Redmineのインストール資料

Redmineのインストール資料

すごく丁寧に書かれていて一発でインストールできたのでメモ。

ちなみに…Redmineとは

Redmineはオープンソースのプロジェクト管理ソフトウェアです。

プロジェクトのタスク管理、進捗管理、情報共有が行えます。
SubversionやGitなどのバージョン管理システムとの連携機能も
備えており、ソフトウェア開発やwebサイト制作などのITプロジェクトで
特に威力を発揮します。

※関係者説得用資料(保守派層説得などに)
Redmineとは

■インストール参考ページ(超親切な解説)
Redmine 2.1をCentOS 6.3にインストールする手順

■初期設定(すごくわかりやすい)
Redmineを使い始めるための初期設定

Redmine入門 

「○○の表示中に問題が発生したため、Internet Explorerは互換表示を使用してWebページを更新しました 」っていうIE9の表示について

○○の表示中に問題が発生したため、Internet Explorerは互換表示を使用してWebページを更新しました

IE9で上記のエラーが表示された。
元々なんとも無かったが、IE9のアドレスバーの互換表示を押して
しまったあとから互換表示をやめても上記エラーが出て
強制的に互換モードにされてしまった。
※開発者ツールでブラウザモードをIE9にすれば直るんだけど。

気持ち悪いので対応。
方法としては以下のサイトを参考にしてメタタグを挿入し
強制的にモードを指定するようにした。

<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE9"/>

IE8ではIE7互換モード、IE9は標準でレンダリングさせる方法

Internet Explorer でレイアウトが崩れる Blogger テンプレートは、IE 7 互換モードのタグを削除してみるといいかも

IE9ヤバイ。IE9の文字間隔・互換モード・DOCTYPE宣言について

ただこんなんでいいのかは謎。
「onbeforeunload」使ってるからかな?
「onbeforeunload」とIEの互換表示が相性悪い気がする。
そういえばこの前もIE9でHelvetica問題で躓いたなぁ。。

IE9でwordpressが表示されないバグ(HelveticaをインストールしているPC)

IE9のfont-familyバグ

特定のファイル(URL)を除いたindex.htmlの有り、無しの統一

特定のファイル(URL)を除いたindex.htmlの有り、無しの統一

mod_rewriteは何度調べても全然覚えられません。。

SEO関連で調整するよう言われたので調査。
index.htmlの有り、無しの統一というありがちな話。
こんな感じ。
hogehoge/index.htmlをhogehoge/にする。

ただ今回は特定のファイル(URL)の場合を除くという指令。

サンプルフォルダ構成

— base
|– a
| `– index.html
|– b
| `– index.html
|– c
| |– cc
| | `– index.html
| `– index.html
`– index.html

.htaccessの記述

RewriteEngine on
RewriteCond %{THE_REQUEST} !^.*/b/index.html
RewriteCond %{THE_REQUEST} ^.*/index.html
RewriteRule ^(.*)index.html$ http://example.com/base/$1 [R=301,L]

この場合
http://example.com/base/b/index.html
だけindex.htmlが書き換えられない。

RewriteCondは連続して書くとANDになるから。
ORでつなげたい場合は[OR]をつける
RewriteCondの条件で大文字小文字を区別しない場合は[NC]をつける

■RewireRuleの書式
RewriteRule Pattern Substitution [flags]
くわしくはこちら

■flagsの種類

  • redirect|R [=code] (強制 redirect)
  • forbidden|F (URL を強制的に forbidden(禁止)にする)
  • gone|G (URL を強制的に gone(消去済み)にする)
  • proxy|P (強制 proxy)
  • last|L (last(最後の)ルール)
  • next|N (next(次の)一周)
  • chain|C (次のルールにchained (チェイン))
  • type|T=MIME-type (MIME type の強制指定)
  • nosubreq|NS (内部の sub-request が no (ない) 時のみ 使われる)
  • nocase|NC (no case)
  • qsappend|QSA (query string append)
  • noescape|NE (no URI escaping of output)
  • passthrough|PT (pass through to next handler)
  • skip|S=数字 (skip next rule(s))
  • env|E=VAR:VAL (set environment variable)

参考サイト

楽:技林ブログ>mod_rewrite サンプル集

技林TOP > 自宅サーバ構築メモ > mod_rewrite

index.html「あり・なし」のURL正規化 – 301リダイレクト応用編

A Users Guide to URL Rewriting with the Apache Webserver

mod_rewrite モジュール URL 書き換えエンジン

効率的なWebアプリケーションの作り方のメモ


最近「効率的なWebアプリケーションの作り方」読んで写経してます。
目次

■Part1 MVC開発の基礎知識

  • 1章 MVC開発の概要
  • 2章 オブジェクト指向

■Part2 フレームワークを利用する利点

  • 3章 レガシーコードの欠点
  • 4章 リファクタリング・デザインパターン実践
  • 5章 フレームワークを活用する

■Part3 モダンPHP Webアプリケーション開発

  • 6章 アプリケーション開発を始めるための準備
  • 7章 データベースとエンティティ
  • 8章 コントローラとビュー
  • 9章 フォームとデータベース

■Part4 機能の作成と実装のパターン化

  • 10章 ユーザ登録
  • 11章 イテレーション
  • 12章 管理画面
  • 13章 コマンドラインスクリプト
  • 14章 ユニットテスト
  • 15章 機能テスト

Part1、Part2はオブジェクト指向、フレームワークに関することがすごく
コンパクトにまとめられててとってもいいと思った。

ここにまとめられていることはオブジェクト指向の分厚い本で出てくる内容なので
先にこの本で概要を見てから分厚い本に取り組めばより理解しやすいんじゃないかなと思う。
普通のPHPの本では触れられていないところが記載されている感じ。

Part3からはSymfony2を使っての開発を一通り行う構成。
この本が出た当初のSymfonyのバージョンは2.0.11だけど9月に2.1.2が
出てるので公式サイトからそのまま落とすと設定ファイルの内容が違ったりして
テンパる。
本に沿って写経するなら公式サイトから2.0.17のstandardをダウンロードする。

Download

そのほかにPart3を現在写経するにあたって問題がありそうなのは、
7章のデータフィクスチャのところ。
本に記述してあるやり方では入らなかったので公式サイトに書いてある
やり方で設定する必要がある。
DoctrineFixturesBundle
このページでも2.0バージョンを選択しないとやり方が違うので注意。

あとは8章のViewを作っていくところで、サンプルのソースコードを
そのまま入力するとまだ読み込んでいないパラメータとかを使っていて
エラーがでるので、画面のエラーメッセージを見つつ修正していく必要があった。

あとは技術評論社のサポートページからサンプルソースを落として
見比べながらやっていけばOK。

ほかの書評記事でも書いている通り初心者がSymfony2を覚えるための本では
ないなーという感じ。
PHPでDDDで組むための参考にはちょうどいいと感じた。

まだ習得できてないけどね。

携帯電話向けWebサイトに対する・・・

これから携帯がらみのシステムをやりそうなので徳丸 浩さんの

体系的に学ぶ 安全なWebアプリケーションの作り方 脆弱性が生まれる原理と対策の実践

をちょっと読んだ。

以下すっごい簡単なメモ

携帯電話向けWebサイトに対する脅威と対策のまとめ

○簡単ログインに対する不正アクセス

携帯IDによる認証をやめ、IDとパスワードによる認証にする。オプションでクッキーによる自動ログインを実装する

○RefererによるセッションID漏洩

以下のいずれかを実施する
・クッキーによるセッション管理に移行する
・外部サイトにリンクしない
・外部サイトにリンクする際にはクッションページをはさむ

○その他セッションID漏洩

利用者がメールでURLを教えることには根本的な対策はない

○ログイン前のセッションIDの固定化

ログイン前にはセッションを有効化しない

○ログイン後のセッションIDの固定化

ログイン直後にセッションIDを変更する

今のところ完璧な対策は無さそうだけどできる限りの対策はしようと言う事で。

詳細は本で・・・。すごくよくまとまっていて分かりやすいので全部読むぞ!

 

体系的に学ぶ 安全なWebアプリケーションの作り方 脆弱性が生まれる原理と対策の実践
徳丸 浩
ソフトバンククリエイティブ
売り上げランキング: 1746

XPでIE9が入らなくてブラウザ確認で困る人へ

どうにかならないかとしらべたら・・・。

3パターンある。

仮想マシンにVistaいれてIE9入れる方法

IE9をWindows XPにインストールしよう。

多分挙動は一番正確だとおもうけど、英語なのとセットアップに時間がかかりそうな感じ。
それと90日で使えなくなる(当たり前だけど)正確な確認をしたい場合は
大変だけどこれをしたほうがよさそう。

もっと読む XPでIE9が入らなくてブラウザ確認で困る人へ

単純なMD5やSHA1ハッシュを元に戻す

WEB+DB PRESS vol.63 の竹迫さんの記事にあったのでメモ。

MD5やSHA1は一方向ハッシュなので基本、復元不可だけど

md5.rednoize.com」は単純な文字列の対応をDBに登録していて

逆引きできるようにしたWebサイト。

Basic認証とか忘れた場合に役に立つかも・・・。

パスワードはsalt、ストレッチを使いましょう!

ウイルスバスターにサイトが引っかかった場合の問い合わせ

管理しているサイトがウイルスバスターでだけ検知され「危険」と表示されているっぽい、、、
という話が来たのでトレンドマイクロに問い合わせ(調査依頼)をしようとしたんだけど
どこに問い合せていいのか分からなかったのでメモ。

しばらくググってもそれらしい問い合わせ先が見つからなかったので
「ウイルスバスターご購入についてのお問い合わせ先」
に電話してしまった・・・。

電話に出てくれた担当の方に事情を説明したところ対応可能ということで対応してもらった。
その場でURLを伝えてサイトの状況を確認してもらえた。
結果としては「危険」という判定は出ておらずそれどころかウイルスバスター的にはまだ未評価の
サイトということだった。
通常であれば放置しておけばそのうち評価されて安全かどうか検索結果に出るようになるらしい。
でも一応早めに評価されるように依頼を出しておいてくれるということでした。

本来はどこに連絡するべき内容なのかもついでに教えてもらった↓
ウイルスバスターに関するお問い合わせ

対応はとっても良かったです。
でも大きい起業の問い合わせ先ってどうしてこうも分かりづらいんですかね。

画像とかの復旧方法

サイトをフッ飛ばしたりして画像が無くなった時に復旧を試みる・・・。

まず元サイトをgoogleで検索しキャッシュが残っていないか確認する。
※たまに残っていることが・・・。

次にアーカイブ系を探してみる。
インターネット・アーカイブここで無いか見てみる。

その他魚拓的なところも無いか念のため確認する。

それでも駄目なら画像だけでも・・・ということで対象ページのURLをgoogleの検索窓にいれて画像検索する。

サムネイルサイズだけど一応画像があったりする。

でgoogleの画像検索の結果ページの画像を1枚1枚手動で保存するのは面倒なのでツールを利用する。

ページ内のすべての画像を指定ディレクトリへ一括保存できるFirefoxアドオン「Image Download Ⅱ」

結局ちゃんとバックアップとっておこうってことだと思います。

そういえばweb site explorerで一回まるごと解析してその結果を保存しておけばバックアップとったようなもんですね。

バックアップは超大事ですよと。。