はてなキーワード: Javascriptとは
Webシステムとは縁遠い事務職のリーマンが、ある日思い立って、ニッチな用途の検索エンジンサービスを作ってみたので、ちょっと書いてみようと思います。
ちなみに、検索エンジンといっても、googleカスタム検索とかのお茶濁し系じゃなくて、apache Solrというオープンソース検索エンジンを、VPS上で動かしているという、それなりに本
気度の高いものです。
なんで素人がそんな物騒なものを動かす羽目になったかは、後述。
やりたい構想みたいなことを思いついたのは、もう6、7年前ほど前のこと。初めて独り暮らしを始めたときに、ひどく不便を感じたことがあり、こんなサービスがあったら便利だなあ、
ちなみにその妄想をふと高校の同期に話したとき、そのサービスはどこにあるのか?!と、えらくがっつかれたのを、覚えてます。まあ、俺と同じく偏執狂の奴だったからだと思います
が。
ただ、しがない事務職リーマンということもあり、当然、技術も無く、そのときは、やるならこんな名前のサービス名だろうなあ、とか、そんな妄想レベルで、話は終わっていました。
そんな感じで、5年ほど月日は経ち、なんとなくリーマン人生の流れも見えてきたところで、以前、妄想していたことを、ふと思い出しました。
5年も経ったら、さすがに自分が考えたようなこと、誰かがやっているだろうと調べてみたところ、意外なことに、競合になるようなサービスは存在せず。ちょうど異動があって、少し時
間が出来たこともあり、じゃあ、着手してみようかと思い立ちました。
やりたいことは、大手サイトの情報検索。ただ、商品ページ内の特定情報、それも、商品ごとに正規化されていない表記を、正規化して抽出する必要があったので、大手サイトの既設API
だけではとても実現不可能でした。
まあ、だからこそ、5年間、誰もやろうとしなかったんでしょうが。
ということで、とても一発では解決できなさそうな内容だったので、自分でなんとか実現できそうな機能に細分化して、各個撃破していくことにしました。
随分と考えた結果、
以上に区分できると考えて、これらを各個撃破していくこととしました。
また、技術もなく、プログラミングも出来ず、ましてやlinuxサーバのお守りをしたことなんて当然ないので、インターネット上に置くサーバですべての処理を完結させるのではなく、イ
ンターネット上に置くリソースは最小限に留め、できる限り、勝手がわかる自宅のwindowsパソコンで処理を行うことにしました。
ちなみにさらっと結論だけ書いてますが、ここまで至るまでに、いろいろと調べ続たり、考え込んだりしていたので、思い立ってから3ヵ月は掛かってます。。。
さて、やる方針を決めたあと、はじめに着手したのは、要の検索エンジンサーバです。
いろいろとググって調べて、mySQLというやつか、apache Solrというやつかに絞りましたが、結局、Solrを使うことにしました。
MySQLのほうが実績は多そうだったのですが、Solrのほうが検索専門で、滅茶苦茶動作が速いらしいということ、MySQLでも出来るが特に速度が遅いらしい全文検索機能も使いたかったこ
と、あとファセット機能がジャンル絞りこみに便利に使えそうだったので、というのが理由です。
ちょうどSolr本が発売されていたこともあり、それを参考に、自分が使うように設定ファイルを変更していきました。
しかし、初めは設定ファイルの内容も意味不明な上に、私の書き方も雑なのか、少しいじっただけでまったく動かなくなる。結局、設定ファイルを一文字ずつ変更しては動作検証、とい
った始末で、進捗は地を這うよう。ある程度思い通りにSolrを扱えるようになるまで、3ヵ月以上掛かったでしょうか。。。
さらに、検索エンジンのフロントエンド(Solrの検索結果を、htmlに変換するプログラム)も書かなければならない。プログラミングが出来ない人間には、これが本当に辛かった。
Solr本に、いろんなプログラミング言語でサンプルがあったのですが、迷った末に、わずか数行なら書いた(≒コピペした)経験があるという理由で、javascriptを苦渋の選択。
しかし、選択はしてみたが、基礎が本当に無いから内容がサッパリ頭に入ってこない。こちらも、わかるところから本当に1文字ずつ変えていくといった手探り状態。
プログラミングについては、今回のためだけだから、といった理由で、一切基礎をやらずに着手したのが裏目に出たのか、サンプルのソースをモノにして、書き上げるのに、ゆうに半年
以上。本当に時間が掛かりました。
さらに、Solr周りで計9ヶ月間ハマっていた頃、忘れもしない、kanzen21のおっさんが彗星のように現れて、衝撃を受けることになります。
大手サイトのページをクロールして検索エンジンを作る手法は、私と考えていた構想の枠組みとまさに「完全に一致」な訳で。。。
図書館事件に注目していたのも同じで、あまりの一致具合に衝撃を受けっぱなしでした。
その後の成り行き等も含めて、興味深く観察させて頂き、本当に参考になりました。
そんな感じで紆余曲折もありましたが、ようやく難題だった、プログラミング関連に目処が立ってきたので、あとはクローラと肝心のデータ処理です。ここからは、勝手知ったるwindows
まず、クローラですが、専用のクローラをwindows用に探してきたり、それを設定するのも大変なので、今回はテレホーダイ時代に使っていたような、フリーのweb巡回ソフトを利用する
こととしました。指定のhtmlをダウンロードしてくるだけなので、別に変に新しいものに手を出す必要もないので。
また、ダウンロードしてきたhtmlファイルについては、これまたフリーの日本語処理ツールでcsv方式に加工することにして、処理ルール部分を相当に作り込みました。
このあたりは、全体を通して見てもキモの部分なんですが、ある意味、ちょっとしたパズル感覚だったので、プログラミング言語の部分と違って、かなり楽しかったです。
あとは、msdosのバッチファイル(これは前から知っていた)で、これらの処理を繋ぎ、cygwinのcurlとかいうツールで、連続して検索エンジンサーバにcsvファイルをアップロードする
仕組みを作りました。
検索エンジンサーバには、容量は少ないが、安くて高性能という、今回の用途にピッタリだった、さくらのVPSを借りて設定。CentOSのサーバ構築ホームページを見ながら、サーバとか
Solr管理URLとかにセキュリティを掛けて、こちらも素人ながら、意外とすんなり設定。
ホームページは、vpsサーバに相乗りさせるのではなく、別にさくらのレンタルサーバを借りました。apacheの設定方法等を習得する必要がありませんし、vpsのリソースをapacheと分け
合う必要が無くなるので。ホームページのhtmlファイル、cssファイル等も調べながら設定し、画像も準備しました。
あと、構想を思いついたときに妄想していたサービス名の.comドメインは、すでに他者に取得されていたのですが、どうも使っている風にも見えなかったので、whoisで出てきたメールア
ドレスに連絡して交渉し、幾ばくか払って買い取りました。
結局、足かけ18か月。ようやく完成。
楽天市場の家具を、幅x奥行x高さ(家具サイズ)で検索できる、楽天市場・家具カテゴリ専門の検索エンジン
この商品数規模(データ収録約30万アイテム)で、1センチ単位で家具のサイズ指定検索が可能な手段は、商用サービスも含めて、ほかには存在しないと思います。
kanzen21と違って、エロじゃないから華はないけどね。。。
ちなみに冒頭で少し書いたきっかけですが、就職して独り暮らしを開始したときに、新しい家にピッタリサイズの家具が欲しかったのですが、これが楽天で探すのは至難の技でして。
楽天で家具を探してみようと思った人には判っていただけると思うのですが、楽天では、価格では範囲指定やソートができても、サイズでは検索出来ないんです。
これは、楽天では、商品のサイズ情報は商品の自由記述欄に記載することになっているためで、商品ごとにサイズの記載方法がバラバラのため、検索が事実上、不能となっています。
家電製品とかに関しては、種類が少ないこともあり、メーカーのホームページとかでサイズを確認した上で、商品型番で検索すればいいので、それほど問題にはならないのですが、家具
って、種類が非常に多く、型番もあったり無かったりで、家電のようにサイズを調べることができません。
・・・ということで、カグサイズでは、楽天の商品ページにいろいろな書式で書かれているサイズ情報を拾って解析して正規化し、範囲指定やソートして検索ができるようにしています
。
また、単に寸法サイズを拾うだけでは、梱包サイズとか引き出し内寸とかも引っ掛かってしまうので、それらは出来るだけ排除して、商品の外寸が優先して引っ掛かるよう、アルゴリズ
ムを調整しています。
単位(センチとミリ)に関しても、商品ごとにバラバラ(単に単位だけでなく、商品説明のどこに"センチ"とか"ミリ"と記載しているかについてもバラバラです。)なので、サイズ表記
の前後の状況をみて、正しいと思われる単位で拾うようにしています。
あと、変わった使い方としては、欲しい家具の価格比較みたいなこともできます。
家具は、同じ商品でも、店ごとに型番が違ったりすることがよくあり、簡単には価格の比較が行いづらいジャンルの商品です。
しかし、型番は違っても、同じ商品なら原則、サイズは同じですから、欲しい商品とまったく同じサイズで検索をかけると、同等商品があるのかどうか比較しやすい・・・といった使い
方もできます。
と、そんな感じで、しがない事務職リーマンが作ってみた、ニッチな用途の検索webサービスを、サービスインさせて頂きました。
一般に公開されていて、誰でもアクセスできる情報でも、ニーズが有りそうな切り口の条件で検索性を高めれば、新しい価値を創造できるんじゃないかという実験です。
もしよろしければ、ぜひ、使ってみてくださいー。それでは!
----------
JavaScript って生き物っぽいって思ったのがきっかけだった。
なんか菌?に遺伝子いれてたんぱく質を生産させるやつ? Function は菌の細胞膜で prototype は遺伝子で、だから prototype に全然関係ない違う生物の遺伝子を生きてる菌に入れちゃったり。そうすると全然ちがうたんぱく質が生産されたり。prototype にべべーっとコピーして追加するのなんてまさしくそれっぽい。
だってプロトタイプベースって、生き物しかいない世界じゃない?基本的に。インスタンスってのは生き物じゃない設計図があってそれにしたがって出来た生き物がインスタンスってイメージあんだけど。プロトタイプベースの世界にはそんな設計図も生き物じゃないものもないよね?なのにわざわざインスタンスっていうのに何か違和感?ご都合主義的なもの感じる。クラスは型で、インスタンスを実体だとかなんとかって氾濫してるせいかな。多分この辺の用語が JavaScript をわかりにくくさせてる気がする。
僕の感覚では、オブジェクトってのは生き物で、クラスベースってのは神が設計図に基づいて生き物を生産してる世界で、インスタンスベースってのは生き物が生き物を複製してる世界のイメージだ。多分、原始の生物はインスタンスベースみたいな世界で、海の中にうようよしてたんだろうな、とか。
オブジェクトじゃないものは、生き物じゃない死んでるたんぱく質や RNA の破片みたいな。それだけじゃなにもできないみたいな。それだけじゃ命がないから、生き物の殻に詰めるってのが JavaScript のコンストラクタのイメージ。
Perl の bless したらこれはもう命入ったよ生き物だからねっあとは勝手にしてねってのも、Python の名前空間さえあればなんとかなるよねってのも、JavaScript のハッシュさえあれば世界作れるよねってのも、みんなどこか似ている。ちゃんと OOP を理解できてるかは別としてもこの三つはわりとすぐやりたいことができた。昔 Java の本を買ってきて挫折したのにくらべたら、なぜかずっとわかりやすかった。(bless という命名はすごく洒落てる)
全然関係ないけど、Django の日本語リファレンスは何か萌える。ラクダ本の日本語訳はむかつくのに。
プログラミングを始めたばっかりの時は、なんだか難しい用語の意味を理解しないと OOP がわからないと思ってた。それは僕らの住んでる世界とは全然関係のないプログラミングの技術ってやつだと思ってた。
でも多分違う。
世界が動く仕組みさえあれば、あとは作り手に世界の成り立ちを抽象化する表現力さえあれば、世界は勝手に表現されていくし、動き出してく。たまたま僕らの世界はオブジェクトなもので溢れていて、プログラミング言語が進化すれば世界に似るのも当然だろう。いや逆か。プログラミング言語が世界に似てきたから、オブジェクトなんていう世界に似た概念が出てきたってことか。なんだか難しい用語ってのは、その表現の一部分の技術に名前をつけてるだけなんだな、と。例えば何とか歌唱法や何々画法とか何とかレトリックとかパースの取り方みたいなのと同じ。それは表現を理解する手助けにはなるけど、その意味を知る事がイコール表現力をあげることにはならないんだよね。これに気づくのに遠回りしすぎたなあ。
(知識を得るだけで、100% 還元される人もいるかもしれないけど、そんなのは一部の天才だけだと思う。殆どの凡人はそうはいかない。とはいえ、元の錬度が低ければ、コツをいくつか教わるだけでいきなりうまくいくこともある。ただ、それをまるまんま実力だと思うのは、どんな分野でも危険だ。恋愛テクニックやらを必死に読んでる連中が男女間の深い人間関係を上手くやれてるとはちょっと想像できない!)
プログラミングで表現力を上げるにはどうすればいいんだろう。きっと他と同じだろうな。いい表現を沢山味わって、世界をよく観察して、どう成り立ってるかどう動いてるか、私達はそれをどう認知しているのか、考えることかもしれない。漫画家を志す人が美術解剖学を学んだり、優れた画家が絵筆で世界を生々しく描写するように、優れたプログラマは世界のなりたちをプログラムに写し取ったり、世界の仕組みを作る事が出来るのだと思う。
ブログは、執筆した人の所有物ではありません。そもそも、ホスティング業者とか文字コードとかJavaScriptを使ってできたブログを、ユーザー登録したらいで「所有」しているという考え方がおこがましい。
当たり前ですが、ブログでも何でも、一個人の完全な所有物となるものなんて、この世にはありません。「物」は、言うならばこの世界そのものの「所有物」であり、人間にとってはむしろ「借り物」という方が近いです。今認められているいわゆる「所有権」とは、その「借り物」の処遇について、他の者よりも比較的多く決められる権利――くらいの意味しかないのです。
ですから、当たり前ですが、それでバカなことを書いたり罵倒したりしたら、作家のみならず、誰でも、この世界そのものの一員として(一部として)、それを炎上させることができます。と言うより、炎上させるべきです。
それは、権利と言うよりは、この世界そのものの一員としての責任です。ぼくは、誰が書いているブログであっても、その持ち方や使い方を誤っている人がいれば、行って「おいバカ死ね」と勇気を持って罵倒してきたいと考えています。
先日「Flashエンジニアが今後10年食べていくには?」というテーマを元に
Flash に精通した Web 技術者達のディスカッションが行われる催し物があった。
http://www.publickey1.jp/blog/11/flash10.html
この記事だけでは内容が省略しすぎているため
時間があれば是非録画の模様もみていただきたい。前半初頭は音量が小さいので注意。
こういった催し物は面白いなと、私はとても楽しく見させていただいた。
http://www.ustream.tv/recorded/19073524
http://www.ustream.tv/recorded/19074357
ディスカッションでは Flash だけではなく HTML5 についても触れている。
ディスカッションの感想をディレクションや営業を行なっている知人に聞いたり、
ネット上の反応を見てみたところ以下のような意見がいくつかあった。
「『Flash が好きな人』だけではなく HTML5 派の人との対談もあればよかった」
「Flash 派の人の話だから HTML5 が使えないという話はいまいち参考にならない」
『Flash 派』『HTML5 派』という くくりで考えてしまう人は
まだまだ多いと実感する。
パネリスト達は
過去から現在までに様々なプログラミング言語を利用し、あらゆる技術に精通している。
Flash という表示媒体/環境開発がベター(時にはベスト)だと考え、
Flash をよく扱っている、という旨を話している。
最後の締めとして
Flash よりも優れたものが登場するのであればそちらに移行するでしょう、
とも言っている。
これだけの説明があったのに
ディスカッション内で触れた HTML5 に対する否定的な話は、
『Flash 派』とやらのポジショントークだと目に写ってしまったのだ。
Java やら C やら objective-c やら perl やら php やら
サーバサイドからスマホ用ネイティブ言語を用いてのアプリ制作まで
色んな事やってます、と言っても
現在世の中には HTML5 を推し、合わせて Flash を否定する記事が結構出回っている。
技術者が話す専門的な用語の飛び交う話よりも
HTML5 vs Flash 的な読みやすい記事に耳を傾けてしまう人はいる。
Apple 製品を好む人は「ジョブズがそう選択したのだから」と
なおさらこういった記事に目を向けてしまう。
「Flash vs HTML5 の話にのせられてしまうのは、よくわかっていない人だ。」
ディスカッション内では、
ネット上の煽り記事を読み不安に思ったクライアントから連絡を受け
きちんと状況をゼロから説明するハメになってしまった、という内容があった。
似たような状況になっている人もいるのではないだろうか。
当方周辺では、
「Flash は駄目だ」「Flash でなくても HTML5 ならできるはずだ」
「HTML5 は Flash の代わりになるものだと言われている」と
クライアント、あるいは仕事先の関係会社から耳にする機会が増えてきた。
技術者の及ばないところで
ベターではない技術が選択、あるいは勧められてしまう やっかい性。
その記事は世間の目には届かない。
TV CM でバンバン流れている iPhone や iPad では Flash を見ることができない
という状況に乗じた
勘違いを正すためには、今までよりもより一層
あるいはメッセージを発信するよう心がけていかねばならないと感じる。
パネリスト達のような
Flash を扱う事が可能な技術力を持ち合わせている人にとって
Flash が終わろうが、代わりの技術が HTML5 やらその他何になろうが
大した影響はない。
『プログラミング』についての話をしてみる事にする。
「世にあらゆるプログラミング言語があるが
「何か一つ言語を習得し
『Flash の事は全く知らないがプログラミングプロフェッショナルの人』
が近くにいるならば是非上記について伺ってみてほしい。
その通りだと答えてくれるはずだ。
他の言語で作ったものを Flash のプログラミング言語に移植することも容易いのだ。
ここで上記三行の「他の言語」を「JavaScript」に置き換えてみてほしい。
HTML の DOM 操作に必要な言語は JavaScript である。
言語は、Flash ならば ActionScript、HTML5 ならば JavaScript を用いる。
画面描画は
あるいは用意されている描画用 API を ActionScript で呼び出し、
あるいは用意されている描画用 API を JavaScript で呼び出す。
Flash と似たような技術として Java Applet や Shockwave があるが、
これらも一緒で
言語を変え、その技術に合わせた描画を行う処理を記述するだけだ。
Web 技術者が何かに属していて、何かには属していないかのような区別の仕方は
的がはずれている事を なんとなく感じていただけただろうか。
仕事に対し、あるいは表現したい事に対し、ベターな選択を行うだけの事なのである。
環境や表示内容に合わせ両方を採る選択もあるだろう。
パネリストの中に ActionScript が好きだ、という人がいた。
これは別に
Flash が好き(製品のファン)だから ActionScript が好き、と言っているのではない。
ActionScript が優れたプログラミング言語だと判断しての発言なのだ。
HTML5 を選択するだけの事であり、
その別の技術を選択し、
Flash より優れた技術が登場しなければ Flash を使い続ける、
ただそれだけの事なのである。
もう少し突っ込んだ話をすると
Flash のプログラミング言語である ActionScript(ActionScript 1.0)と
HTML 表示制御を行う言語 JavaScript は 実は同じ言語仕様である。
『ECMAScript』という単語で調べてみてほしい。
「Flash と HTML5 は対立するもの」と考えていた人、
あるいは ActionScript や JavaScript を触れたことがない人にとって
「え?そうなの?」と思う人もいる事だろう。
JavaScript は大規模開発に向いていない、という話は聞いたことがないだろうか。
同様の言語仕様である ActionScript 1.0 はこの問題を解決するため
ActionScript 2.0 から ActionScript 3.0 へと進化していった。
Flash は開発がし易い、という話がよく挙げられるが
その理由の一つがこれである。
現行の JavaScript と ActionScript 1.0 は ECMAScript 3 準拠に対し、
ActionScript 3.0 は ECMAScript 4 準拠である。
言語として進化しているものを Flash は採用しているので
開発は抜群にし易い。
ECMAScript 4 準拠の JavaScript も登場する日もあったかもしれなかったのだが、
ECMAScript 4 標準化が白紙、
ECMAScript 4 は無かったことになってしまったのだ。
ActionScript 3.0 で作成したプログラムが
ちなみに JavaScript は大規模開発に向いていない、という事に対し、
最近では Google が新言語 Dart というものを開発している。
位置づけとしては ActionScript 2.0 に近いと比喩した人もいる。
ActionScript 2.0 はコンパイル時 ActionScript 1.0 に変換されて出力される。
Dart も同じく JavaScript 変換機能を持つ。
先の事は誰にもわからない。
HTML5 が成長するとは必ずしも言えない。
技術者は身を持って知っている。
表示と動作の差異、技術者はずっと苦しめられてきている。
めんどくさい。コストがかかる。
HTML5 も同じ道を辿るのでは、と言われてしまうのも仕方がない。
実際に HTML5 の各ブラウザの実装具合はバラバラである。
Flash はといえば、
今でも 10年以上前のスクリプト言語 (ActionScript 1.0 よりも前の言語)で
Flash が動作するブラウザがいつまで携帯に搭載され続けるのか、
まだ誰にもわからない。
今後も当面携帯向け Flash を作り続ける事になるのかもしれない。
携帯向け Flash は一つの容量が小さいというのが救いである。
IE6 対応 HTML サイト制作にせよ、携帯向け Flash 制作にせよ
状況に応じて何を選択するかを判断できるほどの技術力を身につける事
選択する技術に何ができて何ができないのか、
どの技術を組み合わせるとよいのか、
自ら判断できるようになった時、一人前の Web 技術者になったと言えるだろう。
一つ何かをモノにしてしまえば前述の通り移行は容易い。
それを極めるくらいまでとことん勉強してほしい。
続けていくと見えてくるはずだ。自信という名の悟りの道が。
気になった点をいくつか。
現状の HTML5 の実装具合のバラバラさに対し、
「(HTML5の)表示の差分を埋めてくれる何かが登場するかもしれない」
と言う発言があった。
言った当人も会場にいる人達も、きっとこう思っただろう。
「それってなんて Flash Player?」と。
「あれはやめたほうがいい」という発言があった。
勝手に注釈するのであればこの発言は
「Flash で作られた重たい Web を HTML5 でまた再現するつもりなの?」
という皮肉であろう。
完全な初心者の状態から勉強を始めてから大体5ヶ月でウェブサービスが完成したので何を用意したり何をどうやって勉強したらいいのか色々書いてみました。
アイデアはあるんだけど、プログラムとか難しそうで自分にはウェブサービスなんて作れないと思ってる人がいたらその敷居を少しでも低くできたらいいなあなんてと思ってます。
ちなみにボクはぼんやり1年くらいはてなブックマークにのってる記事を見ていてプログラムとかできたらいいよなあなんて思っていてようやく重い腰をあげた人です。
さらに自分は文系で数学も英語もロクにできない人なので、基本的に誰でもサイトは作れると思います。
そもそも中学生でもプログラミングができるんだから大人に出来ないわけないですよね。
これからウェブサービスを作りたいっていう方の参考になればと思います。
※自分も初心者なのでまちがってることがあったら教えてください。
●何を用意すればいいのか
※自分がWindowsなので何個かWindows向けのソフトを紹介しています。
※Macの方は申し訳ないですが、Mac向けのソフトをご自分で探してください。
(1)メモ帳
アドビのdreamweaverっていう便利なソフトがあるらしいですがお金もかかるし別に必要もないと思います。
ただのメモ帳だと使いづらいのでボクは「TeraPad」っていうフリーソフトを使っています。
例えばプログラム言語ごとに表示を切り替えると、関数とかコメント部分の色が変わって見やすくなって便利です。
・TeraPad : http://www5f.biglobe.ne.jp/t-susumu/library/tpad.html
サイトを作っても各ブラウザごとに見え方が違うのでそれぞれ確認するために何種類かブラウザをインストールしましょう。
ボクはIEとFireFoxとChromeの3つをそれぞれ表示して確認していました。
OperaとかSafariも本当は確認しないといけないと思うんですがこの3つで十分だと思います。
(3)XAMPP
ザンプって読みます。ざっくり言うとローカル環境(自分のパソコン)でプログラムを動かす環境を作るソフトです。
いちいちサーバーにアップロードしなくても、プログラムが動くかを確認できるので便利です。
またレンタルサーバーでプログラムが暴走してしまうと迷惑がかかるらしいのであらかじめ自分のパソコンで確認するのがいいようです。
・XAMPP: http://www.apachefriends.org/jp/xampp-windows.html
(4)ドメイン
何とかドットコムっていうやつです。ネット上の住所的なやつです。example.comとかexample.netとか。
ボクはお名前.comでドメインをとりました。ドメインの個人情報を隠せる?サービスがあるのが理由です。
まあどこで取っても大して変わらないと思うので目についたところで取るといいと思います。
「.com」だったら年間1000円くらいです。長すぎるドメインはとらない方がいいかもです。
(5)サーバー
ネット上にファイルをアップロードするところです。ドメインが住所だとすると土地みたいなイメージです。
ボクはさくらインターネットさんのレンタルサーバー(スタンダードプラン)を借りています。
理由はグリーの社長さんがほめてたから。お金も月額500円なので安いです。
同じ500円だとニコニコ動画のプレミアム会員になれますね。ちなみにボクは一般会員です。
さっきファイルをアップロードとかさりげなく書きましたが、そのファイルをアップロードするソフトがFTPソフトです。
ボクはFFFTPを使っています。最初使い方がわからなくて戸惑いましたが慣れれば簡単です。
・FFFTP : http://www2.biglobe.ne.jp/~sota/
(7)FireMobileSimulator(FireFoxのアドオン)
携帯電話のサイトを確認するには基本的に実機で確認するのが一番ですが、個人で全部そろえるのは難しいです。
そこでFireFoxのアドオンのFireMobileSimulatorという拡張機能を使って簡易的に確認するのがおすすめです。
XAMPPのようなローカルサーバでも確認することができます。
・FireMobileSimulator : http://firemobilesimulator.org/
FireMobileSimulatorで確認できるといってもやはり見え方は違います。念のため実機で確認しましょう。
ボクはiphone使っていてそれの確認はしてるんですが、androidの友達がおらんのでまだ確認してなくて実はまだ不安だったりしてます。
上と同じようにやはり実機で確認した方がいいです。特にガラケーは見え方もそうですが、プログラムがうまく動かなかったりします。
例えば、AUだけフォームに「enctype="multipart/form-data"」を入れてると文字化けするという謎の現象が起きたり。
他にも色々あって制作に時間がかかったのは正直このガラケーのせいです。色々3キャリアで統一とかしてくれないんですかねえこれ。。。
友達のY君とMさんとNさん本当にありがとうございました。匿名ブログだけど感謝してます。
●何を勉強すればいいのか。
さて具体的に何を勉強すればいいのかわからない人がいると思いますが、以下を勉強すればウェブサービスが作れます。
ということでひとつずつ説明。
マークアップ言語っていうらしいです。プログラムじゃなくてhtmlファイルを作る言語です。
とりあえずhtmlでサイトの文書の論理構造を書いて、cssでサイトの見た目をキレイにするものだと思ってください。
適当に検索すれば勉強できるサイトがたくさん出てくるのでそこで勉強してください。
本も売ってますけど基本的なところは難しくないので買う必要はないと思います。
調べると、html5とかxhtmlとかあって戸惑うかもしれませんが、とりあえずPCとスマホなら何でもいいと思います。
(ガラケーについては各キャリアごとに対応させる必要があります。書くとすごい長くなるのでガラケー用にサイトが作りたいなら調べてみてください。)
ただhtml5が一番新しいので今後勉強される人はそれの方がいいかもしれないです。
ちなみにボクはたまたま見たサイトがxhtmlの説明だったので今回はxhtmlで作りました。
まだボクは90年代初頭のホームページみたいなデザインしかできないので偉そうなことは言えないんですが(笑)
最初はhtmlだけでサイトが作れると思っていたんですが、はてなのような動的なサイトを作るときは何かしらプログラミングする必要があります。
んで、いろいろ調べるとperlやらRubyやらJAVAやら色々でてきて一体どのプログラム言語がいいのか悩むと思いますがウェブサービスが作りたいならPHPがいいと思います。
理由はウェブに特化した言語っていうのと他に比べると簡単で勉強時間が少なくて済むらしいので。
PHPなんかで本なんか買う必要はないらしいんですが、ネットのサイトだとよく理解ができなかったので本を買いました。
以下の書籍がとてもわかりやすくていいです。おすすめです。やっぱり本は体系的にまとまってるので勉強がしやすいです。
この本の通りやっていけばとりあえずプログラムが動く感覚が得られます。
あとすごい賢そうなことをやってる感覚になるので頭がよくなったような気がしますよ(笑)
MySQLもこの本で勉強ができます。MySQLというのはデータベースで、そういうソフトです。
他にもOracleとかPostgreSQLとかあるらしいですが、
とりあえずMySQLでSQL文っていうのを勉強するとデータの検索だったり、データのアップデートだったりが数行でできたりするのですごい楽になります。
決して簡単ではないですけど、思ったより難しくはなかったっていう印象です。
自分は大抵その時理解できなくてもだいたい一晩寝てから、もう一度頭からやり直すと理解できました。
(3)Apache
ボクはさくらさんのレンタルサーバーを借りていて今回はあまりいじってないんですが例えば「.htaccess」という名前のファイルを作るとapacheの設定をいじることができます。
例えばアクセスされたくないファイルがあったらそういう指定を「.htaccess」というファイルに書いておけばアクセスされないようになります。
基本的にパソコンと同じように作ればいいです。ボクは以下の本を見て勉強しました。
「iPhone+Androidスマートフォンサイト制作入門(たにぐちまこと)」
正直ネットの情報でも十分だと思いますが一度体系的に勉強するのもいいと思います。
ガラケー向けのサイトの制作は特殊で一度頭真っ白の状態で勉強した方がいいです。それだけPCとスマホとは全然違います。
ネットにも情報はたくさんありますが、断片的なものなので以下の書籍で体系的に勉強してから補助的にネットで調べた方がいいです。
この本は実践アプリケーション集というだけあってそのまま使えるコードが収録されているのがとてもいいです。
正直PHPのプログラミング自体はそこまで難しいという印象はなかったんですが、この本に出会わなかったら多分ガラケー向けのサイトは作れなかったと思います。
もしガラケー向けのサイトが作りたいならこの本を買うのが近道だと思いますよ。
CakePHPとかSymfontとかいうのがあるらしいです。
このフレームワークを使うとあらかじめある程度のところまでできてるんで、ボクみたいに全部TeraPadで手書きしなくてもいいみたいです。。。
(2)javascript
PHPはサーバーで動作するプログラム言語ですがjavascriptはブラウザ上で動作するプログラム言語です。
非同期通信なんていうよくわかんないけど何かすごいこともできたりするらしいですよ。
●もし調べまくってもわからなかったら
もし一日中検索してもよくわからなかったらそういう時はネットの頭のいい人たちに質問しましょう。
ボクは以下のサイトで質問していました。
(1)ヤフー知恵袋
巷ではヤフー知恵遅れなんて言われてますが、コンピュータ系の質問に関してはしっかり教えてくれる人がほとんどです。
ポイントを100枚くらい使うとカテゴリマスターなんていう天才が回答してくれます。
(2)2ちゃんねる
どういうスレッドなのかよく読んで質問しないとボロクソに言われますが、2ちゃんねるなのに皆さんすごい優しく教えてくれます。
たまにケンカしてたりすることもありますがそのときはケンカが終わるまで待ちましょう。ケンカの流れで質問がスルーされたりします。
ヤフー知恵袋も2ちゃんねるもそうですけど、質問するときは自分の環境をしっかり書いて何がしたいのか、どんなエラーがでるのか明確に書きましょう。
回答する人もわからないですし、自分がほしい回答がまず来ないと思います。
あと当たり前ですが回答してくれたらお礼をしっかりいいましょうね。
●こうして出来上がったウェブサービス
こうやって今回できあがったのが6人まで登録ができる招待制のレンタル掲示板です。
「ひそり-秘密共有ネットワーク」(http://hisori.com/)です。
なんだ掲示板かよー!!とか言わないでください(笑)これでもけっこうがんばったんで。。。
そういえばサイトを作ろうと思った経緯を書いてなかったんでちょろっと書いておきます。
ボクはミクシィとツイッターをやってるんですが、一瞬その時だけ仲のよかった人の更新とか見たくなかったりするんですよね。
でもマイミクを外したりフォローを外したり小心者のボクにはできなかったりするわけです。
そもそもあーいうソーシャルって自分のキャラに一貫性をもたせないといけないから窮屈なんですよね。
例えば、会社の同僚には真面目を絵を書いたようなキャラだけど学生時代の友達には下ネタ好きのどうしようもないキャラだったりすると
マイミクやフォロワーにその会社の同僚がいたら、下ネタなんか書きたくても書けないという窮屈さがソーシャルにはあるわけです。
だったらあらかじめ人数制限しておいて、例えば同じ学生時代の人しか見ることができないサイトがあれば
下ネタだって気にしないで何でも書けるよねっていう考えに至ったわけです。
今回6人までという人数制限と招待制っていう形にしているのはそういう理由と本当に仲のいい何でも話せるグループに使ってもらいたかったからです。
んで、ネットにそういうのがなさそうだったので勉強がてら自分で作っちゃえ!ってことで今回作りました。
ちなみに何で秘密共有ネットワークなのかというと「招待制無料レンタル掲示板」だとどんなサイトかイメージがつかないと思ったからです。
じゃあ何て名前にしようかと考えた結果、秘密でも何を書いても大丈夫ですという意味を込めて「秘密共有ネットワーク」って名前にしました。
とまあ、そういうことで初心者でボクみたいな完全文系の人でもこれくらいのサイトなら作れるんで
もしプログラムとか難しそうとかそういう理由でウェブサービスの制作を躊躇してる人はぜひチャレンジしてみてださい!!
※もしサイトが変な挙動がしてるとかあったら更新報告用にツイッターのアカウントを作ったんでよかったら教えてください。
http://twitter.com/#!/hisori_com/
ではでは。。。
ただ、HTMLの解析やJavaScriptの仕様(JScriptという独自言語を使ってたり・・・)がめちゃくちゃ。
クロスブラウザの敵であって最強の反逆者
個人的には、使う価値なし。
昔はこれが1番と言われていたが、最近はChromeに負けている。
拡張性はあるが、起動が重く、低スペックにはしんどいことがある。
Googleが作ったことだけあって起動もブラウジングもJavaScript実行も全てが早い。
最強。
ただし、ユーザーの声が開発者に届きにくすぎる(これはIEでも言えるが)
といった感じ。
一般人は手を出さなくてもいい
C
をこの順番で覚えた。
変り種は2006年に勉強を始めたC++で、軽量言語花盛りのその時期に、CGIを書きたいがためにC++を学んだ。
C++は習得が難しい言語と言われているが、必要性を感じなかったので参考書の類は買わなかった。
他の言語もそうだ。
参考書は必要なかった。
これ自体は悪い本ではない。
でも結局、最初のWEBアプリ(サービス)はPHPではなくC++で作った。
この読書は、購入前に漠然と感じていたPHPへの不快感を再認識させただけだった。
そして学んだ。
歴史は繰り返す。
今まさに「明解Java 入門編」を購入しようか思案中なのだ。
今までJavaを避けてきたのは「ジェームズ・ゴスリンが嫌い」あるいは「金の匂いがする」からだ。
PHPの経験から言って、Javaも実用できないかもしれない。
Javaを覚えれば幅が広がるのは分かるんだけど…
なぜだろう、ワクワクしない。
補足求められたので少しだけ書く。
https://market.android.com/details?id=com.disk.defrag.rubiks&hl=ja
私は起動してません。
あちらこちらで見られるスクリーンショットと、逆コンパイラ結果からの推測です
ちょっと調べればわかりますが、あえて書きません。
個人的に、クラックの入り口になる知識を非アプリ開発者に広める必要性を感じていないので
わかる人に検証してもらってください。
私が検証したのはバージョン1.0です(難読化はされていませんでした)
以下のurlにアクセスしてデフラグしているふりをし、Javascriptを介してアプリ側のダイアログを出す
http://rubiks.adzoone.com/defrag/index.php
魚拓(貼り方あってる?)
http://megalodon.jp/2011-0921-1203-48/rubiks.adzoone.com/defrag/index.php
これを見て、親の異常性を検証してみてくれませんか?
http://sky.geocities.jp/oooquree/fax.html
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1071335035 魚拓http://megalodon.jp/2011-0916-0253-28/detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1071335035(javascript止めると見られます。お手数ですが)
この人(私の親)は、正常だと思いますか?
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1171366716 魚拓 http://megalodon.jp/2011-0918-1309-31/detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1171366716>
この親をどこかの病院で診て貰うわけには行かないのでしょうか?また、私はどうすれば良いのでしょうか?
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1271354767 魚拓 http://megalodon.jp/2011-0918-1324-05/detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1271354767
みんなで検証してみて下さいませんか?この親は正常なのでしょうか(親を責める気はありません)
.
FAXの内容の異常性
1ページ目「あなたには優しいおばあさん」の部分。故人についての苦言を可愛がられていた人に対し言っている。苦言も事実かどうか不明。
はなさんの部分。
「私は○○の3人目の妻」自分の子に子の父の2回の離婚歴を業者経由のFAXで知らせるって、普通の神経なんでしょうか?
■http://anond.hatelabo.jp/20110904165823
今朝書いたもの
http://anond.hatelabo.jp/20110918085134
回答があったと思ったら、>毅然とした態度(反抗期にバットで殴りつけるような)がないからだと思います。私は、記憶がなくなるまで酒を飲んで、無免許飲酒運転をし、泥酔して暴言を吐き、暴れる父に小学生の頃からケリを入れていましたので、あなたの感覚は理解できません。
と書かれました。
理解できないはずですよ。
>自分をキチガイだと思っています。現に、統合失調症で通院してますし。
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1471473574
質問の答えになってません。質問はこれでした。↓
里親に問題ある人格の人が居る、という事は実は実親にも同じ事が言える場合もあり、里親制度に問題があるなら実親制度にも問題がある・・・・のではないか?と大衆を啓蒙するのは難しいと思われますでしょうか?実親制度と言うのは、比喩的に使っただけです。制度ではありません。
この質問サイトが真底怖くなってきました。はてな質問ではありません。
前から知恵遅れと言われてたところです。無料だし情報の精度に期待してはいけないのはわかりますが、とうとうここまで来たかと思いました。リンク先にはもっと過激な事も書いてあります。
以下を全てGoogle Reader上で行いたい。
タイトルをクリックしたら自動的に全文を取得して表示して欲しい。以下の設定を行うと出来る。
ブコメが表示されないので、これを直したい。
id:northappleさんが「googleリーダー内ではてなブックマークのコメントを参照したいで.. - 人力検索はてな」という質問の回答及びコメント欄でこれを直す方法を教えてくれている。よって、その通りに変更すると直る。2ヶ所置換が必要。
以下、Google Reader plus Hatenaの変更点です。変更するには、Firefoxの右上にある猿(Greasemonkey)のアイコンの右にある下矢印をクリック→「ユーザスクリプトの管理」をクリック→「Google Reader plus Hatena」の「設定」をクリック→「このユーザスクリプトを編集します」をクリックするとエディタで「Google Reader plus Hatena」のスクリプトが表示されるのでそれを編集する。
62行目
mySpan.innerHTML = '<a href="http://b.hatena.ne.jp/entry/'+url+'" onClick="window.open(this.href,\'\',\'status=yes,scrollbars=yes,directories=yes,menubar=yes,resizable=yes,toolbar=yes\'); return false;" ><img src="'+ BookmarkImageURL +'" /></a>';
を、
mySpan.innerHTML = '<a href="http://b.hatena.ne.jp/my/add.confirm?url='+url+'"><img src="'+ BookmarkImageURL +'" /></a>';
に変更。これで「○○ users」をクリックすると、目的のウィンドウが開くようになる。
147行目
var t = bookmark.timestamp.split(" ")[0].split("/");
を、
var t = bookmark.timestamp;
に変更。
156行目、
html += "<li><span class=\"__hatena_bookmark_anywhere_timestamp\">"+escapeHTML(t[0])+"年"+escapeHTML(t[1])+"月"+escapeHTML(t[2])+"日</span><img src=\"http://www.hatena.ne.jp/users/"+escapeHTML(bookmark.user.substring(0,2))+"/"+bookmark.user+"/profile_s.gif\" width=\"16\" height=\"16\"><a href=\"http://b.hatena.ne.jp/"+escapeHTML(bookmark.user)+"/"+escapeHTML(t.join(""))+"\" class=\"hatena_bookmark_anywhere_user\">"+escapeHTML(bookmark.user)+"</a><span class=\"hatena_bookmark_anywhere_tags\">"+tags.join(", ")+"</span>"+escapeHTML(bookmark.comment)+"</li>";
を、
html += "<li><span class=\"__hatena_bookmark_anywhere_timestamp\">"+escapeHTML(t.slice(2,-3))+"</span><img src=\"http://www.hatena.ne.jp/users/"+escapeHTML(bookmark.user.substring(0,2))+"/"+bookmark.user+"/profile_s.gif\" width=\"16\" height=\"16\"><a href=\"http://b.hatena.ne.jp/"+escapeHTML(bookmark.user)+"/"+escapeHTML(t.split(" ")[0].split("/").join(""))+"#bookmark-"+escapeHTML(json.eid)+"\" class=\"hatena_bookmark_anywhere_user\">"+escapeHTML(bookmark.user)+"</a><span class=\"hatena_bookmark_anywhere_tags\">"+tags.join(", ")+"</span>"+escapeHTML(bookmark.comment)+"</li>";
に変更。
# ブコメのはてなスターを取得しやすいように、ブコメのリンクもブコメのパーマリンクへ変更してあります。
を、
var evt = document.createEvent( "MouseEvents" ); evt.initEvent( "click", false, true ); createSpan.dispatchEvent( evt );
に変更。(「 JavaScriptの動かないコード (中級編) clickイベントを強制的に発生させたい (fireEvent/createEventの使い方) - 主に言語とシステム開発に関して」を参考にさせて頂きました。)
出来た。けど、めちゃくちゃソースが汚いので、差分として公開するのが難しい。ごめんなさい。
とりあえずテンプレ化しといたよ
ウェブに携わる人間には常識だけど、HTML5は何でも出来るスーパーヒーローではない。
どちらかというと、○○の○○とか、○○の○○とか、○○の○○とかの方が近い。知らないやつはググれgoogle:○○○○
HTML5の真骨頂は、昨今のリッチなインターネットコンテンツを、非常に簡潔にスマートに記述できるところにある。複雑な事をすれば凝った事もある程度できるけど、得意分野じゃない(標準APIが機能不足だし、JavaScriptの言語仕様が複雑な処理に向いていない)。
ブラウザだけでここまで出来る、とか、
Flashはもういらない、とか、
ってのは、○○だって○○○○れば○○○○○○ようになるし○○はもういらない、って言ってるようなもん。○○に○○○○のなら筋違いだ。生い立ちも素質も違うのに、どうして代替となりうるのか(プログラムと人間を一緒にするのが暴論なのは百も承知)。
HTML5とFlashにはそれぞれ得意分野があるし、淘汰される形で対立しうるものではない。にもかかわらず、ブコメ見てて、いまだにFlash氏ねHTML5マンセーな意見が支配的なのが痛すぎる。
Jリーガー(現役)版
ウェブに携わる人間には常識だけど、HTML5は何でも出来るスーパーヒーローではない。
どちらかというと、柏の明神とか、ガンバの橋本とか、甲府の伊東輝とかの方が近い。知らないやつはググれgoogle:いぶし銀。
HTML5の真骨頂は、昨今のリッチなインターネットコンテンツを、非常に簡潔にスマートに記述できるところにある。複雑な事をすれば凝った事もある程度できるけど、得意分野じゃない(標準APIが機能不足だし、JavaScriptの言語仕様が複雑な処理に向いていない)。
ブラウザだけでここまで出来る、とか、
Flashはもういらない、とか、
ってのは、伊東輝だってシュート力つければゴール決められるようになるしハーフナーはもういらない、って言ってるようなもん。橋本に年間10ゴール以上を求めるのなら筋違いだ。生い立ちも素質も違うのに、どうして代替となりうるのか(プログラムと人間を一緒にするのが暴論なのは百も承知)。
HTML5とFlashにはそれぞれ得意分野があるし、淘汰される形で対立しうるものではない。にもかかわらず、ブコメ見てて、いまだにFlash氏ねHTML5マンセーな意見が支配的なのが痛すぎる。
なぜ両方使うという選択肢がない。真の技術者はウェブ標準だろうがFlashだろうがネイティブだろうが、その場その場でユーザーの体験を最善にし、クライアントの要求を最高に満たすベストの技術を使う。JavaScriptかFlashかなんて動きさえすればユーザーには関係ないんだから。実際、HTML5スゲEEEEE!!!ってページにFlashタグのブクマが間違ってつけられたりしてるよ?(笑) ウェブ標準の崇高さなんてパンピーにはわからんのです。
そもそも分からないんだけど、HTML5が「投資」するほどたいしたもの? 誰もが基礎教養として身につけているはずの、これまでのHTML+CSS+JavaScriptの延長線上の技術でしょ。今まで普通にやってきたウェブ開発者ならすぐにキャッチアップできるはずだよ。
どうせHTML5の実装の普及には当分かかるし、その時点のブラウザ環境で使用可能なものをゆっくりまったりと導入していけばいいだけ。その意味ではいわゆる遅延評価学習で十分。あわてることはないです。どうせ皆使うことになるんだから。
一応言っておくと、いいものだと思いますよ、HTML5は。現段階で頑張って凝ったものを動かしておられるイノベーターの方々もたいしたものだと思います。敬意を。マリオやらグラディウスやらは著作権的にどーなのかと突っ込みたいが。
それはシナリオのひとつですよね。Googleの甲斐性次第では十分にあり得る。それと、ジョブズが翻意するというシナリオもありますよ。今までに散々あったことですが。どこかでそれをネタにしている記事があったと思いますが。
もしEdgeを見てそう思ったのなら、Flash CSを使って制作したことがありますか? Edgeを実際に使ってみましたか? と問いたい。
他にも、最低でも、
これらにきちんと答えられない人間にHTML5 vs Flashなど語る資格はないです。そもそも対立させる時点でわかってないなー ┐(´д`)┌ って感じなのだけど。
あとFlashへの投資が無駄になると思ってるようですが、俺はFlashは投資判断「Buy」継続だと見てますよ。たとえこのままiOSで動かずともね。AIRもあるし、ブラウザのプラグインとしてのFlashだけ見ていると考えを誤るよ。ブラウザのほうにしても、GPUアクセラレーションつきの3Dが真っ先に使用可能になるのはFlash。プレイヤーの普及が速いから、WebGLと異なり、今後1~2年内に実案件で使用可能になるでしょう。そういった面ではなおカッティングエッジな技術だよ。
まあ、プラットフォームや言語の選択は投機だから、どの銘柄が買いか売りかで紛糾するのはわかる。ただ、それなら分散投資だとか、インデックス投資という考え方もあるのでね。HTML5に惚れ込んで一点買いなんて若いエンジニアがいたら、それはもう相当危なっかしいなと、視野も相当狭くなるだろうなと危惧するよ。
というか、JavaだろうがC++だろうがObjective-CだろうがLLだろうがアセンブリ言語だろうが関数型言語だろうが、一度全部触ってみなよ。いいから。HTML5で手一杯なんてのでは話にならんですよ。
(ここで言うHTML5はcss3とJavascriptも含めた技術全体の事、逆にFlashはAir等の派生技術は含めないブラウザ上のFlashPlayerの技術のみを指します。)
ウェブに携わる人間には常識だけど、HTML5は何でも出来るスーパーヒーローではない。
どちらかというと、中日の高木とか、ヤクルトの宮本とか、巨人の川相とかの方が近い。知らないやつはググれgoogle:いぶし銀。
HTML5の真骨頂は、昨今のリッチなインターネットコンテンツを、非常に簡潔にスマートに記述できるところにある。複雑な事をすれば凝った事もある程度できるけど、得意分野じゃない(標準APIが機能不足だし、JavaScriptの言語仕様が複雑な処理に向いていない)。
ブラウザだけでここまで出来る、とか、
Flashはもういらない、とか、
ってのは、川相だって筋肉付ければホームラン打てるようになるし清原はもういらない、って言ってるようなもん。宮本にパワーヒッターを求めるのなら筋違いだ。生い立ちも素質も違うのに、どうして代替となりうるのか(プログラムと人間を一緒にするのが暴論なのは百も承知)。
HTML5とFlashにはそれぞれ得意分野があるし、淘汰される形で対立しうるものではない。にもかかわらず、ブコメ見てて、いまだにFlash氏ねHTML5マンセーな意見が支配的なのが痛すぎる。
「ブラウザだけで」というと聞こえはいいけど、何のことは無い。5年くらい前のFlash相当のプログラムが、ようやくブラウザに搭載され始めただけのことだ。Flash は重いとよく言われるが、同じことをすれば(今のところ)HTML5 のほうが重いことが多い。
あと、記事を読むと大概「(どれかの)ブラウザだけで(なら)ここまで出来る(けど他のブラウザじゃ動かない)」って言葉が隠されている。HTML5 の仕様が固まれば全コンテンツが全ブラウザで同じように動くようになるよ!なんて本気で信じてるならあなたはネット向きじゃない。
Flashは互換性の点で優位にある。一社提供で基本的に同じコードを同じ開発者が作っているってのもあるけど、そもそも「どのブラウザでも同じように動く」が、セールスポイント=利益に直結するというモチベーションになるのが極めて大きい。
HTML5 と対立するは Flash ではない、HTML4 だ。HTML4の悪い所を直してHTML5にしようとしてるんだから当たり前。
video対応やベクター描画といった Flash が寡占してる技術の一部を HTML5 が食ってるのは事実だけど、Flash と HTML5 の機能は相補的である。HTMLは文章構造を効率的に記述する目的で生まれたものだし、Flashはタイムラインベースのベクターアニメーションを表示するために生まれた。両方ともブラウザ上でリッチなユーザー体験を提供するという目的に向かって進化してるので、お互いの領土を食い合う形にはなってるけど、生い立ちが違うので得意分野も当然違う。
テキスト表示とレイアウトはHTML5のほうが断然得意だし、2D描画はFlashの方が一日の長がある(私見だけど、HTML5はFlashの描画能力の半分にも至っていないし、Flashのテキスト表示機能はie6のそれにすら劣る、と感じる)。
Flash vs HTML5 という構図は、スティーブ・ジョブスのプロパガンダにすぎない。
ジョブスは訴求力を上げるため、しばしば、対抗技術=「悪」とした勧善懲悪ストーリーを作り上げる。簡潔で力強い言葉にのせて、対抗技術の欠点と自社技術の利点を(時には脚色しつつ)徹底的に挙げていく。対抗技術の利点など無きものとしてしまう。そこには自社技術の欠点など存在しない。
HTML5推しの本来の意図は、ジョブスの声明から推察するかぎり、HTML5であればAppleが開発してるブラウザエンジンwebkitを通じて自らの手でインターネット体験を提供出来るが、FlashはAdobeが開発している技術なので手を出せない(厳密にはFlashはオープンな技術なので自社開発する事は不可能ではないが)という点にある(もちろん、実際は様々な複合要因だと思うけど)。自社製品におけるインターネット体験、という肝心なところを他社に依存してしまうのは許せない、というのは至極真っ当なコダワリだ。Android にユーザーが流れてしまうという大きなデメリットを背負ってまで、iPhone が Flash を載せないことについては、評価すべきとすら思っている。もともと Mac版 Flash プレイヤーのデキの悪さという恨み節もあり、歴史的な経緯による「Flash は重い」という先入感も利用し、衝撃の声明は完遂された。
かくして、勧善懲悪のスーパーヒーロー HTML5 が誕生した。
Flash と HTML5 両方のコーディング経験者であれば判るけど、HTML5はこれまでに比べて簡潔に記述できる事が最大のメリットであって、複雑で凝った事は得意分野じゃない。にもかかわらず、無理矢理 HTML5 で書かれた凄いアプリが「ブラウザだけで!」とか「Flashいらない!」とかセンセーショナルな煽り文句とともに紹介され、もはや冷笑の対象となっている。
もちろん、凄い HTML5 アプリの作者は何も悪くない。未来の技術をいち早く実験/公開して、われわれにその可能性を提示してくれているのだ。そんな彼らを冷笑の対象にしてしまって良いわけがない。
ここまで読んでくれた人ならわかるだろうが、自分は、川相のゴロ捕球からの洗練された送球フォームが大好きだ。いや、HTML5の洗練された仕様と最新鋭の技術が大好きだ。
だからこそ現状を見ていられない。
現実として、Flashは互換性を気にしないで良いがiPhoneで見れない。HTML5はiPhoneで見れるがブラウザ間の互換性が問題となる見通し。
何が幸せなインターネットの未来なのかわからないけど、今の HTML5 vs Flash という構図は、不幸な方向に向かってるように見えてしょうがない。
今回触れてない話の1つにセキュリティ/バグ関連があります。議論の余地のある話ですが、個人的にはどっちもどっちだと思ってます。
あと、巨人末期の清原は本当にもういらなかったかという話があります。議論の余地のある話ですが、個人的にはどっちもどっちだと思ってます。
数人入ってきた新人のうち、約一名がどうしようもない。
研修でマークアップの基礎はそれなりに教え込まれてる筈なのに、
「じゃあOJTでJQuery使ってアプリの開発お願いしたいんだけど。JQueryはこういうので、サンプルソースと資料はこれね」
と作業を振ると
「JQueryがわかりません。というかJavaScriptで書けば良いのにJQueryみたいなFW使う意味が分かりません、使いたくないです」
とのたまう。で、実装も進めず、ネット見てる。
…そりゃ資料は不十分かもしれないけど、ほかの新人は用意した資料と独学で各自実装進めてるよ?
っていうか君JavaScriptの基礎とかもちゃんと理解してないよね?コピペより先のレベルでものごと理解できてないよね。
で、判らないなら判らないなりに聞きに来ればいいのに聞きに来ない。
頑張ってヒアリングすると「何が分からないのかよく判らないです」ときた。
「じゃあ頑張って判らないところを言葉にしてみない?」と振ると不貞腐れて、明らかに機嫌悪くなる。
ゴキブリホイホイを置いた効果を確認するような感じで、一度だけ覗いてみたい。
これは違う。
はてなブックマークのヘルプにあるブックマークレットを使用すると、画像は任意に変更できる。
javascript:(function(){var%20d=(new%20Date);var%20s=document.createElement('script');s.charset='UTF-8';s.src='http://b.hatena.ne.jp/js/Hatena/Bookmark/let.js?'+d.getFullYear()+d.getMonth()+d.getDate();(document.getElementsByTagName('head')[0]||document.body).appendChild(s);})();
これを使用すると、表示されるページ右上に、
新規だと「NO IMAGE」、画像が引用されているページだとその画像が表示される。
そこをクリックすると変更できる。
あれば一度使ってみたい機能。
元増田と同じように無駄かとは思うけど、細々と目に入ったスパムは報告してる。
はてなブックマークの価値が確実に薄くなる、スパム行為には厳正に対処してもらいたいところ。
http://b.hatena.ne.jp/entry/~ のページのコメント欄真下に
「利用規約違反を通知する」リンクがあるので、気付いた人は報告してやってください。
だよねー・・・。
| 日記途中だけど緊急事態><、一番下まで呼んで誰か助けてください>< | |
|---|---|
今日から夏休みが始まったのでプログラミングを勉強しようと思う。
3日坊主にならないようにがんばる。
去年の二の舞にならないようにモチベを維持するために日記を書く。
プログラミングができたらかっこいい!
サークルも友達もいなくさびしい夏休みを有意義にしようとするため
都内の大学に通う2年生。
前述のとおりサークルもやってない、友達もいない、典型的なインドアオタク。
でも顔はイケメン。
プログラミングは3年前にJavascriptとHTMLをネトゲでの戦いを整形するために覚えた程度。ほとんど忘れてる。
C言語を大学で習ったが「苦しんで覚えるC言語」というサイトにのっている範囲しかやってない。
一応プログラミングの知識は少しはある。
やっぱり、目標はあったほうがいい。
うーん、やっぱり完全に一致みたいな情報網羅サイトを作ってみようと思う。
色々な技術が手に入りそうだし。
色々な言語も学べそう
| どんなサイトにするか? | 大規模情報サイト |
|---|---|
| 学ぶ言語 | HTML,PHP,Ruby,Javascript,CSS |
とりあえずプログラミングにはエディタとアップロードするやつが必要なので色々いれてみた。
| エディタ | |
|---|---|
| Netbeans | 重い、すごく重い |
| phpエディタ | phpしか編集できない |
| terapad | 色分けが出来ない |
| K2Editor | これが一番最強。でもphpに対応してない |
| HIDEMARU4000YEN | win7じゃ使えなかった。 |
| アップするやつ | |
| FileZilla | 使いづらい、糞 |
| ALFTP | これが一番しっくりきた |
というわけで色々悩んだ結果、基本K2Editor、php編集はNetbeans,アップロードはALFTPにした。
phpとhtmlとrubyやjavascript対応してて色分けも出来るwin7で動くエディタないのが残念
実は1ヶ月前にプログラミングを勉強しようと思ってサーバーは借りてた。
ググったり、2chに質問したりして悩んで悩んでロリポップのチカッパプランを借りる事にした。
http://lolipop.jp/service/plan-chicappa/
| 初期費用 | ¥1,575 |
| 料金(6ヶ月) | ¥3,150 |
| (1ヶ月あたり) | ¥525 |
| 合計金額 | ¥4,725 |
しかしながら無料のレンタルさばより色々といじれて、なにより「お金はもう払った、使わないともったいない」という意識を持つ事でだらけないで出来ると思う。
まず師匠の日記をみてみる。HTMLとCSSからはじめたと書いてあるが、多分これからはじめると飽きる。
なのでWebの情報を自動で集めてくれる(これをスクレイピングという)BOTを作ろうと思う。
日記を読むとMechaniseというのを使ってるらしい。
そうするとRuby jamというもので動いているものらしく、Ruby jamはRubyで動いている。
Rubyは鯖にはいっているがどうやらjamのほうははいっていないらしくMechaniseもはいっていない。ということで
ロリポップの解説ページをみてPuTTyていうのをいれてSSH操作ってやつをしてた。
http://d.hatna.ne.jp/taramonera/20100601/1275388515
このページをみながらやってたら
% vi ~/.cshrc
これを実行して
setenv RUBYLIB /home/アカウント名/lib
setenv GEM_HOME /home/アカウント名/lib/rubygems
:wqで保存終了らしいんだけど、入力したところで終われない><
教えて得ろい人><
クレジット決済には外部の決済サービス使ってたんでしょ?それでもクレカ情報全部pixivが保持してたとか、さすがにちょっといくらなんでもないと思う。
へ?管理画面とやらで何ができるかもわからないのに、それ言い切っちゃうの?
いや、絶対できないとは言わないよ。管理画面でJavaScript設置とかないとは言い切れないし。
ログが残ってりゃ可能だろうね。
このようなジョークを仕込めるほどの人
apacheのデフォルトindex.htmlを書き換えるだけの簡単なお仕事です。どれほどヘボな管理者でもやるつもりなら簡単にできます。
ちょっと気の利いた管理者なら、apacheのデフォルトindex.htmlを見せないようにするでしょうけど、そこまでではなかっただけかもしれませんね。
http://mixi.jp/run_appli.pl?id=5638
http://mixi.jp/view_bbs.pl?id=46278682&comm_id=4544309
知らぬ間に去っていったマイミクを調べることができるmixiアプリだが、8月1日で提供終了になるらしい。
現時点で、全体のアプリ週間利用者数ランキング20位、利用者数179万人のアプリである。
これまで「そしあな」をご愛顧頂き、誠にありがとうございました。
なお、mixiアプリ版は終了となりますがiPhoneアプリ「そうしてあなたはさってゆくのね」の提供を開始しております。
このiPhoneアプリはtwitterフォロワー用の「そしあな」となります。
AppStoreで「そしあな」と検索してみてください。もちろん無料です。
twitterフォロワー用は継続して提供されるようだが、いなくなったマイミクを知る手段はなくなってしまうようだ。
そこで8/1以降も、このアプリを使用できる方法を用意した。(FirefoxとChromeで確認済み)
↓↓↓以下説明↓↓↓
https://sap.mixi.jp/home.pl を開いて、何回かパスワードを入力すると、管理アプリ一覧の画面になる。
(Developer登録をする画面になった場合は登録を済ませてほしい)
管理アプリ一覧を開いた状態で、下記の文字列をアドレスバーに貼り付けてエンターを押すと、アプリ作成の画面になるので、内容を確認して問題なければ「作成する」ボタンをクリック。
javascript:(function(){p=location.href.match(/postkey=(.*)/);location.href="https://sap.mixi.jp/add_appli.pl?submit=main&name=%E3%81%9D%E3%81%86%E3%81%97%E3%81%A6%E3%81%82%E3%81%AA%E3%81%9F%E3%81%AF%E5%8E%BB%E3%81%A3%E3%81%A6%E3%82%86%E3%81%8F%E3%81%AE%E3%81%AD&url=http%3A%2F%2Fdl.dropbox.com%2Fu%2F36813827%2Fgadget.xml&description=%E3%81%9D%E3%81%86%E3%81%97%E3%81%A6%E3%81%82%E3%81%AA%E3%81%9F%E3%81%AF%E5%8E%BB%E3%81%A3%E3%81%A6%E3%82%86%E3%81%8F%E3%81%AE%E3%81%AD&d1_enable=1&details=%E3%81%93%E3%81%AE%E3%82%A2%E3%83%97%E3%83%AA%E3%81%AF%E3%80%81%E7%9F%A5%E3%82%89%E3%81%AC%E9%96%93%E3%81%AB%E5%8E%BB%E3%81%A3%E3%81%A6%E3%81%84%E3%81%A3%E3%81%9F%E3%83%9E%E3%82%A4%E3%83%9F%E3%82%AF%E3%82%92%E9%80%83%E3%81%95%E3%81%9A%E3%83%81%E3%82%A7%E3%83%83%E3%82%AF%E3%81%A7%E3%81%8D%E3%82%8B%E3%82%A2%E3%83%97%E3%83%AA%E3%81%A7%E3%81%99%E3%80%82%E8%AA%B0%E3%81%8C%E3%83%9E%E3%82%A4%E3%83%9F%E3%82%AF%E3%81%8B%E3%82%89%E5%A4%96%E3%82%8C%E3%81%9F%E3%81%AE%E3%81%8B%E3%81%BE%E3%81%A7%E7%9F%A5%E3%82%8B%E3%81%93%E3%81%A8%E3%81%8C%E3%81%A7%E3%81%8D%E3%81%BE%E3%81%99%E3%80%82&agreement=agree&postkey="+p[1];})();
こうしてあなた専用の「そうしてあなたは去ってゆくのね」が作成された。
何らかの理由で、この手順がおこなえない場合は、マイミクの誰かに代理で作成してもらい、そのアプリを自分のアカウントに追加するのでもよい。