Action Cable - Friend or Foe?

Mình có cơ hội được biết và làm việc với Action Cable từ phiên bản của Rails 5.0 beta 3. Trong những lần tìm kiếm tài liệu về Action Cable để giải quyết vấn đề mình gặp phải, mình đã gặp được bài viết khá hay về Action Cable là Action Cable - Friend or Foe? tạm dịch là: Action Cable - Bạn ...

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

Google map javascript API and Polygon

Chắc hẳn có rất nhiều bạn biết về google api, google cung cấp cho chúng ta rất nhiều các api hỗ trợ, đặc biệt là các vấn đề liên quan tới bản đồ như định vị, tìm đường đi ... một trong số đó là một api cung cấp để chúng ta sử dụng javascript để nhúng 1 bản đồ vào trong view của chúng ta. Hôm nay ...

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

Hiểu rõ --strictNullCheck trong Typescript 2.0

TypeScript có 2 kiểu đặc biệt, Null và Undefined, nó có giá trị tương ứng là null và undefined. Trước đây, nó không thể là tên của 1 kiểu , nhưng Null và Undefined giờ được xem như là kiểu trong checking mode. Ở phiên bản trước, thì null và undefined có thể gán cho bất cứ giá trị nào. null và ...

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

Docker-Compose: Dựng môi trường cho Ứng dụng Laravel

Sức phát triển của Docker cũng như mức độ phổ cập của nó hiện nay thì chắc tôi cũng không cần phải bàn luận thêm ở đây nữa. Trong bài viết này tôi sẽ tập trung vào trình bày cách để giúp các bạn xây dựng được môi trường chạy một ứng dụng Laravel thông qua service Nginx sử dụng Docker-composer. Để ...

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

Sql nâng cao cho Rails part 1

Giới thiệu Như các bạn đã biết khi làm việc với rails chúng ra có 1 hỗ trợ tuyệt vời để kết nối với dữ liệu mysql thông qua Active record. Công cụ này giúp chúng ta, các coder có thể xử lý dữ liệu một cách nhanh chóng với những câu lệnh đơn giản và ngắn gọn. Nhờ vậy ta có thể tập trung vào việc ...

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

Lập trình game đa nền tảng cho di động (Phần 1)

Trong thời đại Công Nghệ Thông Tin phát triển bùng nổ mạnh mẽ ngày nay kéo theo sự phát triển của di động, máy tính, máy chơi game, máy tính bảng, kính thực tế ảo … Đời sống vật chất con người ngày càng phát triển dẫn đến nhu cầu được giải trí cao chính vì vậy ngành công nghiệp GAME trở ...

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

Hello Spring Security Java Config

Spring framework đã phát triển Spring Security để hỗ trợ cho việc thực hiện cơ chế Authentication và Authorization trên ứng dụng. Bài viết này sẽ hướng dẫn các bạn config Spring Security với demo chức năng login đơn giản. Có 2 cách để config/implement Spring security. Cách thứ nhất là config ...

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

Automation Test With Selenium

Tổng quan về Selenium Trong giai đoạn bùng nổ về công nghệ thông tin hiện nay, nhu cầu phát triển phần mềm nói chung và các ứng dụng xây dựng trên nền web nói riêng về chất lượng và số lượng đang trở nên bức thiết. Kéo theo đó là nhu cầu kiểm thử giao diện ứng dụng web để đạt được chất ...

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

45 tips giúp bạn code bá hơn

CHÚ Ý 1 . Bài viết phục các bạn làm việc trực tiếp với Ruby on Rails. CHÚ Ý 2 . Like và thả tim ủng hộ nếu bài viết có ích với bạn. Trong nghề lập trình, có những người code rất tốt, nhìn những dòng code của họ thể hiện sự rõ ràng, mạch lạc và có chút “tinh tế” Vậy làm sao để làm ...

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

Một số lưu ý khi đặt tên hàm tên biến theo chuẩn của apple

Việc đặt tên hàm, tên biến cho chuẩn mực là hết sức quan trọng trong quá trình bảo trì một sản phẩm. Kinh nghiệm, trình độ của một lập trình viên phần nào thể hiện qua cách đặt tên hàm tên biến. Vậy làm thế nào để đặt tên hàm, tên biến cho chuẩn mực? Chúng ta hãy cùng tìm hiểu xem, người thầy của ...

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

Học Javascript part 2

