React-Redux at client side and Rails at Server side

Hiện nay Reactjs là một thư viện mạnh mẽ khá phổ biến được phát triển bởi Facebook. Khi làm việc với React hay các dự án ứng dụng Single Page nói chung, có một khái niệm rất quan trọng là Trạng thái(state) của ứng dụng. Vậy state của ứng dụng là gì? Một ứng dụng web hoạt động cần dữ liệu từ phía ...

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

Real-time Apps with Laravel 5.1 and Event Broadcasting

Trong Laravel gồm có broadcasting event, cái làm cho nó dễ dàng để tạo các ứng dụng thời gian thực trong PHP. Với chức năng mới này, một ứng dụng có thể sinh ra các sự kiện thời gian thực dựa vào các giải pháp cloud-based real-time PubSub khác nhau, như Pusher hoặc Redis. Trong bài viết này tôi ...

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

AdonisJS - Laravel phiên bản Nodejs

Nodejs là một công nghệ đang nổi, đồng nghĩa với việc Javascript ngày càng trở nên phổ biến hơn. Có rất nhiều framework node js được sinh sôi hàng ngày. Trong đó có một MVC framwork cũng đang phổ biến "AdonisJS". AdonisJs được lấy cảm hứng từ một Php Framework gọi là Laravel. Nó mượn các ...

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

[Mikrotik] Setup server lưu trữ log cho thiết bị Mikrotik

1. Log là gì 2. Tầm quan trọng của log 3. Coi log trên Mikroitk 4. Setup server lưu trữ Log 5. Thiết lập remote log trên mikroitk 6. Test Log là ghi chép, translate google ra thế thôi </p> <div class= Tác giả: Trịnh Tiến Mạnh viết 15:10 ngày 12/08/2018

Những lỗi bảo mật phổ biến trong Rails

Ruby on Rails làm tất cả để giữ cho bạn được bảo mật. Tuy nhiên, ngay trong tài liệu chính thức cũng đề cập tới, không có nền tảng nào mà có thể bảo mật hoàn toàn. Do đó, các bạn cần phải hiểu rõ các lỗi bảo mật phổ biến mà dễ gặp phải. Các lỗi bảo mật hay gặp gồm có: Mass assignment Tấn ...

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

Khi nào includes làm một join, và khi nào nó làm một truy vấn thứ hai

Một ngày nào đó, chúng ta làm việc cho ứng dụng Rails của chúng ta và chúng ta gặp phải vấn đề khi một truy vấn ActiveRecord với một mệnh đề includes đã thực hiện join, chúng ta cảm thấy nó sẽ hiệu quả hơn và cải thiện hiệu suất để thực hiện truy vấn thứ hai. Chúng ta đã có nghĩ rằng ActiveRecord ...

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

Hãy tập trung nhiều vào Hỗ Trợ Chất Lượng (Quality Assistance) chứ không chỉ Đảm Bảo Chất Lượng (Quality Assurance)

Leader dự án, developer, QA thường nghĩ vai trò của QA trong dự án là đảm bảo chất lượng. Khi QA được join vào dự án thì mọi người thường mong muốn QA thực hiện được các công việc: Đảm bảo rằng các chức năng đang được built hoạt động đúng như mong đợi Đảm bảo chức năng hoạt động không đúng như ...

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

shellについて再確認する

shellと言われて思い浮かぶのはターミナルやコマンドプロント、bashやzshだった。 だがその認識がいかに大雑把なものであるか思い知ったのでここにメモする。 shellの定義 シェル (shell) はオペレーティングシステム (OS) のユーザーのためにインタフェースを提供するソフトウェアであり、カーネルのサービスへのアクセスを提供する。 wikipediaより カーネル、つまりはOSの内部にアクセスするためのソフトウェアがshellだ。 大きく分けてCUIベースのものと、GUIベースのものの2つがあり、CUIベースのものがいわゆるbashやzshである。 ...

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

10 Weird Things About Ruby That You Should Know

Ruby là một ngôn ngữ tuyệt vời với nhiều điều thú vị mà có thể bạn chưa từng thấy. Trong bài viết này tôi sẽ đưa ra cho các bạn một số điều thú vị mà tôi thấy được. 1. Heredoc + Method Nếu bạn có một số dữ liệu, và bạn muốn nhúng vào chương trình, bạn có thể dùng "heredoc" input = < ...

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

Kéo thả upload ảnh trong rails sử dụng dropzonejs-rails

