「DOM」を含む日記 RSS

はてなキーワード: DOMとは

2016-05-25

http://anond.hatelabo.jp/20160521163144

ReactはJavaScript界隈の関数型プログラミング化の潮流で登場。

最近炎上している別の方面で、特にFRPと組み合わせると圧倒的なパワーを発揮すると一部では実例とともに指摘されている。

http://kenokabe-techwriting.blogspot.jp/2016/05/frptimeenginereactjsocaml.html

Reactは、関数型あるいは宣言型に書けるように用意されている。DOMは、「仮想DOM」として、JSJSX)上の「値」として統合されていて、それは自由に変形し、組み合わされ、リアクティブJSX上の仮想DOMからDOMリアルタイムマッピングされ描写される。

JQueryも、実DOM関数型で操作できるような拡張ではあるが、Reactのように宣言的に書くことは不可能

coffee scriptは、ES6登場までの過渡期の橋渡しみたいなもので、登場したのも消えたのも合理性がある。

React.jsは、関数型の潮流で登場したものでこれも合理性があり、この延長線上でさらに洗練された代替物が登場する可能性はあれど、このパラダイムが消えることはない。

2016-05-24

http://anond.hatelabo.jp/20160524145224

よーわからんw 岡部氏は、自作ライブラリHPで、

FRP純粋理想とする関数型+時間で変化するストリームを値にマップして扱うリアクティブプログラミングの組み合わせ

まり関数型の拡張っていうなら誰も反対無いと思うんだけど。

FRPライブラリサブタイトルに、 library that provides first class reactive value 'over time' と書かれている、これ拡張じゃないのか?

https://www.npmjs.com/package/timeengine

HaskellのIOモナドみたいな別の抽象化DISりつつ、FRPこそ正しい関数型みたいに言うから荒れるんじゃないの?

IOモナドDisってるのかどうかまでは知らない。しかし、すでに出たサンプルからFRPの効力がまざまざと見せつけられている。

荒れるのは自由だけど、両方正しいとかそういうのじゃなくて、間違っている電波だみたいな叩きしかなくて、要するに感情論で反対派は反発しているだけでOK?

あるよ。

関数がどのパラメータ依存して、何を結果として返すのか明確になる。

グローバルな値を参照したり書き換えたりしてたら、関数の中身読まないとわからなくなる。

短いプログラムならそれでもいいけどね。

別の誰かが書いてたように、上位スコープ内に定義されてるDOMでも、数学ライブラリでもなんでも、引数関数に渡すのか?

グローバルな値を参照したり書き換えたりして

いやだから、定数なんだから書き換わらないんだよ、FRPストリームconst 定数なんだから

関数型のわかりやす説明であって、住井派に反対してるとか、岡部路線とかじゃないよね、と。

オブジェクト指向と対比して考え方をまず学ぶって岡部路線、住井グループはそれを目の敵にしていて集団的攻撃している様をみたプログラミングコミュニティは逃げ、その後、不毛な大地のみが残った。

http://anond.hatelabo.jp/20160524143022

そうなんだよね・・そもそもconstの定数をわざわざ、関数引数にすべき必要があるのか??という根本的な問題がある。

たとえばGlobalにアクセスできて当然のDOM要素とか、Piとか、スコープ可視の定数は引数にしないよね?

2016-05-22

http://anond.hatelabo.jp/20160522140810

JS機械語だよ。

いくら仕様アップデートされたって、生JSDOM弄るのjQueryで弄るより辛いでしょ?

機械語人間にわかやす書くためにアセンブラがあるのと、生JSDOM弄るの"人間にわかやすくするためにjQueryがあるのって、似てない?

操作対象を直で弄るって言う根本は変えずに見た目を理解やすくするって意味結構似てると思うんだけどなぁ

「Reactは大規模SPA用途以外はコスパ悪い」っていう先入観意味不明

しろweb制作入門用に最適だと思う。

個人的な考えは以下の通り。


UI構造がおおよそのコード構造と一致する

そもそもコンポーネント指向ライブラリからチュートリアルからして構造化を基本において書かれてるのが入門用にこそ適していると思う。

だって初心者の頃jQueryで場当たり的にコード追加していって九龍城みたいになったこと、あるでしょ?

もちろん自分で間違いを犯してその痛みを知るってのも方法論としてはありかもしれんけど、

DOM操作抽象化したライブラリから入って、徐々に具体的なところに落とし込んでいくのが効率的じゃない?


しろ小規模案件にこそ導入して「構造化とコード再利用」を意識づける

ライブラリ自体構造化を念頭に置いてるから自然とパーツごとに作るようになって、

その次の段階として自分の作ったパーツの再利用を考えられると思う。

jQueryで場当たり的に(以下略


抽象化の高いレイヤーから入って抽象化の低いレイヤー学習範囲を伸ばすべき

jQueryってホントに何でも出来るからキチンと扱える技術を既に持ってる人には良いだろうけど

やっぱ初心者には逆に指針がぶれやすいと思うんだよね。

チュートリアル書く人にもそれぞれ別の方法論があって、

しかもその振れ幅が広くて、どの方法論もそれなりに意味がある場合が多い。

正解が沢山ある問題をいきなり解かせるんじゃなくて、

まずは答えがある程度決まってる問題から入って、徐々に馴らしていくべき。


jQueryWebフロントエンド界隈のアセンブラだと思う

最初に手を出すには抽象化の度合いが低すぎるというか、

ある程度経験を積んだプログラマーこそが手を出すべきと言うか。

だってアセンブラ機械語がなくなってないのと同じように

webからDOMの直接操作不要になることもないと思う。

どんなに抽象化が高度になっても、裏でやってるのはDOMの直接操作なんだから

でも、大事な基礎技術からといって、それだけで済ませて技術革新放棄するべきではないでしょ

しろ抽象化の高いところから入門して、基礎技術に触れる必要が出来てから触った方が理解が早いと思う。


から初心者や小規模案件にこそReactを!

と、私は考えます

http://anond.hatelabo.jp/20160522003506

http://anond.hatelabo.jp/20160522003506

ども。

この辺りの一連の発言特に後二者)を見るに、多分React以前の前提がいろいろ違っています。単にJSやNodeやNPMやSPAWeb APIといったフロントエンド世界観に対して、興味がないどころか漠然とした不信があり、サーバ側でヘビーにHTMLを作って吐くスタイルを守り続けたい人なのだ、という印象を受けます

ユーザの各操作毎にサーバ側で外見のHTMLを組み立て直して配信するという旧来のWebの方が特殊世界です。それこそAndroid/iOS開発やデスクトップアプリで、そんなやり方はしません。UI関連のことはクライアントで完結し、メニュー遷移程度で通信したりしない。サーバは静的データ配信DB操作に専念する。SPAとは、やっとブラウザがそういうネイティブアプリレベルに追いつき、同じやり方ができるようになった、というだけの話です。

とりあえずReactは、まずその前提を受け入れてから使うものです。その前提なしに使えないこともないですが、メリットは活きないでしょう。その時点で既に「よくわかんないんですけどSQLiが…」と漠然とした不安を表出されるようだと、道のりが遠いな…と。もちろん「私の周囲にそういう案件はない」ということなら、それで構いません。

