Thứ Ba, 9 tháng 9, 2014

TẠI SAO BẠN NÊN HỌC PHOTOSHOP

TẠI SAO BẠN NÊN HỌC PHOTOSHOP

1. Bạn có thể thể hiện bản thân mình một cách sáng tạo

Bạn có thể đi vượt ra ngoài giới hạn của sự sáng tạo. Một khi bạn bắt đầu khám phá, bạn chắc chẳn sẽ khám phá nhiều hơn và học cách sử dụng chúng trong các thiết kế của bạn. Bạn sẽ sớm tìm ra cách làm thế nào để thiết kế của bạn trông tốt hơn. Và khi bạn tạo ra những thiết kế mỗi ngày, sẽ có lúc thiết kế của bạn được đi vào cuộc sống.
[line]

2. Bạn có thể tạo nhiều dự án đồ họa khác nhau

Ngoài việc chỉnh sửa hình ảnh, bạn có thể thực hiện những tác phẩm khác như thiệp chúc xuân, thiệp Giáng Sinh, brochure, poster, name card, và nhiều tác phẩm khác bằng cách sử dụng những công cụ khác nhau trong Adobe Photoshop. Bạn chắc chắn có thể tạo ra được những thiết kế tuyệt vời, không chỉ gây ấn tượng với khách hàng, mà còn cho phép bạn thể hiện được bản thân mình qua những sự sáng tạo bạn gửi gắm vào nó.
[line]

3. Bạn có thể khôi phục hình cũ

Những hình ảnh cũ của gia đình có lẽ đã bị lãng quên, và cũng có thể nó đã bị nằm trong sọt rác, nhưng với Adobe Photoshop, bạn hoàn toàn có thể khôi phục lại những hình ảnh này, và làm mới lại những kỷ niệm đã qua của thời đại cũ. Bằng cách sử dụng công cụ Healing Brush, Clone Stamps, Patch Tools và những công cụ khác, bạn có thể làm cho những hình ảnh cũ trở nên mới lại, giúp nó sống động lại một lần nữa. Một cách chắc chắn, bạn sẽ rất làm vừa lòng khách hàng nếu như bạn biết thực hiện điều này. Tất cả mọi người đều luôn muốn lưu giữ lại những kỷ niệm đã qua của mình thông qua những bức hình đẹp và sống động.
[line]

4. Bạn có thể tạo tác phẩm nghệ thuật hơn từ chữ

Trong thiết kế đồ họa, hình ảnh và chữ luôn là một sự phối kết hợp hoàn hảo để có thể tạo ra một thiết kế chất lượng. Trong Photoshop, bạn không chỉ kết hợp chúng với nhau, mà bạn còn có thể tìm cách tốt hơn để làm cho chúng trở nên nghệ thuật và hấp dẫn. Bạn nên chú trọng đến những hiệu ứng dành cho chữ như là Stroke, Drop Shadows, Bevel and Emboss và các hiệu ứng khác nhằm nhấn mạnh và gây chú ý thêm cho văn bản của bạn. Hình ảnh cũng có thể nhìn tốt hơn với các hiệu ứng brightness, contrasts, exposure và những cái khác.
[line]

5. Bạn có thể tạo nên tác phẩm nghệ thuật bằng Brush

Có rất nhiều Photoshop Brush cho bạn lựa chọn. Điều này giúp cung cấp một hiệu ứng đặc biệt cho thiết kế hoặc layout bạn đang thực hiện. Bạn sẽ thấy Brush mang thiết kế của bạn đến một cấp độ cao hơn như thế nào khi bạn chọn và áp dụng nó đúng cách trên những thiết kế của bạn.
[line]

6. Bạn có thể thay đổi màu sắc của hình ảnh

Không phải thật tuyệt vời khi hình ảnh của bạn bỗng trở nên đen trắng chỉ với một cú nhấp chuột thôi sao? Bạn có thể dễ dàng làm được điều này trong Adobe Photoshop. Thậm chí bạn có thể chỉnh sửa, thay đổi màu sắc một số bộ phận hoặc thêm các hiệu ứng bằng cách sử dụng gradient hay các công cụ khác. Bạn có thể tự make up cho mình, đổi màu tóc, màu mắt hay làm bất cứ điều gì bạn muốn. Bạn có thể sẽ thích nó.
[line]

