Checklist for Application Production Support People

Posted by admin on February 8, 2008 under Programming | Comments are off for this article

  • What is the dominant process?
  • Common kinds of outages we can face
  • Computer

  • what could slow down a process
  • What components in the system often change.
  • Reverting back the changes done.
  • How do you recover the system if server crashes?
  • Do you have process diagrams containing server names, job names, job timings?
  • What are the downstream impacts?
  • How often do you clean up log files?
  • Do log files contain meaningful information?
  • Any scripts needed to quantify the things?
  • Are processes distributed over different servers?
  • Any tools needed to get information at one place rather than logging onto different servers.
  • How are you monitoring the status of production jobs? Any alerts generated?
  • Do you need a webpage/user interface to simplify life?
  • Files taking most of the disk space
  • Processes eating most of the processor time

General Purpose Unix Commands

Posted by admin on under Programming | Comments are off for this article


Computer

Clear terminal

cls, clear, tput clear

Concatenating files

cat

Splitting Files

split

Numbering lines

nl, cat -n

Zipping file, unzipping files

gzip, gunzip

Converting files in hexadecimal

od

Remove nonprintable characters

tr, strings, col -b

Formats, Word wrapping

fold, nroff, troff

Outputting a part of file: say first 5 lines, last 5 lines, lines from 10 to 16

head, tail, sed

Counting words, lines

wc

Sorting text

sort

Removing duplicate lines,words

Sed, uniq

Comparing 2 files line/line

diff

Find Replace

sed, perl, awk

Changing case : uppercase letters to lowercase and vice versa

tr

Matching braces

(% in vi)

Converting tabs to spaces and vice versa

expand, unexpand

Updating file timestamp

touch

View folder list

tree

Domains in Demand for Information Technology Jobs

Posted by admin on under Programming | Comments are off for this article

Here are some of the HOT domains or areas if you are looking for a job in IT industry.

  • Telecom
  • Networking
  • SCADA Systems
  • Wireless Technologies
  • Finance (Banking)
  • Computer

  • Stock Market
  • Graphics
  • Embedded Systems
  • Real Time Operating Systems
  • FEM
  • Process Control
  • Process Optimization
  • Supply Chain Management
  • Enterprise Resource Planning (ERP)
  • Image Processing
  • Language Processing and Compilers
  • Object Oriented Modeling Tools
  • Web Designing
  • Mainframes
  • Mathematical/Scientific Library/Tools
  • Simulators/Emulators
  • Text Mining
  • Reverse Engineering, Data Conversion and Migration
  • Testing
  • Client-Server Architecture
  • Data Warehousing
  • Helpdesk
  • Multimedia
  • CAD/CAM
  • Languages/Tools
  • Multimedia Applications

Get Rid of Duplicated code in Application

Posted by admin on February 6, 2008 under Programming | Comments are off for this article

Duplicate code makes the programs hard to understand and maintain. Most of the applications have about 10% to 25% duplicate code. In X Window System about 20 percent code is duplicated. Java Buffer Library in JDK version 1.4.1 duplicates more 60 percent code.

Problems with duplication

    Computer

  • Errors get spread everywhere in the code but fixes do not.
  • Evolution of code is not reflected everywhere – Some places might be skipped.
  • Some places are forgotten and do not get updated.
  • Code bloat – code gets much bigger since there is no sharing.

Where to look for code duplication?

  • In the same class – several methods that repeat a number of instructions.
  • Between siblings – two classes that share a common super class.
  • Methods in siblings can repeat a number of instructions.
  • Between unrelated classes – classes not in a hierarchy can still repeat the same sets of instructions.

How to get rid of duplicated code

  • Apply the methods mentioned below during development or once you notice duplicated code.
  • In the same class – Extract duplicated statements into a method that gets used in all the places that duplicated the code.
  • Pull up common methods to super class. You might need to create an intermediate class.
  • Introduce template method to capture common structure in code.

Relationships between two classes – Class Coupling in OOP

Posted by admin on under Programming | Comments are off for this article

Class Relationships

  • Class A inherits from Class B.
  • Class A has an attribute of class B.
  • Computer

  • Class A has a template attribute with a parameter of class B.
  • Class A has a method with an argument of class B.
  • Class A knows of a global variable of class B.
  • Class A knows of a method containing a local variable of class B
  • Class A is friend of Class B (in C++)

UML specifies the following six relationships between two classes:

  1. Association
  2. Aggregation
  3. Composition
  4. Inheritance
  5. Dependency
  6. Realization

Encapsulation – Information Hiding in Object Oriented Design

Posted by admin on under Programming | Comments are off for this article

Objects have internal details and an external interface. This is a form of information hiding. No-one but the objects have access to the internal details.

This offers two advantages:

  1. Objects control what can happen to them
  2. Outsider is not exposed to the internal details of the object


Why would we like to hide internal details of the object?

Encapsulation separates clients and implementers. Client code can evolve independently and implementation details can be changed without impacting clients.

Parnas Principles:

The developer of a software component must provide the intended user with all the information needed to make effective use of the services provided by the component, and should provide no other information.
Computer

The implementer of a software component must be provided with all the information necessary to carry out the given responsibilities assigned to the component, and should be provided with no other information.

Parnas Principles leads to a “component” having two faces:

  1. Internal: implementation details
  2. External: usage information

Encapsulation is normally meant to separate private data from methods but Parnas principles are meant for all kinds of components: classes, groups of classes, modules, and components.