Sự cố lộ thông tin bảo mật 50 triệu người dùng của Facebook tồi tệ hơn chúng ta nghĩ
Lỗi bảo mật mới nhất của Facebook càng làm tên tuổi của hãng thêm phần xấu xí trong mắt người dùng. Facebook biết rõ điều đó vì thế mà công ty đã tổ chức một cuộc gọi với các phóng viên vào thứ sáu vừa rồi để đưa ra lời giải thích cho scandal lộ thông tin của 50 triệu người dùng. ...
Tài liệu API
1.1. Check version: Kiểm tra phiên bản hiện tại có phải là mới nhất hay không. get: http://localhost1001/api/api_check_version.php?version=1.4&type=ios&app=appuser version: phiên bản trên app type: thiết bị bạn đang dùng app: appuser response: ...
Những hiểu nhầm của sinh viên mới học về lập trình
Nếu bạn nghĩ rằng việc học một ngôn ngữ lập trình sẽ khó khăn và vất vả y như việc học một ngoại ngữ mới – thì bạn đã nhầm to rồi đó! Khi bạn có suy nghĩ này, bạn đã mắc phải hội chứng “ngụy biện liên ngôn ngữ” – hội chứng này tạo cho bạn một ảo giác, rằng ngôn ngữ lập trình là một ...
Tìm hiểu Swift Either enum
Enum trong Swift rất mạnh mẽ và đa năng. Swift enum là 1 type với nguyên tắc riêng, có hỗ trợ cả methods và initializers, và tính năng liên kết các giá trị (Associated Value) cho phép chúng ta sử dụng 1 cách tiện lợi. Ví dụ về sức mạnh của enum là Optional type. Optional được xác ...
Series Solid Cho Thanh Nien Code Cứng: Liskov subsitution Principle
Giới thiệu Đây là đây là bài viết thứ 3 trong series “SOLID cho thanh niên code cứng”. Ở bài viết này, mình sẽ nói về Liskov Substitution Principle – Nguyên lý Thay Thế Lít Kốp (LSP). S ingle Responsibility Principle O pen/Closed Principle Liskov Substitution ...
Một thế giới GitHub hoàn toàn mới: công cụ, forum và tính năng mới
Hội nghị Universe của GitHub là hội nghị thường niên nhằm vinh danh những dự án mới nhất và tiến bộ nhất, đóng góp to lớn vào bức tranh công nghệ thế giới, từ những chuyên gia xây dựng dự án y tế, xe hơi tự động của một công ty thiết bị tự hành, hay chỉ đơn giản là… mấy cô cậu ...
Bàn về JS - Generator và sự phá vỡ quy luật Run-to-Completion
Có thể các bạn đã biết tới các khái niệm để thực thi bất đồng bộ trong JS như là callback hay promise. Ngày hôm nay chúng ta sẽ cùng tìm hiểu về generator, một thứ ma thuật giúp biến một async control flow thành một phong cách rất tuần tự và synchronous. Có một phần đông các developer luôn nhìn ...
Accelerated Application Development using Firebase Authentication (Part 1)
How many times have you thought about finding a faster way to integrate user authentication, when you started a new project? Well, it's been quite a headache for me. Every time we encounter the authentication flow, we do more or less the same thing over and over again, and even after that, it feels ...
Một số phương thức với object trong Javascript
Trong Javascript có hỗ trợ các loại dữ liệu cơ bản là giống với hầu hết những ngôn ngữ lập trình khác. Bài viết này mình sẽ giới thiệu về Object và một số phương thức thường dùng với nó. Nội dung có gì thiếu sót mong bạn đọc bỏ qua và góp ý. Cú pháp // Khởi tạo { [ nameValuePair1 [ , ...
VNG 12+1 Bot Battle – Đấu trường rực lửa đã trở lại!
Nằm trong chuỗi hoạt động mừng sinh nhật VNG 12+1, VNG 12+1 Bot Battle sẽ mang đến cho Starter & các bạn sinh viên yêu thích chế tạo robot một “đấu trường rực lửa” theo đúng nghĩa đen! (1) START – Lập đội và Đăng kí tham gia Cuộc thi chính thức mở cổng đăng ...
20 Portfolios Thiết kế UI & UX Truyền Cảm Hứng
Thế giới hiện đại yêu cầu những luật lệ mới và bạn không thể trở thành 1 graphic designer thành công mà không có 1 portfolio website riêng. Thậm chí khi liên quan đến giao diện người dùng hoặc trải nghiệm người dùng mobile, nếu không có khả năng thể hiện kỹ năng của mình, bạn sẽ khó ...
Ngành lập trình đang nóng trở lại
Vừa qua, chuyên trang tuyển dụng IT – TopDev đã công bố báo cáo về mức lương, phúc lợi và xu hướng ngành IT Quý 1&2 năm 2017. Báo cáo được thực hiện dựa trên khảo sát hơn 5500 ứng viên IT cả nước cùng hơn 150 nhà tuyển dụng, kết hợp với phân tích Database sẵn có của Topdev ...
Những chính sách bảo mật tiện ích mở rộng Chrome Google vừa công bố
Google vừa công bố những chính sách bảo mật tiện ích mở rộng Chrome nhằm giúp việc sử dụng tiện ích trên Chrome an toàn và minh bạch hơn. Trong vài năm trở lại đây, chúng ta thấy số lượng tiện ích mở rộng độc hại tăng lên đáng kể. Google nhận thức được điều đó và đã chủ động thay đổi cách ...
Ứng dụng của Lambda trong Design Patterns (Part 1)
Ở bài viết này tôi muốn giới thiệu cách sử dụng Lambda từ Java 8.0 để tạo ra “Gang of four Design Patterns”: 1. Factory Pattern Ví dụ: một ngân hàng với các sản phẩm là: Loan, Stock và Bond, chúng ta có cách thiết kế pattern như sau khi sử dụng class: ...
10 kĩ thuật hay được dùng trong golang
Sử dụng một GOPATH duy nhất Sử dụng đồng thời nhiều GOPATH sẽ không giúp cho hệ thống mở rộng tốt. Bản thân GOPATH đã rất độc lập (thông qua import path). Việc sử dụng một lúc nhiều GOPATH sẽ đem lại hiệu ứng phụ, ví dụ như nhiều phiên bản khác nhau cho một package. ...
Activity Recognition Transition API
Điện thoại ngày nay là một thiết bị vô cùng phổ biến, hầu như ai cũng phải trang bị cho mình ít nhất 1 cái. Người cũng cũng luôn mang theo điện thoại bên mình trong rất nhiều các hoạt động khác nhau. Và để cải thiện ứng dụng và mang lại nhiều trải nghiệm cho người dùng hơn thì nhà phát triển cần ...
Giải ngố toàn tập về Ethereum
Dù cho “ Bitcoin ” và “Ethereum thường đi đôi với nhau, thực tế lại cho thấy chúng rất khác nhau. Điểm chung duy nhất của cả hai đó là chúng đều có một cryptoasset chạy trên nền tảng Blockchain. Thay vì chỉ là một cryptocurrency, như Bitcoin, Ethereum cũng có ...
10 thủ thuật tuyệt vời cho Photoshop hiếm ai biết
Thế giới Photoshop vô cùng rộng lớn là nơi để các nhà thiết kế tự do thể hiện khả năng sáng tạo của mình, hãy cùng tìm hiểu 10 thủ thuật rất hay mà bạn có thể làm để những bức ảnh hay thiết kế trở nên ấn tượng hơn! Photoshop được ví như là một chiếc Lamborghini mạnh mẽ trong thế giới của những ...
Xây dựng các URL trong Swift
Hầu hết các ứng dụng hiện nay đều yêu cầu kết nối mạng - điều này có nghĩa là bạn sẽ phải làm việc với các URL có cấu trúc khác nhau thường xuyên. Tuy nhiên, việc xây dựng các URL - đặc biệt là các URL động dựa trên tham số đầu vào của người dùng - không phải là điều đơn giản và có thể dẫn đến một ...
Những lỗi SQL Injection hay mắc phải trong các ứng dụng Rails
Giới thiệu Framework Ruby on Rails cung cấp một thư viện mang tên Active Record, nó đóng vai trò như một ORM, trong đó có xây dựng hàng loạt phương thức giúp cho việc truy cập cơ sở dữ liệu một cách dễ dàng hơn. Những query methods trong ActiveRecord cần phải được sử dụng một cách cẩn thận, ...