はてなキーワード: ec2とは
アマゾン(compute.amazonaws.com)による大量の不正クリックで頭を悩ませているアフィリエイトサイト運営者(まとめでもキュレーションでもない)は多いことだろう。
ASPのV社によると、これは「提携媒体様のサイト表記等のチェック」名目でのアクセスとのことだが、オーガニック検索で辿り着けるページだけでなく、広告出稿ページにまで広告経由で大量にやって来るから頭が痛い。しかも、課金されやすいように分単位、ときには秒単位でユーザーエージェントやホストを変更し、ひたすら同じ広告をクリックし続ける。リファラーなど一切ない。
例えば、このような具合である(サイトに関わる部分は*****にさせてもらった)。
ec2-52-198-49-221.ap-northeast-1.compute.amazonaws.com - - [14/Nov/2016:06:05:15 +0900] ***** "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.106 Safari/537.36"
ec2-52-198-49-221.ap-northeast-1.compute.amazonaws.com - - [14/Nov/2016:06:05:25 +0900] ***** "-" "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)"
ec2-52-198-222-214.ap-northeast-1.compute.amazonaws.com - - [14/Nov/2016:06:05:35 +0900] ***** "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.118 Safari/537.36"
ec2-52-198-169-39.ap-northeast-1.compute.amazonaws.com - - [14/Nov/2016:06:05:44 +0900] ***** "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.118 Safari/537.36"
ec2-52-197-86-194.ap-northeast-1.compute.amazonaws.com - - [14/Nov/2016:06:05:45 +0900] ***** "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.73 Safari/537.36 OPR/34.0.2036.25"
ec2-52-199-76-193.ap-northeast-1.compute.amazonaws.com - - [14/Nov/2016:06:06:26 +0900] ***** "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.73 Safari/537.36 OPR/34.0.2036.25"
ec2-52-69-168-106.ap-northeast-1.compute.amazonaws.com - - [14/Nov/2016:06:06:30 +0900] ***** "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.73 Safari/537.36 OPR/34.0.2036.25"
ec2-52-69-168-106.ap-northeast-1.compute.amazonaws.com - - [14/Nov/2016:06:06:32 +0900] ***** "-" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.118 Safari/537.36"
ec2-52-199-85-63.ap-northeast-1.compute.amazonaws.com - - [14/Nov/2016:06:06:38 +0900] ***** "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_4) AppleWebKit/537.78.2 (KHTML, like Gecko) Version/7.0.6 Safari/537.78.2"
ec2-52-198-49-221.ap-northeast-1.compute.amazonaws.com - - [14/Nov/2016:06:06:39 +0900] ***** "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:32.0) Gecko/20100101 Firefox/32.0"
ec2-52-198-49-221.ap-northeast-1.compute.amazonaws.com - - [14/Nov/2016:06:06:39 +0900] ***** "-" "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; Win64; x64; Trident/6.0)"
ec2-52-198-49-221.ap-northeast-1.compute.amazonaws.com - - [14/Nov/2016:06:07:06 +0900] ***** "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.106 Safari/537.36"
ec2-52-68-194-244.ap-northeast-1.compute.amazonaws.com - - [14/Nov/2016:06:07:17 +0900] ***** "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.118 Safari/537.36"
ec2-52-198-243-110.ap-northeast-1.compute.amazonaws.com - - [14/Nov/2016:06:08:11 +0900] ***** "-" "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)"
ec2-52-198-243-110.ap-northeast-1.compute.amazonaws.com - - [14/Nov/2016:06:08:25 +0900] ***** "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:32.0) Gecko/20100101 Firefox/32.0"
ec2-52-196-112-20.ap-northeast-1.compute.amazonaws.com - - [14/Nov/2016:06:08:48 +0900] ***** "-" "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)"
ec2-52-193-171-45.ap-northeast-1.compute.amazonaws.com - - [14/Nov/2016:06:08:54 +0900] ***** "-" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:37.0) Gecko/20100101 Firefox/37.0"
ec2-52-198-169-39.ap-northeast-1.compute.amazonaws.com - - [14/Nov/2016:06:08:58 +0900] ***** "-" "Mozilla/5.0 (X11; Linux x86_64; rv:43.0) Gecko/20100101 Firefox/43.0"
ec2-52-198-169-39.ap-northeast-1.compute.amazonaws.com - - [14/Nov/2016:06:09:02 +0900] ***** "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_4) AppleWebKit/537.78.2 (KHTML, like Gecko) Version/7.0.6 Safari/537.78.2"
ec2-52-192-198-30.ap-northeast-1.compute.amazonaws.com - - [14/Nov/2016:06:09:04 +0900] ***** "-" "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; Win64; x64; Trident/6.0)"
ec2-52-193-171-45.ap-northeast-1.compute.amazonaws.com - - [14/Nov/2016:06:09:40 +0900] ***** "-" "Mozilla/5.0 (Windows NT 6.1; Win64; x64; Trident/7.0; rv:11.0) like Gecko"
ec2-52-197-156-176.ap-northeast-1.compute.amazonaws.com - - [14/Nov/2016:06:09:46 +0900] ***** "-" "Mozilla/5.0 (Windows NT 6.1; Win64; x64; Trident/7.0; rv:11.0) like Gecko"
ec2-52-196-112-20.ap-northeast-1.compute.amazonaws.com - - [14/Nov/2016:06:10:16 +0900] ***** "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.73 Safari/537.36 OPR/34.0.2036.25"
ec2-52-199-44-248.ap-northeast-1.compute.amazonaws.com - - [14/Nov/2016:06:10:25 +0900] ***** "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_4) AppleWebKit/537.78.2 (KHTML, like Gecko) Version/7.0.6 Safari/537.78.2"
ec2-52-69-168-106.ap-northeast-1.compute.amazonaws.com - - [14/Nov/2016:06:10:32 +0900] ***** "-" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.118 Safari/537.36"
ec2-52-199-85-63.ap-northeast-1.compute.amazonaws.com - - [14/Nov/2016:06:10:52 +0900] ***** "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.73 Safari/537.36 OPR/34.0.2036.25"
ec2-52-199-44-248.ap-northeast-1.compute.amazonaws.com - - [14/Nov/2016:06:11:08 +0900] ***** "-" "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)"
ec2-52-68-45-242.ap-northeast-1.compute.amazonaws.com - - [14/Nov/2016:06:11:08 +0900] ***** "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.73 Safari/537.36 OPR/34.0.2036.25"
ec2-52-69-169-154.ap-northeast-1.compute.amazonaws.com - - [14/Nov/2016:06:11:26 +0900] ***** "-" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.118 Safari/537.36"
1日でクリックされる広告は多いときで2,000件を超え、ヤフーリスティング広告管理画面の「無効なクリック数」にはたった1日で1,000件を超える無効クリックが計上される始末だ。残念ながらヤフーのシステムでもすべてのamazonaws.comを無効にできず、クリック調査を依頼してわずかながら返金されるも、アマゾンによる不正クリックは数多くが課金計上され、支払っている。
この現状に気づいていないアフィリエイトサイト運営者も多いことだろう。たとえば商標で出稿するなどクライアントのガイドラインに違反している広告であればどんどんクリックしてもらって結構だし、むしろそのようなサイトは不正クリックで是非潰して欲しいところでもある。
だが、普通に出稿している広告にこのような異常なクリックをされるとたまったものではない。
amazonaws.comの地域属性はアメリカなので、では都道府県単位で限定出稿しても、普通に変わらず大量に不正クリックされる。
広告を引っ込めるわけにもいかないから狙われないようにキーワードを絞り込もうとするも、管理画面でクリックされた検索クエリーを確認すると、それはもう満遍なく不正クリックされている。
提携媒体のサイト表記チェック名目にしては数が膨大過ぎて迷惑だという旨をASPのV社に返信したが、それに対する返信はなく、要するに「我慢しろ」ということなのだろう。
それではと、不正クリックサービスの提供元であるAmazon Web Services (AWS) のabuseにサーバーの生ログを添えて通報すると、通報から10日経った頃に返ってきたメールは、
> We were unable to identify the customer responsible for the reported activity.
> Due to the frequency with which AWS public IP addresses can change ownership
とのことで(バカか)、もはや不正クリック代行業者どもが泣いて喜びそうなお粗末な現状である。
アフィリエイトサイト運営者は今すぐサーバーの生ログをチェックし、広告URLに異様な足跡が残っていないか確認すべきだろう。ヤフーリスティング広告の場合、不正クリックによる返金期限は過去60日しか遡れない。
あ、そうそう、最近ASKAで話題のギフハブらしき痕跡もあった。
ec2-52-198-19-198.ap-northeast-1.compute.amazonaws.com - - [23/Aug/2016:18:09:45 +0900] "GET ***** HTTP/1.1" 200 27625 "-" "Mechanize/2.7.0 Ruby/2.0.0p451 (http://github.com/sparklemotion/mechanize/)"
http://anond.hatelabo.jp/20160902031012
はてブで批判してる人たちよりよほど志のある学生さんだと思うので、いろいろ書いてみます。おっさんのたわ言ではありますが、元記事の人にすこしでもヒントになればと思って。
まず、日本の大学で勉強しても実用的なソフトウェアが書けるようにはなりません。どういうことかというと、「情報系の大学に行けば○○が作れるようになる!」という世間一般の期待と、実際に大学で教えている内容には大きなギャップがあるということです。
これは大学が悪いのではなく、大学はそもそもそういうものであって、それが世間に認知されてないというだけです。
具体的に挙げてみましょう。
大学で教えてる内容ってこんな感じなので、ゲームやアプリやサービスを作ることが目的の人から見ると、役に立たない内容にしか見えませんし、実際たいして役に立ちません。その証拠に、大学の情報系学科を出ていないのにゲームやiOSアプリやWebサービスを作っている人はゴマンといるし、逆に日本の大学の先生でゲームやiOSアプリやWebサービスを作れる人はほとんどいません。
これは重要なことなのでもう一度書きますが、日本の大学の先生でゲームやアプリやサービスを作れる人はほとんどいません。大学の先生が得意なのは、プログラムを書くことではなく論文を書くことです。論文のためにプログラムを書くことはありますが、あくまでおまけです。
そのため、大学で勉強してもゲームやアプリやサービスが作れるようにはなりません。だって教えている側の先生が、ゲームやアプリやサービスを作ったこともなければ、作り方も知らないんだから。
そういう経験のない人たちばかりですよ、日本の大学の先生って。そんな人たちの授業を受けて、アプリやサービスが作れるようになると思うほうがおかしいでしょう。
ためしに、先生方のTwitterアカウント名でGithubを検索してみてください。いまどきGithubにアカウントがないとか、あったとしてもTestCaseすらないコードとか、そんなものばかりです。「研究内容をライバルに知られるわけにはいかないからGithubは使わない」という言い訳する人がいそう。けど、本当はGitが使えないだけでしょ?
あるいは、先生方の個人ページや研究室の紹介ページを開いて、HTMLソースを見てみてください。doctype宣言がないとか、viewportの指定がないとか、Pタグの中にULタグを使ってるとか、そんなのばかりです。HTMLすらろくに書けない人が、Webアプリを作れると思いますか?きっとXSSもCSRFも知らないですよ。
ですので、そういうことを勉強したいなら、ベンチャーやIT系企業に入るべきです。大学でそういうことを勉強しようとしても、教えられる人がいないから無理。
(「大学はそんなことを教える場所ではない!」と怒る人いると思うけど、教えられる先生がいないという事実をごまかすために怒ってるだけだから。)
とはいっても、大学の先生がプログラムがいっさい書けないというわけではないです。彼らが得意なのは、コンパイラやインタプリタやOSやソルバを作ることです。これらも実用的なソフトウェアと言えなくはありませんが、ゲームやアプリやサービスとはジャンルが大きく違います。
そのため、大学の情報系学科に進めばコンパイラやOSや機械学習ライブラリを書けるようにはなるかもしれませんが、それはゲームやアプリやサービスではないので、繰り返しになりますがそれらを作りたい人には大学は向きません。
じゃあ大学で授業を受けるのってムダなのかというと、必ずしもそうではないです。
大学で教えている内容って、ゲームやiOSアプリやWebサービスが一通り作れるようになってから、その先を目指すときになって初めて必要になることが多いです。たとえば、
こういうときになって、初めて大学で教わった内容が生きてきます。逆にいうと、そういう状況にならないと、大学で教わった内容は生きてこないと言えます。(情報系の学科で学んでいるなら、ライブラリや言語やOSを「使う人」ではなく「作る人」にぜひともなってほしいですね。)
元増田は、社会に役立つ実用的なソフトウェアを作りたいようです。しかし残念なことに、大学が教えている内容はその目的には合致していないことを説明しました。
こういう事情なので、元増田には大学をドロップアウトしてIT系の会社に入社することをお勧めします。ドロップアウトが難しいなら、インターンやバイトでなんとしても入り込むことです。
入るべき会社は、教育に力を入れている会社です。20人未満の小さな会社では教育に力を入れている余裕はないので、小さな会社はやめたほうがいいです。簡単にぐぐってみたところ、はてなやPixivやクックパッドやDeNAやドワンゴは教育制度が確立しているようです(違ってたらごめん)。そういった会社に入ったほうが、大学の授業を受けるよりも、元増田の目的にかなうのは間違いありません。
そして何年か働いて、iOSアプリやWebサービスが一通り作れるようになったら、大学に入り直すことです。これはとても効果的なので、元増田には強くお勧めします。
上で説明したように、大学というところは、ゲームやアプリやサービスの作り方は教えてくれず、それらが作れるようになって初めて役に立つことを教えてくれます。そのため、元増田はIT系の会社に入ってアプリやサービスの作り方を勉強し、それらが作れるようになってから再度大学の門をたたくのが、いちばん効率的です。
なお繰り返しますが、入るべき会社は「教育に力を入れている会社」です。今のIT系企業では、インターン生を「格安で使えるバイト君」としか見なしていない会社が多すぎます。そういう会社は、コストが掛かることはいやがるので、教育もろくにはしてくれません。逆に教育に力を入れている会社では、インターン制度を「将来の戦力を選別する期間」と見なしています。
残念ながら、そういう会社は東京に集中しているようです。例外は京都のはてなくらいでしょうか。地方の大学生にとってはつらい現実なので、はてなやPixivやドワンゴは地方でのインターン開催をお願いします。あとレベル5は九大と九工大の学生を鍛えてあげてください。
余談ですが、学生さんにひとこと:
インターンやバイトで潜り込む先の会社を選ぶときは、就活と同じような時間をかけて選んでください。バイトだからとかインターンだからという軽い気持ちで会社を選ぶ大学生が多いから、それを食い物にしている悪質経営者があとを立ちません。インターン生が「格安の学生バイト」として使われている現状を是正するために、学生のほうでも注意してください。
ドロップアウトを進めた手前、書こうと思ったけど、長すぎるのでやめた。
リツイートが100超えたら書く。
その中でこんな部署に配属になったら自分のエンジニア人生が終わってしまう(テクニカルロックイン及び生涯収入的に)ので、会社を辞めるか別部署への再配属願いを出す。規模的には部署が 10 人以下ぐらいで。
この辺に当てはまるものがある部署はもうそれはエンジニア部署じゃなく、ただの SIer 上がりの口だけで何にもできない人間達だから近づかないほうが幸せだと思っている。
去年の今頃は「今年こそはすごいWebサービス作るぞ!!!!!!!!!!!」って意気込んでたのに
なんかもう今日が最終日。
ということでこの12月頭から何か作ろうと考えていて、丁度年末だからということで作った。
前にAmazonの購入金額合計を出すブックマークレットが流行ったけど、それとほぼ同じ。
Amazonの今までの合計金額と、書籍とかPCとかカテゴリごとの合計金額出してグラフにする。
年末だしTwitterで「2014年のKindle購入金額内訳は...でした」とか投稿すれば
みんなつられてアクセスするはず!宣伝しなくても勝手に大ブーム間違いなし!!!!!!!!
って思ってたけど
投稿してもだれもアクセスしてくれない。待っても待ってもアクセス0。
e?嘘でしょ???って思ったら
のはずだったけど今度はrobots.txt見に来るクソbotしかアクセスしてくれない。
虚しさ半端ない。
というかTwitterでURLつぶやくと即効でどこぞやのクローラー巡回してくるんですね。
構成自体はクライアント・サーバサイド共にjs。EC2上でnode.js。
D3.jsのグラフ画像がsvgだからどうにかしてpngにしないとTwitter投稿出来ないのが微妙に面倒だった
投稿時にクライアント側でbase64→canvas→pngにしても良かったけど
商品のカテゴリ取得するためにはProduct Advertising API使うしかなくて
redis上にキャッシュしておいたりwebsocketで適当に進捗伝えたりした。
今回得た経験値としては
あたり。
今年は残念ながら目標不達成だったけど、いい最終日の過ごし方になったと思う。
お疲れ様でした。
文系出身だけど前々からWebサービスつくってみたくて勉強がてら一人でWebサービス作ってみました。
作りたいって思うなら実際に作ってみるのが一番いいってじっちゃんがいってた。
やってみて感じたこととか先輩エンジニアの人たちに教えて欲しいこととかを書いていきたいと思います。
じっちゃん、僕にもできたよ!
EDM JACK
簡単に説明するとクラブミュージックを淡々と紹介していくサイト
・26歳
・フリーター(ほぼニート)→知人の会社で営業職→今年の4月にWeb業界へ転職。
・営業職だったころにあいた時間にドットインストールとかでHTML/CSSの勉強をしてた。
大学を中退してからフリーターになって、その頃から自分でWebサービスとかつくって運営してる人ってかっこいいな〜とか思ってた。
Facebookの映画とか見たときは完全に感化されっぱなしだった。
でもいつか作れたらいいな〜って思ってただけでなにもしてなかった。
最近いろいろ環境が変わって少し休みをもらえたので奮起して勉強がてら作ってみることにしたのです。
漠然と「Webサービス作りたい」って思ってたからまずどんなWebサービスを作るか考えました。
やっぱり好きなことじゃないと続かないと思ったので
自分が好きなクラブミュージックをまとめるサイトを作ることにしました。
ジャンルはDJ KAO●Iとかミーハーな感じの曲じゃなくてEDMってやつ。
EDMといえば今月日本でもUltra Music Festivalが開催されるね!やったね!Hardwellに会えるね!
まずはプログラミングとやらを勉強することにしました。ドットインストールは偉大です。お世話になりました。
ここでHTML/CSSとPHPを勉強しました。でもPHPでゼロからコードを書いて作ろうとすると重大な問題があることに気が付きました。
時間がかかりすぎる。
今回はとりあえず自分でなにかWebサービスを作ってみるということを経験したかったのでWordPressを使うことにしました。
でもさすがにレンタルサーバーを借りてWordPress入れましたっていうんじゃ先輩エンジニアの人たちに怒られちゃうと思ったので、
WordPressを入れるサーバーの環境構築は自分で頑張ってやってみることにしました。
なのでWeb業界ではアイドル的存在のAWSっていうやつで頑張ることにしました。
ここでもドットインストールにお世話になりました。ほんとなんでもチュートリアルがあってすごい。
最初はWebサーバーにApacheを入れていたんですが、なんか重たい感じがしていろいろ調べているとNginxがナウい感じだったので
Nginxでインスタンスを立て直すことしました。環境的にはこんな感じ。
Nginx 1.4.7
MySQL 5.6.13
ドットインストールでUnixコマンドとかを勉強したとはいってもNginxの設定周りをいじるのは結構大変でした。
でもNginx使うからにはチューニングしてから使わないとApache先生に怒られちゃうので、
チューニングテストをしたらTransfer Rateが17[Kbytes/sec] くらいから15000 [Kbytes/sec]くらいになった。
無事にサーバーが立てられたのでWordPressを突っ込んでテーマとかいろいろいじりました。
シェアボタンをつけたりFacebookのLikeBoxを入れたりでちょっとテーマいじった程度。
あ、カテゴリとタグにpickupってつけたら自動で投稿が目立つようにした。これは自分でテーマファイルいじって書いた。
入れたプラグインはこんな感じ。Jetpackはモバイルテーマのみを有効化してる。
アイキャッチ画像が多いからPhotonも有効化してもいいかなって悩んでる。
Akismet
All In One SEO Pack
Batch Category Import
Favicon Rotator
Font Awesome Icons
Mobile Theme Featured images for Jetpack
NextScripts: Social Networks Auto-Poster
Remote Images Grabber
Video Thumbnails
Wordpress Popular Posts
WordPress Related Posts
WordPressなのであとはたらたらと僕がオススメする曲を更新していくだけ。
EC2のt2.microだけど、Nginxのおかげなのか特に問題はなし。
今はYoutubeかSoundcloudのURLをそのまま投稿に入れて、アーティスト名とかDJ名でカテゴリ分けしてる。
せっかくだからドメイン代とかAWS代だけでも回収できればいいなってことでAdSenseも入れてみたw
実際に作り始めてから1週間程度でここまでつくることが出来ました。
ドットインストールがなかったらここまで速くつくれなかった。ありがとうございます田口さん。
元々非エンジニアでもやる気になればそれっぽいのが作れて感動しました。
でもなんかOGPの設定がうまくできず、Facebookとかでシェアしようとするとたまに全然関係ない画像が表示されてしまう。
テーマファイルに直接書いてもプラグインでOGP設定してもよくわからなかった。
Facebookのデバッガーつかってキャッシュクリアしてもできたりできなかったり。
将来的にはSoundcloudとMixcloudを足して2で割ったサイトになればいいな。
キュレーター制度とかも入れてみて、僕だけじゃなくていろんなEDM好きやDJがおすすめの曲を投稿できるようにしていきたい。
WordPressで構築しちゃったけどできるだけプラグインに頼らずに自分でPHP書いて実装できるように頑張らなきゃ。
本とかは一冊も読まずにここまで作れたけどPHPエンジニアならこれは読んどけよ若造ってのがあったら教えてください。
EDMは素晴らしいよ!クラブ好きな人もそうでない人もきっと好きになる曲が沢山あるから聞いてみてね!
EDM JACK
タダで作業遣ってるのかそれとも金貰って作業遣ってるのかどっちなのか
完全にタダ。以前ファイルメーカーで100万ぐらいの管理システム作ってあげてからの付き合い。
納品の後も、こっちも客が使えないシステムなんか納品したくないから、実運用以降に出てくる細かい修正とかはやりますよっていってあったから、しばらく対応してたんだけどそれにしても1年以上たってもまだ呼び出される。しかも、AmazonのEC2って何それおいしいの?みたいな全然関係のない話とか。
話だけならまだしも、あれっていくらぐらいすんの?とか調べないとわからないような超面倒なことも頼まれてる。
まあ、そういう話の中で普通の客はこまめに仕事だしてくれるんだけど、今回の客の場合、永遠に無料だと思われてるフシがあるというか、俺がどうやって金を得て飯を食っているか想像力がないのかがわからない。
国内クラウド最大手のIIJ GIOが驚くほどクソっていう話を書きます。
クラウドならIIJ GIO(ジオ)- IIJの高品質クラウドサービス にあるように、クラウド上にいろんなサービスを乗せてくれるヤツです。
まぁAWSでいいじゃんって話が出ると思うので、AWSとの違いをまとめてくれた方がいましたので紹介します。IIJ GIO にあって AWS にない(なさそうに見える)10のサービス - yoshidashingoの日記 なお、このエントリー以降にAWSも進化していて、中国リージョンの開設やVDIサービスの提供がアナウンスされています。
一つには国内ベンダーっていう安心感ですかね。どこに登記されてるとも知れないAWSに任せると、いきなり「今度このへんのラックメンテするからEC2のインスタンス落ちるよ」みたいのがあったりしますしね。
あとは、運用監視サービスをやってます。AWSだとCloudWatchみたいな簡易なやつしかないですが、GIOだとアプリのログとかポート監視もやってくれます。まぁAWSでもサードパーティで運用をやってくれる会社はありますが。
残念ながら、上記の「選ぶ理由」はどれも裏切られます。
不定期メンテは普通にありますし、ろくに通知もないです(電話1本とか)。内容も、ネットが切れるとかサーバを落としてくれとか割りとデカめです。国内ベンダーだからちゃんとしてるだろうというファジーな期待は裏切られます。
運用監視サービス、これがまたゴミです。監視のカスタマイズなんかお願いしようものなら「これが仕様なんで…」と突っぱねられます。ポーリング間隔ですらカスタマイズできません。あと運用。「このアラートは即電話ね」と決めていても、24/365対応している現場の人間は適当なバイトなので、ろくに伝わっていなくて見逃される、みたいのもザラです。
VPSサーバ | AWS EC2 |
---|---|
言語 | Ruby2.0p245 |
フレームワーク | Rails4.0 |
画像のリサイズ | carrierwave |
ストレージ | AWS S3 |
DB | AWS RDS |
処理はRuby on Railsで実装。 ログイン処理はdevice 画像のアップロードやリサイズはcarrierwave carrierwaveってすごいのね。たった数行書くだけでアップロードした画像を複数サイズにリサイズし、S3に保存までしてくれます。 インフラ周りはAWSにお任せ、THE最小構成ですね。 同時に7人アクセスしたらあぼーんです。 本来ならELBとAuto Scalingでミディアム2台くらい使いたいところですが、我慢。 RDSもmicroインスタンスなんで、これもクソ遅いらしいですが、ゆくゆくはミディアムにはしたいです。 あと、前回作ったWebサイトのAMIを利用したんですが、本当に便利ですね! 動くものを作るまでの時間がほぼ0でした! AWSは個人利用者には少々割高かと思いますが、こういった便利なところがいいんですよね~。
色々書いたけど、ここまでの文はリリースしたときにテンションがあがってた時に書いた文なののよね。
ぶっちゃけローンチして一ヶ月たつけど、登録数4人。しかも全部知り合い。
興味があったらみていただければと・・・と思ったけど宣伝乙とか言うんだろ。
実装から今まで頭の中で思い描いたことの9割は裏目にでてるか失敗してるかうまくいってない。
こんな難しいのか、サイト運営って。
先日、エロWEBサービス おまいらの夢 ( http://omaira.info )を公開したものです。
http://anond.hatelabo.jp/20130122180847
沢山のアクセスありがとうございます!
公開後にはてな村について、いくつか感じる事があったので
ここに書かせてもらいます。
僕もIT業界では3年以上働いていて (現役学生と勘違いされている方が多いようですが)
そこそこスキルも高いと自負していました。
実際、おまいらの夢の開発期間は1週間程度です。
複数のセキュリティホールの指摘とその対策をメールでご指摘頂きました。
公開数時間で、です。
ITを本気で愛していないとなかなか出来た事じゃないです。
みなさん凄いです。
twitterなどでの評判は
「意外と似ている」「おもしろい」
などの好意的なものが多いのですが
はてなでの評判は
などの厳しい意見ばかりでした。
たとえばこんなの
http://anond.hatelabo.jp/20130124061507
試したところ、精度はまずまずといったところでしょうか。
髪型などはかなりの精度で判別してくれるのですが、顔が少しだけ惜しい。
今後の改善に期待です。
みなさん怖いです。
『おまいらの夢』は公開初日で、約8万PVのアクセスを叩きだしました。
リア充の多いfacebookの人々では同じ事は起こらなかったのではないでしょうか?
その中でも性欲が高い or 発散相手がいない
みなさんエロいです。
アダルトアフィリエイトは儲かるんじゃないか?って思いますよね。
僕もそう思っていました。
あれ?
EC2で結構良いインスタンス使っちゃっているので完全に赤字ですね。
でもこれからも 『おまいらの夢 http://omaira.info 』をがんばります
乱文で失礼しました。
facebookってなんなの!?
ごごごごごっ
湧き上がる嫉妬心
あー
モフッモフッ どぴゅっ
おまいらの夢、叶えちゃいなよ。っと
おまいらの夢
計量学習を用いた画像検索エンジンとアニメ顔類似検索v3について
http://ultraist.hatenablog.com/entry/2013/01/09/215045
【これはスゴイ】誰もが知ってる歴史上の人物の肖像画をカラーに加工!!やたらと身近に感じられるようになった件
http://irorio.jp/asteroid-b-612/20121221/40981/
http://anond.hatelabo.jp/20130120190550
本職の僕が負ける訳にはいかないぜww
libpuzzle
http://www.pureftpd.org/project/libpuzzle
本当はもっとしっかりとした face.com とかの
顔認識システム(Facial Recognition System)に特化したライブラリを使いたかったのですが
実験してみたところそれなりの精度で結果が返ってきたので
とりあえずはこれで良いかな。
って感じです。
cakePHP, twitter bootstrap, jquery など今回使った開発環境のほとんどを網羅しています。
本当、このサイトはこれからWEBサービスを作る方は要チェックです。
これ超いいよ。最初覚えるのは大変だけどフレームワークは絶対に覚えるべき。
最近はRubyが流行っているみたいですが、PHPの方が環境構築が楽な気がします。
これも超いいよ。
これもドットインストールを見ればすぐに使えるようになります。
今は、某企業でソーシャルゲームを影から支えるお仕事をしているサラリーマンの僕ですが
学生時代は監視カメラの画像から人間の動きを追跡する研究なんかをやっていました。
その時はC,C+ とか 画像処理ソフトHALCONなんかを使ってゴリゴリとコード書いていたんですけど
最近になってふと調べてみたら
やるっきゃない!と作ってみました。
時間出来たらもっと精度高く顔検出出来るように改善していきます。
楽しみにしていてくださいねー
『おまいらの夢』をよろしくおねがいします
※第三者の写真のアップロードをする時には、必ず本人の許可を貰うようにして下さい
-------------------------
1/24追記
公開後に感じた事を別記事にまとめました
あー、どうなんだろう。
なにげに、Virtual CPUって 1GHz前後のCPU能力のことでしょ・・・結構 以外に 貧弱なんだよね。
瞬間最大風速が単一障害点に かかるものこそ、むしろ 実マシンって気はする。仮想化は瞬間最大風速には弱い。
一旦服装はいると 戻ってくるのが遅い。
スタティックなファイルの大量配布にかなり近い程度の負荷なら まぁ、って気もするが。
ぶっちゃけ、そんな大規模だったら、 DCにラック 借りても人件費まで考えても ペイするやろって感じ。
もう、いまどき、ラックマウントサーバーなんて かなり安い。(※ 風圧設計からして DCに 通常PC入れるのは ナンセンスとして ラックマウント入れても もう 大した額じゃない)
はてな記法とか無視で読みにくいですがゴメンナサイ。
かいたひと→http://twitter.com/chobi_e
follow/unfollowはご自由にどうぞ。
うん、次なんか書くまでにはブログ用意しておこう。
===============
会社としてもOpenSocialに関わってるし、個人でもちょいちょい
勉強がてらに手を出しているので参加させていただきました。
会場を提供してくださったコンテンツワンさんありがとうございました。
http://www.contents-one.co.jp/
ほいではメモの公開。
聞き逃しや誤記もあるかと思うので参照はほどほどに。
=============================
mixi機能の紹介とOpenSocialAPIリファレンス的な説明。
あとは公開するのは微妙なので割愛。
PHPでWEB開発を行うようにしてオープンソーシャルアプリを作る(@KuniTsuji)
=======================================================================
CodeIgniterを使ってのmixiアプリ構築についてのお話。
OpenSocial開発しているので全て既知の情報だったので
メモがありません。ゴメンナサイ。
要約するとPCはつくるのめんどいけどモバイルだとぺらいちで済むし、
運用した気になるモバイルオープンソーシャル (@cocoitiban)
=========================================================
ウノウさんは社員募集中、@cocoitibanは彼女募集中!
@cocoitibanのお仕事
映画生活(ピアに売却)、フォト増、clipp、まちつく
・まちつくについて
位置ゲー、もともとふつうのモバイルアプリとして提供していた。(ユーザー数非公開)
・リリース前
・社長がやりたい→同僚がすごい勢いで作成。@cocoitibanは横で傍観
(モバイルOpenSocialって元のサービスがあれば結構勢いですぐ作れるんですよね。)
・ロードアベレージ1000でも登録できるんだー
そして、当然のように他社を含め登録ができなくなるw
・初日から1週間は1日10万のペースで増えた
・mixiに登録しているユーザーだからまちつくに登録という意識は低いっぽいですが
・ウノウには3時間で画像生成をキュー処理に書き換えたやつがいる
・ボトルネックになりそうなものを全部退治
・ハードウェア確実に足りないので購入進める
・二日目、三日目と同じように+10万人ってトラフィックをさばかなきゃいけない
・リリースから今まで
・初期(パフォーマンスアップ)
・回線が足りなくなりつつあることに気がつく100Mなのに・・・
・決めてから1週間くらいでリリース
・Memcached適用範囲を増やす
・一部機能を企画レベルで見直しふかがひくなるかつ、よりよい動作へ。
・初期パフォーマンスアップ
・L7ロードバランサふやす
・DBマスタ分割
クエリはチューニングされていてCPUやDisk ioのreadはすかすかだけどWriteが痛い事に
・ORMの機能をつかって分割
・トランザクション上影響ないものを分割
・サーバー台数的にはそんなにない。
・中期
・ちょっとだけいいサーバーに置き換え
→あっさり解決
・本格的な機能改善
ユーザーに不便かけてる機能とかを大幅見直し
・社員数増員
・8Fに追加して4Fに事務所を移すことに
・引っ越し大変でした
・可能な限り早くしたかったがユーザーに不便をかけている段階ではリリースできなかった。
・中期
・一部処理をQ4Mに置き換え
・EC2とはおわかれできた
・EC2は悪くないがサーバーがある現状ではコスト間と運用の体制のにゃー(メモ終わる前に次のページへ)
・まとめると
・数ヶ月、数人のエンジニアでおこなわれたので長短納期
・力業だが安定志向を目指す方がいい
・変わったことやると大体トラブって死ぬ
・しかし新しい事やらないと間に合わない
[そのほかメモ]
・Q4M
・Gearman
・ActiveMQ
・自前で実装
・そのほかいいのがあれば
・キュー処理っているの?
・実装クイズ
・Friends1000人いて全員取りに行く場合どうする?
・キャッシュとして定期的に削除しなきゃだめ
・いや1000人とってきちゃおうよ
・トラフィックの波が激しい
・流入云々でかなり違う
・分散のネックはやはりデータベース
・ORMは使うべき
・流行るか流行らないか分からないサービスをつくる場合には必要
・はやった場合にすぐ分割できるか
・トランザクションがネックになる
・XAトランザクション
・トランザクションを正しく処理できるか
・KVSとの透過性
・逆をいえば上記はコードを綺麗にかけるかどうかなので使わなくてもいいと思う
・エンジニアとして思ったこと
・EC2はありだけど運用がイントラで運用するのとは違う形になるので経験が必要だと感じた。
・AmazoRDSが別の地域で使えるようになるといいなぁ。
・どきどきするのが課金。コストをいやいやでもエンジニアが意識せざるを得なくなる
・かなりはやい
・半年1年後、国内レベルのトラフィックであれば大半のWEBサービスは1台でおk
・ip_conntrack/iptable
・ulimit
・Symfony使ったけどそんなボトルネックにならなかった的な話。
・バッチ処理とかforkで悩むことが多い
# 総評
最近はめっきり大きなトラフィックを扱うことがなかったからちょっと刺激もらえました。
前の会社ではサーバー200台くらい管理してたけど今の会社では数十台程度だし、
そこまでトラフィックもこないのでサーバーエンジニアとしては体たらく気味。
まぁ、業務的には様々な方面でやっているので仕方のない事ですが。
とりあえず現状で出しておいて流行したら確実に死ぬ&寝れなくなるので事前に
震える子鹿のようにただビールをひたすら飲むのでありました。
そんな私に声かけてくださった皆様、ありがとうございます。
お名前/ID出していいのか微妙なので割愛させていただきますが、感謝感動雨あられでございます。
そうそう、個人的には今の流行がTwigなので@cocoitibanともうちょっと
お話したかったですが懇親会LTもありーの、飲み過ぎて気持ちわりーので実現せず。
Twigすごく良いとは思うんだけどいまいちドキュメントが少ないので
本当にこれでいいんか?て思うことが結構あるのよねー。
Node周りの実装がぱっと見分かりづらいので難儀。
そいじゃ会社いってきまー