Friday, 16 January 2015

XMPP


The Extensible Messaging and Presence Protocol (XMPP) is an open technology for real-time communication, which powers a wide range of applications including instant messaging, presence, multi-party chat, voice and video calls, collaboration, lightweight middleware, content syndication, and generalized routing of XML data. The technology pages provide more information about the various XMPP “building blocks”. Several books about Jabber/XMPP technologies are available, as well.

Refer: http://xmpp.org/about-xmpp/


Http vs https

Difference between http and https

Urls difference of both

How can know the details of websites from client.
Different tools available to see the details of web server.

What are security issues with http

How to configure http web server to https.

How can we solve security issues with https.

SSL incriptions.

Thursday, 15 January 2015

Software metric

http://en.m.wikipedia.org/wiki/Software_metric
Common software measurements include:
Balanced scorecard
Bugs per line of code
Code coverage
Cohesion
Comment density[1]

Wednesday, 14 January 2015

Understanding Database Normalization with Example



Move to highest level of Normalization: http://akash-online.blogspot.in/p/database-normalization-1.html
This will help understand things with Example.

Normalization Background - Definition must to know



Before we jump to removing anomalies in a table, we must know definition of terms which would help us in understanding the anomalies and solve them.
Functional dependency
In a given table, an attribute Y is said to have a functional dependency on a set of attributes X (written X → Y) if and only if each X value is associated with precisely one Yvalue. For example, in an "Employee" table that includes the attributes "Employee ID" and "Employee Date of Birth", the functional dependency {Employee ID} → {Employee Date of Birth} would hold. It follows from the previous two sentences that each {Employee ID} is associated with precisely one {Employee Date of Birth}.

Database Normalization

Description of Normalization
Normalization is the process of organizing data in a database. This includes creating tables and establishing relationships between those tables according to rules designed both to protect the data and to make the database more flexible by eliminating redundancy and inconsistent dependency.
Redundant creates maintenance problems. If data that exists in more than one place must be changed, the data must be changed in exactly the same way in all locations.

Tuesday, 13 January 2015

DUnit -Xtreme testing framework for Delphi


DUnit is an Xtreme testing framework for Borland Delphi programs.

It was originally inspired on the JUnit framework written in Java by Kent Beck and Erich Gamma, but has evolved into a tool that uses much more of the potential of Delphi to be much more useful to Delphi developers.

DUnit automates unit testing of Delphi code. The target audience for DUnit is developers who are both writing the code to be tested and the unit tests for that code, an approach advocated by Extreme Programming. Dunit is is a Delphi port of JUnit.

Reference:
http://dunit.sourceforge.net/README.html

DUnit is a framework of classes designed to support the Xtreme approach to software testing.

The idea is that, as you develop or change code, you develop appropriate verification tests at the same time, rather than postponing them to a later test phase.

By keeping the tests up-to-date and re-applying them at regular intervals, it becomes easier to produce reliable code, and to be confident that alterations (and refactorings) do not break existing code.
Applications become self-testing.
DUnit supplies classes that make it easy to organize and run these tests.

Jump to writting DUnit test cases

http://dunit.sourceforge.net/README.html#_Getting_started

Performance metric

A performance metric is that which determines an organization's behavior and performance.

Performance metrics measure an organization's activities and performance. It should support a range of stakeholder needs from customers, shareholders to employees.[1] While traditionally many metrics are finance based, inwardly focusing on the performance of the organization, metrics may also focus on the performance against customer requirements and value.[2]

In project management, performance metrics are used to assess the health of the project and consist of the measuring of seven criteria: safety, time, cost, resources, scope, quality, and actions.[3]

In call centres, performance metrics help capture internal performance and can include productivity measurements and the quality of service provided by the customer service advisor. These metrics can include: Calls Answered, Calls Abandoned, Average Handle Time and Average Wait Time. [4]

Monday, 12 January 2015

Delphi Threading

Delphi - What is the difference between dynamic and virtual methods?

How Dynamic methods improve code-size??
What code-size means??? It means the program.exe file size??
According the Manual:
In general, virtual methods are the most efficient way to implement polymorphic behavior. Dynamic methods are useful when a base class declares many overridable methods that are inherited by many descendent classes in an application, but only occasionally overridden.
What i gain if i use dynamic instead of virtual when only one of the inherited classes override the method, since the manual also says:
virtual methods optimize for speed, while dynamic methods optimize for code size.

TDD -Test Driven Developement

Test-driven development is related to the test-first programming concepts of extreme programming.

Test-driven development (TDD) is a software development process that relies on the repetition of a very short development cycle: first the developer writes an (initially failing) automated test case that defines a desired improvement or new function, then produces the minimum amount of code to pass that test, and finally refactors the new code to acceptable standards.

In this software development process, unit testing is repeatedly done on source code.
After each test, refactoring is done and then the same or a similar test is performed again. The process is iterated as many times as necessary until each unit is functioning according to the desired specifications.

Reference http://en.m.wikipedia.org/wiki/Test-driven_development

Delphi 6 RTTI

This is the informative site found.

http://www.drbob42.com/uk-bug/hood-01.htm

This useful link gives an example of how to read published properties as Delphi's object Inspector does.

Delphi 6

Object Pascal