Running GUI application with docker

Có lẽ bạn đã đang dùng docker để phát triển app rồi. Docker còn được dùng trong cả các server production nữa. Nói chung docker thường được coi là một công cụ phát triển hay để deploy app. Nhưng bạn có nghĩ những ưu điểm của docker cũng có thể phát huy ở một chỗ khác. Mình đang nói đến GUI app. Từ ...

Tác giả: Hoàng Hải Đăng viết 15:45 ngày 12/08/2018

Make Repository Pattern more efficient in Android

Việc define structure cho một dự án luôn là một công việc vô cùng khó khăn và đòi hỏi nhiều kinh nghiệm, kỹ năng nhất định. Do đó, công việc này thường dành cho những người có nhiều năm kinh nghiệm và có tầm nhìn tổng quát cho dự án để đảm bảo structure áp dụng vào dự án phải phù hợp nhất, tường ...

Tác giả: Bùi Văn Nam viết 15:45 ngày 12/08/2018

Xây dựng chatbot Facebook với api.ai (part 1)

Trong xu thế công nghệ liên quan đến Data scientist hiện nay thì càng trở lên mạnh mẽ. Điều chứng minh cho điều đó là việc các Chatbot được tạo ra nhưng nấm mọc sau mưa. Và các ông lớn trong làng công nghệ như Google, Microsoft, IBM... cũng bỏ rất nhiều công sức và tiền bạc trong lĩnh vực này. Ở ...

Tác giả: Tạ Quốc Bảo viết 15:45 ngày 12/08/2018

[Series-DesignPatternInRuby] Singleton - Phần 2

Đây là phần 2 về Singleton Pattern trong Series DesignPatternInRuby mà mình muốn giới thiệu với mọi người. Bạn có thể tham khảo phần 1 tại đây: [Series-DesignPatternInRuby] Singleton - Phần 1 Alternatives to the Classic Singleton Như phần trước chúng ta đã tìm hiểu về cách xây dựng Singleton ...

Tác giả: Bùi Văn Nam viết 15:45 ngày 12/08/2018

Tìm hiểu thuật toán mã hóa khóa đối xứng AES

1. Tổng quan. AES (viết tắt của từ tiếng anh: Advanced Encryption Standard, hay Tiêu chuẩn mã hóa nâng cao) là một thuật toán mã hóa khối được chính phủ Hoa Kỳ áp dụng làm tiêu chuẩn mã hóa. Thuật toán được xây dựng dựa trên Rijndael Cipher phát triển bởi 2 nhà mật mã học người Bỉ: Joan Daemen ...

Tác giả: Tạ Quốc Bảo viết 15:45 ngày 12/08/2018

Tìm hiểu về icinga2

1. Giới thiệu: Giới thiệu về Icinga: Icinga là một hệ thống máy tính mã nguồn mở và ứng dụng giám sát mạng. Nó ban đầu được tạo ra từ fork của hệ thống Nagios trong năm 2009. Icinga đang cố gắng để có được nhận thức quá khứ ngắn trong quá trình phát triển Nagios, cũng như thêm các tính năng ...

Tác giả: Hoàng Hải Đăng viết 15:45 ngày 12/08/2018

Một số kỹ thuật "tăng tốc" cho website (Lazy Load, Adaptive Image, Gzip, DNS Prefetch)

Đối với những website tốc độ tải trang rất quan trọng. Người dùng chỉ hứng thú với những website load nhanh, còn khi một trang web đáp ứng chậm, khách sẽ mất kiên nhẫn và khả năng họ quay lại sẽ là rất thấp. Như vậy, những người tìm kiếm thông tin thường rất sốt ruột khi phải đợi những trang web ...

Tác giả: Hoàng Hải Đăng viết 15:45 ngày 12/08/2018

Xây dựng môi trường cho ứng dụng Ruby on Rails với Docker, Docker-Compose

Tất nhiên để dùng Docker và Docker-Compose trước tiên chúng ta phải cài đặt chúng rồi. Thông tin cách thức chi tiết bạn có thể xem tại đây cho Docker , Docker-compose Nếu bạn mới làm quen hoặc chưa biết về docker bạn có thể ghé qua đây Tạo file docker: touch Dockerfile Nội dung hoàn ...

Tác giả: Bùi Văn Nam viết 15:45 ngày 12/08/2018

Hướng dẫn học lập trình Python - P1

1. Giới thiệu về Python Python là một ngôn ngữ lập trình thông dịch do Guido van Rossum tạo ra năm 1990. Python hoàn toàn tạo kiểu động và dùng cơ chế cấp phát bộ nhớ tự động, do vậy nó tương tự như Perl, Ruby, Scheme, Smalltalk, và Tcl. Python được phát triển trong một dự án mã mở, do tổ chức ...

Tác giả: Hoàng Hải Đăng viết 15:45 ngày 12/08/2018

PHP - 10 sai lầm mà các lập trình viên PHP thường mắc phải (Phần cuối)

Index PHP - 10 lỗi phổ biến mà các lập trình viên PHP thường mắc phải Part 1 PHP - 10 lỗi phổ biến mà các lập trình viên PHP thường mắc phải Part 2 PHP - 10 lỗi phổ biến mà các lập trình viên PHP thường mắc phải Part 3 Sai thầm thứ 7: Cho rằng $_POST sẽ luôn ...

