
Lỗ chân trâu private trong Ruby
Tại Ruby Kaigi 2008, trong bài thuyết trình Rails症候群の研究 (Triệu chứng lập trình Rails mà không rành Ruby) Shugo Maeda có đề cập lỗ chân trâu public, protected, private cho những người quen với ngôn ngữ hướng đối tượng truyền thống như C++, Java, C#. Từ Ruby 2, public, protected, private sẽ giống ...

Beginning with CloudKit
Là một lập trình viên iOS, có những lúc bạn muốn viết một ứng dụng đơn giản, lấy dữ liệu từ server trả về và hiển thị lên màn hình ứng dụng. Server đó chỉ cần truy xuất 1 vài dữ liệu có sẵn trên đó, lọc, sắp xếp ..., cho phép người dùng upload dữ liệu lên trên đó. Phần việc ở client là quá đơn ...

Tại sao tôi không học Ruby on Rails nữa ?
Tôi cũng như các bạn, từng học Ruby, học Rails, rồi tìm Job, lăn lộn với nó. Hẳn đi đến 1 kết luận là, tôi có thể ghét Rails, nhưng tôi không thể ghét Ruby được. Nó như là mối tình đầu vậy. Nếu bạn bắt đầu học Ruby on Rails, hãy cứ học nó, đủ để bạn an tâm xử lý 90% các dự án CRUD với Rails. ...

Mẹo sử dụng một class để truy suất config var
Rất phổ biến ở các app có một class để truy xuất các thuộc tính được cài sẵn, vd các thông tin về DB URL, vv. Thường thì các thông tin này được lưu vào trong một file YAML rồi được class này đọc, nhưng trong bài hướng dẫn này mình xin hardcode vào trong class luôn để đơn giản hoá nội dung. Việc ...

Giải thích tính năng Duck Typing của Ruby dưới lăng kính 4OOP
Ruby vẫn luôn được coi là ngôn ngữ rất hướng đối tượng, vì trong Ruby mọi thứ đều là object. Theo bài 4 tính chất đặc thù của lập trình hướng đối tượng, có thể viết chương trình Ruby để thể hiện 4 tính chất ấy. Tuy nhiên, nếu đã có căn bản Ruby, thì chắc bạn đã để ý là không như những ngôn ngữ ...

Phải học Enumerable khi học Ruby
Enumerable trong Ruby tương đương với collection trong Java. Nói theo thuật ngữ Java, thì Enumerable là interface được những class như Array, Hash, Set implement. Còn nói theo thuật ngữ Ruby, thì module Enumerable được những class trên include. Việc rành rẽ các phương thức trong Enumerable là ...

RSpec animals
Animals có đáng được RSpec (respect :D) hay không? Sau khi học 4OOP và RSpec, ta thực hành viết spec cho các class đó xem sao. Cấu trúc thư mục Tạo cấu trúc thư mục như sau: animals_with_rspec/ animal/ animal.rb cat.rb dog.rb zoo.rb spec/ animals_spec.rb ...

Multiple version management on PHP
Summary Phpenv provides to manage versions on PHP You can use php with version which you want Its installing is easier than make install Switching version is only one command First Phpenv is use 'rbenv' what is management system on Ruby. On switching version, phpenv calls rbenv. ...

Gọi Ruby từ Erlang
Viết lại thư viện đã có sẵn của ngôn ngữ khác ít khi nào là nhiệm vụ thú vị, nên thường có chiêu thức nối ngôn ngữ này với ngôn ngữ kia với những cái tên mỹ miều như: interface, extension, external, foreign, mẹ ơi v.v. Chung qui bản chất của chiêu thức này chỉ là truyền thông tin từ chỗ này sang ...

Ruby Kaigi 2007
Ruby bắt đầu du nhập vào Việt Nam từ hơn 10 năm trước. Bắt đầu từ những nhân vật kì cựu như javaeater, đến những lưu học sinh ở Nhật, có người thậm chí được được tổ sư Matsumoto trực tiếp giảng bài ở Đại học Tsukuba v.v. Thời ấy tuy số lượng còn rất ít nhưng các Rubyist tiên phong của Việt Nam đã ...