具体例を出せとのことだったので。私の場合は変幻する数百のテキストフィールドリアルタイム集計が登場する勤務予定表的なものを、1人でjQuerySPAで作った際、数百行のHTMLと数千行のJSスパゲティ化し「こりゃいかん、メンテ不能になりそう」と思ったのが、具体的にReactを覚えるきっかけでした。実際非常にうまく行き、10年後の誰かにも「この時代ベスト」として自信を持って残せますJSX局所的な見た目の問題など、アプリ全体の構造の見通しやすさと比べたら些細な話です。Angularなら出来たかもしれませんが、サーバ側処理とページ遷移を多用して書くことに関しては検討すらしていません(私の知っているどんなフレームワークを使ってもユーザビリティと、見通しの良いコードを保つことは無理だったと思います)。ビデオ再生や大きな画像処理を伴うアプリでもReactを使っており、そちらではページ遷移などもってのほかです。

「変な独自拡張を入れてまでJSを使い続ける理由わからん」についても、まるでJS生来嫌われ者で、クライアント側でもPythonRubyを使いたい人が多くいるかのような書き方のように思えるのですが。実際そんなことはないですよね? たぶんES6は人々から積極的に愛されています。現状、クライアント側にPython進出するのではなく、逆にデスクトップモバイルサーバ側にどんどんJavaScript進出する流れが起きています

速度に関しては、Reactはやってる内容の割に十分速くて実用的だよね(mustache使うよりは速いよね)ということであり、賢い人が手間暇かけて最適化した生DOM操作より遅いのは言うまでもありません。また、JSXシンタックスハイライトが出来ないとかも、そうとう昔の話です。今は普通JS技術者普通に触れる程度の成熟はしています(枯れたとまでは言いませんが)。

http://anond.hatelabo.jp/20160521163144

coffeescriptは廃れたから使われなくなったんじゃなくて、言語仕様に吸収されて役目を終えたんじゃないの?

欲しい機能を先行実装して、それが仕様に吸収されて基本仕様需要が満たされた役目を終えるってむしろ素晴らしいことじゃん。


てか、jQueryを使って出た不満を解決するために出てきたのがReactであって、同じ不満を抱えてた人が多いから今の状況があるんでしょ。

jQueryだけでいい、Reactなど不用」ってのも「React最高!jQuery滅ぶべし」ってのも、どっちも共感できない。


一番わからないのは「Web界隈は流行り廃りが激しすぎて糞」とかい意味不明Dis

jQueryで得たDOM操作はReact触るときにも役に立つし、Web Componentsは仕様に組み込まれる方向で動いてるんだから

Reactが廃れるとしたら、それはcoffeescriptと同様にその役目を終えただけで、廃れたから使われなくなるわけじゃないと思うんだが。

全く別の技術が林立してるんならその批判もわかるけど、既存技術問題点解決する技術確立否定したら進歩なんか無くなっちまうよ。

利便性が上がって手間が減るスピードが速い事のどこが悪い事なの?マジで意味わかんねぇ。

学習コストこれ以上払うの嫌でござる」って素直に言えばいいのに、何でかっこつけようとするのかね。

http://anond.hatelabo.jp/20160521235357

元増田です。トラバありがとう

世の中の絶対数は知りませんが、自分脳内ではもう「ページ遷移しない方がずっと楽に開発できてユーザ体験も向上するのに、敢えてそうしない理由がない」という至極単純な話なので、そこは悩むところではないです。ページを複数作り、<input type="hidden">とかセッション変数とか駆使する面倒ごとは、書かないでいいなら二度と書きたくない。

ユーザー体験がどうかはまあ意見が別れるでしょうからおいておくとして、ずっと楽に開発というのがよくわからないです。普通になんでもいいですけど、ウェブ側のフレームワークでちゃんとしたものを使っていれば別になんでもないことだと思うんですが、具体的にどういう状況を考えられていますか?

プログラムユーザーサイドだけでは完結しなくて、入力チェックとかいいろは絶対にやらないといけないですよね。ということで同じロジック複数書く場面が出てくることが多いと思います。そういう手間も含めたうえで開発が楽になるというのはちょっとよくわからないです。

んー、要するに「別物であるDartCoffeeScriptは許すけど、ES6で書く以上はES6外の独自構文を混ぜるのは許さん」という主張だと解釈したのですが、そういうことですか?

ちょっとここ書き方分かりづらかったかもですが、「ES6で書く以上はES6を使えばいいじゃん」「変な独自拡張を入れてまでJSを使い続ける理由わからん」という2つの疑問を同時に書いたつもりです。

将来長持ちする気がしています

PHPJSP,ASPが通ってきた道に見えてなりません(まあASPはまだ現役ですか。)。

正直その他のアプリケーション(サーバーサイドや、例えばAndroid/iOS開発)でこのような書き方はまずしないので、なぜわざわざ同一ファイルに書きたがるのかがわかりません。(ロードコストを嫌がっているとかですかね?)

テンプレート仮想DOMでもなければJavaScriptでもないので、速度や機能の面でReactがやっていることに遠く及ばないと思います

ええと、テンプレートストリングではなくて、mustacheみたいに十分枯れているテンプレートエンジンでもいいですが、必要かどうかは別として確かに機能豊富さはどうかはちょっとわかりません。

速度に関しては、実際みんな早いと言っていますがこの手の速度神話JSにかぎらず昔からちゃんと前提と状況を考えなくてはいけなくて、(例えばJavaは重い!とか関数呼び出しはオーバーヘッド!とか仮想関数は使うな!とか)例えばさっとぐぐるとこんなものが出てきました。

http://www.stefankrause.net/wp/?p=283

まあよくわかりませんが、結局あんまいじらないのが一番良いという当たり障りない結論になってしまいませんか?(あと原理的に生のDOM操作するのよりも早くなりようがない気がするんですがどうなんですかね??)

保守性に関して言うと、Reactは典型的な「ひとつの事だけをとても上手くやる」系のライブラリです。考え方のコツさえ掴めば、記憶すべき要素はjQueryやAngularと比べても圧倒的に少なく、むしろそこらのテンプレートエンジンを覚える方が面倒なくらいです。10年後に見ても何をやっていたのか30分で思い出したいというのであれば、むしろAngularとかよりReactを採用すべきだと思います

ごめんなさい、Reactまわりのエコシステム全体も含めた時を意味たかったです。leftpad騒動とかもあったように、なんかまだちょっと不安がある感じがします。偏見でしょうかね。。

2016-05-21

http://anond.hatelabo.jp/20160521163144

React.js界隈の人に聞きたい

http://anond.hatelabo.jp/20160521163144

最近某所で、React使うとjQuery不要だ的なタイトル記事を書いちゃた気がするので一応反応しときます。長文ごめんね。

えーととりあえず、あのタイトルは実際のところ省略しすぎであり、もちろん本来は「場合によってはjQuery不要」「jQueryは要らないこともある」と長く書いた方が正確です(本文ではちゃんとReactが万能ではない説明をしてる)。でも多少釣りっぽいタイトルの方が読まれるようなので反省はしていない。

そもそも世の中にそんなにSPAがあるのか

