Ý nghĩa của optional trong swift

Tôi là một lập trình viên với 3 năm kinh nghiệm cũng đã từng là technical leader và trainner. Trong quá trình review source và training cho nhân sự mới thì một trong nhưng lỗi hay gặp nhất của một lập trình viên còn ít kinh nghiệm là : Không kiểm tra sự tồn tại giá trị của biến trước khi sử dụng. ...

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

Artificial Intelligence (AI). What the future holds for Mankind and Technology

Abstract Artificial Inteligence (AI) simply means the intelligence possesed by machines. It is just like the brain humans have which have evolved over generations but AI not only aims to replicate the human brain but also surpass it. In some area this has already been archieved, an example ...

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

Pattern - Microservices Architecture

Overview Microservices Architecture là một mô hình kiến trúc để phát triển hệ thống phần mềm. Chúng được ứng dụng để thay đổi cho mô hình cấu trúc một khối. Nhờ khả năng mở rộng rất dễ dàng của kiến trúc này mà nó được coi là kiến trúc lý tưởng để xây dựng lên nền tảng phát triển diện rộng trên ...

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

SQL dành cho tester (Phần I)

SQL là một ngôn ngữ chuẩn để truy cập các Cơ Sở Dữ Liệu (CSDL), vì thế trước khi thực hiện kiểm thử CSDL, điều kiện tiên quyết đối với các kiểm thử viên là cần có kiến thức về SQL. Hiện nay có rất nhiều tài liệu về SQL cũng như thực hành SQL trực tuyến, tuy nhiên nếu chưa có cơ hội làm việc về CSDL ...

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

Wicket hiển thị (e.g. PDF, Excel, Word) trong IFRAME

Trong bài viết này tôi sẽ trình bày cách hiển thị file pdf trên màn hình để xem trước nội dung file PDF trong Wicket. Tôi sẽ trình bày 2 vấn đề chính 1. Hiển thị file PDF lên màn hình 2. Sử dụng ajax để thay đổi file PDF Vì file pdf là dạng nội dung không thể hiển thị bằng thẻ HTML thông ...

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

Debug & tip and tricks in Google Chrome DevTools

Nếu là một lập trình viên web lâu năm, chắc hẳn bạn còn nhớ Firefox với firebug(con bọ) 'thần thánh' một thời của các web developer. Tuy nhiên, Google chrome đã nổi lên và hiện nay rất nhiều developer dùng Chrome để phát triển web. Mình xin giới thiệu một số tính năng cũng như extention hay của ...

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

Agile testing cho người mới bắt đầu.

Bài viết được dịch từ trang: http://www.guru99.com/agile-testing-a-beginner-s-guide.html Mở đầu Agile làm một phương thức phát triển phẩm mềm linh hoạt rất phổ biến hiện nay. Mô hình phát triển phần mềm Agile nhấn mạnh vào 4 giá trị cốt lõi sau: “Cá nhân và sự tương hỗ quan trọng hơn ...

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

Functional Reactive Programming với RxJs và Angular 2

Trong bài này chúng ta sẽ đi qua các khái niệm về Functional Reactive Programming ( FRP ) từ góc nhìn của một lập trình viên Angular 2 . Hãy cùng nhau tìm hiểu các chủ đề sau: Khái niệm lập trình bất đồng bộ với stream Kiểu dữ liệu mới: Observables Functional Reactive Programming và RxJs ...

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

Quản lý Issue trong dự án Test

Mở đầu cho bài viết này chúng ta hãy cùng tìm hiểu Quản lý issue là cái gì? Để trả lời cho câu hỏi này, chúng ta sẽ cùng làm một ví dụ: Có một số Issue điển hình trong dự án: 1. Chiến lược – Strategy Vượt quá ngân sách Thiếu sự hỗ trợ quản lý rõ ràng cho dự án ...

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

So sánh Native App, Web App, Hybrid App và Website

Native App, Mobile web app, Hybrid App (ứng dụng lai), là những khái niệm cơ bản của lập trình di động. Dựa trên ngôn ngữ lập trình, có thể chia mobile app làm 3 loại: bao gồm: ứng dụng gốc (Native App), ứng dụng web (Web App) và ứng dụng lai (Hybrid App). Trong đó có hơn 1 nửa mobile dev chọn làm ...

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