Dropzone là một thư viện javascript cho phép upload nhiều ảnh bằng kéo thả, hoặc chọn ảnh từ thư mục.Bài viết này sẽ hướng dẫn từng bước cách sử dụng thư viện dropzone trong rails với gem carrierwave Cách cài đặt Thêm vào trong Gemfile gem carrierwave hỗ trợ upload files từ Ruby applications ...

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

MPAndroidChart

Every now and then as a developer you might come accross a hug arrays of data that needs some sort of data representation. If this representation happens to be charts then MPAndroidChart is one of the best you can embrace in your app. Using charts instead of tables to display that data can lead to ...

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

Đồng bộ và bất đồng bộ trong ajax

$.ajax({ url: 'link.php', type: 'POST/GET', data:"....", dataType: 'json', async: false/true, success: function(response) { .................. } }); Đồng bộ và bất đồng bộ nằm ở ...

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

Tìm hiểu về các chuẩn bảo mật thư điện tử (part 2)

Transport Layer Security (TLS) Transport Layer Security (TLS) là một giao thức mã hóa được sử dụng để bảo vệ dữ liệu trong quá trình chuyển tiếp giữa các máy tính. Khi hai máy tính gửi dữ liệu cho nhau, thông tin được mã hóa theo cách mà cả hai đều hiểu. Tùy thuộc vào các quy tắc, một trong hai ...

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

Tái sử dụng validation khi sử dụng form object trong rails

Nếu bạn đang sử dụng pattern "Form Objects" và các validations không đặt ở ActiveRecord model, có thể bạn sẽ gặp khó khăn khi muốn sử dụng lại những validations tùy chỉnh (custom) ở những class khác nhau. Tôi sẽ đưa cho các bạn ví dụ sau: Tưởng tượng bạn phải viết 1 đoạn mã validate cho một tiến ...

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

Expression Trong AngularJS

Expression (biểu thức) trong Angular được dùng để gắn kết dữ liệu qua HTML, chúng được sử dụng ở các template, các directives. Vì vậy chúng xuất hiện ở tất cả các ứng dụng của AngularJS. Vậy cụ thể Expression trong Angularjs là gì? Cách thức hoạt động của chúng ra sao? Trong bài viết này mình sẽ ...

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

Node.js Tutorial: Phần 7 - Sử dụng EJS làm Template Engine trong Express

Tạo một project Express với express-generator Cách nhanh nhất để tạo một project ExpressJS là sử dụng express-generator. Để cài đặt Express generator, bạn ở Command line/Terminal, gõ vào lệnh sau: npm install -g express-generator Nếu dùng Linux bạn cần thêm từ khoá "sudo" ở đầu dòng lệnh trên, ...

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

Gosu - Thư viện game 2D cho Ruby - Cùng bắt đầu với game đơn giản - Phần 2

Tiếp theo phần 1, ở phần này mình thực hiện tạo những ngôi sao và animation cho chúng. Định nghĩa chiều Z Đầu tiên mình tạo module ZOrder để định nghĩa chiều Z cho đối tượng. Trong game 2D chỉ có 2 chiều X và Y vậy thì chiều Z là cái gì, Z quy định đối tượng nào nằm đè, đối tượng nào bị đè nhé. ...

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

Object-oriented programming

Trong nghành phát triển phần mềm, chúng ta đã không xa lạ gì với OOP - Object-Oriented Programming - Lập trình hướng đối tượng. Ở bài viết này, tôi sẽ tổng kết lại những khái niệm lập trình hướng đối tượng sao cho gần gũi hơn với thực tế cuộc sống. Nếu nhìn vào đời sống thực tế, ta có thể ...

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

Sự khác nhau giữa addFragment và replaceFragment trong Android

Khi làm việc với ứng dụng android chắc các bạn không thể không biết đến Fragment . Fragment là một phần giao diện người dùng hoặc hành vi của một ứng dụng. Fragment có thể được đặt trong Activity hoặc chính trong Fragment , nó có thể cho phép thiết kế Activity, Fragment với nhiều mô-đun. ...

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

ReactJS - Ưu điểm và nhược điểm

React mở ra cho chúng ta những khả năng mới như: render dữ liệu ở tầng server, cập nhật dữ liệu thời gian thực, hiển thị dữ liệu đa nền tảng… Vậy React là gì.? React (còn được gọi là Reactjs hay React.js) là một Thư viện javascript được tạo ra bởi sự cộng tác giữa Facebook và Instagram. ...

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