「MVC」を含む日記 RSS

はてなキーワード: MVCとは

2013-06-08

アマゾン商品をいい感じに検索できる「あまけん」をリリースしました

ますだでリリース報告すると、いいことあるかもよと聞いて、やってきました。

サイトは以下から

あまけんβ- アマゾン商品の検索をいい感じに使えるサービスを開発中。


「あまけん」はアマゾン商品検索をいい感じにできるサービス目標に開発しました。

「あまけん」ではアマゾン商品検索後、レビュー数などによる並び替えや、星の数でのフィルタリング画像や簡易表示など表示モードの切り替えが可能です。

また検索後の並び替えなどでは、非常に高速に動作するため、商品比較などに向いていると思います

特徴

  • 情報を絞り込んだ簡易表示や画像のみの表示が可能。一覧するのに便利です。

開発の流れ

ますだ報告デフォルト(?)の、開発の流れや開発環境を簡単に。

  • 期間
    • 1カ月程度

「あまけん」おすすめの使い方

検索後、お好みの星の数でフィルタリングした上で、レビュー数や売上ランキング順で並び替えて商品比較するのがお勧めです。特にレビュー数は本家サイトにない指標なので、おすすめです。

表示モード情報量と一覧性のバランスのいい”簡易”モードお勧めです。お好みに合わせて、情報量の多い”詳細”モードや一覧性が高い”画像モードの使い分けも可能です。

アマゾン内で検索する前や後に併用して、あまけんの高速性を活かして、商品比較用にといった活用おすすめです。

今後の予定

お気に入り登録機能など、様子を見ながら機能追加や改修などのアップデートを行っていきたいと思います

機能追加予定やリリース情報は、開発ブログツイッターにて報告予定です。

2013-05-17

アフィリエイト勘違いした大学生の末路

ただの趣味で始めたはずなのに

大学生だった2007年から趣味で他愛もないホームページをつくっていた。

ワードプレスライブドアブログのようなCMSには頼らず、1から10まで自分で作ることにこだわった。

すぐにのめり込んでいき、大学図書館にこもりWEB関係の本を借りまくった。

しかWEB関係といってもPHPSQLは理解できなかったので、まずはHTMLCSSだけ勉強して静的なページをべた書きで量産していった。

HTML,CSSですら最初はつまづいていたけれども、自分意図した通りにデザインできるようになってから面白かった。

アクセスは全く増えず、一日100PVにも満たなかったが、僕はめげなかった。

講義には出ず、学園祭にもサークルにもいかなくなり、周囲からは「まだやってたの」「何がしたいの」と呆れた目で見られるようになった。

付き合う人も限定されて社交性は衰えていった。


半年が経っても動的なページをつくれる技術はなかったので、未だに力押しでページを量産していた。

しかデザインにはこだわっていたので、単純なHTMLでも、見た目にはそれなりのサイトに仕上がっていた。

内容はくだらなくても、いっちょまえなレイアウトで書けば、それだけで見栄えのする物になった。

PVはすぐには伸びないとわかっていたので、平均滞在時間、平均PV直帰率目標にしていた。

ユーザビリティには独自性無用で、正解があると思っていたので、ヤコブニールセンWEBユーザビリティの本を買って、素直に勉強した。

PVが少なかったので、平均をとっても余り意味がないのだけれども、平均PVは8はあったと思う。

ビジネスの基本は選択と集中だと考えいたので、PVが伸びなくてもサイトテーマは広げず、なるべく狭く深くを追求していった。


勘違いのはじまり

サイト制作をはじめてから8ヶ月ごろではじめてグーグルアドセンスが振り込まれた。

一度軌道に乗るとサイトアクセスは乗数的に増えていった。

2年目にはサイトPVは月100万を超えていた。

ヤフーニュースの関連する記事にリンクが貼られたことも大きかった。

アフィ収入は年間400万を超えて、僕は大学3年で親の扶養を外れた。

稼げるようになってから、周囲の目が変わった。

いまどきアフィリエイトかよと呆れていた人が僕にジャンル手法を訊いてくるようになった。

この頃から僕は自分にはプログラマの適正があると勘違いし始めた。

HTMLCSSは狭義のプログラミングではないにもかかわらずだ。

調子に乗った僕はプロの話を聞きたいと思って、広告で見た翔泳社デベロッパーサミットに参加した。

年に一度開かれるITエンジニアの割と大きなカンファレンスだが、仕事で来てる人がほとんどだと思う。

名刺がないので受付で恥ずかしい思いをした。

javaカリスマエンジニアオラクルNTTデータMSの偉い人、はてなの人などが講演していた。

当時HTMLCSSしかからず、PHPMYSQLをかじったばかりの僕には話の内容は1割も理解できなかった。

それでも僕は卒業後はIT業界で働きたいと思いはじめていた。


IT仕事

引きこもってプログラマごっこを続けているうちに大学4年になった。

一生アフィで食っていけるわけもないので、就職活動をはじめた。

WEB系はブラックが多いとそれとなく聞きかじっていたので、大手IT企業大手SIerを中心に受けた。

新卒WEB屋の門を叩かなかったことを、今でも本当に後悔している。)

結論から言うとMSデータオラクルグーグルユニシスも全部落ちた。

営業職も応募したけれど、いずれにせよPHPSQLをかじっただけでは戦力にならないし、そもそも、WEBとSIでは言語の畑が違うのだろうが、たぶんそういう技術的な事はどうでもよかった。

技術的な事は入社後に教育する体制ができてるので、学生には何よりもまず社交性を求めていたのだろう。

人間よりもPCと付き合ってた僕の社交性は衰えていた。

~現時点で私が御社提供できるスキルは何もありません。

~でも、私には在学中に専攻外の事を勉強していった自主性があります

~これに関しては誰にも負けません。

とアピールしたのだけれども、ダメだった。ただの独り善がりの変なヤツに見えたのかもしれない。疑わしきは落とす。


結局僕は社交性、人間性、社畜適正、その他、大企業学生に求める普遍的な魅力を欠いていたか内定がでなかったのだろう。

文系学生が独学で中途半端プログラミング勉強を始めたばかりに、それはIT業界から内定を得る上での強みになるどころか、致命傷になったのだ。

皮肉な話である


友人は立派な会社就職していったので、当時リーマン不況のまっただ中で就職難だったというのは理由にならない。

facebook大学の友人をみると勤務先がNTTデータとかアクセンチュアになっていた。僕よりも人間的な魅力があったのだろう。

技術なんて一切関係なかった。僕は悔しかった。

幸い他の業界内定をもらえたので、そのまま就職した。

サイト制作趣味と割り切り、日本を支える製造業仕事に選んだ。

起業

内定をもらってから卒業するまでの間に、僕よりもずっとITに明るい友人に、アフィで成功していたことを買われて起業を持ちかけられたが、何度も衝突し、結局2ヶ月で僕の方から音を上げてやめた。

起業するなら一人でスタートして人を雇うなり外注するなりすべきで、チームで始めるにしても誰が一番偉いのか最初に明確にすべきだと、このとき確信した。

