Wednesday, December 29, 2010

Debug SQL Stored Procedure

In general, any database stored procedure can be debugged by inserting printouts within the procedure.  First, create a debug table to store the printouts.  e.g.

your_debug_table {
    id [int]
    message [string]
    timestamp [datetime]
}

Then, in your stored procedure, print messages to debug table.  e.g.

your_stored_procedure {
    ...
    insert into your_debug_table (message) values (your_message);
    ...
}

Keywords: MySQL, Oracle, PostgreSQL, MS SQL Server, Stored Procedure, Debug


   

Tuesday, December 28, 2010

JQuery - UI

jQuery is a new kind of JavaScript Library.
jQuery is a fast and concise JavaScript Library that simplifies HTML document traversing, event handling, animating, and Ajax interactions for rapid web development. jQuery is designed to change the way that you write JavaScript.

http://jquery.com/

Tuesday, September 28, 2010

Firefox Extension Development


Extensions add new functionality to Mozilla applications such as Firefox, SeaMonkey and Thunderbird. They can add anything from a toolbar button to a completely new feature. They allow the application to be customized to fit the personal needs of each user if they need additional features, while keeping the applications small to download.

Extensions are different from plugins, which help the browser display specific content like playing multimedia files. Extensions are also different from search plugins, which plug additional search engines in the search bar.

https://developer.mozilla.org/en-US/docs/Extensions

JIRA - Project management


Your Development Process, Your rules

JIRA is the project tracker for teams planning, building and launching great products.

Thousands of teams choose JIRA to capture and organize issues, work through action items, and stay up-to-date with team activity.

http://www.atlassian.com/software/jira/overview

Saturday, August 28, 2010

Scrum - Agile development


Scrum is an iterative and incremental agile software development method for managing software projects and product or application development. Scrum has not only reinforced the interest in project management,[citation needed] but also challenged the conventional ideas about such management. Scrum focuses on project management institutions where it is difficult to plan ahead. Mechanisms of empirical process control, where feedback loops that constitute the core management technique are used as opposed to traditional command-and-control oriented management.[citation needed] It represents a radically new approach for planning and managing projects, bringing decision-making authority to the level of operation properties and certainties.

http://en.wikipedia.org/wiki/Scrum_(development)

Friday, July 30, 2010

Resharper for .Net development

ReSharper is a productivity extension to Visual Studio that helps maintain and improve C#, VB.NET, ASP.NET, ASP.NET MVC, XAML, XML, HTML, JavaScript, or CSS code in Visual Studio projects. It detects and removes errors and code smells; speeds up coding; provides rich navigation and search features, 40+ solution-wide refactorings and hundreds of code transformations, as well as many more great features for .NET developers.

http://www.jetbrains.com/

Tuesday, June 29, 2010

Setup Restful service development environment on Visual Studio 2010

Setting up Visual Studio
Publish the solution to your local IIS in order to test the REST interface properly.
1. Build the Solution.
2. Right click on the Service Project and select "Publish".
3. Name the Publish Profile.
4. In the "Publish method" drop down list, select "Web Deploy".
5. In the "Service URL" box, enter "localhost".
6. In the "Site/application" box, enter "Default Web Site/v1".
7. Make sure that "Mark as IIS application on destination" is checked.
8. Click "Save" in the upper right hand corner.
9. Click "Publish".
IIS Settings
1. Security - Make sure that the "Directory Security" for the v1 Web Application is set to anonymous only. By default, both anonymous and windows authentication
will be enabled, but WCF/REST cannot have 2 different types of authenticaton modes enabled.
2. Default Web Site Application Settings
    1. Bring up the properties window of the Default Web Site in your local IIS manager.
    2. Click on the "Home Directory" tab and then on the "Configuration..." button.
    3. On the "Mappings" tab, you will need to add a new application mapping.
        1. Click on "Add"
        2. For the "Executable" field, browse to the .Net 4.0 ASPNET_ISAPI dll (usually here "C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll")
        3. In the "Extension" field, type ".*"
        4. Make sure that "Script engine" is checked.
        5. MAKE SURE THAT "Check that file exists" IS NOT CHECKED!
        6. Click "Ok". NOTE: If the "Ok" button is still disabled, click back in the "Executable" box, and the "Ok" should be enabled.
    4. Restart IIS (run the "iisreset" command).

IIS Configuration for web service on Windows XP

Set IIS configuration to accept *.
.* is not allowed when ADD.
Click the INSERT button instead.

Saturday, April 17, 2010

Web service API - Rovi Cloud Service

http://developer.rovicorp.com/
(It's not so 'cloud' indeed but a web data service)

Team:
    > 20 developers (US + HK)
    > 5 QA (US + HK)

Responsibilities on backend data service support:
  • Feasibility studies
  • Prototyping
  • Implementation
  • Data caching - Memcached/db
  • Web Service APIs
  • API Explorer
Development details:

  • Microsoft .Net
  • Windows server 2008
  • Memcached/db servers
  • C#
  • ASP.NET
  • MS SQL Server
  • Scrum 
  • JIRA
  • Visual Studio 2008
  • CruiseControl.Net

Sunday, February 28, 2010

Ubuntu Server


Performance and versatility
Fast, secure, deploy-anywhere technology for fast-moving companies

Secure, fast and powerful, Ubuntu helps you make the most of your infrastructure. Whether you want to deploy a web farm or deploy a cloud, Ubuntu Server supports the most popular hardware and software.

Our regular release cycle helps you keep pace with the latest tech developments. And our lean initial install, with thousands of easy-to-find packages, makes it a great solution for simple deployment and management at scale.

http://www.ubuntu.com/business/server/overview

Saturday, January 30, 2010

CruiseControl - Continuous integration


CruiseControl is both a continuous integration tool and an extensible framework for creating a custom continuous build process. It includes dozens of plugins for a variety of source controls, build technologies, and notifications schemes including        email and instant messaging. A web interface provides details of the current and previous builds. And the standard CruiseControl distribution is augmented through a rich selection of 3rd Party Tools.



http://cruisecontrol.sourceforge.net/

Thursday, January 28, 2010

Memcached - NoSQL

What is Memcached?

Free & open source, high-performance, distributed memory object caching system, generic in nature, but intended for use in speeding up dynamic web applications by alleviating database load.

Memcached is an in-memory key-value store for small chunks of arbitrary data (strings, objects) from results of database calls, API calls, or page rendering.

Memcached is simple yet powerful. Its simple design promotes quick deployment, ease of development, and solves many problems facing large data caches. Its API is available for most popular languages.


http://memcached.org/

Sunday, January 10, 2010

Meeting Room Reservation System

Team:
  • 1 Software Engineer
  • 1 Firmware Engineer
  • 1 QA Engineer
Responsibilities:
  • System design
  • Database design
  • Gather business requirements
  • Server implementation
  • UI implementation
  • Deployment
  • Maintenance
  • Project management
Features:
  • Used in Satellite office with 10+ meeting rooms.
  • Provides online meeting room reservation service.
  • Send confirmation, reminder emails.
  • Show schedules and current status on meeting room LCD display.
  • Realtime news and weather display.
Development Details:
  • Visual Studio
  • C#
  • ASPX
  • AJAX
  • JQuery
  • MySQL
  • CSUnit
  • SVN