Thứ Sáu, 30 tháng 10, 2015

SOLID là gì – Áp dụng các nguyên lý SOLID để trở thành lập trình viên code “cứng”

Trong quá trình học, hầu như các bạn sinh viên đều được học một số khái niệm OOP cơ bản như sau: Abstraction (Tính trừu tượng) Encapsulation (Tính bao đóng) Inheritance (Tính kế thừa) Polymophirsm (Tính đa hình) Những khái niệm này đã được dạy khá rõ ràng, và hầu như những buổi phỏng vấn nào cũng có những câu hỏi liên quan đến khái niệm này. Vì 4 khái niệm này khá cơ bản, bạn nào chưa vũng có thể google để tìm hiểu thêm. Những nguyên lý mình giới thiệu hôm nay là những nguyên lý thiết kế trong OOP. Đây là những nguyên lý được đúc kết bởi máu xương vô số developer, rút ra từ hàng ngàn dự án thành công và thất bại. Một project áp dụng những nguyên lý này sẽ có code dễ đọc, dễ test, rõ ràng...
Read More »

Thứ Hai, 26 tháng 10, 2015

Tài liệu Beginning Android 4 Application tiếng anh + tiếng việt

Đây là tài liệu Beginning Android 4 Application bản gốc tiếng anh và bản dịch tiếng việt. Download tại đây: https://drive.google.com/file/d/0Bw8lb9dGe37dbmMtdUVTcXh5bkk/view?usp=sharing ...
Read More »

Thứ Sáu, 23 tháng 10, 2015

Cách restore file database backup thành một database mới

Bạn đã có một database vngreen được restore từ một file bkup_vngreen_0208_alter.bak . Và giờ bạn muốn restore file backup này thành một database khác minhanh. Đây là cách thực hiện: - Đầu tiên hãy xem tên file vật lý mdf và ldf của file backup. Trong sql server sử dụng lệnh : EXEC sp_helpdb 'vngreen' Bạn có thể thấy VNGreen và VNGreen_log chính là tên file của file mdf và ldf. - Tiếp theo là restore database mới. Sử dụng lệnh: USE [master] RESTORE DATABASE [minhanh] FROM  DISK = N'E:\laptrinh\mvc\vngreen\bkup_vngreen_0208_alter.bak'  WITH  FILE = 1, MOVE N'VNGreen' TO N'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\minhanh.mdf', MOVE...
Read More »

Thứ Năm, 22 tháng 10, 2015

CKFinder - Cách khắc phục lỗi upload ảnh bị lỗi trên hosting

Bạn phát triển website, sử dụng ckfinder để upload ảnh. Mọi thứ chạy trên localhost rất perfect, nhưng khi bạn deploy chạy trên hosting thì lại không thể upload được ảnh. Bạn nhận được lỗi: "Lỗi khi tải tệp tin". Lỗi này là do Permision hosting của bạn, khắc phục rất đơn giản. Bạn vào hosting, đến hosting setting và tích vào checkbox "Additional write/modify permissions" -> Save.Vậy là xong :)...
Read More »

Thứ Bảy, 10 tháng 10, 2015

Phong cách nhà ưa thích

Ngôi nhà là nơi nghỉ ngơi cuối tuần của đôi vợ chồng doanh nhân tại TPHCM, nhỏ nhưng sang trọng và hết sức tiện nghi.Chủ nhà muốn ngôi nhà phải đơn giản nhưng ấn tượng, tận dụng mọi không gian. Ánh sáng và thông gió được KTS Phạm Thanh Truyền tính toán kỹ lưỡng. Vì vậy, căn nhà ba tầng một lửng rất nhỏ nhưng thoáng đãng và tràn ngập ánh sáng. Tầng 1 được dành toàn bộ cho không gian phòng kháchKhu bếp, bàn ăn được đặt tại tầng lửng. Toàn bộ trang thiết bị khu bếp cũng được đầu tư cao cấp, sang trọng.Vì diện tích nhà rất bé, chiều ngang chỉ 3 m nên việc bố trí luôn được cân nhắc kỹ từ chất liệu đến vật dụngPhòng thư giãn tuy nhỏ và không đầu tư quá nhiều đồ nhưng các thiết bị đều được lựa chọn...
Read More »

Thứ Năm, 8 tháng 10, 2015

Các cách khai báo function jquery

Introduction Choosing which way to declare a JavaScript function can be confusing for beginners as there are several different ways to declare functions using JavaScript/jQuery. I’ll try to explain the benefits of each one and how and why you might use them when writing your awesome jQuery code. 1. The basic JavaScript function This is the simplest way to declare a function in JavaScript. Say for example, we want to write a simple function called multiply(x,y) which simply takes in two parameters x and y, does a simple x times y and returns the value. Here are a few ways you might go about doing exactly this. function multiply(x,y) { return (x * y); } console.log(multiply(2,2)); //output: 4 If you wanted a quick function to test something then maybe that’s the only occasion...
Read More »

Thứ Tư, 7 tháng 10, 2015

Solution when Like sql does not work

Example, you have query using Like operation, everything seem to be good, but you can not receive any row even you have a row in table tbl_Article which have Title column = 'Thật hài hước quá' . DECLARE @Keyword NVARCHAR(2000) = N'hài hước' SELECT  * FROM dbo.tbl_Article a WHERE a.Title LIKE N'%' + @Keyword + '%' This's happen because there is a newline at the end of the label, so  this is solution: SELECT  * FROM dbo.tbl_Article a WHERE REPLACE(REPLACE(a.Title, CHAR(10), ''), CHAR(13), '') LIKE N'%' + @Keyword + '%' Or you can update Title column: UPDATE [page] Set [label] = REPLACE(REPLACE([Title], CHAR(10), ''), CHAR(13), '') ...
Read More »

Thứ Hai, 5 tháng 10, 2015

Error message when use Compare Attribute MVC

Create a new MVC 5 project with Individual User Accounts. Look at the ErrorMessage specified in RegisterViewModel for the ConfirmPassword property. It is "The password and confirmation password do not match.". Build and run the application, and try to register with non-matching passwords. I'll se the error message "'Confirm password' and 'Password' do not match.", instead of the one specified in the model. It seems like a custom ErrorMessage property on the Compare attribute isn't working. Even if I specify a ErrorMessage, the validation still shows some sort of default message instead. This work with System.Web.Mvc.CompareAttribute,...
Read More »