7. Bạn có thể sửa lỗi của hình ảnh

Ngay cả khi bức ảnh của bạn bị lỗi, hoặc có một số vấn đề nào đó mà bạn cảm thấy không ưng ý, bạn vẫn có thể điều chỉnh và cải thiện nó trong Photoshop. Nó có thể là ánh sáng kém, hình ảnh tối, có dấu hiệu nào đó trên hình ảnh, mắt đỏ, v.v.. Bạn cũng có thể cắt ghép hình ảnh để làm cho nó  hoàn chỉnh hơn, hoặc sử dụng nhiều công cụ khác nhau để làm cho bức ảnh trở nên hoàn hảo như chỉnh sửa thân hình trông quyến rũ hơn, hoặc làm cho làn da sáng mịn hơn.
[line]

8. Bạn có thể thiết kế áo thun

Nếu bạn đang có một vài vấn đề trong việc làm thế nào để tạo nên một chiếc áo T-Shirt tuyệt vời, bạn có thể dễ dàng tìm được câu trả lời với Photoshop. Nó chắc chẳn sẽ đem lại cho bạn một hiệu quả tốt. Những tác phẩm sẽ trông tuyệt hơn khi in trên T-Shirt với những hiệu ứng được thêm vào từ phần mềm này. Điều đó sẽ mang đến cho bạn nhiều khách hàng hơn.
[line]

9. Bạn có thể chuyển đổi style của hình ảnh

Trong Photoshop, hình ảnh có thể được chuyển đổi thành nhiều style khác nhau, như mùa đông, mùa hè, hình vẽ bằng than, nghệ thuật màu nước, hay nhiều style khác nữa. Bạn thật sự có thể làm được rất nhiều điều từ chương trình này. Khám phá Photoshop và thiết kế của bạn sẽ trở nên ấn tượng với nhiều style khác nhau. Bạn cũng có thể sử dụng những Actions Photoshop được tạo sẵn từ các designer trên thế giới. Mình sẽ cung cấp cho các bạn một số Actions ở bài viết sau. Điều này có thể giúp bạn thực hiện được những thiết kế ấn tượng một cách nhanh chóng.
[line]

10. Bạn có thể thể hiện tính cách cá nhân

Các thiết kế được tạo bởi Photoshop sẽ trở nên thực sự tốt nếu bạn nhìn nó và thấy rằng bạn đã dốc sức ra để làm nó như thế nào, điều này sẽ mang đến thêm cho bạn niềm tự hào. Bạn cũng sẽ tự tin hơn với những thiết kế sau này. Bạn nên nhớ rằng, những kiến thức và kỹ năng Photoshop đó không ai có thể lấy đi của bạn, nó là của chính bạn, một kho báu mà bạn luôn luôn giữ được nó trong tay. Đây sẽ là một công cụ hướng tới thành công của bạn trong lĩnh vực thiết kế đồ họa. Vì thế, hãy học hỏi và cải thiện mỗi ngày.

CÁCH THIẾT KẾ WEB VỚI DRUPAL

Drupal 7 là phần mềm mã nguồn mở dùng để phát triển gần như tất cả các loại website, từ blog và site nhỏ đến mạng xã hội cộng tác lớn, đồng thời lại dễ sử dụng. Bạn có thể trải nghiệm Drupal 7 mà không cần cài đặt phần mềm, không cần có hosting lẫn domain, nhờ dịch vụ trực tuyến Drupal Gardens.

Drupal là một hệ thống quản trị nội dung (CMS) mã nguồn mở dựa trên ngôn ngữ PHP. Trong tháng 1 vừa qua, Dries Buytaert đã cho ra mắt phiên bản Drupal 7 với nhiều cải tiến về giao diện và tính năng, giúp người dùng tạo ra một website có cấu trúc linh hoạt với khả năng tùy biến cao cho nhiều đối tượng như bài viết, bình luận, gán thuộc tính cho cả tag… Nếu chưa có điều kiện mua hosting, domain để tự mình trải nghiệm Drupal 7, bạn vẫn có thể vọc thử mã nguồn này trên Internet bằng dịch vụ Drupal Gardens. Theo giới thiệu tại trang chủ, bạn sẽ dễ dàng tạo ra một website chỉ trong thời gian là 15 phút, với nhiều module như Forum, Blog, Contact, Comment, Menu, Aggregator, vv…

