
Tại sao Swift Enum có giá trị liên kết không thể có RawValue?
Trong lập trình Swift, chắc hẳn chúng ta sử dụng chắc hẳn sử dụng rất nhiều kiểu dữ liệu Enum . Enum trong swift dùng để định nghĩa một tập hợp có số phần tử cố định và liệt kê sẵn, chúng ta không thể không thể thêm hoặc bớt được số phần tử. Trong bài viết này tôi muốn giới thiệu đến các bạn ...

React redux アプリケーションのフロントユニットテストについて
( https://viblo.asia/p/how-to-test-your-react-redux-application-924lJrDNlPMから翻訳された記事です) Jest : yarn add --dev jestまたは npm install --save-dev jest Enzyme : 現在のreactバージョンに合わせてenzymeとadapterをインストール 例: 現在のreactバージョンは16であった場合 yarn add --dev enzyme enzyme-adapter-react-16 または npm i --save-dev ...

Bắt đầu làm việc với Github webhook
Nếu các bạn là các lập trình viên thì github là một thứ vô cùng quen thuộc. Các bạn làm việc với github hằng ngày như code đẩy code lên github, review code, tạo issue ... . Làm việc trong cùng một team phát triển thì việc mỗi khi tạo issue mới, tạo pull request mới , comment commit , comment pull ...

Series JSF – Phần 4: Tạo ví dụ, trang web hello world với JSF
Series JSF – Phần 4: Tạo ví dụ, trang web hello world với JSF Ở bài này mình sẽ hướng dẫn các bạn tạo một ứng dụng web (Web Application) đầu tiên với JSF và giải thích các thông tin cấu hình, annotation... Nguồn: https://stackjava.com/jsf/series-jsf-phan-4-tao-ung-dung-web-voi-jsf.html Mình ...

Hướng dẫn làm game craze math với HTML5.
Chào các bạn! Mùa đông năm nay tới muộn hơn mọi năm, nhưng nó lạnh và buốt giá hơn những năm trước nhiều! Bạn đã có gấu chưa? nếu chưa, thì bạn có đứa bạn thân khác giới nào đó để ngồi thật sát cho đỡ lạnh chứ? nếu câu trả lời vẫn là không. Thì bài viblo này chính là dành cho bạn đó =))) Bạn ...

Chain of Responsibility Pattern - Ruby
Chain of Responsibility là một mẫu thiết kế giải quyết cho việc thực hiện 1 chuỗi các tác vụ có trình tự mà mỗi 1 tác vụ trong chuỗi đó được đảm nhiệm bởi 1 class. Định nghĩa này khá dễ hiểu so với các định nghĩa hàn lâm khác về Chain of Responsibility Pattern, chúng ta sẽ đi từ ví dụ để hiểu ...

Guide cho Senior Engineer trong việc hướng dẫn người mới
Đây là bài dịch, bài gốc mời các bạn xem ở đây: http://silverwraith.com/blog/2017/10/the-senior-engineers-guide-to-helping-others-make-decisions Một trong những việc mà tôi thấy các Senior Engineer hay mắc phải, đó là giúp đỡ Junior Engineer tiến bộ . Lý do cho việc này, thông thường là do ...

Typescript: Class, Interface & chúng khác gì với class, interface trong C#, Java (!?)
OK. Từ trước tới giờ, nếu ai đã từng viết Javascript thì sẽ biết rằng: không giống như rất nhiều các ngôn ngữ lâp trình phổ biến hiện nay, Javascript không có khái niệm về Interface cũng như Class (update: khái niệm Class mới được đưa vào JS kể từ ES6) . Typescript, ngôn ngữ do hãng ...

Query Performance Optimization
Giới thiệu Ở các bài viết trước mình có giới thiệu qua các một số cách để tăng hiệu năng trong mysql(ví dụ: sử dụng index, thiết kế schema). Tuy nhiên như thế vẫn chưa đủ, để cho hiểu năng tốt hơn nữa thì việc cần làm là thiết kế các câu truy vấn một cách hợp lí và tối ưu nhất. Cho dù bạn có ...

Tạo Rest API với spring boot + mysql + jpa repository
Spring Boot là một dự án khá nổi bật trong hệ sinh thái Spring Framework. Nếu như trước đây, công đoạn khởi tạo một dự án Spring khá vất vả từ việc khai báo các dependency trong file pom.xml cho đến cấu hình bằng XML hoặc annotation phức tạp, tạo server cấu hình spring mvc, thì giờ đây với Spring ...