世の中の絶対数は知りませんが、自分脳内ではもう「ページ遷移しない方がずっと楽に開発できてユーザ体験も向上するのに、敢えてそうしない理由がない」という至極単純な話なので、そこは悩むところではないです。ページを複数作り、<input type="hidden">とかセッション変数とか駆使する面倒ごとは、書かないでいいなら二度と書きたくない。

というか、ちゃんと書かれたSPAは使っていてSPAであることにそもそも気づかないので、「SPAから使いづらい」という主張はよく分かりません。GitHubTwitterサイトSPA的なことをしている故に使いづらいでしょうか。偶然タブを開いてたので調べたらそうだったから紹介しますが、例えばWebpackのドキュメントサイトは(Reactではないけど)SPAで、ブラウザMarkdownレンダリングしていますhttp://webpack.github.io/docs/ )。サーバサイドで動くスクリプトタスクゼロ個人的にはこういう使い方で十分嬉しいです。

何にせよReactのメリットが真に活きるのはある程度の規模以上だと思うので、小規模で導入してjQueryより短くならないことは普通にあります自分中の閾値としてはJSコードが数百行超えるならもうReact使う。

JSXを使うことに抵抗ないんですか?

んー、要するに「別物であるDartCoffeeScriptは許すけど、ES6で書く以上はES6外の独自構文を混ぜるのは許さん」という主張だと解釈したのですが、そういうことですか? 正直その主張を聞いたのは初めてです。歴史的JSXとES6は完全に独立して発明されました。最近になってBabelが両方同時に扱えるようになりましたし、Babelはまさにそういう拡張性を重視しているツールです。それは「ああ便利になったね」というだけの話であり、なぜ「ES6とJSXは混ぜるな危険」となるのかよく分かりません。現にこれが最も標準的で人気の組み合わせです。

JSXを使うことへの抵抗」ということなら、とにかく見た目にコレがキモいと感じる人が非常に多いのは事実です。現に、JSXより見た目がキモくないことを売りにしている仮想DOM実装一定の人気を博していたりします。でもそういうライブラリは「キモさ」軽減のために結局新たな構文やら独自コンパイラやらを編み出して柔軟性を犠牲にしていますJSXは「関数呼び出しのシンタックスシュガーJavaScriptに1個導入するだけで問題を概ね解決する」というシンプルかつ一番表現力の高い解決方法だと思います仮想DOM思想に逆らわない最も素直なやり方であり、将来長持ちする気がしています

はい所詮JSXシンタックスシュガーなので、使いたくないなら使わず本来関数スタイル仮想DOMを書いてReactを使ってもいいです。タイプ量が増えて若干見づらくなるだけなんで。

それと、JSXじゃなくてテンプレートでいいじゃん的に思っているようですが、テンプレート仮想DOMでもなければJavaScriptでもないので、速度や機能の面でReactがやっていることに遠く及ばないと思います

5年後のビジョンがありますか?

Reactはもう登場して3年経過して未だに勢いが増していますし、日常で困らないレベルコンポーネント集も揃っています。React-Bootstrapはいいぞ、心が豊かになる。そろそろ採用してもアーリーアダプターとも言えんでしょう。むしろ真に先端を見るのが好きな人に言わせりゃ、2015年なんて「Reactが淡々成熟していくのを見ているだけの、つまらない年だった」みたいな感じらしいですし。

Reactは現時点で既に3年に1回レベルのビッグウェーブであることは疑いようがなく、「これが10年に1回、つまりjQuery以来のビッグウェーブなのかどうか」については、そう信じている人と懐疑的な人がいる、という状況です。私はAngularもCoffeeScriptも「3年に1回」レベルに感じたのでスルーしましたが、Reactには「10年に1回」の方になりうる素質を感じています個人の感想です)。将来もっと凄いものが出るとしたって、それは「ベターjQuery」ではなくて「ベターReact」でしょう。通常は「3年に1回」レベルでも試したり仕事に使ったりして構わないと思いますが、10年に1回の技術でなければ使わない主義の方は、あと2~3年待てばよいと思います

保守性に関して言うと、Reactは典型的な「ひとつの事だけをとても上手くやる」系のライブラリです。考え方のコツさえ掴めば、記憶すべき要素はjQueryやAngularと比べても圧倒的に少なく、むしろそこらのテンプレートエンジンを覚える方が面倒なくらいです。10年後に見ても何をやっていたのか30分で思い出したいというのであれば、むしろAngularとかよりReactを採用すべきだと思います

http://anond.hatelabo.jp/20160521190026

元増田です。

SPAは、クライアントが自立した1プログラムとして状態管理する。サーバUIと同様の非同期なイベント発生源/イベント発行先の一つとして扱う。またReactとReduxの組は、データベースサーバサーバサイドページ生成のスタイルを、サーバブラウザでやるようにシフトさせたものともみなせるだろう。

手間がかかりません?さらにもともとほぼサーバー側だけで済んでいたものを分けることでCSRFやSQLiなどの変なバグを仕込む可能だってありますよね。これに見合うメリットが見えないのですがいかがでしょうか。

そしてReact自体には、JSX構文もbabelもいらない。JSXタグを書くよりむしろReact.DOM.div({...},...)等で書いたほうがプログラミングでは扱いやすい。JSXサーバサイドページ生成のテンプレート言語利用文化に寄せた表現に過ぎないといえる。そして今ではbabelで変換する対象もES6 modulesのexport/importだけだ。これも分割ファイル対応のためにwebpackあたりを使うなら、ついでにbabelでES6 modulesも、といった程度のこと。

というかですね、そもそもVをロジックの中にベタ書きしちゃうの嫌なんですよね。シンタックスハイライトとかインデントも効かないじゃないですか。そういう点ではAngularJSが一番気持ちいいですが。。

まあそれはそれとして、なるほど、JSX別にどうでもいい、というのはわかりました。まぁそれならわからんでもないです。

すでに一般に忘れられつつあるprototype, Dojo, Mooと同格であるjQueryのほうが五年後も活発にメンテされるのかどうか怪しいだろう。もちろん、レガシーものとしては残り続けるだろうが。

ここわかんないですね。活発なメンテがそんなに重要なのかな?ということです。まあモダンな感じで書きたいということは理解できますが、それさえクリアされていればいいんじゃないでしょうか。そうでもないですか?

jQueryからReactに移ろうとしてる自分個人的理由

http://anond.hatelabo.jp/20160521163144

内容から誰が書いてるかわかるかもしれんけど、まぁスルーよろしく。

jQueryもそんなにガッツリ使ってるわけでもないし、Reactはまだリリース前の調査下地作りの段階だけど

正直言ってjQueryに戻るつもりは毛頭ないぐらいReact便利だと思ってる。

でもjQueryを捨て去れるかというとそれも無理だと思ってる。

その辺のことを適当に書いてみる。


用途

社内サポート的なことやってて、サポートテンプレート対応を省力化するために

Webツール作って人が対応するコストを減らすために使ってる。

チーム組んでガッツリ大規模ツール開発ってわけでもない。

jQueryで一つツール作ってリリースしてそこそこ人的コスト削れたのはよかったと思ってる。


jQuery脳内DOMリーとの格闘に疲れ果てた

最大にして一番の理由がこれ。