仕事なんてクソだろ?

就職したが、毎日のような飲み会と、週末のゴルフ、一発芸の強要など体育会系の慣習に嫌気が差した。

日本大企業がどこもこうなのかと思うと、哀しかった。

僕は仕事の傍らの片手間の作業でも収入が増えていくアフィに目をくらませて、半年退職し、専業アフィリエイターになった。

今は無き海外ニートブログ労働観と、後述するコピペが僕を後押しした。

砂の城

賃貸物件審査確定申告書を見せたら通った。

専業になってから収入は伸び続け、一番多いときで月80万を超えたが、その代わり孤独になったので、以前のような精神的な余裕がなくなった。

技術的には大学在学中からほとんど成長しておらず、未だにhtmlのべた書きで、サイトの一部でphpsqlを使用してる程度だったからだ。

僕のサイトWEBサービスといえるような代物ではなく、ただの一方通行サイトで、コメント欄をつくる技術もないので、放置していもユーザー勝手コンテンツ価値を高めてくれるということはなかった。


ページを増やすのは社員を増やすようなものだと考えていたけれども、僕の身体は一つなのでべた書きで増やせる量には限界がある。

一人で安定してコンテンツを生み出すには、今後は趣味サイトから卒業し、より商業的なユーザー参加型のCGMを作らなくてはならない。このままではまずいと感じていた。



しかし僕はcakephpのようなフレームワークを使用せず、というかMVCを理解できず、。

ワードプレスのようなCMSもつかわず、力押しでべた書きで作っていたので、できることには限界があった。

僕と同じ個人事業主がつくっているW3Qのような立派なサイトをみるのが怖かった。

毎日が夏休み

僕のサイトブログニュースサイトではなく、テーマ普遍的サイトだったので、放置していもPVは減るどころか増えていった。

多い時で1日12PVはあったと思う。

あぐらをかいた僕はサイト制作を完全に放置して、不安を紛らわすために現実逃避で遊びはじめた。

目的地も決めず、平日に思いつきで一人旅サイクリングにいった。

仕事を辞める引き金をひいたのが、2ch独身男性板でみたこのコピペだった。

もし仕事に行きたくなくなったら、そのまま反対の電車に乗って、

海を見に行くといいよ。

海辺の酒屋でビールピーナツ買って、海岸に座って

陽に当たりながら飲むといいよ。

ビールが無くなったら、そのまま仰向けに寝ころんで、

流れる雲をずっと眺めるといいよ。

そんな穏やかな時間がキミを待ってるのに、何も無理して

仕事になんか行く必要ないよ。



毎朝ネクタイを締めるときストレスで吐いていた僕の背中を押してくれた。

なんて罪なコピペだろう。

気晴らしのはずの一人旅なのに、旅館の人に今日お仕事休みですか?と聞かれたのが辛かった。

他にも一人で野球観戦に行ったり、映画を借りまくったり、早朝深夜のメジャーリーグ試合を見まくったり、夜更かししてロンドンオリンピックを見まくったりした。

野球中継に関してはスカパープロ野球セット契約していたので、144試合中130試合は1回から9回まで見ていたと思う。

僕はサラリーマン時代に味わえなかった自由をほとんどすべて享受した。

サイトの方はなんだかんだで半年以上更新してなかっただろうか。


瓦解

そして昨年の11月に事件が起こった。

グーグルアルゴリズムが変わり検索順位が大きく下がったのだ。

多い時で80万円あった収入20万円台にまで落ちた。

打開するための次のサイトアイデアはあるのだけれども、技術がない。

周りに相談する人もいないので質問サイトを使うしかない。

フロー理論でいう挑戦と技能の間の大きなギャップがあり、不安に駆られ現実逃避しか出来なくなった。


ゲームオーバー

収入は落ち込んでいくのに、サイト制作をする気にもなれず、この一ヶ月前に自営業を断念した。

僕は公務員を目指すことを考え始めた。

一ヶ月後の6月試験である参考書だけ買って全く勉強は進んでいない。

今年は無理だろう。

しかし今年で27歳だ。公務員になるにはそろそろ年齢制限にひっかかる。

来年筆記試験にうかったとしても、年増が面接に受かるだろうか。

勉強したあげく面接に落ちたらどうなるだろう。

27歳にもなるのに職歴がなく、独学でphpSQLを囓った程度ではWEB制作会社は雇ってはくれないだろう。

詰んだかな、これ。

もっと外に出て、みんなと同じ大学生活を送って、みんなと同じ就職活動をして、みんなと同じように働いていれば。

これから僕の人生はどうなるのだろう。嗚呼

I see my life fading away.



2013年5月17日 現実逃避野球中継を見ながら執筆



初めての増田

気持の整理ができたのでよかった。

追記

13/5/18 15:00

はてなツイッターでの様々なご意見、ご指摘ありがとうございます

自分を少しは客観視できるようになりました。

27歳で実務経験のない僕が現時点でのスキルWEB制作仕事にありつけるとは思えず、納期がある請負も性にあっていないので、やはり公務員試験勉強をがんばります

僕のサイトははてぶ400userもありませんが、最後ホッテントリ入りしてWEBに小さな足跡を残せたので、悔いはありません。

2013-03-08

風俗嬢アダルト専用ブックマークサービス作ってみた

秘密ブックマーク、略して「秘ブ」というソーシャルブックマークサービスを作ってみました。

アダルト専用で、(以前の)はてブのようなものを目指して。

今は風俗嬢やってるんですが、(悲しいことに)時間があったっていうのと、

自分が欲しいと思ったもの作ってみたかった。

目次

①作ったサービス

②影響を受けた増田

③作った経緯

④使用したサービスとか

⑤作成のあらまし

⑥秘ブのブックマークボタンとかブックマークレットとか

⑦登録時の注意!

⑧今後の予定

作ったサービス

秘ブ.jp

http://hibu.jp/

アダルト専用のソーシャルブックマークサービス

影響を受けた増田

自分WEBサービスを作りたいと思っている人へ

http://anond.hatelabo.jp/20101203150748

・Rails3 と jQuery で、真面目にオシャレなエロサイトをつくってみました

http://d.hatena.ne.jp/inouetakuya/20120331/1333192327

・週6フリーターWEBサービス作ってみました。

http://anond.hatelabo.jp/20120914214121



作った経緯(基本自分語りなのでそういうのウザい人は飛ばしてね)

私は、早く自立できるようにと高専を出て、田舎から東京に移り住み、事務として働いていた。

この時点ではエクセルとかワードとかは使える、マクロちょっと組める程度のレベル

自立したかったのは父親が生活費パチンコとか女に溶かすような輩だったため。

私が自立したあと、両親は無事離婚。激務で薄給母親と離れて暮らして寂しくても頑張っていた。

そんな中、母が更年期障害鬱病に。

鬱病はつらい。何が辛いって、本人も辛いんだろうけど、荒んだ部屋の中で横になって息を潜めている母親の姿を見るのがきつい。

母親ゆっくり休ませてあげたかった。