Các vấn đề về bảo mật trong các ứng dụng Web
Lần này tôi sẽ chia sẻ với các bạn về các vấn đề bảo mật trong các mô hình ứng dụng web và có sự chuẩn bị thực tiễn để tránh gặp phải chúng. Tôi hy vọng bài viết này sẽ giúp ích cho các lập trình viên hiểu rõ hơn về một số vấn đề xuất hiện đến 80% các ứng dụng ngày nay. Password Hasing Rất ...

Lập trình C cho hệ thống nhúng (P9- Standby Function- Stop mode trong V850E)
1. Khái niệm Ở trong phần trước mình đã giới thiệu về HALT mode và IDLE mode trong chức năng Standby funtion của V850E . Trong bài viết này mình sẽ tiếp tục giới thiệu về STOP Mode của chức năng này. STOP mode là mode sẽ dừng tất cả các hoạt động của các mạch bên trong ngoại trừ những tính ...

10 smart tricks hackers use to steal your cryptos
Dưới đây là một vài trick mà hacker dùng để đánh cắp private key của bạn (thông tin cần thiết cho việc đánh cắp cryptos của bạn) 1. Copy and paste Giả sử bạn nhìn thấy một địa chỉ mà bạn muốn chuyển một vài bitcoin vào đó. Bạn copy và paste địa chỉ đó vào trong ví của bạn. Nghe thì không có ...

Kiến thức nghiệp vụ phần 2: Hệ thống quản lý bán hàng
Nghiệp vụ quản lý bán hàng là phần quan trọng nhất trong mô hình vận hành một doanh nghiệp. Thường bao gồm những bộ phận chính như bên dưới: Quản lý tổng thể( Master Management) Quản lý đơn đặt hàng đã nhận( Received Order Management) Quản lý bán hàng( Sales Management) Quản lý đơn đặt ...

queue trong laravel
Cấu hình File cấu hình được lưu trong config/queue.php. Trong file này bạn sẽ muốn tìm cấu hình kết nối cho mỗi queue drivers được đi kèm với framework, bao gồm database, Beanstalkd, Amazon SQS, Redis, và synchronous driver (để sử dụng local). nếu không muốn thực hiện queue job thì để driver là ...

Quản lý Cronjobs với Laravel
Bài dịch từ trang developer.telerik.com Đôi khi ứng dụng của bạn cần chạy các nhiệm vụ quản trị theo định kỳ trên máy chủ. Cho dù bạn muốn gửi email cho người dùng của mình hoặc clean database tables vào cuối ngày, bạn sẽ cần một cơ chế lập lịch trình nhiệm vụ để làm các việc đó. Cron là một ...

Decorator in Rails
Khái niệm Decorator Như chúng ta đã biết, hệ thống RoR được xây dựng dựa trên mô hình MVC, trong đó: Model có vai trò xử lí logic và dữ liệu View nhận trách nhiệm hiển thị dữ liệu Controller là nơi trung gian điều phối dữ liệu, cầu nối giữa model và view Theo lí thuyết, model thường là nơi ...

Safe Area Layout Guide iOS 11 (Part 2)
Lời tựa Trong bài viết về iOS 11: Safe Area Layout Guide và Large Titles tháng trước, mình đã đề cập qua về Safe Area Layout Guide, trong phần này mình sẽ điểm qua một số vấn đề chúng ta gặp phải đối với Safe Area Layout Guide trên chiếc iPhone X - một flagship của Apple năm 2017. Cùng nhìn qua ...

Layout trong Android và cách sử dụng
1. Giới thiệu Để thiết kế được một UI trong android, điều chắc chắn là các bạn phải biết cách sắp xếp (layout) các phần tử view. Bài viết này sẽ giới thiệu ra một số loại layout cơ bản và thường sử dụng trong Android. 2. LinearLayout LinearLayout sẽ xếp các phần tử View con theo 2 dạng là ...

File upload using Paperclip
Ở bài trước Handling file upload using Ruby on Rails 5 API chúng ta đã cùng nhau tiềm hiểu về chủ đề "Gửi các dữ liệu JSON cơ bản được tạo ra từ các strings đến một API", và ở phần trước chúng ta đã làm việc với gem Carrierwave, tuy nhiên mình cũng có đọc một số bài trên Viblo và vẫn thấy thiếu ...