BEHAVIOR DRIVEN DEVELOPMENT VỚI BEHAT & MINK
Trước khi bắt đầu bài viết, chúng ta sẽ đi qua 2 khái niệm cơ bản cần nắm rõ: 1. TDD là gì Test Driven Development (viết tắt: TDD) là một mô hình sofware development mà chủ yếu hướng tới quá trình kiểm thử, hay nói cách khác là sự phát triển dựa trên kiểm thử ! Trong đó, khi một yêu cầu phần ...

Phỏng vấn thế nào để tuyển được lập trình viên Ruby có tay nghề?
Khi mà Ruby ngày càng trở nên phổ biến, thì số lượng các hồ sơ xin việc có Ruby ngày càng nhiều. Điều này khiến cho các công ty (kể cả bạn, tôi đoán) không biết một cách thức nào để chọn lựa các lập trình viên Ruby. Ít nhất là chưa. Điều này đã có tiền lệ trong lịch sử. Nhớ lại rằng đã từng có ...

Chụp màn hình OpenGL thành phim
Khi viết chương trình OpenGL xong, muốn chụp màn hình lại thành ảnh tĩnh ta đơn giản là chụp lại màn hình (ví dụ ấn PrintScreen trên Windows). Muốn chụp thành phim thường ta dùng chương trình đại loại như iShowU. Có cách khác là tự xuất ra ảnh ngay trong chương trình OpenGL của mình, rồi sau đấy ...

Realtime chat sử dụng WebSocket(Tubesock) + AngularJS + Rails
Websocket là gì? WebSoket là công nghệ hỗ trợ giao tiếp hai chiều giữa client và server bằng cách sử dụng một TCP socket để tạo một kết nối hiệu quả và ít tốn kém. Mặc dù được thiết kế để chuyên sử dụng cho các ứng dụng web, lập trình viên vẫn có thể đưa chúng vào bất kì loại ứng dụng nào. ...

Những Design Pattern thường dùng trong Android
Trong quá trình thực hiện các dự án, ngoài việc làm thoả mãn yêu cầu của khách hàng, việc viết code một cách rõ ràng, sạch sẽ (clean code) là một điều vô cùng quan trọng. Có thể trong tương lai bạn sẽ phải phát triển một chức năng mà kế thừa lại những code cũ củabạn, hoặc chí ít là trong quá ...

Android từ cơ bản cho đến nâng cao - Android Gradle (P1)
Gradle là gì? Sao lại xử dụng Gradle trong Android? Sử dụng Gradle như thế nào? Đó là một trong rất nhiều câu hỏi mà các Android developer mới làm quen thường hỏi. Vì vậy mình sẽ giới thiệu cho các bạn về Gradle và cách sử dụng Gradle hiệu quả khi lập trình với Android. OK vì sao Google lại ...

Làm quen với RSpec
Bạn đang dùng Rails? Mặc dù Rails đã tích hợp sẵn thư viện để test rất tiện rồi, nhưng bạn nghe nói có thư viện RSpec cho viết test theo phong cách BDD hay hơn nhiều nên muốn thử? Nào ta bắt đầu. Một khi đã bắt đầu được, mọi khúc mắc sẽ dần dần suôn sẻ. Như các bác lãnh đạo vẫn nói, hổng chỗ nào ta ...

Vài chiêu regex căn bản với Ruby
Lúc trước mình được bạn trangia61 chia sẻ những chiêu này. s = "/usr/etc" idx = s =~ /etc/ # => 5 s =~ /etc/ sẽ trả về: Vị trí đầu tiên trong chuỗi s khớp với pattern /etc/. Nếu không khớp thì kết quả là nil. s = "/usr/etc" if s =~ /etc/ puts "condition satisfied" else puts ...

Rake Ruby
1. What is Rake? Là một công cụ quản lý các task của một project. Có khả năng build các project. Các phần mềm tương tự như Apache Ant, Maven, Make. Được viết bằng Ruby. Rake được mô tả trong Rakefiles (equivalent of Makefiles in Make), Rakefile sử dụng cú pháp của Ruby. Dev định ...

New generation of PHP
Welcome to Facebook's PHP Do you know biggest of PHPer company? - That's Facebook. They have used PHP in a part of service since they started. PHP is older language than other script language likes Ruby, Python and else. One says that PHP is older and would not use for web service. ...