
Upload file using Net::HTTP in Ruby
First, you'll need to know how the browser work on uploading files or how the HTTP request looks like when sending as upload files request. To upload files in the browser, we use a form like this: < form enctype = " multipart/form-data " action = " http://localhost:3000/ " ...

JVA đi học swift
Với một developer đã học một ngôn ngữ nào đó rồi thì việc học thêm một ngôn ngữ mới sẽ như thế nào? Hiện tại swift đang là ngôn ngữ khá được ưa chuộng, với một Java developer mình muốn chia sẻ cảm nhận của bản thân khi học swift sẽ như thế nào. Trong swift không thấy cái dấu ; nào cả :v Việc ...

Toán tử === trong Ruby
Gần đây công việc của tôi hay dùng tới với module Enumerable của Ruby. Và tôi cố gắng cân bằng giữa việc học các API phổ biến nhất (mà có thể bạn đã biết) với các API ít phổ biến hơn nhưng rất hữu ích. Qua đó tôi cũng học được rất nhiều điều thú vị. Sau đây tôi sẽ chia sẻ một trong số những điều mà ...

Điểm nhấn của AngularJS-P1
Chao! (Tiếng Ý, không biết có đúng không nữa) Một tháng nữa lại về với hàng tá bài Report được post lên trên Viblo. Thú thực là mấy hôm nay mình đang loay hoay, tìm ra một chủ đề thiệt hay để viết report nhưng mãi vẫn không thấy được vấn đề chi đẹp-độc-lạ cả. Nên tới ngày ni, mình quyết định chia ...

Processes vs Threads
Process và thread là 2 khái niệm khá phổ biến và gây nhập nhằng cho nhiều developer. Hôm nay mình sẽ phân tích rõ hơn về bản chất của 2 khái niệm này. Một process là một thực thể thực thi của một ứng dụng. Điều này có nghĩa là gi? Như thế này nhé, khi bạn kích đúp chuột vào biểu tượng Microsoft ...

Golang - ngôn ngữ lập trình mã nguồn mở giúp xây dựng ứng dụng dễ dàng, đáng tin cậy và hiệu quả.
Có một bài toán đau đầu dành cho các công ty là khi họ đã lên tới tầng scale cho một dự án. Thời gian đầu thì sẽ là optimize code, database, scale phần cứng… nhưng khi tới một lượng user cực lớn thì vấn đề đó sẽ càng ngày càng nan giải. Và giải pháp của một số công ty đó là chọn Go. Nó được ...

So sánh giữa Capistrano và Mina.
Sau khi phát triển 1 ứng dụng Rails, việc tiếp theo ta cần làm là deploy nó lên server cho tất cả mọi người cùng truy cập. Bài trước mình đã hướng dẫn các bạn deploy bằng Capistrano. Tuy nhiên, việc deploy bằng Capistrano khá tốn kém thời gian (Mình sẽ phân tích rõ phía dưới.), và mình đi tìm một ...

Immutability in React.js
Nếu đã từng tìm hiểu về " Functional Programing ", hẳn bạn đã từng nghe thấy thuật ngữ " Immutability - Tính bất biến ". Đây là 1 trong những tính chất quan trọng nhất của Functional Programing . 1 đối tượng bất biến là 1 đối tượng không thể thay đổi trạng thái sau khi đã được khởi tạo ...

How and when override equals() and hashCode()
1. Giới thiệu Chào các bạn hôm nay chúng ta sẽ tìm hiểu một chủ đề không mới lắm, nhưng vẫn luôn là quan trọng cho những ai vẫn còn đang mơ hồ về hai method hashcode() và equals() trong java. Đồng thời tìm hiểu và mục đính sử dụng của hai hàm đó trong Hash collections. Như chúng ta biết thì tất ...

Understanding android input event
Cho dù bạn làm bất cứ ứng dụng android nào thì đều phục vụ 1 nhóm đối tượng người dùng nào đó. Và phần lớn người sử dụng tương tác với ứng dụng của bạn là thông qua 1 loạt các action click button, swipe left/right, fling ... tôi gọi chung các action đầu vào này là touch event. Về cơ bản mọi touch ...

