Web Development Tips and Tools


Every great web developer starts with HTML. From there comes an array of tools that every developer can use to create great websites.The basics would be a text editor and an image editing software. But why be content in using those two when there are available tools that can expedite not only your coding speed but also help you organize and learn new things?

Expedite Development With the Following:

1. MVC Framework

A Model-View-Controller framework is like an architectural plan in software/web development. According to a web developer I interviewed about MVC, there are two ways on how a developer codes. First way is to write everything you need in a file, second is codes are written separately according to their proper place.
Now I will elaborate this to the point where even my grandma would understand, because the concept would be very confusing for people who learn of MVC’s existence just now (I was made aware of this gem 8 hours prior writing this).
In the second way I mentioned, suppose you have a DropDown for the quantity of shirts to add on your cart and:
  • your logic suggests that the customer’s order should be greater than zero,
  • the customer’s order is saved in the database,
  • and the quantity ordered is displayed in the cart page.
Every bullet suggests one file each. While in the first way, all of which are saved in a single file.
To make it more simpler, here’s an analogy:
  • Model is like the software
  • Controller is the Operating System
  • View is the keyboard, mouse, and monitor
Each can function separately and as one, making development more organized.
Below are the most notable MVC framework  for PHP developers:

2. Validation Tools

You don’t have to own several browsers and operating systems just to test if your website is properly running in them. I actually saw an online advertisement looking for people to hire just to have a website tested for compatibility issues in different OS and browsers.
Browser_shots_tool_browse
I’ll admit that BrowserShots takes screenshots really slow, it takes several minutes! But this is one of the few free browser testers that offers a wide variety of OS and browsers, even if no one knows what Kazehakase 0.5 is.
There is no such thing as getting things perfect the first try, that is why validation tools are available to help you take a glimpse of the little details that aren’t doing what they’re supposed to be doing. Where your eyes can’t see, these tools will surely lock their target on.
W3c_validator_tools_QA
There is an article in 1stwebdesigner that discusses and gives a list of validation tools which include, but not limited to,  checking if your website is OK for mobile viewing, CSS validation, HTML validation, and more. Visit it by clicking  20+ Online Tools for Website Validation and Testing.
I find Firebug very useful for development and QA. You can inspect and edit HTML, JavaScript, and even CSS on the spot and see the effect instantly. It is also a good tool to use for hacking. *laughs*

3. Text Editor

Notepad++ has a wide range of languages it supports, several dozens of them. A real all-in-one editor.
Vim is not a tool that gives you everything at first glance, you must learn how to use it and it will cooperate with you. As their description page says, Vim is often called the “programmer’s editor”.

4. Image Editor

Leave aesthetics to the designer and focus on functionality? We are now at the age where developers and designers alike should know at least the basics of both trade to survive.
GIMP is a wonderful tool not only because it is free, but because it provides plenty of tools like Photoshop. This is perfect for developers who wish to crop, resize, and create buttons and banners.

5. Code Generators

Code generators may seem to defeat the very purpose of learning a language in-depth but do not look at it that way. Code generators can expedite the process, a beginner, and expert alike, can learn many things from these too.
Now, if you are in a hurry to provide your client or yourself  a business, there are many applications available that will provide you the codes you need in just a few clicks. Of course these are not applicable if your website’s service is not customary.

6. Collaborate and Join Forums

Sharing and learning from others is important. Having a glimpse of several perspectives from experts and beginners is indeed a rich learning experience.
The search engine behemoth gives us yet again a way to love it more! Although this is not new, Google Code might escape the sight of budding developers, which shouldn’t happen! There is so much to use and to learn at Google Code that will surely boost your career as a developer.
Inside DreaminCode’s forums, developers encourage each other to act first before asking. You can’t go posting and asking for a code, what they do is help you with the code you have.  As Carl Sagan said “When you make the finding yourself — even if you are the last person on Earth to see the light – you will never forget it.”
From 1stwebdesigner.com

