「インスタンス」を含む日記 RSS

はてなキーワード: インスタンスとは

2016-06-08

オブジェクト指向現実にある"もの"を元に設計します。だから人間にとってわかりやす設計自然にできるのです」

なるほどなるほど

「まずHTTPServletクラス継承したクラスを作ります。doGetメソッドはHttpServletRequestクラスインスタンス引数にとります

はあああああ???

2016-05-20

社会が悪い

クラスが腐ってるから変なインスタンスができるんだと思います

2016-01-23

SIはやめておけ

20代の数年間SIで働いた。1年以上前退職して今は別業界にいる。

今日、Evernoteを整理していたら「退職理由、SIの嫌な点」というメモが発掘された。退職直前のかなりストレスがたまっていた時期に書き殴った文章だった。学生の頃の私は絵を書いたりしていて、ものづくり暮らしたいな〜などと思って始めたプログラミングが楽しかったので安易に受託開発業を選んでしまったが、その後悔が如実に表れていた。

一部自分でも覚えていない話もあったがコンテンツとしては面白かったし、今でもシステムインテグレーター業界で消耗する若者を減らしたいとは思うので公開してみる。

以下、同メモに加筆・修正したものなのでファンタジーだと思って読んでくれ。

工数至上主義

受注した時点で売上がおよそ確定するので、後はその予定工数に収めて納品できれば御の字という考え方。よくある話だが、見積おかしくても顧客と対等な関係が築けていないから追加請求もできない。時間(工数)をかければ良い成果物ができるかもしれないがそれを説明して顧客に嫌な顔をされたくないから、限られた工数の中での最善を尽くす。最善を尽くす、聞こえは良いが要は手を抜く。

まり、どう頑張っても売上は同じなのだから、良いもの価値を生むものを作ろうと考えない人が多い。社内で開発者と呼ばれる人間もそうだし、マネジメント層はそういうものづくり志向を持った人をリスク扱いすることもある。

これが諸問題の根源で、いかに述べるような組織プロジェクトが出来上がっていく。

作業効率化しない

マニュアル作業の正確さをかたくなに信じてる人だらけで、ITとは何なんだと考えさせられる。

私は定型作業効率化しようとjsやrubyスクリプトを書いたりしていた。テストデータを開発用DBに突っ込んだり、テキスト処理して整形したり、Excelからコード生成したりするよくあるやつ。

あるとき上司に肩越しに自分作業を覗かれて「何やってるの?」と聞かれ、そういうスクリプトを作ってると答えたら、工数とリスクの話をされた。曰く「そのスクリプト作るのに何日かかるの?工数に乗ってないよね?」「スクリプトテストもちゃんとしないと結果が正しいって保証できなくない?」と。この時はイラッとして「30分でできる数十行のスクリプトだし自分作業工数内で完結する。むしろ工程や別の人でも同じことを再現性できて楽になる」とか真面目に説明してプログラムも見せたが、読もうとはせず(読めないので)1時間無駄にした。

技術力いらない

前述したようなビジネスモデルから営業力と、予定工数で無難プロジェクトを終えるマネジメント力が大事。IT企業だが開発者は自社で持たない。不況の時に待機コストが発生するリスクがあるし、自社で抱えるより単価の安い開発者人材派遣系の企業や下請けにいっぱいいるから。

社長があるとき社内広報で「技術は買うものだ」と言っていた。文脈で明らかに技術=技術者のことだったので、使い捨ての人売り業と揶揄されていることへの自覚が無いと思う。

そういう人が集まっているor残っている組織なので開発者ほとんどいない。20〜30人ぐらいの課に1人ぐらいの割合でstaticおじさんがちらほらいるぐらい。大体20代からプロジェクトリーダーという立場をやり始め、だんだん大型の案件を扱えるようになっていき、後は出世ゲーム部長お気に入り課長になり、部門長のお気に入り部長になる。その繰り返し。