1. Đăng ký tài khoản

Đầu tiên, bạn truy cập vào website www.drupalgardens.com rồi bấm Create a free site để tiến hành đăng ký. Ở trang mới hiện ra, bạn điền đầy đủ các thông tin Site Url – tên website (tên miền con dạng abc.drupalgardens. com), Username – tên tà i khoản, Password – mật khẩu, E-mail address – địa chỉ thư điện tử, Word verification – nhập mã xác thực, bấm Continue. Đến bước Choose a template, bạn chọn một mẫu trong khung bên dưới dòng chữ Select a pre-built template, gồm có bốn mẫu: Campaign template (tạo diễn đàn để thảo luận và trao đổi), Product template (tạo một trang web để giới thiệu sản phẩm hoặc dịch vụ), Blog template (tạo một trang tin cá nhân), Create your own template (tự chọn những tính năng hay những module tích hợp trong hai mục Features, Pages and Blocks). Bên cạnh những thiết lập mặc định của mẫu, bạn có thể thêm hay bớt tính năng tùy theo nhu cầu lập web, bấm Create site.

Tiếp theo, bạn cần đăng nhập vào hộp thư đã đăng ký để kích hoạt tài khoản (tìm thư Account detail for…) và xác thực thông tin để tránh bị xóa tài khoản (tìm thư Please verify your email…).

Lưu ý, để website hiển thị đầy đủ nội dung, bạn nên sử dụng trình duyệt Google Chrome trong quá trình tạo website.

2. Quản lý website

Sau khi đã hoàn tất các bước khởi tạo website, bạn đăng nhập vào tài khoản quản trị do dịch vụ cung cấp để bắt đầu việc thiết kế website. Trong cửa sổ quản trị website, bạn sử dụng những tính năng trên thanh menu để quản lý website, gồm có các tính năng sau: Dashboard (nơi quản lý toàn bộ thông tin liên quan đến website), Content (khu vực quản lý bài viết, bình luận, kiểm duyệt các tập tin đa phương tiện), Structure (quản lý cấu trúc của website), Appearance (thiết lập và tạo mới giao diện), People (nơi quản lý thành viên, nội quy trang web, phân quyền cho thành viên), Modules (kích hoạt hoặc ngưng sử dụng các module tính năng), Configuration (quản lý những thiết lập quan trọng), Reports (những báo cáo cần thiết liên quan đến hoạ t động của website), My sites (quản lý website đã tạo, tạo mới website).

- Thiết lập giao diện

Nếu chỉ với giao diện mặc định mà Drupal Gardens cung cấp lúc khởi tạ o, website chưa thể đáp ứng được yêu cầu thiết kế, bạn cần phải thay đổi một số thiết lập về giao diện ở tính năng Appearance.

Ở thẻ Themes, bạn chọn lại một mẫu giao diện trong danh sách Gardens themes hoặc chọn My themes để sử dụng giao diện đã chọn. Bên cạnh đó, bạn sử dụng tính năng Palettes trong thẻ Brand cho việc phối màu trên giao diện, các bảng màu trong danh sách khá phù hợp với nhiều website hiện nay. Tính năng Logo giúp bạn thêm vào biểu tượng (Logo) và hình nhỏ trên thanh tiêu đề (Favicon), bấm và o nút Browse rồi duyệt đến tập tinh ảnh đã chuẩn bị. Đối với cách bố trí nội dụng trên website, thẻ Layout đưa ra một số cách cho bạn lựa chọn, với hình minh họa là ba khung chữ nhật chứa ba chữ A, B, C. Thẻ Style quy định font, cỡ, màu sắc và kiểu chữ, đường viền và khoảng cách giữa các khung, hình nền và cách hiển thị, bạn bấm vào đối tượng cần thay đổi trên trang và thiết lập. Khi xong, bạn bấm Save as để lưu lại, nhập vài ký tự vào hộp thoại Save theme as hiện ra.