Tác giả: Bùi Văn Nam viết 15:45 ngày 12/08/2018

Introduction to the Google street view on Android

Google Street View is attached in Google Maps & Google Earth which is a technology to provide the panoramic 360-degree view from a defined position throughout its coverage area along many streets in the world. It was launched in 2007 in few cities in the United States at first and ...

Tác giả: Bùi Văn Nam viết 15:45 ngày 12/08/2018

Biến và thuộc tính trong Objective-C

Cách đặt tên: Tập ký tự: a-z, A-Z, 0-9, kí tự đặc biệt: _ @ # % Tên biến được tạo bởi chữ cái và chữ số: Kí tự đầu tiên phải là chữ cái hoặc là dấu gạch dưới. ( _ ) Phân biệt chữ hoa và chữ thường, ví dụ: total, Total, TOTAL, Total là khác nhau. ...

Tác giả: Tạ Quốc Bảo viết 15:45 ngày 12/08/2018

Mẹo để tăng tốc unit test ruby

Câu chuyện về Unit test của chúng ta sẽ không đáng phải bàn với các project nhỏ, khi mà số lượng unit test là ít và thời gian chạy unit test RSpec chỉ trong khoảng một vài phút trở lại. Tuy nhiên, nếu project của chúng ta trở nên lớn hơn, và số lượng unit test sẽ rất lớn, thời gian kiểm tra các ...

Tác giả: Bùi Văn Nam viết 15:44 ngày 12/08/2018

[Xamarin Form] How to create horizontal Listview

Tổng quan Đối với những ai đã từng sử dụng Xamarin Form trong dự án của mình, thì vấn đề gặp phải lớn nhất đó là số lượng các UI control được nó hỗ trợ khá là ít. Những ai đã quen code native thì việc dùng Xamarin Form cảm thấy khá bất tiện, đặc biệt đối với những giao diện có độ phức tạp tạo, ...

Tác giả: Trịnh Tiến Mạnh viết 15:44 ngày 12/08/2018

Đếm lượt view page bằng gem impressionist

Bạn muốn đếm số lượt view 1 trang, 1 sản phẩm, hay thậm chí đếm số lượt thực hiện 1 action nào đó. Bạn có thể thực hiện 1 cách thủ công bằng cách +1 vào 1 trường quy định số view trong db, nhưng như vậy thì việc config sẽ gặp nhiều rắc rối. Để việc đó trở nên dễ dàng hơn, tôi sẽ giớ thiệu cho bạn 1 ...

Tác giả: Tạ Quốc Bảo viết 15:44 ngày 12/08/2018

Java Design Patterns (P1)

Chào các bạn, Bài này tôi sẽ giới thiệu qua về Design Patterns và một số patterns hay sử dụng trong phát triển phần mềm. Một số lợi ích của việc sử dụng design patterns là: Design Patterns định nghĩa và cung cấp các tiếp cận chuẩn industry trong việc giải quyết các vấn đề có tính lặp lại. ...

Tác giả: Bùi Văn Nam viết 15:44 ngày 12/08/2018

Cấu trúc thư mục và cách viết component chuẩn trong React

Một dự án web app đơn giản nếu muốn đạt mức độ thành phẩm thì sẽ có từ 20-30 components, và theo tiêu chí component càng nhỏ càng tốt vì nó có tính tái sử dụng cao, với cấu trúc thư mục bên dưới webapp có thể chứa khoảng 200-300 components. Đối với mức 20,000 React components thì phải hỏi chính đội ...

Tác giả: Hoàng Hải Đăng viết 15:44 ngày 12/08/2018

04 yếu tố giúp nâng cao sự chuyên nghiệp khi thiết kế website

Một khi bạn đã bước chân vào lĩnh vực kinh doanh online thì việc đầu tư thiết kế một website chuyên nghiệp là điều phải làm đầu tiên. Chúng ta có thể thấy có rất nhiều website mọc lên đủ các ngành nghề, chẳng hạn như thiết kế website kinh doanh thời trang, thiết kế website bán đồng hồ, thiết kế ...

Tác giả: Tạ Quốc Bảo viết 15:44 ngày 12/08/2018

Wordpress development in the local environment using Docker

The development environment is a trouble when developing Wordpress. With a staging environment, you can work without messing up the production environment , but it is difficult to collaborate between the two sides. It will be extremely convenient if it can be developed by a group of people and be ...

Tác giả: Trịnh Tiến Mạnh viết 15:44 ngày 12/08/2018

Web Scraping trong Ruby với Watir

Watir là một thư viện mã nguồn mở sử dụng cho việc automating test. Watir tương tác với trình duyệt giống như cách con người làm: nhấp vào liên kết, điền vào các biểu mẫu và xác nhận văn bản. Nhưng không chỉ vậy, tôi sẽ xây dựng một web scraper mô phỏng việc vào một trang để đăng nhập, comment, tải ...

Tác giả: Trịnh Tiến Mạnh viết 15:44 ngày 12/08/2018