Create A Custom Artisan Command Laravel 5.5

Xin chào các bạn, hôm nay mình lại tiếp tục giới thiệu một phần về Laravel 5.5 - phiên bản mới nhất cho đến thời điểm hiện tại. Artisan Console thực ra không được cải tiến so với những phiên bản trước, nhưng nó cũng là một phần quan trọng luôn được list trong "Digging Deeper" của Laravel ...

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

UI Design Tips for iPhone X

Trước khi iPhone X tới được tay các tín đồ của nhà Táo, rất nhiều fans đã trông chờ nó, bao gồm cả các designer hay các developer, những người sẽ nhìn trực tiếp ứng dụng của họ chạy trên iPhone X. Apple nói rằng iPhone X là một smartphone của tương lai, trong thời gian tới nó sẽ là thách thức cho ...

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

Waterfall vs Agile vs Scrum - Part 4: Agile vs Waterfall. Con đường nào phù hợp với bạn

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

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

Làm game cờ vua online với Rails cable

Xin chào các bạn, trong bài viết lần này mình sẽ giới thiệu với các bạn demo của ứng dụng chơi cờ vua online sử dụng Rails 5 cable và thư viện chess.js. Bài viết được tổng hợp từ nhiều nguồn (bên dưới bài viết) và tự nghiên cứu của cá nhân mình. I. Tổng quan về Rails cable và game cờ vua Bản ...

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

Những sai lầm trong thiết kế cơ sở dữ liệu

Là một lập trình viên, bất kể khi nào được giao một task nào đó dựa trên code có sẵn, bạn thường sẽ gặp phải rất nhiều thách thức. Một trong số đó liên quan đến việc hiểu mô hình dữ liệu (data model) của ứng dụng. Bạn sẽ mất một khoảng thời gian để hiểu về các bảng, các cột, giá trị cũng như những ...

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

Android adding RecyclerView swipe to delete and undo

1. Cơ chế hoạt động RecyclerView swipe - ItemTouchHelper Với sự giúp đỡ của lớp ItemTouchHelper ta có thể thêm action swipe để xóa 1 item trong list dữ liệu. Swipe row để xóa row khỏi RecyclerView, nhưng sẽ không refresh lại dữ liệu. Khi đó RecyclerView sẽ hiển thị empty row tại row mình vừa ...

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

Vanishing & Exploding Gradients Problems in Deep Neural Networks (Part 1)

Introduction Trong quá trình training Deep Neural Networks (DNNs), trong một số trường hợp thời gian training có thể kéo dài hay kết quả trả về có độ chính xác không như mong muốn. Một trong những nguyên nhân gây nên những hiện tượng trên có liên quan đến Gradients , hay cụ thể hơn là Vanishing ...

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

Laravel Deep Dive: queue system phần 1

Trong khoa học máy tính khi gặp phải các bài toán mà các công việc, tác vụ có mức độ ưu tiên như nhau, trong đó cần có sự sắp xếp và thực hiện một cách tuần tự theo thứ tự đến trước và đến sau của nó, người ta thường áp dụng hệ thống queue vào. Trong xứ lý với ưng dụng web cũng vậy, nhiều khi với ...

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

A couple words on Arrays in Ruby

Chúng ta thường làm việc với mảng hàng ngày. Đối với nhiều người thì mảng khá là thân thuộc và dễ xử lý. Nhưng có một số method và behavior thú vị mà tôi muốn nói đến trong bài này. Bắt đầu ngay nhé arr = [1, 2, 3] arr[9] = 'foo' p arr result = [1, 2, 3, nil, nil, nil, nil, nil, nil, "foo"] ...

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

File uploader với Refile gem

I. Giới thiệu Trong rails, 2 thư viện thường được sử dụng nhất trong việc upload file lên server đó là CarrierWave và PaperClip. Ngoài ra còn có một thư viện thông dụng khác đó là Refile. Nó là một sản phẩm kế thừa từ gem CarrierWave với nhiều vượt trội. Và giống như DragonFly, nó kết hợp tính ...

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

How To Create a New User and Grant Permissions in MySQL