いつでも母親の側に駆けつけることができるように、お金時間に余裕が欲しかった。

で、吉原へ。私は風俗嬢になった。

でもねー、全く稼げないwww 笑っちゃうくらい。

大衆店にいるんだけど、女の子もお店も多くて、私より若くて可愛い子がわんさかいる。

お客さんがつかないと収入0なんだよね。

店長やお店のお姉さんがマットや椅子を覚えな、ってアドバイスはくれるんだけど、

その頃教えてくれる先生たまたまいなかった。(今は別の店に修行にいったかバッチリできるけど)

仕方ないかようつべとか動画サイトソープお仕事系の作品を見まくったわけ。

(余談ですがマ◯ティ夫人ってお店のマット技一覧のページはすごいよ!)

お客さんつかないか時間がすんごいあって、待機室でずーっと見てた。

で、マットの動画とか、ボディ洗いの動画探すんだけど、なかなか見つからない。

結構マニアックからね。

で、そんなことをしてるうちに思ったんだけど、エロサイトエロ動画

果てはマニアック趣味情報を共有できるサイトがあったら便利じゃないかな?と。

数少なく接客したお客さんで、わざわざブーツ持参で、顔面を踏みつけてくれ、って人がいたんだけど、

そういうの彼女とか友人とかにあんまり言えないでしょ。

でも日本中を探したら、同じ趣味や、近い嗜好の人がいるんじゃないかな?って。

時間私自身が病むほどあるし、そんなわけで制作に取り組みました、秘密ソーシャルブックマーク

略して「秘ブ」(「秘部」とかけてあったり)

吉原泡姫たちは、タクシー通勤する人が多いんだけど、私は三ノ輪の駅から歩いて通ってた。

元彼に借りたプログラムの本などどっさり持って。めっちゃ重いw

待機室でひたすら落ち込みながら金勘定するより、母親心配をするより、何か生産的なことを考えていたかったんだよね。

この一年でかなり勉強して、ようやく公開できるレベルに達したかなとおもいます

作成期間は、楽しかったし充実してた。

みんなが来てくれるかはわかんないけど、まあ来てほしいなと思う。

さて、湿っぽい話はここらへんにして、どうやって作っていったかを話しましょう。

使用したサービスとか

・Semantic Scuttle

http://semanticscuttle.sourceforge.net/

jQuery

http://jquery.com/

・HeartRails Capture

http://capture.heartrails.com/

はてな Favicon API

http://favicon.hatena.ne.jp/

Twitter Bootstrap

http://twitter.github.com/bootstrap/

・Bootswatch

http://bootswatch.com/

サイトの構成なんかも書こうと思ったけど、セキュリティ的に良くないって聞いたし、

はてな民のみなさんに突っつかれるのが怖いので少しだけ(^_^;)

まあ違う意味で突っつかれるのは慣れてるんだけどw

簡単に書いとくと、HTMLCSSPHPMySqljavascriptくらい…なのかな?

Semantic Scuttleが裏でやってることはあまり詳しく分からないです。

作成のあらまし

前述の通りアダルト系のブクマサービスを作ろうと決めてから

プログラミング勉強を始めることにした。

HTMLCSS

どうやらまずはHTMLCSSをやれということらしいので、そこから始めた。

使ったのはこれ。

ゼロからわかる HTML&CSS超入門

http://www.amazon.co.jp/dp/477414536X/


メモ帳で簡単なWebページを作りながらだと結構スッと頭に入ってくる。

逆に言うと、読んでるだけだと全然あとで思い出せない。

「Ctrl+U」でページのソースを一発で見れることを知り、参考のために色んなサイトソースを見まくった。

全部頭に入ったわけじゃないけど、ここまでで最低限、検索ワードが思いつくぐらいにはなる。

ここまでで大体一ヶ月くらい。

PHPMySQL

もちろんHTMLCSSだけではてブ的なものが作れるわけはない。

っていうかほぼ路頭に迷った感じで「はてブ的なものを作る方法」をググりまくった。

結果「Semantic Scuttle」なるものでそれに近いサービスを作れることが判明。

「Semantic Scuttle」を調べてみると、どうやらPHPMySQLで動いているらしい。

でもダウンロードしてみて中身を覗いてみても何が何やらさっぱり。

これなら漢文のほうがまだ読めるわ!

ということで、PHPMySql勉強することにした。

とりあえず2つ一緒に覚えられそうだと思って元彼にこの本を借りてきた。

実践マスターPHP+MySQLPHP4/PHP5対応

http://www.amazon.co.jp//dp/4881665839



XAMPPインストールをして、PHP書いて、MySQL接続して…

ふむふむ、書いてあるとおりに作ったのは作ったけど、あんまりわからん。というのが感想

特にクラスの理解で躓いた。

ちなみにPHPを書き始めるのにあたって、eclipseという統合開発環境意味いまいちわかってないけど)を紹介され、インストール

コード書きやすすぎ、色分け便利すぎワロタwwwと思ったのを覚えている。

設定はめんどくさかったけどね。

eclipseについて詳しくは→http://www.javadrive.jp/eclipse3/

しかたない、まずはPHPだけでも頑張るかと思い、次に借りたのがこの本。

PHPによるWebアプリケーションスーパーサンプル 第2版

http://www.amazon.co.jp/dp/479733245X/


ひと通りサーッと読んで大体どんなことが書いてあるのかを頭に入れてから

必要そうなところを詳しく読んで作ってみてっていうやり方をした。

MySQLのことにも触れてあるので、そっちの復習もできた。

クラスについても薄らぼんやりわかってきて、動くものを作れるレベルには上達。

この辺りは、サボったり迷ったり環境整えたりで2ヶ月くらいかかったかな。

いよいよSemantic Scuttleを読み解く!

さて、これでいけるだろうと意気込んで長らく保存しておいたSemantic Scuttleのソースコードを見る。

わからん

モニタを見つめながら、頭のなかで脳みそが湯だっていく。

そもそもファイル間の構造がどうなってるのかわからない。

挫折。。

どうすればいいのってことで、元彼にヘルプ

MVCってのがあって、モデルとビューとコントロールってのが多分…」

φ(..)メモメモ

「とりあえずindex.phpから見て行ったらいいんじゃないかな?」

「わかんないところはプロジェクト全体を検索してみなよ」

ふーん。今でもMVCとかってのはほとんど理解してないけど、最後のは役に立った。

ファイル名やら関数名でプロジェクト内を検索しまくって、大体の構造を把握。

からない内部関数は「php関数名)」でググる

と簡単に書いてみたものの、この作業には2ヶ月ほど費やした。

Semantic Scuttleをカスタマイズ

構造はなんとなくわかったものの、実際触ってみると動かなくなるケースが多数。

ひと通りの勉強は一応したけど、実地のカスタマイズは非常に難しい。

ファイル数300を超えるプロジェクトの恐ろしさを知る。

他に使ってる人おらんのかなと思い探してみるとこんなものが。

ソーシャルブックマークソフトScuttleの強化版Semantic Scuttleを導入してみる