- Thay đổi cấu trúc website Để thay đổi vị trí của cá c khung tính năng trên trang web, bạn bấm vào liên kết Block trong thẻ Structure. Với mỗi khung tính năng ở cột Block, bạn chọn vị trí tương ứ ng ở cộ t Region và bấm configure để thêm một vài thiết lập nâng cao. Ví dụ, với khung Site name (ở mục Header), bạn có thể chọn lại vị trí khác thay vì vị trí mặc định Header, bấm Configure. Trong trang tiếp theo, bạn thay đổi tên ở ô Site name, chọn vị trí trong khung Region Settings, thiế t lậ p khả năng trông thấy khung tính năng (Block) ở các đối tượng Pages, Contents styles, Roles và Users. Khi xong, bấm Save block để thay đổi có hiệu lực. Bạn thực hiện tương tự Site slogan – câu khẩu hiệu trên website.

Tiếp theo, bạ n cần thay đổi các menu mặc định Home, About, Blog, New, Forum, Contact. Trong thẻ Stucture, bạn sử dụng tính năng Menus để tạo mới, chỉnh sửa, bố trí lại các menu. Ứng với mỗi menu trong cột Menu link, bạn có thể ngưng kích hoạt chúng bằng cách bỏ dấu kiểm ở ô tương ứng của cột Enable. Ngoài ra, bạn bấm vào liên kết Edit để chỉnh sửa các thuộc tính Menu link title – tên menu, Path – đường dẫn, Description – chú thích (được hiển thị khi đưa trỏ chuột đến menu), Parent link – chọn menu chứ a menu đang thiết lập, bấm Save.

Đối với Forum, bạn bấm Edit forum để chỉnh sửa nhóm chuyên mục mặc định Discussion. Bạn nhập vào ô Forum name – nhóm chuyên mục, Description – gợi ý ngắn gọn về nhóm chuyên mục, bấm Save. Nếu cần thêm nhóm chuyên mục thì bạn bấm Add forum rồi điền vào các thông tin, bấm Save. Lưu ý, bạn có thể nhập tiếng Việt có dấu bằng các font chữ hỗ trợ bảng mã Unicode.

- Thêm vào module

Ngoài những module đã tích hợp trong lúc khởi tạo website, bạn còn có thể thêm và o các module khá c bằng thẻ Module. Một số module chưa được kích hoạt như Aggregator – tính năng cập nhật tin tức thời (RSS, RDF, Atom feeds), Content Translation – cho phép dịch sang các ngôn ngữ khá c, Poll – cho phép khảo sát với dạng câu hỏi trắc nghiệm, Gallery – bộ sưu tập các tập tin đa phương tiện, Google Analytics – cho phép nhúng mã phân tích website của Google… Khi xong, bấm Save Configuration.

- Quản lý nội dung

Thẻ Content giúp người quản trị dễ dàng quản lý nội dung, bài viết, kiểm duyệt phần bình luận trên website. Để thêm vào bài viết mới, bạn bấm Add content rồi chọn kiểu nội dung cần đăng trong danh sách Home, gồm có Basic page – nội dung cơ bản, Blog entry – bài viết trên blog, Forum topic – chủ đề thảo luận trên diễn đàn, Gallery – phòng trưng bày, News item – tin tức mới, Poll – khảo sát trực tuyến. Ví dụ, với dạng bài viết tại News item, bạn nhập tiêu đề bài viết vào ô Title, từ khóa ở ô Tags (cách nhau bởi dấu phẩy), sử dụng các công cụ soạn thảo văn bản để nhập nội dung bài viết vào khung Body, bấm Add media để chèn hình ảnh, âm thanh và video. Ngoài ra, bạn có thể thêm một vài tùy chọn nâng cao như Menu Settings, URL path settings, Authoring imformation, Publishing options, xong bấm Save. Nếu số lượng bài viết trên website khá nhiều thì bạn dùng tính năng bộ lọc Filter trong khung Show any items where để tìm nhanh bài viết. Các bài viết sẽ được phân loại theo tình trạng hiển thị (Status), kiểu nội dung (Type).

Thẻ Comments là nơi quản lý những ý kiến bình luận của khách truy cập website. Danh sách ý kiến được phân làm hai loại Publish comment (ý kiến được hiển thị trên web), Unapproved comments (ý kiến chưa được kiểm duyệt). Để cho phép hiển thị, bạn đánh dấu chọn vào ô phía trước ý kiến đã duyệt rồi chọn Publish the selected comments, bấm Update.

Ngoài các tính năng đã nêu, Drupal Gardens còn nhiều tính năng khác giú p quản lý tốt website như tìm kiếm, quản lý thành viên, phân quyền quản trị website, gửi thư mời gia nhập, đổi tên miền, báo cáo hoạt động website…