開発案件でのBP(ビジネスパートナー委託先、派遣下請け比率自分の周りだと1:5ぐらいが多い。プロパー社員一人が5人の開発を仕切る、みたいな形。案件規模によりだいぶ差があると思う。この比率が高い=マネジメント力のある組織と考える会社はこの数字を上げようと必死で、比率の低い組織は評価が下がる。

私は開発が好きだったのでエンジニアとして生きていきたい、というようなことを評価面談の度に伝えているが、その度に会社の目指す方向を説かれてモチベーションが下がる。

意識の低い開発者メンバー

上述の通り、案件で接する開発者基本的に社外の人間なのだが、彼らの技術力と意識の高さにはものすごいばらつきがある。言われたものはなんでもこなせる人、何でこの歳まで技術者やれてるんだと疑う人、このプロジェクトおかしいと良い意味で騒ぐ人、何も意見を言わない人、CっぽくJavaを書く人、人当たりは良いが技術力がいまいちな人、すぐ休む人、バグやミスを隠す人…etc。

まぁ色んな人がいるのはどの業界のどの職種も同じだが問題は質だ。私の主観になるが本当にエンジニアとして尊敬できるレベルの人は1%いるかいないか。というのも、ほとんどの技術者は長年SIやその周辺企業と付き合ってきているので同じ体質に染まっているのだ。顧客が良いといえば良いという態度(この場合顧客は私が所属する企業)、請負場合は工数を超えない範囲で手を抜く姿勢、その他諸々。技術力だけをひたすら磨き続けてきたという人はごく一部だけだったし、そんな人でもGitHubアカウント持ってない・ブログやってない・OSSに貢献したことない、といった具合でクローズド世界で生きている。

そうした技術者とやっていく中で最も厄介なのが教育コストだ。案件のあるなしで人が都度入れ替わり、新しい人が来るたびに同じシステム・技術要素の説明をして何とかやる気が出るようモチベートして、というのを繰り返すのに疲れた。私の会社固有の変なルール説明はてきとうにしておいて、私は技術が好きな仲間が欲しかったので今のシステム課題と技術面での改善や展望をよく話す。が、あまり食いつかれることはない。これは私の問題だが、そうした期待と落胆のループ疲弊の一因だ。

static BP

ある時、一つの課に6年近くいるというBPと一緒に仕事をする機会があった。その課にはプロパー技術者が長いことおらず、彼がその課の技術的中心を担っているという話だった。抜けられると途端に色んなものが崩壊するからという理由で、その人の派遣元にはかなり高額の単価を支払っていたと聞いた。課員が口をそろえて「あの人はすごい」「何でもできる」というので初めはかなり期待していた。

だが、拍子抜けした。あまりにも仕事が雑なのだコミットされたコードはTODOコメントだらけだし、バグがあまりにも多かった。一度も実行されずにコミットされ、他の人がチェックアウトした時点で判明したバグなんかもあった。それでも声が大きく、プロパーが技術を知らないのをいいことに自分ブランディングに完全に成功していた。客先にも顔を出し、信頼を得ているらしかった。「自分は設計が得意でテスト以降の工程には興味が無い」と言っていた。確かに彼が関わった各システムには独特の概念が埋め込まれた設計があったが、その複雑な設計は保守性が低く、他の開発者が触ると容易にバグを引き起こしていた。

また、彼はJavaの有名なフレームワークであるStruts拡張したいわゆるオレオレフレームワークを開発しており、それの出来は悪くなかったと思う。そのフレームワークに欠けているものをうまく補うような形になっていた。だがフレームワークバージョンを上げると壊れるというのが残念な点で負債になりかけていた。

私は異動したが、彼は今でもそこにいると聞いた。

技術の話

テストコード書けない

(最低限のものしか作らないから)安くて早い!という触れ込みで売っているので、テストの工数が異常に少ないことも多い。特にテストコードを書くなんてもってのほか。そういう世界でやってきた人ばかりなので、30や40超えたマネジメント側は「テストコードって何?」状態だ。大型の改修案件が来た時にはコア機能だけでもテストを書いていこうと見積段階から社内で提案したが「顧客に『そんなメリットあるなら何で今までのプロジェクトではやってないの?』って問われるから絶対言うなよ」と拒否された。

保守案件をやっていた頃、時間を捻出してコソコソとテストコードを書いたりしていた。その案件を離れてしばらく後、ある時リポジトリを覗いたら私が書いたテストコードがばっさり消えていて驚いた。コミットログから課内のstaticおじさん的な人が消したとわかったが、そのコミットコメントが「現在使用していないコードを削除」だった。これはもう問う気も失せて何も言えなかった。

リファクタできない

先述したようにテストがそもそもないプロジェクトが基本なのでリファクタできないのだが、たとえテストがあったとしても勝手なリファクタは許されない。ソースコード顧客の持ち物なので同意なしに改変することはいわば契約違反なのだ。たとえ内的品質が向上してコスト削減に繋がるとしても、そのためにお金を支払う顧客はまずいない。

レビューない

私がいたどの案件にもコードレビューがなかった。リーダー開発者数人という構成場合、まず開発者は全員下請けリーダーは技術の心得がない場合が多い。そうなると彼らの成果物の良し悪しを図るのは目に見えるシステム挙動実施されたテスト結果のExcel報告書だけになる。これが非常に非効率で、少しコードを読めばわかる明らかなバグや仕様理解齟齬が頻発していた。特に入試験と呼ばれるリリース直前の顧客側での最終確認や本番稼働中におけるhotfixは全機能をきちんとテストせずにデプロイされることが多く、そのhotfixがさらなるバグを引き起こしたりもしていた。

そもそもテストを書けという話だがテストが無いプロジェクトに足すのはかなり大変なので、レビューサイクルをきちんと回すだけでもかなり変わる。実際、私が入った案件ではすべてのコミットに目を通すようにし、明らかな問題は都度指摘することで品質の向上に繋がった。欲を言えば他の開発者にもレビューしてもらいたいが、下請けの彼らの工数を増やすことは嫌がられる。

新規技術試せない

無難プロジェクトをこなすことと新しい技術を試すことの両立こそ技術者の腕の見せどころだと思っているが、ほとんどの場合それは許されなかった。新規にせよ継続にせよ案件を受注する段階で営業マネジメント層と顧客間で「今回は過去に実績のあるこの技術でやります」という契約が結ばれているからだ。その技術(言語フレームワーク)がいかに古く、保守性も将来性もないものだとしても受注できればよいし、その技術のサポート切れか何かの拍子で再度リプレイス案件でも受注できればさらラッキーぐらいの考えでいる。

常に横に倣えのアーキテクチャは私にとって面白くはなかった。

横に倣え

また横に倣えが加速してさらに悪い事に、同じアーキテクチャネットワーク再利用するために既存のサーバに新システム相乗りすればよいという発想も珍しくない。「資産再利用によりコスト削減」という触れ込みだったが、ただでさえスケールしない低スペックオンプレミスサーバ上で複数アプリケーションサーバ運用した結果、予想通り耐障害性が下がった。

また、Oracleライセンスが高いという理由で一つのDBインスタンス上に10数個のシステムが同時稼働しているなんてこともあった。1つのシステムが高負荷なクエリを投げたせいで関連する全システム共倒れになったこともあったがOracleのバグとして報告していた。

static Perlおじさん

新人の頃にOJTでstaticおじさんの下に付いたことがあった。そのとき担当したのはPerlデータ連携用のバッチを書くという開発業務だったのだが、最悪の思い出だ。

まずプログラム構造仕様書というのを書かされた。メソッド単位でのモジュールを全てExcel上に記述し、処理の順番と内容を説明するという謎資料だった。あまりに意味がわからなかったので「UMLのクラス図を書けばよいのですか?」と聞いたら「Perlクラスなんて必要ない。構造プログラミング研修でならってないのか」と返ってきた。「俺が前に書いたPerlバッチがあるから参考にしろ」と言われ、あるリポジトリをチェックアウトして見てみると1ファイル4,000行の.plがいくつか並んでいた。その時の私は何もわかっていなかったのでそういうものかと思ってしまったが後で調べて明らかにおかしいと気づいた。

また、そのプロジェクトのメイン言語Javaで、Eclipseを使っていたのでPerlプラグインを入れてコーディングデバッグをしていたらやめろと言われた。理由は「Eclipse上で動くPerlが信用できない。サクラエディタで書いてプリントデバッグすれば充分だ」と言われた。その時の私は何もわかっていなかったので、プラグイン品質が悪いとかそういう話かと思い「じゃあvimで書きます」と言ったら「サクラエディタしろと言っただろ!」と一喝され、vim vs サクラエディタという史上類を見ないエディタ論争が起きた。

待遇・制度

給与

SI業界の中では高いのかもしれないが決してよくはない。4年目(たぶん25歳)ぐらいで残業込みで年収400万にやっと届いたがそこからほとんど変わっていない。30歳の先輩に聞いたところ「500万前後残業してない場合の月の手取りは未だに20万切ることがある。残業抜きでは新婚生活が厳しい」と言っていた。いわゆる年功序列がきっちりしていてこのまま続けてもしばらくは給与が伸びないということがわかった。

個人での貢献で差がつくのは±10万程度。その程度ならいっそ無くてもいいのでは、と思う。というかそもそも生産性をきちんと評価する制度存在しない。これはどの組織でも難しい問題だと思うが、形骸化した評価制度上司の気に入った人間にS評価を付けているだけならいっそ止めたほうが時間の無駄にならなくてよい。

マシン

会社から貸与されるノートPCは低スペックすぎて開発には使い物にならない。なので開発者基本的デスクトップ使用せざるを得ないのだがこれもメモリ4G、1.2GHz程度で大したマシンでもない。本当に開発する気がない。

組織問題

とにかくクローズド組織

つの間にかどこかで意思決定がされていて、関与する機会がほとんどない。だがほとんどの社員がそれで良いと思ってる。失敗しても自分が決めたことじゃないから上層の責任だ、そう言えるので楽だから

情報共有をしない、というか意図的にしないようにしているとまで感じる。連絡はメール添付ファイルベースで行っているし、共有のファイルサーバなんてのもあったが一部のフォルダ権限を持った人間しか見られない。何で他の部や課が行った過去の見積提案資料自由に見られないんだよ。

ソースコードリポジトリも同様。外部に公開しないのはまだわかるが、プロジェクト外にすら基本は公開していない。別に奪われて困る大した技術もない。

会社が用意した提案資料共有サイトみたいなのもあったが、それに至ってはもっとひどい。課長以上もしくは部長から承認を与えられた者のみ閲覧可能。共有とは。

意思決定の遅さ

どうでもいいことを決めるにも承認や根回しや説得が必要になる。それがプロジェクト利害関係者ならまだわかるものの、まったく関わっていない上長(課長部長、時には部門長)を通さないと進まないという異常さ。

コスト削減

利益率向上のためにコスト削減ということがしきりに言われており、過剰なコスト削減対応生産性の低下を招いている。たとえば顧客に見せる資料以外は白黒で印刷しろ、みたいなルール。色がないために情報が伝わりにくい。というかそもそも印刷せずに各自ノートPCで見ろという話だが、先述したようにノートPCは低スペックすぎるので多くの社員デスクトップを使っている。ITとは。

本当に無駄しか思えない承認・申請フローの煩雑さに加え、使っているシステムの使い勝手も悪く、ひどい日は一日がそうした事務作業で終わる。しかもそのシステムは自社で以前開発したものだというから泣けてくる。こんな作業が定常的に発生するのでいっそ事務員派遣で雇うべきという提案が何度もされたが、課の予算オーバーするから無理だという回答しか返ってこない。

残業削減

表向きは社員健康促進という触れ込みで残業時間削減を全社的に取り組んでいる。残業減らせと声をかけただけでは誰も帰らないので、勤怠システムと入退館管理システム監視し、削減できていない組織や人間評価を下げるようになった。

その結果、サービス残業が復活した。30時間を超えると部長説明しないといけない、50時間を超えるとその上へ…みたいなループ。表向きの残業時間削減・コスト削減としては成功したかもしれないが、社員残業時間を管理するとかい無駄な仕事を増やしたし、管理される社員ストレスサービス残業に繋がったので下策だと思う。

他人残業時間をExcelにまとめる仕事があって、そこに給与が発生してると思うと泣きたい。

そもそも無駄作業や工数至上主義作業効率が悪いから残業しているので、残業が少ない奴が偉いと一斉に舵取りしただけでは生産性をちゃんと評価できていないことに変わりはない。一昔前の残業多い奴は頑張ってて偉い、というのと本質レベルで何も変わっていない。

辞め方

2015-11-06

http://anond.hatelabo.jp/20151106115113

インスタンスが新たに生成されるのか、参照渡しになるのかわからない。

書き変わるのがいったいどのインスタンスなのか明確じゃないのが困る。

これが嫌な人が使いたがるのが参照透過をベースにしてる関数型言語

グローバル変数とか、インスタンスフィールドとか、引数で渡した変数とかが呼び出し先でいつの間にか書き換わることがない

引数を元に結果を受け取るだけ

http://anond.hatelabo.jp/20151106113708

参照透過性ってなんだろう。

インスタンスが新たに生成されるのか、参照渡しになるのかわからない。

書き変わるのがいったいどのインスタンスなのか明確じゃないのが困る。

javaだといちいち挙動を覚えてないといけないから面倒。

2015-07-03

はてなははやくはてブアプリバグを直すべき

Android版のはてブアプリで、共有からはてブアプリを開いても当該のコメントではなく、以前に開いていたはてブが表示されることがある。

例えばこういうパターン

これ、何で起きるかというと、まだアプリがバックグランドで生きている状態で送られてきているインテントを正しく処理していないためで(推測)、以前はメインメモリが少なく、バックグラウンドに回ったアプリが殺されやすかったので再現性は低かったのかもしれないけど、RAMの大容量化が進んだ現在、ほぼ100%再現する。

ついでに言っとくと、ActivityにsingleTopを指定していると、onCreate()ではなく現在生きているActivityのインスタンスにonNewIntent()で通知されるので、そこをチェックした方がいいと思う。

原因までつけてバグレポートしたんだからはやく直してよね!

2015-03-04

人間存在について

最近生きている意味がわからない。

何のために人間存在して、何を目標としてこの世の存在しているのか。 科学技術は日々発展しているが、発展した所でその先に何がまっているのだろうか。 最近人工知能がよく取り上げられているけど、人工知能のことを考えているうちに、もしかたらこ世界全体が1つのプログラムなのではないかという考えが思い浮かんだ。

プログラム世界にはオブジェクト指向という考え方があるが、これはまさにこの世を表していると思う。すべてのものオブジェクトである人間は、生命という名のクラス継承していると考えれば、説明がつく、生命はいものが備えている最も基本的もの、例えば臓器とかを実装していて、それを犬や、人間や猫が継承してそれぞれのオブジェクトを作っているのではないか、そして我々は人間オブジェクトインスタンスなのではないか。 それならば、前世というものも説明がつく。 死んだ人間インスタンスは他の人間インスタンスとして初期化され使いまわされる。 これを繰り返す。 しかし、人間は増える。 増える過程既存インスタンスでは数が足りないので新しいインスタンスを新しく作成する。 それがもしかしたら、以前のインスタンスに改良が加えられている。 なので、新しいインスタンス人間能力既存インスタンスよりも高い、よって、何か新しいもの発明できる。 そこで、科学技術進歩が起こる。 それが人類進化実態ではないか。 そして人間オブジェクトメソッドがその人間の行動を表している。 また、よく人間は潜在能力を秘めていると言われていが、それは、実装されているがまだ使っていないメソッドが多数あるという意味では無いか。

プログラム人間などの生命を作ることがかのでは無いかと思える。 もちろん、生命科学との融合によって実態を持ったオブジェクトとしてプログラム上だけでなくこの現実世界存在させることができるのではないか。

そう考えると、この宇宙は、ある一種のプログラムなのでは無いだろうか。 それを作っているのは神と呼ばれる概念であるかもしれない。 もしくは、この宇宙全体がゲームであり, それを誰かがプレイしているだけなのではないか。 なので、人間の発展の先にあるものは、この宇宙というゲームであって、そのゲーム作成した時がこのゲームゲームオーバーの時なのではないか。

ここまで書いて、更に人間存在理由がわからなくなってしまった。 とにかく、命を持ったものとしてこの世に生まれた以上、一生を精一杯生きるしか無いのだろうか。

2014-12-15

MS SQL SERVER 接続アドレス ポートインスタンス指定する記述

MICROSOFT SQLSERVER で、データソース接続先)が名前付きインスタンスでかつ既定と異なるポートを使用している場合に、クライアント接続先を指定する書き方。

