「prototype.js」を含む日記 RSS

はてなキーワード: prototype.jsとは

2011-10-17

http://anond.hatelabo.jp/20111017173201

Action Script は 3 からかなりしっかりしたクラスベースの OO だよ。

JS馬鹿みたいな使い方しないでちゃんとしたスタイルで使えば OO だし、全てがハッシュというオブジェクトだし、関数オブジェクトだしその辺わからないと JS をつかっててもコピペプログラミングに終始して面白くないから結局 OO 理解しないといけない。prototype.jsjQuery やの中身とか読んで理解できるくらいになるには。

Perl だって悪しき過去の遺産が残ってるから OO じゃないイメージが一部にあるけど、モダンPerl は OO だよ。CPAN にあがってるまともなモジュール殆ど OO スタイルだし、もっとモダンスタイル環境でもいける。モダン PerlMoose あたりで検索してみるといい。今からやるなら OO しかないけど、初心者は昔のうんこを踏みがちだよね。JS も同じ事が言えるけど。

JSPerl というゆるい LL は OO を理解していなくても一応使えるってだけで、それじゃマスターには程遠い。あと言語仕様でやっちゃいけないことを縛っていないから、しっかりした開発をやるには 規約もしっかりしないといけない。 初心者最初からいい出会いをするわけじゃないから、誤解が多いのかもしれない。

JSPerlレガシースタイルが残ってる例としてあげたけど、LL でも PythonRuby はもともと OO スタイルしかない。だから自分でやってることを理解してないと過去うんこを踏む可能性のあるゆるい LL よりは、どうやっても綺麗にしかかけない Python初心者向けだと思う。知り合いが何でも良いかプログラミングやってみたいと言い出したら GAEPython 弄らせる。

ぶっちゃけ LL でもいまどき OO を避けて通るなんて無理。

プログラミングスキルは、本質的には言語依存しない。 (よほど糞な言語を使うのでなければだが) OO への理解やアルゴリズムの理解ってのは LL か巨大な言語かに依存しない。絵を描くのに道具によって慣れの差はあっても画力は道具を変えても持ち越せる共通した力だというのに似ている。一つの言語をちゃんとある程度マスターすれば、他の言語の習得はとても早い。たとえ最初にやる言語LL でもね。別の言語をやるときに壁になるのは関数型かそうでないかくらいのパラダイムの差がある場合だけど、JSPerl でさえ 関数型で使うようなテクニック を実装できるし使いどころがあるから、やっぱり共通点はあって、~だから~を学ばなくていい、なんてのは上達したいなら殆どない気がする。

2011-01-24

http://anond.hatelabo.jp/20110123224124

時間予算がある初期開発では作られるが、あとあとの予算がなかったり急だったりしたときに入るメンテナンスで変更が入って、ドキュメントが置いて行かれるってのはよくある話。

だったらそれは最初に書かれた話とは全く関係の無い話じゃん。

最初に確りと「10年もつものを」って作っても、後続が文書保守予算ケチれば劣化するんだから

オープンソースでも同じだよ。10年の間にプロジェクトが閉じるかもしれない。

途中のバージョンからドキュメントが雑になったりスカスカになったりするかもしれない。

自分の業務に必要なトコに限ってね。

 

まぁ、だからコメントしたわけだが・・・コメントしたことに突っ込んどいて、コメントすること言われても、スゲー困る。

指示だよ指示、作業指示。コメントじゃない。

後輩が実装しちまってから設計コメントしてもしょうがないでしょうよ。

 

また、甘えないでしいんだけど、大学卒業していれば(以下略)

僕は貴方の後輩では無いので、甘える余地も義理権利も無いけれど。

大学勉強たい仕事をやれって表現は、

それだけでもう「違うんじゃないか!?」って気がしてならない。

仕事の仕方っていうのは、学校じゃなくて職場に有るものだろう。

 

まぁOpenSSL並みの物を調べられないで云々という趣旨自体は解る。

元増田の後輩が実際に持ってきたものが、それくらい有名なものなんだね?

だったら指示が悪かったのかもね。

「OpenSSLを使え、と一言言えば済むのに、この仕様書の厚さ・・・

これは俺に作れと言っているな?」みたいにね。

なまじ作れるだけにそういう勘違いをする。

OpenSSLが使えない職場っていうのは具体的に思いつかないけど、

