「DSL」を含む日記 RSS

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

2017-11-23

メタナントカ

例えば「AB」という概念があった時, 「ABAB」「ABのAB」「ABに関するAB」という概念も成立しうる場合, その概念は「メタAB」と呼べそうである.

あたりがぱっと思いつくけれど, 身近な例でも応用できないだろうか.

意外と難しい.

2017-08-26

Rails ってそんなにいいか・・・

Rails を使ってはや10年。

Rails のことはかなりわかっている方だと思う。

だが、最近 Django (Pythonウェブフレームワーク)を使いはじめて、いままで苦労して Rails を使ってきた努力は何だったのだろうと思った。

Rails だとすぐアプリが開発できると人はいう。

それは嘘じゃない・・・だが大きな犠牲を払ってだ。

RailsRuby の柔軟さを利用(悪用)して、徹底的に Ruby 言語が改変されている。

DSL が多用されている。

要するに、「レール」を外れると、どうしたらいいのかすぐわからなくなるのだ。

から四六時中、フレームワークプラグインgem)のソースコードを解読しようと格闘する羽目になる。

その点 DjangoPython らしく、フレームワークは余計なことをしない。こちらが何かしないかぎり、何も起こらない。

すべては明示的(explicit)に行う必要がある。

明示的なものは暗黙的(implicit)なものよりよい、というPython、そして Django思想

なんという安心感だろうか。

しかRails のほうが開発に必要記述量は少なくなるかもしれない。だけど、わずかな記述量を節約したところで、見通しが悪くなったら元も子もないではないか

私は、本当に Rails 教に洗脳されていたんだな、といま感じている。そして、洗脳から解放され、いま、より広くて成熟した Python コミュニティに参加しようとしている。Ruby も悪くない言語だし、Rails もよいフレームワークだけど、もういいかな。これからPython と共に歩もう。

2017-07-10

Webアプリを作るときにどの言語/WAFで書くべきか

使ったことあるモノもないモノもごちゃまぜにして経験雰囲気で書いてる。

PHP

Laravelは結構好き。DSL過ぎず、それなりにフルスタック生産性もいい。

何よりLaravel本体ソースコードが読みやすいのがいい。

まともな日本語情報が少ないのは弱点だけど、気になったところは本体コードを読めばすぐに分かる。

最大の欠点PHPってことだ。他のLL言語に比べてPHP自体生産性は低い。セキュリティ面の不安も大きい。それに安心して後を任せられるようなPHPerは一握りしかいない。

Perl

Mojolicious結構好き。これもDSL過ぎず分かりやすい。CPAN豊富ライブラリ群もある。

Perlは可読性が悪いなんて言うけど、ちゃんとしたライブラリ普通に読みやすいよ。

最大の欠点Perlってことだ。長期的に開発者を集めることを考えたら茨の道だろ?

Python

今でこそ機械学習Pythonが人気になっているけど、Web系はまだまだマイナーだ。

Djangoプロジェクト/アプリケーションという構成単位の考え方が好きじゃない。理論的な利点は分かるけど、現実問題それが必要になるケースが浮かばん。

Django以外でフルスタックのWAFが出てくればいいんだけど。Tornadoはフルスタックじゃないのでちょっと違う。

Python3で安心して開発できるならアリだと思うけど今はどうなの?使いたいライブラリが3系に対応していないとかで躓きたくないよ。

あと単純に速度が遅いよね。いや書き方を気をつければマシにはなるんだけど、書き方を気をつけなければいけない時点でつらい。

Ruby

Railsは便利だ。周辺ライブラリの充実度もすごい。情報玉石混交だけどまともな情報もたくさんある。

ただあまりにもDSL過ぎる。Railsプログラミングではなく、一つの巨大なDSLだ。

Railsプログラマの何割が、少しでもいいかRails本体ソースコードを読んだことがあるのか。めっちゃ読みにくいんだけど。Rubyは可読性が高いなんて嘘だろう。Perlと一緒でちゃんとしたコードは読みやすいけどそれはプログラマ依存する話で、言語自体に可読性の高さはない。言語思想の通り書くのは楽しいよ。でも読むのがつらい。

Rails自体DSLみたいなもんなのに、RSpecやらRakeやら周辺ツールDSL意識高すぎる。

問題があった時にググらずにコード読んで解決できるRailsエンジニアはどれだけいるのか。情報量が多いからググれば解決すると答えるやつは、底辺PHPerと大差ないからな。

あとバージョンアップ追従するのが面倒過ぎる。でも放置したら負債になるし。意識高くRailsで開発したやつの大半はバージョンアップやらの保守に入る頃にはもうそプロジェクトはいないんだろ?だからそのつらさを知らないんだろ?

散々罵ったけど、このDSLを覚えれば生産性が高いのは事実だ。だから結局ついていく確率が高い。モテ男なんだよ結局こいつは。

Java

SIerさんに敬礼

Scala

Playが王道だけど最新バージョンになるほど情報が少ない。このあたりがRailsと違う。公式(英語)とか本体コードを読める人じゃないとつらい。

そもそもJava、というかJVM周りの知識がないと本番運用はつらいだろう。LL言語運用経験しかない人は特につらい。LL言語でいうhot deployみたいなことがしたい時のやりかた分かってる?

コンパイルの遅さに耐えて開発し、運用時のGC問題を乗り越え、黒魔術を味方につけてライブラリコードリーディングが出来るならいいんじゃないか

動作は早いし、言語のものは強力だ。

Scalaを好むプログラマ関数型やらDDDやら意識高い人が多い。別にScala自体にそれらは必須ではないけど、そこら辺を意識しないならJava8でいいんじゃないかとも思う。

Node.js

非同期処理で開発することの難しさに耐えられるの?

ベストプラクティスがなく、移り変わり激しいJS界隈に流されてオレオレで書いたコード保守する自信があるならいいんじゃない。俺はない。

Go

API単体ならともかく、画面も担う普通Webアプリを書くような言語じゃない。少なくとも今は。

正確に言うと書けないことはないけど、Webアプリに関する周辺ライブラリの不足を乗り越えてまで書くメリットほとんどない。

ClojureとかElixirとか

運用実績ノウハウが少ない中で、自分で乗り越えていく気概があればいいんじゃない

結論

完璧選択などない。

2017-06-06

Rubyから解放

最近Python にどっぷり浸かるようになって、「Ruby 教」とも呼べる宗教的な縛りから解放されるようになってきた。それにつれて、いままで Ruby コミュニティで当たり前とされてきたいくつかのプラクティスに対して批判的な気持ちが育ちつつある。

いままで一部の人たちが Ruby 界隈を忌み嫌っているのを見てきたが、その理由がわからなかった。でも、Ruby一種新興宗教のようなものだ、と考えればその理由理解できる気がする。

プログラミング思想というのは、絶対の正解がないために、結局、それを信じる人たちが集うという「信仰」の形を取るしかない。より主張の強いグループ宗教的な形を帯び始めるのは少しも不思議ではないだろう。

なんかマジ、Ruby ダルくなってきたわ…。

P.S.

特にキモいのは、RSpec

Ruby変態 DSL の極みみたいなもの

Python のほうがスッキリしていてずっといいわ…。

P.S.2

Rubyな人たちは二言目には「テスト」とかいうけど、自動テストがすべてを救ってはくれないよね。

テストコードメンテ自体、莫大なコストがかかるし。

私は、テスト必要最小限にして、メリハリを効かせて書くべきじゃないかと思う。

基本的には、リグレッション対策で十分な気がするけどね。

2017-05-06

Infrastracture as code (笑)

ansible

結局yamlデータ構造を現すもので、プログラミング的な繰り返しとかIF文は無理やり過ぎて違和感しかない

chef

RubyDSLって普通にダメねこりゃ。実行順序も分からんし、普通にRubyで書いた方が良い気さえする

puppet

独自のSyntax覚えるのかったるすぎる。大して便利じゃない

でどうなった?

何でもやろうとすると結局、プログラミング言語みたくなってどんどん可読性が落ちる

結局最後bashで良いんじゃねーかなってなる。シンプルにできるなら一番筋が良いのはansibleだけど微妙に書き方変わったりして追従がかったるい

俺の知ってる会社chefで全自動だぜ!とか言ってキラキラ感だしてる会社あったんだが今は全然回ってないらしいww

一時はもてはやされたけどDockerとか出てきた昨今こんなの今頑張らなくてもいいのかもな

2017-04-22

C++/Perl/Rubyゴミ

分かったのは言語の多機能さというのは、一点水準さえ満たしていれば、それ以上足しても生産性寄与しないという事

自分しか使わない、最初書くときに限れば書きやすいと思うこともあるが、それ以上に保守性を落とす

ライブラリを利用したり他人コードを読む機会の方が多い昨今マイナス要素でしかない

perlスローガンだかに "There's More Than One Way To Do It." というのがあるらしいが、読む側からするとたまったもんじゃない

演算子オーバーロードされてるかも?モンキーパッチされてないかな?等々あれこれ想定しなきゃいけないのが苦痛しかない

スラムダンク流川が沢北を抜いたのも

パス選択肢を見せた事で沢北が集中できなくなってしまたか

それほど選択肢が多いということはストレスになる

Rubyゴミ

DSL(笑)が良いと思ってるのは最初だけで、最終的に負債しかならない糞コード

統計機械学習系のライブラリが皆無で先細りのイメージしかいかRailsと一緒に心中ください

Perlゴミ

リスト評価スカラー評価とか意味わかんねーくくりもtie変数アイディアは糞中の糞

Perl6にいたってはわけわかんねー演算子オンパレードで悪いところをさらに悪くした感じ

C++ゴミ

テンプレートマクロboostも何もかもダメ意味不明

オーバーロードされまくりコードなんてどっから読んでいいかわかんねーよ

こんな意味不明なことを覚えていられるほど人生長くない

結局PythonとかGo言語現実的な解で黒魔術のある言語なんて意味ない要らない使わない

2017-03-08

Railsつらい

バージョンアップがツライ

毎度毎度、バージョンアップで非互換修正加えてコード修正必要になって、Gemも上がって依存が壊れて

いつまでやってんだよw

Railsプロジェクトでどれだけの人が最新版追従できてんだよ?テストを書いてれば余裕?

本当かよ?正直に言ってみろよ?実際はレガシーRailsの山だろw

概念・周辺ツールがツライ

ヘルパーやらマイグレーションの仕組みやら最初は良いかなと思ったけど、どう考えてもやり過ぎだ

短くかけるとか喜んでるやつは一度考え直せ

複雑さがRails側に寄ってるだけでなんも解決してない

それで良いんだって自分コントロールできない知らないコード依存して結局バージョンアップ地獄みてるだろw

最低限中で何が起きてるか理解しとけよwまあ理解できるころにはRailsでなくても良かったんやwってなるけどなw

RAILS_ENV=productionだとstaticファイル自分で返さないassetコンパイルで小さくしましょう

→ developmentで動いてたけど本番だと動きませんでしたw

どんな茶番だよw馬鹿か?

Gemがツライ

毎度毎度、アホみたいにGem入れやがって、もう自分で把握できる状態じゃねーだろ?

bundlerだから完璧にvendoring出来ますだって

本当かよnaitive extensionGemなんてどう考えたってRails管理外のヘッダファイル依存すんだろ

bundle installがこけるなんて日常茶飯事だろw

環境構築がツライ

ruby入れてGem入れてGem入れるためのヘッダ用意して

めんどくせーなbundlerもこけるし、rbenv使ってrubyバージョン揃えろとか

ホントめどくせーよ

deployもcapistrano便利とか言ってるけれど、そんなに便利じゃねーよw

あんDSL覚える時間あんならシェルスクリプト書けるようになっとけ

rackサーバがたくさんあってよかったねじゃねーよ集約しろ馬鹿

unicorn, puma比較しましたとかアホ記事書いてる暇あるなら集約するかなにかしとけ

信者がツライ

この手の話すると信者が使わない方法もある・選択しない方法もあるとか擁護してくるけど

そりゃあるけどそれ調べんのがめんどくせーって言ってんだよw

何でもかんでもレールに乗せてそれを強要してくるような感じがすんだよw

turbolinksなんて仕組みをデフォルトONにしてくるやつらの態度が嫌なんだよ

2016-09-03

http://anond.hatelabo.jp/20160902031012

http://anond.hatelabo.jp/20160902031012

はてブ批判してる人たちよりよほど志のある学生さんだと思うので、いろいろ書いてみますおっさんのたわ言ではありますが、元記事の人にすこしでもヒントになればと思って。

大学に行っても実用的なソフトウェアを書けるようにはならない

実務の話!! 実際に「IT系のおしごと」というのがやってるような話で、特にコーディングに直接絡んでくるようなもの

技術実態みたいなやつ。そういうのは学校で教わらないんですよね。

まず、日本大学勉強しても実用的なソフトウェアが書けるようにはなりません。どういうことかというと、「情報系の大学に行けば○○が作れるようになる!」という世間一般の期待と、実際に大学で教えている内容には大きなギャップがあるということです。