COMPUTERNAME¥INSTANCENAME,PORTNUMBER

例 MYSERVER1¥SQLEXPRESS,1500

エンマークはもちろん実際には半角で。

2014-09-09

クラブ好きな新米エンジニアが1週間でWebサービス作ってみた

こんにちは

文系出身だけど前々からWebサービスつくってみたくて勉強がてら一人でWebサービス作ってみました。

作りたいって思うなら実際に作ってみるのが一番いいってじっちゃんがいってた。

やってみて感じたこととか先輩エンジニアの人たちに教えて欲しいこととかを書いていきたいと思います

じっちゃん、僕にもできたよ!

作ったWebサービス

EDM JACK

http://edmjack.com/

簡単に説明するとクラブミュージック淡々と紹介していくサイト

作ってみた人のあれこれ

・26歳

フリーター(ほぼニート)→知人の会社で営業職→今年の4月Web業界転職

クラブミュージックが大好き。だけど人混みは嫌い。

・営業職だったころにあい時間ドットインストールとかでHTML/CSS勉強をしてた。

大学中退してからフリーターになって、その頃から自分Webサービスとかつくって運営してる人ってかっこいいな〜とか思ってた。

Facebook映画とか見たときは完全に感化されっぱなしだった。

でもいつか作れたらいいな〜って思ってただけでなにもしてなかった。