うちはprototype.jsが使えないので、

無料かつ安定したライブラリだけど使えない」というのは珍しい話じゃない。

無論この場合、後輩は後輩で「これは俺に作れと言っているな?」と勝手解釈せずに、上司に確認に行くべきだよ。

でも、1から10まで都度、再確認に来られても先輩は仕事にならない。

しかも作っちまう能力はある。そうすると、ある程度は察するのもコミュニケーションの内。

これは事故たいな側面もある。

 

うん、だから教育コストを掛けて、実地させて、繰り返し、実例で教えているわけだが・・・何が不満なの?

コストをかけるタイミング

手を動かす前にしてほしい事、知っていてほしい事は、

手を動かす前に教えたら良いじゃんって話。

2010-12-06

http://anond.hatelabo.jp/20101203150748

完全に一致を作るための勉強法



たくさんのアクセスありがとうございました

コメントもたくさん頂いてまして、それにお答えするのに「ブログでもつくろうかいな」とのぼせましたが、そんなテーマで続くわけもないので、やはりアノニマスダイアリーしました







製作期間について】

まず、皆さん仕事しながらたった4ヶ月で!と褒めて頂いてますが、たったじゃないですよ。4ヶ月って。

仕事が終わって、毎日2~3時間。土日関係無くやると、多分300時間くらいになります

専門学校の2年間の授業時間がこのくらいだったりするんじゃないですかね。結構長いです。




モチベーションの維持について】

モチベーションを保つのがすごいというのも褒めてもらいましたが、私は一回やり始めると、意外に長く続きます

コツがあるんです

毎年、日々の単純作業が続かない新入社員が入ってきますが、そんな新人に言います。

「息をするように続けるんだよ。」

毎日やるんです。土日関係無く。毎日。




勉強したという言葉の誤り】

前回の日記で「勉強した」と何度も使ってしまった為、誤解をされている方が多くいらっしゃいます。

正確には、「調べ」ました

職業柄「調べる」という事が多い為、WEBサービスを作るという事に関してはそれが訳に立ちました



追記でも書いているのですが今回のシステムほとんどが、先人達が作った既存システムベースになっています。

ぱくりと言われてしまえばそれまでなんですけど、丸ごとはやってないですよ。というか、丸ごと合うモノがなくて、いろんな所からソースコードを拝借させてもらいました

なので、中身はぐちゃぐちゃです。けど、検索システムはそれでも200行くらいしかありません。クローラーは80行くらいでしょうか。




HTMLについて】

基本をやったのは、恐らくHTMLCSSだけです

というか、それすら途中で挫折してAdobe社のDreamWeaverというソフトを使いました

適当に書けばソースは綺麗にしてくれるし、CSSの体裁はプロパティを設定しながら見た目のまま調整すれば良いし、一番助かったのはテンプレート機能でした

最初は全部のHTMLファイルコピーしながら作っていたのですが、ヘルプを見るとテンプレートライブラリという機能があるのをしってライブラリいまいち分らなかったのでテンプレートを使いました

Dreamweaver便利

テンプレート便利




Javascriptとの出会い】

最初に本やで立ち読みした本に、「プログラムをやってみよう」ということでJavascriptの事が書いてありました

なので、自然プログラム最初さわりがコレになっただけなんですね。

でも、アラートを出したりとかばっかりで、面白くありませんでした



インターネット黎明期からのネットユーザーなのですが、「最近よく見るページが移動しないのにページの中身が切り替わるやつかっこいいよな」と思って「ページ遷移しない 読み込み」で検索をすると、Ajaxという文字を見つけ、「ajax 入門」で検索してトップに出たサイトAjaxの概要だけ調べて、「ajax 簡単」でprototype.jsjQueryの文字を見つけて「ああ、jQueryってよく見るな」というのがjQueryとの出会いでした

最近よく見るページが移動しないのにページの中身が切り替わるやつ」は、非同期通信という名前した

jQueryを使うと、下記のように1行コピペするだけで外部のHTMLを読み込む事ができました

--------------------------------------------------------------------------

var http = $.get("abc.html",null, function(data) {$("#main").html(data);});

--------------------------------------------------------------------------

すごい簡単。最初意味は分りませんでしたが、目的の事ができればそれで良いので次に進みました



jQueryすごい

■非同期通信かっこいい