Tìm hiểu về Ruby Rack

Nếu đã từng lập trình web với Ruby, bạn đã làm việc với Rack. Có thể nói Rack chính là nền tảng cho các web framework của Ruby như Sinatra, Rails hay Lotus,... Rack cung cấp một minimal, modular, and adaptable interface để phát triển các ứng dụng web trong Ruby. Bằng cách gói các HTTP request và ...

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

5 skills to have a good job interview

1. Operating skill This is an indispensable skill for any job. Employers need people who have the ability to solve quickly a large volume of work and be able to work in a scientific way. Thus, how to demonstrate? Dress neatly and professionally Always be ready for the necessary ...

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

Tìm hiểu hàm protect_from_forgery trong Ruby on Rails

Xin chào tất cả các bạn!. Trong bài viết này, mình muốn chia sẻ với các bạn cách thức mà một ứng dụng Rails chống lại tấn công CSRF bằng phương thức protect_from_forgery qua bài dịch từ website: I. CSRF là gì? CSRF ( Cross Site Request Forgery) là kĩ thuật tấn công bằng cách sử dụng quyền ...

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

Một vài điểm khác biệt khi tạo Test Plan cho dự án Automation test

Chúng ta đều biết rằng các dự án Automation khác với các dự án test Manual. Mặc dù, các dự án tự động hóa không thực sự tồn tại (hoặc không tồn tại như lý tưởng), cả hai dự án automation và manual được xử lý khác nhau ngay trong bước lên plan. Một dự án mà plan không rõ ràng thì không thể thực ...

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

[Write-up] Framgia CTF - Beyond Human (2016/06/17)

Thay mặt BTC, mình xin được phép đưa ra phần write-up ngắn gọn cũng như gợi ý cho phần CTF của cuộc thi. Phần game logic, bạn @bs90 là người phụ trách. BTC rất hi vọng mọi người bớt chút thời gian đóng góp ý kiến cho cuộc thi thông qua bản khảo sát sau: https://docs.google.com/forms/d/1l3LYMdLmR ...

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

Coding use Clould 9 IDE

Tại sao phải dùng Cloud 9 IDE? Đã bao giờ các bạn gặp trường hợp muốn code mà không code được chưa? Và để có thể code đàng hoàng, ta cần một máy tính bàn(hoặc laptop) cài đầy đủ các tool cần thiết. Bạn nghĩ rằng để code được cần cài những gì? Thông thường, máy của một developer thường có các ...

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

The changing Google Analytics by Firebase Analytics | Sử dụng Firebase Analytics cho ứng dụng của bạn

Như các bạn đã biết Google mua lại Firebase vào tháng 10 năm 2014. Kể từ đó, dịch vụ này đã tăng từ 110.000 nhà phát triển lên hơn 470.000 người. Bây giờ công ty đã quyết định đây là lúc để biến Firebase thành một dịch vụ “thực sự Google”. Tại hội nghị các nhà phát triển Google ...

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

Khi nào một bug không phải là bug?

Để đảm bảo chất lượng phần mềm thì việc phát hiện và log bug là công việc hàng ngày của một QA/ Tester. Tuy nhiên không hẳn tất cả những bug chúng ta tìm được đều là bug. Vậy khi nào một bug không phải là bug? Và đâu là ranh giới để xác định một bug có phải là bug hay không? Bug là gì Đầu ...

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

Sử dụng gem SIMPLE_FORM

Simple Form nhằm mục đích giúp bạn tạo ra sự linh hoạt trong việc thiết kế form bằng các thành phần mạnh mẽ, mục tiêu cơ bản của Simple Form là ko can thiệp với cách bạn xác định các layout, cho phép bạn tìm thấy những thiết kế tốt hơn, đẹp mắt hơn. Cài đặt Th êm nó vào trong file gem cuả ...

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

Realm - A replacement for SQLite & Core Data

Trước đây chúng ta đều đã biết SQLite là một cơ sở dữ liệu tốt để lưu trữ dữ liệu trong bộ nhớ trong. Nhưng thời gian đã thay đổi, và bây giờ, Realm là một phương pháp tuyệt vời để thay thế cho SQLite . Trước đây, để làm việc với SQLite, chúng ta phải thực hiện rất nhiều thao tác: xây ...

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