
Multithreading: Java Memory Model
Ở các bài viết trước, mình đã đề cập tới cách khởi tạo và xử lý đa luồng (multiple threads) trong Java, trong bài viết này chúng ta sẽ đi sâu hơn về kiến trúc, các cách tổ chức sắp xếp bộ nhớ trong Java. Tìm hiểu về Java Memory Model (Mô hình bộ nhớ Java), Cách mà Java Virtual Machine ...

[Estimation Part_1] Key factor for success Estimation in Software Development
Giới thiệu Trong bài viết này tôi muốn giới thiệu tới các bạn một số điểm cần chú ý khi thực hiện estimate một dự án phần mềm. Làm thế nào để có thể đưa ra một bản estimation chính xác nhất. Có một thực tế quan trọng nhưng ít người biết, đó là việc estimate chính xác, hợp lý là yếu tố quyết định ...

SqlAlchemy trong python (part 3)
Tổng quan Trong những bài viết trước, chúng ta đã so sánh giữa SQLAlchemy và những Python O R M khác. Trong bài viết này , chúng ta sẽ đưa đến một cái nhìn rõ ràng hơn về SQLAlchemy O R M và những phép toán thông qua những ví dụ cụ thể. Không chỉ có SQLAlchemy O R M mới có khả ...

Làm việc với Gson trong android
CHào, lại tới ngày viết viblo rồi. Chưa nghĩ ra được cái gì để viết, tiện dự án mình đang làm có đang dùng Gson nên mình cũng giới thiệu luôn cho các bạn chưa biết nó là gì? Gson là một thư viện java cho phép người sử dụng có thể chuyển đổi từ một đối tượng Java sang JSON và cũng có thể chuyển ...

Áp dụng mô hình CMMI trong việc việc phát triển phần mềm (phần 1)
1. Khái niệm về CMMi CMMI (Capability Maturity Model® Integration) là một mô hình quản lý chất lượng cho các tổ chức. Nó có thể được sử dụng để định hướng quản lý, định hướng phát triển cho một dự án, một bộ phận của tổ chức hoặc toàn bộ tổ chức đó. CMMI được tạo ra và duy trì bởi một ...

Non-Relational SQL ( MongoDB ) với Python và Django
I. MongoDB MongoDB là một cơ sở dữ liệu tài liệu mã nguồn mở, và cơ sở dữ liệu hàng đầu NoSQL. MongoDB được viết bằng c ++. 1.Giới thiệu về MongoDB MongoDB là một tài liệu định hướng cơ sở dữ liệu đa nền tảng. Phân loại như là một cơ sở dữ liệu NoSQL, MongoDB cũng tránh các cấu trúc cơ sở ...

[Write-up] Framgia CTF - The Haunted Elevator (2016/01/09)
Vậy là cuộc thi đã kết thúc được một tuần. Thay mặt BTC, mình xin được phép đưa ra phần write-up một số bài của phần CTF của cuộc thi. Phần game logic, các bạn hãy liên hệ với bạn @bs90 để được giải đáp nhé. Survey Cũng như lần trước, một survey nho nhỏ, hi vọng ai chưa làm có thể bớt chút thời ...

Giới Thiệu Về Các Hệ Mã Hóa
Trong thời đại số hóa ngày nay, mật mã đóng một vai trò rất quan trọng. Và tôi nghĩ người lập trình viên cần phải trang bị các kiến thức cơ bản về mã hóa. Vì vậy, trong bài viết này tôi muốn giới thiệu đến các bạn tổng quan về các hệ mật mã, cách chúng làm việc, ưu và nhược điểm của từng hệ mật mã, ...

Tìm Hiểu AngularJS - SQL - DOM (P7)
Để tiếp tục loạt bài tìm hiểu về AngularJS, bài trước ta đã tìm hiểu về AngularJS - Tables lần này ta sẽ cùng nhau tìm hiểu về SQL, nhưng do phần này những gì mình tìm hiểu được khá ngắn nên mình sẽ gộp cả phần DOM vào bài viết này luôn. Trong bài viết có sử dụng đến các kiến thức của các bài ...

Htaccess và các vấn đề liên quan
Thông thường để cấu hình cho Server Linux thì ta phải có kiến thức về quản trị mạng Linux, điều này đôi khi gây khó khăn cho các lập trình viên. Vậy có cách nào khắc phục vấn đề này mà không cần đăng nhập vào tài khoản phía Server ? Ở Server có một file đặc biệt tên là .htaccess, file này có ...