最近いろいろ環境が変わって少し休みをもらえたので奮起して勉強がてら作ってみることにしたのです。

なにを作るか

漠然と「Webサービス作りたい」って思ってたからまずどんなWebサービスを作るか考えました。

やっぱり好きなことじゃないと続かないと思ったので

自分が好きなクラブミュージックをまとめるサイトを作ることにしました。

ジャンルDJ KAO●Iとかミーハーな感じの曲じゃなくてEDMってやつ。

EDMといえば今月日本でもUltra Music Festivalが開催されるね!やったね!Hardwellに会えるね!

どうやって作るか

まずはプログラミングとやらを勉強することにしました。ドットインストールは偉大です。お世話になりました。

ドットインストール

http://dotinstall.com/

ここでHTML/CSSPHP勉強しました。でもPHPゼロからコードを書いて作ろうとすると重大な問題があることに気が付きました。

時間がかかりすぎる。

今回はとりあえず自分でなにかWebサービスを作ってみるということを経験たかったのでWordPressを使うことにしました。

サーバー環境の構築を勉強した

でもさすがにレンタルサーバーを借りてWordPress入れましたっていうんじゃ先輩エンジニアの人たちに怒られちゃうと思ったので、

WordPressを入れるサーバー環境構築は自分で頑張ってやってみることにしました。

なのでWeb業界ではアイドル存在AWSっていうやつで頑張ることにしました。

ここでもドットインストールにお世話になりました。ほんとなんでもチュートリアルがあってすごい。

最初WebサーバーApacheを入れていたんですが、なんか重たい感じがしていろいろ調べているとNginxナウい感じだったので

Nginxインスタンスを立て直すことしました。環境的にはこんな感じ。

AWS EC2 (t2.micro)

Nginx 1.4.7

php-fpm 5.3.28

MySQL 5.6.13

ドットインストールUnixコマンドとかを勉強したとはいってもNginxの設定周りをいじるのは結構大変でした。

でもNginx使うからにはチューニングしてから使わないとApache先生に怒られちゃうので、

この記事を見ながら頑張ってチューニングしました。

さくらVPS512で、Yahoo!砲食らっても WordPress平常運転させるための設定

http://dogmap.jp/2013/04/16/sakura-vps-performance-tuning/

チューニングテストをしたらTransfer Rate17[Kbytes/sec] くらいから15000 [Kbytes/sec]くらいになった。

Nginxやばい。はやすぎ。なにこのスピード

WordPressを入れていろいろ設定をしてみる

無事にサーバーが立てられたのでWordPressを突っ込んでテーマかいろいろいじりました。

使用したテーマPRONTO

http://www.wpexplorer.com/pronto-wordpress-theme/

基本的にはテーマをそのまま使ってるだけです。

シェアボタンをつけたりFacebookのLikeBoxを入れたりでちょっとテーマいじった程度。

あ、カテゴリタグにpickupってつけたら自動投稿が目立つようにした。これは自分テーマファイルいじって書いた。

入れたプラグインはこんな感じ。Jetpackモバイルテーマのみを有効化してる。

アイキャッチ画像が多いからPhotonも有効化してもいいかなって悩んでる。

Akismet

All In One SEO Pack

Batch Category Import

Favicon Rotator

Font Awesome Icons

Google Analytics

Jetpack by WordPress.com

Mobile Theme Featured images for Jetpack

Newpost Catch

NextScripts: Social Networks Auto-Poster

Nginx Cache Controller

Remote Images Grabber

Video Thumbnails

Wordpress Popular Posts

WordPress Related Posts

WP Multibyte Patch

サイト運用を開始

WordPressなのであとはたらたらと僕がオススメする曲を更新していくだけ。

EC2t2.microだけど、Nginxのおかげなのか特に問題はなし。

今はYoutubeSoundcloudURLをそのまま投稿に入れて、アーティスト名とかDJ名でカテゴリ分けしてる。

せっかくだからドメイン代とかAWS代だけでも回収できればいいなってことでAdSenseも入れてみたw

やってみて思ったこと。

実際に作り始めてから1週間程度でここまでつくることが出来ました。

AWSNginx環境構築→4日

WordPress環境構築→3日

ドットインストールがなかったらここまで速くつくれなかった。ありがとうございます田口さん。

元々非エンジニアでもやる気になればそれっぽいのが作れて感動しました。

でもなんかOGPの設定がうまくできず、Facebookとかでシェアしようとするとたまに全然関係ない画像が表示されてしまう。

テーマファイルに直接書いてもプラグインOGP設定してもよくわからなかった。

Facebookデバッガーつかってキャッシュクリアしてもできたりできなかったり。

これはNginxキャッシュが影響してるんかな。

今後やりたいこと。

将来的にはSoundcloudとMixcloudを足して2で割ったサイトになればいいな。

キュレーター制度とかも入れてみて、僕だけじゃなくていろんなEDM好きやDJおすすめの曲を投稿できるようにしていきたい。

WordPressで構築しちゃったけどできるだけプラグインに頼らずに自分PHP書いて実装できるように頑張らなきゃ。

本とかは一冊も読まずにここまで作れたけどPHPエンジニアならこれは読んどけよ若造ってのがあったら教えてください。

EDMは素晴らしいよ!クラブ好きな人もそうでない人もきっと好きになる曲が沢山あるから聞いてみてね!

EDM JACK

http://edmjack.com

2014-09-08

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

どうも、はじめまして。この先お先真っ暗な24ニートです。

働くのもめんどくさいし、賢者タイムに生きる意味を考えていたらシコるためだって結論に至った。

時間もあるし暇だからエロサイトをつくってみた。

作ったエロサイト

即ハボ.com

http://sokuhabo.com

やるならこの名前って思ってドメイン検索したら奇跡的に取られてなかった。

日本語ドメインは取られてたけど、英語ドメインでとれたか問題なし。

このドメイン取れなかったら心折れてやめてた。感謝感謝

俺氏スペック

24ニート

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

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

・好きなAV女優成瀬心美

サイト環境

サーバーAWS

CMSWordPress

その1 今の自分の知識でどうやったら効率的サイトが作れるか考える

昔にサイトをつくったことがあったので、HTML/CSSはそれなりに書けるし読める。

でもRuby on Railsとか本格的なプログラミングはわからない。ラクしたい。けどプログラミングできない。

ってことでサイトWordPressで作ることにした。

その2 WordPressをどこで動かすか

WordPressに決めたはいいけどサーバーを用意しなきゃなんない。

さくらインターネットとかが普通なのかなーと思ってたんだけど当然月額料金がかかる。お金ないのでむりぽ。

無料WordPress動かせて、できるだけ重くないサーバーはないかな〜って調べてたらAWSが1年間無料で使えることに気づく。

キタ━━━━(゚∀゚)━━━━!!

でもAWSっていうことはクラウドからサーバーインストールから自分でやらなきゃいけない。ラクしたい。

AWSWordPressってことは答えはひとつ網元インスタンスですね。

ポチッ........WordPressへようこそ」

先人の知恵ってすごい。

その3 テーマを選んでサイトの体裁を整える

自分エロサイトを巡回してる時ってタイトル重要だけどサムネイル画像を重視する。

ってことでPinterestみたいに画像が際立つテーマをさがした。

よさ気なテーマがあったのでこれをつかうことにした。