これは大学が悪いのではなく、大学はそもそもそういうものであって、それが世間認知されてないというだけです。

具体的に挙げてみましょう。

大学で教えてる内容ってこんな感じなので、ゲームアプリサービスを作ることが目的の人から見ると、役に立たない内容にしか見えませんし、実際たいして役に立ちません。その証拠に、大学情報学科を出ていないのにゲームiOSアプリWebサービスを作っている人はゴマンといるし、逆に日本大学先生ゲームiOSアプリWebサービスを作れる人はほとんどいません。

日本大学先生実用的なアプリサービスを作った経験がない

これは重要ことなのでもう一度書きますが、日本大学先生ゲームアプリサービスを作れる人はほとんどいません。大学先生が得意なのはプログラムを書くことではなく論文を書くことです。論文のためにプログラムを書くことはありますが、あくまでおまけです。

そのため、大学勉強してもゲームアプリサービスが作れるようにはなりません。だって教えている側の先生が、ゲームアプリサービスを作ったこともなければ、作り方も知らないんだから

そういう経験のない人たちばかりですよ、日本大学先生って。そんな人たちの授業を受けて、アプリサービスが作れるようになると思うほうがおかしいでしょう。

ためしに、先生方のTwitterアカウント名でGithub検索してみてください。いまどきGithubアカウントがないとか、あったとしてもTestCaseすらないコードとか、そんなものばかりです。「研究内容をライバルに知られるわけにはいかないかGithubは使わない」という言い訳する人がいそう。けど、本当はGitが使えないだけでしょ?

あるいは、先生方の個人ページや研究室の紹介ページを開いて、HTMLソースを見てみてください。doctype宣言がないとか、viewportの指定がないとか、Pタグの中にULタグを使ってるとか、そんなのばかりです。HTMLすらろくに書けない人が、Webアプリを作れると思いますか?きっとXSSCSRFも知らないですよ。

ですので、そういうことを勉強したいなら、ベンチャーIT系企業に入るべきです。大学でそういうことを勉強しようとしても、教えられる人がいないから無理。
(「大学はそんなことを教える場所ではない!」と怒る人いると思うけど、教えられる先生がいないという事実ごまかすために怒ってるだけだから。)

ジャンルが違う

はいっても、大学先生プログラムがいっさい書けないというわけではないです。彼らが得意なのはコンパイラインタプリタOSやソルバを作ることです。これらも実用的なソフトウェアと言えなくはありませんが、ゲームアプリサービスとはジャンルが大きく違います

そのため、大学情報学科に進めばコンパイラOS機械学習ライブラリを書けるようにはなるかもしれませんが、それはゲームアプリサービスではないので、繰り返しになりますがそれらを作りたい人には大学は向きません。

大学で教えている内容ってムダなのか

じゃあ大学で授業を受けるのってムダなのかというと、必ずしもそうではないです。

大学で教えている内容って、ゲームiOSアプリWebサービスが一通り作れるようになってから、その先を目指すときになって初めて必要になることが多いです。たとえば、

こういうときになって、初めて大学で教わった内容が生きてきます。逆にいうと、そういう状況にならないと、大学で教わった内容は生きてこないと言えます。(情報系の学科で学んでいるなら、ライブラリ言語OSを「使う人」ではなく「作る人」にぜひともなってほしいですね。)

元増田に進めたい進路

元増田は、社会に役立つ実用的なソフトウェアを作りたいようです。しかし残念なことに、大学が教えている内容はその目的には合致していないことを説明しました。

こういう事情なので、元増田には大学ドロップアウトしてIT系会社入社することをお勧めします。ドロップアウトが難しいなら、インターンバイトでなんとしても入り込むことです。

入るべき会社は、教育に力を入れている会社です。20人未満の小さな会社では教育に力を入れている余裕はないので、小さな会社はやめたほうがいいです。簡単にぐぐってみたところ、はてなPixivクックパッドDeNAドワンゴ教育制度確立しているようです(違ってたらごめん)。そういった会社に入ったほうが、大学の授業を受けるよりも、元増田目的にかなうのは間違いありません。

そして何年か働いて、iOSアプリWebサービスが一通り作れるようになったら、大学に入り直すことです。これはとても効果的なので、元増田には強くお勧めします。

上で説明したように、大学というところは、ゲームアプリサービスの作り方は教えてくれず、それらが作れるようになって初めて役に立つことを教えてくれます。そのため、元増田IT系会社に入ってアプリサービスの作り方を勉強し、それらが作れるようになってから再度大学の門をたたくのが、いちばん効率的です。

なお繰り返しますが、入るべき会社は「教育に力を入れている会社」です。今のIT系企業では、インターン生を「格安で使えるバイト君」としか見なしていない会社が多すぎます。そういう会社は、コストが掛かることはいやがるので、教育もろくにはしてくれません。逆に教育に力を入れている会社では、インターン制度を「将来の戦力を選別する期間」と見なしています

残念ながら、そういう会社東京に集中しているようです。例外京都はてなくらいでしょうか。地方大学生にとってはつらい現実なので、はてなPixivドワンゴ地方でのインターン開催をお願いします。あとレベル5は九大と九工大学生を鍛えてあげてください。

余談ですが、学生さんにひとこと:

インターンバイトで潜り込む先の会社を選ぶときは、就活と同じような時間をかけて選んでください。バイトからとかインターンからという軽い気持ち会社を選ぶ大学生が多いから、それを食い物にしている悪質経営者があとを立ちません。インターン生が「格安学生バイト」として使われている現状を是正するために、学生のほうでも注意してください。

大学で授業を受けなくても独学で効率的勉強する方法

ドロップアウトを進めた手前、書こうと思ったけど、長すぎるのでやめた。

リツイートが100超えたら書く。

2014-10-11

アプリ屋がRailsを初めて触ってみて感じた事

Qiitaに書こうかと思ったけど、言いたいことも言えない、こんな世の中じゃ。

発想が古臭い

モバイルファーストAPIファースト文脈ハイブリッドWebをやってきた目からすると、サーバーサイドでHTMLを生成してページ遷移させるなどという90年代調のクラシカルな発想を基本に据えるフレームワークはとても斬新に思えました。HTMLゴリゴリ生成するなんてよほど特殊最適化をしようとするのでなければそもそも発想として出てこないです。それでいてDSLメタプログラミング等のテクニカル技法宝石のように鏤められている様はまるでエジプト時代骨董品を見るかのような趣がありました。turbolinkなどは、かつて表計算ソフトに出しゃばっていたイルカを思い起こさせる味があります。かつて慣れ親しんできたSPAが星のように遠い存在になりました。

モデルMVC

Web界隈の人々がモデルだとかアクティブレコードだとか"MVC"だとかを非常に具象的に話す様を見るにつけ、お前らどんだけPofEAA読み込んでるんだよと畏怖していた時期が僕にもありましたが、どうやら彼等はRailsクラスディレクトリという特定実装について話していただけだったようです。Modelという概念もこれだけ肥大化してしまったら、オリジナル概念で彼等と会話するのは諦めるべきかなと思いましたし、Railsの"MVC"をアンクォートして語るのはもはや害悪であるとすら感じました。

レールから外れる辛さ

Rails界隈の人がよく「Rails流儀」や「正しい"MVC"」というのを口角泡を飛ばし議論しているのを目にするのですが、おそらく外に広がる不条理で火傷を負って快適なRails世界に引き篭もった結果としての一種のストックホルム症候群なのだなと思いました。いまやAjaxとかWebsocketとかWebRTCとかを組み込もうとする至極真っ当な方法論がとてつもない高難度に見えてきます。設定よりも規約、というのも一つの方向性だと思いますが、ドメインサービスレイヤ名前空間を構築しようとしたりコードジェネレーションしようとしたりしただけで地獄のようなCircular Dependency罰を受けてしまったので、自分がとても間違った事をしているような気がしてしまいました。とはいえConcernsに特別名前役割を与えられても正直しんどいので、皆が皆libゴミを放り込んでいく様子にも納得がいきました。

レイヤ?何それおいしいの

RailsAPIサーバーとして使おうとするとまずビューが無くなってMとCだけになりますが、いわゆる"MVC"の文脈で育ったエンジニアがなぜ息を吸うようにFat ControllerやFat Modelを作ってしまうのかという事が良く分かりました。多くのRailsリファクタ手法と称されているものクラスを書くファイルを分割する事以上のものでは無いように思えたので、Rails使いを大きめなAPIサーバー案件に回すときセットポジションDDD青本を投げつける必要が有るなと思いました。

TDDやれんのか

ビューとコントローラを結合させた場合結合テストはCapybaraとかのBDDマークアップサイドとの干渉を恐れながら強い気持ちでメンテしていくしか無いのかなと思いました。おそらく脳に電極を埋め込んでいるか緑色のランプを見るだけでハイになれる特殊な人にしか生き抜けない闇が垣間見えました。コントローラを薄くしてサービスレイヤを挟めばその辺りもうまくいけそうな気がしましたが、ビューからヘルパーモデルがいくらでも透けて見えてしまうという状況では裏側の完全性に自信を持つ事は難しそうでした。

分業とか出来るんだろうか

ビューがRubyを叩いて永続化レイヤと直接コミュニケーション出来るというのはとても生産性が高いのだろうとは思いましたが、こうして出来たパーシャルやら何やらをデザイナーとどうやって共有するかを考えると頭痛が痛くなりました。おそらく適当に切り出して綺麗な空間をassets以下に構築した上でpublicにRPCのような窓口を備えたゴミを量産していくのかなと思いましたが、もっと綺麗な方法はあるのかもしれません。でもきっとRails案件に関われるデザイナーRubyバリバリ書けるに違いないはずなので、ここが問題になる事は無いのだろうなと思いました。

RESTとかきついです

RESTはとても美しいパラダイムではありますが、そもそもHTTPがさほど美しくないので歪んだ空間には目を背けるか勝手解釈を与える事で人は初めてRESTfulを名乗る事が出来るのだと思いますGETbodyを(公式には)持たないという事について美しい説明を与える事は出来ないでしょう。サーチAPIはどうしますか。ステータスコード足りなくないですか。401エラーはどうしますか。そしてRESTあくまリソース抽象化する美しい概念なので、アクション副作用については貧弱です。動詞が足りないですし、一般動詞に狭義の意味を与えてドキュメントするのは二度手間しか見えません。PUTには冪等性があるべきみたいなこだわりは家の猫にでも説教してればいいと思います。というわけで、REST的な設計拝借することはよしとしても、「○○はRESTでは無い故云々~」みたいな注文はやめて頂きたいものです。

そんなに嫌なら他に行けば

とか言わないで欲しいです。こういう時にセットでPHPをディスって悦に浸るのは知る限りRubiestとPythonistaと中学生だけです。それにこれはあくまサーバーサイド初心者感想なので、想像するにこれ系のFWは多かれ少なかれ似たような不満を抱えるものなのかなと思います。というわけで、おそらくこれから選択肢がある限りはRailsを使い続けると思います

だってRuby楽しいんだもの

2014-07-17

関数型入門以前

これ読んでも関数型分からないけど、入り口の前あたりに立つために

関数型言語覚えたらなんの役に立つの

プログラマとしての引き出しが増える。

って書くと「そんなもんどんなプログラミングテクニックだって一緒だわ」って言われそうだけど、でもそうとしか言い様がない。

とりあえず、オブジェクト指向と同じで、プログラム構造化して、複数レイヤーに切り分けて部品化していくテクニックだとは言える。

ただオブジェクト指向とは大分切り口が違う。何ていうか、割と直交する切り口でプログラム構造を切り分けていく。

なので、関数型とオブジェクト指向と両方憶えるだけで、大分切り口の引き出しが増える。

オブジェクト指向関数型両方憶えると、プログラマとしての引き出し増やすのに効率が良い、って思えば良いかも。

具体的にどう切り分け方が違うの?

オブジェクト指向は、プログラムの各部品を「あれの中のこれの中のそれの中にあるあれ」みたいな感じで組み合わせる。

部品が更に細かい別の各部品で構成されていて、それぞれの部品が噛み合わさって、複雑な一つのプログラムを構成するような切り方。

関数型言語は、プログラム部品を「あれをした物にこれをした物にそれをした物にあれをする」みたいな感じで組み合わせる。

もっというとプログラム全体を簡単に記述するできるDSLがあって、そのDSLを簡単に実装するためのDSLがあって、DSLの入れ子構造で一番小さい部品シンプル関数、みたいな切り方。

どう使い分けたら良いの?

ケースバイケース。

ではあるんだけれど、シンプル部品を大量に組み合わせて構成するのがしっくりくるならオブジェクトで、部品数が少ないんだけど一個一個が複雑な動作する構成にしっくりくるのが関数型……かも?

関数型言語の紹介見てると、何かひたすらイミュータブルなデータを弄繰り回す説明ばっかり出てくるんだけど…

関数型言語たる条件として「関数が第一級オブジェクト」ってのがあるんだけど、関数が第一級オブジェクトだとイミュータブルなデータを素直に扱える。