Japanese nurse robot

Một công ty Nhật Bản đã chế tạo thành công một robot y tá có thể mô phỏng các cách biểu cảm trên khuôn mặt như gật đầu, lắc đầu, cau mày và cả… liếc mắt.




Robot tên gọi Actroid-F do công ty Kokoro tại Nhật Bản chế tạo. Ngoài nói, cười, lắc đầu, cúi đầu, người máy trông giống nữ y tá xinh đẹp này có thể có thể diễn tả nhiều trạng thái biểu cảm trên khuôn mặt như chau mày, nháy mắt và liếc mắt.

Trong tương lai, Actroid-F có thể được triển khai tại các bệnh viện để quan sát và phán đoán các phản ứng của bệnh nhân.

Giáo Trình Silverlight Tiếng Việt

Đây là bộ giáo trình Silverlight Tiếng Việt (dạng basic) do người của Cty Infoway JSC soạn thảo và được Microsoft VN chọn làm giáo trình cho các trường ĐH của Việt Nam. Bộ giáo trình giới thiệu chi tiết và đầy đủ các thứ cơ bản nhất, để bạn có thể làm quen với silverlight, trong giáo trình có một bài tạo ứng dụng demo.

Download 


Nội dung gồm có:

Chương I: Tổng quan về silverlight

1.Vì sao lại có silverlight?
2.Silverlight là gì
3.Các đặc tính của silverlight
3.1.Sự kết hợp của WPF và XAML
3.2.Mở rộng cho ngôn ngữ kịch bản
3.3.Sự tích hợp với các ứng dụng đã có
3.4.Sử dụng mô hình ngôn ngữ lập trình trên nền tảng .Net Framework và các công cụ để kết hợp
3.5.Hỗ trợ mạng
3.6.Hỗ trợ ngôn ngữ tích hợp truy vấn (LINQ)
4.Kiến trúc tổng thể và các mô hình lập trình của Silverlight
4.1. Kiến trúc và các thành phần
4.2. Các mô hình lập trình của silverlight
5.Khả năng hỗ trợ trình duyệt, hệ điều hành và các công nghệ liên quan
5.1.Hỗ trợ của hệ điều hành và trình duyệt
5.2.Các công nghệ và công cụ liên quan của silverlight
6.Hướng dẫn cài đặt và sử dụng công cụ Silverlight 2 trên Visual studio 2008
6.1.Các bước cài đặt công cụ silverlight 2
7.Các ví dụ thực hành
7.1.Chương trình đầu tiên “Hello World”
8.Tài liệu tham khảo

Chương II: XAML và Layout

1.Tổng quan về XAML
1.1.Xaml là gì?
1.2.Khai báo đối tượng
1.3.Thiết lập đặc tính cho đối tượng
1.4.Root elements và namespace trong XAML
1.5.Sự kiện
2.Các namescope trong XAML
3.Sử dụng XAMLReader.Load
4.XAML và các Custom class
5.XAML và Type Converter
6.Layout
6.1.Canvas
6.2.StackPanel
6.3.Grid

Chương III: Sử dụng Silverlight trên Expression Blend và Visual Studio 2008

1.Giới thiệu về các công cụ phát triển Expression Blend 2 kết hợp với VS2008
1.1.Expression Blend làm việc như thế nào?
1.2.Những tính năng có được từ Expression Blend
2.Bắt đầu nhanh với Silverlight 2 trên Expression Blend 2
2.1.Tạo một Project cho ứng dụng Silverlight 2
2.2.Vẽ khuôn hình (Shape) trên ứng dụng Silverlight
2.3.Thiết kế Control trên ứng dụng Silverlight
3.Xây dựng chương trình Silverlight 2 với Expression Blend và Visual Studio 2008Triển khai ứng dụng

Chương IV: Các Control và User control trong Silverlight

1.Giới thiệu về các control phổ biến của Silverlight SDK tích hợp trong VS2008
2.Các Control Phổ biến trong Silverlight 2
3.User Control trong Visual Studio 2008