THỦ THUẬT VỚI WORDPRESS PHẦN 1

Phiên bản wordpress mới
wordpress-3.6Giờ đây khi đăng 1 bài viết mới, bạn sẽ có nhiều lựa chọn hơn để tạo tùy chỉnh bài viết 1 cách chuyên nghiệp hơn, mà nó lại trực quan, rất dễ sử dụng: Aside, Chat, Gallery, Image, Quote, Video, Audio
-  Giao diện mặc định mới: Twenty Thirteen, khi cài đặt thành công wordpress, chúng ta sẽ có thêm 1 giao diện (theme) mặc định nhìn rất bắt mắt, là sự kết hợp hoàn hảo giữa html5 và css3, demo các bạn có thể xem tại đây: http://hoabangkute.wordpress.com/ . Giao diện này cũng có chút chút xu hướng metro nữa đó 
- Chức năng khóa bài viết: nếu blog/website của bạn có nhiều author (tác giả) thì chức năng Lock Post này sẽ giúp các bạn khóa bài viết lại, nếu tác giả có thay đổi gì về nội dung bài viết thì phải có sự chấp thuận của bạn thì bài viết mới được update.
-khi wordpress 3.5 được phát hành (chính xác là 11/12/2012). Việc phát hành bản chính thức tiếp theo, wordpress 3.6 đã sắp sửa hoàn thành. WordPress 3.6 dự kiến sẽ được phát hành vào cuối tháng 4/2013. Chúng tôi đang theo dõi sự phát triển của wordpress 3.6 và quyết định chia sẻ một vài tính năng được mong đợi, trong bài viết này chúng ta cùng thảo luận về các tính năng đó.

Trình biên tập nội dung tốt hơn

Wordrpess 3.6 sẽ là một bản cập nhật lớn đặc biệt cho các blogger và Publisher. Nó tập trung vào khu vực viết bài, nâng cấp các công cụ và hỗ trợ tốt hơn quá trình biên tập tạo bài viết.

Post Lock

WordPress sẽ có một tính năng kiểm soát trình biên tập bài viết, gọi là post lock. Tính năng này cho phép  administrators và authors khóa một bài viết, như vậy người dùng khác không thể chỉnh sửa bài viết đó cho đến khi nó được mở khóa. Nếu người sử dụng khác có quyền chỉnh sửa một bài viết, khi đó cả hai sẽ được thông báo hoặc tiếp quản lại bài viết. Đây là một tính năng rất hay cho một blog có nhiều author.

post lock
Improved Autosave
WordPress 3.6 sẽ tập trung nhiều vào trình chỉnh sửa nội dung, trong đó tính năng tự động lưu bài viết cũng có nhiều cải tiến lớn. Có nhiều cuộc bàn luận về vấn đề lưu lại các thay đổi khi viết bài tại trình duyệt web. Nó sẽ rất có ích bởi vì nó giúp bạn không bị mất bài viết khi cookies hết hạn, mất kết nối internet, vô ý chuyển hướng, plugins hoặc lỗi lưu bài, trình duyệt bị treo, hệ điều hành bị đơ, … Nếu có bất kỳ vấn đề gì xảy ra bạn vẫn có thể khôi phục lại và tiếp tục chỉnh sửa bài viết.
auto save
Mục đích là để mọi người an tâm khi sử dụng trình viết bài của wordpress. Tính năng tự động lưu được giới thiệu cũng vì lý do này bởi vì mọi người sợ mất bài viết của họ khi đang viết dở. Đây là lý do tại sao nhiều người sử dụng ứng dụng của bên thứ ba Windows Live Writer để viết bài. Hy vọng rằng việc tăng cường tính năng tự động lưu sẽ làm cho mọi người tin tưởng vào khả năng không bị mất bài viết khi gặp sự cố với wordpress.
Quản lý Post Revisions tốt hơn
Post Revisions sẽ lưu lại các lần cập nhật bài viết của bạn. Trong lần cập nhật này, các Revisions sẽ được làm nổi bật với các màu sắc nhau do đó bạn sẽ dễ dàng nhận ra sự khau nhau giữa chúng.
postrevision
Editorial Workflow
Đã có các tranh luận về việc tích hợp một trong các plugins biên tập vào lõi wordpress. Tuy nhiên do thời gian có hạn tính năng này vẫn chưa được thêm vào trong wordpress 3.6. Nỗ lực đó đã không lãng phí bởi vì nó mang lại nhiều thách thức trong quá trình phát triển. Điều này sẽ cho phép đội ngũ phát triển chuẩn bị cho các phiên bản tiếp theo, (Xem Mark Jaquith’s Explanation). Chúng ta không có gì để lo lắng về điều đó, đã có một vài plugins cho việc này.