で、イミュータブルなデータ構造使うと色々便利、ってことで実例として一番出てくるという。

何か型型言ってるんだけど、型くらいC言語にすらあるわ。メモリ領域の確保量を示すあれが何でそんなに重要なの?

関数型言語エポックメイキング的な言語が三つくらいあって、元祖Lispとその流れ汲んだMLMLの一種で関数型をある種の到達点に持っていったHaskellって感じ(独断偏見)。

で、このうちのMLって奴が、プログラミング言語に型システムがついてるんじゃなくて、型システムプログラミング言語がついてきた存在だったりする。

型で色々やるために生まれたわけで、まぁなんというかそもそも型と密接な関係にあって、Haskellもその流れを汲んでて、こいつが超有名になった、って感じ。

おかげさまで、型使って色々やったりする方法が日々考えられているわけです、静的型付関数型の世界では。

クロージャって、大まかな概念wikiとかで理解したけど、関数型でどう使われてるの?

関数型言語ではよく「関数関数を引き取って、合成した関数を返す関数」みたいなのが使われるんだけど、関数関数の合成って、それ合成された関数がもともと引数として与えられていた関数憶えてないと無理やん? 自分自身の構成部品憶えてられないわけだから

クロージャあると憶えててくれるわけですよ。

そんな感じで高階関数実用的なレベルで使うのには大体必須と言う。

モナドとやらは何に使うものなの? 何が便利なん?

関数型言語DSLを作りまくる言語みたいに書いたけど、モナドちょっと複雑なDSLを簡単に作らせてくれる仕組みだと思っとけば良い。

Haskell副作用が一切ない純粋関数型言語って言うけど、副作用なしでどうやって入出力してるの?

まず純粋定義だけど「全ての関数は同じ引数を与えられた際、必ず同じ値を返す」ってことで、これがいわゆる副作用がないって状態だ。

で、これって逆に言えば「プログラムである関数に対して、絶対に同じ引数を与えさえしなければ、その関数がどんな値を返したところで、事実上純粋だと言えてしまう」ってことでもある。

本末転倒感があるんだけど、HaskellではIOモナドという仕組みと特別main関数を使って「呼び出すたびに絶対に違う引数自動的関数に与えてくれる仕組み」を実現していて、こいつを使って入出力する。

うん……凄い本末転倒。ちなみにこの自動的に与えられる引数はRealWorldって名前がついていて、要は「刻一刻と変わり続け絶対に同じ状況にならない現実世界の状態を引数に取っちまっているようなもんだからしょうがないだろ?」的な感じ。

2014-06-24

はてなブックマークもっと便利に楽しめるかもしれない非表示リスト

