Very Xd Hw9

58
VeryXD 2.0 那些我從 VeryXD 學到的事...

description

 

Transcript of Very Xd Hw9

Page 1: Very Xd Hw9

VeryXD 2.0那些我從 VeryXD 學到的事...

Page 2: Very Xd Hw9

Who is xdite ?

Page 3: Very Xd Hw9

About Me

夜間職業:嘴炮王

Page 4: Very Xd Hw9

About Me

夜間職業:嘴炮王

日間職業:網管 & 網頁設計師

Page 5: Very Xd Hw9

About Me

Age : 26 ( 1983 - current )

BS Degree ( Applied Mathmatics )

BBS - System Admin (1998 - 2003)

FreeBSD (1999 - current )

LAMP ( 2002 - current )

RoR ( 2006/11 - current )

Page 6: Very Xd Hw9

What is VeryXD ?

Page 7: Very Xd Hw9

對白創意網站

Page 8: Very Xd Hw9

挑選素材...

Page 9: Very Xd Hw9

用力惡搞!!

Page 10: Very Xd Hw9

VeryXD 的由來

Page 11: Very Xd Hw9
Page 12: Very Xd Hw9

Finally....

Page 13: Very Xd Hw9

動機

來玩的人會很多...

這麼惡搞的網站,台灣也要有一個!

港台的梗跟日本的梗不一樣!

Serif.hatelabo.jp 是用 RoR 寫的

沒道理它可以,我不行!

Page 14: Very Xd Hw9

接下來,兩週沒更新 BLOG ....

Page 15: Very Xd Hw9

跨年夜,人家去101看煙火

Page 16: Very Xd Hw9

我龜在家寫 CODE =_=

Page 17: Very Xd Hw9

四小時寫出來的原型

attachment_fu

上傳檔案

RMagick

圖片與文字的合成

JS Cropper

標記座標

Page 18: Very Xd Hw9

當然

Page 19: Very Xd Hw9

這是一個只能拿來自 high 的原型

Page 20: Very Xd Hw9

接下來還做了這些事...透過 attchment_fu 儲存作品

變更字形、字色、字框色的設計

會員權限細部控制

前端美術設計

搜尋功能的實作

Page 21: Very Xd Hw9

最後的樣子

Page 22: Very Xd Hw9

經營成績 !?

Page 23: Very Xd Hw9

一些數據

Page 24: Very Xd Hw9

一些數據

單日 Pageview 最高 16 萬 ( 1 萬不重複造訪)

註冊人數 1200 人

上傳素材超過 1000 張 (日 3600 張 )

保存作品 近 4000 張 (日 29000 張)

日 PV 20000+

Page 25: Very Xd Hw9

非技術成份簡介完畢

Page 26: Very Xd Hw9

表面的動機

來玩的人會很多...

這麼惡搞的網站,台灣也要有一個!

港台的梗跟日本的梗不一樣!

Serif.hatelabo.jp 是用 RoR 寫的

沒道理它可以,我不行!

Page 27: Very Xd Hw9

邪惡的動機

來玩的人會很多++++我並不是只會一小時打造鑽石網這個老梗 -_-

以這個小例子展示打造網站所需要的技巧資源

觀察 RoR 網站的效能極限以及實驗經營技巧

Page 28: Very Xd Hw9

共同的疑問 ...

VeryXD 使用的資源

VeryXD 快速開發的秘辛

RoR 可以加快多少開發速度?

RoR 的效能問題

Page 29: Very Xd Hw9

VeryXD 使用的資源

Page 30: Very Xd Hw9

普遍認知

租賃國外的虛擬空間 / 虛擬主機 / 實體主機

PHP 只需虛擬空間,Rails 需要 主機

高耗流服務升斗小民無法提供,偷放學網

Page 31: Very Xd Hw9

Resources

1 Web Server + 1 DB Server ( MySQL)

Page 32: Very Xd Hw9

Resources

1 Web Server + 1 DB Server ( MySQL)

1 - 4 條 10M/2M VDSL ( Load Balancing )

( 感謝力可科技!!! )

Page 33: Very Xd Hw9

Resources

1 Web Server + 1 DB Server ( MySQL)

1 - 4 條 10M/2M VDSL ( Load Balancing )

( 感謝力可科技!!! )

Apache Reverse Proxy ( 10 Mongrel Sever)

Page 34: Very Xd Hw9

Resources

1 Web Server + 1 DB Server ( MySQL)

1 - 4 條 10M/2M VDSL ( Load Balancing )

( 感謝力可科技!!! )