Android Date - Time - Tabs
Tài liệu này được dịch và làm lại trên slide dạy Android của Đại học Cleveland. DATE Android hỗ trợ những widget (DatePicker, TimePicker) và những dialog (DatePickerDialog, TimePickerDialog) để hỗ trợ user nhập vào ngày, tháng, năm, thời gian. DatePicker và DatePickerDialog cho phép bạn đặt ...

Thiết lập quảng cáo sử dụng goole admod trên iOS
AdMob là nền tảng quảng cáo trên thiết bị di động của Google, là chương trình hiển thị quảng cáo trên các thiết bị di động. Để bắt đầu thực hiện trước tiên cần những Yêu cầu: Xcode 5.1 trở lên deploy cho ios 6.0 trở lên Bắt đầu tạo 1 project mới File > New > Project . ...

Laravel Pagination
1. Giới thiệu Ngày nay, trong quá trình lập trình web công việc phân trang dữ liệu là không thể thiếu. Nó giúp chúng ta xử lý dữ liệu hợp lý hơn, đồng thời quản lý việc truy suất dữ liệu hợp lý hơn. Các framework PHP hầu như đều hỗ trợ phân trang, Laravel cũng vậy. Laravel cung cấp cho chúng ...

test specification step by step
Ace dev thường bị đánh giá rank thấp ở khoản QA/test, đợt review vừa rồi bị GL hỏi test specification là gì nên về quyết tâm tìm hiểu và viết bài này, hi vọng có thể giúp được các ace dev trong mục QA/test. 1.Test Specification (TS) là gì: Từng nghe QA leader tạo plan test,QA viết test case,thực ...

Python is Now the Most Popular Introductory Teaching Language at Top U.S. Universities (Translated Article)
If you don't know Vietnamese, please visit the link at the end of this article for the English version. Hiện nay, ở Mỹ, Python hiện đang là ngôn ngữ lập trình được đưa vào giảng dạy ở các khóa học mở đầu về KHMT phổ biến nhất. Để làm rõ thực tế này, hôm nay, tôi xin dịch một blog của Philip Guo ...

TableView nâng cao trong iOS
1. Giới thiệu : Một tính năng phổ biến trong hầu hết các ứng dụng trong thực tế là cung cấp nhiều màn hình để người dùng có thể điều hướng và làm việc với chúng. Chúng ta có thể dùng TableView với các cell có thể mở rộng, ẩn, hiện để có thể có các cách khác nhau trong việc hiển thị các màn hình ...

Custom trình duyệt video sử dụng AVPlayer-AVFoundation
Hiện nay có rất nhiều ứng dụng iOS có chức năng quay video và play video. iOS đã cung cấp các thư viện để chúng ta có thể dễ dàng play video, đơn giản nhất mà chúng ta hay sử dụng đó là MPMoviePlayerController. Tuy nhiên, từ iOS 9 trở đi thì đã không khuyến cáo sử dụng class này nữa, thay vào đó là ...

Tìm hiểu và cách sử dụng sidekiq và sidetiq
I. Các khái niệm 1. Sidekiq Sidekiq là một gem hỗ trỡ xử lý ngầm dưới background mạnh mẽ cho Ruby. Nó nhằm mục đích là đơn giản để tích hợp với bất kỳ ứng dụng Rails hiện đại và hiệu suất cao hơn nhiều so với các giải pháp hiện có khác. Link github 2. Sidetiq Sidetiq là một gem hỗ trợ cho ...

Các Ngôn Ngữ Lập Trình Có thể Bạn không biết
Có một sự thật là những ngôn ngữ lập trình "cổ lỗ sĩ" hiếm khi bị lãng quên hoàn toàn khi vẫn còn giá trị sử dụng với những thị trường ngách, nơi việc bảo trì và phát triển một hệ thống phần mềm cũ vẫn là sự lựa chọn tốt và tiết kiệm hơn hẳn so với việc phải "code lại từ đầu". Bài viết này nhằm ...

Hiểu biết cơ bản về Builder pattern
Builder pattern là một mẫu thiết kế thuộc "Nhóm khởi tạo" ( Creational Pattern ). Mẫu thiết kế này cho phép lập trình viên tạo ra những đối tượng phức tạp nhưng chỉ cần thông qua các câu lệnh đơn giản để tác động nên các thuộc tính của nó. Trong bài này chúng ta sẽ tìm hiểu về mẫu thiết kế này ...