Chương V: Xử lý đồ họa trên Silverlight

1.Giới thiệu 
2.Shapes and Drawing
2.1.Ellipse
2.2.Line
2.3.Path
2.4.Polygon
2.5.Polyline
2.6.Rectangle
3.Geometries
3.1.EllipseGeometry
3.2.PathGeometry
3.3.GeometryGroup
4.Brushes
3.1.Solid Color
3.2.Gradient
3.3.Images
3.4.Video
3.5.Deep Zoom

Chương VI: Media và Animation

1.Animation
1.1.Storyboard
1.2.Key-Frame Animations
1.3.Double Animation
1.4.Color Animation
1.5.Point Animation
2.Media
2.1.MediaElement Object
2.2.Controlling Media Playback Interactively
2.3.Timeline Markers
2.4.Server-Side Playlist

Chương VII: Làm việc với cơ sở dữ liệu trong Silverlight

1.Giới thiệu một vài công nghệ để truy cập dữ liệu trong Silverlight
2.Sử dụng Data Binding
3.Sử dụng Isolated Storage
4.Khái quát về làm việc với dữ liệu XML
5.Truy cập dữ liệu SQL Server với WCF 

Chương VIII: Giao tiếp mạng với silverlight

1.Giao tiếp HTTP và bảo mật trong Silverlight 
1.1.Mặc định hỗ trợ giao thức HTTP
1.2.Kịch bản giao tiếp HTTP
1.3.Giao tiếp trong cùng một domain
1.4.Giao tiếp Cross-domain
1.5.Thiết lập triệu gọi HTTP
2.Các hạn chế trong truy cập mạng với silverlight
3.Truy cập web service trong silverlight
3.1.Bảo mật cho truy cập Service
3.2.Tạo một Service vượt qua phạm vi domain
4.Làm việc với socket
4.1.Hỗ trợ giao thức mạng
4.2.Lập trình mạng cơ bản với Socket
5.Mã hóa dữ liệu của service 

Chương IX: Hiệu suất hoạt động trong ứng dụng Silverlight

1.Làm thế nào để chương trình của bạn chạy nhanh và ổn định
1.1.Thử nghiệm trên nhiều hệ điều hành và trình duyệt
1.2.Đặt EnableFrameRateCounter cho đúng trong thời gian phát triển
1.3.Sử dụng Transparent Background
1.4.Tránh việc sử dụng các kịch bản làm biến đổi kích cỡ font của Text
1.5.Tránh sử dụng chế độ Windowless
1.6.Sử dụng Visibility thay cho việc sử dụng Opacity trong rất nhiều trường hợp không cần đến sự có mặt của Opacity
1.7.Silverlight sử dụng Multi-Core trong Rendering và Media
1.8.Trong chế độ Full-Screen, ẩn những đối tượng không sử dụng
1.9.Tránh sử dụng thuộc tính Width và Height đối với đối tượng MediaElement
1.10.Tránh sử dụng thuộc tính Width và Height đối với đối tượng Path
1.11.Nguy cơ đổ vỡ khi CPU sử ly cường độ lớn công việc
1.12.Nguy cơ đổ vỡ đối với ứng dụng có những Package lớn
1.13.Sử dụng Double.ToString(CultureInfo.InvariantCulture) hiệu quả hơn Double.ToString()
2.Sử dụng Background Worker
2.1.Bắt đầu với việc tạo một BackGroundWorker
2.2.Tạo một Event handler cho background worker bởi DoWork event
2.3.Tạo một event handler cho sự kiện ProgressChanged của backgroundworker
2.4.Tạo một sự kiện cho RunWorkerCompleted
2.5.Bổ xung sự kiện vào BackGroundWorker
2.6.Bắt đầu chạy background gọi bởi thủ tục RunWorkerAsync.
2.7.Hủy bỏ hoạt động của background gọi bởi thủ tục CancelAsync.