http://tukaikta.blog135.fc2.com/blog-entry-70.html

・【閉鎖される前に】Deliciousからデータを移行できるオープンソースCMS・scuttle

http://kachibito.net/software/scuttle.html

ありがたくカスタマイズに利用させてもらう。ホント感謝しまくりです。

でも上のURLに書いてあること以外にもカスタマイズしたいところがあった。

1.ブクマ数を記録したい

2.Voteじゃなくてブクマ数順にソートしたい

3.どうせならブックマークボタンとか作りたい

4.ブックマーク数を表示するシステムを作りたい

5.デザインダサいので変えたい

1はだいぶ考えたんだけど、DBちょっといじくって、フィールドを追加してそこに記録することにした。

2はPHPDBをあれこれして、ド汚いコードながらも根性で実装。

3で再びの挫折。なぜならjavascriptを使わなければならないことが判明したから。

javascript

まだ勉強しなきゃいけないのか…とは思ったが、初心を思い出し、頑張ることを決意。

おらあああ!なんかjavascriptの本貸せやぁああああ!と丁寧に元彼に頼んでみたところこの本が手に入った。

JavaScript 第5版

http://www.amazon.co.jp/dp/4873113296

うん、馬鹿じゃないの。こんなん理解できないよ。こっちは時間がないんだよ!

もう一冊なんか初心者向けを貸せ!

マンガでわかるJavaScript

http://www.amazon.co.jp/dp/4798027839/

おい、馬鹿にしてんのか。とは言わなかったけど拳で表現した。

でもマンガなので超読みやすい。

読了したあと、ネットと前者の書籍必要なところだけ調べることにした。

で、調べていったところ、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

http://bootswatch.com/

あ、なんかこれいいなと思って「Slate」っていうテーマをいじくりいじくり、色々試しながらタイトル周りとかを整理。

デザインができあがるのに、1ヶ月くらいだったかな。

完成!(?)

まあこんな感じで大体できましたー!

全部で約8ヶ月…長かった…。憑かれたぜパトラッシュ

作ってみてわかったこと

ググる ググる ググる!とりあえずなんでもググってみることが一番大事だとわかった。

誰かが同じようなことをしてることも多々あるし、少なくともヒントくらいは見つけられる。

・助けてくれる人がいるとかなり楽

ググっても出てこない情報は厳然としてある。そういう時は、経験者にアドバイスをいただく。

Yahoo知恵袋でもいいし、知人でもなんでも。ネットの優しい人達感謝するようになった。

お店の掲示板では叩かれっぱなしだけどw

プログラマーすごい

今まで何気なく見てたホームページだけど、膨大な技術結晶なんだなと思った。

その端っこに触れただけの私のようなものでもそう感じるんだから、それはそれは深遠な世界なのでしょう。

これ仕事にしてる人とか尊敬します。

秘ブのブックマークボタンとかブックマークレットとか

せっかく作ったので、使ってやって下さい。

ブックマークボタン

ブックマークボタン大(126px × 20px)

http://hibu.jp/bookmarkbutton.php#bmbd

ブックマークボタン小(42px × 20px)

http://hibu.jp/bookmarkbutton.php#bmbs

ブックマークレット

http://hibu.jp/bookmarkbutton.php#bmlt

ブクマ数表示コード

http://hibu.jp/bookmarkbutton.php#bmn

詳しくは↓をご覧あれ。

http://hibu.jp/bookmarkbutton.php

登録時の注意!

このサービスは一応「秘密の」もんなので、普段使ってるSNSユーザー名とか使わないほうがいいんではないかと思います

ブラウザに直接入力でも簡単にいけるようにドメインはまんま「hibu.jp」にしておいたので、

ブラウザブクマするのもはばかられる方はダイレクトに飛んできて下さい。

今後の予定

スマホ版作りたいなぁ…

それから、ご要望があればチューニングしていきます

ちなみに、勉強したおかげか今現在はそこそこ本職のほうで稼げてはいます

もし万が一このサイト成功したりしたら風俗あがることも考えられるのかなぁ…

願わくば、皆さんのエロライフが充実することを。

でも吉原にも遊びに来てくれると嬉しいな。

怖いところじゃないから、気軽にね。

2013-01-04

素人が完全自作SNSを作ってみてわかったこと。

ひっそりと、Webサービスリリースしました

http://tag-chat.net

で、チャットがメインのSNSです。

自動マッチングしてチャット相手を見つけてくれるマッチングチャットや、すぐにチャット相手を見つけてくれるフリーチャットコミュニティチャット、フレンドチャットなど、とにかくチャットがメインのSNSです。





自分について

昨年の4月からプログラムを学び始めた素人。22歳。札幌在住。





■今更SNSを作ろうと思ったきっか

FaceBookがウザい。というか嫌い。

これがきっかけ。

顔本が良いSNSだと話題になっていたので、実名登録してみた。大学の知り合いが見つけてくれて、友達登録などが増える。(ほとんど話したことがない人から友達登録が来て、「おぉ!これで俺も友達が増えるんだ!」とワクワクしていた)。

が、流れてくるのは自慢ばっかり。

コミュ障彼女はおろか、女友達ほとんどいない自分にとって顔本で「飲み会行ってきたぜウェーイw」とか、「○○ちゃんの誕生日なう!」とか、「○○勉強会行ってきたました! みんな熱い人ばっかりで最高!」とか書いてあるのを見て「こんなSNSは嫌だ……」と思った。


ようするに嫉妬です。

で、自分の好きなようにSNS作ってみたいなぁ。と思いました。

自分趣味レトロゲーなので、自分と同じ趣味の人と話せたら素敵だな。ということでチャット式のSNSを思いつく。

が、Webサービスを独力でつくるのはこれがはじめて。というより、プログラム自体がはじめて。

案の定、前途多難だった。

やはりザッカバーグは天才だった。

そして私はアホだった。

■とにかく計画を立てる。

ざっくり、どんな機能が欲しいか考える。自分の力じゃ無理そうでもOK.とにかく妄想を爆発させる。

妄想した機能

・基本的なSNS機能

メッセージ機能コミュニティ機能あしあと機能日記機能コメント機能つぶやき機能など。

・核となるチャット機能

ミニティ専用のチャットルーム、アカウント専用のプライベートチャットルーム(鍵をかけられる)、自動チャットが開始されるフリーチャット自分の指定した条件にあう人を自動で見つけてきてくれて、チャットができちゃうマッチングチャット

などなど。






■そんなに簡単にSNSが作れるわけがない。

妄想するのは簡単だ。でも、全くわけがからない。何から手をつけていいのかわからない。

とりあえずグーグル先生相談

OpenPNEという簡単にSNSが作れるものがあると知る。

「うはwwww これで勝つるwww」と思ったけれど、どうやってチャット機能を追加して良いのかわからなかった。改変しようにも謎の記号がめちゃくちゃにならんでいてどうして良いかからない。

しかも、改変したら改変したでそれを全世界に公開しなくちゃならないらしい(オープンソースというらしい)。

無理だ。

と思ったので1から勉強することにした。