そんなに大規模なアプリケーション作ってるわけでもないし、関係者も俺一人だけど正直DOMリー脳内でくみ上げるのに疲れた

500行もいかないようなショボいコードでも脳内DOMリーと格闘するのしんどい。

DOMリー触るほうが楽ってみんなどの程度のコードでそんなこと言ってんの?

そんなスーパーハカー揃いなの?信じられないんだけど。


React-Bootstrapかいう神コンポーネント出会った

オリジナルbootstrapはどうしても頭に入ってこなかったし、手を付ける気にもならなかったけど

React-Bootstrapマジで楽だし、スッと理解できる。マジ最高。

Bootstrapってこっちを本筋にすべきじゃね?と割とマジで思ってる。

まだ触って3日も経ってないけど。


ページのほぼすべてがjsに集約できる

これはちゃんとしたWeb界隈の人は利点と思わないのかもしれないけど

一人でいろいろ賄わざるを得ない俺みたいな人間にとってはマジで楽。

ベースHTMLにはベースのdiv一個載せとくだけで後は全部js

レイアウト大元コンポーネントでReact-Bootstrapで組んで、あとは各コンポーネント

個別に作っていけばいい。

HTML見て、CSS見て、JS見て、っていちいち記述方式の違うコードを見る必要がないのは

少なくとも俺にとっては一番楽。


でもjQueryも完全には捨てられない

やっぱまだReactはコンポーネントがそんなに揃ってないんだよね。

からjQueryも使わざるを得ないけど、それも一つのコンポーネントに閉じ込められるから

管理が楽。

極力なくす方向で行くつもりだけど、今はまだ両方使ってる。


JSXは汚くて気持ち悪いけど、コードで書くのはもっといから仕方なく使う

あの気持ち悪いコード考えた人はマジでいい意味でも悪い意味でも頭イカレてると思う。

気持ち悪くて仕方ない。いまだに大嫌い。

でも書くコード減らせて楽なんだよね。だから仕方ない。

どんなに気持ち悪くても、結果が伴う以上使う。


5年後なんて自分の姿すら思い描けないことは考えない

5年後も自分がこの仕事やってるかどうかもわからんからそんなこと気にしたことない。

今ある仕事をなるべく早く簡潔に実行するために最適だと思ってるツールを使ってるだけ。

それがかつてはjQueryだったし、今も一部jQueryだし、大半がReactになろうとしてるだけ。

将来まだこの仕事やってて、もっと有用ツールがあればそっち使う。

別にツールにこだわるつもりは毛頭ないから。

Web界隈の人はもっと真剣考慮すべきかもね。


ちゃんとしたWeb界隈の人のちゃんとした意見も見たい

俺みたいな一人前にすら届いてない奴の意見なんぞ必要ないだろうけど、

自分の今の考えを書いておくと後で見返せるかなと思って適当に書いてみた。

ちゃんとしたWeb界隈の人にとってこの辺の問題ってどんなもんなんだろうね?

みんなも増田ポエム、書こう!

http://anond.hatelabo.jp/20160521163144

まずReactの特徴は、「状態データから変換してビューを生成する」スタイル統一されることにある。

これはjQueryをはじめとするDOM操作モデルでの、「初期状態ビューの作成」と「(イベントに伴う)状態変化からの部分ビュー変更」で構成するスタイルから脱却され、たとえば部分処理の積み重ねから想定外状態が生まれることを防ぐ。

SPAは、クライアントが自立した1プログラムとして状態管理する。サーバUIと同様の非同期なイベント発生源/イベント発行先の一つとして扱う。またReactとReduxの組は、データベースサーバサーバサイドページ生成のスタイルを、サーバブラウザでやるようにシフトさせたものともみなせるだろう。

そしてReact自体には、JSX構文もbabelもいらない。JSXタグを書くよりむしろReact.DOM.div({...},...)等で書いたほうがプログラミングでは扱いやすい。JSXサーバサイドページ生成のテンプレート言語利用文化に寄せた表現に過ぎないといえる。そして今ではbabelで変換する対象もES6 modulesのexport/importだけだ。これも分割ファイル対応のためにwebpackあたりを使うなら、ついでにbabelでES6 modulesも、といった程度のこと。

すでに一般に忘れられつつあるprototype, Dojo, Mooと同格であるjQueryのほうが五年後も活発にメンテされるのかどうか怪しいだろう。もちろん、レガシーものとしては残り続けるだろうが。

Reactのモデル関数型プログラミングモデルのものであって、そういう観点ではすでに何年も続いたものであり、React自体は消えたとしてもその手法は長く続くことになる。

React.js界隈の人に聞きたい

**誰かみんなの主張のまとめを作ってくれないですか?** (まあそれこそお前がやれよって話かもしれないので、誰もやってくれなかったら私がしますが。。)

最近JQueryはもはや不要でReactさえあればOK,みたいな記事をよく見ますね。

論旨としては、どうせトランスパイラ使ってるんだからもっと便利な書き方しようぜ!ってことなんだと思います。(virtual DOMがメインだ!という話もあったけど、じゃあ何でReactなの?というのは聞きたいかな。メジャーから?)

ただちょっと個人的違和感が拭えないので聞きたいです。

ちなみに私は昔coffeeとbackbone.jsか何かで業務用のページ(SPAではなかったような気がする)を作るお仕事をしたことがありますが、フロントエンドエンジニアというわけではないです。どちらかというとサーバー管理とかのほうがよく知っていると思いますが、Javascriptもそれなりには書くくらいの感じの人です。Reactは不幸にして一度も触ったことがないので、以下の文章はすべてコードサンプルをみたうえでの感想です。

そもそも世の中にそんなにSPAがあるのか

まずこれ。正直そんなにたくさん動的にがりがり書き換えているページをあんまり見ない気がするんですよね。その上正直そういうウェブページ、あったとしても大体使いづらいです。

世の中のページが全部FBならいいのかもしれませんが、具体的にはどんなところで使ってるんでしょう。業務ページとかですか?あと、なぜSPAにしなければいけないのかもよくわからないです。画面遷移するのだめなの?という感じで。

JSXを使うことに抵抗ないんですか?

トランスコンパイラを使うのって、結局「将来的には全部ES6になるのだから、今のうちからES6で書いておけば将来のメンテナンスコストとかも減ってうれしいよね!」っていうことなんだと思います

こういう例、JS以外にもいろいろあって、例えばboostAndroidのsupport library, Pythonのfrom __future__ importなどなどあると思うんですが、どれもやっぱり将来的なコストを見据えて、非標準のライブラリ記法を使いましょう、ってことですよね。

でもJSXってそういうのじゃないじゃないですか。いわばsupport libraryを使うのとmonoで全部書くのと、位の違いがあるように見えます(そこまでは違わないかw)。そういう考察を一切入れずに、「どうせトランスパイラ使ってるんだから拡張記法使っちゃおうぜ!!」っていうのはかなり危ういように見えます

