
45 tips giúp bạn code bá hơn
CHÚ Ý 1 . Bài viết phục các bạn làm việc trực tiếp với Ruby on Rails. CHÚ Ý 2 . Like và thả tim ủng hộ nếu bài viết có ích với bạn. Trong nghề lập trình, có những người code rất tốt, nhìn những dòng code của họ thể hiện sự rõ ràng, mạch lạc và có chút “tinh tế” Vậy làm sao để làm ...

Một số lưu ý khi đặt tên hàm tên biến theo chuẩn của apple
Việc đặt tên hàm, tên biến cho chuẩn mực là hết sức quan trọng trong quá trình bảo trì một sản phẩm. Kinh nghiệm, trình độ của một lập trình viên phần nào thể hiện qua cách đặt tên hàm tên biến. Vậy làm thế nào để đặt tên hàm, tên biến cho chuẩn mực? Chúng ta hãy cùng tìm hiểu xem, người thầy của ...

Học Javascript part 2
Operators Ở bài viêt này mình sẽ giới thiệu 2 operators là Arithmetic và Equality **1. ** Arithmetic Operators Sử dụng với integers, floating-point numbers hoặc characters. Bao gồm các dạng sau: Phép cộng (+) : console.log("3 + 4 = " + (3 + 4)); // in ra màn hình 3 + 4 = 7 ...

BEST RASPBERRY PI HƯỚNG DẪN TỰ ĐỘNG HÓA NHÀ
Raspberry Pi hệ thống tự động hóa nhà dựa trên Internet of Things Internet of Things là công nghệ xu hướng nhất hiện nay mà đứng bên cạnh wearables và robot. Nó là một khái niệm rất đơn giản, nơi các thiết bị trong nhà của chúng tôi hoặc bất cứ nơi nào họ đang có, có khả năng giao tiếp với nhau ...

Java concurrency part 1 + part 2
Java platform cung cấp khả năng xử lý multi-threading ở mức low-level, cho phép các developer viết các chương trình chạy song song xử dụng các keywords: synchronized, volatile, wait(), notify() và notifyAll(). Tuy nhiên việc xử lý concurrency ở mức low-level này khó sử dụng khi, hoặc sử dụng không ...

Local Storage
1.HTML Local Storage là gì ? Với local storeage web applications có thể lưu trữ dữ liệu tại trình duyệt của user,đây là một tính năng hưu ích trong HTML5 Trước HTML 5,dữ liệu của ứng dụng phải lưu trữ trong cookies,Local Storage thì bảo mật hơn và có thể lưu trữ nhiều dữ liệu mà không ảnh hưởng ...

Code Refactoring
Một lần làm xong dự án thì thấy tự dưng phía khách hàng thuê hẳn một "cao nhân" không biết từ đâu về viết lại code cho cả dự án.Kỳ lạ là tên này không hề hiểu nghiệp vụ dự án, cũng chưa từng làm với framework của dự án nhưng vẫn viết lại đống code của dự án ầm ầm.Hỏi ra mới biết là làm refactoring ...

Tìm hiểu về OpenGL ES 2.0(tiếp)
Ở phần trước chúng ta đã tìm hiểu sơ lược về OpenGL ES là gì và các khái niệm cơ bản của OpenGL ES 2.0 như Vertex Shader, Primitive Assembly, Rasterization, Fragment Shader.Trong phần tiếp theo này chúng ra sẽ tìm hiểu một ví dụ nho nhỏ có tên "Hello Triangle" nhé. 1.Hello Triangle Dưới ...

Cách tạo độ khó cho game
Chơi game cũng là một kĩ năng, nó đòi hỏi trình độ cần thiết để hoàn thành một màn chơi. Chính vì vậy nó có người chơi giỏi và người chơi kém. Do đó khi ta tạo một game, chúng ta cần để ý và nhắm đến kĩ năng của người chơi , các khái niệm “dễ” và “khó” trong màn chơi của ...

Phong cách làm việc với khách hàng Nhật - 5W1H
Nhân cơ hội 1 sáng tương đối rảnh, ngồi nghe 2 ông bên cạnh chém gió và tranh cãi nhau về một sản phẩm đang được phát triển. Vấn đề thực ra cũng không phức tạp, chung quy lại chỉ có 1 điểm, chức năng đó có trong sản phẩm hay không và nếu người dùng muốn theo nhu cầu thì cần lắp thêm hay thay thế? ...

