新しいブログに引っ越しました

tomotomoSnippetは新しいブログに移動しました
https://develtips.com/

2011-05-15

HTML5の製作環境としてNetBeans IDEを使ってみる

JDK 7をサポートした「NetBeans IDE 7.0」が登場らしいのでとりあえず使ってみた感想をメモ。

netbeans.orgに行って、Download FREEをクリック。
すると何種類かバージョンを選べるので自分に合ったものをダウンロード。
私はJavaもCも使わないのでPHP版をダウンロード。
あとはインストーラを開いて普通にインストール。
初めから日本語をサポートしているのでEclipseをインストールするより簡単でした。

NetBeansを起動して、新規作成でHTMLを選択すると次のようなHTMLが生成されます。

<!--
To change this template, choose Tools | Templates
and open the template in the editor.
-->
<!DOCTYPE html>
<html>
    <head>
        <title></title>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    </head>
    <body>
        <div>TODO write content</div>
    </body>
</html>

このままでも良いっちゃ良いけど、日本語で製作するならHTMLのlang属性を指定したいですね。
To change this template, choose Tools | Templates
and open the template in the editor.
ということなので、[ツール]→[テンプレート]を開いて、HTMLを複製して名前をHTML5JPとかにします。
[エディタを開く]をクリックするとテンプレートを編集できます。
(エンコーディングがどうのこうの言われましたが無視)
<html>
これを・・・
<html lang="ja-JP">
こんな感じで書いておけばOKですね。
あとは、meta descriptionとかfaviconとか必要なら追加すれば良さそうです。

PHPやJavascript開発に関してはまだ試してないのでこれからじっくり使ってみようと思います。

2011-05-02

[CentOS]PHPインストールメモ

先日さくらのVPSを申し込んだので、PHPインストールのメモを。

普通にyum install php php-delelを実行してしまうとPHP5.1がインストールされちゃうんですね。
モダンなPHPの開発環境の構築方法を見ながらPHP5.3のインストールしましょう。

あと、mbstringとかGDとか使いたかったらちゃんとインストールしないと使えないので注意が必要。

yum install -y php php-delvel php-mbstring php-gd php-pear php-mysql

とりあえず、普通に使う分にはこれくらい指定すれば大丈夫だと思います。

2011-04-27

[Android]日本語入力補助アプリSimejiの反応が遅いと思ったら

先日、auショップに行ってHTC EVO WiMAXを借りてきました。
(電波確認のため無料で貸しだしてくれる)
お恥ずかしながらAndroid端末を持つのは初です^^;
使ってみた感想はまるっと省きます。

Androidケータイのデフォルトキーボードが使いにくいと思ったのでSimejiを入れてみました。
Simejiの説明はこちらのサイトに詳しく書かれています。
『Simeji』日本語IME~フリック入力にも対応。日本人必須アプリ~

フリック入力が便利そうと思ったけど、タップしてから4文字が表示されるまで遅い。
タップしてからゆっくり「いち」と数えてやっと表示される。
これって逆に遅くない?

結論から言うと、4文字のガイドが表示される前にスライドすれば高速で入力できました。(だからフリック入力と呼ぶんだね)
ノータイムで「こそあど言葉」とかオ段の多い言葉を入力できます。

きっと当たり前すぎてどこにも書かれてなかったんだろうな。
調べてもヒットしなかったのでここに書き残しておきます。

Simejiは必須アプリ!全然遅くないよ!

(2011.4.27 追記)
そうそう、まさにこんな感じ。

2011-03-09

eclipseで新規htmlの文字コードがwindows-31jになる謎

私はPHPの開発にEclipse IDE for PHP Developers(Eclipse3.5)ってのを使っています。
いつもHTMLファイルを新規作成すると文字コードが"windows-31j"とかいうのになってしまうので、[Alt]+[Enter]を押して文字コードをUTF-8に変更。HTMLのcharsetをutf-8に変更。という手間をかけてました。
絶対におかしい!!と思ったので調べてみました。

Eclipseのデフォルトのテキスト・ファイル・エンコードをUTF-8に
記事を読むと、eclipse.ini(Eclipseインストールフォルダにある)の最終行に次の一行を加えて再起動するだけでいいようです。

-Dfile.encoding=utf-8

HTMLファイルを新規作成するとちゃんと文字コードがUTF-8になりました。