Operators Ở bài viêt này mình sẽ giới thiệu 2 operators là Arithmetic và Equality **1. ** Arithmetic Operators Sử dụng với integers, floating-point numbers hoặc characters. Bao gồm các dạng sau: Phép cộng (+) : console.log("3 + 4 = " + (3 + 4)); // in ra màn hình 3 + 4 = 7 ...

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

BEST RASPBERRY PI HƯỚNG DẪN TỰ ĐỘNG HÓA NHÀ

Raspberry Pi hệ thống tự động hóa nhà dựa trên Internet of Things Internet of Things là công nghệ xu hướng nhất hiện nay mà đứng bên cạnh wearables và robot. Nó là một khái niệm rất đơn giản, nơi các thiết bị trong nhà của chúng tôi hoặc bất cứ nơi nào họ đang có, có khả năng giao tiếp với nhau ...

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

Java concurrency part 1 + part 2

Java platform cung cấp khả năng xử lý multi-threading ở mức low-level, cho phép các developer viết các chương trình chạy song song xử dụng các keywords: synchronized, volatile, wait(), notify() và notifyAll(). Tuy nhiên việc xử lý concurrency ở mức low-level này khó sử dụng khi, hoặc sử dụng không ...

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

Local Storage

1.HTML Local Storage là gì ? Với local storeage web applications có thể lưu trữ dữ liệu tại trình duyệt của user,đây là một tính năng hưu ích trong HTML5 Trước HTML 5,dữ liệu của ứng dụng phải lưu trữ trong cookies,Local Storage thì bảo mật hơn và có thể lưu trữ nhiều dữ liệu mà không ảnh hưởng ...

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

Code Refactoring

Một lần làm xong dự án thì thấy tự dưng phía khách hàng thuê hẳn một "cao nhân" không biết từ đâu về viết lại code cho cả dự án.Kỳ lạ là tên này không hề hiểu nghiệp vụ dự án, cũng chưa từng làm với framework của dự án nhưng vẫn viết lại đống code của dự án ầm ầm.Hỏi ra mới biết là làm refactoring ...

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

Tìm hiểu về OpenGL ES 2.0(tiếp)

Ở phần trước chúng ta đã tìm hiểu sơ lược về OpenGL ES là gì và các khái niệm cơ bản của OpenGL ES 2.0 như Vertex Shader, Primitive Assembly, Rasterization, Fragment Shader.Trong phần tiếp theo này chúng ra sẽ tìm hiểu một ví dụ nho nhỏ có tên "Hello Triangle" nhé. 1.Hello Triangle Dưới ...

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

Cách tạo độ khó cho game

Chơi game cũng là một kĩ năng, nó đòi hỏi trình độ cần thiết để hoàn thành một màn chơi. Chính vì vậy nó có người chơi giỏi và người chơi kém. Do đó khi ta tạo một game, chúng ta cần để ý và nhắm đến kĩ năng của người chơi , các khái niệm “dễ” và “khó” trong màn chơi của ...

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

Phong cách làm việc với khách hàng Nhật - 5W1H

Nhân cơ hội 1 sáng tương đối rảnh, ngồi nghe 2 ông bên cạnh chém gió và tranh cãi nhau về một sản phẩm đang được phát triển. Vấn đề thực ra cũng không phức tạp, chung quy lại chỉ có 1 điểm, chức năng đó có trong sản phẩm hay không và nếu người dùng muốn theo nhu cầu thì cần lắp thêm hay thay thế? ...

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

Android với xác thực SMS tương tự ứng dụng WhatsApp - Phần 2

Trong phần 1 của bài viết này, chúng ta đã học được làm thế nào để tạo ra các API REST cần thiết cho ứng dụng này. Trong phần này chúng ta sẽ xem làm thế nào để xây dựng ứng dụng Android tương tác với các API để nhận được các tin nhắn SMS và xác nhận các tin nhắn đó. Dự án này sẽ sử dụng thư viện ...

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

Khi nào có thể kết thúc việc kiểm thử (Các tiêu chí kết thúc việc kiểm thử phần mềm) Phần 1

Trong bài viết này, tôi muốn giải quyết câu hỏi mà nhiều Tester luôn đặt ra trong mỗi dự án: “ When, where and how to stop Testing? ” 1.Khi nào thì việc kiểm thử là đủ? Để trả lời những câu hỏi này, chúng ta sẽ phải phân tích các hoạt động kiểm thử từ đầu đến cuối. Hãy xem xét ...

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