そもそも、JSって結構独特な言語ですよね。もちろん今はnode.jsとかあるわけですけど、まあやっぱりスクリプト言語の標準の座ってPythonRubyですよ。世の大多数の人はそっちのが使いやすいとおもってるんでしょう。ということでそもそもトランスパイラ通すんだったらもっと普通言語から変えるようなソフトウェア流行ってもいいんじゃないかなあとか思いますけど、そういうのがないのも謎です。dartとかどうなってるんですかね。(まtypescriptとか一種それだという話もあるか)

五年後のビジョンがありますか?

五年、十年あとにReact.jsって流行ってるんでしょうか。例えば五年前はcoffee script結構流行ってましたけど、たしかもうサポート打ち切りとかになっちゃったんですよね。もちろん営利企業がバックなので、そこまで急になくなるかはわからないですけど、五年したらみんなまた別のライブラリがすごい!!みたいに言ってるんじゃないでしょうか。

まあだからこれはフロントエンドエンジニア業界全体の問題なのかもしれませんが、そういう将来的な保守コストをどう考えているのかが気になります特にもし業務ページであるなら、せいぜいがなるべく枯れたライブラリ(≒JQuery)と、テンプレートエンジンあるいはフォーマットストリングでも使ってpure ES6で書いたほうがいいんじゃないでしょうか。そうすると結局SPAにはしないですよね。

まあこれを突き詰めるとじゃあetaxもactivexで、銀行システムcobolで、マシンはpc98で、、、とかなっちゃうかもしれないんで、難しいところではあるとは思いますが、、、

とりあえずこんなところで、有識者の皆さんよろしくお願いします。

追記

React.jsでした。angularと混ざりました。。あと特に喧嘩売ってるつもりとかは全くないですがそう見えたらごめんね。

id:murishinai 主張は単純で、せいぜいES6+トランスコンパイラ(+JQuery)とかでいいんじゃね、遷移はサーバー側でやったほうが楽じゃない?という感じです。

id:wordi virtual domが最大のメリット、ってのはよく見る意見ですね。例えば実際どんな場面で(どのくらいの規模のプログラムで)domの改変コストが効いてくるのか、みたいな実例を教えてくださると助かります。(もちろんFBとかはそうでしょうけど、もっとなんだろう、身近な例でお願いしたいです。)なんかReactががりがり(かつユーザー目線から見て有効的に)使われている例がイメージ出来ないのが問題な気がしてきました。

id:logic ええっと、それはそうなんですけど、なんだろう。標準のもので、少なくとも今後10年はあるだろうと言うもの(たとえばES6+フォーマットストリング)があるのにも関わらず、今後5年持つかもわからないライブラリを全面に押し出すの、ちょっと怖く見えるなあという気持ちです。

id:erukiti 具体的に頭の悪い点をご教授くださるとたいへんありがたいです。小規模だとそもそもvirtual domメリットもなさそうですし、ES6標準でええんちゃうのんという気がしてならないのですが。

id:manaten もちろんFBGMailJQueryだけで作るのは不可能だと思います。だからFBはReactを、GはAngularを作ったのでしょうが、逆にそんなに気軽に使うようなものにも思えないのですよね。それこそ何百ブクマも付くのやべえなあ、と。(ところで私にはReactよりAngularJSのほうがずっと気持ちよく見えます

トランスパイラですねごめんなさいw

SPAが使いづらいってのは言いすぎかな。正確には、「ページ遷移型のUIに比べて、SPAであることのメリットが明らかに生きているページって少なくないですか?」ということです。もちろんFBとかGとかtwとかは例外だと思いますけど、DOM1000個とか10000個とかいじくり回しているページばっかあるようには思えない。もちろんどーーしてもSPAじゃなきゃダメなんだっていうならこの手のライブラリを使うといいとは思うんですが、どっちかというとニッチ需要じゃないでしょうか。

あとなんか保守点検に関する意識ちょっと違うのかなっていうコメント散見されたんですけど、うーん、一発書いて書きっぱなしっていう案件そんなにあるんですかね?ちょっとそこがよくわかんないです。一度書いてもやっぱりn年先、さらもっと言えば自分がその職場からいなくなった後のことまで考えてプログラム書くべきだと思うんです。そうすると、例えば数年後のプログラマにとってのReactは今のprototype.jsになってるかもしれない。そういうリスクが怖いです。勉強すればいいじゃんっていう意見もそうなんですが、なんでしょう、どちらかと言うと保守を気にしているので、そっちじゃないです。まあ幸いにして私は人の書いたJSをいじくり回した経験はないので、ただの推測なんですが。

それともしかしたら「枯れた技術」あるは「標準化」という意識あんまりないのかなとも思いました。まあ確かに「Web世界日進月歩!」ってことなのかもしれないんですが…。別のページのブコメとか見ても、「枯れた技術を使う」=「不勉強」みたいなのがあって、不思議です。。

あとcoffeeのころ、っていうコメントありましたが、あの頃はみんな夢がありましたよね。AltJS世界を救う!みたいな。翻って今はどうか。それを思うと、やっぱり何でもかんでもReactじゃ、という意見には違和感を感じるんですよ。

増田に書いたのは単にみんなが見てくれるというだけの理由です。そもそも今諸般の事情お仕事としてのエンジニアはしていないですし。ほんとに純粋質問だと思ってもらえればうれしいです。

まあ長くなってきたので私のブログにまとめ直してもいいのですけど。

そういえばモバイルという話も出ていましたが、先日のandroid instant appsって、アレ「HTMLモバイル向けに軽快なリッチUI作るの無理だからやめような」ってことかと思ったんですが、どうでしょうか。もちろん今現在必要ですけど~。

2015-10-15

http://anond.hatelabo.jp/20151015115914

グーグルだけではないが、レスポンスHTMLの難読化や非同期取得が激しくなってきているから、一旦レンダリングさせて、生成された DOM オブジェクトからエレメントや文字を拾ってきて、それを加工・洗練させようかな。

2015-10-04

http://anond.hatelabo.jp/20151004105028

とりあえずこれと

http://www2u.biglobe.ne.jp/~oz-07ams/2002/ecma262r3/fulltoc.html

DOM-HTML

http://www.w3.org/TR/DOM-Level-2-HTML/ecma-script-binding.html

それとw3cDOM-Coreを読んでおけば一通りわかるようになる

ecmascriptは最新が5だった気がするがブラウザ実装されていない分がかなりあるのでまた後でいい

2015-06-05

毛の壁はReactJSでデスクトップアプリを書くらしいが

どうやって書くつもりだろう

仮想DOMライブラリのすばらしい純粋関数型遅延ストリームの力で副作用なしに

ファイルを読み書きしたり

ソケット通信したり

ネイティブウィンドウを生成したり

する最高にクールコードを公開してくれるんだろうかwww

2015-05-19

自動更新エロサイトを作ったから自慢させて

初めて書くのでいろいろと不慣れだけど許してください。

■作ったサイト

エロ動画ちゃんねる

http://eromovie-ch.com/

■使った技術

PHP

スクレイピング

cron

Wordpress

HTML

CSS

jQuery

位だったと思う。

制作時間

スクレイピングPHPでするプログラム半年くらい掛かった気がする。

てかそもそもはなんとなくスクレイピングに興味を持って作りこんでたら「あれ?これエロサイト作れるんじゃね?」って思ったので

エロサイトを作った流れ。

Wordpressとかで実際にサイト構築したのは1日掛かってない。

サーバー

非常に悩んだ結果GMOVPSを使うことにした。

安いのとアダルトOKで一番有名だと思ったから。

ゴヤサポートがクソだった。

サイト機能とか

特に目新しいことはないです。

記事一覧が表示されて、cookieお気に入りが追加できて、タグ一覧があって、検索できるだけ、

本当はリンク切れ報告ボタンも作りたかったけど力尽きた。

作る方法は頭の中にあるけど、どうせ作っても誰も押してくれないんでしょ?見たいになってる。

あ、テーマPC/SP共に自作です。

レスポンシブに対応しています更新が楽だしね。

スクレイピングについて

基本的FC2XVIDEOSから取れるようにしている。

ただXVIDEOS日本語タイトルじゃないからそれを日本語にするのが手間と言う理由で今はとめてる。

翻訳APIを使ってやってもいいんだけど、サーバーが落ちそうだから嫌だ。

うそう、スクレイピングがめちゃくちゃ重すぎてサーバーが落ちる!

これがちょっと困る。

なので最低限のサイトから最低限の動画しか取得してない。

それでも1日100動画くらいは投稿できてる気がする。

さすがにスクレイピング自作ではめんどくさかったので[PHP Simple HTML DOM Parser]というスクレイピング定番ライブラリを使っている。

これが重い最大の理由なんだけど、これなしで効率よくスクレイピングさせるのはめんどくさかった。

あとは、簡単に他の動画サイトからスクレイピングできるようなつくりにしたから、やろうと思えばニコ動でもyoutubeでもいろいろなところから取得できる。

これは結構利点だと思う。

FC2が突如つぶれても他のエロ動画サイトからスクレイピングすることが出来るから

アクセス数/収益について

今は0です。

だっておとといドメインを取ったばかり何だものインデックスだって100ページ程度しかされてないし。

1ヶ月もすれば1日5000PVくらいにはなると思うけど。

とにかく更新が楽だから自動から)忘れたことにPVがあがってくれると助かる。