ちなみにwindows-31jって何だ?と思ったので調べてみました。
kn1967さんの回答によると、
Windows31Jは、Shift-JISではなく、Shift-JISを拡張したものです。
らしいです。

もうちょっと詳しくはJSPで特殊文字が文字化けする場合の対処方法に書かれていますね。
文字化けの対象になる、
①(まる1)
㈱(かぶ)
などの機種依存文字はShift-JISには含まれていないんですね。
これらの文字が含まれているのがWindows-31Jという、Windows版Shift-JISなわけか。
だからMacで文字化けを起こすわけなんですね。
私は賢さが1アップしました。

2010-12-22

[GPL][MIT]ライセンスについて基本中の基本的なこと

今までずっと独学でHTMLやらプログラミングやらやってきました。
子供の頃からパソコンで何か作るのが好きで、とうとう職業にしちゃったわけです。

そんなわけで・・・

ライセンスについて今までちっとも勉強してこなかった!
英語やら法律用語やら専門用語やらで今まで読む気がしなかった。


ということで、今年中にいくつかライセンスについて知ったことをまとめたいと思います。

最終的には、
『GPLのPHPライブラリを利用したウェブアプリケーションを作成販売し、
 かつ、オリジナルで作った部分のソースを公開する必要があるのか?』
を理解することですが、ちょっと調べたくらいじゃ、そんなモノわかりませんでした。

今回は、初めてライセンスについて書くので、基本中の基本。
GPL(GNU General Public Licence)MIT Licence(X11 Licence)について分かったことを書きます。

GPLもMIT Licence(以下MIT)も、フリーソフトに関するライセンスで、どちらも。
・無償(無保証)
・利用/改造/再配布OK
・著作権表示義務あり
・商用利用OK
です。

まぁ、この辺りまではなんとなーく理解してましたが、じゃあどう違うねん、というと。

GPL
・ソースコードを公開する義務がある
・GPLを含む二次著作物もGPLにする必要がある(どんどん連鎖します←正しくは『ライセンスの継承』)

MIT
・ソース公開の義務なし
・二次著作物のライセンス変更もOK(元々の部分はMITのまま)

他にも、修正BSDライセンス(MITとほとんど一緒)、LGPL(緩いGPL)などあるので、次のサイトで確認すると良いと思います。
http://0xc000013a.wiki.fc2.com/wiki/%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A2%E3%83%A9%E3%82%A4%E3%82%BB%E3%83%B3%E3%82%B9%E3%81%BE%E3%81%A8%E3%82%81

で、GPLのライセンスの継承ってやつが曲者で。
オープンソースなライセンスやコピーレフトなライセンス、クリエイティブコモンズについて、他のライセンスとどう組み合わせられるのかを図にしてみた
上記サイトが分かりやすく解説しているので、分からなくなった時に見に行くといいと思います。


さて、では実際に自分が作ったプログラムにGPLやMITを適用したい時はどうしたらいいのか。
ソースコードのどっか目立つ所(冒頭)にライセンスの宣言をすれば良いみたいです。
前述のまとめWikiによると、
GPLの場合:
(GPLバージョン3の和訳「4. 一字一句忠実なコピーの伝達」より引用) 『あなたはそれぞれのコピーにおいて、目立つように、かつ適切な形で、ふさわしい「コピーライト」告知を掲載しなければならない』
とあります。
全文っていうのがこれ

この全文をソースコードの先頭に書けば、GPLライセンスになります。

MITの場合:
ライブラリの著作権表示と許諾表示を、重要な部分に記載する必要がある。
とあります。

MITの場合はこんな感じで書けばいいようです。
実際の例はこれ


でもね、実際に見てみると、結構省略して書く人が多いみたいです。
例えばjquery-1.4.4.min.jsだってこーんな…
/*!
 * jQuery JavaScript Library v1.4.4
 * http://jquery.com/
 *
 * Copyright 2010, John Resig
 * Dual licensed under the MIT or GPL Version 2 licenses.
 * http://jquery.org/license
 *
 * Includes Sizzle.js
 * http://sizzlejs.com/
 * Copyright 2010, The Dojo Foundation
 * Released under the MIT, BSD, and GPL Licenses.
 *
 * Date: Thu Nov 11 19:04:53 2010 -0500
 */
