2008年4月30日水曜日

関数型言語とPerl 下調べ編

関数型言語というものは、Lispやその派生言語を含めるとたくさん存在しているのがわかった。

以前取り上げたR言語は、プログラムの勉強をJavaから入った自分としては手続き型と似てる面も見られたので良いなーと感じていたが、、それについて言及してくれてる先達がいました。

http://d.hatena.ne.jp/wasisan/20080311/p1

 ・Schemeのような静的スコープが統計計算に適していること
 ・リスト処理言語としてのRはgood とのこと


「言語の用途で適不適が決まる」「種(改め言語)の多様性と繁栄衰亡」など考えるのは面白い。


そういえば、"Perl6 " はHaskell の上に実装されたPugs(?) がベースになるとか何とか。。

→Andrey Tang さん
YAPC2006 概要 とHaskell プレゼン(←こちらはぜひ)

(ただこのプレゼン見てたら Jifty もいいかもと。。)


Perl5 と Perl6 の違いはやはり先達++。



あとおまけで、自分が Perl にハマった理由は、(勘違いもあるかもだけど)Unix と C が仲違いしているのをつなぐために生まれたところ。いやはや子は鎹。。

それと、これは Unix の思想なのかもしれないけど、単位と単位を結ぶ、上書きする、それでも動く~な発想が油絵具に似てると感じたところからでした。。

Ruby 学習参照

Catalsytいじる際、Ruby on Rails と比べてみると勉強になるのでこれは良い浮気。。

こんなのありましたで、島根IT中核人材育成支援事業「Ruby on Rails 運用コースカリキュラム」


コンテンツは

  • セットアップ全般

  • Subversion用法

  • Capistranoデプロイ

  • Rails アプリとWebサーバ

  • FastCGI

  • Lighttpd + FastCGIによるデプロイLighttpd + FastCGIによるデプロイ

  • Mongrel

  • リバースプロキシと負荷分散

  • MySQLその他DB

  • サーバ管理トラブルシューティング(コマンド操作etc.)

と至れり尽くせりというもの。。

教育課程に興味が湧きました。

perl 学習方針メモ 学習開始8か月くらい経過編

これからPerl学習進めていく上で気になるエントリーがあったのでここに記録。


trombik さんのブログ タイトル:「Perl初心者はどうやって勉強したらいいんですかね」
http://trombik.mine.nu/~cherry/w/index.php/2008/02/05/1134/my-perl-history

fbis さんのブログ「Unknown::Programming 」 タイトル:「新人教育」から。
http://d.hatena.ne.jp/fbis/20060504/1146736766


いずれも非常に参考になるので、今後の学習項目として転記。

* foreach文
* ハッシュ
* 配列操作関数push,shiftなど
* packageについて
* グローバル(パッケージ)変数とレキシカル変数の違い
* インクルードパスとパッケージの関係
* 関数とメソッド
* Perlでのオブジェクト指向プログラミング
* bless関数
* リファレンス
* strictプラグマ
* 正規表現
* リストコンテキスト、スカラコンテキスト
* クロージャ
* myとlocal(とour)の違い
* requireとuse(とdo)の違い
* 無名ハッシュ、無名配列、無名サブルーチン
* シンボリックリファレンス
* 動的コンパイル
* 例外処理
* シンボルテーブル
* 型グロブ
* プロトタイプ関数
* BEGIN,END
* DESTROY
* AUTOLOAD
* CORE
* UNIVERSAL
* isa,can
* tie変数
* overload
* $VERSION
* 継承
* POD
* 最後の1;


以下さらに引用で。

で、これを踏まえたうえでCPANのモジュールとかの勉強もしていかないといけないし。

命名規約とかコーディング規約とかも入ってくるとやっぱPerlって新人が勉強するにはハードル高いかもね。

Perlをメインで使ってる会社とかこの辺の新人教育とかどうしてんだろう。

うちでは基本規約を読ませてあがってきたソースは全てレビュー。で、後は個別で各項目に対する課題をやってもらう、例えば明日までにmyとlocalの違いについて調べてこいとか。

とのことです。

本当に身についたかは教える立ち場に立ってみてわかるというので、今年教育されたヒトが翌年以降の教育担当になる~みたいな制度があればいいな、と。

VNC使った授業なら、教師1対生徒複数名(6名くらいでもつまづいたところの指導までならいけそう)が便利かな(教師複数なら多対多のVNCThumbnailViewer)。。

レビューが大変なのは、、、Moodle入れて、オンライン上で教材的に処理とか。


他の perl 学習の素材として、

antipop 「Perlの学習コストが大幅に軽減するスゴイ方法」
http://d.hatena.ne.jp/antipop/20060505/1146822604

がはてブに上がってました。


Charsbar さんのブログからは
http://d.hatena.ne.jp/charsbar/20060505/1146801072

困ったらsearch.cpan.orgに行けとか、perldocしろとか、モジュールはmake (test|install)できるように書けとかいうあたりがPerl固有の学習コスト

選択肢が多すぎて困るとかいう側面もあるけれど、まじめに勉強しようと思えば思うほどPerlの学習コストは下がる

宮川さんの記録にも「perldoc -m (module名)」で勉強‥とあったので、ここでメモ。。

最新のPerl時流など追うにせよ、まずは足元固めたい。

カンファレンスとか出る→聞く→帰宅後コード書いて尾ひれつけられるレベルになりたい。
cf: YAPC::ASIA2008

2008年4月26日土曜日

Firefox my拡張機能

Firefox拡張機能を「ホームページをつくるひとのネタ帳」で知ったので入れてみた。
http://e0166.blog89.fc2.com/blog-entry-463.html