Waterfall vs Agile vs Scrum - Part 2: Waterfall là gì?
Other posts Phần 1: Agile là gì? Phần 2: Waterfall là gì? Phần 3: Scrum là gì? Phần 4: So sánh Agile, Scrum và Water? Con đường nào phù hợp với bạn Phần 5: Agile có thực hiện phù hợp với outsource và các dự án offshore Phần 6: Kết hợp mô hình waterfall và scrum để thích nghi với các dự án ...

Vài vấn đề về deadline trong SCRUM''s Sprint
Chúng ta đều biết rằng deadline sẽ điều khiển hành vi. Đó là lý do tại sao trong Scrum, và các phương pháp Agile khác, chúng ta timebox việc phát triển với những deadline (Sprint). Nó sẽ chỉ rõ cho chúng ta: Tập trung vào những thứ quan trọng và đảm bảo rằng nó được thực hiện đúng. Về bản chất điều ...

[Xamarin Form] How to create PageView
1. Tổng quan Như các bạn đã biết, Xamarin Form có một sức mạnh lớn khi giúp chúng ta có thể code một lần, nhưng chaỵ được trên nhiều nền tảng. Tuy nhiên, chỉ dựa vào những UI Control default mà nó cung cấp thì không đủ để làm, ví dụ như trường hợp này, mình muốn tạo ra môt màn hình mà có nhiều ...

Rack basics
I. Lời nói đầu: Trong hệ thống Ruby web, Rack là một thành phần không thể thiếu. Khi code Rails chắc hẳn bạn đã từng nghe tới Rack - aka Web server interface . Tò mò search thử trên trang chủ của nó thì đập thẳng vào mặt cái mô tả: Rack provides a minimal interface between webservers ...

FuelPHP: Làm việc hiệu quả với cơ sở dữ liệu thông qua migrations, generate migration và DBUtil
Migrations giúp quản lý, control database một cách dễ dàng. Bạn có thể sử dụng migration để chỉnh sửa database cả về cấu trúc lẫn dữ liệu. Khi sử dụng migration để thay đổi database sẽ giúp cho các dev trong cùng dự án hay trong quá trình maintain có thể tường minh về database. Khi bạn là một dev ...

Một số kiến thức về Angular 2 router - reuse component với RouteReuseStrategy
Trong quá trình xây dựng single-app, đôi khi ta gặp phải tình huống sau: Ta cần giữ lại trạng thái của trang trước sau khi quay về từ một trang nào đó. Ví dụ: Khi từ trang tìm kiếm, ta mong muốn sau khi xem một kết quả và quay lại, trang đó vẫn giữ lại các kết quả tìm kiếm. Khi từ trang index, ...

Giới thiệu về ARCore của google
I. Tổng quan ARCore ARCore là một nền tảng để xây dựng ứng dụng thực tế bổ sung trên Android. ARCore sử dụng ba công nghệ chủ chốt để tích hợp nội dung ảo với thế giới thực như được thấy qua máy ảnh của điện thoại: Theo dõi chuyển động cho phép điện thoại hiểu và theo dõi vị trí của nó so ...

Series Hướng dẫn xây dựng ứng dụng bán hàng bằng angular js kết hợp với Rails(Phần 2)
Hi các bạn, tiếp tục bài viết trước ngày hôm nay mình sẽ cùng các bạn tiếp tục xây dựng 1 app nho nhỏ bằng angular js. Nào không nói nhiều nữa, chiến thôi nhé! Ở series này chúng ta cùng đi qua các phần như sau: Hoàn thiện danh sách liên kết categories Show danh sách các Items Một action nhỏ ...

Giới thiệu Realm – Giải pháp thay thế cho SQLite
Bối cảnh Để làm việc với SQLite, ta phải thực hiện rất nhiều thao tác: xây dựng khung chương trình, mô hình, heplers, truy vấn, blah blah. Thực sự việc này tốn rất nhiều thời gian trong tiến trình phát triển phần mềm. Những người mới tiếp cận với SQLite sẽ phải bỏ ra nhiều giờ loay hoay trong ...

Triển khai Notification Bubbles cho android như facebook
Với post này bạn học : Thêm notification bubbles cho chương trình android theo như yêu cầu của bạn. Bạn cũng sẽ định nghĩa OnClickes và những sự kiện khác trên notification bubles được tạo ra. ! Tạo ra một project mới Android Studio với activity trống và thêm thư viện vào project của bạn ...