はてなキーワード: XAMPPとは
資格勉強ならば、体系的にまとまった書籍や試験範囲があるので、書籍をとっかかりとして勉強しやすいだろう。しかし、「就職」を前提としたプログラミングの勉強だと、たちまちにハードルがあがる。
言うなれば、週末に趣味でやるレベルではなく、「実務レベル」という到達目標があり、なおかつ肝心な「実務」について一切想像ができない。周りにエンジニアはおらず相談ができない。
ほんまこれやね。
「何を作るのか?」によって、同じプログラミングといっても必要になる知識量が全然違う。
Webプログラミングは簡単な部類なので中学生でも習得できる。独学も可能。これに70万円も学費を出すのは情弱でしかない。
(バイオインフォマティクスとかだと、プログラミング以外の専門知識が大量に必要なので一気に難易度が上がる)
素人向けに「プログラミングすごろく」=分野別のゴール(成果物)に至るまでに揃える必要がある技術要素のリストが必要ですね。
こういう地図をWeb、AI、ゲーム、IoTとか分野ごとに用意してあげればOK
本を読んでも理解できない人は、まずは月額1,000円程度の課金+質問サイトを利用してみたら良い。
話が長くなるから、たった1つだけ秘訣を紹介すると、プログラミング上達のコツは「嘘をつかないこと」
人間と違ってコンピューターは、曖昧な指示や間違った指示を出すとエラーを吐いて、こっちが思った通りに動いてくれない。
人間相手なら、適当な指示や騙すことも可能だけど、コンピューター相手だとハッタリは1ミリも通用しない。
これが大きな特徴=壁になっている。
いろんな人を見て思うことは、嘘つきはデバッグ作業(プログラムの中にある間違いを訂正する作業)がうまくできなくて、結果的に達人プログラマーになれない。
これってプログラミングができる人にとっては当たり前の話でしかないので、特に強調されることがないんだけど、だからこそ素人向けには重要な説明のポイント。
プログラミングって所詮は人間が作り出した技術でしかないので、仕組みは調べれば全部分かるようにできている。言うほど難しいものじゃない。
フロントから見たらそれ以外も流行り廃りがあって、プロジェクト変わるごとに開発に入る前の段階で覚えることとか違う手順を踏まないといけないから追いつくのに必死なんだよ
・xampp 昔はこれだけだったけど、どんどん増えてる気がする。
・ansible
・yarn
READMEをみながらdockerをこの手順で操作したら起動します~とか、ローカル検品それぞれにAWSキーを口伝で確認しながら入れたり、初めて触るdockerだと何やってるかわからないから超怖いの。
たしかに昔はhostsをいじってローカル確認用ドメイン追加したりしたから多少は楽になってるけど、もっとxamppみたいにボタン一発で起動&実ファイルがあるフォルダはこれ、ってなってるのが一番安心だよね。
gitは良いけど。
テクノブレイク.jpという、エロ専用RSSサービスを公開しました。
これは、自分のお気に入りのエロサイトの更新動画を、サイトすべてに訪問して確認しなくてもチェックすることができる、というエロのための時間を効率化させるWebサービスです。
今年文系で大学を卒業し、まったくの未経験で大手IT企業に入社し、研修を経て初めてプログラミングを触ることになりました。
それでも少しはできるようになったため、「ゆとり」でも「未経験」でも「文系」でも自分でwebサービスが作れるんじゃないか?と思い至り、ちょっと力試しということでやってみるか!!!とこのサービスを作りました。
僕は以下のような人間ですが、「仕事」を通じてプログラミングを学びました。もちろん今も勉強中です。
まだまだ働き始めたばかりなので、僕はプログラミング初心者が数ヶ月勉強したという方と同じような人間です。
なので現在上記にあてはまる人でも作ろうと思えば「自分でサービスを作れる」ということがわかっていただけたらと思います。
僕はオナニーをする時は、スマホのアプリで必ずエロ動画を探すのですが、だいたい以下のようなステップを踏むんですよね。
このように1つの動画を見るために、9つのステップを踏むんです。
もう何がいやだって、(7)ですよ。これが面倒くさい。
それから(2)のブックマークからエロサイトを開くことも面倒じゃないですか。
だって(1)〜(9)をサイトごとにやらないといけないわけですから。
これらを簡単にすることができないもんかなと。
だから、毎回だらだら開発を進めると時間がかかり、最終的にモチベーションが下がり、何もしなくなってしまうんです。
プログラムだけじゃありません。デザインを考えたり、仕組みを考えたりしないといけません。
あとで、このプログラムじゃ、仕組みじゃダメだったな、ってわかり手直しをすることだってあります。
すべてをそこそこ、80%におさめてください。
最初はすべて80%です。
ここで言う100%とは、あなたの考える理想を100%叶える、という意味です。
そういった意味では100%はありませんが、あなたにとっての理想の100%はありますよね。
走りながら、目指してください。
早くリリースすればするほど、ユーザーからの声を早く拾うことができます。
ユーザーの声こそ、そのサービスの目指すべき姿のことが多いです。
80%完成してリリースすればいいのに、残りの20%を埋めようとあなたが頑張ったとします。
もしかしたらその自分勝手な20%は、ユーザーに取っては不必要な20%かもしれませんよね。
なぜならドメイン代を支払ってるんですから。その金を無駄にしたくないですよね。
で、サーバーは後、というのは開発が無駄に3ヶ月かかったとすると、その3ヶ月分のサーバー代金が無駄ですよね。
実サーバーテストは、テスト環境でテストを終えてからやればいいかなと思ってます。
まずどんなコンセプトか、どんな機能が必要か、どんなUIにすべきかという目標をたてましょう。
なぜこうするかというと、常に自分が何をすべきかが明確になるからです。
なにも決めずにやろうとすると、
なんてことになります。
だから、頑張りすぎなくていいんです。
Webスクレイピングとは、サイトのコンテンツから欲しいデータを取得する方法です。
僕がどうやってRSSサービスを作ったかというと、このwebスクレイピングのおかげなんです。
広告、注目動画、アーカイブなどのそのサイトのコンテンツははじきます。
で、その主要コンテンツから、記事の画像とタイトル、URLをゲットしてきます。
やり方としては、主要コンテンツからそのサイト内部のリンクが貼られたimgタグを探し出します。
そして、そのリンクのタイトルまたは記事のタイトルを取得します。
こうすることで、そのサイトの更新一覧から更新記事のURLとタイトル、画像がわかります。
BootstrapはウェブサイトやWebアプリケーションを作成するフリーソフトウェアツール集である。 タイポグラフィ、フォーム、ボタン、ナビゲーション、その他構成要素やJavaScript用拡張などがHTML及びCSSベースのデザインテンプレートとして用意されている。
これを利用すると、基本的なWebサイトのデザイン(htmlとcss)が手に入れることができ、そのまま利用できたりします。
デザインを作る上で、非常に助かります。なぜなら最初からすべて自分でコーディングする必要がないからです。
僕は以下の時間に開発をしてました
だと思います。
どうしているかというと、Readdleの「Downloads」というスマホアプリを利用しています。
これは写真やファイルをクラウド上に保存したり、Dropboxや外部サーバーとファイル共有をすることができるアプリです。
画面は小さくてストレスがかなーーーりありますが、僕は外出中はこれでプログラミングをしています。
通勤中にこれでプログラミングをし、降車した後の徒歩で続きのプログラミングをキリが良いところまでする、という感じです。
また、歩きながらでもテストはできると思うので、歩きながらプログラミングは難しいという方はテストだけでもやってみはどうでしょうか。
Webサービス俺もやってみようかなーと少しでも思ってくださった方へ、
僕は開発をしながら、本当にやりたいことがあったら、時間はいくらでもつくりだせるなって感じました。
歩いてるときだって、トイレにいるときだって、電車にいるときだって、いつだって今の時代はできるんですよ。
それだけ現代って便利で、生きやすくて、なんでも挑戦しやすい環境のある時代なんです。
恐らく、少し前の時代、スマホが出る前の時代では歩きながらプログラミングなんて考えられないと思います。
そう考えると数年前と今って格段に何かを始めることができやすい時代なんですよ。
それでも挑戦しないって、もったいないねーなーって思ったんですよね。
だから、なにか本当にやってやりたい!!!ってことがあれば、まず一歩を踏み出してみてください。
ググれば、一発ですよ。
こんなことGoogleが日本に来るまでは考えられないことですよ。
だって、昔の検索エンジンって十分に欲しい情報が手に入らなかったですもんね。
「MacはUnix互換」とかMacユーザはいうが、Linuxユーザからするとディストリビューションが違うので正直使いにくい。別に調べりゃ使えるしLinuxユーザというのは黙って調べる人たちなので文句を言わないだけで、好んでMacをUnixのように使おうとは思わない。GUIがクソだが便利なLinuxユーザからすればMacはGUIがすげぇ糞なディストリビューションだ。情報少ないし。
なお、これは他のLinuxについても言えることで、Ubuntu使いからするとRedhat系は使いにくいし、Redhat系からするとUbuntuはコマンドがわからんことが多々あるので若干めんどくさい。もちろん他のディストリビューションも同じ。BSDとかあんまり使いたくない。まぁやりゃできるのだが、めんどくさいを極めた結果としてコマンドライン使ってるのに、調べるのはもっとめんどくさい。あと変なエラーが出ると大変なのでPCライトユーザにはまったくおすすめしない。
最近はWindowは一発ポンで入ることが増えてきたので便利だと思う。Cygwin使うよりはVM使ったほうが楽でねーかと個人的には思うが。PHPなどはXamppがあるのでむしろWindowsのほうが楽。文字コードが面倒だが。
なおLinuxは常に糞めんどくさい。すでに入ってるパッケージのバージョンが古いが、ディストリビューションによっては上げるのに四苦八苦とかふつうにある。サーバー関連のプログラム以外はいまどきWindowsとかMacとかのほうが断然楽だ。
Windowsのコマンドはよくわからんが、最近は情報が多いので特に…あと下手にコマンドいじるよりはフリーウェアを探してくれば良いと思う。
Linuxは慣れてるディストリビューションならCUIだけで十分。慣れてない奴はめんどくさい。
Windowsも良いとは言わないが、不便はない。細めのフォントが好みなのでむしろWindowsのほうが見やすい。
そりゃiOSアプリを作るならXCodeしかないし、XCodeは悪く無いと思うが、C/C++とか書く時は使いにくい。
WindowsアプリつくるならVisualStudioしかないし、最近のVSは使いやすいので特に文句はない。C#も良い言語だと思いますよ。すごくよく考えられてると思うし。
Webアプリケーション系もnetbeansなんかはWindowsのほうが軽い印象があるなぁ。ただC++はnetbeansだと補完機能が弱めになる気がする。まぁそもそもWindows上でMSのライブラリ使わないC++とか書きたくないですね。色々違うし。
LinuxのIDEはEclipse一択みたいな感じになっているが、正直Javaはいいが、それ以外は微妙。と言うか糞重い。netbeansが個人的には好きだが、前述のとおり補完機能がEclipseより弱いかんじがするのであんまり。Rubyはすっげぇ使いやすかった。C++で一番軽いIDEはQtかな。Vim?いうほどいいかね…まぁEmacs派なんですけどね
そりゃiOS開発するならMacしかないだろう。Windowsアプリケーション開発するならWindows機使うしかないのと同じでな!!!
LinuxでGUIのあるアプリケーション作るとか、考えたくないな!つうかGUIつかいたくないからLinux使ってんだよ!
Macは選択肢が少なすぎる。金だせばなんでもできるが、カネがないとストレスが溜まる。あとかねかければかけるほど周辺機器もグレードアップしなきゃいけなくなる感じがするのだが…正直Unix系のマインドに反しすぎていると思う。
あといまおれのMacbookProはバッテリが膨らんできてパッドが使えなくなったんだが、Mac対応のマウスがないのでコピペすらできない。キーボードも純正のやつ使いにくくね?プログラマとしてはHome,Endあたりはキー一個で対応して欲しいですし、Backspaceキーがないのは意味がわかりません。deleteキーって書いてるけどそれBackspaceやん、ほんとのdeleteどこいった!!!とにかくキーボードがひどいのでMac使ってプログラミングしようという意欲がおこらない。むしろ俺がMac嫌いな理由の一番がそれですね!
しらねぇがLinuxで音楽制作しようとする奴はアホだと思う。
が、若干コントラストが強目にでるか?という気がする。
Mac以外のディスプレイを自分で細かくカスタマイズしたほうが実際にあってる場合もあり、なんとも言えない。
ちょちょっといじる素人用フリーウェアが貧弱すぎて辛い。いやらしい成金に札束で顔はたかれているような気持ちになる。
いいわすれたがLinuxでデザインやデジタル現像しようっつうやつはアホだね。Ubuntuならあるのかなぁ…でもさいきんUbuntu重すぎて…
しらん。
MSOfficeは使いやすい。Officeを貶してる奴はだいたいOfficeを使いこなしていない。
LibreOfficeとか一昔前のMSOfficeじゃないですかーLinuxだとそれしか選択しないけど使いたくねぇ…それならGoogleDriveのをつかうわ…一太郎とか悪い冗談はやめていただきたい。
ただ、Latexを使う場合はLinuxは使い良いとおもう。もちろんWindowsならLatex用のエディタあるんですけども!
WindowsとMacで特に違いはないが、あえていうならMacはフリーウェアが少ない。
Linuxをホームユースで使いたがる人がいたら止めたいが、最近はWebだけでも色々できちゃうので、別段問題ない気がしてきた。
9. Macは性能に対してコストパフォーマンスが高い(……かも)
スペック対価格を比較すると、CPUやメモリやらのコストパフォーマンスが悪くない、と思います。
10年前は「Macは高くつく」という印象だったものが、ここ5年で「Macって割安」という印象に変換したと記憶しています。
むしろ使ったらMacって割高…って思うと思うけどなぁ。最近のWindows機は安いしデスクトップなんて価格破壊完全に起こしてるし、使い始めてからもほとんどお金がかからない。情報も多いし。なんか情報が全体的に五年くらい古い感じがしますね。もしかして2009年ごろからいらした方が書いたのでしょうか。
何をもって"無駄"と判断するか、非常に難しい論点ではありますが。
へんてこなアザラシのマスコットがデスクトップを泳ぎ出したり、なんとも言えないモッサリ感の明るさ調整ソフトが突如画面に出現したり。なんて事はありません。
常駐ソフトウェアはWindowsは決して多くないし、あるならメーカプリインストールアプリじゃねぇのっていう。
明るさ調整ソフトってそれはディスプレイのやつだろ?Windowsのせいじゃねぇよ。むしろMacはそういうの調整するときに探すのが大変。いや、あかるさ調整くらいならキーボードでできるけどさ…
常駐ソフト気にするならLinuxが一番管理できると思いますし、LinuxにくらべればMacもWindowsも似たようなもんです。
先日、HTMLを学び始めてから約1か月でWebサービスをリリースしました。
(HTMLとCSSを学び始めたのが5月11日、リリースが6月15日でした)。
週3くらいでアルバイトをするフリーターのような生活をしております。
【つくったサービス】
つくったWebさーびすは「せつな」という"過去を水に流す"ことができるWebサービスです。
(http://setsuna.lolipop.jp/liverty/)
時間がたてばあなたの投稿は川に流されるようにして消えてしまいます。
普段Facebookには書けないようなことも自由に思い綴ってみてください。
それが前に進むきっかけとなるかもしれません。
Twitter・2ch・はてな匿名ダイアリーをあわせたような感じでしょうか。
いろいろあって、
「好きなことをして暮らしていきたい」という浅い考えを達成しないと死んでしまうと思った僕は、
とりあえずの目標として「起業して稼ぐ」ことを目指し、なんだかんだやっていました。
しかし、目に見えるような結果はなかなか出ず、どうすればいいのか行き詰ってしまっていました。
そんなとき、たまたまWebの知識を持っている友人に「やってみたら?」と言われ、
HTMLってなに??レベルからとりあえずHTML・CSSフロントコーディングの勉強を始めてみたのがきっかけです。
始めてみると、面白すぎて衝撃をうけました。
シンプルな表記でほぼ無限に物創りができ、用意されている道具を組み合わせて行くだけにもかかわらず、決して解明されることのない奥深さ。
このパズルでただ遊んでさえいれば、でかいサービスをつくることだってできるし、
エンジニアになれば遊んでいるだけでお金をもらえるかもしれない、と妄想をしたりもしました。
これが僕のプラグラミングの第一歩です。
「好きなこと」が広がることは、「好きなことをして暮らす」ことに近づくと思い、とにかくやってみようと思いました。
この時点では、1か月後にサービスをつくろうとかは全く考えていませんでした。
【やったこと】
わからないところはググり、それでもわからなかったら聞くというスタンスです。
与えられた課題は以下です。
② このサイト(http://liverty.jp/)のヘッダーをつくる
③ このサイト(http://bokutsuka.me/)のフッターをつくる
④ sercusをつくる(http://sercus.jp/)
⑤ nanapiをつくる(http://nanapi.jp/)
⑥ skillshareをつくる(http://www.skillshare.com/)
⑦ 要素を検証せずにページをつくる
これを2週間くらいで終わらせました。
最初は辛かったですが、慣れて行くにつれてスピードは速くなり、
最終的に半日あれば一つのページを完成させるくらいには上達したと思います。
HTMLの基本がおわったくらいから、同時進行でPHPを学び始めました。
これはほぼ独力でやったので、HTMLよりも神経を使いました。
参考にしたのは、
『いきなりはじめるPHP』
『PHPレッスンブック』
http://www.amazon.co.jp/%E6%9C%AC/dp/4883377849
です。
どの本もとても参考になりましたが、初心者なら、『いきなりはじめるPHP』を絶対お勧めします。
文字化けなどの対策が1からわかりやすく書いてあり、つまづきが激減するでしょう。
馬鹿なので1冊の本だと情報を拾い読むことができず、各本に書いてある分かりやすい部分をググりつつ、噛み砕きつつ、なんとか勉強を進めました。
MySQLについては、ほぼPHPとセットのようなもので、PHPの本をみると基礎的なことはざっと勉強することができます。
ローカルサーバーは、Windowなので、Xamppを使いました。
最初の設定にかなり手間取り、知り合いのプログラマーに助けてもらわなかったらPHPを書くことすらなく終わっていたと思います
(結局ローカルホストにアクセスできていなかったという初歩的なミスでした)。
PHPは、本に書いてあった実践で使えそうな課題をこなしながら、構文を覚えていきました。
最終的にサービスのもととなった課題は、「PHPでつくるお問い合わせフォーム」と、「簡単掲示板」です。
記事投稿の仕方や、簡単なデータベースとの連携、繰り返しの構文など、
掲示板がPHPの基本を覚えるのに最も適した課題だといわれている理由がわかったような気がしました。
【3:サーバー】
特に何も考えずに選んだのですが、どうやら使い方がわかりやすいのはここのようで、ロリポFTPにはいつも助けられています。
もともと作りたいサービスが他にあったのですが、
その前に、いま持っている技術でサービスをつくろうと友人のプラグラマと話していて、6月中に何かを作ろうとは思っていました。
「多くの機能はつけられないけど、逆に、投稿を100件だけにすれば自分でもそれっぽいサービスつくれるんじゃね??」
と、今あるスキルだけで出来る、機能を絞ったサービスを思い付き、「せつな(http://setsuna.lolipop.jp/liverty/)」をつくろうと決めました。
1か月でつくったといっても、たいした技術は使っておらず、できることを組み合わせて面白いことをやろうとした結果こうなったという感じです。
【つくった感想】
1:プログラミングが難しそうに見えるのは、最初の「とっかかり」、つまり、設定や文字化け対策などに異様にてこずるからだと思います。
そこを何とか突破さえしてしまえば、あとは、成長が自分でも目に見えてくるので、楽しくなってくると思います。最初が1番難しいです。
2:リリースをして、拡散されていくときの承認欲求が満たされる感じは半端ないと感じました。
また、バグがいくつか見つかるなど、大きなサービスをつくるとなると本当に大変なのだろうな、と思いました。
3:次に同じものをつくる時は、おそらく1日で出来ると思うので、次はまた別のスキルを使って別のものをつくろうと考えています。
”発信できるパズル”をすることができるのは超わくわくします。
【今後について】
先日「飲み会版ソーシャルランチをつくってみた」を書いた者です。
上の記事では、僕がつくった「飲活」というサービスの説明が大半で、どうやってつくったのかとか説明が少なかったので、今回はそれについて書いてみようかと思います。
僕は「「飲活」」を作るまでも、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アプリなども会社では開発しています。
こんなやつでもできるので、諦めなければできます。
そんで、とても楽しいです。
本当につくりたいものがあるのなら、一度やってみる価値はありますよ。
明記してありますが、僕は初心者ではありません。初心者の方が勉強がてらサービスを作る一つのやり方というか流れを紹介したいと思って記事を書きました。
僕自身、なにもわからずプログラミングをはじめたときは、どう勉強したらいいかわからず辛い思いをしました。
素人がわけわからずプログラミングを始めると挫折しやすいと思いまして、僕が素人の時を振り返り、そして勉強してきた経験を使って、素人の方にサービスをつくっていく流れを書いたら素人の方も挫折しにくいかと思いました。
なので、僕は初心者ではありませんが経験者として素人がサービスをつくっていく方法を書きました。
また、飲活をつくった実際の流れと書きましたが、飲活をつくった流れを利用して、初心者がサービスをつくる流れを説明したかったんです。
しかしプログラミングなどの情報系らしい活動をほとんどしてこなかった。というかサークルも一年のおわりにやめてしまったし、バイトもしたことがない。準引きこもりのような状態なのかもしれない。
工学部だったが情報系ではなかったし、バイトもしていたけれど、二年の夏にサークルは人間関係でやめた。人前で話するのが苦手だったので塾講をやっていたし、割がいいのでカテキョやったりしたが、結局今身になっているかというとそれほどなっていない。別になにもやってなくてもいいんでないの。
二年次の夏休みあたりから、今いる環境を生かせそうなものを考えた結果、多少興味の沸いたいくつかの情報系の技術分野の参考書で勉強してみようとしてみたものの、難しくてほとんど分からない。というか、技術書の独学の仕方が未だによくわからない。
大学一、二年の基礎的な数学は特に工学系、情報系の人間にとってはなにがやりたいのかよくわからんのでつまらない。ただまぁ損ではないのでこれから必要に迫られたらどの教科書を見ればいいかくらい頭のなかにインプットしておけばいいんでなかろうか。技術系の本だが、難しいの背伸びして読んでもたぶんつまらん(わからないから)。自己啓発系のコードコンプリートやビューティフルコードなんかも多分つまらんと思う(必要性がわからないから)。文法書もやめたほうがいい(あれは字引だから)。
君が買うべきなのは「10日でできるアンドロイドアプリ」(あるのかどうかしらんが)みたいな本。ほんでクソみたいなアプリを作ってニヤニヤしながら公開すればいい。たぶん誰も使ってくれないが、自己満足にはなる。Wordpressなんかで配布ページを構築してみれば何日かは潰れるだろう。本にはないだろうが、そのコードを使ってテストを書こう。テストを書くとだいぶいろんなことが分かるし、何よりテストはすぐに動く。頭も使う。たぶん楽しいはず。
ここで大事なのは、世の中には「増田?何ですかっていうか誰?」みたいな人があふれているということ。増田を知っててブックマークするような人でも実際に手を動かす人なんて少数だということ。クソみたいなアプリでも作る人なんて滅多にいない。
Wordpressをうごかすのなんて10分あればできる。だが、世の中にはそれすらやらない人がいる。Wordpressってなに?って人はもっと多い。会社に入ればxamppでlampp環境をすぐに作れるやつがいるだけで(ウェブ系でなければ)じゃぁとりあえず開発環境作っといてってたのめる。これはアドバンテージだ。
おれが学生だった頃はまだブログが出るかでないかの頃で猫も杓子もAJAXやCSSの時代だった。俺はそれで過去問配布サイトを作ったが意外に未だに後輩に利用されているようだ。だがどう見てもクソ。UIもクソ。たまたま過去問配布してたからひとがきてただけで「Welcome My Page」と何が違うのかと言われればなにも違わない。それでも作る人は殆どいない。
世の中なんてそんなもんなのだ。
モチベーションを維持することが出来ない。継続的に他者との交流を得られる場所を見つけられればそれで何とかなるのかもしれない。
別に寝食忘れて一年、二年と継続する必要はない。ちょっと気が向いて二、三日遊んで、それで飽きて放り出したっていいじゃないか。
必要に迫られれば大抵のことはできる。増田だってたぶん二十年くらい必要に迫られたり、できて当然だと思わされて、なんとなく出来るようになったことは多いはずだ。だらだらできるのなんて今のうちだけなんだから、ゲームしたり漫画読んだり、一人寂しく旅に出たり、海外に行って怖い目に遭ったり徹夜したり病気になったりするほうがずっとこれからの人生の役に立つ。
プログラミング等のアルバイトを始められればいいのかもしれない。しかしアルバイト面接に持っていけるような、今までの成果物などもとくに無い。
Web系でなくていいなら、アルバイトはそれなりにある。学生課とかいけば斡旋されていることもよくあるし、まぁそれにプログラミングなんて会社入ればどうにかできるようになるので(今後研究などでもガンガン組むだろうし)、別のことすればいいんじゃないの。工場で働いてみるとか。
明確な目標を立てて生きてる人間なんてほんの一握りだよ。それにまだ若いんだから別にいいじゃん。時間はたくさんあるんだし。
なにか自分に人並みに適正のあるものを見つけて、それを学び、モチベーションを維持できる環境を見つけたい、それが大学院なのであれば進学したい、そういうぼんやりとした希望だけが浮かぶ。学部一年のころから分かっていたそこから進歩していない。
復習は大事なのでしておいたほうがいい。どうせ図書館とかで勉強しているなら、なんとなくその辺の本をとってきてななめ読みするとか、洋書の教科書で復習するとかおすすめ。
しかしずっと一人でいると、数学など苦手な勉強の集中力はどんどん落ちるのを感じる。twitterやネットサーフィンに逃げてしまう。一日の終わりには周りとの差は開いていく一方なのではないかと不安になる。
そりゃみんなそうだ。暇つぶしは逃げ道なのだから、あればみんな逃げる。でも別段周りとの差はそんなに開いてない。気にすんな。気に病みすぎて自分を壊さないように気をつけてください。
だとすると、なおさら余計に周りに行動力のあるキラッキラした人が多くて焦るとは思うしそれに目を奪われがちだが、気にすんな。まぁ留学したいとか考えているようならもうちょっと頑張ったほうがいいとは思うが。
秘密のブックマーク、略して「秘ブ」というソーシャルブックマークサービスを作ってみました。
今は風俗嬢やってるんですが、(悲しいことに)時間があったっていうのと、
秘ブ.jp
(アダルト専用のソーシャルブックマークサービス)
http://anond.hatelabo.jp/20101203150748
・Rails3 と jQuery で、真面目にオシャレなエロサイトをつくってみました
私は、早く自立できるようにと高専を出て、田舎から東京に移り住み、事務として働いていた。
この時点ではエクセルとかワードとかは使える、マクロもちょっと組める程度のレベル。
自立したかったのは父親が生活費をパチンコとか女に溶かすような輩だったため。
私が自立したあと、両親は無事離婚。激務で薄給、母親と離れて暮らして寂しくても頑張っていた。
鬱病はつらい。何が辛いって、本人も辛いんだろうけど、荒んだ部屋の中で横になって息を潜めている母親の姿を見るのがきつい。
いつでも母親の側に駆けつけることができるように、お金と時間に余裕が欲しかった。
でもねー、全く稼げないwww 笑っちゃうくらい。
大衆店にいるんだけど、女の子もお店も多くて、私より若くて可愛い子がわんさかいる。
お客さんがつかないと収入0なんだよね。
店長やお店のお姉さんがマットや椅子を覚えな、ってアドバイスはくれるんだけど、
その頃教えてくれる先生がたまたまいなかった。(今は別の店に修行にいったからバッチリできるけど)
仕方ないからようつべとか動画サイトでソープのお仕事系の作品を見まくったわけ。
(余談ですがマ◯ティ夫人ってお店のマット技一覧のページはすごいよ!)
お客さんつかないから時間がすんごいあって、待機室でずーっと見てた。
で、マットの動画とか、ボディ洗いの動画探すんだけど、なかなか見つからない。
で、そんなことをしてるうちに思ったんだけど、エロサイトやエロ動画、
果てはマニアックな趣味の情報を共有できるサイトがあったら便利じゃないかな?と。
数少なく接客したお客さんで、わざわざブーツ持参で、顔面を踏みつけてくれ、って人がいたんだけど、
でも日本中を探したら、同じ趣味や、近い嗜好の人がいるんじゃないかな?って。
時間は私自身が病むほどあるし、そんなわけで制作に取り組みました、秘密のソーシャルブックマーク、
略して「秘ブ」(「秘部」とかけてあったり)
吉原の泡姫たちは、タクシー通勤する人が多いんだけど、私は三ノ輪の駅から歩いて通ってた。
元彼に借りたプログラムの本などどっさり持って。めっちゃ重いw
待機室でひたすら落ち込みながら金勘定するより、母親の心配をするより、何か生産的なことを考えていたかったんだよね。
この一年でかなり勉強して、ようやく公開できるレベルに達したかなとおもいます。
みんなが来てくれるかはわかんないけど、まあ来てほしいなと思う。
さて、湿っぽい話はここらへんにして、どうやって作っていったかを話しましょう。
・Semantic Scuttle
http://semanticscuttle.sourceforge.net/
・HeartRails Capture
http://capture.heartrails.com/
・Twitter Bootstrap
http://twitter.github.com/bootstrap/
・Bootswatch
サイトの構成なんかも書こうと思ったけど、セキュリティ的に良くないって聞いたし、
はてな民のみなさんに突っつかれるのが怖いので少しだけ(^_^;)
まあ違う意味で突っつかれるのは慣れてるんだけどw
簡単に書いとくと、HTML、CSS、PHP、MySql、javascriptくらい…なのかな?
Semantic Scuttleが裏でやってることはあまり詳しく分からないです。
どうやらまずはHTMLとCSSをやれということらしいので、そこから始めた。
使ったのはこれ。
メモ帳で簡単なWebページを作りながらだと結構スッと頭に入ってくる。
逆に言うと、読んでるだけだと全然あとで思い出せない。
「Ctrl+U」でページのソースを一発で見れることを知り、参考のために色んなサイトのソースを見まくった。
全部頭に入ったわけじゃないけど、ここまでで最低限、検索ワードが思いつくぐらいにはなる。
ここまでで大体一ヶ月くらい。
もちろんHTMLとCSSだけではてブ的なものが作れるわけはない。
っていうかほぼ路頭に迷った感じで「はてブ的なものを作る方法」をググりまくった。
結果「Semantic Scuttle」なるものでそれに近いサービスを作れることが判明。
「Semantic Scuttle」を調べてみると、どうやらPHPとMySQLで動いているらしい。
でもダウンロードしてみて中身を覗いてみても何が何やらさっぱり。
とりあえず2つ一緒に覚えられそうだと思って元彼にこの本を借りてきた。
XAMPPのインストールをして、PHP書いて、MySQLと接続して…
ふむふむ、書いてあるとおりに作ったのは作ったけど、あんまりわからん。というのが感想。
ちなみにPHPを書き始めるのにあたって、eclipseという統合開発環境(意味がいまいちわかってないけど)を紹介され、インストール。
コード書きやすすぎ、色分け便利すぎワロタwwwと思ったのを覚えている。
設定はめんどくさかったけどね。
eclipseについて詳しくは→http://www.javadrive.jp/eclipse3/
しかたない、まずはPHPだけでも頑張るかと思い、次に借りたのがこの本。
ひと通りサーッと読んで大体どんなことが書いてあるのかを頭に入れてから、
必要そうなところを詳しく読んで作ってみてっていうやり方をした。
MySQLのことにも触れてあるので、そっちの復習もできた。
クラスについても薄らぼんやりわかってきて、動くものを作れるレベルには上達。
この辺りは、サボったり迷ったり環境整えたりで2ヶ月くらいかかったかな。
さて、これでいけるだろうと意気込んで長らく保存しておいたSemantic Scuttleのソースコードを見る。
…わからん。
挫折。。
どうすればいいのってことで、元彼にヘルプ。
「MVCってのがあって、モデルとビューとコントロールってのが多分…」
「とりあえずindex.phpから見て行ったらいいんじゃないかな?」
ふーん。今でもMVCとかってのはほとんど理解してないけど、最後のは役に立った。
ファイル名やら関数名でプロジェクト内を検索しまくって、大体の構造を把握。
と簡単に書いてみたものの、この作業には2ヶ月ほど費やした。
構造はなんとなくわかったものの、実際触ってみると動かなくなるケースが多数。
ひと通りの勉強は一応したけど、実地のカスタマイズは非常に難しい。
他に使ってる人おらんのかなと思い探してみるとこんなものが。
・ソーシャルブックマークソフトScuttleの強化版Semantic Scuttleを導入してみる
http://tukaikta.blog135.fc2.com/blog-entry-70.html
ありがたくカスタマイズに利用させてもらう。ホント感謝しまくりです。
でも上のURLに書いてあること以外にもカスタマイズしたいところがあった。
1.ブクマ数を記録したい
1はだいぶ考えたんだけど、DBをちょっといじくって、フィールドを追加してそこに記録することにした。
2はPHPとDBをあれこれして、ド汚いコードながらも根性で実装。
3で再びの挫折。なぜならjavascriptを使わなければならないことが判明したから。
まだ勉強しなきゃいけないのか…とは思ったが、初心を思い出し、頑張ることを決意。
おらあああ!なんかjavascriptの本貸せやぁああああ!と丁寧に元彼に頼んでみたところこの本が手に入った。
JavaScript 第5版
うん、馬鹿じゃないの。こんなん理解できないよ。こっちは時間がないんだよ!
もう一冊なんか初心者向けを貸せ!
マンガでわかるJavaScript
読了したあと、ネットと前者の書籍で必要なところだけ調べることにした。
で、調べていったところ、4については
scriptタグでtypeを"text/javascript"にしてもPHPを読み込めるということがわかり、PHPで強引に表示させることにした。
3はもともとSemantic Scuttleにあったブックマークレットをちょこっと編集して解決。
これで大体1ヶ月半くらい。
一応CSSは勉強したけど、美術的センスのない事どこかのはいだしょうこお姉さんレベル。
でもデフォルトのデザインがダサいってことくらいは、かろうじてわかる。
あらん限りの人脈を使ってデザイナーさんを探したところ、やっとのことで0人見つかった。
どうも調べたところ、TwitterのBootStrapってのがいいらしい。
CSSを見てみるが、長い! 「Bootstrap 使い方」でググる。
よくわからないながらも↓とか見ながら手探りでコードを書いていく。
Twitter Bootstrapの使い方
http://greenapple-room.com/conc/user/TwitterBootstrap/bootstrap.html
これでとりあえず基本的なことがひと通りわかり、ちょっとだけよくなった。
だいぶ前にやったCSSを思い出すのが大変だった。
でもタイトル周りとかが全然ダサイまま。普通に自分で見てて萎えるので、さらに調べる。
見つかったのが↓
Bootswatch
あ、なんかこれいいなと思って「Slate」っていうテーマをいじくりいじくり、色々試しながらタイトル周りとかを整理。
まあこんな感じで大体できましたー!
全部で約8ヶ月…長かった…。憑かれたぜパトラッシュ…
・ググる ググる ググる!とりあえずなんでもググってみることが一番大事だとわかった。
誰かが同じようなことをしてることも多々あるし、少なくともヒントくらいは見つけられる。
・助けてくれる人がいるとかなり楽
ググっても出てこない情報は厳然としてある。そういう時は、経験者にアドバイスをいただく。
Yahoo知恵袋でもいいし、知人でもなんでも。ネットの優しい人達に感謝するようになった。
お店の掲示板では叩かれっぱなしだけどw
・プログラマーすごい
今まで何気なく見てたホームページだけど、膨大な技術の結晶なんだなと思った。
その端っこに触れただけの私のようなものでもそう感じるんだから、それはそれは深遠な世界なのでしょう。
せっかく作ったので、使ってやって下さい。
詳しくは↓をご覧あれ。
http://hibu.jp/bookmarkbutton.php
このサービスは一応「秘密の」もんなので、普段使ってるSNSのユーザー名とか使わないほうがいいんではないかと思います。
ブラウザに直接入力でも簡単にいけるようにドメインはまんま「hibu.jp」にしておいたので、
ブラウザにブクマするのもはばかられる方はダイレクトに飛んできて下さい。
スマホ版作りたいなぁ…
ちなみに、勉強したおかげか今現在はそこそこ本職のほうで稼げてはいます。
もし万が一このサイトが成功したりしたら風俗あがることも考えられるのかなぁ…
でも吉原にも遊びに来てくれると嬉しいな。
怖いところじゃないから、気軽にね。
自動でマッチングしてチャット相手を見つけてくれるマッチングチャットや、すぐにチャット相手を見つけてくれるフリーチャット、コミュニティチャット、フレンドチャットなど、とにかくチャットがメインの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
サイト作ったよー! - はてコま! | はてブコメまとめ B!
このサイト作っていろいろ確認とかして「さーて公開」って思った矢先に自分の作ったサイトからこんな記事見つけて「うひゃー!」ってなりましたw
はてなブックマークのトップページって、正直なんか飽きちゃったし、スクロールせずに表示できるのが数エントリーだけで、やたらヘッダがでかかったり、広告がでかかったり、欲しい情報がほんのちょっとしか表示されないし、気のせいかエロいサイトのサムネイルが表示されなかったり、デザインもまじめくさいし、改善したらもっともっと使いやすくシャレオツになるし、アクセスも稼げるんじゃないのって思います。
私も自分のサイトを作ろうと思った経緯はこの方とほぼ同じです。。公式って少し見辛いって思っていました。
そんなときにはてブ1000users超え記事アンテナ(´・ω・)|トップページを見つけて「あぁ自分で作るか」ってなりました。
週6フリーターさんがいろいろと使用したものを紹介してくれて、あまり技術のない自分でも作ることができました!
この場をお借りして、お礼を申し上げます。ありがとうございます!
では、恒例化している感じがする、サイト作成にあたってのご報告です。
使い方はいたって簡単。タグを選ぶか検索すると最近のはてブ100以上の記事があがってきます。
最初、サイトを作るにあたって「フリーターさんのものと差別化したいなぁ」と思ったので、私は"はてブエントリーのコメント"を"見る"ものに仕上げようと思いました。
なんでコメントを見たいと思ったかという原因はこちらの記事です。
この記事を読んでる人にも感じた人がいると思うのですが、タイトルを読んで「?」となりませんか?
記事を読み進めていくと更に「NSLog」が問題なのか??と混乱しませんか?
最初のタイトルの印象が強すぎて、はてブのコメントを読んでやっと正確に判断できました。
なので、コメントをもうちょい読みたいなーと思い、こういったサイトにしました。
それと、フリーターさんのとこに書いてあるものを参考にさせてもらってます。
本当にありがとうございます。
Webサービスを作ったことがなかったのですが、HTMLやCSSは知っていましたので、ほとんどVimでコーディングし、ブラウザで確認するという普通の作業をしていました。
phpは勉強したことがなかったので、わからないことがあれば都度ネットで検索していました。
JavaScriptでFeedを取得したり、PHPを使ってAPIからJSONを取得など、ファイルがまとまっていない感があります。
実は、bootstrapで作ったナビゲーションバーのドロップボタンがスマフォだと押せないんですよね。。
こういう問題があるときにフレームワークを使ったのを後悔しますよね。
実に手軽に使えるbootstrapですが、なんとなく使うのはオススメしません。
ネット上には他にグリッドシステムだけや、違う素材を配布しているサイトがあるので、俺俺フレームワークを作ることをオススメです。(でも、まとまっているという観点でbootstrapは使いたいですよね。)
サーバーはさくらインターネットのホスティングサーバーを使用しています。
初めて、こういったサービスを作ったのですが、小さい微調整に非常に時間がかかりますね。
見難い、見易いを考えながらコードを変更して、ブラウザで確認して・・・を繰り返すのは時間がもったいないですね。どなたかいいノウハウをお持ちではないでしょうか?
みなさんも、こう立て続けにはてな関連のサービスが立ち上がると自分でも何か作りたくなりますよね。
思ったら作って便利な世の中にしましょう!えいえいおー!