Làm mới và cải tiến giao diện cho định dạng bài viết

Như bạn đã biết wordpress có hỗ trợ các định dạng bài viết và tùy chỉnh chỉnh các định dạng. Tuy nhiên, ở giao diện cũ nó không có gì nổi bật. Trong wordpress 3.6 sẽ có một giao diện mới cho định dạng bài viết. Người dùng sẽ có thể lựa chọn và chuyển đổi các định dạng bài viết và khu vực chỉnh sửa sẽ thay đổi theo định dạng bài viết. Nguồn cảm hứng cho sự thay đổi này đến từ plugin Alex King’s post format UI. Giao diện mới sẽ như hình dưới.
post formats ui mockup

Theme Twenty Thirteen

WordPress 3.6 sẽ có theme mặc định mới là Twenty Thirteen. Twenty Thirteen sẽ có sự hỗ trợ tuyệt vời cho các định dạng bài viết. Không giống như các phiên bản mặc định trước đó, Twenty Thirteen sẽ sử dụng nhiều mầu đậm. Nó sử dụng mầu nền khác nhau cho mỗi bài viết, điều này thật tuyệt khi khi người đọc kéo thanh cuộn xuống dưới. Twenty Thirteen hỗ trợ đầy đủ khả năng responsive, giao diện sẽ không thay đổi nhiều khi nhìn trên các màn hình kích cỡ , độ phân giải, thiết bị khác nhau. Xem demo
twenty thirteen

Giao diện Menu mới

Trang chỉnh sửa menu cũng sẽ được làm mới, nhìn trực quan hơn. Chúng tôi nhận thấy có nhiều người dùng wordpress mới chưa hiểu hệ thống menu. Các tab, trình đơn thả xuống, lựa chọn nhiều menu và chuyển đổi giữa chúng là không quan trọng đối với hầu hết người dùng mới. Hy vọng rằng điều này sẽ thay đổi trong wordpress 3.6 và nó sẽ dễ dàng hơn trong việc tạo và quản lý menu.

Cải tiến thông báo đăng nhập

Đôi khi một người bị hết hạn session khi đang làm việc quan trọng. Một thông báo yêu cầu đăng nhập sẽ hiện ra yêu cầu người dùng đăng nhập mà không phải rời khỏi trang mà họ đang làm việc.

improvedlogin wordpress 3.6
Hiện đang còn một khoảng thời gian trước khi phát hành bản wordpress 3.6. Đây là một bản phát hành chính, ngoài những tính năng mới trên sẽ có thêm một vài cải tiến, sửa lỗi, cập nhật bảo mật… Hãy nhớ rằng bạn luôn có thể gửi ý tưởng của bạn cho wordpress. Các ý tưởng được nhiều bình chọn sẽ được xem xét để đưa vào wordpress trong các phiên bản sau. Bạn có ý tưởng mới nào cho wordpress không, để lại comment để chia sẻ cho mọi người biết nhé.

SO SÁNH CÁC PHIÊN BẢN ASP.NET

TÌM HIỂU ĐỂ HỌC ASP.NET HIỆU QUẢ HƠN

