Article: Cài đặt project từ xa với Capistrano 1169

ngocdaothanh.myopenid.com 149
Updated over 2 years ago

Project đều phải qua nhiều công đoạn, thường là: (1) xác định nhu cầu, (2a) thiết kế sơ bộ, (2b) thiết kế chi tiết, (3) viết chương trình, (4) kiểm tra, (5a) cài đặt, (5b) bảo trì (thiết kế sơ bộ dùng khi bàn bạc với khách hàng, thường là sơ đồ màn hình và cách chương trình hoạt động, còn thiết kế chi tiết dùng giữa lập trình viên với nhau). Thường quá trình không diễn ra thẳng ruột ngựa từ (1) đến (5), mà phải quay vòng. Ví dụ thường gặp nhất là khách hàng cứ vài ngày lại muốn xem project tiến hành đến đâu để có thể bàn bạc góp ý. Lúc này ta có chu (chu = xoay vòng) trình: (3) -> (4) -> (5a) -> (3) -> (4) -> (5a) -> ...

Như vậy, thường ta phải cài đặt rất nhiều lần. Với web project thì quả cực hình vì mỗi lần đều phải: SSH vào server, cập nhật mã nguồn, cập nhật cơ sở dữ liệu, khởi động server v.v. mỗi lần mất cả mươi phút. Bài viết này giới thiệu công cụ Capistrano giúp tự động hóa qui trình trên, rút ngắn thời gian mỗi lần cài đặt xuống còn vài giây.

ngocdaothanh.myopenid.com 149
over 2 years ago

Máy local thay vì dùng Windows, thử dùng Linux xem. Nếu vẫn không được, có thể deploy.rb viết sai chỗ nào đó.

Article: Dùng Pound làm frontend cho Rails 987

jishin.myopenid.com 18
Updated over 2 years ago

Khi chạy chương trình Rails trên server thực sự trong producton environment, cần chạy vài instance của chương trình một lúc để đảm bảo cùng lúc trang web phục vụ được nhiều request.

Tuy nhiên Rails không thread-safe. Do đó phải chạy nhiều process của chương trình cùng lúc. Giải pháp chạy vài process Mongrel làm backend để chạy Rails theo kiểu cluster, và server gì đó như Apache, Lighttpd, Nginx làm frontend là best practice phổ biến.

Bài viết này xin trình giới thiệu cách dùng Pound làm frontend. Nó nhỏ gọn dễ cài đặt và config, có đầy đủ tính năng virtual host, SSL, nên có lẽ thỏa mãn nhu cầu của hầu hết project Rails.

ngocdaothanh.myopenid.com 149
Updated over 2 years ago

Pen và Balance còn đơn giản nhanh gọn hơn nữa. Ví dụ thời gian install đến lúc chạy được Pen chỉ mất chừng 10 giây trên Ubuntu.

Tuy nhiên mấy cái như Pound, Pen, Balance chỉ là... balancer, không phải là HTTP (web) server nên không serve được tập tin tĩnh, nếu tập tin tĩnh to cỡ chục MB trở lên thì tốc độ chương trình Rails bị ảnh hưởng rất nhiều.

Nếu dùng Apache với mod_proxy_balancer, để serve tập tin tĩnh cần thêm

RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f

trước

RewriteRule ^/(.*)$ balancer://mongrel_cluster%{REQUEST_URI} [P,QSA,L]

Nếu dùng với mod_proxy, cần thêm

ProxyPass /images !
ProxyPass /javascripts !
ProxyPass /stylesheets !

Alias /images /path/to/public/images
Alias /javascripts /path/to/public/javascripts
Alias /stylesheets /path/to/public/stylesheets

trước

ProxyPass / http://localhost:3001/
ProxyPassReverse / http://localhost:3001/
ProxyPreserveHost on

Article: Mời tham dự hội thảo Open Source - Moblin ! 821

hacao.myopenid.com 19
Over 2 years ago

HCA trân trọng kính mời Quý Đơn vị tham dự buổi hội thảo với chuyên đề: Open Source - Moblin Lập trình Linux cho máy di động      

    

HỘI TIN HỌC THÀNH PHỐ HỒ CHÍ MINH (HCA)
Lầu 5, Phòng 509, 79 Trương Định, Quận 1, TPHCM
ĐT: (08) 822 2876 – Fax: (08) 825 0053
Email: [email]hca@hcm.vnn.vn[/email] - Website: [url]www.hca.org.vn[/url]

Số:   57/HC-08/VT                TP.Hồ Chí Minh ngày16 tháng 06 năm 2008


Thư mời

Hội Tin Học Tp.Hồ Chí Minh trân trọng kính  mời Quý Đơn vị tham dự buổi hội thảo với chuyên đề:


Open Source - Moblin
 Lập trình Linux cho máy di động

Thời gian : 8h30 - 16h30 ngày thứ năm 26 tháng 06 năm 2008

Địa điểm : Công viên phần mềm Quang Trung, Phường Tân Chánh Hiệp, Q.12

Người chủ trì và MC: Mr. Chu Tiến Dũng
    Giám đốc công ty Phát triển CVPM Quang Trung
   
Diễn giả:    
                Mr. Hoàng Lê Minh
                Viện trưởng Viện công nghiệp phần mềm và nội dung số - Bộ TT – TT
                Mr Ashok and Mr.Anka Rao
                Intel India
                Mr.Huỳnh Kim Sen
                Sở Giáo dục Tp.HCM
                Mr.Phạm Thiện Nghệ
                Tổng thư ký Hội Tin Học Tp.HCM

