はじめてのweb serviceの作り方

いつも、ニートです。前回、はじめてのweb servicesというログを書きました。あいかわらず、誰も来ないサービス になってるけどな!今回は、環境構築を書こうと思います。こっちでも、書いたけどな!

構成

  • server
    • 言語 python 2.7.5
    • web frame work flask
    • 永続化 redis
    • nginx
    • uwsgi
    • amazon ec2 micro
  • front
    • jquery
    • twiiter bootstrap, bootswatch, awesome font
    • full calendar
    • coffeescript
    • less
  • 管理
    • yeoman(grunt)
    • bitbucket
    • hg

自分が毎日使うようなサービスを目指す

自分が毎日使うようなサービスを目指しました。人に使ってもらうということをあまり意識しないようにしました。 もちろんたくさんのユーザに使ってもらいたいですが、小さいところにこだわり過ぎてサービスイン できないことが怖かったからです。途中で挫折しかけたときに、これが功をそうしました。自分が不便だな と思ったら、その段階で直せばいいんです。修正できるような仕組みにしておくことが大切なんじゃないのかな。

自分が好きな言語で、小さいフレームワークを選択する

書いてて楽しい方がいいですよね!python 2.7.5とflaskを選びました。pythonで有名なframe workは、djangoとか pyramidとかあるけど、flaskを選びました。microと名乗っていたからです。micro frameworkなので求めている機能 がない場合もあります。そういう場合、extensionがあるかもしれないので、そちらを使います。snippetも 役立ちます。今回、sessionの実装や、メッセージキュー を参考にしました。
日本語ドキュメントもあります。ググるとこれと違うのが 出てきますが、こちらの方が新しいですね。翻訳してくれた方に感謝!他のわからないところは、stack over flow 頼みでなんとかいけました。

デザインが苦手だったので、巨人の肩にのろう

cacooを使って、ワイヤーフレームを書きました。それから、ガシガシhtmlやcssを書き始めました。はじめから htmlを書き始めると小さいところにとらわれすぎて可能性があるので、大枠から埋めていく作戦です。 twitter bootstrapを使うことによってワイヤーフレームどおりかけると見込んでいましたが、うまくいきません でした。ある程度のhtmlやcssのことが理解できていないと、デザインのとおりにかけませんね。 簡素すぎるところに、bootswatchawesome font をつかうことで華やかなが増します。

2013年10月01日 追記
startbootstrapは、デザイン初心者の助けになるかもしれない。

構成管理を楽にしたい

ソースコード管理はhg・bitbucket、ホスティングはaws、自動化ツールはgruntを使いました。gitとgithubはどうも 苦手で、hgとbitbucketはそれよりも楽です。hgの方がsubversionのコマンド体系と似ていたためしっくりきてたり、 bitbucketは日本語訳があったため楽でした。
gruntは、lessやcoffeescripのビルドやったり、ファイルコピーしたり、小さなタスクをまとめておけるので便利です。

まとめ

他の人の構成管理を知りたいので、書いてみました。
私のソースコードはここだす。早く働きたい!

参考にしたサイト

« はじめてのweb serviceを作った

blogのデザインを一新しました »

blog comments powered by Disqus

Categories

Uncategorized (rss) (2) | blogofile (rss) (2) | designpettern (rss) (3) | flask (rss) (2) | fluxflex (rss) (3) | java (rss) (6) | nginx (rss) (6) | python (rss) (8) | sacloud (rss) (3) | spdy (rss) (2) | thistownneedsguns (rss) (2) | webService (rss) (2) | zabbix (rss) (3) | さくらVPS (rss) (4) | 芸術は爆発しろ (rss) (3) |