プラグインいっぱいあって楽しい




Perlとの出会い】

jQueryがちょこっと書くとダイナミックに色々変わってくれるので、日々いろんなプラグインを探して遊んでいました

でも、作りたかったのは検索システムだったのを思い出し、また近くの大きな本屋に。

検索するパソコンで”プログラム 検索”で探しだした棚に行くと、「CGI/Perl」の本棚した

大量にありすぎてどれをかって良いか分らなかったので、いくつか立ち読みして家に帰り、「CGI/Perl 入門」で検索すると

http://www.kent-web.com/perl/

このページにたどり着きました



Windowsだった為、ActivePerlを入れていくつかプログラムをやりましたが、これがまた面白くないんですね。

すごい地味で。このPerlをさわった最初の1日は正直かなり苦痛した



その後、”AV女優検索システムって不動産検索システムに似てるな”って思って「CGI/Perl 不動産検索 無料」で検索したら、http://www.yumemaboroshi.net/ってサイトが引っかかって、ここのおかげでかなり進みました

先人が作った大量のプログラムダウンロード出来るサイトなんですね。



Perl面白くない

フリーソフトを集めたサイトソースがいっぱい見れる




PHPとの出会い】

いくつもダウンロードしては、サンプルと中身を見てを繰り返してたら、Perl/CGI以外にPHPがたくさんありました

どう違うのかと思い検索したら、PHPはすごい叩かれてて、Perlがえらいみたいに書いてあったのですが、叩かれてる理由がいまいち理解できませんでした

結果PHPを使う事になったのですが、その大きな理由は、DreamweaverPHPが開ける。なおかつHTMLファイルをそのまま使うテンプレート機能のプラグインがあったという事でした



PHPテンプレートを使うには、Smartyというプラグインを使えば良いということが分って、「Smarty 入門」で調べて、いくつかのタグを覚えました

実際にSmartyで使ったタグは、{$変数}と{if}{/if}と{foreach}{/foreach}の3つだけだと思います。

色々高機能らしいですが、まあ目的は達成できたのでいいか。と。

PHP検索プログラムは、HTMLファイルボタンを押すと、テキストファイルに書いてある内容を、表示してくれる簡単なものを作って、そこに肉付けしました

(最終的にテキストファイルSQLサーバーになりましたが。)




PHPDreamweaverと相性がいい

Smartyでやると見た目が壊れない




Rubyとの出会い】

簡単にPHPで動くプログラムが出来たので、実際に女優データを登録しようと思い、DMMに行きました

DMMサイトを見ていると、いったい何人いるんだってくらいAV女優が登録されています。

数人集めてみて「こりゃぁ。無理だな。」と途方にくれて1日を過ごしました(笑)



次の日、「ホームページ 自動 巡回 プログラム」とかで検索して、ボットクローラーという存在を知りました

自動巡回で拾ってくるのは、どちらかというとクローラーと呼ばれるそうで、「クローラー 作り方」で調べたホームページに、Perl+LWPモジュールで似たことができるということで、とりあえずペタペタとソースを貼ってうごかしてみたら、まあなんと簡単に取れました

しかし、取ってきた後に気がついたのが、HTMLファイルをそのまま取ってきても結局手動でコピペの必要があり、あんまり意味がない。と。

で、もう少し調べると、「WWW::Mechanize」を使うといいよって書いてあって、Mechanizeで調べたサイトをみるとrubyを使ったサイトが出てきました

rubyのサンプルがすっごい短くてわかりやすかったので、Perl苦痛だったのでRubyにしようと、このときRubyを始めました

設定が大変だったんですが、まあ面白くないので割愛。




Rubyきれい

■Mechanize簡単




デザインは・・・】

はてなブックマークコメントで、DoCoMoサイト元ネタと書いてありましたが、ハズレです

デザイナーの友人が居て世間話でどうやって作るの?って聞いたら、「まあ、パk、じゃない。参考にするよ。他社のを。」っていうもんでどうやって見つけるか聞いたら、あるんですね、綺麗なデザイン集めたサイトが。http://www.ikesai.com/ここでたくさん見ました

それからスライダーインターフェースは、「selectToUISlider」jQueryプラグインそのまま使ってます