otsune|kanimaster|jt_noSke|habuakihiro|mohno|munyuu|ChimeraJpn|DoukiHousou|Nazo_Gen|wataru-ishizuka|kenken610|ncc1701|koumet|s62|gingin1234|saposaposen|SiroKuro|hascup|s_hosokawa|thermalpaper|triggerhappysundaymorning|foobaafoo|marupin|chintaro3|minakon1979|NOV1975|predator995|goodhome2|Frequency_Random|jankoto|netisfree|API|artzt|iiyoko|LossCuts|kame2332|vid|gasemato|oguogu|kyoupon3|Moonlightdance|cybo|yo_423|palo|thesecret3|skywave1493|HSE|yingze|tanizakura|Outfielder|RIP-1202|itsukiranru|kento255|nekora|kentultra1|mitsu0227|F-SQUARE|hatenkou001|yhiroko60|ruletheworld|ototake|kaorionda|kurodamiho|malark|iya_honto|Dursan|takuyakoba|m-matsuoka|mk-biz|k-takahashi|arbitrage1979|abdullahthebutcher|jujubea|kumonopanya|mai0727|kenyu77|c6216|akibakaori|furukatsu|deadcatbounce|TOM2005|ks1234_1234|manydsvn|Yagokoro|A410|Hige2323|activecute|KANIBUCHI|Zarathustra1951-1967|hatoken|ftype|etherealcat|taikoubou1|toraba|Midas|infobloga|motowota|enderuku|tamase|vitamin_G|www6|hatredlef|chnpk|vanish_l2|katsura_1|zions|tdam|momo21C|braverobo|looot|kirche|a3sw|K-yamada|chousuke7|big_song_bird|neogratche|hagakuress|Assume|Takewaka1976|Gakkuri-Kanabun_09|nextworker|pribetch|shikaku3|fujichan1234|Membrane|justgg|andalusia|clclcl|ka-ka_xyz|teracy_junk|weekly_utaran|SENAKA|okurus|mori-yoshiro|yamamoto8hei|sudo_chown|fumichan23|sashatwix|uciga|babylonia2011|mizuno8387|touitsumizuchan|moonie|wavewave2013|member21|evifrailove|kimkim108|ucadachi|tameniikiru|satromi|xxix29|anpo-sumeragi|sonickhedge|anigoka|yuka_taso|nicotag2525|yuhtan|blackwing83|yoshiyuki007|renaikogaku|FEFE|aikoku_sensei|yoshino2|st_valley|serio|asahinoataru|denden-cafe|geist1979|heyacho|Harnoncourt|Hiro0138|shoot_c_na|TakamoriTarou|spoichi|sekiryo|sukemasa_fujiwara|a2de|bakeneko44|zichao|gremor|timeismoney|pink_revenge|bumble_crawl|moccai|eijiso|UlickNormanOwen1924|daigakuseikyou|sys-arts|glass-_-onion|k146|rt25|seamore0228|katayoshi|wbbrz|mgkiller|shichimin|mobanama|a96neko|hirokazuiwai|mostaga|okemos|Jolokia|obata_hiroshi|John_kit_tea|tiro2010kina|utushi|gulugulu|tetradrop|Baatarism|daruism|wangshot1155|axel69|yingbb|satomi_hanten|Chosuke|keima1230|ripple_zzz|unaken|jitojito|mnox|cladegifan|Moodykajigaya|saekik|dodorugefu|l-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_l|hobo_king|shun346|munioka303|ao-mid|koubemise|gomunaga|minaminoani|yasyas|sybianoid|ysync|washita|dagama|aaact4|Kukri|the_sun_also_rises|aruzentina|araigumanooyaji|tonapa|napsucks|ferias|y-wood|attoku|Naotoh|midnightseminar|daruyanagi|gimonfu_usr|buu|Snail|sakuragaoka99|hyakuhyaku|charleyMan|doroyamada|kempff_n|yem3399op|AmahaYui|nippondanji|sacredjustice|ken5chi|myosho|melo-ria|kikori2660|hidamari1993|raf00|batz-22|nokonoko11|operazard|orihime-akami|aimind77|taka_atom1007|kaionji|tyokorata|ashigaru|JULY|amateur2010|habuakihiro|kyuuiti92|sa_tie|jack_oo_lantern|kingate|monono|bengal00|miitocha6|hrn_k1|fragilee|ahmok|kibitaki|matsOS|simbelmyn|a1101501j|srsrbilly|filinion|bitey|falkbeer|jojojojoen|ketudan|ym_lennon_papa|doudemoii99|locust0138|Oriuta27|naokibtn|twisted0517|ryokusai|tonatonatonac|velvetgrouse|npoposse1|nekosichi|LawNeet|jay926|osakana110|kzhvsonic|komamix|bookiori|copuy|dmnlk|dog_me|Donca|d_animal141|ebi73|evertex|hamhamtarou|hatataw85|i_am_kawai|khujhlo|maedakingdom|mikayu55|mi_zu_ta_ma_mi|moemoe386|nanagami|nurie19782|omosoku|outotsu|reglanz|saitousansaito|shrimp17|toshi19650104|TsutomuOnoda|unyuunyuho|WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW|yoshirou777|houyhnhm|synonymous|zaikabou|ululun|sin2mo|xevra|daybeforeyesterday|omf|H58|politru|hazama-hazama-hazama|Apeman|believemeimaliar|ksaitou|YTR8335HS|letterdust|bogus-simotukare|sotokichi|mangakoji|Louis|omega314|noabooon|guldeen|tadasukeneko|okachan_man|kuippa|mahal|lkhjkljkljdkljl|TERRAZI|BassVoiceXYZ|feita|haunebu2|m_yanagisawa|simpe|sorarisu0088|marsrepublic|ponako10|superpuma|o030vv|kathew|k_wizard|festerfester|as1_htn|foxtrot0829|d0i|yakouhai|kiku72|vocaloid|and_hyphen|b4takashi|nattoh|hate_flag|okanoao|frothmouth|with-must-fel|bakadomoga|gasparl|AKIT|fk0407|takehana_masaki|noraneko|pollyanna|pokute8|msukasuka|pazpon|SHOWFKUP|yoko-hirom|vanacoral|kogarasumaru|K-Ono|nanospectives|ponyorin|kumaroku|suzu_hiro_8823|kosui|tenkinkoguma|pero_pero|hi_kmd|sasurai7|dai_air|hatebu_music|dononymous|kenjou|nabeteru1Q78|tarekenroom|momopopohate|miyamotosan|debriel|hihi01|n-styles|wandering_emanon|shueiwaka|yutamoty|kimikitan|browneyes|beth321|gikazigo|rosaline|kitamati|shouchan7428|longroof|loveanime|gureusa-and-kurousa-rabbits13|h5c223tc6qvxc|tsukitanuki|Taro416|arama000|baka020|Lumin|gmochein|masa_bob|takanofumio|qadapix|richest21|nenashigusanora|penguin_002|kagecage|drumandara|app2641|internus|topisyu|north_god|echo2944|honeybe|fujiyama3|ricemountain|zeromoon0|negril67|k19d|moghiko|sqrt|minonet|trini|kazukichi_0914|chris4403|Blue-Period|korn_freak|iasna|lastent|SndOp|pepeky|treve2013|Lag_TY|sakura_123|cider_kondo|garage-kid|sketchlife|kana321|inukorori|fumifumi43|aukusoe|oinosaka|macchauno|high_grade_works|gdk0213|poppun1940|west-hiroaki178|kasumani|ekken|TM2501|rascalrascal|d1b|ikari51|meme-o|plutan|feather_angel|katc|iwax666|i2i|fuba|Asay|hatekun_b|takanorikido|sunamandala|akira-2008|jaikel|suikax|Falky|Nean|yas-mal|aodifaud09|solidstatesociety|furakutaru|kyo_ju|raitu|tg30yen|jou2|miruna|rag_en|nuicksilver|kodamatic2|quabbin|kana-kana_ceo|Arturo_Ui|REV|juverk|haruharu1|terminalhead|kazoo_oo|ellm9|rAdio|akikan2|naohero22|nenesan0102|oyasai55|glasstruct|pullphone|ramyana|abc0123|Gl17|sabacurry|shigeto2006|popoi|netcraft|vndn|craft_kim|kenjiskywalker|sonicdrum|jorgekosuke|ytn|analogical|kaz256|birk|arayutw|tomymot|sisui_ro|hidex7777|uwasanoaitsu|uhyorin|shunpei55|yuki_2021|ore_de_work|narwhal|GOT4416|nurupo889|cutplaza|Notizie|kisiritooru|Caat|washburn1975|zyusou|luccafort|my-kana|thirty206|Journey|rider250|MK3110|mizu2014|jaga_rikoo|steel_eel|mousecat|wapa|Saitamakei|n2khjm|tamtam3|sho|lesamoureuses|kyupi-n|blueboy|yoruneco|meerkat00|copyxxx|shukaido170|kaz_the_scum|munetak|caligo|hokuto-hei|agleldvr|hikaruda|mah_1225|okxiav|uma666|coolstyle|Ivan_Ivanobitch|straychef|theatrical|kazuya030|sakuracon|mame-tanuki|SusanoJapan|exadit|catryoshka|s1_snake|h1romi|miss0803|Soregasi|SEIKI|mobile_neko|miryu2008|cake_holl1515|Borom|sync_sync|zorio|highrise|Lhankor_Mhy|John_Kawanishi|karatte|yoko_kitchen|kyoumoe|katabiragawa|coper|quix_que|scopedog|usi4444|Ayrtonism|hitouban|nunnnunn|Jun-Sugihara|amakanata|peco_poco3408|nemu_ichinose|ikurazu|ryo71724|suminotiger|bambi_eco1020|koiyaro|nao0990|nekonekonekotori|kagamihoge|gui1|hkurata|maicasato|akawi|mae-9|teacheers|banban|akimaruworks|yzxnaga|Amontrue|Gustav13|zmoi|ze-ki|haruna26|gin0606|paradisecircus69|primedesignworks|amori|kouas1100|trade_heaven|ricenoodles|gryphon|style_blue|upran|bzb05445|kikuchi1201|fusanosuke_n|Nowhereman|Domino-R|suburban_researcher|agage|coolpix|smilestyle55|seagullwhite|chess-news|zuiji_zuisho|koyhoge|rorinana|W53SA|Changeoneself_Lifehack|yukimurasama|omiya6048|SchizoidMan|daichan330|aquos12345|sarcoid|asobi|TakahashiMasaki|bioweb|non-chan3|k-h|a_micchan|t_utsumi|nakomaru|re_peko|benelux|BuntaPig|T_Tachibana|goodbadnotevil-syamo|chobinuke|barias|s4d|sumito0720|amamiya1224|asarina-k|snowwhite1090|peketannku|kirifue|tsuki-rs|nagisabay|masaki_akiko|Sato_4tree|aozora-pedal|cyborgninja|x9629|natsu_san|joker1007|linden|terurou|benkeiblog|lordkf|keim_at_Si|toomuchpopcorn|marumusu10|rokujyouhitoma|mshs0609|damae|peketamin|USuck|poipoichang|era1978|lastline|kanamatch|ElizaAcolyte|azumi_s|Pandasista|masutaka26|dadapon|kamei_rio|kyasarin123|coppieee|nobby81|shoshirasaka|kastro-iyan|aktk_f|toripika|unsoluble_sugar|alovesun|Ta-nishi|lylyco|meeakat|hidamalar|yubigasol|neco22b|a-lex666|brendon|himomen|htb48|Marin_MTB|mumincacao|vanillableep1618|shoG3|calcan|youichirou|Landmine|azure-frogs|You-me|kissuijp|yamuchagold|comzoo|zakinco|Vorspiel|YOW|syuu1228|whkr|death6coin|izatan|seiyuDB|camellow|koluku|yunottinoatama|Nyoho|pianocello7|shufuo|princo_matsuri|ikkiii|typex2|kurisann000|at_yasu|kiyohero|tahaji0117|mizukemuri|moritata|takuya916|gigi-net|odoru-mn|htnmiki|ippeichangg|POPOT|BRITAN|taihe|moons|ntmukai|ptolemychan|kagobon|niryo0113|zz_sexy|underd|migurin|Besucher|yuki_drop|nomitori|navix|maijun2|vhthlh|mas4bookmark|killerQueen|ipa5963|hajime0329|o_mega|xr0038|hoshinasia|studio3104|yaruo3dao|inulab|sho_yamane|naga_sawa|shamr|qittu|QJV97FCr|masudamaster|white_rose|mifasorashido|kaitoster|mujisoshina|Rlee1984|narug_summers8|osushi_soba|k71360274|lejay4405|dododod|shields-pikes|yuta25|aquarla|mame_koo|ZeroFour|syakinta|kkobayashi|richard_raw|mmsshhrr|neriu|hase0831|chuunenh|hiroshi_revolution|tatage21|seabreamlover|ranpei|aassddmizuta|nagaichi|monakiko|miyagi12|sawayaka_b|kamibukuromiata|mkusunok|tenchikometen|turry|miya999|kamayan1980|kiyo560808|biztaka|miki3k|El_Fire|kirte|tanmeso|maritimecolor|masuruku|suna_kago|kurahito3|ikd18|kouhei_kain|mcddx30|timetrain|sima_pan|pomojan|usagino-mori|tyu-ba|masakih|riocampos2|rain-tree|sakuragaoka|zu2|lyri|komochishisyamo|suzuki84g|hal9009|hakidameru|makoto725|shinagaki|aki-17|shiba_yu36|uturi|gfx|fjwr38|mico-mico|y-yosuke|desuzo896|buffbuffrat|Barton|ornith|unyounyo|turretmusuko|wes2626|negi_a|aratah|tiki0108|YaSuYuKi|kuroi122|yk4192|yoiIT|takhino|kakipo|isano|qtamaki|ustam|hiero|kakakauchi001|sin4xe1|gdno|tkamu|AR30|gugod|chochonmage|sika2|metroq|ikusana|tkysktmt|tanaka_yuuma|takuzo1213|y-mat2006|yuiseki|suzukidesu23|hisawooo|KoshianX|tskk|shunning|mochidori|namikawamisaki|mustelidae|MoneyReport|ente04|isshoku|take-it|kiku-chan|reima|kiichan1115|cj3029412|jassmaz|silverscythe|cloq|ossan3|crapman|yuchan893n|muchonov|sph_375|namawakari|sugikota|taketyan|Swatz|kuroaka1871|tanorityy|daddyscar|ch1248|yeenee|testa_kitchen|wl0x0lw_lenz|pirokarupin|katanyan|tikani_nemuru_M|papamao|misias|jiskay|Aodrey|bean_hero|flclover7|kura-2|kaeru8823|Cliche|EG_6|yukitanuki|hungchang|ktasaka|inmysoul|inurota|georgek5555|jKandai|oka_mailer|mikanyama-c|watto|chikurou|Sediment|tecepe|toshi20|marony0109|fellfield|aflat_1000dai4|xisher|narukis|kagasan|gnt|Sinraptor|blackwatch|Ni-nja|kyrina|hasiduki|tomiyai|c_shiika|caplsy|whiteball22|manFromTomorrow|nejipico|zatpek|kotobukitaisha|mah-fa|m_uchino|yujing_musume|yotinakk|sumida|NAPORIN|modal_soul|oceo|hamatsu|naoto111|misaquo|muso00|Cunliffe|sink_kanpf|hiruhikoando|doronpa55|hunyoki|laranjeiras|kirigirigirl|barubari2955|outroad|ecochiko2|alloreverything|hagex|sny22015|aurijpn|bbb_network|jogjogjog543|outland_karasu|linus_peanuts|watakochan|ponkotukko|totoronoki|tpircs|hitode909|keishut725|wakasatoshi|iida-kana|tanukichi087|north_korea|watapoco|lp008962|tohima|aereal|Caerleon0327|horahareta13|footwork_x|satis|kazuhooku|s_tosha|deeeet|reteru|sigwyg|toya|gorodoku|operationservicebu|itamae|kohgethu|ureyubo|kaipu1224|usa02|usamyu56|mockingbird0619|hylom|kanariezuki|Vudda|tsubame_nanami|djsouchou|rio123dx|rikzen|sampaguita|el-bronco|ranobe|kotaro0413|IkaMaru|luxsuperpoor|Gelsy|momizikeiko|TequilaBancho|dadywada|welchman|lochtext|uunfo|bronson69|mesomeso|soooma|sucelie|cs133|monica83jpn|penguaholic|n_pikarin7|nonogray|wienerhorn|mmdawson|CDG|himashuhu|omerico|kazuya53|shimaguniyamato|zhenyan|shironeko_t|akihiko810|s-tomo|t_trad|gagegogi|utaro2013|murishinai|Sigma|deneb-y|reachout|mo__ki|k-rallyart|nymc|ueshin|popoon|masato611|kotesaki|taka2071|reikax|duck75|menjoh4486|keloinwell|Akimbo|exterminator|mk16|ni-ten0|mainyaa|hiro_y|twilightmoon99|shiromochi923|fb001870|seppu|suzutreeadd1plus5|hiroyukixhp|nogutyo|thyme56|kyokucho1989|sensitiveplus|thyself2005|fa11enprince|adgt|mu_hal|sato0427|vifam84|BT_BOMBER|yunoka0314|tetsuya_m|mogmognya|sirocco|Yozhik|kskmeuk|coolworld|yamada_maya|alphabet_h|kankichi20|louis8917|kowyoshi|ohira-y|wata88|toratorarabiluna273momomtan|kiyoami|An7s|smbd|puruhime|hiromo2|takashi1982|nagaimichiko|opemu|shifting|buhikun|SirVicViper|Dirk_Diggler|Rinta|haruhiwai18|goldwell|dgwingtong|hotsuma|wwitzmaster|spherera|gsindiv|asahiko|senomama|aoi-sora|oktnzm|onigashira_3|kerokero0218|daisuk-com|soulful828|hatchman|kongariknow|nyokkori|kirin_tokyo|hyougoishin7|Utasinai|kamm|BlackJoker|mugdmugdmugd|automaton37564|nicoxnico|diet55|nasunara56|bloominfeeling|nariakioki|infomuseum|sub_low|MagnesiumRibbon|mekurayanagi|kast|evolymyllas|omi_k|name-25137412|urbansea|zyoucun|kyuuuuuu66|JacknicoL|da-vinci-da|NMDA|jkondo|mtakano|otokinoki|nijuusannmiri|TT_TT|Dersu|nandeyanen36|matsuo0221|nobodyplace|wetfootdog|Micawbe|kalmalogy|taka18782|kumeyu|AHOUJIN|letoro_mania|rgfx|kanu-orz|yukitoame|Mu_KuP|bullsco88|rn88888|soylent_green|kenchan3|deep_one|sarariiiiin|stumsky|kunipon|dobashi|naglfar|anoncom|smicho|sundays_co|arien_nu|junp_n|sagisite|hamukatumix|pinkyblue|mikankueyo|penpen-0704|kenzy_n|kakimasu|Yoshitada|nakayubi3|wow64|sase|xxbb77|tamamusi|cruyf|zinjoutarou|Kmusiclife|yoshiyoc|lestructure|kaanjun|cleome088|duckt|debabocho|hogeanonym_20101012|Panthera_uncia|Windfola|nekonyantaro|kloud|m-kawato|kako817v002|sugar_jirou|shun_libra|Mattyan|oskimura|MermaidSong|cubed-l|Shingi|shikiarai|norinorisan42|ookamu|take1117|CrowClaw|Sarutani|tannomizuki|nishinq|kukky|cider3613|law|Dicer|kane_to_onna|hikky1022|dowhile|inaminn|morita_non|oono_n|kouchi203|MS310ru|naotoj|enkunkun|Ukey|grshb|hattoushinha|jurgen|nekobosi|pha|kujoo|deamu|K_SHIKI|zebraeight|roppara|raraya|atoh|hakodama|fk_2000|matsuwo|kemononeko|mememememiti|uncloud|kei_1010|naqtn|gohankun|julajp|tomoya5|mirror_fukuyama|masa-wo|mattttsu|kimzo|denken|brainparasite|kanose|udzura|RPM|snobocracy|nre20689|murashit|Nihonjin|orangestar|p_shirokuma|nakakzs|kkk6|suVene|megamouth|aureliano|kensuu|yoh596|Red-Comet|i196|FunnyBunnyDizzy|tuisumi|hana5521|showgotch|endlessdoor|gnufrfr|Nayuta|sho322|barlog|naquamura|DustOfHuman|soteciki|nagonagu|hal-e|abc1cba|cho45|kawango|basseyboost|yuyans|BIFF|uzusayuu|shifumin|closer|semimaru|funapon33|rusemoly|demodemodatte|sifue|brtRiver|tatsunop|snowdrop111|gouzou|y-kawaz|amigogrj|the_dirty_boogie|rokushou|on_your_mark|monaken|ROYGB|D1953ColdSummer|FUKAMACHI|uxoru|NOT4beat|zenibuta|utd_sn3781|kubomi|nuba|ki-sa|ttttttttt123|saz_go|norinaka|yP0hKHY1zj|susahadeth52623|ScarecrowBone|kujira_aoi_blue|suteacco|mats3003|manaten|shibuyan730|tsutomu-switch|FTTH|msmaiplruri|mixxcolors|cinefuk|dsl|chocolaterock|sjn|toritori0318|e-chikuwa|nayuko22|atsuyoshinarumi|sand_land|wsskho_m|houjiT|oritako|kijtra|ogawalaw|tsu_nyan|nochiu74|Yuta_Eno|hanyA|gajumaro|kiyo_hiko|haruten|ShangriLa|jiminko|rti7743|tamasuji|about42|n_y_a_n_t_a|charismanbou|howlingmoon|nisezen|guru_guru|katsushisasaki|tmura3|yamaimo_san|kz78|saizou4|CCCPdotK|pkm|fut573|nemuibayashi|neowotona|tnh|gintasoy|asamaru|sora-papa|aomeyuki|fjsk|obimaruko|moomintroll0814|n314|yoshihiroueda|pukarix|fooky|nerimarina|genzouw|skur2|jgoamakf|loop|henohenoktmk|haruways|mikawa_1964|shigeno57|h935|royaltouch1297|palehorse82|mfrider|mama_yuyu78|syu614|Countdown|decnonet|Waspkissing|Hamachiya2|dusttrail|jeffwayne|sktknko|Hana56|go32ing|GROOVY|LaNotte|junnishikaw|chazuke|mchmakki|kimasse|sm3823|tweetbot|fukurow57|khss_keita|Ereni|Dy66|lovely|studiosilk|clapon|sukekyo|tomoneko029|mifio|haburashi13|ajic0n|Amrak|font-da|j-crouch|OzzyZOW|neko-panchi842|junmk2|sachi_pop|funkynaonao|lenore|yuki_sheena|hinaho|ohmomo|Yuryu|toh_chika|Eriador|ophites|erya|wander1985|keys250|lisagasu|hariopip|mpresso|saicolobe|chrl-ohya|ichiharu12|un_eternity|kyabana|slywalker|as3187|y-towa|heaco65|Zephid|chira_rhythm55|hazisarashi|Isuzu_T|kuzumaji|itotto|poponponpon|Dreaming-realist|skgctom|aplmyuki|ushi_mo|GuriGura|kato_19|qppxw221|yuuy0424|nomeaning22|dal|hisamichi|T-norf|angmar|shea|tnakamura|citron_908|ohnosakiko|rin51|sasakill|mixvox-j|saigami|bookbridge|goemon08|kerodon|segrokamome|seachikin|kaz-coz|marief8107|eriko315|a_dogs|senchafreak69|fuyuohmine|kananaka|AfroRay|kaerudayo|bigboy-kyt|abc9razysalt|KIKUKO|mahiru123|nogikusan|a666666|kurapapa|yuki_koga|ttrr|attrip|shun1s|mini_big_foo|yamadar|aliaki|rainbow_doll|rirekichi|potD|nanoha3|AltNight|takuwz|nowa_s|ebibibi|remcat|makopooy|navagraha|kamemoge|ikd9684|gedroid|chap_py|sripura|yhm96625|bluemuddy|fjb1976|taturo-00|hkn|workingmanisdead|mst_capri|rosedust1192|takefour|upapa04|Ez-style|igusa|umiusi45|nicottowatch|hatayasan|simplemind|kangiren|ikihaji_kun|sisya|elephantskinhead|sakichi33|wasai|posinega|tydk27|apricotbarley|ysog|umi1334|mantol|suihan74|hobohate|enemyoffreedom|underhitpoint|yachimon|findelight|adliblogger|tsupo|hanya_pung|uehaj|musyokuneet556|ninosan|Ohgyoku|sakuratandotbiz|arlu|lovecall|kasajei|flagburner|taka222|rocketboy_miya|linuxdiary|akio6o6|originalorange|behoimin555|bulldra|ami-go40|aoiro_moon|ko-ya-ma|masao_hg|u_eichi|s17er|ubiquitous2011|zentarou|ryoju|Lobotomy|cardmics|batti-8|new3|morimemeta|asimino|wschldrn|luvlife|tenku65820|tailtame|eriotto|RINKINGA|tukirou|soratokimitonoaidani|lost312|td_kirin|tsfmysd|caq|thrakt|bbk0524|keshitai|tuki0918|kunitaka|fuzz0114|michiki_jp|t-ueno|Islecape|HBK-mn|hyolee2|mattilda|dogear1988|trashtoy|wadap|kubodee|sokodora|hirosh_yoshida|kp1|AC0|miyadai454|dj_superaids|onelineca|edechang|sextremely|suzuki_yamadori|halcana|kawa7610|likk|hiromikov|unigame|todo987654321|kuxttoba|unionia|spacefrontier|asazuki508|type-100|IthacaChasma|MersA|yellowbell|rajahbrooke|YMZ|simabuta|mongrelP|masm|hharukaa|pazl|moiwamoiwa|redlabel|laislanopira|usukeimada|Nobeee|ktakemoto|kaggiko-chie|tahatahon|allezvous|whazuparthur|mofutofu|tackyv0o0v|yamadadadada2|yukke1006|T_Haahi|masudamasuo|yoooen|dobonkai|YukeSkywalker|datemakio|until600331|mak_in|pacha_09|threecloudjp|shira0211tama|kumokaji|americanboss|dual_shock_blue|utsuro|akiat|geerpm|spamalot|Luigitefu|tonton-jiji|kuriemon|northlight|dummy1|xsinon|kaeru-no-tsura|ledsun|odoratec|uwananiwosuru|gazi4|lotusland|montnoir|dennou_kurage|aienstein|hanazukinokita|cheapcode|megane1972|wakachi_fehhu