とにかくサーバーサイドの言語と、データベースについて勉強しろや! とのことだった。






■使う言語について。

サーバーサイドを扱える言語はたくさんあって、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

基本的には、よくわかるPHP概要をつかんで、それから

基礎からMySQL勉強。 http://www.amazon.co.jp/dp/4797344385/

最期

ハイパフォーマンスMySQL http://www.amazon.co.jp/dp/4873114268/

インデックスの貼り方などについて勉強した。






チャットに向いている技術

とりあえず掲示板くらいはつくれるようになったので、チャットについてリサーチ

ajaxとかよくわからん技術nodejsを使った非同期処理などがあると知る。

nodejsはC10K問題という問題を解決するすごいものらしく、かっこいいらしいのでこれを勉強することに。

ついでにnodejsと相性の良い、mongoDB勉強することに。







javascript勉強

よくわかるjavascript  http://www.amazon.co.jp/dp/4839941874/

終わったら、

パーフェクトjavascript http://www.amazon.co.jp//dp/477414813X/

パーフェクトjavascriptnodejsについてものすごく詳しく書いてあったので、とても参考になった。このあたりで、LINUXというOSを扱わなくてはいけないと気付き、自宅PCウィンドウからLINUXubuntu)に変えた。


mongoDB勉強

これはとにかく触ってなんぼでした。MySQL感覚が違い、苦労しました。

CakePHPmongoDBを扱うのは

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なども利用することに。


このへんについては、

http://bren.jp/blog/%E3%81%95%E3%81%8F%E3%82%89vps%EF%BC%9Anginx-apache-%E6%A7%8B%E6%88%90%E3%81%AE%E8%A8%AD%E5%AE%9A%E6%96%B9%E6%B3%95/

このような解説記事がたくさんあったので、参考にさせていただきました。

調子にのって、最期グーグルアドセンスも貼ってみました。




■ようやく完成。

で、なんとか完成しました。

いちおう妄想していた機能は実装できたかと思います

製作期間は勉強期間なども含めて、大体9ヶ月くらいです。

使ってみた感想や、ダメ出しなど頂ければ狂喜乱舞します。よろしくお願い致します。









モチベーションを維持するためにやったこと。

あっさりと書きましたが、実際は失敗の連続でやる気が萎えてばっかりでした。

疲れて帰ってきて、なにもやる気の起きない時もありました。


そういう時は、とにかくサポートページのQ&Aの1文でも良いから書いてみるとか、とにかくパソコンエディターだけ立ちあげてみるとか、していました。

ものすごーく覇気のない目でキーボード打ち続けていましたが、それでもなんとか完成することができました。惰性だろうとなんだろうと、少しずつは進むのだとわかりました。

SNS作ってみたわかったこと。

やはり1から完全自作をするのは無謀だった。でも、プログラムをやったことのない素人でも約一年頑張ればそれなりのSNSもどきを作ることができた。

これも先人たちの作ってくれたフレームワークや様々なツール、そして参考書などのおかげ。

私のようなアホでも頭の良い人の力を借りればなんとかなりました。ありがとうございます

そしてプログラムは一人でも出来るので、私のように非コミュでも楽しめる素晴らしい趣味である

現在

今はRubyに夢中です。くり返し処理がすごくきれいにかけるので素敵な言語だと思っています。あと、javascript面白いので毎日いじくって遊んでいますPHPももちろん触っています

非コミュあいかわらずですが、プログラム楽しいので前より幸せです。


仕様した技術など一覧

サーバー さくらVPS4Gプランを使用しています

Apache,Nginx,nodejsを利用しています

データベース mongoDBMySQLを使っています

フレームワーク CakePHP,socket.io

使用言語 PHP,Javascript

できたもの http://tag-chat.net

2012-07-05

Fat Controllerを作ってしまいがちな訳

http://ugaya40.net/architecture/dis_mov.html

Fat Controllerはダメというのは昔から言われている話で、自分も昔読んだときになるほどと思ったので「なるべくControllerを薄く」を頭に置いているのだけど、どうもうまくいった感じがしなくて挫折感があった。その理由だけど、自分経験から言うと、「View変数を渡すのがめんどくさい」「途中で処理を中断するのがめんどくさい」の2点だと思う。

View変数を渡すのがめんどくさい」

たとえばRailsだとController内でインスタンス変数に代入することによってView変数を渡すことができる。処理をModelに移すとModelからControllerに変数を返して、ControllerでView変数を渡すという二段階が必要になるのでこれがめんどくさい。(正確には、ControllerからModelの状態を取れるように作るのが正しいのだろうけど、View必要となるあらゆる状況を想定してModelの状態を取れるようにするのはなかなか大変。それだったらControllerで処理しちゃって……としてしまいがち)

「途中で処理を中断するのがめんどくさい」

たとえばRails場合、Controllerからreturnすればその時点で処理が中断されるし、レスポンスもそこでrenderしておけばよい。しかし処理をControllerに移した場合Model内で起こったことに応じて適切なレスポンスを返すコードをControllerに書かなくてはいけないが、これがめんどくさいように思う。Modelから直接レスポンスViewを指定したくなってしまう。(もちろんそれはできないし、Modelの分離の観点からするべきでもない)

O/RマッパーのModelに一切処理を追加しないなんてことはなくて、Modelで処理できることは極力Modelに移しているつもりではいるのだが、どうしてもすっきり書けた感じがしない。

もちろんわかっている人ならこんなところでひっかからず、自分がわかってないだけの可能性が高いのだが、自分が上のような理由で挫折してしまったのは事実なので、何とかしたいとは思っている。

自分としては、理屈はわかるけど実際のコードはどうなんだという感じなので、「これは手本にすべきMVCウェブアプリケーションだ」というのがあれば読んでぜひ参考にしたいのだけど、何かないものだろうか。

2012-04-25

無職が一ヶ月かけてWebゲームみたいな奴を作った

Webゲームっていうか、ブラウザ上で動くような奴。PHP(5.3)で突貫工事したので、ペラペラな感じだけど、なんとか公開できて、たまに遊びに来てくれる人がいて(一時はVIPに募集スレも立ったらしい)、何戦かして帰っていくので、とりあえずサーバー代を払った価値くらいはあったかなーという感じ。

で、どういうゲームかっていえば、人狼みたいに「陣営に別れて、決められた目標クリアするゲーム」です。

レジスタンス』っていう卓上ゲームというのかな?それを参考にして作りました

レジスタンス・チャット

ちょうど開発してから、一ヶ月程度になったので、宣伝をかねて、現状みたいなのをメモ

俺のスペック

一応、前提としては、Pythonだったら、何かしらのシェルプログラムを書いてcronしてるけど、それ以上のことはしていない程度の、技術ワナビー

ほぼ業務経験なし。継続してスクリプトを開発したのは、今回が始めてという感じ。

作ろうと思ったきっか

単純にPHPで何か作りたいなーと思ったから。一度はPHPを書くべきだなあと思ったりした。それで、何かいい題材ないかなーと思って探してた。

