「ruby on rails」を含む日記 RSS

はてなキーワード: ruby on railsとは

2014-04-20

SIerを辞めさせてくれなかったのでエロサイト作りました

結論から申し上げますエロサイト作成いたしました。

ゆーすけべーさんが以前に作ってたimeeroみたいな感じです。画像Blogスクレイピングしてエロ画像効率的に見るサイトです。

だらだらエロ画

なお、先程解約手続きを済ませたので4月末くらいに見れなくなりますエロサイト自体にあまり興味がなく、ローンチしたらやる気が無くなったのです。

主要な技術

生産性よりも憧れの昇華を重視しました。

テスト駆動開発がやりたく、DSLに強いロック魂を感じたRSpec

はやりに乗ってBootstrap

特にCapistrano名前キュートでやっていることがカッコイイのでどうしてもやりたい技術でした。

あと、メインとなるRailsこの記事に書いているスキルの中で唯一経験が無かったというのが一番の理由です。Rubyが好きなのもありますけどね。

辞めたい理由
会社を辞められない理由

いやぁ、退職しようとすると会議室で8時間説教されるって都市伝説じゃないんですね〜。

ところで転職活動をした感覚だと、今より給与が2倍出るところでも簡単に内定が出ることが分かりました。

転職活動やエロサイト作成を通して精神的な余裕も出ましたので、もう少しSIerのものの問題、仕事の進め方などを熟考した上で、本当に正しいSIerのあり方を考えたいと思います。無理そうなら逃げます

以上、よろしくお願いいたします。

2014-04-07

初音ミク3Dアクションクイズゲーム「ミクミク走ってQ!」を作って

個人でゲームを作ったので紹介します!

「ミクミク走ってQ!」はブラウザで簡単に遊べる3Dアクションクイズゲームです。ゲームルールは簡単で、クイズの問題が表示されて、回答の壁に向かって走るというものです。

http://mikumikuplay.com/quiz/

ユーザー登録なしでプレイできるのでぜひプレイしてみてください!

PCブラウザプレイできます

紹介動画: http://www.nicovideo.jp/watch/sm23275229

クイズの問題はWebサイトから投稿することが出来ます。問題の投稿にはユーザー登録(無料)が必要です。ゲームプレイユーザー登録不要です。

開発技術クライアントUnityサーバーRuby On Railsです。

詳しくはqitaに書いたのでそちらを見てください

http://qiita.com/yamarou/items/62d3f71f01adc7f2ebfa

プレイして感想とか改善すべき点とかコメントしてくれると嬉しいです!

2014-03-11

[][][][][][]

Ansible

Ansible

Playbooks — Ansible Documentation

railsbox - Fast and easy Ruby on Rails virtual boxes

Ansible入門 (全15回) - プログラミングならドットインストール

Amazon.co.jp: 入門Ansible eBook: 若山史郎: Kindleストア

Amazon.co.jp: Ansible Configuration Management 電子書籍: Daniel Hall: Kindleストア

Red HatがITオートメーションのAnsibleを$150Mで買収へ…OpenStackデプロイをDevOpsのために簡易化

Git Clone (スタートアップスクリプトID:112600117316)

指定Gitリポジトリをcloneし、指定の実行ファイル自動的に実行します。

拡張子が .yml のものは Ansible Playbook として解釈されます

パブリックスクリプト | さくらのクラウドニュース



terraform

https://github.com/philc/terraform

fog

fog - The Ruby cloud services library

https://github.com/fog/fog

virtualbox

Oracle VM VirtualBox

packer


vagrant

Vagrant

A list of base boxes for Vagrant - Vagrantbox.es

Discover Vagrant Boxes | Atlas by HashiCorp

itamae

https://github.com/ryotarai/itamae

Itamae - Infra as Code 現状確認会 // Speaker Deck

chef

All about Chef — Chef Docs

Amazon.co.jp: Chef実践入門 ~コードによるインフラ構築の自動化 (WEB+DB PRESS plus): 吉羽 龍太郎, 安藤 祐介, 伊藤 直也, 菅井 祐太朗, 並河 祐貴: 本


berkshelf

Berkshelf

berkshelf/berkshelf · GitHub

docker

Docker - Build, Ship, and Run Any App, Anywhere

Dockerにまつわる誤解 infoQ

Dockerにまつわる誤解

[翻訳] Dockerについてよくある勘違い | TechRacho

Salt



sunzi

kenn/sunzi · GitHub

puppet

Puppet Labs: IT Automation Software for System Administrators

fabric

http://www.fabfile.org/

http://www.slideshare.net/chikaram/fabric-rails-42153324

2014-01-28

スクレイピングがしたいから助言がほしい

Web上に転がっている情報プログラミングによって自動で拝借する技術を「スクレイピング」というらしい。

今まで欲しい情報を取得するときコピーアンドペーストを繰り返していたから、もし「スクレイピング」ができたらすごい嬉しい。


ぼくは阪神タイガースが好きだから阪神タイガース情報スクレイピングできたら楽しそうだと思った。

特に2軍の試合結果をスクレイピングできれば楽しそうだと思った。

だって、将来のスターは2軍で頑張っているからだ。あと、2軍の試合はいつも見れないからだ。


これは阪神タイガースの2軍ある日の試合結果

http://hanshintigers.jp/farm/score/score20131004.html


スクレイピングを使えばそれぞれの選手の成績を自動で拝借することができるだろうか。


もし、拝借することができたら毎日試合結果をグラフにしてみて、2軍選手調子を見てみたい。

2軍選手調子が良かったら1軍にあげたほうがいいかもしれないからだ。


あいにく、ぼくには相談できる人がまわりにいない。そもそも友達がいない。友達がいないから阪神タイガースが好きな友達だっていない。

スタメン談義はいつも一人だし、唯一話すバイト先の店長巨人ファンだ。


何をどうすればスクレイピングができるのか、よくわからない。言語pythonとかrubyとかruby on railsとかを使うといいらしいことは分かった。

プログラミング技術ほとんどない。昔授業でhello worldとかif文とかやったけど、もうほとんど忘れちゃった。言語パスカルかいうのだった。


もし助言がもらえて、pythonとかrubyとかruby on railsとかを使ってスクレイピングができたら、

みんなに公開したいし、スタメン談義をしたい。公開の仕方はよくわからないし、阪神ファンいるかからないけど、したい。

あと、グラフのやり方もわからなかった。


けど、する。


から、助言がほしい。

2013-11-14

Amazon、1円で買える本検索作りました

ついちょっと前まで、プログラミング素人でしたが、Amazonマーケットプレイスの1円本を買いまくって、はまってしまい、

もっとポチりたくなったので、作ってみました。宣伝かなと思いましたが、

http://anond.hatelabo.jp/20130124061507

こういった「エロサイト作ってみた」に大いに刺激されたので、一つの区切りとしてここで書かせていただくことにしました。

Amazon、1円で買える本検索

http://ichien.herokuapp.com/

◯なぜ作ったか

・1円本だけをもっと簡単に探して、もっとポチたかった

しかし、Amazonでは、1円本だけを対象にした検索はとてもしづらかった

◯なにができるのか

amazonマーケットプレイスの本の中から、1円で買える本だけを対象に検索ができる。

・常に100位までの人気順に表示しているので、ポチりたくなりやすい。

・著者名、タイトルから検索ができる。

◯使用した技術

HTML

CSS

Ruby

Ruby On Rails

Heroku

mysql

amazon - Product Advertising API

勉強方法

ドットインストール http://dotinstall.com/

 → ざっと全体像を把握するのに適していました。

本 (もともと、HTMLCSSは使えました)

はじめてのプログラミング → http://www.amazon.co.jp/%E5%88%9D%E3%82%81%E3%81%A6%E3%81%AE%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0-%E7%AC%AC2%E7%89%88-Chris-Pine/dp/4873114691/ref=sr_1_1?s=books&ie=UTF8&qid=1384405206&sr=1-1&keywords=%E3%81%AF%E3%81%98%E3%82%81%E3%81%A6%E3%81%AE%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0

Ruby on Rails 3 アプリケーションプログラミング → http://www.amazon.co.jp/Ruby-Rails-%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0-%E5%B1%B1%E7%94%B0-%E7%A5%A5%E5%AF%9B/dp/4774146633/ref=sr_1_1?s=books&ie=UTF8&qid=1384405245&sr=1-1&keywords=ruby+on+rails

基礎からMySQL → http://www.amazon.co.jp/%E5%9F%BA%E7%A4%8E%E3%81%8B%E3%82%89%E3%81%AEMySQL-%E5%9F%BA%E7%A4%8E%E3%81%8B%E3%82%89%E3%81%AE%E3%82%B7%E3%83%AA%E3%83%BC%E3%82%BA-%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9E%E3%81%AE%E7%A8%AE%E3%82%B7%E3%83%AA%E3%83%BC%E3%82%BA-%E8%A5%BF%E6%B2%A2-%E5%A4%A2%E8%B7%AF/dp/4797344385/ref=sr_1_7?s=books&ie=UTF8&qid=1384405287&sr=1-7&keywords=mysql

後は、ググりながら少しづ試行錯誤しました。

サーバーサイドはHerokuがいい

Herokuだと、ものすごく簡単にサービスを公開できますRuby On RailsHerokuの組み合わせは最強です!

と書いてきましたが、パズルの組み合わせのような感じで、調べて→調べて→調べて・・・が続くなので、モチベーションを保つこと

目標をはっきりと定めて、終わりを見えるようにすること、楽しみながらやること、が大切だと思いました。

Amazon、1円で買える本検索

http://ichien.herokuapp.com/

2013-11-03

http://anond.hatelabo.jp/20131102115722

JavaperlHTMLCSSJavaScriptの基本もやって今rubyやってる

Webアプリ向けの知識だね。

これと、データベースSQLiteとか)組み合わせれば、はてな匿名ダイアリーっぽいものは作れる。

Ruby On Railsとかのウェブアプリケーションフレームワークを使うと、ひな形アプリケーション自動生成して、それを自分拡張していくような作り方ができる。

2013-10-27

死ぬ前にセックスがしたいと思ってWebサービス作ってみた

仕事がツラくて死にたい。でもどうせ死ぬなら死ぬ前にセックスがしたい。

と思ってWebサービス作ってみた

作ったWebサービス

SEX AND DIE

http://sex-and-die.herokuapp.com/

死ぬ前にセックスがしたいと思う人たちが相手を探すサイト

セックスができたら生きる希望がわくかもしれない。

影響をウケたサイト

金くれ

http://kanekure.ssig33.com/

サイト構成

Ruby on Rails 4.0

Railsscaffold便利すぎ。むしろこれしか使ってない。

Railsの使い方はここで勉強

Ruby on Rails 4入門 (全28回) - プログラミングならドットインストール

http://dotinstall.com/lessons/basic_rails_v2

元々Rails3版はやってたんだけど、Rails4になってStrong Parametersだったり変更されてる部分がちらほらあったから、Rails3しか勉強してない人はひと通り見てみるといいかも。

bootstrapが便利らしいけど、デザインにこだわる必要はないなと思ったので省略。

jqueryアニメーションとかajaxとかしないので使用せず。

認証はomniauthでtwitter認証できるようにした。

匿名で書き込めるようにする・ユーザー登録してもらうというのも考えたけど、匿名で書き込みは、書いたあと応募してきたセックス相手との連絡が取れないし、ユーザー登録はいちいち新しいWebサービスの登録をするのはめんどうだろうな(ってか自分はめんどう)と思ったから、twitter認証を入れることにした。

twitterで登録しているID名前写真を使えるのでいちいちユーザー登録必要もなし。

詳細はtwitter経由でやり取りしてもらえればって感じです。

omniauthの導入はここを参考にした。

ASCIIcasts - “Episode 241 - 簡単なOmniAuth”