ASP.NET MVC3
- So với phiên bản ASP.NET MVC2 thì tính năng mới được hỗ trợ thêm HTML5 và CSS3; tính năng này chỉ hỗ trợ cho những trình duyệt mới;
- Cải thiện về Model validation;
- Hỗ trợ 2 View Engine: RAZOR, ASPX, kể cả Open source trong khi ASP.NET MVC2 chỉ có ASPX;
- Controller được cải tiến hơn như thuộc tính ViewBag và kiểu ActionResult;
- Cải thiện Dependency Injection với IDpendencyResolver (có 2 phần: DependencyResolver và interface IDpendencyResolver)trong ASP.NET MVC3; đây là lớp thực thi mô hình Service Locator, cho phép framework gọi DIContainer khi cần làm việc với 1 lớp thực thi từ 1 kiểu cụ thể
- Cách tiếp cận với JavaScript được hạn chế;
- Hỗ trợ caching trong Partial page;
ASP.NET MVC4
- ASP.NET Web API ra đời, nhằm đơn giản hoá việc lập trình với HTML hiện đại và đây là một cải tiến mới thay cho WCF Web API;
- Mặc định của dự án được cải thiện hơn về hình thức bố trí, giúp dễ nhìn hơn;
- Mẫu Empty Project là project trống, phù hợp cho những tín đồ developer muốn nâng cao khả năng lập trình với ASP.NET MVC4;
- Giới thiệu jQuery Mobile, và mẫu Mobile Project cho dự án;
- Hỗ trợ Asynchrnous Controller;
- Kiểm soát Bundling và Minification thông qua web.config
- Hỗ trợ cho việc đăng nhập OAuth và OpenID bằng cách sử dụng thư viện DotNetOpenAuth;
- Phiên bản mới Windows Azure SDK 1.6 được phát hành;
ASP.NET MVC5
- Với MVC5 thì cải tiến hơn so với ASP.NET MVC4, Bootstrap được thay thế mẫu MVC mặc định;
- Chứng thực người dùng Authentication Filter được tuỳ chỉnh hoặc chứng thực từ hãng thứ 3 cung cấp;
- Với Filter overrides, chúng ta có thể Filter override trên Method hoặc Controller;
- Thuộc tính Routing được tích hợp vào MVC5;

Hy vọng các bạn sẽ sớm lựa chọn cho mình một phiên bản để làm việc

BẢO VỆ CƠ SỞ DỮ LIỆU PHP MYSQL

Bảo vệ cơ sở dữ liệu của bạn trong PHP MYSQL

Vào tháng Tư năm 2008, Cục quản lý nhà tù (Department of Corrections) của một bang của Mỹ đã để rò rỉ dữ liệu nhạy cảm vì lý do tên cột SQL được sử dụng trong chuỗi vấn tin. Chỗ sơ hở này cho phép những người sử dụng ác ý chọn được (select) những cột nào muốn hiển thị, đưa ra các trang, và lấy dữ liệu. Vụ rò rỉ này cho thấy rằng người sử dụng có thể tính toán ra được các cách để làm cho đầu vào của họ làm những việc mà các nhà phát triển ứng dụng chắc chắn không lường trước được và nhấn mạnh sự cần thiết phải bảo vệ một cách cẩn thận chống lại các cuộc tấn công bằng bơm vào SQL (SQL injection).
Liệt kê 3 cho thấy một thí dụ của một kịch bản chạy một lệnh SQL. Trong thí dụ này, lệnh SQL là một lệnh động, có thể để lọt cùng một kiểu tấn công đó. Chủ nhân của biểu mẫu này có thể đã nghĩ rằng chúng là an toàn vì họ đã hạn chế các tên cột chỉ trong một danh sách chọn. Tuy nhiên, mã này bỏ qua sự chú ý nói trong thói quen cuối cùng về việc nhại mẫu (form spoofing) — chỉ vì mã hạn chế việc lựa chọn chỉ trong các hộp thả xuống không có nghĩa rằng một ai đó không thể gửi lên một biểu mẫu với bất cứ cái gì mà họ muốn trong đó (kể cả một dấu sao [*]).
Liệt kê 3. Thi hành một lệnh SQL
<html>
<head>
<title>SQL Injection Example</title>
</head>
<body>
<form id="myFrom" action="<?php echo $_SERVER['PHP_SELF']; ?>"
    method="post">
<div><input type="text" name="account_number"
    value="<?php echo(isset($_POST['account_number']) ? 
        $_POST['account_number'] : ''); ?>" />
