Những điểm mới trên ECMAScript 2016, 2017
ES6 (ECMAScript 2015) đã ra mắt được 3 năm, với nhiều tính năng rất hữu ích đã trở nên quen thuộc với hầu hết web developer. Tuy nhiên thế giới công nghệ không ngừng phát triển, từ đó đến nay ECMAScipt cũng update thêm nhiều tính năng hay ho. Dưới đây là những tính năng mới của ES2016 và ES2017. ...
Sử dụng calc() trong CSS3
Chào các bạn, Trong bài này tôi sẽ giới thiệu về calc() trong CSS3 Như chúng ta đã biết thì từ CSS3, chúng ta đã có hàm calc() cho phép chúng ta thực hiện các phép toán học ngay trong thuộc tính(property). Thay vì khai báo các giá trị pixel tĩnh cho các độ rộng (awidth) của element, chúng ta ...
SEO website with friendly_id
Cài đặt gem 'friendly_id' sau đó bundle install Cách sử dụng Tạo 1 bảng posts Và thêm 1 trường slug vào bảng posts # terminal rails g scaffold post title:string content:text rails generate friendly_id rails g migration AddSlugToPosts slug:string rails db:migrate Thêm ...
Trên tay TypeScript trong 30 phút
Thời gian gần đây mình đang dần chuyển hướng từ Angular1 sang tìm hiểu và ứng dụng thử Angular2. Thời gian có lẽ là đủ để kiểm chứng sự ổn định và hiệu quả mà phiên bản mới này mang lại trong các dự án, nhưng mình nhận được khá nhiều lời khuyên từ các blogger là nên thử tìm hiểu Typescript trước ...
[Android] Fingerprint Dialog (Android P)
I.Giới thiệu Android P vừa mới ra mắt cùng với vo vàn các tính năng cải tiến, và cũng có nhưng tính năng lần đâu tiên xuất hiện, điển hình nhất là Fingerprint Dialog. Dialog xác nhận dấu vân tay người dùng, nó hoạt động như trình mở khoá vân tay. Mình sẽ giới thiệu về nó ngay sau đây ...
Sử dụng global event bus trong Vue.js
Chào các bạn, ở bài viết này mình sẽ chia sẽ cách sử dụng global event bus trong vue.js. 1. Global event bus Trong vue.js, các component tương tác với nhau thông qua một mô hinh gọi là Parent-Child Communication, hiểu đơn giản là props down, events up. Tuy nhiên, như ở hình vẽ trên, nếu bạn ...
Layout with Flexbox and screen size in react native
Flexbox provides a consitent layout on difference screen size. You can read more here First, you should understand flex property. With flex: 1, it will use full space of a parent that wap it. Take an example: import { View, Text } from "react-native" export default class TutorialScreen extends ...
3 workhack để duy trì năng lượng tích cực tại công sở cho kĩ sư phần mềm
Mặc dù vị trí kĩ sư phần mềm là một vị trí đáng mơ ước với nhiều người, nhưng trên thực tế thì đây là một công việc rất vất vả đòi hỏi hàng tiếng đồng hồ dưới đèn led, máy lạnh “âm độ” và bị “cách ly” với ánh nắng mặt trời. Nói cách khác, viết được một dòng code đơn giản ...
AWS-IoT-Greengrass - Giảm chi phí 10.000$ xuống còn 1$
Trước khi đọc tiếp thì các bạn nên đọc 2 bài viết trước của mình về AWS nhé. Vì bài này không nhắc lại các khái niệm. AWS-IoT AWS-Lambda Nông trại nhà mình (ví dụ thôi nhé) bắt đầu ứng dụng hệ thống AWS-IoT để quản lý mọi thiếu bị qua Cloud, từ quản lý tưới, đo độ ẩm, hệ thống mai ...
Xây dựng extension để check timesheet trên WSM (P2)
Ở phần 1 mình đã build ra được 2 API để check timesheet & submit form request rồi Giờ ta sẽ build phần Client cho user sử dụng Form login mình sẽ có 1 input nhập email framgia, 1 input nhập password & 1 checkbox để lưu thông tin user (mình sẽ dùng localStorage để lưu phần này). Validate ...
【bcrypt】Phương pháp mã hóa thật sự an toàn cho mật khẩu người dùng
Xin chào mọi người, trong bài viết lần này tôi sẽ tập trung vào 「Bảo mật mật khẩu người dùng」trong phát triển ứng dụng và suy nghĩ về cách lưu trữ an toàn mật khẩu của người dùng. 1. Tính an toàn trong lưu trữ mật khẩu người dùng a. Thực trạng của mật khẩu người dùng b. Mã hóa mật khẩu ...
Xây dựng load balancer
I. Load balancer là gì? Load balancer là hệ thống phân bố lưu lượng truy cập giữa hai hay nhiều các máy chủ có cùng chức năng trong cùng một hệ thống giúp cải thiện hiệu suất và độ tin cậy của hệ thống nhờ khả năng giảm thiểu tối đa tình trạng một máy chủ bị quá tải và ngưng hoạt động. Load ...
Từ Javascript thuần đến RxJS (Phần 3)
Phần tiếp theo này chúng ta sẽ tiến hóa code đã viết để học một cách viết code đẹp hơn, ngắn gọn dễ hiểu hơn. Đây là phần cuối và cũng là phần thú vị nhất trong 3 bài viết. Qua bài này bạn sẽ hiểu được cách code của Reactive Programming, hiểu về cách hoạt động của Observables, Stream... Qua 2 ...
Chia sẻ về hệ thống giúp nhân viên làm việc từ nhà - TeleWork (phần1)
Với lợi thế trong tính linh động về chỗ làm việc và thời gian làm việc giúp cho nhân viên có thể cân bằng giữa công việc và các nhu cầu khác của cuộc sống , TeleWork đang được dần dần được áp dụng tại những nước phát triển trên thế giới. Với rất nhiều công ty làm offshore ở Việt Nam thì việc tổ ...
Sử dụng Codable để parse các Date format khác nhau trong Swift
Giả dụ chúng ta đang có một dữ liệu JSON trả về chứa nhiều định dạng ngày tháng (date format), thì bạn sẽ decode JSON đó như thế nào?. Đáp án đầu tiên đó là sử dụng dateDecodingStrategy, tuy nhiên nó chỉ hỗ trợ ở mức hạn chế cho định dạng .iso8601 và chúng ta cũng chỉ được set một strategy tại cùng ...
Tìm hiểu về Java 8 - Streams API
Khái niệm Có lẽ đối với Java 8 Stream API đã qus quen thuộc với những lập trình viên Java rồi. Bài viết này, sẽ là cách nhìn của tôi về Streams API. Stream là một abstract layer mới được giới thiệu trong Java 8. Sử dụng Streams, bạn có thể xử lý dữ liệu theo cách khai báo giống như các câu lệnh ...
Truyền tải media trong VOIP - Xử lý và tối ưu hoá dữ liệu
Trong ứng dụng VOIP, âm thành và hình ảnh được truyền từ máy này sang máy khác theo thời gian thực và phải qua nhiều giai đoạn: Biến đổi tín hiệu số thu được thiết bị ngoại vi thành dữ liệu máy. Mã hoá và nén dữ liệu. Chia dữ liệu thành các gói nhỏ và đẩy lên internet. Sắp xếp dữ liệu ...
Dùng thử xem Machine Learning có gì ghê gớm ?!?
Bài này là một bài mỳ ăn liền về Machine Learning, giúp bạn thử vọc vạch xem nó có gì hay ho, có gì thú vị và sức mạnh của nó có thực sự kinh hồn như các bài viết khác vẫn hay nói không. Trước hết xin nói rõ đây là 2 khái niệm hoàn toàn khác nhau và hay bị nhầm lẫn, AI (Trí tuệ nhân tạo) ...
Tại sao tôi không sử dụng Storyboard
Động lực Tôi muốn chia sẻ quan điểm của riêng tôi về Storyboard với một số giới hạn của nó bằng kinh nghiệm trải qua một số dự án thực tế cùng các dev khác. Mục tiêu Đầu tiên, bạn sẽ học được ở những trường hợp nào tôi thích sử dụng storyboard. Thứ hai, bạn sẽ học những trường hợp nào tôi ...
Tìm ra smell code với reek
Code ruby của bạn là smell code. Có lẽ nó là một số phương thức quá dài với các tham biến quá nhiều, một vài class mà chúng ta đã làm cho nó quá nhiều việc ở trong đó, hay là một cái tên bất thường ở chỗ này hoặc chỗ khác. Không có codebase nào hoàn hảo, nhưng đánh chú ý là những thiếu sót và tái ...