Nautilus

http://www.fabthemes.com/nautilus/

無料でこんなテーマ配ってくれるなんて素敵。

その4 シコシコ更新する

WordPressなので自動動画を拾ってきて更新してくれるわけではない。

できるだけラクをしたかったけどここだけはポチポチ更新していくことにした。

だけどXVIDEOSサムネイルを保存する作業が最強にめんどくさい

Youtubeと違って僕らのXVIDEOSプラグインを使ってもサムネイル自動で吐き出してくれない。

これは悩んだ。これも先人の知恵に頼ることにした。

XVIDEOSサムネイルを取得するWeb API作りました

http://erokenji.hatenablog.com/entry/2014/02/02/190129

これを使ってXVIDEOSURLを入れたら画像をドバーっと表示するフォームPHPでつくって、

その画像URLWordPressプラグイン(Remote Images Grabber)経由で登録してアイキャッチ指定する方法にすることにした。

たか自分PHP書いたみたいだけどこれも先人のソースコードをパクった。

Xvideos動画サムネイルを全て取得して自分エロ画像サイトを作る方法

http://eropenguin.blog.fc2.com/blog-entry-491.html

ちょっとだけソースが間違ってて最初動かなかったので、そこだけは自分で書き直した。

これでいちいち動画を一時停止してその画面をGyazoって保存してWordPressへ登録するとかいくそめんどくさい作業をしなくてよくなった。

ニートはとにかくめんどくさいことを嫌うのです。

その5 アフィリエイト登録をした

どうせなら先人の凄腕プログラマーの方々みたいに自分エロサイト収益を上げてみたいなと思ったので、アフィリエイト登録をした。

一番いいのはGoogle Adsenseだったんだけどエロはだめみたいだったので忍者AdMaxっていうのにした。

このへんは詳しくないのでよくわからない。アクセスが増えてきたら他のアドネットワークとかも検討してみようと思う。

自分エロサイトをつくってみて

サムネイル画像の登録方法以外は特につまづくこともなくサイトをつくれた。

WordPressってプラグインでなんでもできるからほんとにすごいとおもう。

自分ポチポチ更新作業をしなくちゃいけないからそこはやっぱりめんどくさいけど。

これからはその作業すらもやりたくないので、しっかりとPHPとやらを勉強してみようか考えてる。

どうやらスクレイピングっていう技術習得すれば光が見えてくるらしい。

あとはSEO検索流入を増やして毎日アクセス数を頑張って伸ばしていくくらいか。

エロという不純な動機だけれどもちょっとだけ目標が持てたのでやっぱりエロはすごいと思った。もうちょっと頑張って生きてみよう。

即ハボ.com

http://sokuhabo.com

最後にひとこと

ここみんは天使

追記(9月8日11時50分)

なんか知らぬ間に200はてブ超えてた。すげえ。なんかすいません。

業者って言われてるけど違うよ。ニートだよ。仕事とかだったら絶対やらないし。

アフィ貼ってるからかいろいろ言われてるけど全然お金入ってこない。20円くらいw

忍者AdMaxより稼げるアフィあったら逆に教えてくれよ。

続編

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

http://anond.hatelabo.jp/20140924214600

2014-06-24

SQLSERVER テーブルのXML型の列へ XMLファイルから取り込む一例

  1. XML宣言のエンコーディングを "utf-16" にする
  2. BOMつきのUTF-16(Unicode)でファイル保存する
  3. 次のようなSQL文を流す

INSERT INTO TBL SELECT TBL.COL FROM OPENROWSET(BULK 'filepath', SINGLE_NCLOB) AS TBL(COL)

他の方法もいろいろあるだろう。ただ、文字コードに関して言及すると、SQL SERVER の内部データUCS-2UTF-16のサブセット)なので、合わせておいたほうが無難UTF-16以外で取り込もうとすると、日本語付近で "XML 文字が無効です" などとエラーになる場合が多い(もちろん原因は何かあるのだろうが、調べてもさっぱり私には見当がつかない。時間の浪費はいやずら)。

'filepath'は、SQL SERVERインスタンスが動いているマシンにとってのファイルパスね。'E:\???\???.xml'や'\\filesvr01\shared\data\???.xml'とか。

SELECT COL.query('/ELEM/NODE') FROM TBL など、あとはいろいろクエリーしてみてくれ。

感謝

2014-05-28

WSUS 3.0 SP2 に、SQL Server 2014は使えません

SQLServer2014は、互換レベル90を切り捨てたので、役割追加・インストールするとき 0x80070643 でエラーになります

http://msdn.microsoft.com/ja-jp/library/ms144262.aspx

バージョンSQL Serverを(別インスタンス名で)同時にインストールすることができるので、2014 を稼働させたいのであれば 2012 EXPRESS EDITION あたりの並列稼働ご検討を。

http://msdn.microsoft.com/ja-jp/library/ms143694.aspx

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-03-15

IIJ GIOが驚くほどクソ

国内クラウド大手IIJ GIOが驚くほどクソっていう話を書きます

IIJ GIOとは

クラウドならIIJ GIO(ジオ)- IIJの高品質クラウドサービス にあるように、クラウド上にいろんなサービスを乗せてくれるヤツです。

まぁAWSでいいじゃんって話が出ると思うので、AWSとの違いをまとめてくれた方がいましたので紹介します。IIJ GIO にあって AWS にない(なさそうに見える)10のサービス - yoshidashingoの日記 なお、このエントリー以降にAWS進化していて、中国リージョンの開設やVDIサービス提供アナウンスされています

なんでIIJ GIOを選ぶの?

一つには国内ベンダーっていう安心感ですかね。どこに登記されてるとも知れないAWSに任せると、いきなり「今度このへんのラックメンテするからEC2インスタンス落ちるよ」みたいのがあったりしますしね。

あとは、運用監視サービスをやってますAWSだとCloudWatchみたいな簡易なやつしかないですが、GIOだとアプリログとかポート監視もやってくれます。まぁAWSでもサードパーティ運用をやってくれる会社はありますが。

ところが…

残念ながら、上記の「選ぶ理由」はどれも裏切られます

不定期メンテ普通にありますし、ろくに通知もないです(電話1本とか)。内容も、ネットが切れるとかサーバを落としてくれとか割りとデカめです。国内ベンダーからちゃんとしてるだろうというファジーな期待は裏切られます

運用監視サービス、これがまたゴミです。監視カスタマイズなんかお願いしようものなら「これが仕様なんで…」と突っぱねられますポーリング間隔ですらカスタマイズできません。あと運用。「このアラートは即電話ね」と決めていても、24/365対応している現場人間適当バイトなので、ろくに伝わっていなくて見逃される、みたいのもザラです。

結論

AWSサードパーティ運用サービスが安くて安心

2014-02-06

終了!

さっき打合せしたですよ。

SEOですよ。リスティングも同時ですよ。

次は不具合のある同僚のPCエンコーダーを再インストールですよ。

お次はプリンタが使えないという隣のヤツのPCの面倒を見るわけです。

そいでもって社内のファイルサーバーを新しくするために代表に見せる見積もり作るんです。

お次は決済系のトラブルが発生したので決済会社に問い合わせのメールを送ります

アフィリの請求書がきてるのでチェックして経理に渡すですよ。

ISPから業務提携契約書がきてるので内容を確認するです。