http://ja.asciicasts.com/episodes/241-simple-omniauth

heroku

heroku可愛いよ、heroku

Railsの作ってgitpush!とっても楽ちん。

とりあえずは無料で使えるのも非常に嬉しいところ。


一部ハマったところもあったけど、そのあたりはherokuの公式マニュアルに書いてあった。

日本語でまとまってるサイトいかなーと漁ってみたけど、すなおに公式見るのが一番早かった。


■注意ポイント

Gemfileに以下を追記

gem 'sqlite3', group: [:development, :test]
gem 'pg', group: [:production]
gem 'rails_12factor', group: :production

最後

よっこらせっくす。

2013-10-26

ローンチしたサイトに人がこない。

作った理由

アイデア

テーマ

コンセプト

システム構成

VPSサーバAWS EC2
言語Ruby2.0p245
フレームワークRails4.0
画像リサイズcarrierwave
ストレージAWS S3
DBAWS RDS



処理はRuby on Railsで実装。 ログイン処理はdevice 画像アップロードリサイズはcarrierwave carrierwaveってすごいのね。たった数行書くだけでアップロードした画像を複数サイズリサイズし、S3に保存までしてくれますインフラ周りはAWSにお任せ、THE最小構成ですね。 同時に7人アクセスしたらあぼーんです。 本来ならELBとAuto Scalingでミディアム2台くらい使いたいところですが、我慢。 RDSもmicroインスタンスなんで、これもクソ遅いらしいですが、ゆくゆくはミディアムにはしたいです。 あと、前回作ったWebサイトAMIを利用したんですが、本当に便利ですね! 動くものを作るまでの時間がほぼ0でした! AWSは個人利用者には少々割高かと思いますが、こういった便利なところがいいんですよね~。

及第点

その他

その他

色々書いたけど、ここまでの文はリリースしたときテンションがあがってた時に書いた文なののよね。

ぶっちゃけローンチして一ヶ月たつけど、登録数4人。しかも全部知り合い。

しろ流入0。見つからなければ存在しないに等しい。

興味があったらみていただければと・・・と思ったけど宣伝乙とか言うんだろ。

実装から今まで頭の中で思い描いたことの9割は裏目にでてるか失敗してるかうまくいってない。

こんな難しいのか、サイト運営って。

http://choistyle.net/

2013-09-18

Ruby on Rails可愛い子が集まるエロサイトを公開するまでの24H

仕事で3ヶ月ほどRuby on Railsに触れる機会があったので、色々と調べているうちにRailsエロサイトを作るのが流行っているというのを知りました。

そこで、自分でも作ってみようかと思いました。

2番煎じなのは重々承知ですが、とにかく作ってみることが重要なのです。

最低限、自分で使うことが出来るレベルにはしたいと思います

今回のエントリでは、個人的にエロサイト作成して公開するまで自分でやった方法を紹介します。

※公開後の状況なども書き込みします。

作成したサイト

可愛い子が集まる動画共有サイト

CuteClipper : http://cuteclipper.night-generations.info/

目標

準備するもの(私の環境

目次

  1. ( 0:30)作成したい機能を考える
  2. ( 1:00)ドメインを取得する
  3. (12:00)アプリ作成する
    1. 基本部分を作成する(rails new)
    2. Xvideosをスクレイピングする(gem : nokogiri)
    3. 動画管理タグで行う(gem : acts-as-taggable-on)
    4. 動画ストック機能追加(javascript)
  4. (16:00)本番環境で動かしてみる -環境周り-
  5. (17:00)Google Analytics / ウェブマスターツール に登録
  6. (20:00)公開の準備をする
  7. (24:00)公開
  1. 今後の野望

( 0:30)作成したい機能を考える

既にあるものなら新しく作る必要はないわけで、、、今回は自分の使いたい機能を作ってみました。

Xvideosの動画サイトの多くは、動画を選択すると他のサイトブログみたいなやつ)に飛ばされてしまい、

そのサイトで、動画のある場所を探さないといけないことが多くてめんどくさい。

動画がないこともシバシバ

自分で作るのならh300さんのように分かりやすサイトにしたいと思いました。

