はてなキーワード: cakephpとは
Pinterestもどきの画像ソーシャルサイトgazou.comのディレクション&開発。
WEBサイトのディレクションの経験のある方(改善の指摘、提案)
一週間くらい
tumbler
ついっぷるフォト
600,000円(税込)
(内訳はディレクション20万、開発30万、リリース後1週間のサポート10万で見積もっています)
どんなサーバー構成にしたら良いか分からないのでサーバー構築を10万くらいで
外注しようと思っていますのでサーバーの構築も可能でしたらプラス10万になります。
サーバー代は月5万円を想定。現在はさくらの安いVPSを使ってます。
海外のドメインオークションで運良く15万で落札しました。(他に入札者がいなかった)
ドメイン名負けしないサイトを作りたいと思いますので宜しくお願いします。
http://oi.jpn.org/files/gazou2.xls
TOPページ
http://oi.jpn.org/files/top-page.jpg
今までの仕様まとめ
https://docs.google.com/spreadsheets/d/1Rg8Fosxw_qYO5MW6QTNMvuBzsZ2qkTRyGvI2Mux01Og/edit?usp=sharing
twitter @hhungry
obinat2@gmail.com
普通のサラリーマンで深夜帰宅が多いためレスポンスが悪いです・・・
とりあえずサイトを見てみたい方はお気軽にご連絡ください。
1年近く前からWEBサイトを制作してるのですが、自分のディレクション能力が低く
なかなか完成の目処が立ちません。修正したい部分を外注のエンジニアやデザイナーに
どう伝えたらよいのか、自分でもどう修正したら良いのか分からないことが多く難航しています。
基本的な機能(タグや画像投稿)はベースサイトに実装してあったので2,3ヶ月で制作できると
考えていたのですが甘かったです・・・
100%の完成度をを目指してるわけではありませんが、リリース後に大きなシステム変更は
できないので破綻しないよう基本機能を実装してからリリースしたいです。
ランサーズでデザインの発注をしたのですがWEBサービスにあまり詳しくない方だったので
WEBサービスに詳しい人が多そうなはてなで募集してみることにしました。
2.プルダウンが左端だとメッセージが見切れるので右端にする。
ソーシャルログイン、画像アップロード、Taberarelooからの画像投稿、
・画像ページにコメント欄の追加。(ベースサイトのコメント欄機能を転用)
・ユーザーページがなんか変。
(特定のアダルトタグが付くと「R-18」タグが付いて、画像を表示・非表示する設定はできています)
・タグの登録・削除がスマートじゃないので修正。(Gmailのラベルみたいな感じがいい)
e.g. ttp://gazou.com/members/uploadlist/4309
彼女は出来ませんでした。Googleにでも広告出したほうがよかったか。
まぁ、せっかくなのでレポでも書いてみようと思う。なんかの役に立つ人がいるかもしれないし。
↓
当日、開始前15分に開場
連絡メールには「開場30分前ぐらいに来るといいですよ」とか書いてあったのだが誰も来ていない上に廊下で待たされるハメになった。なかなか素晴らしい運営だと思った。
↓
手荷物を預けて、小道具一式を受け取る
↓
指示された席について待つ
↓
司会から諸注意の説明がある
スタッフは司会+5名前後で全て女性なので女性に安心かもしれない
以下の点について注意がある
↓
5分と言うのは恐ろしく短くてあっという間に終わるのだが、それを10人、休憩なしでしゃべりっぱなしなのでかなり疲れる。コミュ症というか話すのが苦手な人は相当しんどいと思う。
・・・といっても、大体の場合は(自分も、相手もだが)一目見た印象と相手のプロフィールシートを見て一言二言会話してその瞬間にOKかNGかが判断されてしまうので、5分のうち3分ぐらいは殆ど無意味であると思う。
↓
中間集計を取る。手元の紙に第一・第二・第三希望の相手の番号を書いてスタッフに渡す
↓
20分休憩
ケーキをいただきつつ、野郎同士で楽しく仕事の話でもした。異業種交流はやはり面白い。
↓
中間集計結果が出て、各人に紙で渡される
このシステムはなかなか良く出来ていた。書いてある内容は以下のとおり
こう書かれるとなかなかテンション上がって舞い上がるものなのだが、よくよく冷静に考えてみると、10人いるうちの1人が俺に投票する確率が全て均等だとすると
1 - (9/10 x 8/9 x 7/8) = 0.3
で、10人いるので
0.3 x 10 = 3.0
となり、まぁ何もしなくても普通に3票ぐらいは入るのである。つまり平均ピッタリ。そもそも最終的なマッチングではおそらく本命となる第一候補が優先されるはずなので一番目以外の票はあんま意味ない気がする。
↓
次は指名しての会話タイム。1回につき10分、4回指名が可能で、
人気のある人は一瞬で埋まるようだ。
最後余った人が出たようで、女性同士二人で話している姿が見られた。なんだそれ。
↓
結果を待つ
↓
↓
結果発表後、マッチングしなかった女性陣だけが全員が見守る中、手荷物を渡されて撤収
その後マッチングしなかった男性陣も全員が見守る中、手荷物を渡されて撤収
女性側にはリピートフォロー施策が入っているようだ。最後に次回使える割引券を配っていた。俺ら野郎には何もなし。
少々乱暴だが、以下、マッチングしたものを勝者、しなかったものを敗者とする。
問題点その1。見ればわかるが最後の結果発表まわりがあまりにもクソである。企画やってる人間を即座に更迭していいレベルでクソ。公衆の面前で敗者を晒すとか何考えてんじゃボケ。
ちょっと考えてみよう、運営が利益を最大化するのに必要なのは何か?新規顧客またはリピーターである。このうち新規顧客よりもリピーターのほうが圧倒的に得やすい。現行のシステムは勝者側に優越感を与えさせることは可能かもしれないが、それが勝者側の満足感につながり口コミの機会を与え新規顧客開拓になる確率と、敗者側がこのシステムで屈辱を受け絶望して離脱する確率、どちらが高いか、こんなもん即答ではないか。ただでさえ弱いオタクのマインドを踏みにじって楽しいか?それより中間集計と同様に書面でこっそり渡し、ペア同士をあとから別の建物に移動させてマッチングさせて、ふたりきりにしてあげればいいではないか。敗者は傷つかない、勝者はドキドキしながらマッチングを楽しめる。どうして技術屋の俺程度が思いつく程度の演出すら思いつかないのか。何年運営やってんだこいつら。アホか。
とにかく敗者側に対するフォローが圧倒的に重要なのである。今回はペアにならなかったけど、あなたに投票してくれた人がこんなにいるのよというのを最終結果で見せてあげればいい。モラルとしてはクソだが、利益がほしいなら最悪嘘をついてこんなに沢山の人から投票されてましたが惜しくもマッチングなりませんでしたと偽っていい。そうすればもう一度リピーターとして来てくれるかもしれないではないか。それが出来ない理由が・・・まあ邪推だが、次の問題点になる。
問題点その2。最終結果のマッチングロジックが完全にブラックボックス。誰が誰に何票投じたか、当事者にすら伝えられない。ただ結果だけが発表されるのである。つまり、運営側の恣意的なチートがいくらでも可能になるのである。もちろん自分が書いてもいない相手にマッチングしたら一瞬でバレるが、2番目3番目の人であれば好き放題に組み合わせることが原理上可能だ。これも当然敗者側の不満になる。
正直8000円の価値あったかというと微妙。まぁお金出して実質成果ゼロなんで微妙に決まってるのだが。これでは最近始めたモンストのガチャを8000円ぶん回したほうが有意義である。自分に成果がなかったのでもちろん意見にマイナス方向の強烈なバイアスがかかっているのだが、それでも割高感はあるし、何よりすでに書いたが司会進行・運営が本気でクソだと思っている。比較対象として、以前SCRAPが実施していたリアル婚活ゲームと言う名前の出会い系リアル脱出ゲームに参加したことがあるのだが(これも成果はなかった)、値段も通常のリアル脱出ゲームと同じだったし普通に楽しく満足して帰ることができた。女の子とも話せたしね。
女の子と話せたといえば、人間観察の練習にはなるなと思った。女の子は実にウソをつくのがうまい、興味があるかのようにこちらの話を聞くのが本当に得意だ。自分は馬鹿正直で思考が全部表に出るのでそういうスキルが大変羨ましい。まぁそれでもよく観察していると自分に興味があるかないかぐらいと、誰に興味があるかぐらいはすぐにわかるので、そういう練習に良いと思う。
あと、10人も来れば1人ぐらいは普通に自分好みの可愛い人が来るってのはわかった。といっても先方はこっちに興味が無いのがすぐにわかったのでつらたん。
反省点としては、名乗る名前は本名がやっぱりいいです。ハンドルネームはそれだけでなんか良くないですね。
終了後、負け組4名のうち3人で意気投合して飲みに行った。レトロゲームの話などして実に楽しかった。一人は明らかに仕事できそうな一部上場企業の品管で、もう一人が工場の技術屋だ。彼らは知り合いで、もう一人連れてきて三人で参加したらしいのだが、二人はダメでうまくいったのは一人だけということらしい。マッチング後がどのようなシステムになっているのか気になるので、彼らからの続報が非常に楽しみだ。それにしても俺はともかくとして彼らのスペックでダメってのが正直わからん。見た目もぜんぜん悪く無いと思うし。・・・まぁどうでもいいことだ、きっと女の子と言うのは総じて技術屋が嫌いか、またはよく喋る男が嫌いなんだろう、知らんけど。もう二度と行く気もしないし、アカウントも消すなり凍結するなり勝手にして頂いて結構だ。
そうそう、彼らのウェブサイト (http://aellura.com) だが、PHP、おそらくCakePHPで動作しているようで、決済系や申し込み系のURLがauto_incrementalなintになっていてなかなか香ばしいなと思った。例えばエントリー確定のURLは https://aellura.com/secure/entries/fix/45000 で、決済確定のURLは https://aellura.com/secure/payments/send/45000 と言った具合だ。ふーん、4万5000人ぐらいが使ってるんですか。ちっともセキュア感がない。同社の別サービスのアエルネも同じシステムを使用しており、同じようなURL設計になっている。個人的にはこれだけでずいぶんとげんなりだ。
零細経営者だが、こういう人見つかるかききたい。
PHPでモックアップしたウェブサービスの追加開発(いっそRubyとかCakePHPで1から作りたかったらつくってくれてもいい)
<希望>
<月収>
月100時間労働で20万円。他でダブルワークしてもらって構わない。
その他、クローリングやその都度覚えて開発するマインドがあることが重要。
なお、ドットインストールぐらいは社長の自分自身ができる(私は営業畑)ので無茶なお願いはしないと思う。
なお機能的なデザインへの関心が強いことが望ましい(無印、はてな、Cookpad,iPhoneを美しいと感じる人、なんで美しいのかなんで使いやすいのかを考えたことがある人がいい)
<なぜ採用したいか>
サービスで市場シェアを取りにいきたいが、ざっと作ったサービスのため荒い。
細かい詰めをしていきたい。
<なぜlancers,Crowdworksではないか>
丸投げではなく、コミュニケーションをとりながら「良いサービスづくり」を頑張ってほしいから。
こちらにはお客様の声やこういう機能があるとよいという案がたくさん溜まっているが継続的な開発が必要だと思うので大切にしたい。
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サービスの公開まで漕ぎ着けることができました。
この期間が長いと思うか短いと思うかは人それぞれでしょうが、自分のアイデアを現実化させることは想像以上に楽しいことですよ。
壁にぶつかることはたくさんありましたが、不思議と辛くはありませんでした。だって楽しいから。
用事がある日にも、早起きして作業することが苦になりませんでした。だって楽しいから。
変に敷居の高さを感じている人がこの記事を見て、『俺もやってみよう』と感じてくれると嬉しいです。
試用期間3ヶ月が過ぎようとしたある日(5/27)の事。社長からいきなり「今月一杯で辞めてもらう」という宣言を食らった。通例解雇の予告は30日前に行われねばならず、いくらなんでも急過ぎるだろと思ってしまう。ここからは入社してからの経緯を簡単に話そうと思う。
今回入社したのは社員数10人未満の小さい会社だった。まずCakePHP+MySQLを使ったCMS回りの機能の追加の他、初めてJavaScriptやJQueryを担当する事となった。全く触った事の無い言語だった。基本を覚えながら、分からない事は先輩に聞きながらの作業で、いよいよ一案件が完成し、JQueryのほうも○×ゲームを作る位は覚えた。
しかしながら既存のソースコードの改修が苦手なのもあって、案件のJavaScript回りで時間がかかってしまった。例えば最後の案件はJavascriptのクラスを使った案件だった。上記のリンクのコードを見れば分かると思うが、自分はオブジェクト指向が苦手で、Javascriptのクラスの仕組みをする事が出発点だった。
最終的に「一つのトップページで一ヶ月をかけるのは費用対効果で、君を雇う意味が無くなってしまう。大きい企業なら補填が聞くのだが」と言われてしまったわけだ。労働契約の面では配置転換が出来ない事による普通解雇に当たるはずだ。
しかし仕事面では「俺じゃなくお前のせいだろ」と言ってやりたい。ある案件のホームページは途中まで自分が作っていた。しかし三月中旬、突然上の思いつきで仕様変更が入り、プログラムの大部分を修正しなくてはならなくなってしまった。先輩にも「無理なら無理と言っていいんだよ」と言われた程だった。その案件そのものの期限も一ヶ月延びたのもあり、他の案件でやらねばならない事も後ろに伸びてしまった。それがずるずる来て今日に至る。
「家は小さい会社だから何でも出来る、やりたい人を募集している。ミスマッチだ」と言われたが、フロントエンド/バックエンドの両方できる人ってそういないと思う。無論できる人もいると思うが、それが出来るような人は今の会社に来ないと思う。
かくいう俺も俺はそこまでプログラムが得意ではないし、何でもできる訳では無い事を考慮してくれればありがたかった。正直やってられない気持ちで一杯で、この業界から身を引く事を真剣に悩んでいる。
大学生だった2007年頃から趣味で他愛もないホームページをつくっていた。
ワードプレスやライブドアブログのようなCMSには頼らず、1から10まで自分で作ることにこだわった。
すぐにのめり込んでいき、大学の図書館にこもりWEB関係の本を借りまくった。
しかしWEB関係といってもPHPやSQLは理解できなかったので、まずはHTMLとCSSだけ勉強して静的なページをべた書きで量産していった。
HTML,CSSですら最初はつまづいていたけれども、自分の意図した通りにデザインできるようになってからは面白かった。
アクセスは全く増えず、一日100PVにも満たなかったが、僕はめげなかった。
講義には出ず、学園祭にもサークルにもいかなくなり、周囲からは「まだやってたの」「何がしたいの」と呆れた目で見られるようになった。
付き合う人も限定されて社交性は衰えていった。
半年が経っても動的なページをつくれる技術はなかったので、未だに力押しでページを量産していた。
しかしデザインにはこだわっていたので、単純なHTMLでも、見た目にはそれなりのサイトに仕上がっていた。
内容はくだらなくても、いっちょまえなレイアウトで書けば、それだけで見栄えのする物になった。
PVはすぐには伸びないとわかっていたので、平均滞在時間、平均PV、直帰率を目標にしていた。
ユーザビリティには独自性は無用で、正解があると思っていたので、ヤコブニールセンのWEBユーザビリティの本を買って、素直に勉強した。
PVが少なかったので、平均をとっても余り意味がないのだけれども、平均PVは8はあったと思う。
ビジネスの基本は選択と集中だと考えいたので、PVが伸びなくてもサイトのテーマは広げず、なるべく狭く深くを追求していった。
サイト制作をはじめてから8ヶ月ごろではじめてグーグルアドセンスが振り込まれた。
ヤフーニュースの関連する記事にリンクが貼られたことも大きかった。
アフィ収入は年間400万を超えて、僕は大学3年で親の扶養を外れた。
稼げるようになってから、周囲の目が変わった。
いまどきアフィリエイトかよと呆れていた人が僕にジャンルや手法を訊いてくるようになった。
この頃から僕は自分にはプログラマの適正があると勘違いし始めた。
HTMLやCSSは狭義のプログラミングではないにもかかわらずだ。
調子に乗った僕はプロの話を聞きたいと思って、広告で見た翔泳社のデベロッパーズサミットに参加した。
年に一度開かれるITエンジニアの割と大きなカンファレンスだが、仕事で来てる人がほとんどだと思う。
名刺がないので受付で恥ずかしい思いをした。
javaのカリスマエンジニアやオラクル、NTTデータ、MSの偉い人、はてなの人などが講演していた。
当時HTMLとCSSしかわからず、PHPとMYSQLをかじったばかりの僕には話の内容は1割も理解できなかった。
引きこもってプログラマごっこを続けているうちに大学4年になった。
一生アフィで食っていけるわけもないので、就職活動をはじめた。
WEB系はブラックが多いとそれとなく聞きかじっていたので、大手IT企業や大手SIerを中心に受けた。
(新卒でWEB屋の門を叩かなかったことを、今でも本当に後悔している。)
結論から言うとMSもデータもオラクルもグーグルもユニシスも全部落ちた。
営業職も応募したけれど、いずれにせよPHPとSQLをかじっただけでは戦力にならないし、そもそも、WEBとSIでは言語の畑が違うのだろうが、たぶんそういう技術的な事はどうでもよかった。
技術的な事は入社後に教育する体制ができてるので、学生には何よりもまず社交性を求めていたのだろう。
~でも、私には在学中に専攻外の事を勉強していった自主性があります、
~これに関しては誰にも負けません。
とアピールしたのだけれども、ダメだった。ただの独り善がりの変なヤツに見えたのかもしれない。疑わしきは落とす。
結局僕は社交性、人間性、社畜適正、その他、大企業が学生に求める普遍的な魅力を欠いていたから内定がでなかったのだろう。
文系の学生が独学で中途半端にプログラミングの勉強を始めたばかりに、それはIT業界から内定を得る上での強みになるどころか、致命傷になったのだ。
友人は立派な会社に就職していったので、当時リーマン不況のまっただ中で就職難だったというのは理由にならない。
facebookで大学の友人をみると勤務先がNTTデータとかアクセンチュアになっていた。僕よりも人間的な魅力があったのだろう。
サイト制作は趣味と割り切り、日本を支える製造業を仕事に選んだ。
内定をもらってから卒業するまでの間に、僕よりもずっとITに明るい友人に、アフィで成功していたことを買われて起業を持ちかけられたが、何度も衝突し、結局2ヶ月で僕の方から音を上げてやめた。
起業するなら一人でスタートして人を雇うなり外注するなりすべきで、チームで始めるにしても誰が一番偉いのか最初に明確にすべきだと、このときに確信した。
就職したが、毎日のような飲み会と、週末のゴルフ、一発芸の強要など体育会系の慣習に嫌気が差した。
僕は仕事の傍らの片手間の作業でも収入が増えていくアフィに目をくらませて、半年で退職し、専業アフィリエイターになった。
今は無き海外ニートブログの労働観と、後述するコピペが僕を後押しした。
専業になってから収入は伸び続け、一番多いときで月80万を超えたが、その代わり孤独になったので、以前のような精神的な余裕がなくなった。
技術的には大学在学中からほとんど成長しておらず、未だにhtmlのべた書きで、サイトの一部でphpとsqlを使用してる程度だったからだ。
僕のサイトはWEBサービスといえるような代物ではなく、ただの一方通行のサイトで、コメント欄をつくる技術もないので、放置していもユーザーが勝手にコンテンツの価値を高めてくれるということはなかった。
ページを増やすのは社員を増やすようなものだと考えていたけれども、僕の身体は一つなのでべた書きで増やせる量には限界がある。
一人で安定してコンテンツを生み出すには、今後は趣味のサイトからは卒業し、より商業的なユーザー参加型のCGMを作らなくてはならない。このままではまずいと感じていた。
しかし僕はcakephpのようなフレームワークを使用せず、というかMVCを理解できず、。
ワードプレスのようなCMSもつかわず、力押しでべた書きで作っていたので、できることには限界があった。
僕と同じ個人事業主がつくっているW3Qのような立派なサイトをみるのが怖かった。
僕のサイトはブログやニュースサイトではなく、テーマが普遍的なサイトだったので、放置していもPVは減るどころか増えていった。
あぐらをかいた僕はサイト制作を完全に放置して、不安を紛らわすために現実逃避で遊びはじめた。
目的地も決めず、平日に思いつきで一人旅やサイクリングにいった。
仕事を辞める引き金をひいたのが、2chの独身男性板でみたこのコピペだった。
もし仕事に行きたくなくなったら、そのまま反対の電車に乗って、
海を見に行くといいよ。
陽に当たりながら飲むといいよ。
ビールが無くなったら、そのまま仰向けに寝ころんで、
流れる雲をずっと眺めるといいよ。
そんな穏やかな時間がキミを待ってるのに、何も無理して
毎朝ネクタイを締めるときにストレスで吐いていた僕の背中を押してくれた。
なんて罪なコピペだろう。
気晴らしのはずの一人旅なのに、旅館の人に今日はお仕事お休みですか?と聞かれたのが辛かった。
他にも一人で野球観戦に行ったり、映画を借りまくったり、早朝深夜のメジャーリーグの試合を見まくったり、夜更かししてロンドンオリンピックを見まくったりした。
野球中継に関してはスカパーのプロ野球セットを契約していたので、144試合中130試合は1回から9回まで見ていたと思う。
僕はサラリーマン時代に味わえなかった自由をほとんどすべて享受した。
サイトの方はなんだかんだで半年以上更新してなかっただろうか。
そして昨年の11月に事件が起こった。
グーグルのアルゴリズムが変わり検索順位が大きく下がったのだ。
打開するための次のサイトのアイデアはあるのだけれども、技術がない。
フロー理論でいう挑戦と技能の間の大きなギャップがあり、不安に駆られ現実逃避しか出来なくなった。
収入は落ち込んでいくのに、サイト制作をする気にもなれず、この一ヶ月前に自営業を断念した。
僕は公務員を目指すことを考え始めた。
一ヶ月後の6月が試験であるが参考書だけ買って全く勉強は進んでいない。
今年は無理だろう。
しかし今年で27歳だ。公務員になるにはそろそろ年齢制限にひっかかる。
来年筆記試験にうかったとしても、年増が面接に受かるだろうか。
27歳にもなるのに職歴がなく、独学でphpとSQLを囓った程度ではWEB制作会社は雇ってはくれないだろう。
詰んだかな、これ。
もっと外に出て、みんなと同じ大学生活を送って、みんなと同じ就職活動をして、みんなと同じように働いていれば。
初めての増田。
気持の整理ができたのでよかった。
13/5/18 15:00
はてな、ツイッターでの様々なご意見、ご指摘ありがとうございます。
27歳で実務経験のない僕が現時点でのスキルでWEB制作の仕事にありつけるとは思えず、納期がある請負も性にあっていないので、やはり公務員試験の勉強をがんばります。
僕のサイトははてぶ400userもありませんが、最後にホッテントリ入りしてWEBに小さな足跡を残せたので、悔いはありません。
「らびっとブックマーク」
「管理をする」ことに重点を置いた(ノンソーシャル)ブックマークサービスです。
■作ったいきさつ
ブラウザのブックマークが貯まりに貯まってたので、ブラウザじゃなくてオンラインで管理しようと思ったところ
「じゃあ自分で作ってみるか」
ということで作りました。
・はてブは?
もちろんはてブでもブックマーク管理してたんですが「もっと一覧性が高かったらなぁ」とか、「ラベリングができたらいいなぁ」とか、
単純に管理するという点に注目したとき、もっと機能が欲しいと考えました。
■制作について
製作期間は2ヶ月くらい。
使った言語はPHPで、フレームワークは「CodeIgniter」というものを使いました。
実はプログラミングの勉強は1年半ぐらいやってて、Webサービス(のプロトタイプ)をいくつか作ったことがありますが、リリースまで出来たのは今回が初めてです。
最初は流行の「Ruby on Rails」から勉強しました。
本を買ったり、ネット上のチュートリアルを参考にしたりしました。
流行だったこともあって、情報収集にはそこまで困りませんでした。
そこで当時考えたToDoリストにゲーム性を加えたWebアプリを作ろうとしたんですけど、どうしても本番環境へのデプロイができなくて、そこで挫折…。
ならば別のフレームワークを!と思って次に手をつけたのがPythonのフレームワーク「Django」
Railsより動作が速く、もともとPythonを勉強してたこともあり、親しみを持てた一方で書籍やネットでの情報が少なくて苦労もしました。
簡単なアプリを作ってデプロイを試みたんですけど、結局こちらでも成功まで辿りつけませんでした…。
と焦り始めたところで、次に目をつけたのがPHPの「CakePHP」でした。
「PHPを使ったら負け」みたいな文言をネットでよく見かけていた
ので、あえて敬遠していたのですがここまでくると手を出さずにはいられませんでした。
結果から言うとこちらは先の2つでの苦労が嘘のようにいとも容易くデプロイができました。
このままCakePHPで制作を進める予定でしたが、何故かここら辺で別の事に手を出して、構想していたToDoリストアプリの制作を中断しました。
そして数ヶ月の空白期間を隔て、今回のオンラインブックマークサービスのネタを思いつきました。
その間に出会ったのが「CodeIgniter」というフレームワークで、CakePHP同様PHPベースですが、こちらは軽量フレームワークです。
動作が速く、学習コストも低いのが魅力的でした。(デプロイも簡単。)
ということでこちらを採用して制作し、今回リリースまでこぎつけました。
これから独力でWebサービスを作ろうと思ってる方は、使うフレームワークの仕組みだけでなく、本番環境にデプロイすることまで見越した勉強をしないと
自分みたいにフレームワークに左右されて余計な時間を取られてしまうので、その辺は注意した方がいいかもしれません。
(ただそれらを通して学んだことは無駄にはならないと思います。)
■感想
今回実質の製作期間は2ヶ月くらいでしたが、それに至るまでの勉強も含めるとかなりの時間と労力を費やしていて、Webサービスをちゃんとしたサービスとして
立ちはだかる壁としては
技術がなぁ…
↓
デザインがなぁ…
↓(ある程度の妥協)
デプロイがなぁ…
↓
宣伝がなぁ…
↓
運用がなぁ…
みたいな感じだと思います。
最近はてブでも「Webサービス作った」系のエントリが上位に昇っていますが、
もうすぐ30歳になるのに、昨年末で職場がなくなりハローワークに行っても求人が無いので
PHP ruby Nginx WordPress Bootstrap を使ってWebサービスを作りました。
今までバックエンドしか作ったことがなく、フロントエンドをやりたかった。
趣味でやっていて目標の物を作ったら満足し、継続してやらない。
なので今まで覚えてた事を忘れて一からやり直す事が多かった。
とゆう勢いで…
Bootswatch
Mechanize
スクレイピングしなきゃ!
いつもスクレイピングはSimple HTML DOM Parser
http://t-taira.hatenablog.com/entry/20120429/1335658939
「なにこれRubyすごいこんな数行で」
RubyでスクレイピングしたデータをMYSQLに保存までは完成。
次はサイトをどうしようかと考え…
cakePHPかな…
WordPressに決定。
一番時間がかかった…
デザインは昔からまったく出来なかったので Bootstrap に。
http://webdesignrecipes.com/first-time-wordpress-origin-theme/
ここを見ながらテーマに落としていくのは簡単でした。
WordPress初めてなのですごく参考になりました。
http://kray.jp/blog/wordpress-tuning/
http://tech.aainc.co.jp/archives/3022
Webサービスを作って公開するのが、こんなに楽しいとは思わなかった。
次はCakePHPとかフレームワークを覚えて新しいサービスを作りたい。
ruby on railsもいいな
でも、早く再就職したいです…
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追記
公開後に感じた事を別記事にまとめました
自動でマッチングしてチャット相手を見つけてくれるマッチングチャットや、すぐにチャット相手を見つけてくれるフリーチャット、コミュニティチャット、フレンドチャットなど、とにかくチャットがメインの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
前編はこちら
http://anond.hatelabo.jp/20120926165407
中編はこちら
http://anond.hatelabo.jp/20120926165533
基本的な機能とデザインが出来てきたら、細かな機能や説明ページなどの静的コンテンツも作っていきます。
8割程度出来たと思ったら、一度サーバーにアップロードして動作チェックしてみます。
たいていは上手く動作するはずですが、途中で一度チェックしておいた方が出来上がってから不具合を修正するよりは効率的です。
僕ははじめCORESERVERを使っていましたが、メールが送信できない不具合に遭遇して時間を取られました。
結局はCORESERVERとgmailの相性が悪いせい、という事で最後はさくらに移転しました。
あと、何となく動いているのが確認できたら、
このタイミングでGoogle AdsenseやAmazonアソシエイト、A8やバリューコマースのアフィリエイトサイトに申し込みましょう。
特にアドセンスは申請してから使えるようになるまで1週間とかかかります。
2012年現在、アドセンスを含むアフィリエイトは期待するほど儲かりません。
でも、色んなWebサイトで見かけるこれらの広告の表示方法を学ぶことで、Webサービスに対する理解も深まりますし、
あと、全然儲からなくてもサイトにこれらの広告を表示しておくと、社会と繋がっている雰囲気が出て活況感が高まったり、
自分のサイトがちょっと立派に見えてテンションが上ったりします。
それぞれのプログラムの使用方法は検索すると出てきますが、敢えて本でおすすめはこの2冊。どちらも基礎です。
アフィリエイトで<得する>コレだけ!技 BEST100
サーバーに最新のファイル一式をアップロードして、入念に動作チェックをします。
core.phpのsession idをデフォルトの状態から違うものに変更したか、
全てのコントローラーのデバッグツールキットはOFFになっているか、
CakePHP本体は公開フォルダと別の階層にアップロードしているか、
htaccessの設定は間違っていないか、
などを確認します。
URLのwww付きとwwwなしはどちらかにリダイレクトさせて1つに統一できているか、
存在しないURLにアクセスされた時のエラーページに余分な情報が表示されていないか、
検索エンジン用のrobots.txtを用意、
ファビコンを設定する、
アクセス解析を設定する、Google Analyticsに登録しコードをサイトに埋め込む。
http://www.google.com/intl/ja/analytics/
Google先生に挨拶する。Google ウェブマスターツールに登録し、必要な情報を入力、Analyticsと紐付ける。
https://accounts.google.com/ServiceLogin?service=sitemaps
http://developers.facebook.com/docs/reference/plugins/like/
https://twitter.com/about/resources/buttons
その他、mixi、Google+などのボタン類も必要ならつけましょう。
全部出来たら、完成です。
Webサイトは作っただけでは(本当に)誰もアクセスしてくれません。
Webサービスを作ったそのあとに、「自分でもできる低コストなWeb PR方法」
http://blog.8bit.co.jp/?p=1944
こちらもチェック。
作ったwebサービスをPRできる!webサービスのリンク集サイトまとめ
http://smkn.xsrv.jp/blog/2011/11/web-service-linksite/
リリースした直後はGoogleのインデックス数も少なく、検索エンジンからのアクセスは期待できません。
検索エンジンからの流入は1ヶ月とか、時間が経つにつれ少しづつ増えてくるので気長に待ちます。
自サイトの情報のチェックはSEOチェキ!とコメポンが便利。(作者のロプロスさん様様)
Komepon!
それから、ステップ11で紹介した本にも出ててますがフェレットも便利。
Ferret
500円で客観的に評価してもらえるこちらも活用すると良いでしょう。
※2012年9月26日現在、このサイトは僕はまだ利用していませんが気になっています。
ホームページ評価.com
■最後に
ここまでやってみると、Web開発の一連の流れが分かった気がしてきます。
初めて作ったサイトはしょぼくても、ひと通りやってみる事で
Webサービスの開発者としての入り口には立ったな、位には思えるはずです。
ここまでの知識をベースに、
SEOをがんばるもよし、
アドセンスやA8などのアフィリエイトで稼ぐしくみ作りをするもよし、です。
この記事を読んでアクションしたら、僕と同じようにアウトプットして、
そのリザルトをシェアしてトゥギャザーするオポテュニティをテラユビキタスw
1つ気をつけたいのは、
開発したサイトのサーバーの種類とか、CakePHPで作ってるとか、そのバージョンは1.3だとか、
そのサイトの詳細仕様は安易にこういう記事に書かないようにしましょう。
悪意のあるハッカーに攻撃の糸口をプレゼントする事になってしまいます。
この本も参考になります(まだやるか)
有益な情報をネット上に提供して下さっているWeb業界の皆さん、
それにいち早く辿り着けるはてなブックマーク、
皆さん、に感謝。
ツイッターはじめました
前編はこちら
http://anond.hatelabo.jp/20120926165407
会員情報や文章などのコンテンツを保存しておくデータべース、MySQLを調べます。
データベースは他にもPostgreSQLやSQLiteなどが有名ですが、やはり王道を勉強します。
MySQLはCakePHPや、ステップ4のWordPress他、よく使いますので把握しておきましょう。
今はまだ関係ありませんが、余裕があればこれも読むといいです。
操作はコマンドラインを覚えていく方向で、始めはブラウザで操作できるphpMyAdminを使ってOKです。
技術調査はこの位にして、これからは実際にWebサイトを作っていきます。
ここまで来ると何となく、Webサイトがどんな仕組みで動いてるかが分かってくるので、
ステップ0でイメージした作りたいサイトがどんな技術で実現出来るか調べます。
TwitterやGoogle、Yahoo、AmazonなどのAPIを使ってサテライトサイトを作っても良いと思います。
が、高度な事をするとはまりやすいので、ある程度やって無理だったらあきらめて次回にまわしましょう。
まずは何か一つ完成させる事のほうが大切です。
それから開発効率UPのため、Chromeにプラグインを入れましょう。
説明はそれぞれのリンク先を見て下さい。
https://chrome.google.com/webstore/detail/ggfgijbpiheegefliciemofobhmofgce
Firebug Lite for Google Chrome
https://chrome.google.com/webstore/detail/bmagokdooijbeehmkpknfglimnifench
View Selection Source
https://chrome.google.com/webstore/detail/fbhgckgfljgjkkfngcoeajbgndkeoaaj
Pendule
https://chrome.google.com/webstore/detail/gbkffbkamcejhkcaocmkdeiiccpmjfdi
BuiltWith Technology Profiler
https://chrome.google.com/webstore/detail/dapjbgnjinbpoindlpdmhochffioedbn
iPSim
https://chrome.google.com/webstore/detail/gcligifbhamdimemnemmlkffkpmflehh
Color Picker
https://chrome.google.com/webstore/detail/ohcpnigalekghcmgcdcenkpelffpdolg
CSS Tester
https://chrome.google.com/webstore/detail/pjncppaiejjkcjlcgegcbmhgkflhenfp
MeasureIt
https://chrome.google.com/webstore/detail/pokhcahijjfkdccinalifdifljglhclm
あとはFireFoxにはFireBug。デバッグの定番らしいです。
https://addons.mozilla.org/ja/firefox/addon/firebug/
それから、空いた時間に無料のプログラミング動画サイト「ドットインストール」を見ておくと
ここまでの知識が定着すると思います。
ステップ7で作りたいサイトがイメージ出来てきたら、ドメインを取りましょう。
サーバーがさくらの場合はドメインもさくらで取得すると楽ですが、もっと安いところもあります。
希望するドメインが空いているか調べて取得、空いていなければ他のドメインを考えます。
http://www.sakura.ne.jp/domain/
定番の.com、.net、.orgは誰が見ても親しみがあるし安いので、できればこの3種類のどれかにしたい所ですが、
一般的な言葉はほぼ埋まっているので、その場合は.jp等にしても良いでしょう。
日本語ドメイン(www.日本語.netみたいな)は流行っていないですが、
自分のサイト名が「○○○.com」のような名前の場合は一緒に取得して、アルファベットのドメインにリダイレクトしましょう。
(ChromeユーザーがURL欄で検索する時、「○○○.com」のように後ろに.xxxが付いているとそのURLに直接アクセスしてしまい、
僕はバリュードメインで取得して、サーバーはさくらのレンタルサーバーにしました。
その際の親切な設定方法の解説はこちら。
VALUE DOMAIN で取得したドメインをさくらのレンタルサーバで使う
http://nekohacks.com/wordpress/domain/value-domain/
どんなサイトで、どんな機能があって、どんなページがあるかノートに書き出して行きます。
サイトの基本的なレイアウトをCSSで組みながら、デザインのイメージもしておきましょう。
ここではデザインはまだやりません。
先にデザインを作っても、プログラムを進めていく過程で変更がでたりする為です。
(でもあんまり後回しにしても、見た目がチープなせいでモチベーションが下がったりするので、次のステップでやります)
あと、ここで気をつけたいのは、あくまでメインとなる機能の開発を優先することです。
外堀から埋めていくとそこでモチベーションが尽きてしまったり、
メインの機能を実装してみたら外堀の修正が発生してしまったりするためです。
始めると分からない事がどんどん出てくると思うので、本を読み返したりGoogle先生で検索しながら進めて行きます。
なかなか進まなくて検索8割、コーディング2割くらいの進め方になると思いますが、それでOKです。
いじっているだけでモチベーションを使い切ってしまったりするので危険です。
CGソフトは色々ありますが、おすすめはフォトショ(Photoshop)です。
WebサイトのデザインはFireworksなども有名ですが、学習コストがかかるので、
Webサイトにもそれ以外にも使えて一番つぶしが効くフォトショップでOKです。
今年からクラウド契約が始まり、今なら1ヶ月8000円、年間契約なら1ヶ月5000円で
http://www.adobe.com/jp/products/creativecloud.html
お勧めの本はこれ
一から全部自分で作らなくても、素材サイトからダウンロードして加工するなどして手間を省きます。
PC・スマホ・携帯(ガラケー)全部に対応するのは大変なので、
初めはそのサービスを最も使うだろうと思われるどれか1つに絞ります。
PC用サイトならスマホでも最低限アクセスはできるし、携帯は縮小傾向なので優先度低、
スマホは画面サイズがまちまちでタブレット端末が目下発展中、AndroidはブラウザがたくさんあるがChromeに統一されていくかも、
対応する際はCSSを切り替えてレスポンシブレイアウトにするのがお勧めです。
その他、困ったらTwitter社が公開しているブートストラップを使うのもお勧めです。
ブートストラップはcssのフレームワークで、簡単にシャレ乙なデザインに仕上がります。
超便利!Twitter BootstrapでさくさくWeb開発
どうしても自分でイケてるデザインが出来ないと思ったら、友だちに頼んだり、SNSのコミュで募集したり、
デザイン系の大学や専門学校の掲示板にビラを貼らせてもらったりしましょう。制作費が出せればランサーズで募ってもいいかも。
Lancers - 仕事をフリーランスに発注できるクラウドソーシングサービス
僕はたまたまフォトショップの使用経験があったので、ここにかけた時間は30時間ではなく5時間程です(トータル275時間で開発)。
後編はこちら
(記事が長すぎたので前編・中編・後編に分けました)
僕ももう、リストラされそうなとあるおっさんなんですが、先日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
中編はこちら
留年した上に、色々とどん底だったので引きこもりがちになった。
暇だったので、ウェブサービスでも作ろうと思いたった。
どうにか形になったので、誰かの参考になればと思い、その経緯を書いてみる。
■出来上がるまでのあらすじ
ウェブサービスを作るには、プログラムが書けないとダメらしいので勉強する事に。
主にPHP,ruby,pythonなんかがメジャーらしく、最近ではrubyが人気だと知る。
Rubyを勉強しようかと思ったけれど、PHPのほうがオススメとどっかのブログに書いてあったのと教科書がたくさんあったのでPHPを勉強することに。
「よくわかるPHP」みたいな入門書で一ヶ月くらい勉強して、ある程度は書けるようになった。
本格的なウェブサービスを作るにはフレームワークを使えと書いてあったので、cakePHPを勉強した。
開発環境にXAMPPというのをインスコしようとしたけれど、上手く行かず、結局レンタルサーバー上で作る事に。
HTMLとかCSSとか、1から勉強するといつまでも終わらない気がしたので、フリーのテンプレートを探した。
http://cakephp.seesaa.net/article/20616700.html
ここのサイトは無料で商用化だったので、それをちょっとだけ変更して使った。
考えていたウェブサービスはTwitterのつぶやきを自動回収して検索できるというもの。
自動回収するには、プログラムを定期的に動かす必要があり、cronと言うらしい。
LINUXとかの知識が必要と書いてあったが、LINUXなんてわからないし、勉強しようにも空いているパソコンなんてないので焦る。
その後、レンタルサーバーによってはcronの機能を提供しているという情報を得る。
借りていたXサーバーにもその機能はあったので、書いたPHPプログラムを走らせてみたら、無事動いた。
後は、簡単にDBの仕組みと検索とページネーションというのを勉強した。
検索とページネーションを実現するのが、難しくてモチベーションが下がったけれど、プラグインという便利なものがあったのでそれを利用したらなんとかできた。cakePHPとかフレームワークはプラグインが充実していると後で知る。
このまま公開しようかと思ったけれど、セキュリティ関係が怖かったので一通り勉強した。
ゆーすけべーさんのサイトに「安全なWebアプリケーションの作り方」がオススメと書いてあったので、読んで実践した。
■完成
そして、なんとか完成したのが
@ごちです
というウェブサービス。
Twitterから食事の記録が簡単にとれるというウェブサービスです。はっきり言ってウェブサービス(笑)程度の出来ですが、自分としては頑張ったつもりです。
製作期間は一ヶ月くらいです。
ずっと家にいて、試行錯誤していたので作業時間は一日8時間くらいです。
多分、一流のプログラマなら半日もかからないで出来るレベルでしょうが、自分では思ったより早く出来たような気がしています。
これは上にも書いた通り、無料テンプレートを使ったのでほとんど勉強していません。
ただ、テンプレートをいじくるのにも最低限の知識は必要なので「HTML&CSS辞典」みたいなのを買ってきてわからない事はその都度調べていました。
・PHP
『よくわかるPHPの教科書』というので勉強した後、『パーフェクトPHP』で勉強した。
あと、プラグインなんかについてはその都度、グーグル先生に聞いたり、プログラマのブログを参考にさせてもらいました。
こことか、
http://torhamzedd.halteria.com/2012/01/cakephp20search-plugin2.html
こことか、
http://libro.tuyano.com/index2?id=734001(cakePHPに関しては、ここが1番わかりやすかった。個人的に)
『よくわかるPHPの教科書』で最低限のものを勉強した後、グーグル先生を使って独学。
「安全なWebアプリケーションの作り方」を読んで、自分の書いたプログラムをチェックしました。
フレームワークを使えば、(ある程度はフレームワーク側で処理してくれるので)初心者でも比較的簡単にセキュリティ対策ができるようです。
■偉そうにアドバイスなんかしてみる。
アドバイスなんて出来る立場じゃないけど、プログラムは最低限のものが書けて読めれば後は他力本願でなんとかなると思います。
難しそうな事があれば、ライブラリやフレームワークに頼ればなんとかなります。
あとは、集めてきたライブラリなんかを切り貼りすればどうにかなりました。
後はわからない事はグーグル先生か、質問サイトで聞けば教えて貰えます。
ただ、配列や変数などのプログラムの基本的な仕組みを理解しないとOKwavweとかヤフー知恵袋でも解答をもらえないような意味不明なエラーが出ます。
基本的な文法エラーは
http://jp.piliapp.com/php-syntax-check/
こういうサイトでチェックしていました。
エディタやなんかはvimとか高級な奴は多機能過ぎて意味不明だったので「サクラエディタ」を使っていました。
デプロイ(プログラムをウェブ上に公開して使えるように準備することらしいです)も自動化するべきらしいのですが、普通にFFFTPで手動でデプロイしていました。
まったくプログラムがわからない状態から初めて一ヶ月ほどでそれっぽいものが出来ました。
ネットの世界には自分みたいな初心者にもわかりやすく解説してくれている先輩たちがたくさんいます。
最低限のことは勉強する必要がありますが、後はグーグル先生や先輩のサイトに頼れば思ったより早くいろんなものが出来ると思います。
なにより、自分の書いたプログラムが動いているを見るとすごく感動します。
あ、よければ@ごちです使ってやってください。
Controllerが何かというのは、ここでは単にRailsとかCakePHPとかのウェブアプリケーションフレームワークのControllerのつもりです。
ウェブアプリケーションの場合処理の結果に応じて画面にいろいろ表示しないといけないわけですが、その画面表示の部分(表示するViewの選択とか、表示するメッセージの設定とか)はControllerに書かないといけないわけですよね。
そうすると、Modelで何か起こったときにControllerにそのことを通知して、それに応じたViewへの仲介をControllerに書かないといけないのですが、これがめんどくさいわけです。
正常系だけならいいですけど、途中で異常が起こって処理が中断されるなんてところを考えると、その部分を全部Model→Controller→Viewの2段階で書くのが大変に感じてしまって。
Webゲームっていうか、ブラウザ上で動くような奴。PHP(5.3)で突貫工事したので、ペラペラな感じだけど、なんとか公開できて、たまに遊びに来てくれる人がいて(一時はVIPに募集スレも立ったらしい)、何戦かして帰っていくので、とりあえずサーバー代を払った価値くらいはあったかなーという感じ。
で、どういうゲームかっていえば、人狼みたいに「陣営に別れて、決められた目標をクリアするゲーム」です。
『レジスタンス』っていう卓上ゲームというのかな?それを参考にして作りました。
ちょうど開発してから、一ヶ月程度になったので、宣伝をかねて、現状みたいなのをメモ。
一応、前提としては、Pythonだったら、何かしらのシェルプログラムを書いてcronしてるけど、それ以上のことはしていない程度の、技術ワナビー。
ほぼ業務経験なし。継続してスクリプトを開発したのは、今回が始めてという感じ。
単純にPHPで何か作りたいなーと思ったから。一度はPHPを書くべきだなあと思ったりした。それで、何かいい題材ないかなーと思って探してた。
「昔、人狼BBSで遊んだことあるなー、でも同じ人狼のゲームを作っても芸が無いしなー」と考えていたところ、知人と遊んだ『レジスタンス』ってゲームにピンと来て、「こういうゲームをWeb上で遊べたらいいかな。調べたところ、Web上でも人狼っぽいって言われるし、上手くそういう層にアピールできそう」ということで作り始めたのでした。
とはいえ、最初は勢いで書き散らしたので、本当にClassとかまったくなかった。それを徐々に整え直して、なんとかファイル分割できるようになった。それでも、全く足りない。具体的には下のような部分が汚い。
本当はCakePHPとかそういったフレームワークを使えば良かったんだろうけど、「重いんだったら仕方ないしなー」というわけで、フレームワーク無しで使ってみたんだけど、結果として表示部分にやたらと処理が入って醜いったらありゃしない。
表示部分と、実際のシステム部分はわけられるべきだし、フレームワークを使わないまでも、そういう風な機能分割は必要。
で、そういうコードを書いたせいで、下のようなことが起きる。
PHPUnit使ってユニットテストは書いているんだけど、まったく足りない。
全部グリーンにはなるんだけど、実際に動かしてみるとバンバンエラーが出る。
幾つかの関数はテストを先に書いたりしたんだけど、表示部分とかは「ここテスト書きにくいから誤魔化しちゃえー」といって書いたりした。
で、何が起きるかっつーと、リファクタリングするときにガンガン機能が落ちる。そして死ぬ。
さすがに一つのClassが1000行くらいになってきたので「うっわー、これは駄目だわ。分割するべき」って、ゴミみたいなコードに手を入れ始めるんだけど、全く歯が立たない。
とりあえず、既存のテストはグリーンになるけど、どこかで処理がつまづいているという状態でこれは駄目。
「うわ、この部分、テスト書きにくい!」って思った時点で、何かを嗅ぎつけてちゃんとテストに落としておけばよかった、と反省することしきり。
結果として手作業で複数ブラウザ起動して……みたいなことになっちゃう。バグの温存。
CSSとか勉強のために、自分で1から書いているけれども、これは本当にだるい。
知人から、綺麗にコードが書けるから、と薦めてもらったSaSSを使っているけれども、なかなか綺麗にできない。
一応、Twitter BootStrapは知っていたけれども、それに頼るよりは一から書こうと決心して書いたためか、ようわからないし、デザインとしてもこなれていないために気持ち悪いことになっている。
上記のフレームワークについてもそうだけど、流行っているものには、それなりの理由があって、それをわざわざ避けても、結果として、それ以上のものは(素人に毛が生えているくらいでしかない以上)ならないような気がする。
ならばとっととそういうものを使って、さっさと済ませてしまえばよかったなーと思ったりした。
ゲームという性質である以上、どんどん情報量が増えていくために、そういうのを表示しまくっていると、本当に画面がぐちゃぐちゃになる。
セキュリティーには本当手をつけられていない。(徳丸本読めという話になると思う)
(略)
で、本当にボロボロになりながら作ってみて良かったことをメモしておく。
自分は割と現実逃避の為に何かに没頭することがあって、その逃げ先としてプログラミングっていいなあと思ったりした。
あと、自分が書いたコードがヒョコヒョコ頑張っている姿をみていると、すごくかわいくなる。形にもなるし、「こういうものを作ったよ」とも言える。それは単純に楽しい経験。
元々、自分が好きそうなものから題材をピックアップしただけあって、自分が作っているものが、自分が一番愛用しているというのは幸せなことだなと思う。
自分が楽しむためのものだから、自分が一番のユーザーであるし、自分が快適に使いつづけるために改良を続けてる。
人から「こうしたらいいんじゃないの?」というのも勉強になるし、自分がちゃんと&楽に機能を拡張できるように、ちゃんと勉強しようとも思う。そういうのは本当にいい循環。
大抵は、自分が使うから自分だけのものだったので、あまり他の人が使ってくれることを期待していなかったんだけど、今回のは、ときどき遊びに来てくれる人が居る。
例えば、VIPでスレが立ってたり、あるいはニコニコ生放送でプレイ実況を配信してくれたり。
割と「くっだらねー」と思うけど、一人で細々と開発していると、そういう些細なことが嬉しかったりする。
なので、ついついみてしまったり、場合によっては、プレイしているところをいつまでも一緒に徹夜して観戦していたりする。人のプレイしている姿が楽しいというのも、自分が作って良かったなあと思う。
逆に言えば、使ってくれる人がいるからこそ、一ヶ月間開発が続いているようなもので、「ああ、自分のプログラムで楽しんでくれる人が居るんだな」という手応えみたいなものが、モチベーションになっている。
遊んでくれる人が見えるというのは、自分にとっては、モチベーション維持に大切になってる。
だいたい三日坊主で終わっている自分としては、開発が長く続いているほうだと思う。
目指すところは、もっと綺麗なソースコードにして、Githubで公開すること(いや、もうアカウントは既に持っているんだけど、公開するのは凄く恥ずかしい)。