ASWのインスタンスCPUパワーが90になったんでインスタンスを上のクラスに変更しなくちゃ。

ZIPファイルアップロード漏れがあったのでファイルサーバーから探してZIPしたアップしなけりゃ。

XPサポートが切れるからXP使ってる連中のPC発注しないと。

喉が乾いてきたから水のまなくちゃ。

尿意があるからトイレ行かなくちゃ。

まあ、ここで漏らしてもいいか。

まりに大変だから来週あたり会社つぶれねーかな。

終了になんねーかな。

そしたらひと息つけそうだ。

2014-01-27

http://anond.hatelabo.jp/20140127132639

そのインスタンスは24時間365日フル稼働なのか?

それとも単純にクエリ速度を引き上げるために並列化してるだけなのか?

 

ここで言っているのは、総 CPU 時間のことを言いたかっただけなんだ。

2013-11-11

無能ねー

http://anond.hatelabo.jp/20131110022429

英語で会話できない、最低ラインといっていいTOEICで800すら取れないw

http://www.toeic.or.jp/toeic/about/data/data_avelist/data_dist01_05.html

すげー。この数字見た上で800が最低ラインとか言っちゃうんだ。

とりあえずVim(笑)を使うw

クライアントしか作った事無い人っぽい。

IDEがねーと開発出来ないとか言ってんのかね。100以上のインスタンス管理してデプロイも開発もやってたら特定の環境しか開発出来ないやつ役にたたない。

まさかemacsならおkとか言うのかな。

海外支社やアウトソーシングもなく、100人も居ない会社で、コード規約(笑)とか言い始める

まさか今時コーディング規約wordか何かで作るもんだと思ってんのかね。

何作ってる人なんだろ。

2013-10-26

ローンチしたサイトに人がこない。

作った理由

アイデア

テーマ

コンセプト

システム構成

VPSサーバAWS EC2
言語Ruby2.0p245
フレームワークRails4.0
画像リサイズcarrierwave
ストレージAWS S3
DBAWS RDS



処理はRuby on Railsで実装。 ログイン処理はdevice 画像アップロードリサイズはcarrierwave carrierwaveってすごいのね。たった数行書くだけでアップロードした画像を複数サイズリサイズし、S3に保存までしてくれますインフラ周りはAWSにお任せ、THE最小構成ですね。 同時に7人アクセスしたらあぼーんです。 本来ならELBとAuto Scalingでミディアム2台くらい使いたいところですが、我慢。 RDSもmicroインスタンスなんで、これもクソ遅いらしいですが、ゆくゆくはミディアムにはしたいです。 あと、前回作ったWebサイトAMIを利用したんですが、本当に便利ですね! 動くものを作るまでの時間がほぼ0でした! AWSは個人利用者には少々割高かと思いますが、こういった便利なところがいいんですよね~。

及第点

その他

その他

色々書いたけど、ここまでの文はリリースしたときテンションがあがってた時に書いた文なののよね。

ぶっちゃけローンチして一ヶ月たつけど、登録数4人。しかも全部知り合い。

しろ流入0。見つからなければ存在しないに等しい。

興味があったらみていただければと・・・と思ったけど宣伝乙とか言うんだろ。

実装から今まで頭の中で思い描いたことの9割は裏目にでてるか失敗してるかうまくいってない。

こんな難しいのか、サイト運営って。

http://choistyle.net/

2013-10-21