Nghỉ giải lao dùng Tiệc Buffet trưa vào lúc 12:30-1:30

Trân trọng kính mời đại diện Quý Đơn vị Doanh nghiệp,  Hội viên và cộng đồng Linux quan tâm tham dự buổi hội thảo chuyên đề hữu ích này.


Hội Tin Học TP.HCM
Tổng thư ký

(Đã Ký)

Phạm Thiện Nghệ

Ghi chú:
Xin vui lòng xác nhận tham dự trước ngày 23/06/2008, ĐT:8222876-8250053
Email : [email]hca@hca.org.vn[/email] ; [email]khanhlp@hca.org.vn[/email]

Article: 8 định luật tiến hoá phần mềm của Lehman 960

ngocdaothanh.myopenid.com 149
Updated over 2 years ago

Có sinh sản là có tiến hoá. Sinh vật có F1 F2, phần cứng có model1 model2, phần mềm có version1 version2. Sinh vật tiến hoá theo định luật Darwin, Mendel. Phần cứng tiến hoá theo định luật Moore, nano. Phần mềm tiến hoá theo định luật gì?

Giáo sư Lehman đã nghiên cứu vấn đề này từ tận những năm 1970 đến nay! Bài viết này giới thiệu 8 định luật ông phát hiện qua nghiên cứu rất nhiều phần mềm mã đóng. Phần mềm mã đóng có lịch sử từ khoảng 1950, mã mở, outsourcing mới chỉ ra đời mươi năm nay. Do đó để áp dụng cho 2 loại này, có lẽ phải mở rộng thêm 8 định luật này hoặc đưa ra những định luật khác chăng?

Article: Nhập môn BDD 1059

ngocdaothanh.myopenid.com 149
Over 2 years ago

Article: Website sử dụng công nghệ Ruby on Rails tại VN 1110

quangtran.myopenid.com 1
Updated over 2 years ago

Website sử dụng công nghệ Ruby on Rails tại VN

truongtuongquan.myopenid.com 4
over 2 years ago

Mình đăng kí một account venues, post bình luận thì OK, nhưng chẳng thể xem được chi tiết các hoạt động của chính mình.

Mình thử đăng kí với các account khác như : events, talk, .. đều bị hiện tượng như vậy

Tạo sao vậy cà?

{#emotions_dlg.foot_in_mouth}

 

Forum: Tại sao lại gọi là bug? 728

phananhvu.myopenid.com 125
over 2 years ago

Bug ngày xưa là lỗi của bọ, chứ bug ngày nay là lỗi của ... chúng ta.

Thì dù gì thì cũng là lỗi của bọ cả mà :D

Bác nào ko phải quê Thanh Hoá chắc ko hiểu câu này :))

Article: Phân trang 2035

ngocdaothanh.myopenid.com 149
Updated over 2 years ago

Khi trang web có hàng chục phần tử cùng loại (bài viết v.v.) trở lên, lúc hiển thị cần phân trang (pagination) để người dùng dễ đọc.

Một chút lịch sử: nhân loại chỉ mới biết phân sách thành trang từ khoảng 500 năm nay khi kĩ thuật in ấn trở nên phổ biến. Trước đó, sách được cuộn lại thành trục chứ không đóng thành quyển như hiện nay. Dấu tích lịch sử này hiện có thể tìm thấy trong tiếng Nhật: người Nhật dùng đơn vị 本 dùng để đếm những vật thuôn dài (như chai lọ) để đếm sách.

Article: Cài đặt môi trường phát triển Ruby trên MacBook 1494

ngocdaothanh.myopenid.com 149
Updated over 2 years ago

Tháng 6 năm 2003, Jobs giới thiệu Macintosh dựa trên vi xử lí PowerPC G5 và hứa trong vòng một năm sau sẽ nâng tốc độ vi xử lí lên 3 GHz. Hai năm sau, lời hứa này vẫn không thành hiện thực. Người ta đồn đây là lỗi của IBM vì họ không sản xuất được theo yêu cầu của Apple. Hơn thế, chip của IBM toả quá nhiều nhiệt, khó dùng cho laptop, mà laptop lại là mảng tăng trưởng nhanh nhất trong thị trường máy tính cá nhân.

phananhvu.myopenid.com 125
over 2 years ago

Bài này hữu ích ghê, vâu tộ cho 5* :D

Article: TIOBE Programming Community Index for February 2008 858

cmpitg.myopenid.com 1
Updated over 2 years ago

TIOBE Programming Community Index

nguoitapdich.myopenid.com 35
over 2 years ago

Tớ nghĩ nên chia làm 2 loại khách hàng, 1 là end-user như bạn vừa đề cập (mô hình kinh doanh B2C), 1 là loại khách hàng trung gian (mô hình B2B).

Tình hình thì tớ thấy ở nước lạc hậu như Campuchia hoặc tiên tiến như Pháp, loại B2C như bạn đề cập bao giờ cũng ít hơn loại B2B như ý tớ ở bình luận trước đó.

Mà loại B2B thì bạn biết rồi đấy, họ theo dõi sát sao lắm, khi làm việc họ bảo nào là các anh theo process kiểu gì đấy? Nào là cho chúng tôi xem UML sequence nào. Nào là sao cái chỗ này các anh chưa có unit test? Xong nhớ làm cả integration test thì chúng tôi mới thanh toán tiền nong đấy nhá...