(ちなみにjQueryはMITとGPLバージョン2のデュアルライセンスってやつです。)
ライセンスの宣言が
"Dual licensed under the MIT or GPL Version 2 licenses."
という一行で終わってます。
その次の行のhttp://jquery.org/licenseを見に行くと、それぞれのライセンス全文へのリンクがあります。

CakePHPはMITライセンスですが、こんな感じで表記しています。

どこにライセンスの全文が載っているか、を明記すればOKって慣例なんですかね。

なんだか、散らばった文章ですが、長くなってきたので終わります。(そして続きます、たぶん)


フリーソフトの『フリー』は『自由』であって、無料という意味ではない。
ということを再認識しました。


2010-12-02

CakePHPアドベントカレンダー2010(まとめ)

CakePHP Advent Calendar 2010を開催!

RubyやPerl, Symfonyなどでも企画されているAdvent CalendarをCakePHPでもやってみたいと思います。
技術系の方がやっているAdvent Calendar(アドベントカレンダー)は、12/1からクリスマスまでに1日ごとにその技術に関する何かしらの記事を書いて、アップしていくというもので、担当日を決めて何人かでどんどん記事をアップしていくパターンが多いです。

ということで面白そうなのでCakePHPアドベントカレンダーのブログ記事を追っかけてまとめようと思います。(詳しい情報は本家で見るのが良いと思うよ)

"#. 記事タイトル @Twitterプロフィール(あれば)"という形でまとめときます。
  1. 画像にリンクをはる簡単な方法(CakePHP Advent Calendar 1日目) @cakephper
  2. CakePHPであることを隠蔽する (CakePHP Advent Calendar 2010 2日目) @k1LoW
  3. CakePHP Modelとの付き合い方(CakePHP Advent Calendar 2010 3日目) @shin1x1
  4. Re: Best Practices in MVC Design with CakePHP @remore
    ※日本語版
  5. [CakePHP]モデルに振られる @uechoco
  6. Gitと一緒にCakePHPを楽しむ – CakePHP Advent Calendar 2010 6日目 @tfmagician
  7. 【CakePHP】CakePHP Advent Calendar2010(day 7) : Tips for Routes @MASA-P
  8. CakeDCのsearch pluginの記事が少ないので1個置いときますね。CakePHP Advent Calendar 2010 8日目 @kanonji
  9. CakePHP/Smartyとのつきあい方 - CakePHP Advent Calendar 2010 9日目 @ixcy
  10. CakePHPの環境を判定するTips (CakePHP Advent Calendar 10日目) @mon_sat
  11. CakePHPでデバッグレベルが0の時だけ発生するエラー @msng
  12. フォームヘルパに関して(CakePHP Advent Calendar 12st) @ogaaaan
  13. Datasourceを使い倒す @kaz_29
  14. Lithiumについて (CakePHP Advent Calendar 2010 14日目) @camelmasa
  15. App::import() は凄い @hiromi2424
  16. CakePHP2.0 を触ってみて。 @aerith
  17. BakerがCakePHPのために.bashrcに設定すべき5行 (CakePHP Advent Calendar 2010 17日目) @nojimage
  18. authkittenプラグインで子猫認証 (CakePHP Advent Calendar 2010 18日目) @halt 
  19. ControllerからModelを使用するいくつかの方法 (CakePHP Advent Calendar 19日目) @kunit 
  20. PaginatorHelperでの複雑なURL指定(CakePHP Advent Calender 20日目) @connvoi_tyou
  21. Containable Behaviorを追いかけてみました。 @yashio
  22. CakePHPのmodelを動的に生成する方法 @knj77
  23. 【CakePHP】メディアビューの使い方(CakePHP Advent Calendar 2010) @osakanapower
  24. 極める!Security Component (CakePHP Advent Calendar 2010 24日目) @akiyan
アドベントカレンダーって何?と思ったらこちら。(本家に載ってるリンクと一緒)
http://d.hatena.ne.jp/tokuhirom/20081216/1229387324

2010-11-14

[Google Analytics]トラフィックサマリーの『その他』ってなんぞ?

Google Analyticsで変なトラフィックがあった。


なんだこれ、と思ったらすぐに分かった
キャンペーンのタブをクリックしたらFeedからのアクセスだった。

初めて見たのでちょっとびっくり。

人気のエントリー