Apache Reverse Proxy ( 10 Mongrel Sever)

WebAmp ( 40G/day static file caching)

Page 35: Very Xd Hw9

Reason

RoR 較其他語言&框架耗用較高 CPU 及記憶體

國際交通壅塞,外國廠商的 100Mbps 無用

靜態檔案可租 Reverse Proxy 節省耗用頻寬

Page 36: Very Xd Hw9

VeryXD 快速開發的秘辛

Page 37: Very Xd Hw9

Base on ...

Not having a ANNOYING boss.

Have Web Developing experiences for several years.

Use open-source resources.

Ruby on Rails

I BELIEVE I CAN MAKE IT!

Page 38: Very Xd Hw9

Ruby on Rails 的優點

Page 39: Very Xd Hw9

2007 COSCUP thegiive 投影片

Page 40: Very Xd Hw9

神兵利器

Ruby : 易讀語法以及 Gem

Rails :

ActiveRecord、 ActionPack、 ActiveSupport、ActionMailer、ActionWebService、ActionResources

各路強者寫的 Plugin

Page 41: Very Xd Hw9

重看一次

attachment_fu

上傳檔案

RMagick

圖片與文字的合成

JS Cropper

標記座標

Page 42: Very Xd Hw9

上傳圖片 in php

設計一隻上傳圖片到暫存空間的功能

設計[ 縮圖 / Validate ]的功能

撰寫 SQL 語法儲存記錄

....blahblahblah...

Page 43: Very Xd Hw9

上傳圖片 in RoR

class Photo < ActiveRecord::Base

has_attachment :content_type => :image,

:storage => :file_system

:max_size => 300.kilobytes,

:resize_to => '500x500>',

:thumbnails => { :thumb => '60x60>' }

:path_prefix => 'public/photos',

:processor => :Rmagick

validates_as_attachment

設計資料庫欄位(Create Photo’s Model )

+ +

Page 44: Very Xd Hw9

會員管理 in php

惡夢一場,不予贅述

Page 45: Very Xd Hw9

會員管理 in RoR設計資料庫欄位

(Create User’s Model )(Create UserRole’s Model )

class Gphotos Controller < ApplicationControllerbefore_filter :check_administrator_role, :only => [:destroy]before_filter :login_required, :except =>[:index, :list, :show, :reply, :random, :search]

def blahdo blah

end

+

Page 46: Very Xd Hw9

RoR plugin

attchment_fu 處理上傳檔案

RMagick 處理合圖 ( gem )

acts_as_authenicated 處理權限控制

acts_as_ferret 處理文字索引以及搜尋

節省大筆開發時間

Page 47: Very Xd Hw9

Ruby on Rails 效能問題

Page 48: Very Xd Hw9

12月份的四個網站

中肯鑽石網 ( 5k / 2k / 1 mongrel )

絕望網 ( 15k / 2k / 1 mongrel )

Myangelsays ( 7k / 2k / 1 mongrel)

VeryXD.net ( 160k / 20k / 10 mongrel)

Page 49: Very Xd Hw9

( 效能討論頁[馬賽克] )

Page 50: Very Xd Hw9

RoR 是否為開發/學習首選?

Page 51: Very Xd Hw9

今天不是來傳教的,放心!

Page 52: Very Xd Hw9

php V.S. RoR

| |

鋼筋水泥 V.S. 鐵皮屋

( 但蓋房子還是需要學會建築技術 )

Page 53: Very Xd Hw9

使用 RoR 開發的好處

開發時間較短

重構時間短、反應速度快

可以反過來催趕前端設計的進度

不會被無盡的程式碼地獄扼殺掉新鮮的創意

Page 54: Very Xd Hw9

使用 RoR 需要付出的代價

需具備 2~3 的 LAMP 或 LTMJ 經驗

效能不彰

bug 百出 ( 有可能不是你造成的)

缺乏豐富的文檔以及討論

需要忍受 core team 無厘頭的設計與任性

P.S. RoR 是一個年僅三歲的年輕框架

Page 55: Very Xd Hw9

網站經營技巧 &

VeryXD’s Features

Page 56: Very Xd Hw9

直接進入 Q& A 吧

Thanks a lot!

http://blog.xdite.nethttp://veryxd.net

Page 57: Very Xd Hw9

開發資源

gotapi.com

YUI

oswd.org

emule .....XD

Page 58: Very Xd Hw9

RoR 參考書籍

google:// RoR 新手建議書單

Apress - Practical Rails Project

Apress - Pro ActiveRecord

Lynda.com - RoR Beyond the basic