About MySQL MYSQL là một hệ quản trị cơ sở dữ liệu mã nguồn mở giúp cho người dùng lưu trữ, tổ chức và sau đó lấy dữ liệu. Nó có nhiều lựa chọn cung cấp cho người dùng để thao tao với bảng và cơ sở dữ liệu. Bài viết này hướng dẫn việc tạo user và cấp quyền trong MYSQL. How to Create a New ...

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

Các tính năng mới của laravel 5.5 (p2)

Các tính năng mới của laravel 5.5 (p1) Trong bài viết trước mình đã giới thiệu một số chức năng mới của laravel 5.5 .... Ngày hôm nay mình sẽ tiếp tục trình bày về một số tính năng mới của version mới này. LET GO ! 1, Validation Data Return Ở các phiên bản trước việc tạo ra một bản ghi ...

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

Giới thiệu Gem roo và roo-xls, áp dụng qua thực tế.

Import data từ file .csv, .xls, .... và import vào database có vẻ là 1 chức năng đã khá quen thuộc, và cũng vì vậy mà mỗi web framework đều có 1 vài thư viện hỗ trợ việc đọc các file spreadsheet rất tốt. Nhưng các thư viện này sẽ cung cấp các chức năng cơ bản, và để chúng hoạt động phù hợp ...

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

Thiết kế website bằng ngôn ngữ nào là tốt nhất?

Công nghệ website phát triển, việc ra đời ngày càng nhiều ngôn ngữ lập trình là chuyện rất bình thường. Song, hiện tại có quá nhiều ngôn ngữ lập trình PHP, ASP, ASP.NET, HTML, JS, JAVA, CSS3,.. chắc hẳn sẽ khiến cho bạn không khỏi băn khoăn, lo lắng không biết nên đưa ra sự lựa chọn nào đúng đắn ...

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

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. WebSockets mới ...

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

Xây dựng package Counter Cache cho Laravel 5

Trong quá trình làm dự án mình có gặp bài toán như sau : Ta có hai bảng products và comments, với quan hệ 1 - n. Mỗi product có nhiều comments. Trong mỗi comment chứa 1 rating_value và nội dung comment. Bài toán đặt ra là với mỗi product ta cần tình được tổng số comments và giá trị rating trung ...

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

Quản lý log ứng dụng với ELK Stack (Elasticsearch, Logstash và Kibana)

Như phần trước mình đã giới thiệu về GrayLog 2 - quản lý log của ứng dụng . Hôm nay mình tiếp tục giới thiệu một bộ quản lý log ứng dụng đến từ Elastic là ELK Stack ( E lasticsearch, L ogstash và K ibana) để các bạn có thêm lựa chọn khi muốn triển khai một ứng dụng quản lý log nhé. Bài viết giới ...

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

Cơ bản về docker

Khái niệm Docker - đây là một công cụ tạo môi trường được packaging (Container) trên máy tính độc lập mà không làm tác động tới môi máy, môi trường trong Docker sẽ chạy độc lập. Mỗi containers chứa ứng dụng gồm chứa các thư viện riêng, nhưng kernel được chia sẻ với các containers khác. Mỗi kernel ...

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

Phân biệt Web server với App server trong Rails

Bài viết này được dịch từ nguồn gốc A Web Server vs. an App Server Khi chúng ta nghiên cứu cách deploy rails app chúng ta sẽ gặp rất nhiều tên như Apache, Unicorn, Puma, Phusion Passenger, Nginx, Rainbows và nhiều nhơn nữa. Tất cả có vẻ phù hợp với thể loại phân mềm deploying Rails nhưng có ...

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

Counter Cache trong rails

I. Giới thiệu Bạn đã bao giờ đếm số lượng từ một ActiveRecordRelation ở trong rails và nhìn vào console log, bạn thấy vấn đề n+1 queries đập vào mắt. Bạn đã khác phục nó như thế nào, bạn có thể viết 1 scope loằng ngoằng cho cái việc đó hoặc sử dụng EagerLoading, nhưng nếu bạn đoán được nó sẽ ...

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