「昔、人狼BBS遊んだとあるなー、でも同じ人狼ゲームを作っても芸が無いしなー」と考えていたところ、知人と遊んだレジスタンス』ってゲームにピンと来て、「こういうゲームWeb上で遊べたらいいかな。調べたところ、Web上でも人狼っぽいって言われるし、上手くそういう層にアピールできそう」ということで作り始めたのでした。

反省

綺麗なコード意識する

はいえ、最初は勢いで書き散らしたので、本当にClassとかまったくなかった。それを徐々に整え直して、なんとかファイル分割できるようになった。それでも、全く足りない。具体的には下のような部分が汚い。

MVCをちゃんと意識する

本当はCakePHPとかそういったフレームワークを使えば良かったんだろうけど、「重いんだったら仕方ないしなー」というわけで、フレームワーク無しで使ってみたんだけど、結果として表示部分にやたらと処理が入って醜いったらありゃしない。

表示部分と、実際のシステム部分はわけられるべきだし、フレームワークを使わないまでも、そういう風な機能分割は必要

そうなるとある程度までは綺麗なコードになるような気がする。

で、そういうコードを書いたせいで、下のようなことが起きる。

テストは丁寧に書いておく

PHPUnit使ってユニットテストは書いているんだけど、まったく足りない。

全部グリーンにはなるんだけど、実際に動かしてみるとバンバンエラーが出る。

幾つかの関数テストを先に書いたりしたんだけど、表示部分とかは「ここテスト書きにくいから誤魔化しちゃえー」といって書いたりした。

で、何が起きるかっつーと、リファクタリングするときガンガン機能が落ちる。そして死ぬ

さすがに一つのClassが1000行くらいになってきたので「うっわー、これは駄目だわ。分割するべき」って、ゴミみたいなコードに手を入れ始めるんだけど、全く歯が立たない。

とりあえず、既存テストグリーンになるけど、どこかで処理がつまづいているという状態でこれは駄目。

「うわ、この部分、テスト書きにくい!」って思った時点で、何かを嗅ぎつけてちゃんとテストに落としておけばよかった、と反省することしきり。

結果として手作業で複数ブラウザ起動して……みたいなことになっちゃう。バグの温存。

楽ができるならば、楽をする

CSSとか勉強のために、自分で1から書いているけれども、これは本当にだるい

知人から、綺麗にコードが書けるから、と薦めてもらったSaSSを使っているけれども、なかなか綺麗にできない。

一応、Twitter BootStrapは知っていたけれども、それに頼るよりは一から書こうと決心して書いたためか、ようわからないし、デザインとしてもこなれていないために気持ち悪いことになっている。

上記のフレームワークについてもそうだけど、流行っているものには、それなりの理由があって、それをわざわざ避けても、結果として、それ以上のものは(素人に毛が生えているくらいでしかない以上)ならないような気がする。

ならばとっととそういうものを使って、さっさと済ませてしまえばよかったなーと思ったりした。

ゲームという性質である以上、どんどん情報量が増えていくために、そういうのを表示しまくっていると、本当に画面がぐちゃぐちゃになる。

ユーザーインターフェイスまじで苦労する。

セキュリティー……

セキュリティーには本当手をつけられていない。(徳丸本読めという話になると思う)

ドキュメント……

(略)

一ヶ月間続けてみてよかったこと

で、本当にボロボロになりながら作ってみて良かったことをメモしておく。

単純にプログラミングって楽しいよね

自分は割と現実逃避の為に何かに没頭することがあって、その逃げ先としてプログラミングっていいなあと思ったりした。

あと、自分が書いたコードがヒョコヒョコ頑張っている姿をみていると、すごくかわいくなる。形にもなるし、「こういうものを作ったよ」とも言える。それは単純に楽しい経験

自分が作ったものが単純に楽しい

元々、自分が好きそうなものから題材をピックアップしただけあって、自分が作っているものが、自分が一番愛用しているというのは幸せなことだなと思う。

自分が楽しむためのものから自分が一番のユーザーであるし、自分が快適に使いつづけるために改良を続けてる。

から「こうしたらいいんじゃないの?」というのも勉強になるし、自分がちゃんと&楽に機能拡張できるように、ちゃんと勉強しようとも思う。そういうのは本当にいい循環。

使ってくれる人がいる

大抵は、自分が使うから自分だけのものだったので、あまり他の人が使ってくれることを期待していなかったんだけど、今回のは、ときどき遊びに来てくれる人が居る。

例えば、VIPスレが立ってたり、あるいはニコニコ生放送プレイ実況を配信してくれたり。

割と「くっだらねー」と思うけど、一人で細々と開発していると、そういう些細なことが嬉しかったりする。

なので、ついついみてしまったり、場合によっては、プレイしているところをいつまでも一緒に徹夜して観戦していたりする。人のプレイしている姿が楽しいというのも、自分が作って良かったなあと思う。

逆に言えば、使ってくれる人がいるからこそ、一ヶ月間開発が続いているようなもので、「ああ、自分プログラムで楽しんでくれる人が居るんだな」という手応えみたいなものが、モチベーションになっている。

遊んでくれる人が見えるというのは、自分にとっては、モチベーション維持に大切になってる。

今後として

だいたい三日坊主で終わっている自分としては、開発が長く続いているほうだと思う。

目指すところは、もっと綺麗なソースコードにして、Githubで公開すること(いや、もうアカウントは既に持っているんだけど、公開するのは凄く恥ずかしい)。

まだまだ勉強することが多いなー、というわけではてブPHPの記事をあさったりしているところです。

2012-02-11

Web企業バックエンドエンジニアとして必要な知識メモ

そこそこPVがある場合。そうでなかったら、どうにでも動くしね。

基本はLAMPなんですけど、オペレーションの部分も分かってないと即戦力にはならんと思う。


かいWEB企業でも、下記をわかってて、ちゃんとできる人ってそんないねーよな、っていうことを最近知ったお。

もちろんフロントエンドまで一人で担当する場合もっと必要な知識が増えるわけだが。

そう考えると、「ふつうエンジニア」に到達できるのって、3年とか5年とか10年とか普通にかかるよなーって思うわけですよ。

2010-07-02

http://anond.hatelabo.jp/20100702005237

なるほど。その方法はいいな。てか、それがMVCなのかな?(未だによくわからんが)

index.phpコントロールモデルがどれかよくわからんが、Viewがビューで表示させる内容のaccountを読み込むのか。

2010-06-19

今月からPHPを扱うことになった。

PHPMVCを行う際の良書ってないでしょうか……。

PHP総合的なWEBサイトを構築するための本でもかまいません。

良くある、「○○をするときはこれ」、というたぐいのものではなく、

「○○をするときはこれ」を組み合わせて、全体が記述されているものの勉強をしたいと思っています。


職場の先輩が有能すぎて、説明が良く分からなくて困っています。

たぶん自分の知識が、相手の前提としているレベルに届いてないんだと思う。

だから勉強したいのだけど、正直よくわからなくて、今日書店技術所を見ながら固まってしまいました。。

