Monday, January 28, 2013

Ant buildfile

Each buildfile contains one project and at least one (default) target. Targets contain task elements.

Basic components/tags:
1) project - attributes: name, default, and basedir

2) target - attributes: name, depends, if, unless, descriptiondefault, and basedir

3) tasks - can be built-in or user defined
Common tasks: init, sets properties, prepare, creates directories, build, builds the system, package, creates jar file, install, installs an application to Tomcat or other engine, deploy, deploy a WAR engine, reload, update previously installed application engine, redeploy

4) properties - to reference, enclose in "${" and "}"
Some Built-in Properties: basedir, ant.file, ant.version, ant.project.name, ant.java.version


Tags:
                     ...


Ref:
http://ant.apache.org/manual/using.html

Sunday, January 27, 2013

Windows and Unix common commands

WindowsUnixDescription
attrib

change(clear or set) the attribute of the file

cdpwdprint current working directory
cd <dir>cd <dir>change directory
clsclearclear screen
cmdStarts a new instance of the Windows command interpreter
copycpcopy
cp /mySrc .
date, timedateprint current date and/or time
delrmdelete
deltreerm - rrecursively delete entire directory tree
dirlslist files and directories
ls attributes:
-a Include hidden fiels (beginning with .)
-l long format
-s sort by time modified
-r reverse sort 
doskey /hhistoryprint history
editvi etc.create new file, show edit window

common vi commands:
/<text> - search forward
n - next occurrence
?<text> - search backward
n - previous occurrence
:set number - show line number
:q | :quit | :q! - quit
exitexit
Ctrl-D
exit
findfinds files/folders or string in files
Ex.
dir c:\ /s /b | find "CPU" - display the file names on drive C that contain the string "CPU"
find . -name "foo*"
findgrepsearch
grep -n 'UnknownServiceException' */*/*/server.log
grep -rni "string" * .*
grep -E "a|b"
  r = recursive i.e, search subdirectories within the current directory
  n = to print the line numbers to stdout
  i = case insensitive search
  .* = hidden files/directory
  -E = extended regex (i.e., may use | for or) 
helpmanhelp/manual
displays all available commands & how to use them
ipconfig /allipconfig -aprint network details
mkdirmkdircreate new folder/directory
movemvmove file or folder
rmdirrmdirremove folder/directory
setenvset environment variable
set Pathecho $PATHprint value of environment var PATH
startstarting/opening a command/program
List of commands for Windows XP, Vista and Windows 7: http://ss64.com/nt/run.html
Ex.
subst notepad
start /d "C:\Program Files (x86)\Notepad++" notepad++.exe -> start the executable and close the command prompt that called it
substsubstituting path
subst R: D:\temp\temp
typecatdisplay contents of a file, concatenate files or create a new file
Ex.
cat > 1.txt
This is the first line.
- creates a simple text file. ^D mrks the end of file.
cat 1.txt - display contents of 1.txt
cat 1.txt 2.txt > 3.txt - concatenate 1.txt and 2.txt ans save it in 3.txt
treefind .,
ls -R
print directory structure
lessdisplay the contents of a text file on console
lnmake link
Types:
1. Hard link (default) - Points to a file through inode number. If the original file's name is changed, hard link still points to same file.
2. Symbolic link (ln -s) - Points to a file through name. If the original file's name is changed, symbolic link still points to the original name and does not point anymore to the original file. If the original file's content is changed, symbolic link still points to the same file.
ln -s myFolder myShortcut - create
ln -sfn myFolder2 myShortcut - update
   -f = force
   -n = treat LINK_NAME as a normal file if it is a symbolic link to a directory, else LINK_NAME  will be treated as symbolic link and will not effectively remove link to previous target and point to new target
printenvprint environment variables
tararchive/extract
tar -xvf sample.tar.gz

PATH
WindowsUnixDescription
\/Directory separator, e.g. C:\user\docs\sample.txt
/-Switch, e.g. dir /w
[drive letter:]\ or
\\[server name]\[volume]\
/Root directory
..Current directory
....Parent directory
~Home directory - $HOME var in UNIX, which usually is /home/username
C:\user\docs\sample.txt
docs\sample.txt
A:pic.jpg \\server01\user\docs\sample.txt
//home/user/docs/Letter.txt .
/inthisdir
../../greatgrandparent ~/.rcinfotd>
Sample paths


Source:
https://en.wikipedia.org/wiki/Path_(computing)

Sunday, January 13, 2013

Software Testing