たくさんの動画を観て廻るものの、本当にいいと思う動画は大体3本くらいです。(自分場合

なので、3本まで動画ストックする機能があるといいなと思いました。

( 1:00)ドメインを取得する

今回はムームーさんでドメインとりました。

本番環境herokuドメインの設定も簡単で助かりました。

(12:00)アプリ作成する

基本部分を作成する(rails new)

rails newしてdb作成して、基本的なアプリ作成しました。

Xvideosをスクレイピングする(gem : nokogiri)

動画情報の解析のため、RailsGemのnokogiriを使用しました。

nokogiriはhtmlなどの解析をして、情報を取得することができます

Ruby - Nokogiriでスクレイピング - Qiita [キータ]

動画ストック機能追加(javascript)

動画ストック機能javascript作りました

WebStorageを使用してストックしています

//localStrage.setItem("key","value");
localStorage.setItem("test","テスト");

//localStrage.getItem("key");
localStorage.getItem("test"); //"テスト"

こんな感じで、DBを使わずストックが可能です。

レイアウト改善(gem : twitter-bootstrap-rails)

レイアウトにはあまり時間を掛けず、bootstrapを利用しました。

殆ど時間を掛けずにそこそこのレイアウトが作れます

twitter bootstrap railsを使ったら職が見つかり彼女も出来て背も3センチ伸びました。 - ppworks blog

タグクラウドを実装(gem : acts-as-taggable-on)

タグクラウドはacts-as-taggable-onで簡単に実装できます

備忘録.りくわいやー

(16:00)本番環境で動かしてみる

とにかく本番環境デプロイするんだ!!

ということで、ここまでで出来上がったものを本番環境にアップします。

本番環境にはherokuを選びました。

herokugitpushをするだけで簡単に本番環境デプロイ出来ます

とにかく動かすという目標のためにはherokuベストチョイスです。

スピードに関しては、海外サーバという点が難点ですが、今回はjavascriptをメインにしたことで、それほど問題はありませんでした。

(17:00)Google Analytics / ウェブマスターツール に登録

サイトを公開する場合、解析が必要となります

解析の仕方を覚えるためにもGoogle Analyticsを使用しました。

(20:00)公開の準備をする

公開の準備として以下の作業をしました。

ただ、公開することを最優先にしたので、しっかり作りこんではいないです。

  1. title,キーワードなど基本的なSEO実施
  2. ソーシャルブックマークTwitterなどのソーシャルボタンをつける
  3. googleクロール申請をする
  4. この記事を書く

(24:00)公開

公開します。

今後の野望

動画投稿をみんなでできるようにする。

今の投稿方法だとエラーが発生しやすいので修正してからじゃないとなぁ

ストック回数の多い順にソート出来るようにする。

ストック回数のカウント機能は実装してあります

後は、並び替えるだけなんですが、まずはカウントが貯まるまではソートも何もないので・・・

動画の評価を出来るようにする。

ストック回数だけじゃ物足りないので、評価をつけれるようにしたいです。

Xvideos以外の動画も観れるようにしたい。

もっとたくさんの動画を観たいよね。

まとめ

Webアプリを作ること自体は、思っていたより簡単でした。

でも、たくさんの人に使ってもらえるものを作るというのは、とても大変ですね。

今回、CuteClipperを作りながら、他のWebアプリを観てきました。

オリジナリティアイデアの優れたアプリが沢山あります

そういうアプリの中で、自分アプリを埋もれさせない努力を続けていかないといけないですね。

がんばります。というやる気がでました。

2013-08-26

初めてのRailsサイト作った人が使ったGemリスト一覧

ども。

以前、はてな匿名ダイアリー日記を書いた者です。

【Ruby on Rails勉強】 xvideosまとめサイトっておいしいの?

上の記事でも書いていますが、Railsはおろか、Rubyを初めて触った人間ゼロからWebサービスリリースするために利用しているGemを公開したいと思います

作ったサービス

サイトonalife(オナライフ)
URLhttp://www.onalife.com
説明xvideos動画の共有・ユーザー参加型のまとめサイト

使っているGem

sqlite3

developmentモードで起動する際のデータベースsqlite3を使うようにしています

コーディングサーバー起動→動作確認→コーディング…という流れになりますが、サーバーを起動する際に、

$ rails s

と実行するだけでサーバーが起動できるため大変手軽です。

サーバー起動後はブラウザhttp://localhost:3000/アクセスすれば開発用のサイトを確認できます

mysql2

productionモード(本番環境)で利用するのはMySQLを使うようにしています

理由は他のWebサイトで推奨されていたため。

sqlite場合だと、単純にDBデータファイルとして扱っており、同時に複数アクセスがあった際、最初アクセス中にファイルロックされてしま仕様との記事をどこかで見たため、MySQLを使うようにしています

developmentとproductionで動作を分けるには、 config/database.ymlで分けることができます

development:

adapter: sqlite3

database: db/development.sqlite3

pool: 5

timeout: 5000

production:

adapter: mysql2

database: production.mysql

encoding: utf8

pool: 5

username: <yourname>

password: <password>

timeout: 5000

kaminari

pagenation系のド定番ですね。

よくWebサービスのページ下にある [1][2]・・・[X]といったリンクが表示されている、あれです。

http://memo.yomukaku.net/entries/238

https://github.com/amatsuda/kaminari

unicorn

Unicorn + Nginx + Rails で構築しています

効果の違いなどはGoogle先生質問すると大量に返答がありますのでこちらでは割愛

体感的にもかなり違います

nokogiri

スクレイピングするのに使っています

ONALIFE(オナライフ)では、xvideosの動画URL画像パスを抜き出す為に、こちらのGemを使っています

HTMLブロック単位で抜き出せるため大変重宝しました。

http://himaratsu.hatenablog.com/entry/2013/04/27/002249

http://nokogiri.org/

acts-as-taggable-on

タグ機能を簡単に実装するためのGem

これは捗る。超絶オススメ

サイトタグ機能はこちらで一瞬のうちに導入できました。

自作するとなるとかなり労力使いますから…こういったところは極力他の人が作ってくれたものを流用してもバチはあたらんでしょう。

https://github.com/mbleigh/acts-as-taggable-on

typus

管理画面を一瞬で作ってくれるGem

通常だと管理画面も rails g xxx とかやって controller 作って、 view 作って…とかやらないといけませんが、こちらのGemを使うと一瞬で終わります

素晴らしい!!

サイトでは、投稿していただいたxvideosの動画が不適切な場合などに消去する必要があるため、どうしても管理者向けの画面が欲しかったのでこちらを使いました。

データベースを直接操作して delete とかできちゃいます

http://www.func09.com/wordpress/archives/1136

google-analytics-rails

Webサイトを作る上でアクセス解析というのは必須です。

自分サイトアクセス傾向を解析して、どうすればアクセスが伸ばせるか、ということを考察するのに必要不可欠な機能です。

通常、Google Analyticsサイトを登録すると、Javascriptコードが生成されるので、それをWebサービスに貼り付けるだけで完了ですが、こちらのGemを使うと、Google Analytics で生成されるID番号のみを登録するだけで自動的に挿入されるようになります

コードがごちゃごちゃしなくなるので可読性が上がります

最後

まだONALIFE(オナライフ)は発展途上のサービスです。

機能拡張していくうえで、先人たちのありがたいGemをどんどんこれから活用していければ、と思っています

みなさんもこれは便利!というお勧めGemがあれば是非教えて頂ければと思います

トラックバックコメントとかでも大歓迎です!

以上、ONALIFE(オナライフ)で利用しているGem一覧の紹介でした。

参考サイト

http://anond.hatelabo.jp/20101206224349

http://anond.hatelabo.jp/20101203150748

http://anond.hatelabo.jp/20120914214121

http://anond.hatelabo.jp/20130120190550

じゃあの。

2013-08-23

Ruby on Rails勉強】 xvideosまとめサイトっておいしいの?

Webサイトはこんなもの


スペックは?
サイトonalife(オナライフ)
URLhttp://www.onalife.com
説明xvideos動画の共有・ユーザー参加型のまとめサイト

2013年9月1日現在でxvideosのみの対応です。

コンセプトは?

Webサービス勉強には「アダルトサイト」という記事をはてなの記事で何回か読んだことがあるため、今回は便乗しました。

ありきたりかも知れませんが、「Xvideosから誰でもお気に入り動画を追加してまとめる・みんなで共有」できるサービスを作ります

試験リリースです。

協力していただける方は、サービスを使っていただいて、要望コメントしていただけると助かります

http://ja.wikipedia.org/wiki/PDCAサイクル

ではないですが、

試験リリース → テスターによるテスト → 問題抽出 → 問題解決のためのプラン → 解決 → 最初に戻る

を繰り返していき、

などを考察していければよいと思っています。(あくまで勉強目的

考察結果はこちらのブログで随時報告予定

現時点で広告フリーです。

エロサイトユーザー登録

ありません

だって恥ずかしいし、煩わしいよね

動画登録だけ?好きなシーン見たいんだけど?

シーンを登録してください

仕様は?

今回どうしても満たしたい仕様は以下です。

  1. xvideosの動画を(誰でも)追加できる
  2. 動画のシーン情報サムネイルを選択・記録できる
  3. シーン情報サムネイルで一覧表示できる
  4. タグ機能
  5. いいね!ボタン

検索

とりあえず、タグから一覧表示できる機能を作ったので後回し。

要望あれば検討ということにしました。(他に優先すべきことが多々あるため)

作ったのはこんなひと

自己紹介は?
お仕事主に組み込みLinux
Web開発経験なし(Wordpressを昔にちょこっと触った程度)
私の能力は?
プログラミング10年目くらい
使える言語C言語、ShellScript、PerlMake
お触りした言語C++C#VisualBasicPython



舞台裏

なぜ組み込みLinux屋がWebサービス

時代の流れに乗ろうかと。

仕事内容は主に組み込みLinuxです。Linuxカーネルごにょごにょしたり、開発環境の整備(プロジェクト全体のMakefile管理)、システム部分の機能実装などをやっており、PythonRubyといった言語には縁がない状況です。

から機会があればRubyPythonPHPとかでWeb系の知識も身につけたいと思っていましたが、今回思い切って勉強しようと思いました。

勉強はどうやってやった?

皆さんの中にも新しい言語勉強するときに、とっかかりがよくわからなくて諦めた経験を持っている方は結構いらっしゃるのでは?

インターネット検索するといろいろなサイトが出てきますが、なかなかゼロから学習するのには向いていない場合が多いです。

そ・こ・で!

私は以下のサービスを使いました。

ドットインストール:bookmark

Ruby on Rails動画を何度も見て、基本的なプロジェクトの立ち上げ方・コーディング方法などが学べました。

プログラミングに当てた時間は?

思い立ったのは、2012年12月末。

では、なぜここまでリリース時間がかかったのか?

→単純にプライベートも充実させたかたから。

すみません、サボってたからです。

力を入れていた時期ですら…
平日1時間/日
休日2~3時間/日

こんな程度です。

力を入れていない時期は?
平日 0時間
休日 1時間/日

平日は1時間未満が多かったですね。

ドットインストールの講座を1・2個見て終わりというような感じでした。

モチベーション持続の秘訣は?

無理をしない、です。

私のように、長いスパンでコツコツ積み上げていくのがよいのかもしれません。

短いスパンリリースしようとすると、1日あたりの学習プログラミング時間が相当確保しないと難しいように思います

この時間を確保することの困難さがモチベーションの低下の原因ではないかと思います

短い時間学習サービスリリースするには、少なくとも…

一日平均4時間(休日含む)でやれば1カ月から2カ月くらいでそこそこのサービスリリースできそうです。

私は無理ッス…休日は買い物やデート行きたいよね!!

最後

結構はてなで「初心者Webサービスリリース」なんて記事を見ますが、みなさん本当にすごいな、と感じました。

自分でいざサービスを立ち上げてみて、初めてわかることもたくさんあります

プログラミング仕事しているにも関わらず、ベータ版リリースまで約半年ほどかかってしまいました。(そもそも時間をそれほど確保できなかったのも原因ですが)

http://www.onalife.com

もしよろしければwebサービスを使ってみて不満点をコメント欄にでもどんどん記入してください!

今後の参考にしたいです!

使い方

# ヘッダーのAddクリック

# xvideosのURLコピペ

# タイトルサムネイルタグ、説明を記入

# これだけで動画追加できます

タグはなるべく詳細に入れてもらえると、自動的に動画を関連付けます

タグ名をクリックすることでタグ検索も可能になるなど、ベネフィットも多いです。

じゃあの。

2013-07-24

便利なものはどんどん使おう

今すぐ辞めて欲しい、「Ruby on Rails勉強してます」「CakePHP勉強してます

http://blog.sumyapp.com/2013/07/no-recommend-rails/

とか、

Ruby on Rails勉強しない方が良い100の理由

http://ledsun.hatenablog.com/entry/2013/07/24/112644

とか。

便利なものはどんどん使いましょう。

でも、それだけだと行き詰まることもあるから勉強しようぜ!

って何で言えないんだろう。

2013-07-02

非コミュ限定のチャットサービス作ってみた

友達がいなくてひとりぼっちな人のための、「ぼっちチャット」というチャットサービスを作ってみました。

非コミュ専用で、ChatPadのようなものを目指して。

今は大学生やってるんですが、(悲しいことに)時間があったので、

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

自分について

都内大学生

だいたいこんなヤツです↓

プログラミング趣味ちょっと。これまでに完成したものは少ない。

作ったサービス

ぼっちチャット

http://bocchi-chat.com/

ぼっちの人同士でヒマを潰すためのチャットです。どこかのぼっちの方とチャットお話ができます

以下の条件に当てはまる方であれば、どなたでも利用可能です。

  • いま一人
  • 友達がいない
  • とりあえずヒマ
  • 誰かの話し相手になってあげたい
  • ぼっち仲間と話したい

作った経緯

大学友達がいないので。

自分と同じような非コミュが集まるWebサービス作ってみたかった。

使用したサービスとか

http://vps.sakura.ad.jp/

http://www.value-domain.com/

使った言語フレームワークなど

流行りのRuby on Rails作成

Rails使用経験は、過去掲示板風のシステムを作ったくらい。

データベースMySQLを使った。

使用経験は、掲示板作成時に使った。

チャットの動きはjQuery作成

勉強に使ったもの

基本的にネット勉強

読んだ本は、

RailsによるアジャイルWebアプリケーション開発

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

だけ。

ドットインストールにはお世話になりました。

http://dotinstall.com/lessons/basic_rails

jQueryの書き方はググりまくり

とりあえず完成

約1週間くらいでひとまず完成。

デザインはこれからがんばります

今後やりたいこと

作ってみてわかったこと

2013-04-25

ロゴ制作料なんて5000円で十分な訳

 

オシャレハットマン家入ホリエモンが「ロゴなんて5000円で十分でしょ」と言って批判されているらしいけど、それってもう英語圏では遠い昔に通り過ぎた話なんですよね。その辺のwebサービスとかのロゴなんて5000円が適正相場になってるのが英語圏現実です。本当に日本人というのは頭が古いと言うか井の中の蛙というか、日本語という壁に守られて温々育っちゃって時代遅れの主張をよーいドンで一斉に始めちゃう恥ずかしい所がありますねえ。

 

英語圏ロゴ制作の現状

そりゃ名だたる企業ロゴだったらそれなりの制作料になるわけですが、小さい企業とかローンチしたばかりのwebサービススマホアプリなどのロゴ10万以上かけて作る人はもう絶滅しました。いません。死にました。今のトレンドは「テンプレートから既成のロゴを選択して、+自分企業名のフォントだけを手作業でデザイナーに入れてもらう」形式です。つまり同じロゴを使ってる企業サービス世界中にたくさんあるわけですよ。たくさんあるって言っても世界は広いかほとんどバッティングなんてしないわけですね。例えば最近見たパン屋さん向けのロゴで人気のものは15件も売れてるわけですが、世界中にいくつパン屋さんってあるんでしょうか。星の数ほどありますね。だから被ってたって問題にはならないわけです。それが2013年ロゴに対する世界の人々の普通感覚です。

 

ロゴ制作ぐらいでクリエイティブと名乗れる時代は過ぎた

インターネットスマホアプリの普及のお陰で、ロゴに対する需要1990年に比べると15倍になったそうです。今や一般のブロガーですら自分ロゴを持つ時代ですからね、そのぐらい増えてても不思議ではありません。それに対して、ロゴを軽く作れちゃうぐらいのデザインスキルソフトを持っている人は20年前から比べるとなんと50倍になったそうです。供給量は需要の伸びを大幅に超えてるんですね。これがロゴ価格低下の最もたる原因の一つです。あんな二次元適当仕事クリエイティブなんてもう恥ずかしくて名乗れない時代なのです。(もちろんトップクラス仕事は別ですよ、あくまで下の方ってこと)

 

実例

こういった傾向は別にデザイン業界に限りません。例えばほんの8年前、2005年当時を振り返ってみましょう。

MovableTypeちょっとしたブログを書いているだけでネットメディアから取材が来ました。

CSSに詳しいというだけで書籍出版できちゃいました。

Ruby on Railsに詳しいというだけでRuby界で一目置かれました。

どれもこれも、今はその辺の20歳大学生でもできるレベルですよね。それがたった8年前はもてはやされてたわけです。

 

クラウドソーシングますます単価は下がる

ランサーズ(http://www.lancers.jp/)などの例を挙げるまでもなく、クラウドソーシングサービスによってますますクリエイティブの単価は下がっています。需給のミスマッチ価格を押し上げる方向に働きますが、ランサーズのようなサービスによってロゴ作れる人とロゴを欲している人がいとも簡単に繋がれるようになって、つまり需給ミスマッチ改善されている訳ですが、それによって何が起きるかと言うとますます価格が下がるんです。当たり前です。どんな世界もこういう風にできてます。この理屈がわからない人は学部一年生が読むような経済学教科書でも読んでから出直してください。

 

ロゴ5000円に反発している人は頭が古い、以上

僕みたいなデザイナーですらロゴ5000円は仕方ないかなと受け入れてますだってブランドCIも無いようなその辺の小さな事業主向けのロゴなんて、理屈理念へったくれも無いわけです。事業主の個人的な趣向に合わせてなんとなーーーく小綺麗なロゴを作るだけの仕事です。そんな仕事はもうまともなクリエイティブを持った人間はやってませんよ。そういう仕事で飯が食える時代はとっくの昔に過ぎたんですね。

 

なんだかこの手の話に毎回妙に怒る人いるじゃないですか。デザイナーでもないのに。なんなんでしょうねああいう人って。誰のために怒ってるの?デザイナー権利のため?それとも社会のために正義を訴える自分に酔いたいから?こんなくだらないことに怒る暇があったら他に怒るネタはあるでしょう。怒るべきネタが。ほんと暇人ですよね皆さん。

 

僕らデザイナーは怒る暇があれば勉強します。僕は毎日2時間割いて、新しい技術世界デザイン趨勢・他文化勉強・異業種との情報交換・ヘルニアにならないための運動などなど、生き残る為に必死で頑張ってます。怒ってる暇があれば勉強するのがどんな世界でも生き残るための唯一の策なんですよ。デザイン業界グローバルな流れも知らないで、感情論で「5000円は安い!人権侵害だ!」って、そういう人はサヨク活動でもやってたらいいんじゃないですか。もうそういう時代じゃないんです。

2013-02-26

オンラインブックマークサービスを作ってみました。

「らびっとブックマーク

http://rabbit-bookmark.com

管理をする」ことに重点を置いた(ノンソーシャルブックマークサービスです。

■作ったいきさつ

ブラウザブックマークが貯まりに貯まってたので、ブラウザじゃなくてオンライン管理しようと思ったところ

丁度いいブックマークサービスが無かったので

「じゃあ自分で作ってみるか」

ということで作りました

はてブは?

もちろんはてブでもブックマーク管理してたんですが「もっと一覧性が高かったらなぁ」とか、「ラベリングができたらいいなぁ」とか、

単純に管理するという点に注目したときもっと機能が欲しいと考えました。


制作について

製作期間は2ヶ月くらい。

使った言語PHPで、フレームワークは「CodeIgniter」というものを使いました。

日本CodeIgniterユーザ会」

http://codeigniter.jp/




Webサービス制作で紆余曲折した話

実はプログラミング勉強は1年半ぐらいやってて、Webサービス(のプロトタイプ)をいくつか作ったことがありますが、リリースまで出来たのは今回が初めてです。

最初流行の「Ruby on Railsから勉強しました。

本を買ったり、ネット上のチュートリアルを参考にしたりしました。

流行だったこともあって、情報収集にはそこまで困りませんでした。

そこで当時考えたToDoリストゲーム性を加えたWebアプリを作ろうとしたんですけど、どうしても本番環境へのデプロイができなくて、そこで挫折…。

デプロイだけで2~3週間ぐらい奮闘してたと思います。)

ならば別のフレームワークを!と思って次に手をつけたのがPythonフレームワークDjango

Railsより動作が速く、もともとPython勉強してたこともあり、親しみを持てた一方で書籍ネットでの情報が少なくて苦労もしました。

簡単なアプリを作ってデプロイを試みたんですけど、結局こちらでも成功まで辿りつけませんでした…。

サービスを作っても公開できなきゃ意味ないじゃん!」

と焦り始めたところで、次に目をつけたのがPHPの「CakePHP」でした。

PHPを使ったら負け」みたいな文言ネットでよく見かけていた

(結果として今現在かなりお世話になっていますが)

ので、あえて敬遠していたのですがここまでくると手を出さずにはいられませんでした。

結果から言うとこちらは先の2つでの苦労が嘘のようにいとも容易くデプロイができました。

このままCakePHP制作を進める予定でしたが、何故かここら辺で別の事に手を出して、構想していたToDoリストアプリの制作を中断しました。

そして数ヶ月の空白期間を隔て、今回のオンラインブックマークサービスネタを思いつきました。

その間に出会ったのが「CodeIgniter」というフレームワークで、CakePHP同様PHPベースですが、こちらは軽量フレームワークです。

動作が速く、学習コストも低いのが魅力的でした。(デプロイも簡単。)

ということでこちらを採用して制作し、今回リリースまでこぎつけました。

これから独力でWebサービスを作ろうと思ってる方は、使うフレームワークの仕組みだけでなく、本番環境デプロイすることまで見越した勉強をしないと

自分みたいにフレームワークに左右されて余計な時間を取られてしまうので、その辺は注意した方がいいかもしれません。

(ただそれらを通して学んだことは無駄にはならないと思います。)


感想

今回実質の製作期間は2ヶ月くらいでしたが、それに至るまでの勉強も含めるとかなりの時間と労力を費やしていて、Webサービスをちゃんとしたサービスとして

リリースするのは本当に大変なことだと痛感しました。

立ちはだかる壁としては

技術がなぁ…

デザインがなぁ…

↓(ある程度の妥協

デプロイがなぁ…

宣伝がなぁ…

運用がなぁ…

みたいな感じだと思います

最近はてブでも「Webサービス作った」系のエントリが上位に昇っていますが、

素人でも独力で数ヶ月でサービスを公開してしまう方は本当にすごいなと感じました。

自分はまだ勉強中の身で至らないところもありますが、どうぞよろしくお願いします。

2013-02-11

無職になって暇だからWebサービス作った

もうすぐ30歳になるのに、昨年末職場がなくなりハローワークに行っても求人が無いので

PHP ruby Nginx WordPress Bootstrap を使ってWebサービス作りました

作ったサイト

SKE48過去ブログ

http://skeblog.48matome.com/

名古屋栄を拠点に活動しているアイドルグループ

SKE48オフィシャルブログを保存して表示するサービス

なぜ作ったのか

今までバックエンドしか作ったことがなく、フロントエンドをやりたかった。

趣味でやっていて目標の物を作ったら満足し、継続してやらない。

なので今まで覚えてた事を忘れて一からやり直す事が多かった。

じゃあ。仕事決まるまで毎日触ってればいいんじゃね?

とゆう勢いで…

Rubyも覚えたかった…

構成

Bootswatch

PHP Simple HTML DOM Parser

Mechanize

スクレイピング

■対象ブログ仕様

  • 最新記事のみ無料で閲覧可能
  • RSSで全文を取得出来ない。

スクレイピングしなきゃ!

いつもスクレイピングSimple HTML DOM Parser

メモリとかエラー処理をしないと。

ここでRubyに同じようなのが無いか検索

http://t-taira.hatenablog.com/entry/20120429/1335658939

「なにこれRubyすごいこんな数行で」

ここからドットインストールRuby勉強しました。

Rubyの読みやすさと書きやすさに感動。

RubyスクレイピングしたデータMYSQLに保存までは完成。

どうやって表示しよう…

次はサイトをどうしようかと考え…

cakePHPかな…

Zend Frameworkかな…

いや!ブログ掲載するんだからCMSだ!

WordPressに決定。

デザイン

一番時間がかかった…

デザインは昔からまったく出来なかったので Bootstrap に。

そして検索して見つけたのがBootstrapのテーマ

  • Bootswatch

http://bootswatch.com/

デザインが出来ないから仕方ない!

http://dotinstall.com/

ドットインストールでBootstrapを勉強しました。

WordPressテーマ

デザインWordPressテーマに変換

http://webdesignrecipes.com/first-time-wordpress-origin-theme/

ここを見ながらテーマに落としていくのは簡単でした。

カテゴリでページングなどするために関数を追加

http://elearn.jp/wpman/

WordPress初めてなのですごく参考になりました。

Webサーバー

Apacheテスト環境テストすると表示が遅すぎる…

nginx高速化出来るみたい。

http://kray.jp/blog/wordpress-tuning/

http://tech.aainc.co.jp/archives/3022

nginxシンプルな設定ファイルに感動

まとめ

Webサービスを作って公開するのが、こんなに楽しいとは思わなかった。

特に今回作成したもの自分必要とするものだったので。

次はCakePHPとかフレームワークを覚えて新しいサービスを作りたい。

ruby on railsもいいな

でも、早く再就職したいです…

2013-02-06

もしプログラミング初心者新人に基礎教育を施すなら

オープン系のデスクトップアプリ開発、Webプログラミングシステムプログラミングを仕事にする人向けとして考えてみた。

学習環境Ubuntu Linuxで、デスクトップ上のターミナルか、WindowsからTeraTermsshログインして行うことを想定。

なので前提知識としてLinuxabcくらいは教えておくとして、もし来年度やるならこんなもんかな。

結構分量多めだけど、これでも基礎の基礎に絞った感じ。


  1. Pythonで学ぶ手続き型プログラミング
  2. Javaで学ぶオブジェクト指向
  3. C言語で学ぶメモリの仕組み(主に配列ポインタ構造体関連)
  4. Perlで学ぶ文字列処理(正規表現ハッシュCGIを含む)

おまけ:Pythonで学ぶ関数型プログラミング


なお、上述のカリキュラムでやらない言語(VBjavascriptC++Objective-CC#PHPRubyなど)やWebフレームワーク(DjangoRuby on Railsなど)は、全てこれらの応用で覚えられると思うので、基礎教育終了後に各現場にてOJTで習得してもらう。

IDEも使わないけど、はじめの一歩で軽量エディタ+コマンドラインをやり込んでいれば正直どうにでもなるので省略。

あと最後がおまけ扱いな上にLISPで学ばないのは、要するに「リストすげー!超すげー!!」という感動を胸に今後も頑張ってもらうのが狙いなので(だって現状使う機会殆ど無いし)、最初にやって一番手に馴染んでいるツールで、理解のコアになる部分にサクッと触れて欲しいということ。


ちなみに来年度、自分教育係になる可能性は今のところ無い。

2012-12-12

Ruby on Railsアダルトサイト作ったよー

例に漏れ件のエントリーに影響を受けまして、Ruby on Rails を利用したサービスを作ってみました。

一つもアクセスがないため宣伝ついでに利用したgem作成する際に参照したサイトを載せますので、「Rails初心者っす」とか、自分と同じく「そもそもプログラミングとか知らねっす」という方はちょっとしたナレッジとしてご活用くださいまっせ。開発ガンガンやってる方には価値ある情報たぶんないよー。

作った人

とどのつまり性的健康青年休職中で暇でした。

作ったもの

シコったサイトクリップするのでシコリップ

動機

シコったオカズウェブ上にクリップするサービスで問題解決?

開発環境

最初Mac標準のエディタで書いてたけど、どこかの記事を読んでからは「Sublime Text 2 (http://www.sublimetext.com/)」に乗り換えました。すごく…便利です…。ターミナルMac標準のアレです。オススメがあったら教えてください。

gem

プロセス

完成までにやったこと、実装するために参考にしたサイトを並べます

RubyRails環境を構築する。(http://www.oiax.jp/rails/rails3/install.html)

簡単にウェブアプリの土台を作れるScaffoldという機能を使って遊んでみる。(http://www.techscore.com/tech/Ruby/Rails/quick-start/Rails4/4-1)

行き詰まったので本を買う。(たのしRubyRuby on Rails 3 アプリケーションプログラミングRails 3 レシピブック)(※ 同タイミングで買ったわけではないです。簡単にウェブアプリを作るだけなら「Ruby on Rails 3 アプリケーションプログラミング」とインターネット接続できる環境があれば十分だと思います。ていうか他の二冊はまだ全部読んでない。)

ひと通り分かった気になり、作りたいものを作る作業へ。

$ rails new sicolip

こちらを参考にシコシコ適用

色んなgemがあって迷う。

・Device(https://github.com/plataformatec/devise)
・omniAuth(https://github.com/intridea/omniauth)

でも、

・Deviceはメールアドレスでの認証
・omniAuthはtwitter/fb認証

個人的に

エロサイトメアドを登録したくない
・エロサイト認証twitter/fbってなんか怖い

ということで、自前で実装。has_secure_password(gem:bcrypt-ruby) を利用する。

ここここを参考に。

サイトクリップURL投稿)したときに該当するサイトタイトルとか内容を取得する処理。

Nokogiri::HTML(open(target_url))

こんな感じでNokogiriオブジェクトを取得して、

return doc.xpath('//title').text

こんな感じでタイトルを取得する。こちらxpathほかのお勉強

ログインしている人にしかクリップURL投稿)をさせたくない。そんなときに使える認可処理。

cancanの実装はここここを参考に。

クリップしたサイト情報タグ管理したい。タグ機能の実装を手抜きできるのがこのgem

https://github.com/mbleigh/acts-as-taggable-on

http://prototype-beta.com/tags/acts-as-taggable-on

上記を参考に。

クリップしたサイト情報タイトルや内容、またはタグから検索したい。

その処理を手抜きさせてくれるのがsunspotさんサーバデプロイしたあとに

$ rake sunspot:solr:start

するのをよく忘れて動かない><ってなります

http://railscasts.com/episodes/278-search-with-sunspot?language=ja&view=asciicast

http://outoftime.github.com/sunspot/docs/

will_pagenateっていうgemもあるんだけど、kaminariが最近流行りらしい。

https://github.com/richardiux/sunspot_with_kaminari

クリップするためにこのサイトに飛ぶのちょっとめんどくさい。

ということで、はてなブックマークみたいなブックマークレットを作る。

http://d.hatena.ne.jp/ky2009/20090108/1231405893

herokuとやらが設定周りの色々めんどくさいことを肩代わりしてくれるという噂。しか無料

→ sunspotが有料オプションでした。やめる。

AWSというAmazonサービスが設定によっては無料らしい。

→ ほんとに無料だった。AWS内のElastic Beanstalkというサービスが、herokuみたいにめんどくさいことを色々やってくれる。

http://blog.serverworks.co.jp/tech/2012/06/28/aws-elastic-beanstalk/

http://qiita.com/items/811cd9b614d8d300628e

おわり

そんなこんなで出来上がったもの陳腐ものかもしれませんが、まがいなりにもひとつサービスができました。ここ1カ月だらーっとRubyRailsをさわってみて感じたことは、ウェブアプリを作るのって特別なことじゃないんだなーっていう。どこかで誰かも言ってましたけど、開発している最中パズルを解いてる感覚でした。ウェブに転がるピースを探して、フレームワークにあてはめていくようなそんな感覚

おしまい

2012-09-26

【2012超まとめ】確実にWEBサービスを作りたい人へ【前編】

(記事が長すぎたので前編・中編・後編に分けました)

僕ももう、リストラされそうなとあるおっさんなんですが、先日Webサービス公開しました

きっかけになったのはこの記事です。

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

http://anond.hatelabo.jp/20101203150748

こんな事できたら良いなぁと思っていると、他にもやっている方たちがいました。

たった2日で製作されたWebサービス「お部屋晒し」って?

http://matome.naver.jp/odai/2131952812556433001

WEBサイト発注してみた。

http://anond.hatelabo.jp/20120318122617

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

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

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

http://anond.hatelabo.jp/20120914214121

その他、ロプロスさんがまとめてくれています

http://blog.ropross.net/archives/99

これらを読んで自分もやってみたくなり、

先日の家入さんの折れずに挑戦を続ける姿を見てモチベーションも高まり

7月21日~8月19日の30日でWebサービス作りました

最後の一週間はお盆休みでしたが、それ以外は平日は仕事をしながら土日をフルに使っています

試行錯誤込みで、だいたい300時間くらいだと思います

その方法をできるだけ詳しく、具体的に書きます

と言っても、いきなり高度な事をするのは大変なので、

本当に自分が作りたいサイトをやる前に、一度シンプルサイトを作ってみる、という所までです。

やってみて改めて分かったのは、「自分WEBサービスを作りたいと思っている人へ」の中の人はかなりがんばったんだなぁ、と。

かなりの熱意とモチベーションをもって、効率良くやらないと、一から勉強してあの短期間であのサイトは作れません。

プロ顔負けの技術とおもしろいアイデア情熱をもって短期間でそれをやってしまった中の人は凄いです。

からWebサービスに夢を見る人(僕)も、Web業界の人も、あとHな人もブクマするのでしょう。(賞賛

それでは、一般人が一般的ながんばりで確実にやれるだろう手堅いラインをお届けします。

偏差値40の僕が最低限ここまで出来たので、きっとあなたならもっと出来るはず。

ステップ7まではサクサク進めて、分からなくてもどんどん次に行きましょう。

今回ぼくが作ったサイトはこちら

気になるあの人に内緒告白!「好きでいて.net

http://sukideite.net/

ステップ0:準備

パソコンを用意

インターネット接続環境

ブラウザChrome,IE,Firefox,Safariあたりをインストールしておく。Chrome便利。

・作りたいサイトアイデアデザインイメージドメイン名(○○○.comとか)のイメージ

・作る理由とやる気

はてブ便利、Web業界の皆さんの空気感を知るため、なるべくPCスマホでチェック。

ステップ1:HTML・CSS(10時間

HTMLCSSについて調べる。

ブラウザ右クリックして「ソースを表示」すると出てくるアレです。

Yahoo!とかのソースを見るとかなり長いけど、全部書くわけじゃないか大丈夫

ネットで調べても良いけど、やっぱり基礎知識は本が良いと思います

これを半日くらい眺めます

よくわかるHTML5+CSS3教科書

http://www.amazon.co.jp/%E3%82%88%E3%81%8F%E3%82%8F%E3%81%8B%E3%82%8BHTML5-CSS3%E3%81%AE%E6%95%99%E7%A7%91%E6%9B%B8-%E5%A4%A7%E8%97%A4-%E5%B9%B9/dp/4839943486/ref=sr_1_2?ie=UTF8&qid=1347970693&sr=8-2

メモ帳で書いてブラウザで表示して、メモ帳で直してブラウザF5で更新して確認、

って流れで挙動を把握していきます

何となく分かってきたら、より具体的に理解するためにこの本を読みます

概要が分かればあとは実践で伸びるのでだいたいでOK。

XHTML/HTML+CSSスーパーレシピブック

http://www.amazon.co.jp/XHTML-HTML-CSS%E3%82%B9%E3%83%BC%E3%83%91%E3%83%BC%E3%83%AC%E3%82%B7%E3%83%94%E3%83%96%E3%83%83%E3%82%AF-%E3%82%A8%E3%83%BB%E3%83%93%E3%82%B9%E3%82%B3%E3%83%A0%E3%83%BB%E3%83%86%E3%83%83%E3%82%AF%E3%83%BB%E3%83%A9%E3%83%9C/dp/483993276X/ref=sr_1_1?s=books&ie=UTF8&qid=1347974663&sr=1-1

ステップ2:PHP20時間

PHPについて調べる。

初めはこの本が勉強になりました。

よくわかるPHP教科書

http://www.amazon.co.jp/%E3%82%88%E3%81%8F%E3%82%8F%E3%81%8B%E3%82%8BPHP%E3%81%AE%E6%95%99%E7%A7%91%E6%9B%B8-%E3%81%9F%E3%81%AB%E3%81%90%E3%81%A1-%E3%81%BE%E3%81%93%E3%81%A8/dp/4839933146

書いてある通りロカールサーバー(XAMPPMAMP)を入れて、自分マシンPHPが動くようにします。

データベースの使い方も一緒に書いてあるので入門に最適です。

次はこれを読みます

普通に読んでいくと中盤のフレームワークを作る所で挫折するはずなので、一旦そこまででOK。

パーフェクトPHP

http://www.amazon.co.jp/%E3%83%91%E3%83%BC%E3%83%95%E3%82%A7%E3%82%AF%E3%83%88PHP-PERFECT-SERIES-%E5%B0%8F%E5%B7%9D-%E9%9B%84%E5%A4%A7/dp/4774144371/ref=sr_1_1?s=books&ie=UTF8&qid=1347971428&sr=1-1

PHPの他の選択肢としてRubyPythonもあるみたいですが、学習コストがかかりそうなのと、そのままでは動かないサーバーがあったりで、

PHPと比べてまだまだエレガント感があります

最先端プログラマーになる必要はないので、レガシー&枯れたPHP一択です。

カッコつけずにモチベーションが持続するうちに勝負です。

ステップ3:サーバー10時間

サーバーを借ります

VPS(専用サーバーを仮想的に分割して安くしたサーバー)が流行ってますが、

学習コストがかかるのと勉強する事が増えるので割りきって始めは普通レンタルサーバーします。

VPSを借りるとLinuxの知識やWebサーバーメールサーバー、及びそれらの保守管理などの知識が必要になります

レンタルサーバーならある程度マネージドで、作ったプログラムが動かない時の原因の切り分けもしやすいです。

おすすめは「さくらレンタルサーバー」のスタンダードプランです。データベースの使えない「ライトプランは止めましょう。

http://www.sakura.ne.jp/

その他、ロリポップCORESERVERなどいろいろあるので最低限PHP,MySQLが使えるサーバーを選びます

サーバー契約したらアカウント情報を確認して、FTPログインしてみましょう。

FTPソフトフリー定番FFFTPを使います

http://sourceforge.jp/projects/ffftp/

ログインできたら、ステップ1で練習したファイルアップロードしてブラウザで表示してみたり、

ステップ2で作ったPHPファイルアップロードしてブラウザで実行してみたりします。

ローカルサーバーと同じように動けばOK。

慣れてきたらFileZilla FTP Clientが便利です。

http://filezilla-project.org/

ステップ4:ワードプレス(10時間)

Webサービスのしくみを理解するために、WordPressを借りたサーバーに入れてみます

WordPressPHPで出来たCMSコンテンツ管理システム)で、ステップ1~3がどう組み合わさって動くのか理解できます

ブログ会社案内サイト程度は作れてしまうので触れておいて損はないです。

テーマをいじったり、プラグインで遊んでみると理解が深まります

オススメはこの本。

WordPress レッスンブック 3.x対応

http://www.amazon.co.jp/WordPress-%E3%83%AC%E3%83%83%E3%82%B9%E3%83%B3%E3%83%96%E3%83%83%E3%82%AF-3-x%E5%AF%BE%E5%BF%9C-%E3%82%A8%E3%83%93%E3%82%B9%E3%82%B3%E3%83%A0/dp/4883377245/ref=sr_1_2?s=books&ie=UTF8&qid=1348060950&sr=1-2

プラグインのまとめはこの辺りが親切。

2011年版!絶対にインストールしたいWordPressプラグイン45個

http://vanilla-stone.com/blog/wordpress/2011-edition-45-wordpress-plugin-pieces-install-absolute/

TwitterInstagram連携するプラグイン入れたり、CRONで自動化したりすると楽しくなってきます

簡単なSNSくらいならここまでで出来てしまうかも。

ステップ5:CakePHP(20時間)

ここまでで何となくWebサイトのしくみが理解できると思いますが、

自分の作りたいサイトを一から書いていくと思うと心が折れると思います

そこで、CakePHP(ケーキピーエイチピー)というフレームワーク勉強します。

フレームワークというのはWebサイトの開発で必要になることが多い色んな機能をまとめてくれている枠組みソフトです。

PHPの文法で、フレームワークの書き方のルールに従うだけで、様々な便利機能を簡単に使用でき、

慣れると開発の効率も激しく上がります

フレームワークは他にRubyRuby on RailsPHPだとSymfonyYiiなどかなりの種類があります

CakePHPおすすめなのはこの二冊。

CakePHP 1.3によるWebアプリケーション開発―オープンソース徹底活用

http://www.amazon.co.jp/CakePHP-1-3%E3%81%AB%E3%82%88%E3%82%8BWeb%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E9%96%8B%E7%99%BA%E2%80%95%E3%82%AA%E3%83%BC%E3%83%97%E3%83%B3%E3%82%BD%E3%83%BC%E3%82%B9%E5%BE%B9%E5%BA%95%E6%B4%BB%E7%94%A8-%E6%8E%8C%E7%94%B0-%E6%B4%A5%E8%80%B6%E4%B9%83/dp/4798026646

プロになるための PHPプログラミング入門

http://www.amazon.co.jp/%E3%83%97%E3%83%AD%E3%81%AB%E3%81%AA%E3%82%8B%E3%81%9F%E3%82%81%E3%81%AE-PHP%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E5%85%A5%E9%96%80-%E6%98%9F%E9%87%8E-%E9%A6%99%E4%BF%9D%E5%AD%90/dp/4774149721/ref=sr_1_2?s=books&ie=UTF8&qid=1348062131&sr=1-2

あと、余裕があればこれも購入。

この本の情報Webで調べれば解決できるのでなくてもOK。

Pocket詳解 CakePHP辞典

http://www.amazon.co.jp/Pocket%E8%A9%B3%E8%A7%A3-CakePHP%E8%BE%9E%E5%85%B8-%E6%BB%9D%E4%B8%8B-%E7%9C%9F%E7%8E%84/dp/4798027456/ref=sr_1_1?s=books&ie=UTF8&qid=1348062432&sr=1-1

注意したいのは、現在CakePHPバージョンは1.3系と2.0系がありますが、1.3を使うという事です。

2.0系は新しい機能が付いたりパフォーマンスが良くなったりしていますが、2012年9月現在

バージョンアップが激しく、関連書籍は2~3冊程度、Web検索でもヒットするのは1.3の情報が圧倒的に多いです。

MVCというデータ処理・表示処理・それらのコントロール処理を分離して記述するルールや、

ステップ2では踏み込んでいなかったクラスが出てきますので、慣れるまではかなりの心折設計です。

難しすぎて僕は理解できなかったので、ここで一旦CodeIgniter浮気しました。

CodeIgniterCakePHPと同じPHPで書かれたフレームワークで、インド方面で良く使われてるらしい。日本だとまだマイナー、かな。

ライセンス問題で下火になっていますが習得の容易さとパフォーマンスが良いのでフレームワークという概念の把握にはオススメです。

本はこれ一冊しか出ていませんが分かりやすくてオススメです。

僕はこれを読んでCodeigniterだけじゃなくてCakePHPも理解できました。

CodeIgniter徹底入門

http://www.amazon.co.jp/CodeIgniter%E5%BE%B9%E5%BA%95%E5%85%A5%E9%96%80-%E6%B2%B3%E5%90%88-%E5%8B%9D%E5%BD%A6/dp/4798116769/ref=sr_1_1?s=books&ie=UTF8&qid=1348062829&sr=1-1

ただ、CodeIgniterは簡単・高速で習得しやすいけど、

その分シンプル機能が少ないので、ちゃんとしたサイトを作ろうと思うほど自分で書く部分が増えていきます

セキュリティユーザー認証なども素人が自前で一から作るのは危険なので、やっぱりCakePHPお勧めです。

開発する時はgitHubに上がっているデバッグキットを入れると便利です。

cakephp / debug_kit

https://github.com/cakephp/debug_kit/tree/1.3

それから、ここいらで開発環境を導入します。

PHPの開発環境おすすめは2種類。

Eclipse+PDT

http://codezine.jp/article/detail/5105

NetBeans IDE

http://ja.netbeans.org/

僕はNetBeansを使ってます

NetBeansを使う時のCakePHP用の追加モジュールはここ

https://github.com/evilbloodydemon/cakephp-netbeans/tree/autocomplete

中編はこちら

http://anond.hatelabo.jp/20120926165533

2012-05-20

アドバイス適当に書いておきます

http://d.hatena.ne.jp/yamasawa8911/20120519/1337407233

(今はまだ欲しいものがよくわかりません。むしろオススメもの、僕のためになるものを教えてください…)

 だそうなので、俺が思うところを書いておきます

そのWindowsを投げ捨てて、Linuxを入れろ

パソコンMacじゃなくてwindowsです。

基本的にMacのほうが羨ましいとは思うけれども(まあ、MacBookとかが欲しいんだよね、きっと)、でもきっとMacなんてフルスペックで使えるわけない。

周りの子に自慢したいとかいうのであるならば、あるいはどうしてもiOSアプリが作りたいというんだったら、それしか選択肢がないけれども、そうじゃないんだったら辞めましょう。

あとWindowsも、Windowsアプリとか、C#をいじりたいんです!っていう話であるならば、それに固辞するのも結構ですけど、そうじゃなくて、ITに行きたいなら、Windowsを捨ててLinuxしましょう。

自分Gentooが好きですけど、ハードコアすぎるので、Ubuntuのほうがいいかと思う。

Linuxとか難しいんじゃないの……とか思うかもしれないですけど、Ubuntuは素晴らしいです。

Ubuntuは、知り合いの絵師パソコンに入れたら、わりと好評でちゃんと使っていたので、それなりにパソコンが使えるならば、ちゃんと使えます

プログラミング言語関係は、そのOS依存するような環境を使いたいというわけではないのなら、Linuxにしておいたほうが、無難に使えます

なんかもう一つ言語を覚える

CとJavaでもいいとは思うんだけど、どちらもコンパイル必要だし、コードを書くのに、ある程度の量(書きたいときに気軽に書くという感じではない、という意味)が必要なので、もう一つ言語を覚えた方がいいです。

PHPRubyPythonPerlClojureHaskell、お好きな言語をどうぞ。

ただ、PHPはどちらかといえばWebアプリケーションよりかな?という気がするので、PerlRubyPythonがいいかとは思いますが、お好みで。

仕事でいうならPHPのほうが多いかなーというのはあります

自分Pythonのほうが好きですけど、Rubyのほうが割と見つけてもらえる確率は高いかもしれません。

あと、パブリックマンも「Railsでいこう!」というブログ名だったので、尊敬する人にあわせるならRubyのほうがいいんじゃないかと。

こわいおじさんににらまれたいならPerlのほうがいいでしょう。

ちなみに、Ruby on Railsは、割とWebサービスを作るのが楽になりますHerokuとかありますしね。Webアプリケーション周りということだったら、ついでにそのプログラミング言語で使われているメジャーフレームワークとか調べながら勉強するといいかもしれません。

エディタをちゃんとする

で、上記を踏まえて、エディタをちゃんと使いましょう。

パワーが有り余っているなら、総合開発環境であるところのEclipseでもいいんだろうとは思うんですけど、それはおっくう、というのならば、ちゃんとエディタの使い方を覚えましょう。

もう既にUbuntuを入れていると思うので、EmacsVimを使いましょう。Vimのほうが好きではあるんですけど、キーバインドや、その他の癖を考えるとEmacsのほうがいいかなあという気がします。

Ubuntuを入れたなら、Geditというエディタも、Windowsメモ帳の非じゃないくらい極まったエディタなので、それでもいいです。Windowsがそんなに好きなら、サクラエディタを使うといいでしょう。

とにかく、エディタ武器なので、そのあたりも考えましょう。

英語を読む練習をする

あなたはどうやら貧乏だけれども、インターネットは使えているようなので、英語を読む練習をするといいです。

英語なんて全くわからない?ノープロブレム。そんなの適当でいいです。「なんとなくこういう意味かなー」とか、あるいは英語を読むだけでクラクラしない程度でいいと思います

英語を読めると便利です。少しだけ多くの解説が読めるからです。

あと、英語が読めると「pdf Orailly」という魔法言葉が使えたりするんですけど、何に使うかは想像におまかせします。

コードを書きましょう

で、上記を踏まえてなんですが、コードを書きましょう。

コードなんて書いてなんぼです。「如何に優秀なハッカーになるべきか」という記事はゴロゴロありますが、そんなのは気休めに読むべきで、まずはコードを書きましょう。

なんだかんだいって、コードを書くのは経験がモノをいいます。量を書きましょう。そして躓きましょう。最初から質なんて無理です。

躓いたら、なんで躓くのか考えましょう。また、「こんなところが、コードを書く点で不満だなあ」と思うことがあれば、それも考えていきましょう。

偉い人がいろんなソリューションを考えてくれています最初からそのソリューションがなぜ素晴らしいかなんて理解できないとは思います。躓いて始めて「ああ、だからこういう開発手法がいるんだ」ということを理解できるでしょう。

コードを書きつつ、そのプログラミング言語を積極的に学んでいるTwitterアカウントをフォローしましょう

ついでに、コードで躓いたら、その躓いたところを、Twitterアカウントに積極的に発信していきましょう。

そのついでに、そのプログラミング言語を学んでいるTwitterアカウントをフォローしましょう。

あなたの呟いていることによっては、その人は興味を持ってくれるでしょうし、場合によっては手助けをしてくれるかもしれません。

あなたサービスを立ち上げたら、積極的にRTをしてくれるかもしれません。

Githubに載せましょう

で、最初のうちはたぶんコードの引き写しになると思います

だいたいなれてきたところで、自分が作りたいものを作ってみましょう。そして公開してみましょう。できるならGithubで。

Githubに載せる理由は、ソースコードを公開したほうが、突っ込まれる率が高くなり、それに応じて勉強になるというところと、あとはGitというバージョン管理システム勉強をしていたほうが、のちのちに便利だからです。SVNとかありますが。

あと、コードの引き写しに関しては、ブログに書くか、あるいはコードの断片を載せるという意味で、Gistに載せるという点もありますが、その辺りはご自由に。

VPSを借りるといいかもしれません

VPSを借りてみましょう。あなた貧乏だというのはわかっていますVPSとは、仮想専用サーバーのことです。

別に最初から何でも揃ってるようなホスティングサービスでもいいんですが、サーバーを一から立てるという作業は、勉強にもなります。下手な技術書より余程勉強になったりします。

最初から借りると宝の持ち腐れとなると思うので、一つのWebサービスでもいいので、それを自分マシン内でのみ見られるようなったら、借りるというのは一つの手だと思います

VPSがつらいというのならば、Herokuとかもありかもしれないです。

コードを読みましょう

コードを書くのが辛いなら、コードを読みましょう。人のコードアイデアの山です。

自分場合は、割と実例が無いと、挙動がピンとこなかったりするので、コードを読むことのほうが多いです。

特に、その言語で有名なライブラリかいいかもしれません。ガンガン読みましょう。

本が買えなければ、一番の参考書コードです。

あとは頑張ってください

あとは若さでなんとかなるでしょう。

ついでに、この文章を「テメーはなんにもわかってねえんじゃボケ」という言い方をして修正してくれる人もいると思うので、そういう人のアドバイス真摯に受けとりましょう。

あなた人生に幸おおからんことを。

2012-03-13

書き直したって、いいんだよ

http://www.yamdas.org/column/technique/hatenablog.html

 なお、タイトルに PART I とあるが、このネーミングはメル・ブルックスの『珍説世界史 PART I』にちなんだもので、PART II 以降は存在しない。つまりあなたソフトウェア企業)が絶対すべきでないことは、Joel Spolsky にとってこの文章に書かれることだけなのだ。それは何か?

 プログラムスクラッチから書き直すことに決めることだ。

まぁ、そんなわけないんだけどね。

最近はてな体たらくへの失望感名前を付けたい」というだけの文章にマジレスするのも我ながらどうかと思うし、気持ちは分からなくもないんだが、最近は「はてブ」以外全く使ってない俺でも、長年お世話になってきたはてなに対してそれなりに愛着というものがあるわけで、ディスられるばかりの流れに少しばかり反抗を試みたい。これは、それだけのエントリだ。

というわけで、以下に書くのは、技術の話でも倫理の話でもない。どうか気軽に読んでほしい。

書き直してはいけないのか

実例を挙げる。

今やワールドワイドな影響力を持つ勝ち組ソーシャルサービスTwitterだが、彼らは、ここ数年でバックエンドの大半をスクラッチから完全に書き換えたしかも、RubyからJavaへと、使用言語すら変更してしまった。

http://d.hatena.ne.jp/teppei-studio/20110709/1310168002

もう一つ。Tumblrも、LAMPアーキテクチャからJVMベースへ切り替えた。その過程で、Twitterオープンソース化した技術を取り入れたりもしている。

http://blog.kyanny.me/entry/2012/02/19/002256

『「古いコードクズだ」というのは錯覚だ』というJoelの意見は、一面では正しいが、他の面では間違っている。なぜなら、あるソフトウェアに求められていること(要件)は、時間と共にどんどん変化するから

書き直そうが、書き直すまいが、一番ダメソフトウェアとは「ユーザの要求に応えられないソフトウェア」だ。規模や環境の変化によって古い技術技術限界に直面したり、ビジネス環境の変化に追随する必要が出てきたのなら、「スクラッチから書き直す」のは立派に一つの選択肢だ。

技術の変化

はてなダイアリー最初バージョンがどういうものかは俺もよく知らないが、おそらく「LAMP」がエッジなキーワードとして持て囃されていた頃に書かれたプロダクトなんじゃないかな(間違ってたら突っ込みを)。それから時代下りRuby on Railsに代表されるCoCフレームワークの登場を経て、今や大規模分散や非同期を前提としたアーキテクチャが当たり前の時代。当然改修はしているだろうけど、MySQL職人芸で負荷分散していた時代から大分遠いところに来たのは間違いない。

何より、はてなダイアリーといえば「はてな記法」とカスタマイズ自由度の高さがウリだったわけだが、これらの存在が、今や機能追加や改良の妨げになっているとしても不思議じゃない。

はてなブログ開発の動機として「今どきの技術で、最初からやり直す」というのがあるのは間違いないが、それは「スクラッチからの書き直し」だから悪手なのだろうか。結局のところ、レガシーコードメンテナンスを続ける場合と比べてどちらがより低コスト、という話の結論によるとしか言えない。

ビジネス環境の変化

はてダソーシャル要素といえば「トラックバック」と「idコール」と「キーワードリンク」だったわけだが、全部Twitter(とTogetter)に持っていかれたよね、という話。

から、「はてダver.2」や「ブログ2.0」を望む声が大きいのは理解できるけど、ぶっちゃけ、そんなもんに開発リソースを突っ込んでも勝ち目なんか無い。んで、それに代わるアイディアを持ってる奴はどこにもいないと。だから既存コードの改良ではなくスクラッチから書き直し、スモールスタートでフィードバックを受けながら方向性を考えていく、という方向性はそんなに間違っていないと思う。

ただ、現状を放置すると「それTumblrでできるよ」という話にしかならん、というのはその通りで。それ以外だと、もしgithubblogサービスを始めたりすると、かなり客を持っていかれるのではないかという予感はする。いっそのこと、Tumblrのデッドコピーから始めるのが一番早いのかもしらんね。

技術の体系化の弱さ

少し別の話を。

https://github.com/twitter

これは、Twittergithubレポジトリだ。上でも書いた通り、Twitterサービススクラッチから書き換えた。で、その過程で開発した内部向けのフレームワークを、どんどんオープンソース化している。彼らが、内部の技術をきちんと体系化して再利用可能にしていることの証左と言える。

一方、はてなgithubレポジトリ。正直、サンプルとかプラグインばかりですね、と。

https://github.com/hatena

色々と理由はあるんだと思うが、一つ思うのは職人芸頼りで自分たちの技術を体系化するという部分が弱いんじゃないか、ということ(はてな発のオープンソースで広く使われてるのって何かあったっけ?)。

先ほどから散々「書き直していい」と主張しているが、誰かが言っていた通り、技術本質を捕まえきっていない状態でフルスクラッチをやっても、失敗する可能性は高い。はてなブログがどちらなのかは、中の人しかからないことだけど。

マネタイズ

はてな経営的にあまり状況がよろしくない、という推測はおそらく当たっているのではないかと思う。

タイムラインで、誰かが「まっとうな方法収益化する方法を真面目に考えるべきだった」と言っていたのを見た。それをしていれば、今回のような事態を招くことは無かったのだろうか。

だが、「まっとうなビジネスモデル」とは何だろう。実際問題として、ここ最近成功しているネットサービスビジネスモデルで「ターゲティング広告」と「マスなユーザベースから抽出したビッグデータを解析して売る」以外で何か有力なものはあっただろうか。FacebookにせよTwitterにせよ、収益化の原動力はユーザ行動解析だったりするわけだ(彼らがオープンソース化に積極的なのはインフラ技術差別化の源ではない、という面もある)。

まぁ、あとはガチャだが、どちらにせよ現状では高木先生逆鱗に触れるようなものしかないよね。

そんなわけで、それらに代わる第四のマネタイズモデルを思いついた人は、ぜひ近藤さんに教えてあげると良いんじゃないかな。あればだけど。

最後

今後はてながどうなるかは分からないけど、一つ希望したいことがあるとすれば、故伊藤計劃氏のダイアリーがこの先も保全されることを望みたい。

それは、エントリを全て魚拓しろ、という話ではもちろんない。彼の生前に書かれたエントリは、当時の「はてな」という生態系を構成する一部でもあるわけで、そこから切り離して文章だけをアーカイブしてもあまり意味がない。

まりネット過去を作ってきたものとして、現在適応しながら、未来へと生き残って欲しいと、そういうことです。

2012-01-18

Python vs Ruby vs PHP vs Haskell プログラミング言語バトル part1

 

42 : デフォルト名無しさん : 2011/11/12(土) 23:53:51.20

Pythonの方が弄れる対象が多いのに、なんでウェブ系だとPHPの方が流行ってんだろ

端末からテキスト処理も楽だし、数値計算周りのライブラリも充実しているのに

PHPが優遇されているのって歴史的な経緯以外に何か他の理由でもあるのか?

けどまぁ、情弱文系SEが大半を占めているバカだらけの日本じゃ別にPHPで困ることもないか

45 : デフォルト名無しさん : 2011/11/13(日) 01:41:24.25

数値計算や端末からテキスト処理なんてWeb系じゃ大して使わないからなあ…

43 : デフォルト名無しさん : 2011/11/13(日) 00:04:23.30

PHPが未だに現役なのは、単に歴史的な経緯でしかないだろ

Pythonに関しては、ZopeさえコケていなければWebサーバLLとして大成功していたはずなのに、

Railsなんかが登場したおかげで、すっかり影が薄くなってしまますた....

44 : デフォルト名無しさん : 2011/11/13(日) 00:49:55.28

zopeってコケてたんだ

ってか、railsインスパイアされたフレームワークって今じゃ幾らでもあるよね

djangoとかCakePHPとか。rubyってRoRを使いたいユーザを除くと、

pythonPHPの方がユーザー数は圧倒的に多いと思うんだけど

本家railsって、他を遥かに越えるほど良いものなんだっけ?

48 : デフォルト名無しさん : 2011/11/13(日) 08:30:25.68

44

Zopeが登場した当時、RDB+PHPはもう古い、これからOODB+ZopeWebの中軸になる!」

さかんに宣伝され、雑誌でもZope特集が組まれていた

 

少なくとも自分ZopeからPythonという言語を知ったし、その時点でRubyは知らなかった

そして、その後のORM(RDB)+Railsの出現と華々しい革新性への注目は、誰もが知っているだろう

今でもZopeの開発は継続されてはいるが、結果的に当初の期待が大きく裏切られたという事実は動かしがたい

 

djangoCakePHPについては実際に触っていないので憶測になるが、おそらく技術水準ではRailsと同等だろう

しかしRailsはRailsコミュニティの活動が活発だし、その進化は異常に早い

 

Railsに何か致命的なトラブルが発生して開発が停滞する、あるいはdjangoCakePHPから

何かのイノベーションが提示されでもされない限り、後発のdjangoCakePHPRailsに追いつくのは無理

Railsは決して技術的に完璧Webフレームワークではないんだけどね....(たとえばSeaSideのような.... )

 

からこそ「もしもZopeが....だったなら」という「たら・れば」感はPythonコミュニティの潜在認識になっている

51 : デフォルト名無しさん : 2011/11/13(日) 12:55:40.83

 C a k e P H P は う ん こ   

遅い、設計が古い、動作がおかしいの3重苦

日本では流行ってないけど海外だとYiiが流行ってきてる

55 : デフォルト名無しさん : 2011/11/13(日) 17:31:12.14

CakePHP使ってんの?

可哀そうにw

53 : デフォルト名無しさん : 2011/11/13(日) 14:44:48.55

求人PHPばかりだからPHPやるしかないだろ。

57 : デフォルト名無しさん : 2011/11/13(日) 19:34:04.95

でもやっぱりいつもの使い慣れたLL(Python/Ruby)で

Webサービスを書きたいってのがある

73 : デフォルト名無しさん : 2011/11/15(火) 17:32:46.07

アメリカ言語ユーザー数は

Python>>>>>>>>Ruby

求人数は

Ruby on Rails>>>>>>>>Django

http://www.indeed.com/jobtrends?q=django%2Cruby+on+rails&l=

どういうことなの?

74 : デフォルト名無しさん : 2011/11/15(火) 17:48:15.59

RubyRails以外に使い道がないか

75 : デフォルト名無しさん : 2011/11/15(火) 17:54:35.50

海外ではRubyは昨今のRailsバブルのお陰で

もはやWebスタートアップ共通語になってるらしいからね

求人数が多いのはそのためだと思うよ

76 : デフォルト名無しさん : 2011/11/15(火) 18:03:23.05

なんかのミスかと思ったがアメリカでもRuby on Railsは人気があるのかなあ・・・

Pythonのほうが使いやすいと思うのだがフレームワークRailsが優位なんだろうか

77 : デフォルト名無しさん : 2011/11/15(火) 18:23:14.33

Djangoは周辺ライブラリ微妙だし本体も鈍くさい感じがする。

でも、FlaskはSinatraより好きだからPythonが嫌いってわけではない。むしろ好き。

 

ただ、いざ作り始めるとやっぱりRailsが楽だなあってなって、Railsを使い続けている。

78 : デフォルト名無しさん : 2011/11/15(火) 18:38:46.28

同感だ

同じように思っている人が他にもいて安心した

79 : デフォルト名無しさん : 2011/11/15(火) 18:54:37.13

PHPJavaScalaには

Railsみたいなフレームワークあるのに

Pythonはいいのないんだよな

80 : デフォルト名無しさん : 2011/11/15(火) 21:19:09.89

PHPフレームワークが乱立しすぎているから、RailsPHPで実装してみようというやつが出てきた。

Scalaも注目されだしたのはつい最近のことだしな。

それに比べてPythonは、Zopeというデファクトスタンダードが既に存在していたけど、

つの間にかフェードアウト

ただ、どうやってもRailsもどきRailsを超えることはできないのは間違いない。

83 : デフォルト名無しさん : 2011/11/15(火) 21:25:38.55

パクリオリジナルを超えられない(キリッ って定型句だけど、

これってキリッって言いたいだけだと思う。

後発品が先に出たものを超えたものなんていくらでもあるから

84 : デフォルト名無しさん : 2011/11/15(火) 21:30:04.39

D言語って超えたって?

85 : デフォルト名無しさん : 2011/11/15(火) 21:31:12.00

B言語って超えたって?

86 : デフォルト名無しさん : 2011/11/15(火) 21:53:33.76

でもRailsRubyの黒魔術を使いまくりから

PHPで同じ事をできないわけではないだろうけど、Ruby on Railsほど簡潔にはできない

90 : デフォルト名無しさん : 2011/11/15(火) 22:50:07.81

スタートアップなんて根無し草の集まりにとって、

googleが囲った言語coolさを見出せないんだろ

123 : デフォルト名無しさん : 2011/11/20(日) 11:32:16.79

まあくだらねえWEBサービス作って喜んでる情弱は早く死ねって事だよ

91 : デフォルト名無しさん : 2011/11/15(火) 22:52:42.98

そういう理由じゃなくてRailsのほうが単純に情報プラグインも多いからでしょ

3 : デフォルト名無しさん : 2011/11/15(火) 23:07:07.67

linuxじゃデフォのツールなんだし、ツールとの連携を考えたらpython一択じゃん

わざわざ不合理で不完全な言語を使うなんて

社会からハミ出た奴らの精神的な作用によるものじゃないの?

95 : デフォルト名無しさん : 2011/11/15(火) 23:20:20.21

django情報プラグインが増えないという、

現実に対する鬱憤を吐いてるようにしか聞こえないな

もしも

linuxじゃデフォのツールなんだし、ツールとの連携を考えたらpython一択じゃん

真実であるのなら、今頃はdjango情報プラグインが溢れかえっているはず

104 : デフォルト名無しさん : 2011/11/16(水) 01:20:49.05

Python信者乙。

yumや、gdbgnome拡張pythonであるからといって、それをwebアプリでも使いたいと思う人は少ないというだけのこと。

ソースからインストールする必要があったとしても、web開発ではrubyを使いたいという人が多いというだけのこと。

94 : デフォルト名無しさん : 2011/11/15(火) 23:15:11.93

というか、世界中Pythonプログラマが Remeber Zope!! を合い言葉

打倒RailsたるWebフレームワークを開発しているはずだけど、

いまだにRailsを超えるプロダクトが登場しないのはナゼ?

Railsも登場してから、かなりの年月が経過しているんだけどなぁ....

その間にもRailsRails 3が登場して、REST/AJAXの強化等の進化継続しているよ

347 : デフォルト名無しさん : 2011/12/09(金) 10:16:35.22

Ruby では

ary.map {|x| x**2}

となるものが、Python では

map(lambda x: x**2, ary)

となり、lambda の本体が1つの式では表現しきれなくなると

def mapper(x):

.....

map(mapper, ary)

書き換える必要があります

348 : デフォルト名無しさん : 2011/12/09(金) 10:24:20.94

Pythonのlambdaを用いた階乗計算

f = lambda x:(x and f(x-1)*x)or 1

RubyにはPythonのように「lambda本体は式でなければならない」という限定がありませんから

andやorを使った不自然記述をしなくても

f = lambda{|x|if x == 0 then 1 else x*f.call(x-1) end}

または

f = lambda{|x|x == 0 ? 1 : x*f.call(x-1)}

と書けます。lambda内でreturnが使えますから、書きたければ

f = lambda{|x|if x == 0 then return 1 else return x*f.call(x-1) end}

でもOKです。

390 : デフォルト名無しさん : 2011/12/10(土) 15:35:41.62

348

これはPythondisっているように見せかけてRubydisっているのか? と一瞬思ってしまったw

だってRubyのほうが長くない?CLのfuncallみたいなcall()がちょっとうざいし…

そしてどっちもlambda式の中で束縛変数名前再帰可能、と

350 : デフォルト名無しさん : 2011/12/09(金) 11:12:13.28

要素に対する関数適用と、抽出を組み合わせる場合

Python

print [x*2+100 for x in [1,2,3,4,5] if x > 2 and x < 5]

暗号のように見える。

Ruby

puts [1,2,3,4,5].select{|i| i > 2 and i < 5}.map{|i| i*2+100}

思考の流れと、コードの流れが一致しているので書きやすい。

351 : デフォルト名無しさん : 2011/12/09(金) 11:22:55.04

だれだPythonなら書き方はひとつとか言ってるのは

map(lambda x: x*2+100, filter(lambda x: x > 2 and x < 5, [1,2,3,4,5]))

354 : デフォルト名無しさん : 2011/12/09(金) 12:22:07.37

pythonて可読性が高いのをうたってる割にはそこいまいちだよね

353 : デフォルト名無しさん : 2011/12/09(金) 12:10:08.46

Ruby場合には、左から右へと無名関数データフローあるいは

パイプラインのように並ぶからコードが読みやすい

 

関数型プログラミングに不慣れな初心者でも、参照透明性のあるコード自然に書ける

プログラマにとって優しい or プログラミングの楽しさを教えてくれるのがRuby

 

それと比較すると、Pythonコードは、関数型プログラミングというもの

いかに高度で難解なものであるかという事をもったいぶってプログラマ押し付け

 

もしもPythonしか知らないプログラマであれば、関数型 = 難解 という印象を持つだろう

356 : デフォルト名無しさん : 2011/12/09(金) 12:53:45.66

階乗計算くらいだと単純すぎて、ナゼ重要なのかが分かりづらいと思うのでコードで示す

result_list = source_list.map { |elem|

  x = foo(elem.x)  # ここが局所宣言を書く部分

  y = bar(elem.y)  # ここも局所宣言の続き

  x + y       # 最後に評価された式の値が、無名関数のリターン値になる

}

Rubyでは、map等に与える無名関数の中で局所的な環境(クロージャ)が作られるから

x = foo(...) のような代入文がいくつでも(= 複雑な処理でも)書ける

このポイントは、実用的なプログラム関数型風で書こうとした時に、威力を発揮する

357 : デフォルト名無しさん : 2011/12/09(金) 12:59:21.07

余計分かりづらくなった

358 : デフォルト名無しさん : 2011/12/09(金) 13:17:26.54

リスト内包表記が暗号みたいと言ってる奴は

高卒ドカタなんだろうなぁと可哀想になる

大学数学に触れる機会があれば

集合の表記に似せてることが分かるから

386 : デフォルト名無しさん : 2011/12/10(土) 01:41:34.46

数学とかで慣れてるし区切りが関数のがわかりやすい

359 : デフォルト名無しさん : 2011/12/09(金) 13:46:31.97

355

map/filterはfor/ifと同じだと言っているだけだから、難解という印象は持たない。

関数型プログラミングに慣れた、あるいは得意な人であれば、そういった印象なんだろね

Rubyの魅力はこれから関数型プログラミングを学ぼうとする初心者、 あるいはそんな初心者へ教える立場から見た、優しさ or 分かりやすさなんだ

360 : デフォルト名無しさん : 2011/12/09(金) 13:53:28.85

Rubyだと直感的に書けるコード

[1,4,3,2].sort.reverse.map{|x| x.to_s}.join('-')

Pythonだと読みにくい。

'-'.join(map(str, reversed(sorted([1,4,3,2]))))

361 : デフォルト名無しさん : 2011/12/09(金) 14:07:17.88

360

Pythonでは思考の流れと一致しないばかりか、「カッコだらけ」のコードになると.....

364 : デフォルト名無しさん : 2011/12/09(金) 14:28:55.99

カッコだらけのコードを分かりやすくする基本的な方法静的単一代入じゃないか

Rubyのやり方は基本ではなく玄人のやり方だろ

372 : 369 : 2011/12/09(金) 16:21:03.82

Pythonでは組み込みの型でメソッドチェインはやって欲しくないな

listにmap,filterメソッドができたとしても、

似たようなコレクションtuple,deque,array,queue等にも同じメソッドが必要になってくるし。

シーケンスプロトコルの利点が活かせない。

383 : デフォルト名無しさん : 2011/12/10(土) 01:17:28.39

372

外部のライブラリでも列挙可能なものは、たいていEnumerableモジュールをimportしてます

Rubyユーザーは列挙可能なものmapselectできて当然だろって思ってる気がしま

377 : デフォルト名無しさん : 2011/12/09(金) 18:41:51.79

Pythonは「何かを便利に書くためのしわ寄せ」をはっきり寄せてくる

得意と不得意を言語レベルではっきり主張するのでメリケン好みと言えなくもない

Rubyは全方位になんとなく八方美人なので、全体的になんとなく書きやすくてなんとなくキモくて遅い

379 : デフォルト名無しさん : 2011/12/09(金) 18:48:52.27

Pythonユーザー調教っぷりは異常

「書きにくいってことはその処理に向いてないってことだから諦めろ」を地で行く

387 : デフォルト名無しさん : 2011/12/10(土) 13:40:40.74

リストの内包表記はシンプルに書けるときは使うけど

基本その場でdefするのがPython風なんだと思う。

389 : デフォルト名無しさん : 2011/12/10(土) 14:40:31.04

無名関数が文を使うほど複雑なら名前を付けるのが Python 流と想像

384 : デフォルト名無しさん : 2011/12/10(土) 01:23:49.48

outer(center(inter( arg )))

これを読みづらいと感じるのは、左から右に流れる

日本語文に慣れているからだと思うが、

もしかしてアラビア語ネイティブな人からすると逆に読みやすいのか?

385 : デフォルト名無しさん : 2011/12/10(土) 01:34:57.89

なるほど、ということは右から左、左から右どっちでも行ける言語が最高ですね

F#パイプライン演算子最高ということで

2011-11-24

ズブの素人WEBサービスを作るまでにやったこと

というタイトルの記事をいつか書けるようになりたいなっ

はいごめんなさいタイトル釣りでしたー

ああっ、ちょっと待って。できるだけ多くの人の目に入ってくれたらと思ってやった出来心なんだよ。許して。

よろしければスルーすんのやめてちょっと話聞いてください。

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

いまさらだけどこの人に憧れて勉強を始めたいと思ったんです

でもさ、HTML?ああ、ホームページビルダーで見たことあるレベル人間なんだよ。

からこの記事読んでも何を勉強すればいいのか皆目見当がつかない。HTMLやればいいのは間違いなさそうだけど。

でも俺は「完全に一致」みたいな検索システムが作りたいわけじゃない。

利用者が自分でページを作って、そこに人が集まってみたいなページがつくりたいんだ。ごめんよくわかんないよね。

Facebookの中のFacebookページの仕組みの部分だけをつくりたい、というのが一番近いかも。

ねえ、何を勉強すればいいと思う?こういうのはてなーの人なら詳しいと思って。

あ、待った!そうだよね、自分で何も調べずに教えてとか礼儀に欠けるよね。ちょっとタンマ

==============================================================================================

よし、調べてきた。Ruby on RailsっていうのがWEBサービスを簡単に(?)作れるらしいですね。

でも、それが自分の作りたいものに適しているのかが分かりません。

どんなものにも向き不向きはありますよね。

少なくとも「完全に一致」の人はRoR(こう略すので正しいんだよね?)使ってないし。

から自分がこれからRoR勉強するのが適策なのか、そうじゃないのかだけでも教えていただければ幸いです


いや、ごめん、ホントはそんなことが聞きたかったんじゃないんだ。

それなら人力検索ですむ話だし。

本当は上記エントリでやる気になったけど、一人でスタートするのが寂しいから、誰かに「頑張れ」って言って欲しかっただけなんだよ。

かまってちゃんで申し訳ない。

じゃあ、とりあえずHTML勉強します。読んでくれた人がいるなら、本当にありがとう

2011-03-07

イケてるWebサービスを作ったのでeHubインタビューズっぽく宣伝してみる

あなたウェブアプリケーション/サービスは何ですか?

【音注意】Count Down Tube http://www.leno-ig.com/ja/youtube/channel/

Count Down Tubeチャンネル別に、トップソングをカウントダウン形式で視聴出来ます

このプロジェクトを始めた理由は?

iTunes Music Storeプレビュー(30秒)では物足りなかったのが一番の理由です

プレビューの短さを補うために、YouTubeにあるPV再生しようと思いました

また、1曲づつクリックして再生するのが手間だったので、カウントダウン形式で自動再生させました

製作にかかった時間は?

計4日で内訳は

チームの規模はどれくらいですか?また、あなたの素性および経歴は?

現在使用しているインフラ技術は何ですか?

技術的な特徴があれば、紹介してください。

開発の際に気を付けたことはありますか?

iTunes Music StoreYouTubeアーティストユーザすべてにメリットがある」

プロジェクトは次の半年でどこへ向かうと思いますか?

アクセス増への対策」

広告

  • 載せません。

「機能追加」

自分Webサービスを作りたいと思っている人に向けて何かありますか?

利用者に向けて何かありますか?

  • 自分では、かなり実用的だと思っているのですが、実際の所、どうなんでしょう。使ってみて、ダメ出しでも何でも良いので、感想を聞かせてもらえると嬉しいです

[twitter:@leno_ig]

元ネタ

http://anond.hatelabo.jp/20101219185436

http://anond.hatelabo.jp/20101203150748

  • eHub Interviews

http://emilychang.com/ehub/app/category/ehub-interviews/

http://d.hatena.ne.jp/brazil/20051102/1130901002

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