設計と開発への知識をつけていけば、仕事が楽しくなりそうな予感はあります。

だから、だれか最初の一歩を手助けしてください。基礎を理解できたら、自分で知識を深めていけると思うのです。

お願いします。助けてください。

2010-06-04

正直何から手をつけたものか

今月転職して、WEB関係のプログラミングにかかわっていくことになった。

ざっと必要そうな知識を列挙してみる。

必須

PHP

SQL

HTML

CSS

JavaScript

よく使う

Linuxコマンド

使うのか?

・apach

知識として

セキュリティ

オブジェクト指向

MVC

フレームワーク

え、どれから勉強すればいいの?

そして、どう勉強すればいいのかわからない。

勉強はしたい。基本は技術書だろうと思う。しかし良書がわからない。

こまった。誰か詳しい増田さん、迷っている増田にどう勉強していけばいいのか教えてほしい。

何から手をつけていいのかわからないんだ……。

http://anond.hatelabo.jp/20100604224334

いろいろとアドバイスありがとうございました。

ひとまずネットを活用しつつ、自分でも何か組んでみる、という方向で行こうかと思います。

2008-11-30

フレームワークがもてはやされる本当の理由

今までMVCモデルで開発していなかったから、MVCモデルを導入した事で革新的に生産性が向上したのだろう。

で、それをフレームワークのせいだと思い込み、フレームワーク信者大量出現。

違うんだ、本当に凄いのは「MVCパターン」という考え方であり、フレームワークのほうじゃない。

同じようなクラス構成をすれば、0から書いてもやっぱり生産性は向上するのだ。

(勿論、再利用可能な部品の詰め合わせとしての価値はあるが)

2008-11-19

教えてくれ!Webフレームワークって本当に便利か?

ちまたじゃ、みんなフレームワークのことを当たり前のように論じててすごいなーと思うんだ。尊敬するぜ。だから、ミーハーなオレもフレームワークが気になって仕方ない!

だから、30歳近いプログラマのオレがプライドを捨てて優秀なハテナ住人に聞くが、

Webフレームワークって本当に便利か?

バカなオレだけど、MVCパターンが良い事は理解できるよ。

だが、そこまでだ。

Javaだと、StrutsSpringSeasarWicket等をよく目にするけどよぉ、ドキュメントの量どんだけだよ。

入門ドキュメントだけ見ると簡単そうに思えるけど、仕事で使えるレベルまで理解が深まるまでどんだけ時間かかんだよ。

起動遅い、動き遅い、定型パターンを外れたら、やる方法が見つかんねー。

で、苦労して作ってもよぉ、結局は、HTMLがピロッって出力されるだけで、見てくれが変わるわけでもなく、全然努力が報われん。

これって、どゆこと?

Servlet+JSP+簡単なライブラリ 程度で十分じゃね?

PHPだと、Zend FrameworkCakePHPsymfony等をよく目にするけどよぉ、ドキュメントの量どんだけだよ。

入門ドキュメントだけ見ると簡単そうに思えるけど、仕事で使えるレベルまで理解が深まるまでどんだけ時間かかんだよ。

デバッガの使い方分かってねーオレが悪いとは思うんだが、開発効率悪いぞ。(フレームワーク以前の話だが…)

統合開発環境何使えばいいの?わざわざクラス名や関数名覚えてられんぞ。(フレームワーク以前の話だが…)

何で、拡張子変えたがる。何で、変なテンプレートエンジン使う。エディタ認識されねーから開発効率悪いじゃねーか。デザイナがコーディングした分かりくいHTMLコードをよ、何で編集してるわけ?

PHPフレームワーク使わない方が便利じゃね?

ついでに聞くけどよぉ、ORマッピングライブラリって使えるの?

確かに書くコード量は少なくなっていいんだがよぉ、目に見えて遅いと思うのはオレだけか?

ディスクアクセスは明らかにボトルネックになるのに、巨大なライブラリコードを毎回走らせるんだよ。普通サーバじゃ余裕なの?

話題がそれたが、

Webフレームワークって本当に便利か?

実は、みんな、上司や先輩に言われて使ってるだけなんじゃないの?

ハテナ住人の優秀なエンジニアは、どんな目的フレームワーク使ってんだ?教えて偉い人!

ま、誰も見ないんだろうけど。

2008-01-31

http://anond.hatelabo.jp/20080130215148

基本的には完全同意。

もう初心者は肥だめに落ちたブタのようなクソコードを量産しまくって、公開しまくって失敗しまくれ。

問題はあなた方のような「やる気のある初心者」じゃなくて、「学ぶ意欲の全く無い自称上級者」なわけよ。

MVC? あなた以外わかんないんだからプロジェクトじゃあ使わないでね」

とかいう奴らよ。

2007-11-27

フレームワーク

なんかもうどれでもいい気がした。MVC であれば。ね。

2007-09-29

[]Ruby on Railsにおさわりしたので評価してみる。

勉強からはじめ10日間ぐらいでひとつのRubyアプリケーションをつくった。

キャッチコピー道場 CatchCopyHacks

http://aor2007-3.drecom.jp:18012/

ドリコムの運営さんにDBキャラをLatin1からutf8に変えてもらってようやく日本語が動くようになったので一応公開。

これをつくるまでの詳細な過程は[Ruby]のタグをひいてみてほしい。

http://anond.hatelabo.jp/c/Ruby

正直WEBアプリとして完成しているとは言いがたいが…

RonRに触ってみて思ったことをいくつか書いておきます。

Railsの特性

0から作る分には正直それほど生産性は高くないと思う。

ただ、既存プロジェクトの焼き直しやプラグイン活用できるようなケースに限って言えばほぼ設定変更だけで対応できる。10分でつくる***みたいなものは既存のものをナゾルというバッチスクリプティングというような作業。(プログラミングという所作からは遠いかもしれない。)

Ruby on RailsDRY:繰り返さないことを標榜しているがあれはウソだと思う。

プラグインなどをオーバーライドさせて再帰的に繰り返していくことこそがこの言語の特性だとおもう。

過去プロジェクトなどの繰り返し。これこそがRailsの本領ではないのだろうか。

言語というよりはこれはまるでWordpressだ。

プラグイン自作してストックできる体制ができあがったら物凄く生産性をあげることができる。

Railsの難点

敷いたレールのうえを突っ走らせるのはものすごく簡単だ。

だが、レールに分岐をつくったり、既存のレールから少しでも外れたことをやろうとすると他の言語よりも苦労をする。

とくにO/Rマッピングは設計から頭を悩ませることになる。

逆にO/Rで何ができるんだという発想から辿らないと設計できなかった。

もし既存のシステムからのリプレイスであったら困難を極めるだろう。

システム会社がRonRを生産性が高いだの、国産だのとの流行で取り入れて、

リプレース案件を請け負ってデスマーチに陥る姿がありありと目にうかんだ。

find_by_sqlを連発せざるをえないシステム。少し想像するだけで怖い。

RailsMVCは賞賛にあたいすべきものであるが、もしRonRをチームで取り組んだときには担当分担は非常に頭を悩ませることになると思う。Vの部分は分業容易だが、特にCの部分は設計が担当できるレベルPGが必要になる。