てか会社を辞めてエロサイト収益生活したい。

あんな会社で働きたくないし・・・

ということで、一通り書いてみました。

意見、ご感想などあればコメントとかください。

■追記

いろいろとコメントを頂いてうれしいです。

ポリシー場所とかは単純に忘れてました(汗

ロゴも雑ですが直しました。

大変参考になりました。

アフィリエイト広告については悩んでたのですが、早めに乗せることにしてみます

ありがとうございました。

■追記2

事情で1週間ほどサイトを閉鎖しています・・・(2015/5/28現在

ちょっと復活まで待ってください。

よろしくお願い致します。

■追記3

復活しました!

ぜひお楽しみください!!

2015-04-18

JavaScriptDOMテストが難しい

jasmineを使っている。

ある要素のDOM構造テストしたいのだが難しかった。

jasmine-jqueryだとjasmine 2.2に対応してないのかスクリプトを読み込んだだけでコンソールエラーが出たので選択肢から外した。

日本JavaScript界の先輩方はどんな風に書いているのか知りたくて「javascript dom test」でググったけど参考になる記事を見つることができなかった。

2015-04-14

スクレイピングライブラリのgoutteってそんなに良いか?

ヘボグラマの俺からしたらsimple dom htmlのほうが

使いやす

filterしたりreduceしたりいちいちめんどくさい

2015-01-14

スマホorタブレット用のWeb漫画統合ビューアみたいなのを作って欲しい

Web漫画ってcomicoだのマンガボックスだのニコニコ静画だのいろいろあって面倒臭いじゃん

FC2ホームページとかにただ上げてる感じで1ページ読む毎にページ遷移が必要な奴とかだったらスマホで読むには本当最悪の操作

出版社がやってるwebマンガ誌はUIはまともなの多いけど雑誌ごとにアプリが違っててこれまた面倒くさい

comicooneワンパンマンみたいな有名なのだけで良いからこういうのを統括して検索できたり回線ショボいスマホ用にwifi環境中に画像データキャッシュ保存できたりするアプリって需要ないっすかね

画像転載ダメだけど2ch専用ブラウザみたいにDOM解析?とかして画像引っ張れるようにすれば著作権的にも問題ないっしょ

作ってくれたら500円くらいまでなら出す

2014-11-17

Webで苦労しているデザイン系の学生のみなさんへ

当方いちおうWebもやってるエンジニヤーなのでときどき学生の方(デザイン系、美術系が多いです)から相談を受けるのですが、

というのが2大苦労事例みたいな感じです。

レンタルサーバインストールしたWordPress管理しきれない

解決方法: tumblrを使いましょう

もちろんtumblrで実現できない要件も世の中には存在しますがそのような要件は既にデザイナひとりで抱えるような要件ではないので適宜エンジニヤーを捕まえて振りましょう。

ある箇所の表示を変えたいのにHTMLのどの部分をいじればいいのかわからない

解決方法: インスペクタを使いましょう

コードと実際の表示をグラフィカルに対応付けしてくれます

注意点としては、インスペクタに表示されるHTMLJavaScriptなどから動的に書き換えられた結果のHTML(正確にはDOM)です。

逆に言うと、JavaScriptで動的にページを書き換えるような場合にはインスペクタ必須なのではないかと思います

あとmiのような古臭いエディタを使うのはやめてAtomのようにHTMLタグの折りたたみができるエディタを使いましょう。

突然vimemacsを薦めてくるエンジニヤーはクソなので相手をしないようにしましょう。(難しいもの薦めてくる人ほど最後まで面倒見てくれません)

Atom: https://atom.io/

2014-11-03

連休なので、はてなNGフィルターを作ったらクソ快適になった話

Chrome拡張機能としてリリースしましたよ!

はてなNG - Chrome ウェブストア
https://chrome.google.com/webstore/detail/%E3%81%AF%E3%81%A6%E3%81%AAng/mbgdnfmdelffjdhkdggilmphfdihnmcj

機能

[対象サイト]

はてなhttp://www.hatena.ne.jp/

はてなブックマーク内ページ(http://b.hatena.ne.jp/

結果

はてなの閲覧がめちゃくちゃ快適になりました!

目障りなサイトアカウントは見なくて済むし、ブコメページのノイジーなコメントも連打スターもなくなってスッキリ

更にワンクリックで気楽にNGフィルターオンとオフの切り替えが出来るようにした事で、NGありなしの状態が一目瞭然で比較できて、はてなエントリーの傾向、ブックマーカーの傾向もよく分かるという新しい発見も!追)そして自分がどんなに偏ってるかの発見も!

動機

ホットエントリーに上がってくる、まとめ系、はてな村系、虚構系なんかは個人的にどうにも苦手で、それについて以前増田で書いたら多くのご批判、ご意見を頂きました。

はてな代替サービスを教えてちょ

http://anond.hatelabo.jp/20140929012633

人気コメントが「無いなら自分で作れば」って感じで、成る程、ほんじゃまぁやってみるかと。一度Chrome拡張機能を作ってもみたかったので。

で、NGリストを登録してはてな公式ページフィルタリングする方向で作ろうと決めました。あと、どうにも気になっていたのがkiya氏系のスター連打。この対策機能に盛り込もうと。構想が固まって、勉強がてらある程度の試作を作ってみました。したらなかなか良い出来なんじゃないかと、手前味噌だけど自分だけで使ってるのは勿体無い、面白いから皆さん使ってみて下さいよーって事で、この連休Chromeウェブストア公開用に一気に作り込みました。

技術

ざっくりと。

Chrome拡張機能HTMLJavaScript制作できます

それらをマニフェストファイル(manifest.json)というJSON形式の設定ファイルで、タイトル、説明、権限アイコンなどと共に紐付けして設定します。

これらが入ったフォルダChrome拡張機能ページから読み込ませれば動作します。

Googleに$5払ってデベロッパー登録し、バナー必要データを用意すればChromeウェブストアで一般公開もできます


拡張機能スクリプトが動作する環境は大きく分けて4つで、マニフェストファイルで設定できます

  1. background:常にChromeの裏で動くスクリプトを設定します。
    今回はユーザーがタブを切り替えた時にそのタブページがNGサイトかどうか判定しそれによりアイコンの表示を変えるスプリクト等を設定しました。
  2. browser_action:アドレスバーの右側の拡張アイコンクリックした時に表示されるポップアップ画面とスクリプトを設定します。
    普段HTMLページをコーディングするのと同じ感覚です。今回はBootflatベース制作しました。
  3. content_scripts:特定ページに対するスクリプトを設定します。
    今回は「http://www.hatena.ne.jp/」と「http://b.hatena.ne.jp/*」に対してスタイルDOM操作をするスクリプトを設定しました。
  4. options_page:オプションページを設定します。
    今回は使用していません。

このマニフェストにはバージョンがあって、現在使用できるのは2.0のみになっていますChrome拡張機能製作方法はググれば先人達情報が沢山出てきますが、このバージョンが古い情報もありますので注意しないとハマってしまます

参考にしたサイトは様々ですが、検索で出てきた日本語サイトでざっくりと把握させていただき最終的には公式サイトが一番確実でした。

http://dev.screw-axis.com/doc/chrome_extensions/マニフェストバージョンは1.0が対象のようです)

http://qiita.com/sqrtxx/items/19fd2114430e9e1fb57f

http://blog.fenrir-inc.com/jp/2012/09/jquery-chrome-extension.html

https://developer.chrome.com/extensions

https://developer.chrome.com/extensions/api_index


制作環境Haxe + Sublime Text です。

まとめ

Chrome拡張機能開発は思ったよりは簡単でした。JavaScriptが出来る人は一度試してみると楽しいかもしれません。と、同時にインストールする拡張機能によってブラウザが重たくなる理由もわかりました。ブラクラになる程重い処理を裏でぶん回す事も簡単に出来てしまうので、なるほどなーと。

そんな感じで開発したのですが、機能はてな様の現在のページデザイン依存しております。ですので、はてなサイトデザインが改変した際には動作しなくなったりレイアウト崩れしてしま場合があります。ご了承くださいませ。その他バグなどご報告下さいましたら出来るだけ対応いたしますのでご感想など聞かせていただければ嬉しいです。

2014-10-29

HTML5は、終わった。

HTML5がやっと勧告とか良く分からない言葉になったが、ちゃんと現状を認識しておこう。

そもそも、HTML5目的は、新しいHTMLなんかじゃない。

正確には、新しいHTMLなるための道標だったのだ。(過去形

君たちは、window.alertという関数を知っているだろうか。

この関数HTML5定義された最新の関数だ。

え?と思うかもしれない。でも、これこそがHTML5役割だった。

HTMLは、昔、ドキュメントだった。

ドキュメントにalertなんて在るはるがないのだ。

そうやってHTMLは分断されていた。

HTMLというドキュメント操作するAPIとしてDOM。そして、それ以外のAPI黙殺

XHTML1.xでも、それは繰り返された。

XHTML2.0が失敗したのは当然ともいえる。分断されたままアプリケーション拡張しようとしたのだ。

現状を省みずに、ただ夢を追った。

しかし、カウンター存在した。

HTMLの現状を認識することこそ大事であると。

既にHTMLドキュメントではなくアプリケーションであると。

アプリケーションとして見たHTMLには、windowというオブジェクト存在している。

それは”標準仕様”という名前を持たないだけの標準だと。

彼らは現状を定義した。HTMLを再定義した。

次に進むのに必要なのは新しい夢などではなく、現状の再認識だ。

認識さえすれば必要なモノは勝手についてくる。

そう、それがW3C採用され、君たちの知っているHTML5になった。

HTML5の次のバージョンは何ですか?」

HTMLからバージョンを消すことです。バージョニングなんて考えは古い。HTMLは常に更新されるものです。」

彼らはそう語っていた。

HTML5は新しいモノだと勘違いされたが、そうではない。

それは1つの側面でしかない。

大切なのは定義だ。だから勧告なんて待つ必要も無い。

window.alertがクロスブラウザで使える。それがHTML5だった。

君たちは、気付いてるだろうか。

以前よりもクロスブラウザで悩まされることが減ったことに。

最近はまたカオスになってるけどな!)

それこそがHTML5意味だった。

だが、それでも道を踏み外した。

また夢を盛り込もうとした。アプリケーションならアプリケーションなら。

そして、HTML5は、HTMLの再定義という意味を奪われて

新しいアプリケーションプラットフォームという肥料でまるまると太った豚になった。

豚は、そのままでは動かなかった。

HTML5の次のバージョンは、何ですか?」

HTML5.1です。」

HTML5は、終わった。

2014-09-25

昨今のPC向けWebブラウザの現状(主要ブラウザ編)

うPC向けWebブラウザは、進化する余地がないのか、停滞しているように思えてしょうがない。

IEはともかく、FirefoxデザインChromeにしちゃったし(あれのどこがいいのやら)、Chromeに至っては、停滞どころか悪化しているとさえ感じる。

主要Webブラウザは、どこへ行こうとしているのだろうか。

IE

IE8になってようやくWeb標準に従うようになって、IE9JavaScriptが劇的に速くなり、IE11でかなりWeb標準準拠度が改善された。

また、Windows XPサポート終了により、IE6というWebデザイナーの多数を地獄送りにしたブラウザから完全に脱走できるようになった。

しかも、サポートポリシーが変わって、2016年1月以降は各OSで最新のバージョンしかサポートしないと決まったため、思ったよりも早くWebデザイナー苦痛が取れるようだ。IE6で懲りたんだろうか。

しかし、IEコンポーネントブラウザ互換性を軽視する傾向にある。

IE10では、Windows7必須アップデートのせいで画面描画が乱れる場合があったり、特定WebサイトIEコンポーネントブラウザフリーズさせるという必殺技を披露した。

IE11では、一部環境DOMストレージが原因でブラウザコンポーネントを十数個開くとフリーズする新必殺技を披露した。(現在バグ修正済)

次のIEでは、どんな技を披露してくれるのだろうか。

Firefox

Chromeをパクってと同様、高速リリースサイクルになって3年目。

アドオン互換性に悩み、自ら失敗といいつつも、高速リリースサイクルを何とかやっていけてるようだ。

シングルプロセス/マルチスレッドながら省メモリJavaScriptの速度チューニングを着実に行っている。

つい先日、australisというChromeパクリに非常によく似たUI強制適用し、一部ユーザーから顰蹙を買う

※筆者はあまりFirefoxを使ってないので、ここまで。

Chrome (Chromium)

高速リリースサイクル強制アップデート流行らせた元凶。

Chromeは初期設計ポリシーがよく、HTML5準拠度とブラウジングスピードは今でもよい。

登場からあっという間にシェアを獲得し、主要ブラウザと呼べるほど有名に。

しかし、バージョンが上がるたびに肥大化し、メモリ消費量がますます増え続け、低スペックマシンでは重くなる一方である

レンダリングエンジンWebKitから独立してBlinkになったが、さらに迷走していく。

迷走その1: Aura

ユーザー阿鼻叫喚した、ウィンドウシステム共通化プロジェクト

理想は、各種コントロール(スクロールバーやボタン、エディットボックスといったもの)を全プラットフォームで共通化した上で、GPUによる描画で高速化する・・・ということだった。

Windows版ではバージョン32から適用された。しかし、安定版になってもスクロールバーの矢印が消えた、汎用マウスジェスチャが使えない、

縦/横スクロールがまともに動かない、Webフォントが描画されないなどなど、多数のバグが残存していた。

今でも、バージョンが上がるにつれて改善されたものもあれば、一度改善していたのに不具合が再発するなど、安定版といいつつ安定しない日々が続いている。

いったい、「安定版」とは何なのだろうか。

迷走その2: Google色が濃厚に

最近ChromeGoogleのものであることをユーザーにしらしめる努力ばかりやっているのではないか。

Google Nowなど、自社のサービスを便利に使うために機能追加するのは別にかまわないが、新しいタブページの異常にでかいGoogleロゴはどうだろう。

よく開くページのサムネイルを小さくし、下に追いやってまでGoogleロゴを目立たせる必要はあったのだろうか。

迷走その3: NPAPIプラグイン廃止

今年中にNPAPI廃止を目論んでいるが、それは現実的なのだろうか。

Chrome独自に持っているPPAPIは、セキュリティが厳格なゆえにNPAPIの代替手段には決してなりえない。少なくとも、PPAPI上で動くFlashがNPAPIのそれと同等の速度で動かない限り、廃止はありえないと思う。

高速リリースサイクルの弊害?

Firefox高速リリースサイクル採用した初期の時のように、高速リリースサイクルを優先するあまり品質犠牲にしているケースが目立っている。

最近出た37では、DirectWrite周りの実装がお粗末で、安定版が最初に出たころはズームイン/ズームアウトするだけで文字が表示されなかった(翌日に修正)。今でも、ビットマップフォントの表示品質GDIよりも悪い。

高速リリースサイクルの弊害が現れているのではないだろうか。このことに、Chromium中の人たちは、気づいているのだろうか。

ひどい。最近Chromeはほんとにひどい。

2014-09-24

【続編】ニートエロサイトを3日でつくってアフィ生活をはじめた

こんばんは。お久しぶりです。相変わらずニートしてます

なんかこの前ここで書いたダイアリーが400はてブとかついてすごいビックリした増田だよ。

ニートエロサイトを3日でつくってアフィ生活をはじめてみた話

http://anond.hatelabo.jp/20140908063655

お陰ではてブしてもらった日はいろんな人に見てもらえたみたいで

1日で12,000PVくらいいったんだけど、次の日から順当にPVは下がり続けて

今は1日1000PVくらいをうろうろしてる弱小エロサイトになった。

あれからPHP書いたりWordPress更新したりってちょくちょくやってるんだけど、

PHPってなんであんなむずいんだよ。ふざけんな。アドバイスしろくださいおまいら。

作ったエロサイト

即ハボドットコム

http://sokuhabo.com/

俺氏スペック振り返り

24ニート

HTML/CSSはそれとなく書ける。

PHPは頑張れば読めるけど自分では書けない。

・好きなAV女優成瀬心美

あれから2週間。改善したとこ。

残念ながら俺はニートなので、時間はある。

いろいろ改善してみたり、失敗したりした。

こんなめんどくさがりな俺でも続けていけるものが見つかるなんて

にわかには信じられなかったのでエロ正義

デザインを変更した。

まずこれ。これはなかなか成功したんじゃないかと思う。

といってもテーマファイル差し替えて、自分で少しHTML/CSSいじった程度なんだけど。

iPhoneからみてもPCから見てもそれなりな感じになったのでとりあえずこれで満足。

プロからみたらダメなところたくさんあるかもしれないけど妥協しとく。

これでも結構時間かかってしまった。

うん、まともに変わったところといえばこれくらいか。

アンテナサイト相互RSS登録

あとはPV稼ぐためにSEO以外の方法を探した。

SEOについて調べていくとどうやらエロサイト検索流入と同じくらい

アクセストレードってのが大事らしい。性質ソーシャルからの流入はあまり見込めないから当然か。

なのでよくわからんけど主要っぽいアンテナサイト相互RSS登録した。

いまのところあんまアクセス流れてこない。どうなってんだよアンテナどころか圏外じゃねーか。

PHPスクレイピングしようと思ったんだけど、盛大に失敗した。

そんでこれが本題。

やっぱり記事更新作業がくそだるいニートなのでラクをしたい。そのためなら勉強する。

って思ってたけどやっぱり挫折した。PHPむりぽ。

やりたいことってのはまとまってるんだけどそれを実現するためのソースコードが思い浮かばない。

Simple HTML DOM Parserってのを使えばいいってところまではわかった。

やりたいスクレイピング

指定サイト、もしくはXVIDEOSから新着のサムネイルXVIDEOS埋め込みタグを拾ってくる。

・それをデータベースに登録する。(この時にWordPressには下書きの状態で投稿されると最高)

・同一の動画を拾ってきた場合データベースに登録しない。

・6時間おきとかに1日4回くらい実行する。

こんなことがしたいんだけどもうわけわかめ

指定したページのある要素をスクレイピングして、

さらにそれぞれに紐づく下層ページにある埋め込み動画タグスクレイピングするってのがわからない。

ここで書くのは間違いかもしれないけど教えてエロい人。

究極にやりたいプログラミング

タイトル自動で付けたい。

拾ってきた動画タグ付けをしたらそのタグをもとに

いい感じのタイトル自動でつけてくれるとかいう神プログラムを組みたい。

ヤフー提供してるAPI形態素解析なんちゃらとかいうのを使えばできそうだなーとか思ったけど、

まりに光の見えないトンネル突っ込みそうだったからこれはまた今度。

とりあえず勉強するしかないか

ってことで整理するために書き起こしてみたけど

結局自分勉強するしかなさそうだな。

PHP,MySQLあたりの勉強もっと頑張ればうまくいくのかな。

他のエロサイトがどうやってスクレイピングしてるのかまじで知りたい。

PHPが取っ付き易いからPHP頑張ってるんだけど

やっぱりRuby on Railsとかでスクレイピングしたほうがラクなのかな。

あーなにか目標持ってこんなに1日中ひとつのことに没頭してるの何年ぶりだろ。

即ハボドットコム

http://sokuhabo.com/

ログイン ユーザー登録
ようこそ ゲスト さん