Android với xác thực SMS tương tự ứng dụng WhatsApp - Phần 2
Trong phần 1 của bài viết này, chúng ta đã học được làm thế nào để tạo ra các API REST cần thiết cho ứng dụng này. Trong phần này chúng ta sẽ xem làm thế nào để xây dựng ứng dụng Android tương tác với các API để nhận được các tin nhắn SMS và xác nhận các tin nhắn đó. Dự án này sẽ sử dụng thư viện ...

Khi nào có thể kết thúc việc kiểm thử (Các tiêu chí kết thúc việc kiểm thử phần mềm) Phần 1
Trong bài viết này, tôi muốn giải quyết câu hỏi mà nhiều Tester luôn đặt ra trong mỗi dự án: “ When, where and how to stop Testing? ” 1.Khi nào thì việc kiểm thử là đủ? Để trả lời những câu hỏi này, chúng ta sẽ phải phân tích các hoạt động kiểm thử từ đầu đến cuối. Hãy xem xét ...

Redux cho người mới bắt đầu - Part 2 First Project
Mở đầu Tiếp nối bài viết về Redux cho người mới bắt đầu, trong bài viết này chúng ta sẽ cùng nhau thực hiện một Todo app để tìm hiểu cách sử dụng redux trong một project thực tế. Trước khi bắt đầu cùng nhìn lại 1 lần các nhân vật ở kì trước : Setup Trong bài viết này mình sẽ sử ...

Bitcode - Vũ khí của Apple
Bitcode một khái niệm không mới, nhưng chắc còn nhiều bạn mơ hồ về khái niệm này. Vậy nó là cái gì? tại sao khi build app (iOS) lại hỏi là có bật bitcode hay không? Bitcode - Về cơ bản thì đây là một thứ cho phép App Store tối ưu hóa ứng dụng cho từng loại thiết bị trước khi chúng được người dùng ...

Pagination in Django
Django cung cấp một vài class hỗ trợ bạn trong việc quản lý dữ liệu được phân trang. Điều đó có nghĩa là, dữ liệu sẽ được tách thành nhiều trang cùng với các link "Trước / Sau" ("Previous / Next" link). Bạn có thể xem mô tả của các class này ở file django/core/paginator.py . NOTE : Chú ý, bài ...

Xây dựng service cho ứng dụng mobile với ASP.Net Core
Tạo một ứng dụng ASP.Net Core Tạo một ứng dụng ASP.NET Core trong Visual Studio. Chọn Web API và chọn No Authentication Chúng ta sẽ thay đổi cổng mặc định thành 5000 trong file Program.cs như sau: var host = new WebHostBuilder ( ) . UseKestrel ( ) . UseUrls ( ...

Gem Warden
1.Rack middleware Trong rails nói đến authenticate mọi người thường nghĩ ngay đến "Gem devise" một công cụ đắc lực vô cùng tuyệt vời cho chức năng này. Nhưng hôm nay, tôi sẽ giới thiệu đến các bạn "Gem warden", một dependency của devise. Để hiểu về warden, chúng ta sẽ bắt đầu với Rack ...

Kanban vs Scrum vs XP – an Agile comparison
Scrum là gì? Scrum là một phương pháp quán lý dự án được phát triển bởi Jeff Sutherland và Ken Schwabe vào thập kỷ 90. Scrum chia nhỏ tổ chức ra thành các team. Các team sẽ chia các features thành các task nhỏ để dễ dàng deliver, quản lý một khối lượng công việc trong một khoảng thời gian xác ...

Thêm và xóa field với Rails Nested Forms and AngularJS (Phần 2)
Giới thiệu Ở phần trước chúng ta đã thực hiện bược tạo Plan có các field con là Poll bằng AngularJs và Rails. Giả sử khi tạo ta gặp lỗi cần render lại trang new hoặc ta muốn update Plan vừa tạo thì làm sao để các field vẫn được điền đúng giá trị. Chúng ta cùng tìm hiểu trong phần này. Validate ...

Tấn công DDos - WPpingback và cách phòng chống
Trong thời gian vừa qua, website của pycon.vn vừa bị tấn công DDOS, cách thức tấn công là sử dụng WPpingback để tấn công. Trong bài viết này, tôi xin đề cập một vấn đề về hình thức tấn công này: giải thích, demo bằng python. hướng khắc phục. Nguyên nhân và lý do: Mời các bạn xem hình sau: ...