■世の中のデザイン全てぱk(略

■selectToUISliderかっこいい




という感じで、ほんとにちょっとずつ進みました

しかったですね。Perl以外は。なんであんなに読みづらいんでしょう。




と、またもや長くなりすぎたのでこの辺で。







あ、ちなみに、アクセス数収益をご報告します。

金、土、日、月と約4日間爆発的にアクセスを頂きました



アクセス数は、4日間で約200アクセスほどありました

DMMクリック10クリックほどあり、その結果、購入された金額が、なんと!











700円でした

報酬額が245円。

ありがとうございました



http://www.kanzen21.com/




----------------------

12/8 12:00追記

アクセス過多でまたもやサーバーがダウンしました

今回のサーバーダウンは結構深刻でなかなか復旧が出来ていません。。。

申し訳ないです。




----------------------

12/8 12:10追記

全然起動しません。なんなんだこれは。

サーバー会社に問い合わせ中です

状況は、Twitterでお知らせします。

http://twitter.com/#!/kanzen21_com




----------------------

12/8 13:00追記

サーバー復活しました

サーバー会社の方、ありがとうございました

2010-12-04

http://anond.hatelabo.jp/20101203150748

ショックだね。超高速道路というか、そういう以前の問題だよこれは。

やろうとすることを普通の人が身につけるのに3年は掛かるだろうに、しかも、ここまでのクオリティはでない。

唸ってしまう。


HTML+CSS

意図したものを意図したように表示させるのは困難。

だが自分意図で作れる場合は、できないことは回避できる。

回避できるのであれば使うHTMLCSSは限られる。覚えるのは最小限。

Dreamweaverつこーてるのかな?

ツールが解決してくれるのならコードを書く必要すらない。


JavaScript

jQueryでやられていることを自前実装するには技術力が必要。

逆に言うとjQueryが利用できるならそれですむ。

中で何をやっているかなんて詳しく知る必要などない。

世界中のもっと詳しい人がチェックをいれてくれている。jQueryを利用したライブラリやサンプルコードも転がっている。jQueryでできないことがでてきたらどうするか? prototype.jsでも使えばいいじゃない。

ともかく回避方法はいくらでもある。


Perl

扱いがかわいそう。

自分に必要がないもの目的に合致するのに遠回りなものを切り捨てる能力がないと何時まで経っても勉強だけして終わる。


php

PHPで何かしようとしたのではなく、単なるテンプレートエンジンとして割りきって利用したようだ。

表示したいところに表示させたいものを埋め込むだけなら、それはHTMLとほぼ同等の何かでしかなくなる。

LL学習目的はないので寄り道をする必要などない。


クローラー

どの言語でも実装できる。phpを使っていて、なぜRuby

どの言語でやっても一緒なら、できるだけ自分がつくる部分が少ないほうがよい。

phpではクローラーをつくるのにいいライブラリがあるというのを聞いたことがない。

コマンドラインベースで動かす人は皆無だからね。

RubyならPerlたい正規表現に悩まされることもない。なるほど。

素人Ruby環境を例えばLinux上に構築しようとしたらかなり躓くところがあると思う。Railsを使わずにRubyで済ませたというところか。ここらへんから何か恐ろしい

逆算するとクローラーをつくるまで学習を初めてから2ヶ月も掛かっていないことになる。


Apache

クローラーをつくってからApacheを知ったというのがリアルで笑えるのだけど、恐ろしい

Ruby環境PHP環境をどうやって同居させたのかとかそういう苦労が見えない。ということ苦労しなかったのかもしれない。やはりRailsはなくてRubyなのか。

技術者を名乗る人でもRuby環境構築ができない人も多いのにこの人は素直にすごい。

何もないところからLinux環境PHPやらmySQLやらRubyやらの環境構築は熟練した人でも半日かかるめんどくさい作業なのでそれをやれてしまうというところで、3年生ぐらいのエンジニアスキルがあると俺は認める。

それは言い直すと普通に仕事として身につけたとしても一般的には3年はかかるということだ。


MySQL

はてさて、SQLまでかけるようになったというのだろうか。

DB設計は? 確かにこの内容であれば設計を要するほどの複雑さはない。1テーブルで十分。

インデックスとか貼ってないだろうなとは思わせるが、5GBのデータでもこれだけのレスポンスが出てしまう時代だ。

チューニングするぐらならいいハードにのっけなよということか。



デザイン

デザイナーとしても食っていけるだけのスキルがあるんじゃなかろうかとおもってしまう。

GIMPボタンひとつ作るのでもしんどいよ。


Face.com

もう、なんていうか調査能力もすごい。

というか調査能力がすごいんだろうな。

2009-10-01

http://anond.hatelabo.jp/20091001171551

超横だけど、世の中をわかっているようで、単にSEの毒に犯されてるだけでしょ、あんた。

プログラムだったらプログラマがいて、言語がある、そのスタイルは絶対に変わらない。どこかのサイト試験スクリプトを読んだところでGoogle Earthが組める?

無理無理。絶対的なプログラムへの深い知識が必要でしょ。prototype.jsソース読み込んで、いつどこで何が動くかキッチリ理解してなきゃ無理。

そして何より、JavaScriptを完全にマスターしてる人がみんな有名企業スペシャルプログラマになって、貴方の数倍の年収を得ているのは事実だ。

あんたの年収ダンコーガイ年収の何分の1?

2008-09-04

http://anond.hatelabo.jp/20080904150727

(X)HTMLCSS浪人の間の一年でだいたい覚えた俺が通りますよw

で、それを覚えたらとりあえずJavascriptを覚えよう。

モダンライブラリprototype.jsとかjQueryとか)使えるようになるといいかな。

