はてなキーワード: VPSとは
3月で東北大学を卒業して、4月から某企業の社畜となる22歳です。
文系の学部出身なので、ITやらプログラミングの知識は完全に独学です。
特にITに興味を持ってはいなかったのですが、就活が終わったあたりに
映画のソーシャルネットワークとかを観たりしてプログラミング勉強しようと思い立ちました。
そんで実際に勉強し始めるとなかなか興味が持てる分野だったので、去年の秋の試験で基本情報技術者を取ったりもしてました。
でもここまでひと通り勉強し終えた時点で、このあとどうしよう?ってなったんですね。
HTMLやらPHPの本を写経して、『やったー、Hello,World!を100回分表示させたぞ!』なんてやっぱりすぐ飽きるわけですよ。
プログラマって毎日こんなことしてんの?と思ってネットを漁ってみると、色々と面白い情報をはっけん!
http://anond.hatelabo.jp/20101203150748
やっぱ何かを創ってなんぼだよね!
ということで人生最後の冬休みから構想を練り始め、今年に入ってから本格的にwebサービスの作成に取り掛かりました。
ちなみに本記事タイトルは『京大で画像処理を学んだ僕が本気でエロWEBサービス作ったった』をリスペクトさせて頂きました。
この人はIT関連が専門みたいで、創ったものもレベルが違うんですけどね。まぁキャッチーなタイトルにしたかっただけです。
やはり社会人になるとなにかと時間が限られてしまうと思うので、
多少未完成でもまずは公開してみて少しづつ付け足していこうと。
結果として、この記事を書いている時点でお問い合わせフォームとかを実装してませんし、
他にもいろいろとやりたい機能をとりあえず諦めざるを得ませんでした。
今後頑張ります。
今年の1月時点での自分の知識を大まかに説明すると、
HTML → 基本は分かる。でもdivとかをうまいこと調整するのは苦手
CSS → ぶっちゃけあんま理解してない。今回の創作物もtwitterbootstrapに頼っちゃった
PHP → 基本は分かる。forとかforeachとかwhileあたりが使えるくらいだけど、実際それで何とかなったしこれからもっと勉強するし
javascript → たしか一番初めに勉強したけど、もう忘れた。今回のサービスにも使ってない。
まぁこんなもんです。
『未痴との遭遇』
やっぱりエロいのだとモチベーションも続くし、やっててたのしいかなぁと思いまして。
1.全体像の把握
基本情報技術者を取得したんですが、サーバーとかFTPとかの単語をあまり理解してなかったんですよね。
具体的にどうすればホームページやwebサービスを公開できるのかを理解するようにしました。
上に書いたようないわゆる『つくってみた』系の記事も沢山読みました。
ふむ、手っ取り早く作るにはフレームワークとやらがいいらしい。
具体的には公式サイトのブログチュートリアルから入って、『CakePHP 入門』とかで検索して出てきたサイトをいろいろとまわりました。
覚えることは多いですが、確かに便利なので頑張って修得することをおすすめします。
とりあえずサイトの作り方はわかったので先に進む。
APIを利用したサービスがたくさんあったので僕のサイトでも使ってみようと思いました。
勉強ってほどのものではないですが、DMMAPIのコードを公開しているサイトを参考にしました。
僕の創ったサイトに必要なデータがAPIでは効率よく取得できないことがわかったので、
DMMのサイトをスクレイピングして必要なデータを集めることにしました。
Simple HTML DOM Parser ってやつを利用。
5.メイン機能搭載
まずはAPIとスクレイピングを利用してデータベースに必要なデータを集めました。
スクレイピングがうまいこといかなかったり、なぜかデータが重複しまくったりといろいろ苦労はしましたがデータベースはなんとか完成。
その後、メインページを作成して、ランダム表示ができるようなスクリプトを書く。これは簡単。
6.他のページの作成
メイン以外のページを作成。
twitterbootstrapもここで導入。
でも間に合わなそうだったので、目標達成のためにとりあえず飛ばすことに。
特に希望のものはなかったのですが、まぁそれっぽいものを購入。
問題はサーバーですよ。
初めはGMOクラウドのVPSで無料お試しをしたのですが、これがまた難しい。
ネットでいろんな情報を探して、試して、動かなくなって、OS再インストールって流れを5回ほど繰り返して断念。
結局FUTOKAのレンタルサーバーと契約しました。こちらは非常に扱いやすくて、らくちんです。
8.公開
こんなしょぼいサイトでも公開できただけでうれしいものですね。
約3ヶ月の苦労は無駄ではなかった。これで僕もクリエイターの仲間入りだ。
文系の僕でも3ヶ月でひとりでwebサービスの公開まで漕ぎ着けることができました。
この期間が長いと思うか短いと思うかは人それぞれでしょうが、自分のアイデアを現実化させることは想像以上に楽しいことですよ。
壁にぶつかることはたくさんありましたが、不思議と辛くはありませんでした。だって楽しいから。
用事がある日にも、早起きして作業することが苦になりませんでした。だって楽しいから。
変に敷居の高さを感じている人がこの記事を見て、『俺もやってみよう』と感じてくれると嬉しいです。
自分だけエンジニア1人のプロジェクトに配属されて、他のエンジニア達が(4人)Githubでキャッキャウフフしてるのを指咥えて見てるのが辛いから退職。という理由ってどうなのかな。ありなのかな?
(自分が1人で他4人という分けられ方についてだけど、他4人のほうがプロジェクトの規模が大きいからで、自分が1人になったのは入社のタイミングが悪かったから。)
自分として技術研磨の意味も込めて他の人と関わりたいから、他のプロジェクトの作業を自ら担当になりに行くけどコミット時間が少ないから上辺な作業しかできないんだ。
エンジニア自分だけのプロジェクトが回らなくなったら本末転倒なので深いのはやる気にはなれないよ。正直すごくつらいよ。飼い殺しされてる気分。
社長からはエンジニア1人でプロジェクト回せる人として認識されていて、頼もしがられているが、自分としては成長のない場所にいる気分。
もちろん、ひとりで回せるといっても1000円VPSでゴミカスみたいなWEBサービスを作っている。
背伸びすれば、他の人と関われる機会があるからどうせ甘えみたいに思われる(自分でも思う)けど、常に能動的に動くのってとてもストレスなんだ。
野球で言うとひとりでレフトとセンターを守備している感じ。野球でいえば無理な戦い方だけど、今の環境だと可能。
一方で所詮背伸びしているだけで、状況はなにも変わっていない。残業しても取り巻く状況は変わらない。
まー、すごく楽なんだよね。
基本、仕事は1人やSkypeたいがい完結するのでイヤホンつけっぱができているのがとても楽ではあるが、精神的につらぽよになってきたのでそろそろ転職かなと思っている。
どうやって勉強したらよいのかわかりません。
そもそもサーバーについて学びってことがエンジニアの技術分野のどこら辺にあたっているのかもよくわかってません。
よくわかってないものについて学びたいとか何言ってんだお前って思われるかもしれませんが。
自分は独学でプログラミングを勉強していてPHP MySQLなどは少し勉強しました。
レンタルサーバーでそれらを動かすことはできますが、VPSでコマンド叩いてというのはまだまだ難しいくらいの理解度です。
具体的に言うとこういう記事(http://knowledge.sakura.ad.jp/case-study/1664/)が理解できるような知識が欲しいのですが、
これっていうのはLinuxについて勉強したりVMwareについて勉強したりしていくとその延長線上にあるものなんでしょうか?
作ったサイトはこちら、
レスポンシブデザインなので、ブラウザを縮めたり、スマートフォンから見てもそれなりのデザインで
見れると思います。(まだ、ところどころ表示が崩れるかも)
おじさんというタイトルですが、まだ30代前半の男です。RubyとかPythonとかをがっつりやっている世代よりたぶん上なので、
おじさんとしました。
普段は組み込みOSを販売している会社でサポートエンジニアとして働いています。
なので、C言語についてはある程度理解でき、ハードウェアやCPU(ARM,Intel,PPC,SH4 etc)の仕組みについては
普通の人より詳しかったりします。また、昔勤めていた会社で家電製品の中のプログラムをC言語で3年間程書いた経験があるので、
プログラミングについては全くの素人ではありません。あくまでwebプログラミング(php,ruby,python)が、という話になります。
他の「素人が作りました」を匿名ダイアリーで見ていて、自分も何か作りたいな~って思っていました。
で、どうしようどうしようって考えってた時に、”あれ、オレは毎日コンビニでぷりん買ってないか?”って事に気づき、
おいしいプリンの情報がどっかにまとめったらいいなって思い、ぷりんデーターベースを作ろうと思いました。
一連の「素人が作りました」でTwitterbootstrapを使っている方が多くみられたのですが、そのまま使うのはなんだかな~だったので、
Flat UI というTwitterbootstrapベースのモノを利用しました。
これはWindows phoneのデザインに採用されているようなFlatなデザインをBootstrap形式で作成できてしまうものです。
はじめはRubyでやろうとしたけれども、windows上でテスト環境を作るのが難しく途中で断念し、次に候補にしていたpythonは
なんか情報が少なそうだなって思ってやっぱり途中で断念し。最終的にphpになりました。
それで、wordpress使って簡単に会員制のサイト作っちゃえって思ってたら、wordpress動かしたらよく分からないエラーが出て、
1時間程格闘して解決したんだけど、この事に疲れて、やっぱり1から自分でつくらないとダメだなと思い、
wordpressは諦めて、ログイン機能、ユーザ管理などもphpで自作することにした。
いいのか、悪いのか、安いのか、高いのか、よくわからない。
ぷりんデーターベースを作る際に参考にした”ドットインストール”というサイトのレッスンが、
phpとMySQLが必ずセットだったので、これにするしかなかった。ほかのDBはよくわからない。
http://dotinstall.com/lessons/tw_connect_php_v2
http://dotinstall.com/lessons/poll_php_v2
http://dotinstall.com/lessons/basic_sakura_vps
JavaScriptで作る残り文字数チェッカー
http://dotinstall.com/lessons/char_checker_js_v2
http://dotinstall.com/lessons/upload_image_php
【旧版】Twitter Bootstrap 2.1入門
http://dotinstall.com/lessons/basic_twitter_bootstrap_v3
http://dotinstall.com/lessons/sns_php_v2
PHP入門(基本編)
http://dotinstall.com/lessons/basic_php_beginner
http://dotinstall.com/lessons/paging_php_v2
【旧版】PHPで作る「簡易掲示版」
http://dotinstall.com/lessons/bbs_php
ブログを作る
http://www.php.net/manual/ja/manual.php
http://getbootstrap.com/getting-started/
Flat UIはBootstrapの拡張ですが、マニュアルが容易されていないので、
実際に下記ページをソースコード表示させたり、cssファイルを見てどんな定義をしているのかを確認しました。
http://designmodo.github.io/Flat-UI/
Responsive Checker
全部合わせて3ヶ月程で作ったんですが、かなり大変だった。
phpのプログラミング部分はよくわからないなりに、なんとかなるなっとは思ったのですが、
デザイン面は本当によく分からなかった。PC上ではちゃんと表示されているけど、ウィンドウサイズを縮めると
グチャグチャになったり、全然レスポンシブにならないじゃないかって事が多々あった。
あと、Flat-UIが個人が作成したものなので、たぶんまだ全然揉まれていないCSSなんだなとも思った。
今まで、デザインの仕事ってプログラマより楽なのかと思ってたけど、全然楽じゃないですね。。
ごめんなさい。
本当は気楽に作ったわけじゃなく、現状の単調な毎日を変えたいと思って作りました。
これをきっかけにいろんなものを作ってフリーで仕事が取れるといいな。。
このサービスを作っている時に、自分を励ますために聞いていた歌です。
Mr.Children「横断歩道を渡る人たち」
http://www.youtube.com/watch?v=6yTYBGM1KEk
それなりのPVのあるポータルサイトのリニューアルを70万円で請け負った。
ちゃんとした見積を出せば300〜600万円くらいの案件だと思う。
色々未来があり、先方に予算があるから…という理由でそうなったらしい。
もちろんそれなりのサイトなので、競合とのプレゼン大会となった。
結果うちが勝って受注となったわけだが、理由が「安いから」だ。
営業がプレゼンにいって、何の計算もされてないデモデザインを持っていってとってきた。
その後その営業が自らディレクションをしてくれれば問題ないのだが、
自分がやりたくないから、という理由でディレクターの私に案件が降りてきた。
内部を整理するとめちゃくちゃだった。
まず現状だとサーバーの維持費が高いからサーバーを移管したいという先方の考えがあって、
こちらも「じゃあ移管しましょう!」という提案をしているんだが、
元々入ってるプログラムがどういった環境で動いているかを確認していなかった。
それで受注した後にようやく現状のシステム仕様書がやってきた訳だが、
VPSで試してみたtが動かない。
元々のプログラムがクソすぎるわけだ。
この件に関しては一旦放置する。
最悪プログラムの組み直しをシステム部に依頼しなきゃいけないわけだが、
おそらくとんでもないレベルの罵倒を浴びせられることだろう。はぁ、気が重い。
次にリニューアル範囲を決めていなかった。
「とにかく何でもやりますよ!」というスタンスで仕事をとってきているので、
先方としては「これもリニューアル範囲に含まれるよね?」というスタンスで突っ込んでくる。
結局当初はトップページのリニューアルとサーバー移管のみの話だったがの、
全リニューアルとなった。もちろん受注金額は変わらず。
先方の事務所が離れているため、こちらから行こうとすると新幹線を使う事となる。
営業サイドは「安い案件で経費をかけられないから行くな」という指令が下る。
安い案件…?
安く取ってきたのは、どこの誰…?
そんな言葉をぐっとこらえて結局Skype会議がメインとなった。
誰が喋ってるか分からねぇ…議事録まとめられねぇ…という事がありつつ何とか仕様等まとめた。
会議にて要望が当初の倍になり、営業サイドからは「対応して」の一言。
結果、来年3月くらいまで私は数字的に全く会社に貢献できない人になるだろう。
「数字があがってない」と言われるだろうが、
bootstrap使ってもカッコよくできないよ?
プログラマー向けじゃないの?
bootstrap3 の公式サイトを見ながら
CSS,Components,Javascript のタグにあるサンプルを全部作ってみた。
あまりの面倒臭さに一度諦めた。
その後色々調べたら「simple_html_dom.php」の存在を知る。
スクレイピング作業が一瞬にして終わった。
メールの設定がどうしてもできない。
エラーも出ていない。
一度諦めた。
info@xxxx.com
危ない名前は使わないのは基本だよね。
MyIsamだとインデックスに容量制限があるのでInnoDB使用
数1000件のデータなのでキャッシュやインデックスいらなかったかも。
デザイナーがプログラムやるのって後者の方が敷居は高いとは思う。
でもプログラムは勉強できるけどデザインってセンスがなきゃどうしようもない。
もう少しデザイン頑張ってみる。
デザインの教本読んでみると
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 サービスの開発に興味がありました。
特に Ruby を使って色々なことができると聞いて、少し勉強しました。
さくらのVPSも借りて、サーバの勉強や Web サービスの勉強をしようと意気込んでいました。
しかし、ついこの間まで勉強意欲を燃やしていたのに、最近楽しくなくなりました。
というか、何をすれば勉強になるとか、どういうことをやってれば Ruby とか、周辺の技術が身につくのだろうか、ということを何も知らない素人の頭で無理に考えようとするあまり、どうすれば楽しくなるのかわからなくなって、結局何もしていません。
自分の作りたいものを作るのがいいというアドバイスをもらったこともありますが、何を作れば楽しくなるのかそもそもわかりません。
プログラミング入門の本とか、dotinstall.com の真似をすることならできますが、それ以上のことは自分でできません。
つまらぬ。
友達がいなくてひとりぼっちな人のための、「ぼっちチャット」というチャットサービスを作ってみました。
今は大学生やってるんですが、(悲しいことに)時間があったので、
都内大学生。
だいたいこんなヤツです↓
プログラミングは趣味でちょっと。これまでに完成したものは少ない。
ぼっちの人同士でヒマを潰すためのチャットです。どこかのぼっちの方とチャットでお話ができます。
以下の条件に当てはまる方であれば、どなたでも利用可能です。
自分と同じような非コミュが集まるWebサービスを作ってみたかった。
Rails使用経験は、過去に掲示板風のシステムを作ったくらい。
読んだ本は、
http://www.amazon.co.jp/dp/4274068668/
だけ。
ドットインストールにはお世話になりました。
http://dotinstall.com/lessons/basic_rails
約1週間くらいでひとまず完成。
もともとは、2ちゃんねる系のまとめサイトを巡回して、Yahoo!ニュースのようなサイトを作っていました。(現在も鋭意開発中です。)
コンテンツの内容を解釈して自動的にジャンル分けをして・・・などと、出来るかわからない壮大なアイデアを実装しているので、いまだに完成時期が見えて来ません。
画像収集処理を作っている時に「これでエロ画像を集めたら面白そう」と思いついてしまいました。思い立ったら、すぐにやりたくなるのが人間の性というやつです。基本的な処理はほとんどできていたので、割に短期間で作成できました。エロ画像をどうせ集めるのなら、目的をもって役に立つサイトにしようと思い立ち、おなぬーをするためのWEBサービスにました。
作成したもう一つの目的として、月間10万PV程度のサイトを自分で運営したいという思いもありました。安直ですがエロ系のサイトであれば、それが可能なのではと考えた次第です。
せっかくサイトを作ったのですが、エロ系のサイトは告知をするのが難しいとう事実を作り終わってから知りました。私自身もブログをやっているので、そこでお知らせをしても良いのですが、ブログの趣旨にあわないのと、PVがとてつもなく低いという理由で断念しました。
匿名ダイアリーは、かなりのPVがあるので、作ったサイトの告知ができるのではと思い匿名ダイアリーを書いています。
せっかく作ったサイトですから、皆さんに利用してもらいたいし、役に立つサイトにしたいと思っています。ですので、サイトを見たらご意見をいただけたら嬉しいです。
もう、15年以上PHP(PHP FIと言う名称の頃からのユーザーです)でプログラムを作ってきました。PHPが持っている気軽さや気楽さは大好きなのですが、誰もが好き勝手なコードが書けるというデメリットもあります。プログラム言語にはある程度の厳しいルールがないと将来にわたってメンテナスしていけるプログラムを作るのは困難です。
せっかく新しプログラムを作るのだから、新しいプログラム言語で作ることにしました。
ある程度、厳しいルールがあって、誰もが同じようなプログラムが作れる言語はなんだろうと考えていくとPythonとRubyが候補に上がりました。
Rubyはできるだけ手数を少なくプログラムを作ろうという基本思想があります。私の感覚では、熟練したプログラマが使う言語という印象が強いです。
Pythonは、プログラマのレベルを問わず、熟練プログラマも新人プログラマも同じようなプログラムが書けるプログラム言語という印象でした。
私自身も将来誰かに教えられるようにと、今回はPythonを使用言語として選択しました。また、裸のPythonで書くのも面倒そうですので、フレームワークとしてDjangoを選択しています。
「おなりん」は、そんな思いを乗せて以下の環境で構築しました。
サーバー | さくらのVPS(1G) |
プログラミング言語 | Pytyhon 2.7.5 / Django 1.5.1 |
その他ツール | Bootstrap, jquery, wookmark, colorboxなど |
Webサーバー | Apache 2.2 |
データベース | MySQL 5.5 |
「おなりん」は、登録されたまとめサイトを定期的に巡回して、各エントリーから記事内の画像URLを抽出しています。取り出すのはURLだけで、画像の直接ダウンロードは行いません。ですので、リンク元の画像がなくなれば、「おなりん」からの表示もなくなります。
各サイトのエントリーはRSSから取得しています。各記事のHTMLをPythonライブラリurllib2を使って取り出し、HTMLから正規表現で画像URLを抽出しています。
サイトによっては記事画像のHTMLに決まった書き方がなされていないために、余計な画像を抽出してしまうこともあります。おかず画像の抽出精度は徐々に上げて行きたいと思ってます。
当初「おなりん」は、Amazon EC2(t1.micro)で構築する予定でした。構築までは完了したのですが、今ひとつ体感速度が上がらないのです。すでに利用しているさくらにVPSと比較したところ、3倍くらいの速度差(abコマンドの実行結果)があったので、Amazon EC2の利用を諦めました。
Amazon EC2は1年ほどの無料利用期間があります。これを過ぎると課金されていくのですが、Amazon EC2(t1.micro)を1ヶ月動かし続けると4000円近い料金が必要になります。さくらのVPS(1G)は1年で1万円程度です。3倍早くて価格は4分の1なら、チープな私はさくらのVPS以外選択余地がありません。
でも、拡張性を考えるとAmazon EC2も捨てがたいのです。
Pythonはインデントでプログラムブロックを表すます。他の言語のようにカッコを使いません。IFやFORを使ってインデントが深くなると、どんどん右寄りになってきて、全体的に斜めなプログラムが出来上がります。最初は見慣れずに違和感を感じましたが、慣れればそうでもありません。
ただ、ネストしたIFでインデントが深くなりすぎると、インデントの位置で意図しない結果が出るので注意が必要です。慣れてしまえば、使いやすい言語です。
Djangoは良いフレームワークだと思います。モデルを定義してしまえば、モデルのメンテナンスを行う、管理画面が一緒に生成されます。テンプレートタグなどを自作すれば、かなり深いところまで手を加えることが可能です。慣れれば扱いも楽なので個人的には気に入っています。
「おなりん」は、まだ作ったばっかりで、テストもまだ十分に行えていません。ですので皆様にも使っていただき、問題点があれば教えて頂きたいと思っています。開発しているマシンがmacなのでIE系のテストは皆無です。IEの方、ぜひともレポートをください。
レポートや感想などがありましたら、「おなりん」のサイトの下にある「お問い合わせ」リンクから送付をお願いします。また、巡回してほしいサイトも募集しています。ただし、日本国の法律に準拠したサイトに限らさせて頂きます。
機能的に今後は、画像の人気ランキング機能を組み込む予定です。また、サイト運営の足しにしたいのでひっそりと広告を入れます。
また、リクエストがあれば、ソースコードをGithubに公開したいと考えています。
長文を読んでいただき、ありがとうございました。
先日「飲み会版ソーシャルランチをつくってみた」を書いた者です。
上の記事では、僕がつくった「飲活」というサービスの説明が大半で、どうやってつくったのかとか説明が少なかったので、今回はそれについて書いてみようかと思います。
僕は「「飲活」」を作るまでも、iPhoneアプリを開発したり、webサービスのメンテナンスをしたりとプログラミングをしておりました。
しかし僕も何度かwebサービスの立ち上げを挫折しております。4回くらいかな。
最初はxoopsを使って、ツイッターで登録企業の広告をつぶやいたらポイントをもらえるサービスでした。
なんとxamppで門前払いされました。ローカル環境すらつくれませんでした。「くそ初心者は時間を無駄にするだけだから辞めろ」と言われた気分でした。
xamppだけに2日くらい朝まで格闘してしまい本当に時間を無駄にしました。当時はapacheの設定とかなんぞや状態ですからね。
次にやろうとしたのが、大学受験生向けのサイトで、受験生に教科ごとの講義をするのではなく、勉強のやり方を教えるよ!ってサイトです。
ほとんどhtmlでできそうなのですが、phpでメールを送ることができず挫折しました。
レンタルサーバーを借りたのですが、レンタルサーバーのphpの設定をしないといけないのを知らなかったり、やっと解決しても日本語化けに悩まされて止めた覚えがあります。これほど母国語が英語だったらどんなに楽かと思った時はありませんよ。プログラミングしてると今でもたまに思います。
次が、キックスターターのようでそうでないクラウドファンディングサービスをつくろうとしました。
ここでjavascriptと出会いました。いや、ちゃんと交際を始めたと言うべきか・・・。それまでjavascriptとすれ違っても虫を決め込んでいたのですが、いざ必要になって呼び止めてみると意外と良い奴でした。
しかし、ajaxにつまづいたり、サイト構成やディレクトリ構成、データベース構成や、デザインの調整などで複雑で面倒になり挫折してしまいました。
こうして書くと、僕がすごい諦めの早いやつで勉強もまともにしないやつみたいに思えますが、半分正解。諦めは悪いけど「ググればいける」という考えで勉強を怠っておりました。
だいたいプログラミング言語はどれも根本は似ているので、先述の3つ以外のプログラミング言語をやりたいと思ってる人でも参考になると思います。
また、以下の内容は、わけわからんけどwebサービスをつくりはじめる方を前提にしています。
まずは開発環境を整えましょう。
開発環境とは、自分の書いたプログラムをローカル(自分のパソコン)でのみ動作させる環境です。
つまり、自分がつくっているものを外部に見られることはありません。
です。
まずはこれらをインストールしてください。設定などの説明は割愛します。
僕はphpを使いました。
僕もそうでしたが、素人は当然プログラミングの全体像を想像できません。やりたいことを思いついても、どういうコードを書いたらいいかなんてすぐに想像できませんよね。
これも当然ですがその原因は、そもそもプログラムでなにができるか知らないからです。
なので、POSTやSESSION、配列などの基本的なものの存在を知りましょう。そしたら、「このページにはこの機能が必要だろう」というのが、"なんとなく"わかります。書き方はこの時点で別に覚えなくて大丈夫です。
例えば、オブジェクトを格納することが出来る「配列」という存在を覚えます。
この時点では、配列の作り方のコードとかは覚えなくていいですよ。「配列という存在を知る」ことが重要です。
基本的なことを学ぶときはネットではなく本を使う事を薦めます。
本は情報が体系的にまとめられていまうので、ネットよりも学びやすいです。
プログラミングは10年以上基本部分は変わっていませんので、「古いものを覚えちゃわない?」という無駄な心配はなくて大丈夫。
一方、発展的なことではネットで学びましょう、というかわからないことがあればネットで探しましょう。
どんなことを実現したいのかというゴールがないと必ず途方にくれます。
なので、まずはゴールを設定します。
例えば「「飲活」」なら、
などなど...。
その後に、各ページ毎に必要な機能と大まかなそのページのやることを決めます。
ログインページには、ユーザーが入力するフォームと送信ボタンがあって、なにも入力されずに送信ボタンが押されたらエラーメッセージを出そう。エラーがなくログインに成功したら、会員専用のエロビデオを見せよう。
とか。
例えば、しっかり考えず適当に、登録ユーザーのプロフィール画面を開発していて、ユーザー名、生年月日、出身大学を表示させるプログラムをつくったとします。
しかし、プロフィール画面が完成した後にメールアドレスも表示させないといけないことに気がついた場合、少しプログラムの変更が必要になります。
最初から、どのデータが必要なのかを決めていれば、こうした効率の悪さは回避できます。
実際は奇麗に開発できることは少ないですが、何も考えずに開発するよりは効率的です。
大まかな機能(ログイン)→具体的な機能(ログインページの機能)→具体的にログインページがやること→必要とするデータ
という流れでサイトの機能を決めることで、自分のやることが明確になりますし、勉強すべき内容も最小限に抑えられます。
ここで、どういうデザインにするのかを決めればもっと後で楽になります。
webサービスには必ず必須となるデータベースについて知る必要があります。
僕は、mysqlを使いました。
サーバーはさくらインターネットのレンタルサーバーを使ったので、さくらインターネットのデータベースを利用しました。
各ページで必要な機能とやることを決めたら、それを実現してくれる方法を本やネットで探します。
先述のとおり、必要な機能を決めていればそれを実現してくれるもののみを探せばいいので効率的になります。
見つけたら、あとはそれを使ってやりたいことをやるだけです。
具体的にはサンプルコードやAPI、フレームワーク(ライブラリ)を探すべきだと思います。
プログラミングに慣れるまではフレームワークを使うと上手く組み込めず、それが挫折の原因にもなりそうなので、主にサンプルコードを探せばいいと思います。
プログラミングってなんのためにあるかというと、人々の生活を楽にするためです。
人々を楽にするプログラミングで、わざわざ辛いやり方をするのは最悪です。
なので、どうぞ堂々と怠けてください。他人のつくったコードを使ってください。API、フレームワークを使ってください。
プログラムを書いたらデバッグしたり、ブラウザ(htpp://localhost)で見てやりたいことができているか確認してください。
特にこのサービスには特別なことや難しいことはやっておらず、正直phpの基本がある程度わかっていれば、このサービスの基本的部分は作れてしまいます。
デザインをつくりましょう。
僕は一から自分でデザインを考えたわけではなく、他の素敵なサイトを参考にさせていただきました。
また、サイトの見た目をつくるにはhtmlとcss、時にはjavascriptを使う必要があります。
オススメなのは、twitter社の提供するTwitter Bootstrapです。
http://twitter.github.io/bootstrap/index.html
ちなみに、「飲活」は、html、css、javascript(jQuery)を使っています。
つくったサイトをみんなに見てもらうためには、外部とネットワークのあるコンピュータにアップロードしなければなりませんし、ドメインもなければいけません。
コンピュータにはIPアドレスがあり、ネットワーク上の住所となっています。これにアクセスすると、「飲活」の住所とか「はてな」の住所とかあったりするわけです。これは数字でできており、これを人間が読みやすいものにしようというのがドメインです。
hatena.jpとかnomikatsu.comとかですね。これを取得しましょう!
自分で作ったり、VPSを使ったりすることもできますが、自分で管理をしなくていいという点で楽なので僕はレンタルしています。
僕は、さくらインターネットでレンタルしています。
僕のようにドメインの管理会社とサーバー会社が別だといろいろと設定をしなければなりません。
DNS(ドメインネームサーバ)というのがあり、「このドメインのあるサーバーはこれ、IPアドレスはこれ」と教えてくれるものです。
お名前ドットコムで取得したnomikatsu.comは、さくらインターネットのサーバにあるよと設定する必要があります。
実際には、さくらインターネットのネームサーバ情報を知り、お名前ドットコムでnomikatsu.comはこのネームサーバだよと設定してあげるのです。
これで、数分から数時間でnomikatsu.comにネットからアクセスすることが出来ました。
あとはサーバーにファイルをアップロードすれば、インターネットで自分のつくったサイトを見れます。
ファイルアップロードの仕方ですが、FTPクライアントを使います。
僕は、filezillaを使いました。
filezillaからホスト名やユーザー名などを設定してサーバーに接続します。
接続できたら、指定のディレクトリにファイルをアップロードすればOKです!
とにかく作り始めましょう。
僕は、本が書いてあるサンプルコードをそのまま勉強としてやるのはオススメしません。
だって、つまらないですもん。あれは、プログラムを書いていて基本がわからなくなったときに見返せばいいんです。
最初はまず作りたいものを決めて、PHPで何が出来るのかをざっくり勉強して、それを実現するのに必要なコードややり方を見つけて、実際に動くものをつくっていってください。
やりたいことをやらなきゃ飽きますし、本のサンプルコードよりも実際にwebサイトをつくった方が覚えます。
やったことがない人が勝手に難しいと思い込んでいるだけで、意外とやってみれば難しくありません。
簡単とまでは言えませんが、正直誰でもできます。
僕の場合は何度かプログラミングを挫折しましたが、こうして一つのものをつくることができるようになりましたし、iPhoneアプリなども会社では開発しています。
こんなやつでもできるので、諦めなければできます。
そんで、とても楽しいです。
本当につくりたいものがあるのなら、一度やってみる価値はありますよ。
明記してありますが、僕は初心者ではありません。初心者の方が勉強がてらサービスを作る一つのやり方というか流れを紹介したいと思って記事を書きました。
僕自身、なにもわからずプログラミングをはじめたときは、どう勉強したらいいかわからず辛い思いをしました。
素人がわけわからずプログラミングを始めると挫折しやすいと思いまして、僕が素人の時を振り返り、そして勉強してきた経験を使って、素人の方にサービスをつくっていく流れを書いたら素人の方も挫折しにくいかと思いました。
なので、僕は初心者ではありませんが経験者として素人がサービスをつくっていく方法を書きました。
また、飲活をつくった実際の流れと書きましたが、飲活をつくった流れを利用して、初心者がサービスをつくる流れを説明したかったんです。
Rails + Twitter bootstrapでエロ動画ソーシャルブックマークWebサービス、ソーシャルオナニー=ソシャニーを作りました。
こちらです http://www.socianie.com
【なにこれ?】
かっこつけた言い方をすると、
「いっぱいエロ動画あるけど結局みんなどんなお宝動画で抜いてるの?という日常的な疑問への答え」
とかでしょうか。
実際どんな事が出来るサービスかというと、基本的には、はてなブックマークのようにエロいページをブックマークする(その時に、コメントを付記することができる)というものです。
サイト内の他のユーザーをフォローすることができ、TwitterのようにTimelineのようなものがあってそこにフォローしている人がブックマークしたページが表示されます(そのページが、xvideos,fc2などの有名サイトならば埋め込みプレーヤーですぐ再生出来ます。)
つまり、フォローしてる人の最新お気に入りエロ動画がチェックできます。
ブックマークされたページはそれぞれが固有のページを持っており、タグを付ける事ができます。
全ユーザーのブックマークしたものは動画一覧で横断的に見ることができ、並び替え・検索などが出来ます。
ブックマーク数で今日のランキング今週のランキングなどが見れます。
あと、累計ブックマーク数によってユーザーのランクが上がったりします。
TwitterのOAuth認証でログインが出来ます(Twitterにツイート投稿などはしません。また、サイト内の名前アイコンもTwitterのものを流用するかどうかも自分で決められます。)
①ソーシャルな機能。他にも世の中に色々素晴らしいエロサイトがありますがそれらはソーシャル機能を持つものが少ない。
②上記の話とちょっと被ってますが、他のサイトは基本コンテンツ自体を自動クローリングするけれどソシャニーはそこをユーザー自身に委譲しているため、集まってくる動画の質はそれに比べて上がるんじゃないかというのと、
③エロサイトにありがちな出来るだけごちゃっと感を無く広告も無しでTwitter bootstrap使って小綺麗な感じ
【作成後記】
Webサービス作るならRailsかな楽で便利らしいしというざっくりとしたイメージからRailsで作り始めましたが、
ネットの情報や入門書に取り組んでもサンプルと同じモノは作れても実際自分が作りたいモノになると、で、どうやるの?となりなかなか進みませんでした。
Railsは色々と勝手によろしくやってくれる機能が多すぎて実際何が起きてんの?というのがわかりづらいというのが第一印象でした。
色々試行錯誤した結果、一番参考になったのはRails tutorial( http://ruby.railstutorial.org/ruby-on-rails-tutorial-book )でした。
英語ですがバージョンは新しいしBootstrapの使い方もわかるしサンプルがTwitterクローンサービスを作ろうというなかなかおもしろいものなので途中で飽きること無く取り組めました。
何かを学ぶ時は、モチベーションが続く形の学び方が一番いいと思いました。
僕はエロ動画が大好きなので、エロサイトというのもモチベーションの1つです(ただ、作業中に脱線して気づいたらキーボードではなく下半身に手が伸びているという事もありました。)
また、上記のチュートリアルはテスト駆動開発なのでSpecのテストをモリモリ書いているのですが、とりあえずはテストに関しては何をやってるのかざっと眺める程度で精読しませんでした。
まずは全体像を把握して何が必要か把握したかったからです。結果的に最後までやりきれたので良かったと思います。
あとは、Rails固有の知識ではなくWebサービス全般の知識で足りないな、と思ったときはネット上や本屋の立ち読みで済ましました。
ネットで細切れにお勉強している場合、本屋で体系的にまとまっている本をざっと読むと意外に抜けてる知識が保管されたり脳内にインデックスが作れるのでいいと思いました。
理由はみんなが良い良いというので乗っておくかという安易なものです。
実際のところgitの良い所を使い倒せているのかというと全くそんな事ないですね。
せいぜいstash位でしょうか。あとbisectとか。
リポジトリは最初はDropBoxに作ってたのですが、途中からBitbucketを使いました。
GitHubを使わなかった理由はBitbucketはプライベートリポジトリが無料で持てるからです。
また、恥ずかしがり屋なのでGithubで公開は敷居が高いと感じたからです。
初のRailsプロジェクトというのもありソースがイケてないので恥ずかしいのです。
いつかイケメンなコードをGithubで公開してオレツエーしたいものです。
サーバーはエロOKのところを探すのがなかなか難しく結局海外のVPSを使いました。
Linodeというところですが、他との違いを挙げるとiPhoneアプリ経由で再起動などが出来たりします。あまりこの機能使ってないですが。
構成はpassenger+apacheで、DBはSQLiteで特にLBなどはないです。
諸々構築後に人気が出た時困らないように負荷分散のお勉強なんぞもやりかけましたがまずは不要かなということで辞めました。
ちなみにサーバーがUS西海岸なのでSSHで作業するとエディタがちょっともっさりすることがありました。
プロジェクト管理は、会社でも使ってるのでRedmineかなと思ったのですがどうせ一人だしRedmineのUIすきじゃないのでTrello( https://trello.com/ )を使いました。
TODO,Doing,Done,Bug,Suspendのリストを作ってやること忘れないように管理しました。
ふと出先で思いついた機能とかをiPhoneでスイっと追加など出来て便利でした。
正月に公開してお友達界隈で見てもらったんですが、よかれと思って作ったChrome拡張にCSRFの対策が不備あり結局ブックマークレットにしたり、
ソースを見てもらったら設計がRestfulじゃないとかControllerがfat過ぎるModelに押しこめなどアドバイスをもらえたり無知な僕には色々とお勉強になりました。
出来たものはしょぼいものですが、「Webサービス作ったことないコンプ」は少し解消出来た気がします。
以上、月19ドルも払ってるのにお友達だけで使われてるのも寂しいので増田でまとめついでに宣伝してみました。
叩かれるんでしょうか。怖いです。いじめないで。
まったくの素人がNginx+Bootstrap+WordPressでWebサービスを作成しました。
オシャレエロサイト「h300」をリリースして、10万PV/日を捌くためにやったこと
http://d.hatena.ne.jp/inouetakuya/20120410/1334058296
http://anond.hatelabo.jp/20120914214121
http://anond.hatelabo.jp/20120930171125
--------------------------------------------------------------------------------------------------------
35歳 今は事務系の仕事をしてます。たまに運転。限りなくパートに近い労働条件ですが、
仕事がないよりはマシですので、続けているわけです。
前(5年ぐらい前)からWebサービスみたいなものを自分自身で作ることができたら楽しいだろうなぁと。
TwitterとかFacebookとか数回利用したことはあるけど、詳しいことはさっぱり。
朝6:00から夜18:00まで車を走らせてゴミ回収をしていた者です。
パッカー車って知ってますか。街でよく見かけるゴミ収集車のことです。
ドラッグストアとか回るんですよ。休憩時間は15分ぐらいなんですよ。一日。馬車馬のように働いていました。
そのパッカー車で物損事故を起こしてしまい、会社に居続けることはできなくなり仕事をやめました。
エロはもともと好きだったのですが、車を運転する以外の技術は持っていません。
何か手に技術を身につけたいと考えるようになりました。ただ30歳も過ぎたおっさんにあまり時間はないので、
資源の集中を意識し時代の流れはパソコンだということで、始めたわけです。
はじめはHTML,CSSの本で基本的なホームページ制作を学ぶ。
-----------------------------------------------------------
Bootstrap
-----------------------------------------------------------
Webサービスを作るにはプログラミングが必要なことは知っていたけど、初めてみて暗号のように思える。
プログラミングの中でもPHPは簡単なのでしょうか?最近の流れからすると、Rubyなのでしょうけど、
PHPは自分の実現したいサービスが組み立てやすい気がします。
http://www.amazon.co.jp/gp/product/toc/479733245X/
foreachやif,forなどの基本的な使い方を身につける。
プログラムは結局小さいプログラムの集まりだとどこかに書いてあった。ことを思い出す。
PHPはベタのプログラムだどセキュリティ的に弱いということでPEARを使うように。
ほかのプログラミング言語は知りませんが、PHPerというらしい。
プログラムに慣れてくるとPEARライブラリなどのクラスに抵抗がなくなってきた。
それでも、オブジェクト指向という考え方を体で理解するまで時間がかかる。
----------------------------------------------------------
http://php.xenophy.com/index.html
http://kumicyou.sakura.ne.jp/php/index.html
http://www.amazon.co.jp/gp/product/toc/479733245X/
http://www.amazon.co.jp/gp/product/toc/4797367571/
----------------------------------------------------------
----------------------------------------------------------
Simple HTML DOMParser メモリーオーバー?が発生するので頻繁には使えない。
正規表現って便利ですよね。(preg_match("/ab/", $string);など)
Webサイトのどんな情報でも切り取ったり、貼りつけることができるので。
Web上で特定の情報を好きなように集めてきて、加工することができるスクレイピングを発見。
PHPでスクレイピングするにはどうしたらいいか考えるようになり、かなり時間を使いました。
該当URLのサイトマップからリンクページ(aタグ)をすべて取得する。
ページの中にあるエロ動画URLやサムネイル画像などをファイルへ出力。
$fp = fopen("/var/www/html/sample.txt", "a"); fwrite($fp, $title."\n"); fclose($fp); }
出力したファイルの中で重複データなどないように一つにまとめて使えるように加工する。
あらかじめCronで時間を指定してファイルの情報をデータベースへ投入。
これから欲しい情報は、著作権に気をつけながらスクレイピングして集めてくると楽しいなぁと思ってます。
自分でホームページを公開するためにはサーバーが必要なことは以前から知っていたのですが、具体的には手探り状態からで
サーバはレンタルサーバとか専用サーバなどいろいろあるのですね。
全部自分で管理しないといけないため、めんどくさい気がした。結局VPSサーバに。
スピードアップのためにやったこと。データベースとアプリケーションサーバを分ける。
データベース最適化、query_cache_sizeを設定したりなど。
http://anond.hatelabo.jp/20101203150748
ウェブ開発者のための、1時間でできるLAMP環境構築術(CentOS編)
http://tanaka.sakura.ad.jp/2011/05/centos-linux-apache-php-perl-mysql-lamp.html
定番のPHP MYSQL Apacheから調べていくとNginxというWebサーバが高速だという
記事が多いので、使ってみることに。
NginxだけではPHPは動かない。php-fpmをインストール。
------------------------------------------------------------------------------------
http://d.hatena.ne.jp/yoshi-ken/20120205
http://kray.jp/blog/wordpress-tuning/
http://server-setting.info/centos/apache-nginx-2-php-fpm-install.html
http://hara19.jp/archives/5817
http://tech.aainc.co.jp/archives/3022
------------------------------------------------------------------------------------
以上の記事でNginxのproxyを設定することができ、とても参考になりました。
どうにか既存のサイトをWordPressで作れないかと考えていたら、
WordPressは固定ページとブログ用のページを分けるテンプレート構造だと知る。
WordPressはindex.phpファイル一枚あれば動くらしく、ページを表示する優先順位があるらしい。
メインページ front-page.php → home.php → index.php
そのため、fromt-page.phpに自分で作ったSmartyをそのままコピペして,なんとか既存のサイトとWordPressをミックスさせることに。
詳しくは以下の本が参考になりました。
http://www.amazon.co.jp/gp/product/toc/479736758X/
WordPress奥が深いです。
途方にくれていたところ、CSSフレームワークのTwitter Bootstrapを知る。
HTMLに少し手を加えるだけで今っぽいデザインにできる。その分、余った時間をweb構築に集中することができる。
http://panpanwatch.net/douga.php
http://panpanwatch.net/newdmm.php
DMM動画の当日配信が開始されたコンテンツをDMMのapiから収集。
http://panpanwatch.net/?page_id=5382
ネット上のエロ更新情報を収集して表示。メインはWordPressで構築。
--------------------------------------------------------------------
常日頃からネットのエロにはお世話になっていたので、なんか恩返しではないですけど、
Webサービス作るまで、ずっとパソコンの前ばかりにいたので、
こんにちは。みなさまからのブクマとコメントを多数いただき、ありがとうございます。
いろいろご意見あると思いますが、大げさな嘘などは書いていないです。
PHPを理解するのも、こちらの本を一冊やれば、それなりに理解できるようになりました。
http://www.amazon.co.jp/gp/product/toc/479733245X/
次のサービスを作成するときは本格的なアプリケーションやソーシャルゲームなどやりたいなぁと
野望だけは持っています。ですけど、ずっとこのサイトだけに集中してきたので、今はパソコンから少しだけ距離を置くつもりです。
自動でマッチングしてチャット相手を見つけてくれるマッチングチャットや、すぐにチャット相手を見つけてくれるフリーチャット、コミュニティチャット、フレンドチャットなど、とにかくチャットがメインのSNSです。
■自分について
昨年の4月から、プログラムを学び始めた素人。22歳。札幌在住。
FaceBookがウザい。というか嫌い。
これがきっかけ。
顔本が良いSNSだと話題になっていたので、実名登録してみた。大学の知り合いが見つけてくれて、友達登録などが増える。(ほとんど話したことがない人からも友達登録が来て、「おぉ!これで俺も友達が増えるんだ!」とワクワクしていた)。
が、流れてくるのは自慢ばっかり。
コミュ障で彼女はおろか、女友達もほとんどいない自分にとって顔本で「飲み会行ってきたぜウェーイw」とか、「○○ちゃんの誕生日会なう!」とか、「○○勉強会行ってきたました! みんな熱い人ばっかりで最高!」とか書いてあるのを見て「こんなSNSは嫌だ……」と思った。
ようするに嫉妬です。
で、自分の好きなようにSNSを作ってみたいなぁ。と思いました。
自分の趣味がレトロゲーなので、自分と同じ趣味の人と話せたら素敵だな。ということでチャット式のSNSを思いつく。
が、Webサービスを独力でつくるのはこれがはじめて。というより、プログラム自体がはじめて。
案の定、前途多難だった。
そして私はアホだった。
■とにかく計画を立てる。
ざっくり、どんな機能が欲しいか考える。自分の力じゃ無理そうでもOK.とにかく妄想を爆発させる。
メッセージ機能、コミュニティ機能、あしあと機能、日記機能、コメント機能、つぶやき機能など。
コミニティ専用のチャットルーム、アカウント専用のプライベートチャットルーム(鍵をかけられる)、自動でチャットが開始されるフリーチャット、自分の指定した条件にあう人を自動で見つけてきてくれて、チャットができちゃうマッチングチャット。
などなど。
妄想するのは簡単だ。でも、全くわけがわからない。何から手をつけていいのかわからない。
「うはwwww これで勝つるwww」と思ったけれど、どうやってチャット機能を追加して良いのかわからなかった。改変しようにも謎の記号がめちゃくちゃにならんでいてどうして良いかわからない。
しかも、改変したら改変したでそれを全世界に公開しなくちゃならないらしい(オープンソースというらしい)。
無理だ。
とにかくサーバーサイドの言語と、データベースについて勉強しろや! とのことだった。
■使う言語について。
サーバーサイドを扱える言語はたくさんあって、PerlとかPHPとかPythonとかRubyとか色々あるらしいのだが、色々悩んだ結果
PHPにした。WebサービスならPHPが良いらしい。レンタルサーバーなどでも簡単に扱えるらしい。
後でPHPがクソ言語という話も聞いたが、とにかく最初に選んだのがPHPだったので。
・PHP
よくわかるPHPの教科書。http://www.amazon.co.jp/dp/4839933146/
MySQLとかについて一通り書いてあるので良かった。二週間くらいでなんとか全部こなした。xamppなども触って、ローカルサーバーで色々試した。
これが終わったら、
パーフェクトPHP http://www.amazon.co.jp/dp/4774144371/
パーフェクトって書いてあるから、パーフェクトなはずだと勝手に思い込む。
実際かなりすごい内容で、胃もたれ起こした。一ヶ月くらいで三回くらい読んで、大体のところを理解した。
フレームワークにCakePHPを使ったので、MVCについてのくわしい記述は大変参考になりました。
基礎からのMySQLで勉強。 http://www.amazon.co.jp/dp/4797344385/
最期に
ハイパフォーマンスMySQL http://www.amazon.co.jp/dp/4873114268/
とりあえず掲示板くらいはつくれるようになったので、チャットについてリサーチ。
ajaxとかよくわからん技術やnodejsを使った非同期処理などがあると知る。
nodejsはC10K問題という問題を解決するすごいものらしく、かっこいいらしいのでこれを勉強することに。
ついでにnodejsと相性の良い、mongoDBも勉強することに。
よくわかるjavascript http://www.amazon.co.jp/dp/4839941874/
終わったら、
パーフェクトjavascript http://www.amazon.co.jp//dp/477414813X/
パーフェクトjavascriptはnodejsについてものすごく詳しく書いてあったので、とても参考になった。このあたりで、LINUXというOSを扱わなくてはいけないと気付き、自宅PCをウィンドウズから、LINUX(ubuntu)に変えた。
これはとにかく触ってなんぼでした。MySQLと感覚が違い、苦労しました。
https://github.com/ichikaway/cakephp-mongodb
という素晴らしいものを利用させていただきました。
■このへんで一回限界がきた。
なんとなくnodejsを扱うこともできるようになり、それなりに楽しいと思ってはいたものの、「SNS作ったる!」と思ってから六ヶ月以上が経過していた。
さらにWebサービスを公開するにはデザインもそれなりにしなくてはいけないらしく、CSSなどについて勉強しなくてはいけないと知る。
一人でWebサービス作ってる「ゆーすけべー」さんとかすごいなと思った。
勘違いサブカル野郎だと思っていた「家入一真」とかもやっぱりすごい人なんだと思った。
自分はなんもできないなぁ。と痛感した。
で、悩んでても仕方ないので、デザインはバッサリあきらめることにした。
もうなんでもかんでもやるのは無理なので、捨てるものは捨てることにした。
基本的に Initializr http://www.initializr.com/ (テンプレートエンジン)
と
TwitterBootStrap http://twitter.github.com/bootstrap/ (Twitterっぽい今時な感じのデザインが簡単に使える)
を使うことに。
でも、これだとまさにTwitterそのまんまっぽかってので、
http://bootswatch.com/ (きれいなデザインテンプレートがあるサイト)
も使うことに。デザインについてはこれだけ。
無理はしないことに。
■大体できたら、あとはセキュリティ。
セキュリティは大事。自分のサイトでは一応、登録制なのでフリーメールアドレスなどを預かる。これは流出させたら困るし、なによりユーザー様が安心して使えないなんてだめなので。
これにはかなり注意したつもりです。
まず基本的なことは 『体系的に学ぶ 安全なウェブアプリケーションの作りかた』 http://www.amazon.co.jp/dp/4797361190/
で勉強。
本番環境に公開する前には グーグル先生が公開している skipfishというツールでチェックをしたり、
Dos攻撃対策に、
http://up-point-server.info/?p=54
などに書いてある
mod_dosdetector などを利用。
これははてなさんが公開しているものです。この場を借りて感謝します。ありがとうございます!
あとはSSHへのブルートフォースを防ぐために、DenyHostというツールを利用するなどした。
クラウドサービスを利用しているので大丈夫だとは思うのですが、一応rsyncコマンドでバックアップを定期的にとることに。
サーバー上の別の場所にGzipで保存し、それを自宅サーバーのCentOSで保存するという形式です。深夜にcronで自動的に実行しています。
参考サイトは、
http://mukaer.com/archives/2012/03/14/vpscentos/
です。
■パフォーマンス向上のために少しだけ
はじめはサーバーはapacheだけだったのですが、今は画像ファイルなどはNginxというサーバーを使うのが良いそうなので、Nginxを使いました。
あとはPHPの中間キャッシュを利用するAPCなども利用することに。
このへんについては、
このような解説記事がたくさんあったので、参考にさせていただきました。
■ようやく完成。
で、なんとか完成しました。
使ってみた感想や、ダメ出しなど頂ければ狂喜乱舞します。よろしくお願い致します。
■モチベーションを維持するためにやったこと。
あっさりと書きましたが、実際は失敗の連続でやる気が萎えてばっかりでした。
疲れて帰ってきて、なにもやる気の起きない時もありました。
そういう時は、とにかくサポートページのQ&Aの1文でも良いから書いてみるとか、とにかくパソコンとエディターだけ立ちあげてみるとか、していました。
ものすごーく覇気のない目でキーボード打ち続けていましたが、それでもなんとか完成することができました。惰性だろうとなんだろうと、少しずつは進むのだとわかりました。
やはり1から完全自作をするのは無謀だった。でも、プログラムをやったことのない素人でも約一年頑張ればそれなりのSNSもどきを作ることができた。
これも先人たちの作ってくれたフレームワークや様々なツール、そして参考書などのおかげ。
私のようなアホでも頭の良い人の力を借りればなんとかなりました。ありがとうございます!
そしてプログラムは一人でも出来るので、私のように非コミュでも楽しめる素晴らしい趣味である。
■現在。
今はRubyに夢中です。くり返し処理がすごくきれいにかけるので素敵な言語だと思っています。あと、javascriptも面白いので毎日いじくって遊んでいます。PHPももちろん触っています。
非コミュはあいかわらずですが、プログラムが楽しいので前より幸せです。
使用言語 PHP,Javascript
「みんなの役に立つサイトを作って、一発大きく儲けたい!」と、
思い続けて、早10年(泣)。。
とりあえず、エロサイトを作るのってすごく勉強なる?楽しい?らしいので、
誰にも利用されない「へぼツール」作るより必ず誰かの為になるなぁと考え、
できるだけ、誰でもわかるように、詳細を書いていますので、
これを見るだけで、ノンプログラマーの方でも、
※記事は毎日10件更新予定です。つまり毎日このサイトだけ見に行けば困らないってことです。
http://anond.hatelabo.jp/20101219185436
http://anond.hatelabo.jp/20101203150748
http://d.hatena.ne.jp/inouetakuya/20120331/1333192327
http://anond.hatelabo.jp/20120318122617
http://anond.hatelabo.jp/20120914214121
http://anond.hatelabo.jp/20110804021353
http://anond.hatelabo.jp/20120926165533
saasesのVPS OsukiniサーバーLT メモリ512MB 月450円! アダルトOK
CentOS 64bitを選択。(メモリを食うだけなので、特に用がなければ、32bitにしよう!)
※どこにも書いてないけど、2週間以内なら取り消しできます。
☆契約時、webmin&mysqlの選択は必須にしておいたほうがいいです。私は間違えて、webmin無しにしてしまった。。
後から、再インストール(初期化)すれば、再選択することができるようです。。
申し込み後、たったの30分で接続できるようになりました。
をバリュードメインで取得。280円!安い。
/sbin/chkconfig auditd off
/sbin/chkconfig autofs off
/sbin/chkconfig avahi-daemon off
/sbin/chkconfig firstboot off
/sbin/chkconfig kudzu off
/sbin/chkconfig lvm2-monitor off
/sbin/chkconfig mcstrans off
/sbin/chkconfig mdmonitor off
/sbin/chkconfig messagebus off
/sbin/chkconfig netfs off
/sbin/chkconfig nfslock off
/sbin/chkconfig portmap off
/sbin/chkconfig rawdevices off
/sbin/chkconfig restorecond off
/sbin/chkconfig smartd off
/sbin/chkconfig xfs off
※190MBが150MBぐらいになります。
http://support.saases.jp/index.php?action=artikel&cat=63&id=312&artlang=ja
# vi /etc/httpd/conf/httpd.conf
NameVirtualHost *:80 ←これを探して、コメントアウトを削除。その下に以下を設定。
DocumentRoot "/home/ユーザーID/iphone-xvideos.info"
ServerName iphone-xvideos.info
<Directory "/home/ユーザーID/iphone-xvideos.info">
order deny,allow
Options FollowSymLinks
# /etc/rc.d/init.d/httpd restart
「httpd: Could not reliably determine the server's fully qualified domain name, using...」
その時はこちらで解決⇒http://d.hatena.ne.jp/uriyuri/20100511/1273575287
で、このままだとIPアドレスでもアクセスできてしまうので、以下もやっておく。
http://fedorasrv.com/memo/log/29.shtml
mkdir /home/ユーザーID/iphone-xvideos.info
chown ユーザーID /home/ユーザーID/iphone-xvideos.info
/home/ユーザーID/以下はpermission errorとなりアクセスできないので、権限を変える。←いいのかな?
http://blog.verygoodtown.com/2010/02/centos-apc-install-how-to/
↑これを実行した際に、「error: expected specifier-qualifier-list before 'pcre'」なんちゃらっていうエラーがでたので、以下を実行。
再度実行して、無事インストールできた。
【APCの設定】
extension=apc.so
[APC]
apc.enabled = 1
/ ←検索
n ←次の検索文字へ
]] ←最後尾に移動
:q! ←保存せずに終了
--------------------------
# /etc/rc.d/init.d/httpd restart
vi /home/ユーザーID/iphone-xvideos.info/index.php
phpinfo();
?>
http://tanaka.sakura.ad.jp/2011/05/centos-linux-apache-php-perl-mysql-lamp.html
↑これを参考に適当に変更してみた
MaxClients 256 ←これを40に
MaxRequestsPerChild 4000 ←これを1000
このサーバは、512MBしかないからもっと小さくしたほうがいいのかも。。
# ab -c 10 -n 100 http://iphone-xvideos.info/
【変更前】
Requests per second: 40.01 [#/sec] (mean)
【変更後】
Requests per second: 137.57 [#/sec] (mean) ←1発目
Requests per second: 552.79 [#/sec] (mean) ←2発目以降(キャッシュ後)
最新版をやってみるとエラーが発生。
「サーバーの PHP バージョンは 5.1.6 ですが WordPress 3.4.2 は 5.2.4 以上のみでご利用になれます。」
3.1系を選択する。。
http://ja.wordpress.org/releases/
※↑結局、後日phpとmysqlのバージョンアップをやりました。
ソースをUP
DBを作る
ホームの「新規データベースを作成する」と書いてある所の下にある、
を修正する。
【プラグイン】
WPtouch ←/wp-content/plugins/wptouch/themes/core/core-header.php をちょこっと変更すればiphoneでxvideo再生ができる。
○人気記事一覧
http://the-fool.me/wordpress/plugins/wordpress-popular-posts.html
設定⇒投稿設定⇒Atom 投稿プロトコル&XML-RPCにチェック
キャッシュが効いていて問題ないことを確認。
○wikipediaから取ってきた女優名をカテゴリテーブル(wp_terms)に突っ込む。(5,260人でした。)
↑これは月に2回更新。cronで動かすことにした。
○googleブログ検索(24時間以内のもの)に女優名をつっこんで、
(とりあえず、引退した人の動画は少ないだろうと考え、現役2,762人分のxvideosを取得してみた。処理時間8時間、192件取得できた。)
http://www.kaasan.info/archives/1457
動画のURLを取得したら、削除されていないか調べて、OKだったら投稿。
http://www.multiburst.net/sometime-php/2009/04/newpost-with-wordpress-xmlrpc-api/
↑ここらへんを参考に
http://pear.php.net/package/PEAR/download
↑pear自体はここにあるので、「XML」フォルダのみをUP。
だいたい、30分で10記事取得できることがわかったので、
【cron設定】
$ crontab -e
00 04 * * * /bin/sh /home/ユーザーID/iphone-xvideos.info/insert_X.sh >/dev/null 2>&1
00 03 1,15 * * /bin/sh /home/ユーザーID/iphone-xvideos.info/insert_XXX.sh >/dev/null 2>&1
http://miya0.dyndns.org/pc/settei/crontab.html
----------------------------------------------------
↑旬な情報が取れないが、とりあえず。。
前日のterm_idを記録して、
次の日はそれ以降のデータを取得する。
----------------------------------------------------
☆jqueryでお気に入り作成。cookieを使う。(PCのみ?)
☆好きな女優を登録しておけば、記事の更新情報をメールで通知。
☆デザイン修正。。
実際、なんとなく勉強になった気もするし、楽しく作業できました。
まったくアクセス無くても、自分用にとても良いものができたと思っているので満足です。
もし繋がりにくくなったりしたら、
別のレンサバに変更しますー。
随時こちらに追記していきますね。
最後まで読んで頂いてありがとうございます。
サイトオープンから10日ほど過ぎたので状況をお知らせします。
はてぶは全くだめだった。。
(日々増加しているが、検索エンジンからくるようになってもまだこんだけ。。)
メモリは問題なし。512MB中ピークでも300MBぐらいしか使ってない。
# chmod 744 /usr/local/bin/memrep.sh
※本日、テスト的にDMMの広告を張ってみました。。←すぐ消した。。
また、後日お知らせしますね。
1か月経ったので。。
ページビュー2500/日
自動更新なのに、きっちりアクセスは日々増えて続けています。エロは強い。
アクセス少ないので、負荷は全く問題なし。
Swapも全く使ってない。
よくWEBサービス作ってみた系にブックマークされてるけどそれだけ興味ある人多いってことだよね?
でもさでもさgoogle検索で上位にくるような仲間募集系のサイトに登録しても、こっちから問い合わせても全く反応ないんだ。mixiも過疎ってた。
凡人は分業したほうがいいに決まってんじゃん
VPSなんて1000円ぽっちで借りれて開発環境もすぐ用意できるのに
なぜやらないんだよ
ちくしょう俺が悪いんだ人脈とかないし友人もいないし。
でもさ俺みたいな人間はやるしかねえんだ。もしここを読んだ俺みたいな君、目を覚ますんだ。やるしかねえんだ。いつやるんだ誰も助けてくれないぞ。
(記事が長すぎたので前編・中編・後編に分けました)
僕ももう、リストラされそうなとあるおっさんなんですが、先日Webサービスを公開しました。
きっかけになったのはこの記事です。
http://anond.hatelabo.jp/20101203150748
こんな事できたら良いなぁと思っていると、他にもやっている方たちがいました。
http://matome.naver.jp/odai/2131952812556433001
http://anond.hatelabo.jp/20120318122617
Rails3 と jQuery で、真面目にオシャレなエロサイトをつくってみました - h300
http://d.hatena.ne.jp/inouetakuya/20120331/1333192327
http://anond.hatelabo.jp/20120914214121
http://blog.ropross.net/archives/99
これらを読んで自分もやってみたくなり、
先日の家入さんの折れずに挑戦を続ける姿を見てモチベーションも高まり、
7月21日~8月19日の30日でWebサービスを作りました。
最後の一週間はお盆休みでしたが、それ以外は平日は仕事をしながら土日をフルに使っています。
と言っても、いきなり高度な事をするのは大変なので、
本当に自分が作りたいサイトをやる前に、一度シンプルなサイトを作ってみる、という所までです。
やってみて改めて分かったのは、「自分でWEBサービスを作りたいと思っている人へ」の中の人はかなりがんばったんだなぁ、と。
かなりの熱意とモチベーションをもって、効率良くやらないと、一から勉強してあの短期間であのサイトは作れません。
プロ顔負けの技術とおもしろいアイデア、情熱をもって短期間でそれをやってしまった中の人は凄いです。
だから、Webサービスに夢を見る人(僕)も、Web業界の人も、あとHな人もブクマするのでしょう。(賞賛)
それでは、一般人が一般的ながんばりで確実にやれるだろう手堅いラインをお届けします。
偏差値40の僕が最低限ここまで出来たので、きっとあなたならもっと出来るはず。
ステップ7まではサクサク進めて、分からなくてもどんどん次に行きましょう。
今回ぼくが作ったサイトはこちら
■ステップ0:準備
・パソコンを用意
・ブラウザはChrome,IE,Firefox,Safariあたりをインストールしておく。Chrome便利。
・作りたいサイトのアイデアとデザインのイメージ、ドメイン名(○○○.comとか)のイメージ。
・作る理由とやる気
・はてブ便利、Web業界の皆さんの空気感を知るため、なるべくPCかスマホでチェック。
ブラウザを右クリックして「ソースを表示」すると出てくるアレです。
Yahoo!とかのソースを見るとかなり長いけど、全部書くわけじゃないから大丈夫。
ネットで調べても良いけど、やっぱり基礎知識は本が良いと思います。
メモ帳で書いてブラウザで表示して、メモ帳で直してブラウザF5で更新して確認、
何となく分かってきたら、より具体的に理解するためにこの本を読みます。
PHPについて調べる。
初めはこの本が勉強になりました。
書いてある通りロカールサーバー(XAMPPかMAMP)を入れて、自分のマシンでPHPが動くようにします。
データベースの使い方も一緒に書いてあるので入門に最適です。
次はこれを読みます。
普通に読んでいくと中盤のフレームワークを作る所で挫折するはずなので、一旦そこまででOK。
パーフェクトPHP
PHPの他の選択肢としてRubyやPythonもあるみたいですが、学習コストがかかりそうなのと、そのままでは動かないサーバーがあったりで、
最先端のプログラマーになる必要はないので、レガシー&枯れたPHP一択です。
カッコつけずにモチベーションが持続するうちに勝負です。
VPS(専用サーバーを仮想的に分割して安くしたサーバー)が流行ってますが、
学習コストがかかるのと勉強する事が増えるので割りきって始めは普通のレンタルサーバーにします。
VPSを借りるとLinuxの知識やWebサーバー、メールサーバー、及びそれらの保守管理などの知識が必要になります。
レンタルサーバーならある程度マネージドで、作ったプログラムが動かない時の原因の切り分けもしやすいです。
おすすめは「さくらのレンタルサーバー」のスタンダードプランです。データベースの使えない「ライト」プランは止めましょう。
その他、ロリポップ、CORESERVERなどいろいろあるので最低限PHP,MySQLが使えるサーバーを選びます。
サーバーを契約したらアカウント情報を確認して、FTPでログインしてみましょう。
http://sourceforge.jp/projects/ffftp/
ログインできたら、ステップ1で練習したファイルをアップロードしてブラウザで表示してみたり、
ステップ2で作ったPHPファイルをアップロードしてブラウザで実行してみたりします。
慣れてきたらFileZilla FTP Clientが便利です。
Webサービスのしくみを理解するために、WordPressを借りたサーバーに入れてみます。
WordPressはPHPで出来たCMS(コンテンツ管理システム)で、ステップ1~3がどう組み合わさって動くのか理解できます。
ブログや会社案内のサイト程度は作れてしまうので触れておいて損はないです。
テーマをいじったり、プラグインで遊んでみると理解が深まります。
オススメはこの本。
プラグインのまとめはこの辺りが親切。
2011年版!絶対にインストールしたいWordPressプラグイン45個
http://vanilla-stone.com/blog/wordpress/2011-edition-45-wordpress-plugin-pieces-install-absolute/
TwitterやInstagramと連携するプラグイン入れたり、CRONで自動化したりすると楽しくなってきます。
ここまでで何となくWebサイトのしくみが理解できると思いますが、
自分の作りたいサイトを一から書いていくと思うと心が折れると思います。
そこで、CakePHP(ケーキピーエイチピー)というフレームワークを勉強します。
フレームワークというのはWebサイトの開発で必要になることが多い色んな機能をまとめてくれている枠組みソフトです。
PHPの文法で、フレームワークの書き方のルールに従うだけで、様々な便利機能を簡単に使用でき、
フレームワークは他にRubyのRuby on Rails、PHPだとSymfonyやYiiなどかなりの種類があります。
CakePHP 1.3によるWebアプリケーション開発―オープンソース徹底活用
あと、余裕があればこれも購入。
注意したいのは、現在CakePHPのバージョンは1.3系と2.0系がありますが、1.3を使うという事です。
2.0系は新しい機能が付いたりパフォーマンスが良くなったりしていますが、2012年9月現在、
バージョンアップが激しく、関連書籍は2~3冊程度、Webの検索でもヒットするのは1.3の情報が圧倒的に多いです。
MVCというデータ処理・表示処理・それらのコントロール処理を分離して記述するルールや、
ステップ2では踏み込んでいなかったクラスが出てきますので、慣れるまではかなりの心折設計です。
難しすぎて僕は理解できなかったので、ここで一旦CodeIgniterに浮気しました。
CodeIgniterはCakePHPと同じPHPで書かれたフレームワークで、インド方面で良く使われてるらしい。日本だとまだマイナー、かな。
ライセンス問題で下火になっていますが習得の容易さとパフォーマンスが良いのでフレームワークという概念の把握にはオススメです。
僕はこれを読んでCodeigniterだけじゃなくてCakePHPも理解できました。
CodeIgniter徹底入門
ただ、CodeIgniterは簡単・高速で習得しやすいけど、
その分シンプルで機能が少ないので、ちゃんとしたサイトを作ろうと思うほど自分で書く部分が増えていきます。
セキュリティやユーザー認証なども素人が自前で一から作るのは危険なので、やっぱりCakePHPお勧めです。
開発する時はgitHubに上がっているデバッグキットを入れると便利です。
cakephp / debug_kit
https://github.com/cakephp/debug_kit/tree/1.3
http://codezine.jp/article/detail/5105
NetBeansを使う時のCakePHP用の追加モジュールはここ
https://github.com/evilbloodydemon/cakephp-netbeans/tree/autocomplete
中編はこちら
http://www.kanzen21.com/という有名なサイトと似たサイトを作ってみました。
このサイトはプログラミング初心者のおっさんが四ヶ月で作ったWebサイトとして有名です。
http://anond.hatelabo.jp/20101203150748
なぜ似たサイトををわざわざ作ったのかなんですが、完全に一致は便利なんですが色々不満がありまして
・芸能人リストがしょぼすぎる。 - いちいち、芸能人のスリーサイズ調べてスライダー動かすのが面倒。
・年齢スライダーがない。- 若い子が好きな人もいれば熟女好きもいるはず。
・ベスト作品を除いてほしい。 - AV女優の単体作品だけが見たい。
・横三列じゃなく八列ぐらいにしてほしい。- もっと一瞬で好みのAV女優を見つけたい。
・年齢順とか作品順とかにソートしたい。ア行カ行とか指定できるとなおいい。
というわけで、プログラミングの勉強を兼ねて作ってみることにしました。
作成期間は2週間ぐらいです。
1、DMMからAV女優情報、作品情報などをmechanize(Rubyのクローラー)を使って取得。
2、Wikiからアイドル・モデルのスリーサイズなどをmechanizeで取得。
3、chickipediaから海外のセレブのスリーサイズなどをmechanizeで取得。
6、デザインを整える。
1、http://actress.dmm.co.jp/-/top/ DMMのAV女優情報から情報取得する。
完全に一致さんみたいにFace.comのAPIを使うのは面倒だったので、
作品のタイトルにAV女優の名前がある作品だけをピックアップすることにした。
そうすることで自動的にAV女優100名出演みたいなベスト作品とかは取り除かれる。
グラビアアイドル一覧から個別ページに行き、必要な情報を取得。
3、英語版のwikiにスリーサイズが載っていなかったのでhttp://www.mademan.com/chickipediaから必要な情報を取得。
バストサイズがブラのサイズしかのってなかったが大体合ってればいいかということで、そのままcmに変える。
身長がフィート表示なのでこれもcmに変えてデータベースに突っ込む。
外人のカップ数がバストに比べて小さいなと思っていたら、外国のAカップは日本のCカップぐらいあるというトリビアを知る。
5、JQueryを使ったことがなかったので、一番苦労した。
JQueryというよりも非同期通信をするためのAJaxという仕組みをRailsでどう実装するのかが分からなかった。
具体的にはスライダーの値をRailsのコントローラーに渡すにはどうすればいいのかが分からなかった。
色々検索しているとhttp://eddorre.com/posts/tutorial-filtering-results-with-jquery-ui-slider-and-rails-3-beta-3
というRails3でUI Sliderを使用するためのチュートリアルというドンピシャのサイトが見つかる。
英語で読み解くのに苦労したが、合わせてhttp://jqueryui.com/demos/slider/でスライダーの使い方を見ながら何とか実装していった。
非同期通信はかっこいいけど実装するのに手間がかかるなと思いました。
あとPHPにすら挫折した人間なのでjavascript書くのがきつかったです。
Rubyみたいに書けるらしいCoffeescriptを勉強したい。
6,デザインはBootstrap
7,サーバーは、とりあえず人が来るかわからないので、一番安いオスキニサーバーVPS月450円のプランにした。
アダルトOKなのは確認ずみ。http://support.saases.jp/index.php?action=artikel&cat=85&id=409&artlang=ja
何度かやったことがあるのでいつも通りセッティングする。かなり面倒な作業。
一応、アダルトということで,mod_evasive,KeepAliveなどの設定をする。
スリーサイズをスライダーで検索するので3SizeSearchです。
完全に一致さんとの一番の違いは有名人リストが充実していることです。
好きな芸能人と似たスタイルのAV女優さんがすぐにわかります。
例えば、西田麻衣に似たスタイルのAV女優は範田紗々だとすぐにわかります。
検索の幅を緩くすることもできます。+-1から+-2へボタンを押して切り替えると、さらに22名のAV女優名がでてきます。
http://3sizesearch.com/people/%E8%A5%BF%E7%94%B0%E9%BA%BB%E8%A1%A3
例えばアヴリル・ラヴィーンに似たスタイルのAV女優は、藤咲りさ、本田成美、優木ルナになります。
似たスタイルの芸能人も分かります。アヴリルの場合、浅香友紀 菅野美穂 木内美穂 黒坂真美 小橋めぐみ 佐藤ありさ さとう里香 西原亜希 平田薫 松永京子 蓮舫という感じです。
ですのでAV女優さんの個別ページに行けば似たスタイルの芸能人も分かります。
例えばRioに似たスタイルの芸能人は浅倉結希 立花麗美 吉井怜となります。
http://3sizesearch.com/people/rio
楽しみながら作れ、JQueryの勉強にもなったので良かったです。
アイドルよりAV女優の方が人数も多いし可愛くてスタイルのいい子が多いですね…。
小飼弾さんの「作品から商品へ - 書評 - 職業としてのAV女優」というエントリーが頭に浮かびました。
http://blog.livedoor.jp/dankogai/archives/51804435.html
よろしければ3SizeSearchを使ってみてください。http://3sizesearch.com
http://d.hatena.ne.jp/yamasawa8911/20120519/1337407233
だそうなので、俺が思うところを書いておきます。
基本的にMacのほうが羨ましいとは思うけれども(まあ、MacBookとかが欲しいんだよね、きっと)、でもきっとMacなんてフルスペックで使えるわけない。
周りの子に自慢したいとかいうのであるならば、あるいはどうしてもiOSアプリが作りたいというんだったら、それしか選択肢がないけれども、そうじゃないんだったら辞めましょう。
あとWindowsも、Windowsアプリとか、C#をいじりたいんです!っていう話であるならば、それに固辞するのも結構ですけど、そうじゃなくて、ITに行きたいなら、Windowsを捨ててLinuxにしましょう。
自分はGentooが好きですけど、ハードコアすぎるので、Ubuntuのほうがいいかと思う。
Linuxとか難しいんじゃないの……とか思うかもしれないですけど、Ubuntuは素晴らしいです。
Ubuntuは、知り合いの絵師のパソコンに入れたら、わりと好評でちゃんと使っていたので、それなりにパソコンが使えるならば、ちゃんと使えます。
プログラミング言語関係は、そのOSに依存するような環境を使いたいというわけではないのなら、Linuxにしておいたほうが、無難に使えます。
CとJavaでもいいとは思うんだけど、どちらもコンパイルが必要だし、コードを書くのに、ある程度の量(書きたいときに気軽に書くという感じではない、という意味)が必要なので、もう一つ言語を覚えた方がいいです。
PHP、Ruby、Python、Perl、Clojure、Haskell、お好きな言語をどうぞ。
ただ、PHPはどちらかといえばWebアプリケーションよりかな?という気がするので、PerlかRubyかPythonがいいかとは思いますが、お好みで。
自分はPythonのほうが好きですけど、Rubyのほうが割と見つけてもらえる確率は高いかもしれません。
あと、パブリックマンも「Railsでいこう!」というブログ名だったので、尊敬する人にあわせるならRubyのほうがいいんじゃないかと。
こわいおじさんににらまれたいならPerlのほうがいいでしょう。
ちなみに、Ruby on Railsは、割とWebサービスを作るのが楽になります。Herokuとかありますしね。Webアプリケーション周りということだったら、ついでにそのプログラミング言語で使われているメジャーなフレームワークとか調べながら勉強するといいかもしれません。
で、上記を踏まえて、エディタをちゃんと使いましょう。
パワーが有り余っているなら、総合開発環境であるところのEclipseでもいいんだろうとは思うんですけど、それはおっくう、というのならば、ちゃんとエディタの使い方を覚えましょう。
もう既にUbuntuを入れていると思うので、EmacsかVimを使いましょう。Vimのほうが好きではあるんですけど、キーバインドや、その他の癖を考えるとEmacsのほうがいいかなあという気がします。
Ubuntuを入れたなら、Geditというエディタも、Windowsのメモ帳の非じゃないくらい極まったエディタなので、それでもいいです。Windowsがそんなに好きなら、サクラエディタを使うといいでしょう。
あなたはどうやら貧乏だけれども、インターネットは使えているようなので、英語を読む練習をするといいです。
英語なんて全くわからない?ノープロブレム。そんなの適当でいいです。「なんとなくこういう意味かなー」とか、あるいは英語を読むだけでクラクラしない程度でいいと思います。
英語を読めると便利です。少しだけ多くの解説が読めるからです。
あと、英語が読めると「pdf Orailly」という魔法の言葉が使えたりするんですけど、何に使うかは想像におまかせします。
で、上記を踏まえてなんですが、コードを書きましょう。
コードなんて書いてなんぼです。「如何に優秀なハッカーになるべきか」という記事はゴロゴロありますが、そんなのは気休めに読むべきで、まずはコードを書きましょう。
なんだかんだいって、コードを書くのは経験がモノをいいます。量を書きましょう。そして躓きましょう。最初から質なんて無理です。
躓いたら、なんで躓くのか考えましょう。また、「こんなところが、コードを書く点で不満だなあ」と思うことがあれば、それも考えていきましょう。
偉い人がいろんなソリューションを考えてくれています。最初からそのソリューションがなぜ素晴らしいかなんて理解できないとは思います。躓いて始めて「ああ、だからこういう開発手法がいるんだ」ということを理解できるでしょう。
ついでに、コードで躓いたら、その躓いたところを、Twitterアカウントに積極的に発信していきましょう。
そのついでに、そのプログラミング言語を学んでいるTwitterアカウントをフォローしましょう。
あなたの呟いていることによっては、その人は興味を持ってくれるでしょうし、場合によっては手助けをしてくれるかもしれません。
あなたがサービスを立ち上げたら、積極的にRTをしてくれるかもしれません。
だいたいなれてきたところで、自分が作りたいものを作ってみましょう。そして公開してみましょう。できるならGithubで。
Githubに載せる理由は、ソースコードを公開したほうが、突っ込まれる率が高くなり、それに応じて勉強になるというところと、あとはGitというバージョン管理システムの勉強をしていたほうが、のちのちに便利だからです。SVNとかありますが。
あと、コードの引き写しに関しては、ブログに書くか、あるいはコードの断片を載せるという意味で、Gistに載せるという点もありますが、その辺りはご自由に。
VPSを借りてみましょう。あなたが貧乏だというのはわかっています。VPSとは、仮想専用サーバーのことです。
別に最初っから何でも揃ってるようなホスティングサービスでもいいんですが、サーバーを一から立てるという作業は、勉強にもなります。下手な技術書より余程勉強になったりします。
最初から借りると宝の持ち腐れとなると思うので、一つのWebサービスでもいいので、それを自分のマシン内でのみ見られるようなったら、借りるというのは一つの手だと思います。
VPSがつらいというのならば、Herokuとかもありかもしれないです。
コードを書くのが辛いなら、コードを読みましょう。人のコードはアイデアの山です。
自分の場合は、割と実例が無いと、挙動がピンとこなかったりするので、コードを読むことのほうが多いです。
特に、その言語で有名なライブラリとかいいかもしれません。ガンガン読みましょう。
あとは若さでなんとかなるでしょう。
ついでに、この文章を「テメーはなんにもわかってねえんじゃボケ」という言い方をして修正してくれる人もいると思うので、そういう人のアドバイスも真摯に受けとりましょう。