はてな村なるものがあらかじめ存在するのではなく呼ばれるたびにその都度生まれるインスタンスのようなものなのでは(適当

2013-10-01

いかにしてFF14新生エオルゼアの熱が冷めたか

発売前にはβテストからテストプレイ全てに参加し、サービス開始初日からプレイを続けたもの

無料期間が終わり、1ヶ月分の課金をしたがあまりINするモチベーションのない、実質引退状態のプレイヤーになってしまった。

簡単に言うと、今後課金を続けるほどの継続的な面白さを見出だせなくなっているということなのだが、もうちょっと詳しく自己分析も含めて書いてみようと思う。

ID存在

FF14は序盤からインストーリーに、複数人とのパーティープレイ必須インスタンスダンジョン(以下ID)と、同じく複数人必須ボスとのバトルコンテンツがある。

どのくらいの比率かというと、レベル17までのプレイは初回で約10時間程度、そこからストーリーをすすめるには、IDを3つクリアしないといけない。その後1、2時間程度のプレイボスとのバトルコンテンツがある。これでPTプレイは数えて4つ。

それが終わると、その後10時間程度レベル上げをした後にIDクリアを命ぜられる。その後同様に10時間程度するとまたしてもIDクリアを命ぜられる。

なにかとパーティプレイ必須IDで進展に蓋をしているのが現状だ。

●中核を担うバトルシステムから波及する問題

上記PTプレイにはセオリーというもの存在する。TANKと呼ばれるHPと防御力の高い職が先頭を走り、立ちふさがる敵の注意を集め、敵視を維持しながらDPS職が殴り、HEALERが主に攻撃を受けているTANKを回復する。

さて、初めて攻略するIDおいて、一番敷居の高い職はなんだろうと考えたところ、圧倒的にTANK職だろう。

常にダンジョンの先頭を走るために、内部構造をある程度把握していないといけない。危険な範囲攻撃や大きな被害を被る攻撃を繰り出す敵を最初に倒すべく、考えて敵を釣らなければいけない。

明らかに責任が重い。

たまたま斧術士というTANK職でプレイしていた俺は、それが煩わしくてしょうがなかった。面倒である

現在、斧術士を戦士(よりTANKとしての特性に特化した職)へランクアップ(といっても過言ではないだろう)し、レベルは31(現在は最高50レベル)になったが、道中のトトラクの千獄と呼ばれるIDクリアしていない。

これから先、まだ幾つものIDボスがあるのは知っている。そして、ダンジョンボスギミック加速度的に難易度が上がることも、TANKへの他プレイヤーの要求が上がることも聞いている。

そして、それらのPTプレイを終え、メインストーリーをクリアした後に待っているものは、装備を更新するためのIDボスバトルだ。

PTプレイを推奨しながら、ライトプレイングを提唱するその基板には、ある程度快適なPT編成システムがあるからだろう。

コンテンツファインダー(以下CF)という、PTプレイ必要コンテンツ自分を登録しておくことで、申請者の中からサーバーの壁を超えて勝手PTを集めて組み立ててくれるシステムだ。

非常に便利な半面、この一期一会システムが、「質の悪いプレイヤー」と接する機会を激増させている。

終われば、あるいは自分から切断すればその後散り散りになるため、後先を考慮する必要がないと捉えた上記の「質が悪いプレイヤー」を抑制することが出来ない。コンテンツの難易度が上がれば比例的に数が増えると聞いている。

「聞いているだけで実際はそうではない」という話は、実際は事実かどうかは関係なく、その話で躊躇するプレイヤーゲームから遠ざけてしまうという事が間違いなくある事が大事である。俺だ。

コンテンツボリュームと、快適な移動が生み出す矮小世界

βテストの時点では、レベル20キャップ最初パーティプレイチュートリアルとして3つのIDと1つのボスバトルがあるという話であった。

これを終えれば、まだ自由にコンテンツを楽しむことが出来ると思っていたが、実はコンテンツは、そのメインストーリーと各職業レベルが5上がるごとに受けられるジョブクエスト、mob狩りとfateと呼ばれるフィールドに突発的に発生するクエスト、ギャザラーと呼ばれる職業によるアイテム集め、それらを加工する生産であるラフターでの生産。これだけだった。

これだけ見て、多いと感じるだろうか?少ないと感じるだろうか?

インストーリーは置いておくとして、ジョブクエストは、クリアするとその時のレベル適正装備やスキルがもらえるお使いクエストだ。

mob狩りやfateレベル上げでしか無い。

ギャザラーのアイテム採取は、フィールド採取ポイントを往復しながらボタンを連打したあげく、数時間をかけて入手したアイテムガンガン相場が下がっている。

ラフターは一部先行者が儲けを独占し、後続は投げ売り価値暴落させる。そもそもクラフターが作るアイテムの中で、戦闘職用の装備はIDの宝箱から出るもののほうが性能が良いため、二束三文。非戦闘職用のものを売れるならまだいいが、消費するものではないためそれも頭打ちになる。

では回復薬ステータスアップにつながる料理などはというと、基本的に必要とされておらず価値がつかない。

(ここらへんのバランステスト時にもさんざん言われてきたが、そういうゲーム構造なので現状ではどうしようもないだろう)

レベル上げとIDを何度もクリアして装備を集める事とメインストーリーしかやることがなかった。多様性が全くなかったのだ。

レベルはとても上がりやすい。今の俺のレベル30位なら、2日効率よくやれば到達できるだろう。クエストはお使いモノがたくさんあるし、各地のfateをやるだけでどんどん上がる。IDへ入り浸っているならなおさらだ

からこそ、ある程度普通にやるだけでエンドコンテンツへ簡単にたどり着いてしまう。そこに待っているのは高難易度で面倒なPTプレイしか」無い。

自分で知らない場所へ赴き、SCをとるだけでも楽しいものであるが、この世界の住人はとかく足が速い。

プレイヤー最初からファストトラベルで、常人の足でありながら高速に動く。レベルが少し上がり、初心者を脱した時には自分専用の騎乗動物マイチョコボ」が与えられ、いつでもどこでも呼び出して乗ることが出来る。

このため、一見広そうな世界でも、とにかく狭い。足の速さはプレイヤーの快適さにも直結する部分だが、一方で世界観の構築にはあまり寄与しない。

世界の広さに関しては、今後のVUで確実に改善する部分だが、初期段階で今の全世界の倍は用意して欲しいと思った。


現在フリーカンパニーと呼ばれる集団にも加入し、一応のコミュニティには属しているわけだが、どうにも上記の要素を感じてしまって未来を感じない。

新生エオルゼアには本当にものすごく期待していたのだが、(FF11も、旧14もプレイ済み)どうやらこのままフェードアウトしそうだ。

文句を言っているのではない。ただ、残念である

2013-09-23

ネトゲで他人を諭す自分が強烈に気持ち悪くなった

新生FF14をやっている。

この3連休を利用して、格好いい見た目の武器が欲しくて、ずっと同じ「ストーンヴィジル」っていうインスタンスダンジョン(4人限定で入れて、そのダンジョンラスボス倒したらクリアってやつ)に潜ってた。

ラスボス倒したら、確率で色々な武器が手に入るのだけど、槍がなかなか出ない。槍欲しい。

FF14は「コンテンツファインダー」というシステムで、「私、ストーンヴィジル行きたいです!」っていう人たちを自動的にマッチングしてくれてる。

1回目:時間切れでラスボス倒せず

2回目:ラスボス倒せたけど、本が出る

3回目:剣が出る

4回目:クリアできず

5回目:本が出る

6回目:斧が出る→からの7回目。

敵を引きつけたり、回復やその他に攻撃がいかないよう守ってくれる「タンク」役は盾か剣か、斧の職業の人なんだけど、盾の人が自動マッチングされて来た。

Lv40~43くらい?のダンジョンでLv46の人だったか安心していたら、まず出だして1回全滅。

難しいダンジョンから、90分制限ぎりぎりになることは何度もあったけど、ダンジョン入ってすぐの、そのダンジョンで一番弱い雑魚3匹だけで全滅。

で、ボス1・2・3といるうちの、ボス1に行くまでに4回全滅。全滅しても何も言わないかボス1行く前にちょっとイラっと来て、

ターゲット(敵が攻撃する対象)が回復の人に行くからターゲット移らないようにフラッシュ(敵視を盾に集める)してー」

って軽く言ったけど応答なし。ターゲットが移るたびに回復が死に、回復死んでも盾は無言で同じ敵をたたき続け、回復できなくて死ぬ

盾死んだらDPS(他の攻撃役)の自分たちも死ぬから最初からやり直し。

ボス1は攻略法さえ分かってれば簡単に倒せるのに、4回死んだ。

盾の攻撃力が足りなくて、回復の人のヘイト(敵視)が上回って、ボスに回復の人がたたかれ続けてもそのままフラッシュもしない。回復死んで、盾が死ぬまでそのまま。

まったく同じ失敗を4回繰り返して、ついに言ってしまった。

「あと45分同じ事を繰り返すより、話し合いませんか?」

から応答なかったけど、その他回復と私以外のDPSの人が「そうだよね」みたいになったから図に乗ったんだと思う。

ターゲットが回復さんに行ってしまうので、定期的にフラッシュお願いします」応答なし。

「回復のヘイト意外と高いから(フラッシュないときつい)」応答なし。

もう完全にイライラしていて、「聞いてる?」ってチャットしたけど応答なし。

話し合いってより、私の一人語りだったけど、盾はどんどんボス1の方に勝手に走って行く。

他の人は、ふりだしの場所チャット打ってる自分の近くに居た。

何にも応答なくて、仕方なく盾の近くに寄ったら、パーティ皆に聞こえるチャットじゃなくて、近くにいる人しか見えないチャットで「はい」って言ってた。

強烈に自分が気持ち悪くなった。

ここで他の人たちが「ボス行く?」とチャットした。

今まで盾に無言でついて行ってたけど、本当にこの雰囲気の中いけるの?って感じだった。

結局、辞めるなら出よう、盾の人が行くって言ったらついて行こうってなって、盾の人が「もうやめましょう」って言ったきりパーティを抜けた。

パーティは解散になったけど、そのまま続けるのが忍びなくてゲームを終了してきた。

同じエリアの全員に聞こえるチャットで、「真タイタン討伐行く人いませんか?ただし○○装備以上に限ります」とか、「アムダプール募集。ただし説明不要経験者or攻略法見てきた人に限る」とかやってて、

ダンジョン行ったら行ったで、「そんな(弱い)装備でクリアできると思ってるの?w」とか言う人も居た。

ゲームときに入れ込みようが半端なさ過ぎるだろう、気持ち悪いって思ってた自分ゲームとき攻略で本気で盾さんを困らせてた。

パーティ皆に聞こえるチャットじゃなくても、盾さん個人に「お願いします」って、そういうのじゃなくてももっと言い方はあったのに、仮想の武器欲しさにゲームってことを見失ってた自分が本気で気持ち悪いよ。

ストーンヴィジル、行きたいけどもういけないかなと思ってる。

ログインしたら、全体に聞こえるチャットで「こいつキモい」とか言ってたらどうしよう、って思ってる。

暴言・無言キャラ晒し上げリスト自分が上がってないか2chまでチェックしてしまった。

今は冷静さを取り戻したくて書いてる。

キャラ捨てようかな。まだストーンヴィジル行きたい自分が厭だ。

2013-06-30

プログラミングの授業ついていけてるのかわかんない

JavaiPhoneアプリの授業受けてる。

今のとこ課題は全部出せてる。

授業で先生が書くコードを一緒に書いていって

forとかwhileとか配列とかスレッドとかそういう技?みたいなのはなるほどってなる。

けど、書いたコードの説明に入って

プリミティブ型?とかキャストとかわけわかんない単語使いながら

クラスとかメソッドが~~とか言われるとわけわかんなくなる。

用語解説必死に読んでも日本語と思えないことが書いてあって辛い。

iPhoneアプリの授業はインターフェスビルダーとXcode関係を結ぶところとか、

アクションメソッドでどういう動きさせるかはJavaの授業とリンクしててよくわかって楽しいんだけど

インスタンス解放とかアウトレット?とか戻り値とかデリゲートとか

アクションメソッドでどういう動きさせるか書いた下の方にあるコーナーに

先生がこの文入れといてください これはリリースしますとかわけわかんないこと言ってるのにしたがって文を写してて

これで本当に大丈夫か??ってなる。

どちらも同じ先生で、質問してもそのうちわかってくる!って言われるからそうか…ってほっといてるけど、

言語の詳しい説明はいつになったら理解できるようになるか不安になる。

自習の仕方もわからないし。

どうすればいいですか?

日本語でOKですいません。

2013-05-19

Elastic IP

AWS EC2IPって最初の1つは無料だと思ってたんだけど、実行中のインスタンスにひもづけてないと課金されるんだね。

ちょっと考えるとまともな仕様だとわかるけど、使わないと逆に課金されるとは思いもせず気付かなかったわ…。

2013-05-01

インスタンス化ってなんぞや

LinuxC++コンソールプログラムとか書いてたんだけど、Windowsアプリの本みたら^でインスタンス化なるものがあるらしい。

2013-04-08

「ごめんください」

「何や今時分、おお、お前か。まあ上がり」

「どっちの足から上がりましょ」

「お前と掛け合いで落語やる気はない。早よ、上がれ」

「へへへ。ほな失礼します」

「失礼は毎度のことやんけ」

「何です」

「いやいや。ほんで何やねん」

「実はね、ぼく今の仕事辞めよか思てますねん」

「ほおん、なるほど。で、その心は」

別に謎かけやないんですが、まあ、しんどいちうことと、ええ歳していつまでもこんな仕事してたらあかんなあと思いまして」

せやなあ、今年は蟹の水揚げが不調やしな」

「いったい何なんですか、ぼくの職業は。多喜二ですか」

「軽い冗談や」

「まあ、ほんまにそれくらい厳しい労働条件ですけどね。いっそアカになったろか思いますよ」

「ほな、俺、公安ね」

「なんで今からごっこ遊びせなあきませんねん」

「せやから軽い冗談や、言うてるやろ。で、辞めてどうするねん」

コンピュータ関係仕事にでも就こかなあ、と」

「何やて」

「いや、せやからコンピュータ関係

コンピュータて、お前、コンピュータで何ができるねん」

「ほら、ぼく、ワードやエクセル使うの得意ですやん」

「ワード……、エクセル……」

「何ですか」

「お前、キーパンチャーにでもなるつもりか」

「何ですか、そのキーパンチャーて」

「それはやな、君」

「なんでいきなり噺家口調になるんですか」

小学校の頃、あったやろ。こう、水槽に粉入れといてやな」

シーモンキー。滅茶滅茶遠いし」

「とにかく俺が言いたいのはやな、お前ほんまにワードやらエクセルやら云々でコンピュータ関係仕事に就けると思てるんか、ちうこっちゃ」

「ああ、判りました。いつもの口癖ですね。プログラム作れん奴はコンピュータ触るな、とか、ユニックス判らん奴はネットに出てくるな、とか」

「まあ、そういうこっちゃ」

「でも、コンピュータ関係仕事には絶対にプログラムの知識が必要なんですか」

「んー、そういうこともなかろうけどな。まあでも、ソース読めへんSEとか管理者っちうのはちょっとぞっとするわなあ」

「実はね、そうやろうと思ってぼく最近プログラム勉強してますねん」

「ほほう」

「あっ、いきなり薄笑い浮かべてますやん。滅っ茶馬鹿にしてるでしょ」

「いいやあ、別にい。で、何勉強してるねん」

「C言語です」

「くくく」

「あっ。腹立つ、このおっさん

「くくく。まあ、しっかり頑張りたまえよ」

「何か悔しいなあ」

「で、どないして勉強してるねん」

「へへへ。ちゃんと例のやつ買ったんですよ」

「例のやつて何やねん」

「いつも言うてはるやないですか。バイブルやて。R&Bですよ、R&B

R&B

「そうです」

せやなあ、レイ・チャールズはええよなあ」

「何ですか。……あっ、R&Bちゃいます。ええと、ええと」

「K&Rやろが」

「そうそう。そうとも言う」

「そうとしか言わんちうねん」

「とにかくそれで勉強してますねん」

「今どれくらいまで進んでるねん」

「ええとね。摂氏温度と華氏温度の変換のやつです」

「それ、滅茶苦茶初めのほうやんけ」

「これからですよ、これから

大丈夫かいな」

「それに、ぼく、パールは使えますし」

「はあ。パールて、あのパールか、ラリー・ウォールの」

「そんな人知りませんけど、とにかくパールです」

「お前、パール書けたっけ」

「ばりばりですよ。たとえばうちのサイト掲示板ですけど」

「えっ。あれって自作やったんか」

「ちゃいますけど、ちゃあんとタイトル書き換えて使ってますやん」

「……」

「頭抱えてどないしはったんですか」

「お前、コンピュータ関係仕事に就きたいんやったよな」

「そうです」

「お前な、何かをものすごく誤解してるか、世間ものすごく舐めてるかのどっちかやな」

「えへへ。そうかな」

あかんわ。褒められたと思とる」

「C言語覚えたら次はシーインクリメントですわ」

なんやて」

「シーインクリメント」

「それって、Cプラプラのことか」

「そうです。何か変ですか」

「まあ『++』は確かにインクリメント演算子やけどな。普通はCプラプラって言うやろ」

「変ですやん、そっちの方が。大のおとなが『ぷらぷら、ぷらぷら』言うて」

「確かに宮沢章夫もそう書いてたけどな」

「ところで、C++とCは一言で言うて何がちゃうんですか」

「お前なあ、自覚ないやろけど、それはものすごく難しい質問やで。一言で、て」

「けち臭いこと言わんと教えてくださいよ」

「C++はオブジェクト指向やねん。どや一言や」

またまたあ、わざとややこしい言い方して煙に巻こうとしてるでしょ」

「むかむかむか。そしたら言うたるわい。C++ちうのはやな、要はクラス概念を実装したもんで、クラスちうのはインスタンスをうんたらかんたらで、継承オーバーライドがこーたらで、ポリモーフィズムがなんたらで、隠蔽がどーたらで、うらうらー」

「……」

「おらおらー。クラスクラスクラスー」

「……」

「はあっ。はあっ。どうや、参ったか

「うーん。何かよう判りませんわ」

「せやろ。あんまり世間様を舐めたらあかんで」

「なんか難しそうやから、C++やめて次はJavaにしますわ」

ぎゃふん

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