Testing Levels
  • Unit testing
    • done in local/DEV
    • testing fixes individually
  • Integration testing
    • done in SIT
    • testing integrated modules
    • deals with integration of a process in the system, not the integration of the whole system
  • System testing
    • done in SIT
    • testing the system as a whole
    • Types of system testing:
      • Usability testing – this is how well the user can access the different features in the system and how easy it is to use.
      • GUI software testing – this is to check if graphically that the program looks how was intended and the GUI works as intended.
      • Security testing – this would be to check if important information is secure and if there are certain access restriction that they work.
      • Accessibility – how easy is it for various users including users with disability to use the system.
      • Reliability testing – to check that the system works for long period of time and does not constantly crash.
  • User acceptance testing
    • done in UAT
    • obtain confirmation that a system meets mutually agreed-upon requirements

Wednesday, October 3, 2012

Outline: Warren Buffett's Management Secrets

by Mary Buffett and David Clark

Step 1. Pick the right business to work for (business that offers greatest career opportunities)

Chapter 1. how to find companies that offer greatest career opportunities (w/ durable competitive advantage)

have products that:
- never really change
- easy to sell
- own a piece of consumer's mind
come in 3 basic business models:
- sell unique product, e.g. Coca Cola, Hershey
- sell unique service, sell what people need
- low cost buyer and seller of product/service that the public is consistently in need of - offer low cost through high volum, e.g. Walmart, Costco, Burlington

Chapter 2. quick test for identifying the best company to work for 

- per share earnings test (10 year period) - consistent and has upward trend
- debt test - long term debt must be low, debt load should be < 5*net earnings
- gross margin test - must be higher
      gross profit = revenue - cost of good sold
      gross margin = gross profit/revenue

Step 2. Delegate

Chapter 3. rules for delegating authority 

- every business culture is unique
- leave managers alone - let them continue to think their business as their own
- managers must have a GREAT deal of INTEGRITY

Step 3. Find the right manager for the job

Chapter 4. where to start search for manager 

- change manager only when necessary
- promote from within if possible
- look for talent w/ proven talent record

Chapter 5. victor or victim

- must have an internal locus of control
- victor = with internal locus of control - in control of themselves, take responsibility for their failures
- victim = with external locus of control - don't believe that they have power to solve their problems

Chapter 6. work at a job you like

- do what you love/love what you do, must not be driven by money

Chapter 7. put a winning sales team together

- find people who believe in the product

Chapter 8. obsession

- sd




Monday, September 3, 2012

Useful Maven Commands

  • mvn --version - displays the Maven version in use
  • mvn dependency:tree - displays the dependency tree for this project
  • mvn eclipse:eclipse - creates/updates Java eclipse project settings (.project, .classpath, .setting/org.eclipse.jdt.core.prefs, & other config files)
  • mvn eclipse:clean - cleans/removes Java eclipse project settings (.project, .classpath, .setting/org.eclipse.jdt.core.prefs, & other config files)

Monday, June 18, 2012

Useful DB2 Queries

ALL TABLES:
select * from sysibm.systables

TABLE DESCRIPTION:
select * from sysibm.syscolumns where tbname = 'tableName'
- NOT VERY RELIABLE, SOME COLs MIGHT BE MISSING

or

select colname, typename, length, scale from syscat.columns
where tabschema = 'schemaName' and tabname = 'tableName'
- NOT VERY RELIABLE, SOME COLs MIGHT BE MISSING

or

describe table tableName - DOES NOT WORK :(

Note: Use SYSCAT views rather than the SYSIBM tables. Reason being is that from release to release the tables are being revised while DB2 development tries hard to keep the SYSCAT view signatures compatible. For this reason SYSCAT is being described in the SQL Reference while SYSIBM is not.

GET CURRENT DATE/TIME:
select current date from sysibm.sysdummy1
select current time from sysibm.sysdummy1
select current timestamp from sysibm.sysdummy1

Note: sysibm.sysdummy1 table is a special in-memory table that can be used to discover the value of DB2 registers

Sources:
http://www.databaseteam.org/9-db2/b4ac3f33bec9fb23.htm#.UfdJQ41OS6M
http://www.ibm.com/developerworks/data/library/techarticle/0211yip/0211yip3.html

Tuesday, May 22, 2012

Database Normalization

First Normal Form (1NF)
- no duplicate columns, e.g. teacher, student1, student2, student3
- no non-atomic columns, e.g. teacher, students
- rows must be have unique identifier (primary key), e.g. teacher, studentID, studentName

 Second Normal Form (2NF)
- satisfied 1NF
use foreign key (move subset of data/column that apply to multiple rows of a table to another table and connect them through the foreign key)
e.g.
studentID, studentName, courseID, courseName to
studentID, studentName, courseID and courseID, courseName

Third Normal Form (3NF)
- 2NF
- remove columns that are not dependent upon primary key
e.g.

Boyce-Codd Normal Form (BCNF or 3.5NF)

Fourth Normal Form