2014-05-03

http://anond.hatelabo.jp/20140503095216

みんな少ないね。おれは前はかなり非表示に入れてたよ(下を見てね)。気にいらない記事をブクマしてるやつらは全員非表示にしてた。これだけ非表示にしてもたいして見える景色は変わらない。いまは元に戻したけど。うぜえと思ったらどんどん非表示にするといいよ。(*追記 なんか改行しないせいか途中で切れてたので、ところどころ改行してみた)(*追記2 文字数制限でもあるのか全部入らないので別記事にする→http://anond.hatelabo.jp/20140504105600http://anond.hatelabo.jp/20140504110458

angmar|ryokusai|activecute|mamasan84|hurdle91_4|TakahashiMasaki|tajimaboard|hatake|metalbabble|xevra|ftype|zaikabou|atoh|zenibuta|IGA-OS|waccher|susahadeth52623|FukayaAruto|Hana56|rfg5ks|ys0000|CavalleriaRusticana|solidstatesociety|cheapcode|Yagokoro|tanakadaishi|Cichla|y2_naranja|nagaichi|www6|ain_ed|anticipate|yurutena|akkakka|jtw|konkon1986|frsatti|rag_en|aenea|junshoku-159|skeleton-lair|fusionstar|n_pikarin7|edr|tirol28|ttlweb|mintpafe|almondcrisp|by-the-A|sagonohashi|papaopao|kingworld|Southend|phe|babanshika|mujisoshina|koubemise|telmine|kawatuka|mi2maru|honeybe|pumpkinphilicity|rika-rikarin|WinterMute|rz1h931f4c|snipesnaps|hamatsu|aminisi|faintmemory|Carbon12|narita_seiki|yuki-endo|syuu1228|Kou_RYU|ult100|h_tksn|DrFaust|imai78|momonger|Iridium|deadcatbounce|tender_apricot|Louis|ore_de_work|ranobe|ask11|aont|m_uchino|citron_908|orenonihongogayabai|temtex|raf00|barnout|raizon_detre|wartanenemon|HirokiJpn|chochonmage|jaikel|sulraw|MersA|ululun|hokuto-hei|ketudan|runeharst|k_gobo|n-styles|tomitake_flash|ta|takey107|pulp_literature|shibuyan730|vierger|karpa|feita|Serious|isshoku|hisamura75|quwachy|chuck_41|timetrain|kurai|icchan0000|vid|F-SQUARE|saebou|zz_sexy|me5655|md2tak|vitamin_G|konekonekoneko|false_alarm|kawacho|harumomo2006|tannsuikujira|diveintounlimit|mainichigomi|Irris|what_a_dude|konstantinos|koinobori|dlit|Sinraptor|ghostbass|sor_a|AmanoJack|kono1|Pokopon|genovese33|iwasi8107|Tamemaru|kirarapoo|goldwell|furukatsu|inadatomoaki|xufeiknm|mohno|north_god|mk-biz|zu2|kurostocking|shikinami|kahusi|Harnoncourt|rzio|mappy0x1e|tohky|delphinus35|imoguratan|hidenob|kirishima2813|tikani_nemuru_M|bsiyo|nanoha3|abtendon|hal9009|ChieOsanai|brimley3|gigi-net|no45|yajicco|sakage001|jituzon|Amerikan|wackunnpapa|ruletheworld|monaken|kimuratoshifumi|yuka_taso|kensir0u|mushi_cake|naok1991|irigium|goodhome2|lightningraft|lv-99|mashiroinc|wasara|mobanama|funaki_naoto|arktks00|tutomutti|MagnesiumRibbon|Snail|a1101501j|kowyoshi|snobsnog|rAdio|oskimura|soylent_green|Inuneco|nakakzs|Naotoh|paulownia|malark|itotto|law|key_motar|ryankigz|DG-Law|BEW|gyaam|sekiryo|noitseuq|HMCO-409|miruna|masa2501|rosa_nera|schnja|raitu|hiroyukiegami|gerling|hihi01|tappyon|kanimaster|omega314|CrowClaw|masaru_al|tezawaly|tester000|a2de|fazz0611|m-matsuoka|y-shift|Ri-fie|motorunder|cubick|gilugilu|oldriver|ueda2|k_ueda|TiMaria|thesecret3|nuke|sdsdsdd|whiteness|sunoho|riu3o|copipegetter|sugowwww|PSV|jay926|SiroKuro|tonapa|mfrider|inet_malic|kmyken1|passy_no_okan|mats3003|kamisetsu|h108|zonia|jollymolly|sajiwo|Junpecon|pompom20|qma5|netnotora|machida77|kyoumoe|sinx|simulacre|Geroro|nekoaruki|on_your_mark|chihhi1105|matsuda0111|repunit|t_ommy|utd_sn3781|seenone|iguchitakekazu|boke-boke|ymScott|gure3333|saurel|acchonburike|chocolate-choko|more_white|migurin|ID_u1nje3rh|install_maido|Memeo|kumonopanya|solaris_almagest|labeneko|Ilovenoel|junya_asa|don_ashill|laislanopira|serizawawawa|yachimon|ZeroFour|atoz|chi_to|isikasa|AKIYOSHI|n_euler666|namasutenohito|k_wizard|onanieCEO|minorito0411|kazuichi85|waferwader|gogatsu26|takanofumio|SerpentiNaga|kaworry|rjbook|baatmui|deadcalm|Scatterbrain|htktyo|medicineman|jun8|kaos2009|curln|sika2|TKK8637F|hvc-001|temtan|Dersu|Nowhereman|death6coin|himajin774|yutamoty|atsushifx|worris|halfstory|sasahira|noraneko|suzu_hiro_8823|dreamplan2004|u-chan|u_eichi|fuuumi_jp|reima|siso3|mrmt|RocRoc36|oreimo|Cliche|f_e_ita|Ratty|O_C_T|nunnnunn|y883p2|HitTheSupportersBull|mansour|chintaro3|wacking|erohi69|tareishi|www_taca|meganemegane103|hiro-rock|headstream|vanish_l2|dark_dove|kadukimoon|na23|lbuki|KANIBUCHI|gokino|CelestialFire|kaerudayo|remsleepless|jimihendrix0418|tsumiyama|coffee_and_tv|shinobu11|complex_cat|mightyflapper|yamanone44|harpy|yoghurt|teren|yamigome|joruri|napsucks|sagittaro|buripig|TsumuRi|setoFuumi|klaftwerk|zakima4|noma-n|wassy_5|corgi_corgi|mizkiyo|makoponpon|mayu_boooon|Clock0311|f-nyoro|wawawaw73|planetes|wands_ace0|amajam|Soraneko|kurokuragawa|karatte|nakamurabashi|goodbadnotevil-syamo|arakawakumiko|hamanako|API|WereIm|Cunliffe|gasemato|smartbear|rikopapa|skintight|pop23|sbr_m|shipayon|giant-killing|Gesaku_G|rxjun|KIM625|Mist|masatanz|hatesenID|murderboy|boom-boom-boom|hanaseleb|MHz0129|sooe|iMomonga|amamiya1224|zakshin|kimamaxx|high-d|moshimoshimo812|miryu2008|erogazo2|ks1234_1234|knagayama|uporeke|kuborie|welpherd|perfectspell|neogratche|sakurasuisan|maru-herzen|idiOt|yukatti|bohemianway|takaharu07|y-mat2006|hidematu|gensouyugi|weissorvice|aereal|wazurai|pokkurishibou|nashitomo|izumino|steel_eel|heal106|okakao|amamako|gapao|kisaragisan|waumao|okemos|sillyfish|kzhvsonic|manndora|sa_tie|Nakano_Hitsuji|tenku65820|tsunami246|kikujidou|SIVAPROD|tano13|tunaguinfo|Francesco3|coldbrain|koutyalemon|hiruhikoando|Rings_of_Saturn|guldeen|aotake16|besvna|mackey13|mikemaneki|a_dogs|wideangle|shinpei0213|mg69|sichimin|cubed-l|CIA1942|turu_crane|yetanother|Nachbar|kamikami3594|takobue|ext3|yahen|KoshianX|Cujo|goma108|Mikagura|an111|matagashi|Fou|ritsuca_ms|kagiya|mizunotori|feinyao|karin0712|nasuhiko|setopero|one-night|memoclip|kits|taninsw|maturi|ezk|dal|toaruR|sugi-cho|appletriangle|orchid_888|sisya|karekomi|shibudqn|takari27|hshinoda|pikayan|yukisatoshi|kozai|qxpi|yamifuu|hisaichi5518|ryukawasa|kangiren|tora_17|karuran|CGA|takeishi|shimomurayoshiko|enemyoffreedom|shijuushi|xr0038|nmit1939|anbul-441-x|snow113|misias|asami81|tekitouotoko|kussun|rs6000moe|yasumo|pycol|Mash|fm7743|fs001493|fogshadow|inumash|blue456|feilung|yuiseki|northlight|denken|ringo304|briers|sutara_lumpur|nippondanji|azumi_s|katow|SHMT|Tomato-360|sadadad54|iluka18|morriedes|lostman6|kurano|ken47|SasakiTakahiro|dododod|shortcut3|shin1830|T_Tachibana|kwhm|akawi|mizukemuri|kmagami|wander1985|mangakoji|shby_sht|skymkt|mahal|wanderingdj|ocura|sirocco|hyperkick|neojin|yokomichisizuka|spring-ephemeral|undo0530|aklaswad|takhasegawa|nogikusan|inoken0315|b00512177|unigame|multiplex00|manFromTomorrow|chinu48cm|mi0115619|seabose|hasetaq|miulunch|rxh|caz-spatial|zakkie|camel_neck|donncherrrryy|suift|kakkunpakkun|takadayararetayo|Assume|bsumoru|redfang396|hatoken|ysync|kyorakuan|taro-r|qpwo1|bioweb|wdnsdy|Domino-R|gifumaster|aitanisan|mycrabhands|juner|zatpek|tyuke|fumysan|tailtame|mikkemac|osakana110|KH_suecat|lucy5485|GEGE|jeswear|yamada_si|ryosukeoi|shoot_c_na|ak9|makaronisan|magaz11|umiusi45|ricto|dp643|crazy_pumpkin|FAEB|iaskell|anigoka|linden|llil|hbkm|kurahito|niccoro|dsl|escape_artist|azurun|asitanoyamasita|meme-o|atolsha|highcampus|frivolousman|yaoki_dokidoki|GiGir|kaitoster|p_shirokuma|genesis|zuzusea|ddd01|there_and_here|torinanban|ardarim|mashori|scoops|yspmymt|aoasagi|nzai|sota344|yu14f|tukinoha|Run2|y_arim|hazardlamp0855|alshine5|measure0315|fukken|sander|kathew|bigburn|darry129|yukikeiichi|chlono|Erlkonig|sontyo|Real_Great|youichirou|s_atom11|Santamaria_morishi|te2u|FFF|nextworker|yuaaa|top-poi|shaphere939|damepon|ka_ko_com|noreply|fuba|uxoru|harax|marvelarrows|omosoku|evertex|testa_kitchen|noritak|sin_cos|kashmir108|Philos|acqua_alta|nicovideoch|cloverleaf24|uduki_45|momo_suke|naru0504|o_mega|sotokichi|plutan|A410|hanazappa|crescent398|habanero02|bluesunday|Phys|donkey145|momomubi|hyougen|toocheapjp|fontedeagua|yteppei|came8244|bb_river|shimazoom|gebugebu|kybernetes|type-m-c|instance0119|smtp|shimada65536|SoraNyasukE|mfigure|ten_ad|air25|cutxout|yukky2000|jingi469|SZKAKTK|mil-memory|tama_no|nrke|ritsuch|kossie89|reve_rainforce|rinrinbell|poccopen|asiamoth|tow-mas|panparade|urarai|ten7132|a6u|kusaret|perucho|REV|paraselene|rdcs|dekijp|yasunori|Dic|t-rio|anoncom|John_Kawanishi|hyaknihyak|honyapen|koyhoge|uasi|arajin|lancys|ukdata|rairai16|hiroomi|angelica4ro|kidego|hakodama|unnmo|yukipo2008|ermine_twitter|imo758|shinpson|Naruhodius|Pz-4|sadn|pinoem|noname_lab|Usaku|babelap|hirali|yamakozawa|ocha39|whiteball22|sezitak9|necolaus|hannover|Barak|ahya365|EurekaEureka|suimon|Pasta-K|zoidstown|silvermoai|love-peanut|nekozea|toronei|haru-s|deeplove|TEtra|nkoz|GilCrows|nasunori|asmblr|dodorugefu|ueday|gogo0721|plustica|kobayasiikumi|howaito_denkyu|mst66|rsh|howdying|spade9970|TOKOROTEN|shinagaki|hidesuke|lovelovedog|siromado|d_pressure|coldcup|amesuke|kenzyarai|termin2|hitohitohitto|y-kawaz|jnanukom|hashimoto0226|takeyamaken1989|zorio|otsune|tatsuzawa|nemiko0324|R_Goines|kubodee|pulltop-birth|impuritynot|loliniichan69|cazukit61|tuds7280|pochi-p|Xenophias|zeki|akumasyougun|sucrose|chopapapa|takashi1970|manaten|TYK|suzunami1001|Jinmen|rin51|qnighy|gikazigo|kir_royal|ohmomo|yamada55|halt_haru|prodakuto|kousuke425|hazime2914|keyxxyz|kuroneko15|doraman|kobo454|Shimataroh|Sumitomo|nicoyou|jingi2525|kimottamakimo|cheva|era1978|bovis|kaipu|worcel_0910|wakabatan|tenkoma|u-ichi|anpo-sumeragi|neco22b|bobcoffee|u-c-h-i|choco-holic|akishin999|takuwz|torish|dnsystem|Aiffet|yuhsuke19_hg|solailo|kensk714|farfromforest|type-100|cupnude|NOKIA|a96neko|Lif|benriman|mesowest|makimura_amane|rna|quesera2|chihaya_72|gggsck|yukkie_strike|frog78|geromi|ku4ro|perisy|mk16|deep_one|hiyamad|a_matsumoto|sai-coro|mock_on|smicho|kameniwa|kokogiko|keiseiryoku|ktasaka|sophizm|unterwelt|mate-ra|ashitamad22|kamayan|panpanpanda728|hiromi163|tekipaki_work|ramyana|very_high_energy|Misapon07|Keee|softnet|est-ferelith|SizSiz|mk_chap|boukoku_db|plopea|tabyy|Hakase|gajumaro|kskb|outalaw|dita_69|kurean|netto_mk|tk18|eagletmt|vimp_fun|Magicant|junboo28|textmarch|yamakaz|amemorandum|nekoluna|da-yoshi|rikokis|muhimebiko|Makkon810501|karimikarimi|pushol_imas|crimson00|c430c|yhmt|ago_kyo|hotnot|kuronaga|goroyung|sikii_j|Bottoms_at_Narashino|elve|bunbun56|tanemurarisa|kamizyousan|KAOLY|KatmanZ|hidex7777|DocSeri|gauqui|hiby|zekky_f|natsu_san|toratorazero|tigertissue|takanorikido|stick01|rerofumi|t_sabaku|latemder|gogorou|masterknight|clworld|thvenr|pacchii|rikuo|keta_chop|kasuyarou|hu-ya|kura-kura|aka-ari|domenetwork|ken3884|BRITAN|harasyo865|sea_side|MAXjeep|aria_corp|kotamania_00|yutta125|agni|jalapeno78|nobby81|secondary9999|whirl|rxv15051|dudley_ty|lain1394|pugiemonn|arlu|mits_00|Heron|pega2s|cosmetick|tokigami|p_ny|thrthrsvn|fellows|ikemo10|hase0831|hexol|decimal|xzglrete|bookmarkjp|atawi|nugget|takayuki666|dokumizu|unyuunyuho|tzt|humid|himitsudesu|hildo|s-tomo|joyjoyjo|Coolions|kudokann|seaview_p35|totttte|sorshi|tricksterchaos|ikoekoe2|irhutnyui|brax|kasuga-k|sekiyado|porimern|silverscythe|pccs15|rutenworks|oka_Elizabeth|beaux25|kenny_green|osankuma|dirtjapan|plumsyrup|haru-mutsuki|Rikerike|modahand|fujeans|Netalacy|kazoo_oo|itouhiro|fright|crea555|samepa|kana-kana_ceo|multi12|b4takashi|nnh|FeZn|richard_raw|qinmu|neko73|takisok|rumbaba|shinchu|ya--mada|rk22|fabu0405|someinu|haruka-izumi|taqpan|Cetus|candy296|cubeon|reds_akaki|MERIHARIBOY|hidekkytsuji|TiTo|gomis|arien_nu|pogemutaBN|AmaiSaeta|masarusanjp|Nihonjin|SL230|mikage014|jackbartlett_mhp3|gui1|a-mutter|aegis09|FTTH|kusigahama|dame_40|sakurasakuras|laiso|mumu3|sank0n|shimanp|hush_in|ekwosbooks|yuumi09|lifespiel|geppey|wancyope|Mukke|kugyuemon|shmras|caliburn|oppekepei|t-tanaka|lepton9|lemon_tea906|madhatter08|weeklydennpagraph|orbis|posinega|damekana|inaco175|sasaplus1|waribashi|Eis|sik308|sigege|mustang1234|iitripod|Muke|solunaris149|sumoa|munetc|egpehcbd|junmyk|kk_solanet|shiba-710|Bifuteki|t-murachi|kommunity|asagiazure|erog|myoukabi|neko0_neko0|SimonMajin|McCammon|racec|funekaz|eo64air|watchcat|kabutch|Gelsy|kitayama|nvs|AnonyPre|masudamaster|usamyu56|hamusoku3|jojo0312|oreimo1234|braverobo|Outfielder|FEFE|radu|T_da|hatebu_test2|ksaitou|fuga_maito|wata300|k-noto3|tomo31415926563|tencube|vanacoral|kogarasumaru|min2-fly|negi_a|kagioo2uma|ippai_attena|mizuki-yu|ncc1701|gimonfu_usr|holidays1976|appbank|abiruy|pasokonta|sleepyuzura|asakura-t|seachikin|atsk|bewzew762|revanya|flasher_of_thought|yasugoro_2010|rainbowsazaki|kagurakanon|repulse|idoyesido|terata|orosi02|Chlocha|takhino|mu025rara284|yamanka00|ninntai|sak1ta|Sion96|dai_original|hoshiyo|kujoo|nj0831|funiuni|egys3|Briareos|warriorking|bzb05445|juyenmaru|tanakara_botamochi|joenaha|riksdybednmtuk|dokaisha|vdsayere|TakamoriTarou|home1986|isaisstillalive|muramasa0717|lqgq|tinsep19|cad-san|katryo|garage-kid|Yamakatsu|Okky|emiladamas|suesh32|cotton6|maromii|kasajei|gabuchan|tukasa55|ryuzi_kambe|kaz5555|STARFLEET|okra2|mythm|repon|shields-pikes|kari-ko|cha-cha-ki|Sucker|takeodon|houyhnhm|takimo|tamakoshidada|kash06|kasaraku1|onavi|hanatarekozo3|kyotoeye|mornig89|cormorantcraft|seiyuDB|waman|benrista|nishiokamakoto|dora_rash|mkzk|twisted0517|y_ryuzan|takc923|HSIN|omi_k|sumida|vanishatea|detteyouchi|junkbots|segawa-y|thun2|delusion_epk|birthday66|tsfmysd|str017|mike_neko|k-p_aoikuma|sakura-hayabusa|sasaq|yakitori-siro|childdoc|komamix|U1and0|sasaboushi|ShangriLa|genpi|iww|as62|Gustav13|

2014-04-20

SIerを辞めさせてくれなかったのでエロサイト作りました

結論から申し上げますエロサイト作成いたしました。

ゆーすけべーさんが以前に作ってたimeeroみたいな感じです。画像Blogスクレイピングしてエロ画像効率的に見るサイトです。

だらだらエロ画

なお、先程解約手続きを済ませたので4月末くらいに見れなくなりますエロサイト自体にあまり興味がなく、ローンチしたらやる気が無くなったのです。

主要な技術

生産性よりも憧れの昇華を重視しました。

テスト駆動開発がやりたく、DSLに強いロック魂を感じたRSpec

はやりに乗ってBootstrap

特にCapistrano名前キュートでやっていることがカッコイイのでどうしてもやりたい技術でした。

あと、メインとなるRailsこの記事に書いているスキルの中で唯一経験が無かったというのが一番の理由です。Rubyが好きなのもありますけどね。

辞めたい理由
会社を辞められない理由

いやぁ、退職しようとすると会議室で8時間説教されるって都市伝説じゃないんですね〜。

ところで転職活動をした感覚だと、今より給与が2倍出るところでも簡単に内定が出ることが分かりました。

転職活動やエロサイト作成を通して精神的な余裕も出ましたので、もう少しSIerのものの問題、仕事の進め方などを熟考した上で、本当に正しいSIerのあり方を考えたいと思います。無理そうなら逃げます

以上、よろしくお願いいたします。

2014-04-10

http://anond.hatelabo.jp/20140410134501

id:minamiyama1994 さん、反論してくださってありがとうございます

Haskellファンのご意見がいただけて嬉しいです。元増田です。

記事全体で「関数型言語」と呼ばれているものは「関数型言語一般」ではなく「Haskellや一部OCamlの話題を含むごくごく一部の言語」の話である

わかりにくくてすいません。記事では「関数型言語」の話はしていません。「関数型プログラミング」の話をしました。

関数型言語」は範囲がよりボンヤリとした表現です。たとえばC言語関数型言語かどうかをみても賛否両論にわかれるでしょう。

私が記事を書いた目的は、”関数型プログラミングに縁のない人に関数型プログラミングをわかりやすく紹介したい”でした。

その目的のため、「関数型言語」という表記を注意深くとり除き、代わりに「関数型プログラミングサポートした言語」という言い方をしています

このスタンスの上で、

関数型プログラミングをフルにサポートした言語”の代表として、Haskellを紹介し、

関数型プログラミングへのサポート片手落ち言語”として、LispErlangなどを扱いました(それらのファンの皆、ごめんなさい)。

言語パラダイムの話題」と「言語の話題」と「ライブラリの話題」と... を混同している

関数型プログラミング初心者の方は、それらの差異なんてどうでもよい、と考えるのではないでしょうか。

関数型プログラミングとは何が良いのか、を大雑把に知りたい。

そうなのではと考えて、あえて区別せずに記事を書きました。

「たとえばモナドを知っていれば、30分程度でパーサー(解析機)を理解することができて」? モナドはそんな限定的用途のものではないし、パーサの理解とは無関係だ(単にライブラリ設計の問題)。それにApplicativeスタイルのほうがパーサが書きやすいという人もいるだろう

id:minamiyama1994 さんの仰るとおり、モナドはパーサー以外の多くの応用があります

現状多くのパーサーがモナディックパーサーとして書かれていますモナディックでないパーサーは、あまり多くのユーザーには使われないでしょう。

モナドなどの抽象的な構造が幅を利かせてるお陰で、ライブラリに秩序が生まれ、ユーザーはそれを使いやすく・読みやすくなっている、というのが私の言いたかった主張です。

(なお細かいことで恐縮ですが、ある種のモナディックパーサーはApplicativeでは書けません。その点をお忘れですよ)

テキスト処理」に対して

お前それShellやPerlRubyPythonの前でも言えるの?

GUI」に対して

GUIライブラリ設計にもよるけど、GUIってOOPの強い分野だと認識していたのだけれど、さてはて

この二つは、先人が不利な環境ですごく頑張った成果が現状なのだ、と思っています

本質的には関数型プログラミングの強みが活かせる分野のはずです。

「個人の技量の話題」

レシピ」に関しては、関数型プログラミングスタイルでは、手続きを手続きとして自然表現できるのに対し、オブジェクト指向ではできない(DSLチックなものになってしまう)、ということを言いたかったのですが、

わかりにくかったですね。

「書きやすい」

(*)関数の例で、関数型プログラミング無駄の無さを示せた、と思ったのですが…

僕自身はC++Haskellの両方を書く人間で、確かにC++の方が「短く書ける」と「感じる」ことは多い

マヂですか…反論のためのでっち上げとかじゃなくて(失礼)?(追記: Haskellの方が「短く書ける」、のタイポだそうです)

記事そのもの価値基本的にないっぽい、こういう記事撲滅されないかなぁ

Haskell布教のために有休とって4時間かけて書いたのにーw

撲滅…

ショボーン(´・ω・`)

2014-04-09

オブジェクト指向 v.s. 関数型プログラミング

近年、関数型プログラミング重要はいろんなところで叫ばれています

Javaの最新バージョン関数型プログラミングに関する新機能が加わりました。

Rubyも昨今、関数型プログラミングへのサポートが手厚くなってきています

プログラミング教科書大手オライリーからJavascript関数型プログラミングを行うための解説書が発行されました。

関数型プログラミングへの注目度は高まってきています

おそらく、みなさんは既にオブジェクト指向が何か、を知っています

でも関数型プログラミングとは何か、胸を張って語れる人は、周りに見当たらないかと思います

実際、オブジェクト指向によってプログラミングする方法は、わかりやすい解説があちこちにある一方で、

関数型プログラミングとは何か、何が良いのか、ということについての、よいまとめは見つけることはできませんでした。

この記事を読む方の中で、「関数型プログラミングを取り入れるか・取り入れないか」で切実に悩んでいる人は、おそらくいないでしょう。

この記事はあまりかいところに立ち入りません。関数型プログラミングを使う側の立場に立って、利点や向き・不向き、それが導くスタイルを書きました。

みなさんは鳥のように飛んで、高い空から関数型プログラミングとは何か、何が良いのか、を見渡してください。

ふたつのアプローチ比較

オブジェクト指向アプローチは、名前をつけてプログラムを整理する

関数型プログラミングアプローチは、汎用部品でなんとかする

オブジェクト指向アプローチ

Googleが近年リリースした言語、Goには、”継承”を直接サポートする仕組みが無いことが話題になりました。

また、Mac OSXの基幹ライブラリCore Foundationは、ライブラリ自体C言語で書かれているにもかかわらず、その設計方針は明確にオブジェクト指向です。

継承クラスは、オブジェクト指向必須条件ではありません。

オブジェクト指向本質とは、何でしょうか。

その本質とは"名前をつけて対象を識別し、それを扱うこと"、にあります

最もプリミティブなオブジェクト指向対象は、ファイルハンドラです。あるファイルを開いて、読み込んで、あるいは書き込んで、ファイルを閉じる。

これらの処理をまとめたら、わかりやすいですよね?

対象に関する処理を、対象の周りにまとめる。これがオブジェクト指向の基礎的な理念です。

識別することとイコール比較できることは、とても良く似ています

イコールによる比較は、オブジェクト指向では鬼門であることが知られています

PointクラスインスタンスとColoredPointクラスイコール演算をどう決めればいいかに、正解はありません(詳しくは"effective java"をご参照ください)。

また名前をつけて識別する対象は、フワフワしていてはいけません。

たとえば、"軍人階級"をオブジェクトにしたとしましょう。"大佐"クラスのある兵士名前フィールドや、性別フィールドを持っているでしょう。

ところで彼が昇格したときに何が起こるでしょうか。

新たに"少将"クラスインスタンスが作られます。"大佐"クラスを破棄する前に、名前性別、その他沢山のデータを引き継がなくてはいけません。フィールドを増やしたい場合はその都度コード修正を加える必要があります(*)。

なるべくイコール比較を避けたい。対象不安定なものはいけない。では何に名前をつけて、識別するか。そこにオブジェクト指向技術者の熟練度が現れるのです。

関数型プログラミングアプローチ

一方、関数型プログラミングでは、特定の何かに名前をつけるより、極力、汎用部品でなんとかしようとしま

さな関数を、集めて撚り合わせて、新しい関数を作る。

関数自体リストなどのデータ構造に詰めることもよく行われます

実は、関数型プログラミングというのは本質を表していません。

その真の名は、"値指向プログラミング"です。

関数をはじめとして、リスト・ツリーのようなコンテナ手続きを抽象化したもの、回路を抽象化したもの

あらゆる対象を値として、合成し、ときに分解し、新しい値を作ります

変数という概念必要ありません。

変数適用する処理を作りあげることが、とても簡単だからです。

四則演算定義されたデータを詰めたデータ構造もまた、四則演算可能だったり。

値をイコール比較することも、なんのそのです。

誤解を恐れずに言うと、オブジェクト指向トップダウンなのに対し、関数型プログラミングボトムアップです。

関数型プログラミングの利点

読みやすい・理解やす

関数型プログラミングサポートする言語には、沢山の汎用部品定義されています

このような構造インターフェイスとして、様々なライブラリが組まれているので、

たとえばモナドを知っていれば、30分程度でパーサー(解析機)を理解することができて、

パーサーを理解できれば、JSONパーサー・ XMLパーサー・markdownパーサー・C++パーサー ... などを理解するのはとても容易です。

理解やすいこと。これが関数型プログラミングの大きな利点です。

追記:

また、汎用部品と型のお陰で、ライブラリドキュメントが圧倒的にひきやすい、というメリットも有ります

Haskellな人がPythonにトライした結果 - Togetterまとめ

書きやす

関数型プログラミングは「厳密な事前設計必要とするため、簡単なことをやるのにも時間が掛かる」。

よく誤解されていますが、これはウソです。

スクラッチプログラムするのは、非常に手軽です。

>> map (*2) [1,2,3]
[2,4,6]

邪魔な”儀式”や、"おまじない"のコードが徹底的に撤廃されているためです。

関数型プログラミングコードは、潔癖かつ濃密です。

たとえばC言語でint hoge(int x,int y)が定義されているときhoge(3)はなんの意味も持ちませんが(コンパイルコケますが)、関数型プログラミングでは意味があり、実際に有用です。

上の例では、「掛け算をする」(*)関数は、二引数関数ですが、それに引数を渡して作られた「2を掛ける」関数(*2)は、一引数関数になります

関数型プログラミングでは、「簡単なことは簡単にでき、複雑なことは複雑にできる。ただし、間違ったことは殆どできないか、全くできない」。

多くのバグは、コンパイルエラーとして検出されます

また、静的型付けの力によって、コード補完は非常に強力になっていますインテリセンスの比ではないです。

たとえば、関数中のある表記の型を任意に表示できます(GHC/TypedHoles - HaskellWiki)。

やがてやってくる未来には、プログラムテキストエディタで書くことは時代遅れになっているでしょう。

統合環境サポートで、バグミスの少ない、スムーズプログラミングができます

そしてその環境で動くプログラミング言語は、関数型プログラミングサポートした言語なのです。

いつ関数型プログラミング

以下の様な兆候を感じたら、あなたはそのプログラム関数型プログラミングで書くべきです。

一般に、オブジェクト同士の相互作用が複雑になるほど、オブジェクト指向では手に負えなくなっていきます

そういうときは、オブジェクトを直接扱わず、替わりにその"相互作用"を扱うことで、複雑さを軽減するアプローチ有効です。

それこそが関数型プログラミングアプローチです。

オブジェクト指向の利点

初心者にとっては読みやすい・理解やす

特にオブジェクト指向有効なのはプログラミング初心者がそのコードをいじるかもしれないときです。

関数型プログラミングは、強固さと柔軟さの代償として、高い学習コストを伴います

そのため、初学者にとってはハードルが高いのです。

扱う対象があまり複雑でない時は、書きやす

オブジェクト間の相互作用が複雑でなく、着目している(名前をつけている)概念が安定しているとき

そして、プログラムをいじる人たちの間で共通理解が図れているならば、オブジェクト指向が有利です。

関数型プログラミングの得意分野はなにか

数値計算

遅延評価という機能によって、レガシー言語で扱えなかった、巨大な数を扱うことができます

分数を扱うことができます虚数もです。

関数型プログラミングで書かれたプログラムは、正確さが要求される、金融関連の業界で使われています

テキスト処理

手続きとしてパーサーを記述できるので、テキスト処理プログラムはより理解やすく、メンテナンスやすものになります

関数型プログラミングを知らない人は、「正規表現おk」と言いますが、

彼の書いた複雑な正規表現は、半年後には(書いた本人でさえ)理解できなくなっていることでしょう。

並行処理

手続き一般を扱うことができるので、途中で割り込みのある手続きの表現も容易です。

関数型プログラミングサポートしていない言語ではコルーチン(ファイバー)などをつかってなんとかするしかありません。

さもなくば、非並行処理では普通に関数として記述できるところを、並行処理のために、Builder,Strategy,Command,Interpreterパターンを駆使して書き直すことになります

Javascript使いの方は、Deferredなどの構造を使うでしょう(http://qiita.com/KDKTN/items/4c6986049d204f0645d8)。

C++使いの方はBoostで頑張りましょう。破滅的に解りにくいコンパイルエラーメッセージと格闘してください。

レシピ

もう少し簡単な例をあげます

あなたは、あるレシピにしたがって、自動的料理を行うマシン制御プログラムを書いているとしましょう。

料理レシピは、"手続き"ですよね?たとえば、カレー

1. まず玉ねぎを炒める。

2. 飴色になったら、肉を加えて炒める。

3. 野菜を加える。

4. 水を加えて煮る。

5. スパイスを加える。

しかあなたはこの手続きを関数として表現できるでしょうか。

…できませんよね?何故ならば、各ステップの"間に"、マシンのロボアームの位置や動きを調整する処理が必要からです。

これをオブジェクト指向でやろうとすると、各ステップ副作用として、それらの処理を行うことになります

そうすると、マシンが二機に増えた時などの変更量は、絶望的なものになります

あるいは関数として表現するのを諦め、手順全体をDSL記述できるようにします。

このアプローチ関数型プログラミング的です。しか関数型プログラミングサポートした言語の助けなしでは、そのDSL記述するために沢山のユーティリティコードを書かなくてはならないでしょう。

オブジェクト指向アプローチでこの問題をエレガントに解こうとすると、クラス化の粒度を上げる事になります

野菜クラスフライパンクラス、ボイルクラスフライクラス、焼き加減クラス、アームクラス野菜の大きさクラス、切り方クラス、焼き方クラス、"焦げたよ"クラスetc...

こうすると早晩レシピプログラムコードから消え去ることになります。上記のたった5行は、依存性注入のオブジェクトグラフを構築するコードに取って代わることになります。そこには沢山の挙動制御オプションとして付記されているのです。

カレーなど、ある種のレシピ限定することで、見た目の理解やすさを得ることができますが、一方それは表現力を損なうことを意味します。

C言語などではマクロを使うこともできますが、それは結局、関数型プログラミングアプローチ意味するところと同じになります。すなわち、補助のために沢山のコードを書くことになるでしょう。

GUI

iOSのAppstoreアプリは、"無料"と書かれたボタンを押すと、それが"インストール"ボタンに変わり、それをもう一度押すと、ダウンロードの進捗を表すインジケータに変わり、それを押すとダウンロードキャンセルできます

このように、位置は同じなのに、ステートに依って見た目と機能が変わるボタンは複雑です。

これをオブジェクト指向で実現しようとすると、

1. 三つの異なるボタンを同じ位置に置くか

2. 同じボタンが三つの異なる機能を持つか

という下らない問題にぶつかります

一方関数型では、"機能"、"見た目"、"状態"、を独立に扱って、それらを合成してボタンを作るので、迷うことはありません。

「同じ位置にあるUIオブジェクトは、コード上で(インスタンスとして)独立して、他から干渉を受けない」

この条件が満たされているうちは、オブジェクト指向GUIを実現することに無理はありません。

しかし、携帯端末のような小さい画面で、多くの機能を達成するためには、UI要素はコンテキスト依存的に複雑になりがちです。

近年、PCのディスプレイの大きさは、頭打ちになってきました。

画素数は増えているのですが、MacにおけるRetinaのように、複数ピクセルひとつドットを表すようになってきています

これは、ひとつの画面に置かれるボタンなどのUI要素の数は、これから先の未来で増えることはない、ということを意味します。

したがって、未来GUIプログラミングは、注意深く機能ピックアップして制限するというデザイナー努力を脇におけば、

関数型プログラミングの力を頼るしか無いでしょう。

はじめよう、関数型プログラミング

まり

Haskell さいこうなのおおおおおおおおおおおおおおおおおお!! おしっこ漏れちゃうのおおおおおおおおおおおおおおおおおおおお(゜∀。)ワヒャヒャヒャヒャヒャヒャ

1. google:すごいHaskellたのしく学ぼう を注文する。

2. Download Haskell自分のPCに導入する。

3. コンソールghciと入力して、対話コンソールを立ち上げる。

4. 次の関数コンソールに打ち込んで、結果を見る。即値で書かれているところとかをいろいろ変更してみて、感動する。

take 4 $ map (*2) [1..]

5. ステップ1で買った教科書を読んで、学ぶ。


追記:

いかがでしたか

ちまたには、関数型プログラミングの利点は変数が無いことだ、とか、より安全から、とか、より速いから、などという妄言が満ち溢れています

オブジェクト指向関数型プログラミングは、水と油ではありません。プログラマ自分プログラムに最適なアプローチを選ぶことができます

一般にはあまり知られていないことですが、Haskellにもオブジェクト指向へのサポートがあるんです(Lensライブラリ、これを使用したサードパーティライブラリ最近増えてきています)。

この記事を読んだオブジェクト指向プログラマあなたが、少しでも関数型プログラミングに(そしてHaskell)興味を持ってくださって、ホームセンター大人用オシメのコーナーが大賑わいになれば幸いです。。

2014-01-17

http://anond.hatelabo.jp/20140116013407

モデルで発生するイベントが多く、複雑になるほど、ビューとの関連は密になる。

ここの所は、今回の例ではいまいち見えづらい気がする。今回の例で複雑になっているのはモデルだけである。ビューがやる事は、「納刀する」「変色した血が飛び散る」イベントをlistenして画面に描画するだけのはず。MVCイベント機構は、モデル→ビューとコントロールモデルメッセージ通知を行うためのもので、モデル同士の通信についてはノータッチモデル内での相互作用に、単なるメソッド呼び出しを超えたあれこれが必要なら、DSLを作るなり自前でイベント機構を作るなり好きにして下さい、というスタンスかなあと思われ。

といってもQtsignal/slotなんかはモデル同士の通信にも使えるわけで、そういう意味最近GUIエンジンMVCの範囲を超えつつある。具体的に「Controllerから入力Modelの自発的な状態遷移も、同じイベント機構で扱いましょう」というのはMOVEの考え方に非常に近い。

http://blog.neo.jp/dnblog/index.php?module=Blog&action=Entry&blog=pg&entry=3442&rand=9193a

MOVEの考え方からいえば、モデルの責務が吸い出されて単なるデータになってしまうのは、むしろコンセプト通りであるとも言える。

なお、単純な例を超えてRPGの実装を自分が考えるなら、オブジェクト指向設計としては攻撃方法型や特殊作用型(毒とか呪いとか)同士の相互作用を主眼に置いた感じになって、モンスター勇者は単なるデータに近付いていくだろうなあ、と予想してみる。組んでみないと分からない事もあるだろうけれども。

2014-01-16

実はMVCってしっくりこないんです

例えばスーファミFFみたいな、古典的RPG戦闘シーンを作っていて、「勇者モンスターを攻撃する」。

勇者.attack(モンスター);

という設計だったとする。

これに「モンスターが毒を受けて、自死する」という挙動を追加するケースを考える。

毒.attack(モンスター);

やや複雑な変更になりそうだが、勇者の攻撃とのタイミングの差で、

のようになるとしよう。

さて、変更する箇所は...

まず、インターフェイス"攻撃者"をつくって、「勇者」、「毒」をその実装とする。加えて...

Model勇者への変更:

斬撃後に死んでいた場合(*) 、納刀する

入力Controllerへの変更:

攻撃前に既に死んでいた場合、攻撃できないようにする

Modelモンスターへの変更:

しかしこの変更は非常に複雑だ...

困ったこと1

この設計変更によって、

が、

の4パターンに増えた(※ただし最後パターンに関しては今回特に修正の必要はなかった)

攻撃者がひとつ増えるごとに、これらの分岐は倍、倍に増えていく怖れがある。

困ったこと2

あらたに攻撃者を追加すると、既存の攻撃者を変更しなければならない。

困ったこと3

この変更によって、全体の時間的な流れがよくわからなくなった。

例えばさらに攻撃者「呪い」を追加したとする。

するとModelモンスターには

  • 既に毒を受けているとき呪いを受けたら
  • 呪いを受けたあとに斬撃で死んだら

等々の分岐が並ぶことになる。この分かりにくさは単にStateパターンを導入しただけでは本質的には改善しないだろう。

考察

MVCにおけるモデル、は振る舞いを持ったデータだ。モデルが状態変化したときイベントが発生する。

しかしその状態変化が別のモデルの状態変化のタイミングに影響をうけるときモデル設計はとても複雑になり、読みにくくなってしまう。

モデルで発生するイベントが多く、複雑になるほど、ビューとの関連は密になる。

このような複雑さをプログラマが支配するのは、とても大変だ。

みなさんも体験したことがないだろうか、GUIで「ホニャララしているときにホゲホゲするとバグる」みたいな挙動を。

例えば私が愛用しているiOSはてなブックマークアプリは、

  1. 「人気」タブを選択して
  2. 記事のリストを(更新するために)下にドラッグしながら
  3. ドラッグしている指を離さないで、(空いてる別の手で)「新着」タブを選択する
  4. そのあと指を離して、再び記事のリストを下にドラッグ

すると、上部に表示される「更新時刻」の表示位置がおかしくなる。

RPG設計は、たとえば下記のように記述できるDSLを導入すると、劇的に改善する。

タイミング:毒 ⇒ 死ぬ ⇒ 斬撃 の順なら、納刀する
タイミング:毒 ⇒ 斬撃 ⇒ 死ぬ の順なら、変色した血が飛び散る

オブジェクト指向ではこれはStateパターンStrategyパターンを組み合わせることで実現できる。

でも、このような設計にすると、勇者モンスターモデルオブジェクト責任は極端に少なくなってしまう。

加えてオブジェクト間のやりとりの複雑さがDSLに押し込められるので、オブジェクト主体性殆ど無くなってしまい、

結果、モデルオブジェクト存在意義が怪しくなるだろう。

うん、ただのデータでいいや。

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

(*) 攻撃時に相手の状態を問い合わせるのが醜い。これを避けるには、モンスターが毒で死んだ時に勇者イベントを通知して、勇者を”戦意喪失”状態に変化させる手がある。

2013-03-25

http://anond.hatelabo.jp/20130325205531

関数ポインタを駆使しろ」というわけでも無く、

LinkedList程度なら「ポインタを使いこなす」には到底及ばない「簡単な話」という認識

>>やるとしてもそれは直接叩くのではなく対象を抽象化ライブラリを通してやるべきだ。

くその通りだが、その認識に至ってもらう方法としてポインタを学ばせる手法を推している。

ポインタ以上にその認識に至らせてくれる手法をご教示願いたい。

でだ、恐ろしい話だが、メモリーの走査が抽象化されているせいか

DBのテーブルという生データを態々、一行一行ループカーソル使って非効率に走査・集計するのが出てくる。

SQLというDSLがあるからもっとSQLを上手く使えばいいのにもかかわらず。

温室で促成栽培されてきた連中は、痛みを知らない化け物に見える。

2012-09-20

http://anond.hatelabo.jp/20120920031306

等と言ってるお前も孫がいなければ今頃ADSLから書きこみするハメになってただろうな。

DSLが速くなるんじゃない?

デジタルは速度の限界が決まってるけど、DSLならいくらでも速く出来る。

2011-02-10

http://anond.hatelabo.jp/20110210084023

しかし今はまさに超大規模データをほぼリアルタイムで解析して加工しなおされたデータにこそ富を生み出すポテンシャルを秘める時代だ。

つまりhadoop向けDSLが伸びるって事ですね。わかります

でもこの人にpigとかhive提案したら怒られそうだなw

2010-08-04

あんだけ、ADSLの時に、光はダメだ、光はダメだみたいな感じで、ADSL ADSLしてたのに

いまは、光、光。

市場に任せていたら、アレでどんだけ光の敷設が遅れていたと思ってるんだこの人。

設備の敷設は10年単位でかかる。市場に任せていたら間に合わないよ。

今フレッツで実用になっている光ファイバーの敷設が、いったいいつ頃からの計画だと思ってるんだろう?この人。

光ファイバーの敷設はもともと、アナログの交換機とメタルのケーブルが何十年かで寿命が来ることがわかっていて、

引き直すという単純な経年劣化の設備交換という話が裏にあって

もう1度メタルを引き直すか、光にするか?という議論が何十年も前にあって

DSLなんて、とっくの昔に出ていたけど、ケーブル自体何十年も使うからDSLでは何十年後には頭打ち。

他方、光は、何十年後でも使えるという、研究的議論から、何十年前から、淡々と光にリプレースしてるんだよ。

現に、DSLで1Gは辛いけど、光なら1G余裕。将来100Gだってありえるだろ?

市場原理で光になったとか思ってるんだろうか?

全国規模のケーブルの経年劣化のリプレース計画とか考えないんだろうか?

あと、公共性(ダークファイバ)を担保させておいて、市場原理などというのは、方手落ち。

http://agora-web.jp/archives/1068679.html

2010-03-16

http://anond.hatelabo.jp/20100316141050

こういうことでしょう。

 日本の代表的匿名掲示板が、ここのところ、異様におとなしい。

 偏った言動で煽りを入れる、いわゆる荒し行為をする人が、見当たらない。これも、3.1のネットテロ捜査が始まっているせいであろう。3.1のネットテロにおいて利用されたIPアドレスは、すでに捜査機関に渡されている事が公表されているが、同時に、匿名掲示板の書き込みアドレス付きの過去ログも、引き渡されていると考えた方が良いであろう。同じIPアドレスでの発言内容とテロ行為との思想的関連性が認められるとなれば、黒判定が下せる。

 今更、匿名掲示板での世論工作を控えても手遅れであるし、ISP側には、IPアドレス割り当て記録が残っているから、契約を解除してISPを乗り換えたり、DSLアダプターの電源を切って割り当てられるアドレスを変えても、無駄である。企業組織として活動している所は、ごっそり賠償金を搾り取れるターゲットとして、すべてリストアップされていると考えて差し支えない。

 政治家企業スキャンダルを、怒涛の書き込みで余白を埋めて閲覧不能にするといった、匿名掲示板向けサービスを行っている所と、不思議と、一致しているのは、3.1テロ活動に参加するような人が、表の商売として、設備を有効利用しようとして行っているのであろう。

http://www11.ocn.ne.jp/~ques/diary/diary.html

2009-07-10

http://anond.hatelabo.jp/20090710174757

発売されたの?発売日すら知らん。

うちのDSLもすっかり埃かぶってるしなあ。

ワゴンに行ったら買ってもいいんだが。

2009-05-16

http://anond.hatelabo.jp/20090516014422

その時点で「計画が無い」というだけで、そう回答した後で計画立てて実行しました、なんて事例はいくらでもあるだろう。

ましてや形状からして変更されてるんだから、これで価格据え置きというのはちょっと考えにくい。最近発表された決算報告でも、順調にいけば逆ざやが今年あたりで解消されるペースで赤字を減らしてるし、今年度の販売計画は前年よりも多く見積もられてるから、可能性としては十分ありうる。

それに、DSLPSP-2000だって直前まで「新型の予定は無い」と言われ続けていたしね。競合しているXBOX360がほぼ毎年のペースで値下げしてる事を考えても、ありえないと断言は出来ないんじゃないか。

2009-03-20

ご覧の有様だよ

http://anond.hatelabo.jp/20090319221329

http://www.m-create.com/ranking/

機種販売台数
PSP43,463
PS328,014
DSi27,564
Wii17,941
DS Lite11,571
Xbox 3608,378
PS24,844

とっくに店頭で新品を見かけなくなったDSLよりも売れてないとかどういう事だ。

アーカイブ ヘルプ
ログイン ユーザー登録
ようこそ ゲスト さん