また事前の仕様決定が相当重要になるだろう。

コンシューマ向けサービスのように自らの要件と仕様が近いようであれば回避できるかもしれないが、

客先都合で変更が入った場合RonRのその特性が仇になる可能性が高い。

チームに目的地まできちんとレールをひける人が居ないと間違いなく地獄に落ちる。

その目的地に案内することを客先にきちんとコミットできる人が居ないと間違いなく地獄に落ちる。

Railsの将来性

まだ1、2年ぐらいはないなという思いを強くした。

コンシューマー向けのサービスをRonRで展開することはできても、人月仕事をRonRでやるにはまだ無謀すぎる。

現状では、やれたとしても単票、マスメン系が限界だ。10人を超える案件にはまだ向かないとおもう。

言語としての難易度は他とそれほどかわらないが、方言というレベルでは収まらないので、

3、4年生レベルのイキのよさそうなところに勉強会にでてもらうとかアンテナ立てておいてもらうより無いのではないか。お金になるのはもういっぽ先だ。

Rubyは行政の方がご執心なので仕事はある程度見込めるが、果たしてそれまでに使いものになるRuby使いが量産されるか…

2007-09-19

[]4日目

Eclipse経由を諦めてAptana IDEをそのまま使うようにした。

なんかこれは、まんまEclioseなのかもしれない。同じコードから作られてるのかな?

使いやすいよ。

昨日の続き

昨日の続きでこれをやった。

Windowsで簡単にRuby on Rails:Instant RailsAptana

http://japan.zdnet.com/sp/report/story/0,2000056431,20352478-3,00.htm

まずは、図11のようにテーブル名の単数形である「category」、「recipe」でそれぞれモデルを作成する。「GO」ボタンクリックするだけだ。

まったくもって何を言っているのかわからない。

そして図11なる画面をどこで呼び出すのかもわからない。

「みちこさん?パソコンを立ち上げるっていうのは縦に置けばいいのかいのぉ・・・?」

つまりはそういう感じだ。

うりうり探してたら、初期表示画面の画面下部のタグにGenerators画面があった。

scaffoldを実行とか書いてある。何これ趣味悪い。

scaffoldって絞首とか処刑とかそういう意味じゃなかったっけ?

足場っていう意味もあるのか。なんか違和感

で、なんなんだ!?

なんだかよくわからないまま連載終了。・・・くっ。

Aptana Eclipseプラグインで始めるRuby on Rails

Aptana Eclipseプラグインで始めるRuby on Rails

http://blog.codezine.jp/editor/2007/06/aptana_eclipseruby_on_rails_1.php

前にも見たことがあるこれにもどってきた。

現段階の環境構成でAptana IDE経由でRubyHello Worldを試す。さくさく。

おー。

この一連のコラムが、いままでの中で一番わかりやすかった。(目次はわかり難い)

ちなみにscaffoldの回のurlはここ。

http://blog.codezine.jp/editor/2007/08/ruby_on_railsscaffold_1.php

上のコラムをやって疑問点、へーっと思ったこと

Aptana IDEブラウザ内臓ってどこから呼び出すんだろ?

→下部WindowにあるServerタグのところにアイコンでLunchBrowserというのがあった。

ウインドウ:設定のところでFireFoxにも変更できる。

設定ついでにワークスペースエンコードの設定の欄を発見utf-8に変換した。

エンコードの状態をステータスバーなどに表示させておく方法はないのだろうか?探したが見つけられなかった。)

Generatorsタグが消えてしまった。

パースペクティブRubyになってた。これをRuby on Railsに。

Rake tasksを実行したりするとGeneratorsのプルダウンが出なくなる。なんでだろう?

ウインドウで新規ウインドウを開いたりして誤魔化している。

なんとかならないものか。

http://blog.codezine.jp/editor/2007/06/ruby_on_rails_migration1.php

RailsではmodelファイルDBのテーブルと対になります。

いわゆるO/Rマッピングというやつです。

へーーー!!そういう意味だったのか。

今日感想

今年買ったメーカー製のほとんど素のマシン

メモリを512MBしか積んでないのでページングしまくり

しかたがないのでこまめにテストサーバーを止めて対応。

IDE系統でメモリ食ってるのかな?落とすと300MB近くあく…。

1Gまでもっていかれちゃうと終了もままならなくなるので注意が必要そう。

Hello worldレベルでこんなんなってちゃ世話ない。

win系がダメなだけかな?

  • テーブル単体のI/Oはできるようになった。

複数を組込むにはどうしたらいいのだろうか。

さすがにheader/detailでDB参照したい。

追記:なんか少し調べたけどもしかしてRuby on RailsってO/Rマッピングオンリー…?

そんなまさか…。いや、いくらなんでも…。

http://www.web-career.com/seminar/ruby_on_rails.html

  • 今週中に予定していたアプリを作りこむのはムリ。

作る内容をもっとシンプルアイディア勝負なヤツに変えようとおもう。

[Ruby]3日目

http://anond.hatelabo.jp/20070918200857

2007-05-22

http://anond.hatelabo.jp/20070522180212

MVC意識してやれば今時PHPだろがPerlだろがそんなことにはならんと思うが?

2007-04-27

オブジェクト指向の良さ

自分も専門家って訳じゃないから、適切な説明ができるか判らないけど、

何よりも後から発生するだらだらした保守の時に真価を発揮するものだと思ってる。

オブジェクト指向で作られているなら、パッとそこだけ把握しなおせば修正もできるし追加もできる。みたいな(実際はそこまで単純じゃないけど、はるかに楽と言う意味で)

例えば、特定の機能をオブジェクト指向で作らず、ただの関数群で作ったとすると、その関数をまたがって使う必要のある共通変数は、引数なり戻り値なりで渡し続けなくてはいけない。

さらにその関数の呼び出しを制御している部分もでてくる。

なら関数群と変数と呼び出し制御をひとまとめにすればいいじゃない。ってのがオブジェクト指向なんだと思うんだ。

そうすれば、処理を呼び出し部分と呼び出し先で往復しなくても、内部で完結しているから把握しやすいと。

関数化する良さを判っているみたいだから、理解までもう少しなんじゃないかと思うんだけどな…

関数使いまくりじゃダメスクリプトHTMLが混入してたらダメ

これはオブジェクト指向というよりMVCとかそこらへんの話なんじゃないかな。

HTML混入の問題は、画面デザインや機能が変更になった時、わざわざプログラム部分まで修正に行かなくてはいけなくなってしまうから、HTMLプログラムとは別に作っておこうと言う意味合いがある。

客先から「画面デザインが変更になった」とか「フォームの配置が変わった」とか言われるたびにforだとifだのを駆使するのは無駄じゃないかと言う事なんだと思う。

とっつきにくく見えるかもしれないけど、覚えると抜け出せないほど便利だから、まずはぐっとオブジェクト志向に漬かってみよう。

ログイン ユーザー登録
ようこそ ゲスト さん