http://anond.hatelabo.jp/20130104184115
の元増田です。
ひっそりと公開したはずのtag-chat.net(http://tag-chat.net)ですが、
まさか、こんなに反響を頂けるとは思っていなかったので、びっくりしました。
素人のフリをしているとか、出版社のステマだとか色々言われましたが、嘘は一切書いてないです。
ステマというか、ウェブサービス公開後の状況を知っている方からするとマイナスのステマにしかなっていないような気がします…。
公開してから、色々と発見というか気づきがあったので、それを共有できれば幸いです。あと、tag-chat.netの中身についてなど。
・意気揚々と自作SNSを公開したものの、アクセスが全くこなくて途方にくれる。
⇓
・以前、完全に一致を作った増田の方が、増田記事を書いてからアクセスが急に来たと書いてあったので真似して書いてみる。
⇓
・翌日ごろから、アクセスが集中。ビビる。「うちの会社で働きませんか?」と言ったお誘いのメールをたくさん頂く。
いきなりの出来事にパニックになっている間にも増田記事が拡散していき、アクセスが急増する。
⇓
アクセスが爆発する。1時間あたり二万アクセスというアクセスを捌ききれずにサーバーが落ちる。サイトのウリであるが、メモリ使用量
⇓
・その後、サーバーを増強。エラー情報や、寄せて頂いた情報をもとに各種エラー情報や、使い勝手などを改善。
⇓
・現在、安定稼働中。おかげさまで、ユーザー数もゆるやかに増加していて、基本的な機能も正常動作しています。ユーザー数はもうすぐ
1000人に届きそうでありがたいばかりです。
と、いうわけでなんとかようやく落ち着き、ウリのマッチングチャットも正常に作動しているようなので、後記事を書きます。
■ウェブサービスの公開前に注意すべきだったこと。
①・セキュリティについては書かないほうが良い。色々といじられる。
前回の増田記事で、DoS攻撃の対策などについて語ったのですが、それを確かめるためなのかサイト公開してしばらくしてから、定期的に
Dos攻撃をくらいました。
おかげ様で、ちゃんと一時的にそのIPからのアクセスを遮断することはできたのですが、セキュリティについてあまり大々的しゃべると攻
撃対象となるので、あまり具体的なセキュリティ対策などについてはしゃべらないほうが良いのかな、と感じました。
また、DoS攻撃だけでなくCSRF試したり、色々といたずら(もしくは善意のテスト?)をして下さる方がとても多かったのには驚きました。
はてな民の技術レベルの高さを知りました……。いたずらされている間は本当に怖かったです。
とりあえず、今のところ攻撃は防げているようです。
はじめ、私は調子に乗ってサイト内に英語を多用していたのですが、それがユーザー様にとって混乱のもとになっていたようです。
例えば、他のユーザーから自分の書いた日記などにコメントがついた時に、それを知らせるページがあります。
普通に考えれば「友達からの反応一覧」とか「友人からの反応」とかにすれば良いのですが、何を血迷ったのか「Reaction」と中二病丸出
しで書いてしまったので、ユーザー様がものすごく混乱したようです。
結局、「使いにくい」、「サイト内迷子になる」との声を受けて日本語メニューに変更しました。
③・使い方のページはくどいくらい書いても良かった。
フリーチャットや、マッチングチャットでは、基本的に相手が見つかるまでは「待ち」の状態になります。
相手がすでにこちらを「待っている」状態だとすぐにチャットが始まるのですが、そのことに対する説明が足りなかったようで、チャット
ルームを出たり入ったりしている人が多かったようです。
また、チャットが終了した時にチャット相手にお礼をこめてメッセージを送る機能があるのですが、これも説明不足で上手く使われなかっ
たようです。
とにかく、くどいくらい説明しても良かったと思います。
■ウェブサービスをリリースする前にやっておいて良かったこと。
①・Twitterのアカウントを作りそこから最新情報を流せるようにする。
これは本当に大きかったです。
とつぜんの増田砲で一時間あたり二万アクセス近くのアクセスをさばけずに、サーバーがビジー状態になってしまった時も、Twitterを通
じて現在の状況などを流せたことは非常に大きかったです。
②・エラー情報を送ってもらえるようにメールアドレスを作っておく。
本当にありがたいことに、実際に使ってみた使用感や、こんなエラーが出ていると言った情報を送って下さる方がいます。
一人でテストしていた時には気づかなかったエラーや、不便な点などをわざわざ時間をとってメールで教えてくれるのです。
どこの馬の骨ともわからん怪しい奴が作ったものに登録してくれ、使ってみてくれただけではなく、エラー情報や励ましの言葉を送って下
さるのです。
本当にありがたいことです。
③・それでもわからないエラー情報に対して対処できるようにしておく。
優しいユーザーの方がエラー情報などを教えて下さるのは大変ありがたく、また開発の励みにもなるのですが、それに頼ってばかりいて
はダメです。
サーバーの吐き出すエラー情報を調べて、おかしな挙動にいち早く気づく必要があります。
本当はhttpdのエラーログとか見れば良いんですけど、はっきり言って物凄く見づらいので、ツールを使って毎日「こんなエラーがでました
」と教えてもらうようにしておきました。
色々なツールがあるみたいですが、私はlogwatchを使いました。
・参考URL
http://www.atmarkit.co.jp/flinux/rensai/root04/root04c.html
これでエラーの出ているところだけでも、修正するということをやっていました。
■ ウェブサービスを運営してみてわかったこと。
①・SNSの人の流れにはなんだかよくわからない規則性がある。
tag-chat.net グーグルアナリティクスでどれくらいの人が毎日来ているかをウォッチしているのですが、なぜか月曜日と週末にかけてア
クセスが増えます。
謎です。週末はわかるけれど、どうして月曜日に……?
②・やっぱり非リアの気持ちは非リアじゃないとわからない。
「どうして普通にはてブに書かないのか。なんで増田なのか」とか「非リアを装って」
とかコメントしてる人たちがいたのですが、その人たちは非リアについてなんもわかってないアホだと思いました。
もともと自分で名前なり、アカウントを明かした上ではてブに投稿できるくらいの度胸があれば非リアになんかなってないです。それは自
分でもわかってます。
自己顕示欲が人一倍強いくせに、人に名指しで批判されるのが怖いから増田に投稿したのです。
フェイスブックに実名でウェブサービス作ったことを投稿できるような度胸があればそうしてますし、はてブに書けるなら書いてます。
そうするだけの度胸もなくて、でも誰かに認めては貰いたいから増田に書いたということをわかっていない。
③・ネットのみなさんが優しい。
今までネットの人たちは2ちゃんねるとかで炎上したり、なんか面白そうなものを見つけてお祭り騒ぎする、ちょっと怖い人たちという
イメージだったのですが、それが今回のことでガラリと変わりました。
本当に優しい人が多くて、どこの馬の骨ともわからない奴の作ったウェブサービスを使ってくれるだけでなく、感想や励ましのメールな
どをたくさん頂きました。
遥か雲の上の存在だと思っていた会社の方からもメールなどを頂きました。本当に感謝してもしきれません。
~技術編~
①・nodejsを使って外部にサービス公開するなら、認証は必須。主に不正な負荷を減らすために。
さっき書いた、「セキュリティについてはあまり書くな」という話と矛盾するのですが。
nodejs、すごくアクセスさばけて、なおかつ軽いということで便利なんですが、サーバーなので、基本的にリクエストを受けたら非常に素
直に返事します。
例えば、nodejsとsocket.ioを使って、単純にメッセージをサーバーに送るとして、クライアント側で
のようにすると、サーバーはどこから来たアクセスなのか、とか悪意のあるアクセスなのか? とか一切気にすることなく、素直に'hoge'
これはつまり、第三者が悪意を持って大量にメッセージを送りつけるとそれを素直に受け取ってしまうということです。
なので、例えば大量に不正なデータを送りつけられたりするとレスポンスが悪くなります。
なので、悪意のあるアクセスはsocketにそもそも接続させない、という対策がサーバー側で必要になると思います。
socket.ioではコールバックを使って、簡単に認証させるかさせないか、という実装ができます。具体的には以下のURLなどを参考に実装す
http://d.hatena.ne.jp/Jxck/20110809/1312847290
②・nodejsの最大接続数は、ファイルディスクリプタに依存する
ということにしばらく気づかずに、最大接続数が400ほどしか出ず悩んでいた時に以下のURLを参照して、なぞが解けました。
http://blog.livedoor.jp/mokepon/archives/182178.html
またsocket.ioのテストの書き方ですが、
http://d.hatena.ne.jp/toritori0318/20120902/1346591831
という素晴らしいエントリーがあったので参考にさせて頂きました。
■楽できるところは楽するためのツールなど。
nodejsの開発で、面倒くさいところはできるだけ楽しました。以下、便利だったものまとめ。
・node-dev
コンソールにデバッグ情報を吐き出してくれ、サーバー側のコードをいじくった時に自動的に再起動してくれる。
いちいちコマンドプロンプトからnodejsを実行する必要がないため、作業の手間がはぶける。
nodejsを触り始めた時はエラーを吐いてばかりなので非常に役に立ちました。
参考URL
http://d.hatena.ne.jp/replication/20110224/1298474534
・forever
様々な使い方があるようですが、stop,list,startの3つぐらいしか使いませんでした。まだ、研究中です。
参考URL(基本的な使いかたが非常にわかりやすく書かれています)
http://nantekottai.com/2011/08/15/node-js-based-service-with-forever/
・mongoose
ドキュメントは色々ググったのですが、結局公式のドキュメントが1番わかりやすかったです。
~モチベーション編~
■一人でウェブサービスを作る上で、心の支えになった記事。
http://d.hatena.ne.jp/Hamachiya2/20080131/security
とにかく楽しんで、作ってみることが大事だよ、というお話です。すごい勇気づけられます。
・小飼弾さんの産声の話。
http://blog.livedoor.jp/dankogai/archives/51837985.html
弾さんは、お金持ちで、腕は一流で、PHPこき下ろすし、なんかすごく怖い職人のイメージだったのですが、このエントリーを読んで、クソ
まみれでも産声を上げてみようと思えました。
実は優しい人なのかもしれません。私の高校時代の担任の先生にどことなく似ています。
■お詫びと訂正
前回の増田記事で、OpenPNEについて間違った記載をしてしまいました。ソースコード公開に関する記述の部分です。
OpenPNEではそのソースコードを改変したら、そのソースコードを公開しなくてはならないと書いたのですが、これは間違いです。
OpenPNE方々には大変ご迷惑をお掛けしました。申し訳ありませんでした。
あと入家さんに謝りたいです。
フェイスブックにもとりあげて頂いたそうで、ありがとうございます。
怖いのでどんな投稿なのかはまだ観ていませんが、本当にありがたいです。
■最後に。
ウェブサービスをコツコツと作り続けて公開したところ、増田記事のおかげもありたくさんの反響を頂きました。
ただ、別にウェブサービスを公開したからと言って、実際のところ何かが劇的に変わったわけでもないです。
グーグルアドセンスは支払い規定の一万円を超えていないので、手元には一銭も入ってきませんし、実名出して行動できなかったので現実
あいかわらず休日は地元のゲームセンターでレトロゲーをやって時間をつぶしていますし、学校から帰ってきたらももクロのライブを観て
、Chai Maxxを踊ってから寝るだけの毎日です。それでも結構楽しいのですが。
ただ、ネット上で様々な先輩エンジニアの方々や、同年代で同じようにフェイスブックが嫌いな方から励ましのメールをもらいましたし、
本当に、びっくりするような充実した二週間でした。
はてブで人気のエントリーにあがった時のスナップショットは未だに大事にとってあります。
tag-chat.net(http://tag-chat.net)を作って本当に良かったと思っています。
ひっそりと、Webサービスをリリースしました。 http://tag-chat.net で、チャットがメインのSNSです。 自動でマッチングしてチャット相手を見つけてくれるマッチングチャットや、すぐにチ...
ド素人が完全自作SNSを作ってみてわかったこと。 http://anond.hatelabo.jp/20130104184115 の元増田です。 まさか、こんなに反響を頂けるとは思っていなかったので、びっくりしました。 ...
あんたはすごいよ
すごい。うちで働く気はありませんか?
奴隷を探してるなぁ。。。
すげぇけど、ザッカーバーグに対抗するとアホすぎるだろw
やっぱ今自分の目の前にある何かを否定したいっていう負の感情が新しいものを作り出す源になるよな。 これは何でも明るく前向きに受け入れて上手く生きてくポジティブ野郎が手にす...
後でPHPがクソ言語という話も聞いたが、とにかく最初に選んだのがPHPだったので。 それになにがクソ言語かとか、未だによくわからない。 ある人にいわせりゃ糞で、別の人にいわせ...
これだけできれば新人プログラマーとして就職できますよ。 就職したあともこの努力がずっと続けられれば、トッププログラマーになれるだろうね。 そこまでモチベーションが続けばで...
こういうの見るにつけ、プログラマは無理だなあと思うわ。 こういうものを作ることに全く興味がわかない。サーバーとか何も面白くない。 でもこういうのをできるようにならないと生...
こういうものを作ることに全く興味がわかない。サーバーとか何も面白くない。 横だけど、俺はプログラマで何か作るのは好きなんだけど製品を使う方にまったく興味がわかない。 独...
次はamazon AWSなんかでサーバ増強でしょうか?
次はamazon AWSなんかでサーバ増強でしょうか?
まさに「9ヶ月で作りました」的なサイトですね。色んな本&初心者サイトから「これだけはやっておけ」的な内容を全部ぶち込んだ感じ(それもところどころ抜けてそう) いきなりSN...
いっしょにやろうぜ! 上京したらあいましょう! http://www.wishscope.com/wish/19370
いっしょにやろうぜ! 上京したらあいましょう! http://www.wishscope.com/wish/19370
webサービス作ってみました。 ばあちゃんの介護が必要になり高校中退し、家にいる時間ばっかりになって就職もできず手に職もないのでなんかしなきゃと思い始めたwebの勉強だけど、何...
シンプルでいいと思う。 一般に増田の存在ってはてなユーザーにしか知られてないけどこういうサービスが増えればもっと人が流れてきて盛り上がるかもしれないね。
匂いを消せってw
イカ臭くて、ごめんちゃい(テヘ
これでトラバ数の多いエントリも分かれば、 増田で今一番ホットな議論も拾えそうな気がする。
ミスドの公式サイトから100円セール情報があがったらメール通知するWebサービス…というのを作ろうかと思ったけど、単純すぎて誰か作ってそうな予感…。 なんかネタくれ。
ランク タイトル ブクマ数 日付 カテゴリ 1 急がばまわれ式・堅実で一番効率的な英語の勉強法 7900users 2009/10/26 22:02 学び 2 20年来のつらさがほぼ消えたことにつ...
ランク タイトル ブクマ数 日付 カテゴリ 1 急がばまわれ式・堅実で一番効率的な英語の勉強法 7900users 2009/10/26 22:02 学び 2 20年来のつらさがほぼ消えたことにつ...
これを読んで自分も頑張ってみようと思った。 http://anond.hatelabo.jp/20130104184115
ランク タイトル ブクマ数 日付 カテゴリ 1 プログラミング出来ない奴ちょっと来い 2018users 2013/03/22 08:29 テクノロジー 2 低学歴と高学歴の世界の溝 1737users 20...
これまでHTMLとCSSを少しかじった経験はありましたが、 去年の秋頃からPHPを勉強し始めたことをきっかけに、実際につくって学びたいと思いWEBサービス制作を決めました。 想像していた...
これまでHTMLとCSSを少しかじった経験はありましたが、 去年の秋頃からPHPを勉強し始めたことをきっかけに、実際につくって学びたいと思いWEBサービス制作を決めました。 想像していた...
ネットで買い物するユーザ目線で考えると、使われてる技術とかどーでもいいんだよね ジャケ買いが目的なんだから、写真が綺麗に見えるかどうか、魅力的な商品がピックアップされて...
規約違反で通報しといた。
いつもホッテントリを賑わせている増田だが、増田が始まってからこれまでの15年間について、年代別にブクマ数ベスト5を調査して、振り返っていきたい。 2006年 1位:プログラミ...
色々あったねえ。 月日が経つのは早い。 “部下がくれたアドバイス”を書いた筆者だけど、あの増田の文章テクニックは 故Hagex先生 の教えてくれた技を利用していて、だからブックマ...
非公開モードでブクマは番付作成者
2位:anond:20061214085342(155users) 有名なオーケン事件の2chコピペ。 2chコピペだとわかるように書いてある。 2chコピペを真に受ける当時のブコメ https://b.hatena.ne.jp/entry/s/anond.hatelabo.jp/200612...
とりあえず大企業に立ち向かう反体制っぽい空気に乗っかった意見に便乗することが正義っていうのが16年前のインターネットの流れだったよな それで行き当たりばったりに行動するう...
ゼロ年代半ばってネトウヨの勃興期やん。より正確に、その頃のはてなは反体制派だったと言い直すべきでは