<select name="col">
<option value="account_number">Account Number</option>
<option value="name">Name</option>
<option value="address">Address</option>
</select>
<input type="submit" value="Save" name="submit" /></div>
</form>
<?php
if ($_POST['submit'] == 'Save') {
    /* do the form processing */
    $link = mysql_connect('hostname', 'user', 'password') or 
        die ('Could not connect' . mysql_error());
    mysql_select_db('test', $link);
  
  $col = $_POST['col'];

    $select = "SELECT " . $col . " FROM account_data WHERE account_number = " 
        . $_POST['account_number'] . ";" ;
    echo '<p>' . $select . '</p>';

    $result = mysql_query($select) or die('<p>' . mysql_error() . '</p>');

    echo '<table>';
    while ($row = mysql_fetch_assoc($result)) {
        echo '<tr>';
        echo '<td>' . $row[$col] . '</td>';
        echo '</tr>';
    }
    echo '</table>';

    mysql_close($link);
}
?>
</body>
</html>
Vì vậy, để hình thành thói quen bảo vệ cơ sở dữ liệu của bạn, tránh mã SQL động càng nhiều càng tốt. Nếu bạn không thể tránh được mã SQL động, đừng sử dụng trực tiếp đầu vào đối với các cột. Liệt kê 4 hiển thị một thí dụ về năng lực khi bổ sung một thủ tục kiểm tra hợp lệ đơn giản đối với trường số tài khoản để đảm bảo rằng nó không thể là một dữ liệu không-phải-số, đồng thời sử dụng các tên cột tĩnh.
Liệt kê 4. Bảo vệ bằng kiểm tra hợp lệ và mysql_real_escape_string()
<html>
<head>
<title>SQL Injection Example</title>
</head>
<body>
<form id="myFrom" action="<?php echo $_SERVER['PHP_SELF']; ?>"
    method="post">
<div><input type="text" name="account_number"
    value="<?php echo(isset($_POST['account_number']) ? 
        $_POST['account_number'] : ''); ?>" /> <input type="submit"
    value="Save" name="submit" /></div>
</form>
<?php
function isValidAccountNumber($number) 
{
    return is_numeric($number);
}

if ($_POST['submit'] == 'Save') {

    /* Remember habit #1--validate your data! */
    if (isset($_POST['account_number']) &&
    isValidAccountNumber($_POST['account_number'])) {

        /* do the form processing */
        $link = mysql_connect('hostname', 'user', 'password') or
        die ('Could not connect' . mysql_error());
        mysql_select_db('test', $link);

        $select = sprintf("SELECT account_number, name, address " .
  " FROM account_data WHERE account_number = %s;",
        mysql_real_escape_string($_POST['account_number']));
        echo '<p>' . $select . '</p>';

        $result = mysql_query($select) or die('<p>' . mysql_error() . '</p>');

        echo '<table>';
        while ($row = mysql_fetch_assoc($result)) {
            echo '<tr>';
            echo '<td>' . $row['account_number'] . '</td>';
            echo '<td>' . $row['name'] . '</td>';
            echo '<td>' . $row['address'] . '</td>';
            echo '</tr>';
        }
        echo '</table>';

        mysql_close($link);
    } else {
        echo "<span style=\"font-color:red\">" .
    "Please supply a valid account number!</span>";

    }
}
?>
</body>
</html>
Ví dụ này cũng cho thấy việc sử dụng hàm mysql_real_escape_string(). Hàm này chải sạch một cách đúng đắn đầu vào của bạn, sao cho nó không còn bao gồm các ký tự không hợp lệ. Nếu bạn dựa vào magic_quotes_gpc, xin báo trước là nó đã lạc hậu và sẽ được loại bỏ trong PHP V6. Bây giờ hãy tránh dựa vào nó và viết các ứng dụng PHP của bạn an toàn mà không cần đến nó. Ngoài ra, hãy nhớ rằng nếu bạn đang sử dụng một ISP, có nhiều khả năng là magic_quotes_gpc không được kích hoạt.
Cuối cùng, trong ví dụ được cải tiến, bạn có thể thấy rằng lệnh SQL và đầu ra không bao gồm việc lựa chọn cột động. Bằng cách này, nếu bạn sau này thêm cột vào bảng mà có các thông tin khác nhau, bạn có thể in chúng ra. Nếu bạn đang sử dụng một khung công tác để làm việc với cơ sở dữ liệu của bạn, có nhiều khả năng là khung công tác của bạn đã kiểm tra hợp lệ SQL cho bạn rồi. Hãy kiểm tra tài liệu về khung công tác của bạn xem đúng như thế không; nếu bạn vẫn chưa chắc chắn, hãy thực hiện việc kiểm tra hợp lệ với các lỗi về an toàn. Thậm chí nếu bạn đang sử dụng một khung công tác để tương tác cơ sở dữ liệu, bạn vẫn cần phải thực hiện những kiểm tra hợp lệ khác.