このあたりはネット上に入門ごろごろのっかっているし、本屋行けば入門書あるだろう。


??????????Webプログラマコース??????????

PerlPHPRubyPythonのどれかをせめて覚えるべきかな?

後のことを考えるとPerlがいちばんかな?他のやつのほうが習いやすいみたいだけど

どれか一つ覚えれば他のはお互いに参考になっているから覚えやすいかも。

入門書一冊フルコンプすればとりあえず使えるんじゃね(ぇ

あ、Java忘れてた。これも手だけど初心者はきつくね と思ってスルー(ぁ

上のどれか覚えたならやってもいいとおもう。

ここらへん職業訓練で教えてくれるみたいだからそれで習うのもいいかも。


??????????Webデザイナコース??????????

ウェブデザイナー - Wikipediaより。

配色、色彩心理学レイアウト人間工学

このあたりがいるらしい。だいたい放送大学でいける(配色とか確かあったはず)から、↑の職業訓練と平行でいくといいかも。

配色とかのは資格もあるから、とるといいかも。

というかこっちも職業訓練でたしかあったと思った。


まぁ、まだJavascript覚えていないんで俺はそこからだけどなorz

ちなみにhtmlはez-htmlcssはstylenote使っているな(ぉ

2008-07-02

javascript継承方法の決め手

やっぱりprototype.jsClass.create?

使った事無いけどスーパークラスのメソッド呼び出しできるんだっけ?

http://iandeth.dyndns.org/mt/ian/archives/000664.html

とか参考に自分で書いたら段々でかくなって、4行が今57行w

でもまだバグあり機能不足。絶対車輪の再発明してる。

やっぱ言語サポートないと辛いわ。こんなに大変だと思わなかった。


って事で「javascript継承方法の決め手」なーい?と聞いてみる。

欲しいのは、多重継承が可能で、オーバーイドした子クラスのメソッドから、簡単にオーバーイドされてる親クラスのメソッド呼びたい。ただし、thisは子クラスオブジェクトのままで、しかも何段でもチェーンをたどれるように。

それとも、あきらめて、クラス名付きで直接親メソッド呼んだ方が良いのかな。やっぱり。


ま。とりあえずシュミグラマだから趣味に走ってみるけれども。

2007-10-02

1回でいいよ

mixiのview_diary.plで読み込んでるjs群。

<script language="javascript" type="text/javascript" src="/static/js/prototype.js?1191207813"></script>

<script language="javascript" type="text/javascript" src="/static/js/swfobject.js?1186571328"></script>

<script language="javascript" type="text/javascript" src="/static/js/video.js?1188959159"></script>

<script language="javascript" type="text/javascript" src="/static/js/youtube.js?1186571328"></script>

<script language="javascript" type="text/javascript" src="/static/js/prototype.js?1191207813"></script>

<script language="javascript" type="text/javascript" src="/static/js/Jemplate.js?1186571328"></script>

<script language="javascript" type="text/javascript" src="/static/js/json.js?1186571328"></script>

<script language="javascript" type="text/javascript" src="/static/js/decolink/decolink.js?1191207813"></script>

<script language="javascript" type="text/javascript" src="/static/js/prototype.js?1191207813"></script>

<script language="javascript" type="text/javascript" src="/static/js/effects.js?1186571328"></script>

<script language="javascript" type="text/javascript" src="/static/js/windowstate.js?1186571328"></script>

<script language="javascript" type="text/javascript" src="/static/js/overlay.js?1186571328"></script>

<script language="javascript" type="text/javascript" src="/static/js/popup.js?1186571328"></script>

<script language="javascript" type="text/javascript" src="/static/js/emoji_palette_base.js?1191207813"></script>

<script language="javascript" type="text/javascript" src="/static/js/emoji_palette_1.js?1188367218"></script>

<script language="javascript" type="text/javascript" src="/static/js/mixi.js?1191207813"></script>

<script language="javascript" type="text/javascript" src="/static/js/prototype.js?1191207813"></script>

<script language="javascript" type="text/javascript" src="/static/js/mixi/util.js?1191207813"></script>

<script language="javascript" type="text/javascript" src="/static/js/mixi/form.js?1191207813"></script>

<script language="javascript" type="text/javascript" src="/static/js/mixi/searchbox.js?1191207813"></script>

<script language="javascript" type="text/javascript" src="/static/js/mixi/navigation.js?1191207813"></script>

2007-05-20

[]今日の嫁との会話

俺「こんにちはこんにちは

嫁「はまちちゃんか?」

俺「そういえばはまちちゃんの顔画像が出てる記事があって話題になってたよ」

嫁「まじか!? どこ??」


ちょっとまてよ、お前そんなにはまちや2が気になるのかよ。なんかくやしい。


嫁「テクニカルタームが多すぎて記事の内容がわからん」

俺「prototypeとか?」

嫁「そうそう。それもわからん」


その後prototype.jsDojoJavascript言語仕様について二人で盛り上がった。

2007-04-11

私が躓きかけたjavascriptと他言語の違い

http://anond.hatelabo.jp/20070411180408の人へ


Javascript言語仕様を読めば、語句があって構文があって構造化やらオブジェクトやら関数やらなんやらの作り方がわかる。

私もそれについては何の問題もなかった。少々、特徴はあるけれど、さほど困惑するほどのものではなかった。

ただ、それから先で、はたと困惑するんだよね。やりたいことをどう作っていけば良いのかわからない。それ、よくわかる。


Javascript(正確にはちょっと違うのだけれど)の特異な点は、こちらがJavascriptの枠組みで何か設計する前に、すでに互いに関連しあったインスタンスがある、または他の枠組み(HTMLやらXMLやら)でインスタンスを生成したあとJavascriptで操作する、って所なんだ。

他の言語は、I/OやI/Fを設計して、それをその言語で作って操作して、という手順になるんだよね。プログラミングはそのI/OやI/Fを作ることから始まることが多い。

しかし、Javascriptはその部分ほとんどインスタンスとしてブラウザが作った後に動く。すでに形になっているインスタンス群がある状態で動く。そして、プロトタイプ言語だから、インスタンスを作る際に他のインスタンスを使用する事が多い。

つまり、すでに出来ているインスタンス群の状態を知る、つまりDOMを知って、実際にどんなインスタンスが出来ているのか、どんなインスタンスを作ればよいのか、を知る必要がありました。


以上、prototype.jsも満足に使えないへぼい奴からの言葉です。

おすすめ書籍

と、書きながら書籍を読まずに覚える人です。


今更1から勉強するのもなんなので、prototype.js使用を前提にしちゃっていいと思う。

で、まずはそのラベルクリックしてテキストボックスに変化させて、入力、Enterでラベルに戻す処理を作ってみたらどうだろう。

ちっちゃいサンプルをいっぱい作るのが覚えるコツ。

後は、どうやってその挙動になってるのか、先人の魔法使いっぷりを考えまくろう。

javascriptが分からない

いや、仕様は大体本読めば分かるんだよ。

全部がオブジェクトで実は中身はハッシュだとか、プロトタイプベースオブジェクト指向だとかそう言うのは。


ただ、具体的にプロダクトにこう言う機能を実現させたい!って時に何をやればいいのかさっぱりイメージが浮かんでこない。


例えば、ちょっとテーブルで表を作ってどこかのカラムクリックしたら入力フォームになってデータ入力出来る様にしたい、とかでも何から手をつけていいやら。

結局色んなライブラリを探してその説明通りちょこちょこ流用できる時以外は、あうあうあうああーーで全然ナニやれば良いのか頭が働かない。


DOMの操作が分からないってだけなのかなぁ?

phpとかでXML文書をパースして色んな処理、とかは特に躓かなかったんだけど。


AJAXとかprototype.jsとかMochiKitとか色んな技術を使おうとワケワカメになってるのもあるのかも。

昔から地道にwindowオブジェクトチョコチョコ弄って、とかのjavascriptを書いてきた経験が無いから。


何か良い書籍とか教えてください増田

2007-02-28

【コラム】そろそろきっちりJavaScript 第1回 "Firebug"の導入〜関数リテラルとは? (MYCOMジャーナル)

多彩な演出効果カンタンに導入できる事で脚光を浴びたprototype.jsの登場を皮切りに

のっけから間違ってて読む気なくす。冒頭くらいちゃんと調べて書こうよ。prototype.jsのどこを読めば多彩な演出効果なんて出てくるんだ。使ったことないだろ。多彩な演出効果はたぶんprototype.jsベースScript.aculo.usのことだ。prototype.js流行ったのはいろいろあるけど、主としてAjax.*の存在が大きい。

function mtof(x) { return x*3.2808399 }

mtof(3)

;書こうよ。そりゃなくても動くけど、初学者向けの解説としてはダメだろう。タイトルも「きっちり」なんだし、Rubyで;ないのとは意味が違う。思わぬところでハマったりするよたぶん試したことないけど。

ちなみに仕様的には、「セミコロンを補完可能なら補完する」なので、補完不可なら補完できずエラー、そもそも補完ってことはセミコロンついてるのが正規の状態って意味だろう。何にしろ;なしで改行してるの見ると気持ち悪い。

2007-02-23

ウィジェットに夢をみた

なんか凄いね。寝る前になんか作ろうとあれこれ触ってたら5時になってしまった。

これはプラットフォームというか、開発言語だよね。。

Googleが提供しているAPIを誰かが利用してつくったなにがしをYahoo!が配る。


どんな世界だそれ!

でも、面白い。winアプリがこのレベルで作れるならちょっと面白いものがいっぱいつくれそう。


prototypeをつかってるんだけどprototype.jsをつこーてる様子がない。

どこにはいってるんですか>< 教えてください。

ドキュメントからみつけられなかった。

2007-02-06

古いブラウザで透過PNGを表示させるJavascriptの比較検証

取り上げるのは下の3つ。便宜的に上からapng、alphafilter、ie6pngとする。

IT戦記 - 僕も半透明 png を使うためのライブラリ作った!

アルファ画像を扱うalphafilter.jsライブラリ-とあるWEBクリエイターのblog

ウノウラボ Unoh Labs: IE6でアルファチャンネルを含むPNGを表示する

apng

特長
萌えポイント
好みがわかれるところ
  • 対象PNGの直後にscriptロードするだけで使える / 何度もロードしなきゃいけないのが嫌
びみょうなところ
  • imgにwidthとheightを指定しなきゃいけない(詳細不明)
簡単カスタマイズ
  • elmScript.src.replaceのとこをいじって好きなファイル名(/blank.gifとか)に置換する
想定される用途

alphafilter

特長
好みがわかれるところ
  • classを使って処理を適用するかどうか決める / class指定しなきゃいけないのが面倒
  • Event.observeが組み込まれてる
萌えポイント
びみょうなところ
  • prototype.jsが必要
  • どうせEvent.observe使うなら無名関数にしてほしい
  • window.onload時に実行されるので若干ラグ
簡単カスタマイズ
  • 複雑なことはしてない(Event.observeとdocument.getElementsByClassNameだけ)のでprototype.jsレスにするのが容易
  • document.getElementsByClassNameの第二引数を指定できるようにしたり、対象エレメントの配列ダイレクト引数で受け取れるようにしたり
想定される用途
  • 複数PNGに適用したいとき
  • 透過PNGを背景に使いたいとき

ie6png

特長
  • 代替GIFを指定できる
萌えポイント

特になし。ごめんなさい。

びみょうなところ
簡単カスタマイズ
  • AlphaChanneledPNG.initializeのEvent.observeを消して、実行コードを以下のようにして、HTMLの最後に書けばすっきりしていいとおもう
new AlphaChanneledPNG("imageId1","/blank.gif").show();
new AlphaChanneledPNG("imageId2","/blank.gif").show();
...
想定される用途
  • うーん……。

結論

  • 手っ取り早く使うならapng、CSSbackgroundに使うとか、PNGの数が多いならalphafilter
  • jQueryと衝突するのでprototype.jsはカンベンしてください
  • 欲を言えばIE7が出る前に開発してほしかったです

2007-02-01

そろそろまたJavascriptオフの時代が来た

Google Maps以前のころ。ヘビーユーザーのあいだではJavascriptオフ常識になっていた。度重なる時計の再発明に業を煮やし、IEActiveXに警戒心を抱き、不安定なOSをさらに不安定にするため暗躍するのがJavascriptでありJScriptだった。

Google Mapsがあれだけのインパクトを与えたのは、ひとえに、こういった先入観を打ち砕いたからに尽きる。信じられないことに、Javascriptって便利なのだ。実に見事な枯れた技術の水平思考である。

Ajaxという言葉帰納され、ライブラリがぼこぼこと発表される。ネイティブオブジェクト拡張と、クロスブラウザのための供物ラッパー集合体たるprototype.jsを筆頭に、様々なものが世に出、様々なアプリケーションがより手軽に実装できるようになった。

script.aculo.usLightBoxやmoo.fxといった、エフェクト中心のライブラリも出回り始める。IEのせいで煩雑な記述を強要されたグラフィックアーティストが、DOM操作によって問題を解決しようとし始めた。リンクにmouseoverしたらうっとうしいエフェクトを振りまくスクリプトが当たり前のように設けられた。このはてなも、いつの間にか大量のMochikit/*.jsを読み込んでページのレンダリングを遅らせている(たまad.hatena.ne.jpレスポンスが遅いときなど目も当てられない)。これらに共通することは、多くの人がそれを望んでいないということだ。

もちろん好ましい方向への進化もあった。OperaUser Javascriptを発案・実装し、FirefoxGreasemonkeyでそれに追随。SafariCreammonkeyを得て、いわゆるモダンブラウザユーザーは、豊かなスクリプトライフを楽しめるようになった(IEにもなんとかいう同様の機構を実現する環境はあるが、IEユーザーには敷居が高いのかほとんど見かけない)。Livedoor ReaderGoogle Readerイベントを操作することで、キーボードでの操作を今までにないほど豊穣にした。入力フォームのリアルタイムバリデーション、Google AnalyticsAdsenseの導入容易さなど、見るべき意匠もいくつかある。

しかし平均的に考えて、何の変哲もない個人ブログJavascriptは必要ないものだ。素人がつくったタイマーは、いつもユーザー憂鬱にする。素人がつくったAjaxサイトは、だいたいの場合IEFirefox以外を排除するもっともらしい理由を得るためにAjaxを使う(Dellが自社サイト上で「Netscape4.6以上で閲覧せよ」と警告することによって、やる気のなさを主張するようなものだ)。

我々が自分のブラウザ上でページを表示するとき、Javascriptによる意外な効果などまったく期待していない。UIにおいては最速こそ正義、というmala氏の言葉引用するまでもなく、不必要に重いサイトはそれだけで忌避するに足る理由となる。流行を追って常識を忘れるのは愚かとしか言いようがない。

Firefox(のNoScriptアドオン)とOperaは、ページごとサイトごとにきめ細かなJavascriptの挙動を設定できる(不勉強にしてSafariについては知らない。IEはできない)。Javascriptに限らず、広告ブロックや不要ファイルの無視、特定Flashの再生可否など、ユーザーは「何が要らないか」を指定でき、要らないものを気軽に突っぱねられるようになった。不要なものを除去する習慣が、ヘビーユーザーのあいだで間違いなく形成されつつあるのだ。

何かひとつのことをするためのJavascriptは、これからしばらく出現し続けるだろう。ウェブマスターが、重厚長大な飾りで貧弱なコンテンツを隠すためだけに。何かを拒絶するテクノロジーは、今後しばらく発展し続けるだろう。十重二十重のラッピングに疲れた人たちのために。

- 転職ならen
- 派遣ならen
 
1ページ中1ページ目を表示(合計:16件)