PicLens
https://addons.mozilla.org/en-US/firefox/addon/5579


GoogleImageサーチとかで検索してからブラウザ右上「水色右矢印」ボタンをクリック。

背景が黒に統一され、画像がタイル状に敷き詰められ‥これは凄いのでFirefoxユーザは是非。。


ついでなので、下記。

Firefox 拡張機能まとめ@20080428

入れすぎたままにしておくと動作が重くなるので。
必須には目印(☆)入れてく。


【常駐】
  • ☆del.icio.us
    ‥簡易ブクマ用(技術系ネタはこちら)

  • ☆DownThemAll!
    ‥一つ一つダウンロードでなくWebページ内のファイルを一発ダウンロード

  • easyGesture

  • Faviconize Tab

  • ☆Firebug Japanese
    ‥CSS、XPath表示など
    ‥開発での強力ツール

  • Google Gears
    ‥Javascriptが書けるなら任意のWebページをローカルサーバに保存可能。

  • ☆Google Toolbar for Firefox
    ‥Gmail、YouTube、Amazon、WIkipediaにクリックで飛ぶ

  • ☆Grease monkey
    ‥Firefoxをさらに使いやすくする基盤的なもの

  • ☆hatenabar
    ‥RSSとBookmark
    ‥簡易ブクマ用(雑多ネタはこちら)

  • ☆Hyper words
    ‥単語チェックで、辞書やリンク先へ一発飛び

  • (今回の)PicLens

  • ☆ScrapBook
    ‥オフラインでも見たい記事はこれでローカルに落としておく(GoogleGearsでもいいのだけど)

  • ☆Tab Mix Plus
    ‥タブいじりには必須

  • Tab Scope

  • Tabs Menu

  • ☆View Source Chart
    ‥Webページソースがカラフルに表示

  • 巻き戻し/早送りボタン

【普段は未使用/必要時に使用切り替え】
  • All-in-One Gestures

  • Better GCal

  • Clear Forest Gnosis

  • CLEO

  • Codetch

  • CoScripter

  • FEBE
    ‥Firefoxのバックアップツール

  • Foxmarks Bookmark Synchronizer

  • GoogleBar

  • Japanize
    ‥自動日本語化

  • Pathtrac

  • phplangeditor

  • Screen grab!

  • Slogger
    ‥KLab謹製見たWebページをローカルに自動保存

  • Storage Inspector

  • Stylish

  • TAGIRI Toolbar

  • Talkback

  • Web Developper

InternetExploerしか知らない・使わないはもったいない。。
まだ触ったことないならBlog右パネルの狐(ふぉくすけ)をクリック。

2008年4月25日金曜日

AxisでSOAP体験記

Salesforce(略S.F.) で必要になったので、忘れないうちメモ。。


JavaSDK ver 1.5(5.0)はインストール済み。
環境はWindowsXP SP2


今回必要となったWebサーバは下記2点。インストール順とS.F.対応のメジャーバージョンに注意。

①Apache Tomcat 5.5.26.exe
②Apache Axis-bin 1_4.zip

イメージは①の上で②が起動する感じ。



【参照】

  1. Axis 取扱い方法、まずは本家サイト
    http://ws.apache.org/axis/ja/java/

  2. webサービス環境構築メモ-Windows編
    http://www.tt.cs.titech.ac.jp/~yonai/webService/windows.html

  3. Axis でのデプロイ手順
    http://www.wakhok.ac.jp/~sakamoto/webservice/web_service_c6.html

  4. SOAPアプリ作成手順
    http://iihito.dip.jp/docs/java/no12/soap-4.html

つまづきどころはやはり環境変数。
あとはファイルアドレスとかURI。

「webサービス環境構築メモ-Windows編」が2007年情報なので、鮮度がお勧め。

参照1. を見ながらところどころ参照2. でチェック。


ファイルのコピーは①~③
①「axis/webapps/axis」ディレクトリを「tomcat/webapps」へ

②「tomcat/webapps/axis/WEB-INF/libのsaaj.jarとjaxpc.jar」を「tomcat/common/lib」へ

③「%JAVA_HOME%\libのtools.jar」を「tomcat/webapps」に。。



環境変数設定では、
・JAVA_HOME = sdkフォルダbinディレクトリに通す(java.exeのあるフォルダ)

・TOMCAT_HOME = C:\Program Files\Apache Software Foundation\Tomcat (デフォルトならここ)

・AXIS_HOME = (これはバイナリファイルを解凍場所による、C:\axis でもOK)

・AXIS_LIB = %AXIS_HOME%lib

・AXISCLASSPATH = %AXIS_LIB%\axis.jar; ‥(順に必要な .jar ファイル)


・WEBSEV = C:\Program Files\Apache Software Foundation\Tomcat\ webapps/axis/WEB-INF/lib のようにしておくと、CLASSPATH で通したい沢山のファイルの変数設定がラク。

・CLASSPATH = %WEBSEV%axis.jar; ‥(順に必要な .jar ファイル) ;C:\Program Files\Apache Software Foundation\Tomcat\common\lib\saaj.jar ; C:\Program Files\Apache Software Foundation\Tomcat\common\lib\jaxpc.jar

コピーしたファイル群にもCLASSPATH通すのを忘れない。



インストール、セッティング済んだら
tomcatを起動でhttp://localhost:8080/ へのアクセス確認
Axisは http://localhost:8080/axis で確認。。


環境設定は以上。

アプリ作成とクライアント/サーバでのデプロイ方法は参照3.と4.にて。。

Blogger Syntax Highliter