@@APL
http://wandel.ca/homepage/apl.html
character set
@@ASP.NET
%%Introduction 2.0
http://www.ftponline.com/books/chapters/0321228960.pdf
%%Graphics
Creating Thumbnail Images on the fly with ASP.Net
http://west-wind.com/weblog/posts/283.aspx
z84\clip\2004\12\aspbitmap.htm
Bitmap - see help topic
.JPG, .GIF, .PNG, .EXIF
Create bitmap, use imagefrombitmap, then use graphics
methods and save to a file
%%Blob reading
http://www.akadia.com/services/dotnet_load_blob.html
Reading BLOBs from SQL Server and
display it in a Windows Form PictureBox
To convert from memorystream blob to bmp image:
private void PictureFormat(object sender, ConvertEventArgs e)
{
// e.Value is the original value
Byte[] img = (Byte[])e.Value;
MemoryStream ms = new MemoryStream();
int offset = 78;
ms.Write(img, offset, img.Length - offset);
Bitmap bmp = new Bitmap(ms);
ms.Close();
// Writes the new value back
e.Value = bmp;
}
http://www.akadia.com/services/dotnet_read_write_blob.html
Read / Write BLOBs from / to SQL Server using C# .NET DataReader
Command.ExecuteReader method has an overload which will take a
CommandBehavior argument to modify the default behavior of the
DataReader. You can pass CommandBehavior.SequentialAccess to the
ExecuteReader method to modify the default behavior of the DataReader
so that instead of loading rows of data, it will load data
sequentially as it is received. This is ideal for loading BLOBs or
other large data structures. Note that this behavior may differ
depending on your data source.
= SequentialAccess Provides a way for the DataReader to handle rows that
contain columns with large binary values BLOBs. Rather than loading
the entire row, SequentialAccess enables the DataReader to load data
as a stream
= When accessing the data in the BLOB field, use the GetBytes or
GetChars typed accessors of the DataReader, which fill an array with
data.
%%Grid
http://samples.gotdotnet.com/quickstart/aspplus/samples/webforms/ctrlref/webctrl/datagrid/doc_datagrid.aspx
@@ATL Active Template Library
Template library with wizard that makes it simple to make com objects for
web based controls with less resources than MFC
SAMS chapter
http://www.samspublishing.com/library/content.asp?b=Visual_C_PlusPlus&seqNum=231&rl=1
@@Books
%%Dot Net
Best Kept Secrets in .NET by Deborah Kurata ISBN: 1590594266 Apress ©
2004, 240 pages Whether you are an experienced developer or a .NET
novice, this book will help you be more productive, create better
code, and produce superior software with the author's valuable, but
lesser-known features of Visual Studio and the .NET Framework.
%%Game
Beginning C++ Game Programming
by Michael Dawson ISBN: 1592002056
Course Technology © 2004, 335 pages
Offering a thorough and modern introduction to C++, this book has
everything you need in order to learn the fundamentals of C++ and game
programming basics.
%%Web
%%Web
Creating Web Graphics For Dummies by Bud Smith and Peter Frazier ISBN:
0764525956 John Wiley & Sons © 2003, 312 pages Written for novice Web
designers without graphic design experience, this helpful guide covers
how to create and use basic graphics for Web sites and includes
instructions on creating and placing buttons, banners, animated GIFs,
Flash animations and more.
@@Brainbench
On line certification / testing
http://www.brainbench.com/xml/bb/homepage.xlm
@@C Language
xor
@@C++
%%books
http://www.samspublishing.com/library/library.asp?b=Visual_C_PlusPlus
Most of book Visual C++ unleased with MFC, ATL
http://www.cplusplus.com/doc/tutorial/tut5-3.html
%%const
- make reference parameter not change
- function that does not change object
- return value is const and cannot be changed
%%copy constructor
//make new object as copy of another
//if shallow copy works, you don't need copy constructor
Person q("Mickey"); // constructor is used to build q.
Person r(p); // copy constructor is used to build r.
Person p = q; // copy constructor is used to initialize in declaration.
Point::Point(const Point& p) {
x = p.x;
y = p.y;
}
%%hello world
int main ()
{
cout << " Hello World ";
return 0;
}
Virtual: virtual int area (void) {return (0);} /* default body */
Pure virtual: virtual int area (void) = 0; /(* = 0 replaces body */
declare
template
GenericType GetMax (GenericType a, GenericType b) {
return (a>b?a:b);
}
call
int x,y;
GetMax (x,y);
template
class pair {
T values [2];
public:
pair (T first, T second)
{
values[0]=first; values[1]=second;
}
};
Template specialization
template
class pair {
T value1, value2;
public:
pair (T first, T second)
{value1=first; value2=second;}
T module () {return 0;}
};
template <>
class pair {
int value1, value2;
public:
pair (int first, int second)
{value1=first; value2=second;}
int module ();
};
template <>
int pair::module() {
return value1%value2;
}
int main () {
pair myints (100,75);
pair myfloats (100.0,75.0);
cout << myints.module() << '\n';
cout << myfloats.module() << '\n';
return 0;
The specialization is part of a template, for that reason we must
begin the declaration with template <>. And indeed because it is a
specialization for a concrete type, the generic type cannot be used in
it and the first angle-brackets <> must appear empty. After the class
name we must include the type that is being specialized enclosed
between angle-brackets <>.
namespace general
{
int a, b;
}
In this case, a and b are normal variables integrated within the general namespace. In order to access these variables from outside the namespace we have to use the scope operator ::. For example, to access the previous variables we would have to put:
general::a
general::b
The functionality of namespaces
try {
// code to be tried
throw exception;
}
catch (type exception)
{
// code to be executed in case of exception
}
reinterpret_cast (expression) - binary pointer copy
dynamic_cast (expression) - run time
static_cast (expression) - to derived type and back
const_cast (expression) - gets rid of const
@@C#
enum Days {Sat=1, Sun, Mon, Tue, Wed, Thu, Fri};
@@COM
Umbrella name for Microsoft OLE and evolution of VBX capabilities
which enable communication at runtime between modules and programs.
Also called active-x and OLE.
IUnknown
queryinterface
semaphore
critical section
mutex
@@CORBA
OMG's common object broker similar to Microsoft COM defines
interfaces between object oriented modules at runtime. More popular
outside of Microsoft platforms. There is a specification for working
with and between COM.
Invocations may be static or dynamic
%%Book
Ackleda Coriolis
Object Oriented Frameworks using C++ and Corba
Orbacus www.ooc.com/ob
%%GIOP
General InterORB Protocol specifies interface up to but
not including network trasnport, message format. Common Data
Representation CDR corrects for byte order
%%IDL
Interface Definition Language. Bindings have been defined by OMG for
C, C++, Java, Cobol, Smalltalk, and Ada. Nonstandard mappings for
Eiffel, Objective C. Mappings for Visual Basic are usually based on
OMG's COM/CORBA interworking specifications.
@@Design Patterns
http://www.stardeveloper.com/articles/display.html?article=2004022804&page=1
Very short
Singleton (single class)
Class Factory
Adapter
Proxy
Decorator
Composite (cObject)
Observer MVC
Template (like C++)
Strategy - choose algorithm method at run time
@@DirectX
http://www.programmingcentral.com/source/ddraw.html#Introduction
Programming introduction tutorial
@@DO
http://www.isi.com/products/html/do178b.html
DO-178B is an internationally recognized standard required for
certifying software users in airborne systems and equipment. Typical
DO-178B applications include flight management, instrument landing,
and radar weather systems. DO-178B has five certification levels that
range from most critical for assuring aircraft safety (Level A) to
least critical (Level E).
For more information on DO-178B, visit the RTCA web site at www.rtca.org.
@@DotNet
%%abstract class vs interface
link
Good post by Mangesh Pote Associate Technology Level 2 @ Sapient from linked in
Interface is a contract for the client i.e. user of a class. This
class has implemented an interface.
Abstract class is a class which has defined as well as non-defined
members(functions/properties etc).
The members which are non-defined should be preceded with 'abstract'
keyword and so the class must be declared as abstract. Abstract class
is a class that has no direct instances, but whose descendants may
have direct instances.
Variables can be declared in abstract class, it is not allwed in
interface. Interface contains only abstract members. Access modifiers
are not allowed for interface members. Bydefault interface members are
public virtual.
A class may inherit several interfaces but it can inherit only one
abstract class.
Abstarct class can have constructor, interface cannot have
constructor.
Abstract class is used as a root in inheritance hierarchy, whereas
interface can be mixed up with hierarchy at any place.
%%free training
http://www.dotnetvideos.net
mr bool
@@Extreme Programming
A variant of object oriented programming that advocates continuous
change, daily builds, two-head programming
http://www.cutter.com/ead/ead0002.html
z50\clipim\20001\08\10\xp1.htm
EXTREME PROGRAMMING
Contents
Extreme Programming
XP -- The Basics
·The Project
·Practices
·Values and Principles
·Managing XP
The Cost of Change
Refactoring
Netobjectives link
http://www.netobjectives.com/xp/rs_main.htm
@@Games
C# games, tic tac toe, chess, missle command
http://www.c-sharpcorner.com/Games.asp
@@General REferences
Good tech news section
http://www.techrepublic.com
@@Ironspeed
http://www.ironspeed.com/pdf/IronSpeedWhitePaper-AutomaticSQLGeneration.pdf">
Automatic SQL Generation for Database-Connected Controls
@@JAVA
%%Graphics
[[Blue Marble Graphics
[[JCHART
www.sitraka.com
Server: http://www.sitraka.com/software/jclass/jclassserverchart.html
Client: http://www.sitraka.com/software/jclass/jclasschart.html
JClass 5.0 and JClass Chart 3D New to JClass 5.0 is JClass Chart 3D,
the premier three-dimensional Java charting component. Craft
stunning, colourful data displays along three axes. Use map and pick
routines to build in user interactivity. JClass Chart 3D
automatically performs all the rotation, scaling, annotation, and
perspective calculations.
JClass ServerChart Designed from the ground up for server-side
deployment, JClass ServerChart makes the powerful data presentations
you've come to expect from JClass Chart accessible to your entire
network. JClass ServerChart is ideal in environments where you're
unsure of client-side configuration or processing power - all code
execution occurs on the server.
JClass Price List:
Server chart $4000 for bytecode $8000 for source
Chart Bytecode (Includes 1 year GSS) 5.0 $1299.00
Chart Source code (Includes 1 year GSS) 5.0 $3500.00
Enterprise Suite Bytecode (Includes 1 year GSS) 5.0 $3100.00
[[Hello
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello World");
}
}
[[LOOX
http://www.loox.com/
French demo - maps, cockpit instruments
air traffic control applet
Good for Java applets, no provision for server side charts
JLOOXGis - Mapping for Java
[[GENLOGIC
http://www.genlogic.com/
The Glg Toolkit can be used for developing Stand-Alone Applications
(using C/C++, Java or ActiveX), or for Web Application Development
(using Java, Plug-In or ActiveX).
The Glg Graphics Builder is used as a drawing tool to create dynamic
drawings for all Glg deployment options. The following are the 3
editions of the Glg Toolkit, which differ in the functionality of the
Graphics Builder:
Demo includes JAVA GIS server
This demo uses Global Geomatics's GIS Server and OGDI Java adapters
Global Geomatics
[[GLOBAL GEOMATICS
web based GIS data server
http://www.globalgeo.com/doc/user_guide/ogdij/default.asp?intro.html
[[NORTH WOODS
http://www.nwoods.com/
North Woods software
Client and Server based graphics that can be edited.
[[CORDA POPCHART
http://www.corda.com/
Interactive Data Driven Graphics
London Based
CORDA’s family of PopChart tools are Java based and run with/on all
web application servers. CORDA has products for both the server and
the desktop.
Brocure:
http://www.corda.com/products/PopChart.pdf
supports Flash, GIF, PNG, WBMP
SVG Scalable Vector Graphics
PopChart Image Server Pro
http server for high traffic
PopChart Live - 42k Java applet
[[INFRAGISTICS POWERCHART
http://www.infragistics.com/
CD-Key: $695 10-Developer: 5,895
For thin clients, PowerChart can remain on the server and
dynamically render jpeg format charts to HTML pages
[[ESRI GIS and Mapping Software
www.esri.com
Makes ArcGIS, Arcview and ArcInfo
@@Javascript
Tutorial
http://www.w3schools.com/js/
%%print
from: So, You Want to Print with JavaScript, Huh?
by Joe Burns, Ph.D.
\clip\2004\12\PrintJavaScript.htm
IE5.0 feature:
Click to Print This Page
print off of an image:
trigger off a button:
print on loading page
onLoad="window.print()"
java script
window.print()
alert(message)
ans = prompt ("enter a number")
rollover
function newWindow()
catwindow = window.open
("images/pixel2.jpg", "catWin", "width=330, height = 250")
Pixel
@@Language History
http://www.levenez.com/lang/history.html
chart shows of languages sprung from others
@@UML: Unified Modeling Language
OMG has made a standard of UML to interchange models for software development. It
is used with CORBA
There are models for
- use-case diagram
- behavior diagrams / state charts
- activity diagrams (replaces data-flow)
- interaction diagrams
- implementation diagrams - component and actitity.
@@Memory Mapped Files
http://premium.microsoft.com/msdn/library/techart/msdn_ manamemo.htm
@@MFC
study points
pointer to document cview
user interface might need to be updated
associate view with document
manage dialog box
pop up modal
dif form view and dialog box
updatedata
ddx ddv
assert verify macros
@@Mil
MIL-STD-498
http://www.pogner.demon.co.uk/mil_498/
Military standard for software development, testing and documentation
@@MSDN
MSDN Home Page
@@OLAP
On Line Analytical Processing
OLAP INTRODUCTION
http://perso.wanadoo.fr/bernard.lupin/english/
@@OMG Object Management Group
The people who promote CORBA and UML.
OMG Home Page
Specifications a>
@@ORACLE DATABASE
Buzzwords
BLOB - big binary object
Cartridge - extra cost add-in like video, images
Exception - PL/SQL error handling
Function - stored procedure that returns value
JDBC - odbc class for java
Package - bunch of stored procedures, lame class
Parameter - PL/SQL in, out, in out
PL/SQL - lame structured language for stored procs
Object - make table work sorta like an object
SQLJ - #SQL imbedded into java, less code, ez to check
Trigger - code when table modified
%%Books
[[Oracle 8 Bible Carol McCullough-Dieter $49.99
OK survey, has commands in appendix
- very large databases
- cartridge for geometrical data
- support for objects, PL/SQL supports this.that
- objects have methods, constructor
- precompiler for imbedding SQL into C, COBOL, etc over ODBC
[[Oracle 8i & Java from Client/Server to E-Commerce
Bonazzi Stokol 49.99 objects are not hidden, no polymorphism or
inheritance, can't derive one object from another or pass
abstract class
Don't use objects if they will change, you will lose all object IDs
use relational tables or if you plan to use sql server
Inheritance heirarchy-one table with all attributes, one for each
concrete class, one for each common part
@@Ray Tracing
http://www.codeproject.com/csharp/Simple_Ray_Tracing_in_C_.asp
C# ASP Ray Tracing example
http://www.codeproject.com/csharp/Ray_Tracing_and_mapping.asp
ray tracing with texture mapping
http://www.codeproject.com/csharp/Sphere_mapping.asp
sphere mapping
http://www.codeproject.com/aspnet/3D_Surfaces_in_ASPNET.asp
3D surface plot for ASP
@@RPC
Unix remote procecure call
http://www.cs.cf.ac.uk/Dave/C/node33.html#SECTION003310000000000000000
# What Is RPC
# How RPC Works
# RPC Application Development
http://www.cisco.com/univercd/cc/td/doc/product/software/ioss390/ios390rp/rprdesc.htm
Using Remote Procedure calls rpcgen
@@RPG
IBM language for forms based input / output Sys/3 as400
http://www.answers.com/topic/rpg-programming-language
C to F conversion in RPG
A DSPSIZ(24 80 *DS3)
A R FHEITR A CA03(03 'End')
A 6 18'Enter Fahrenheit:'
A FRHEIT 3Y 0B 6 42DSPATR(PC)
A EDTCDE(J)
A 9 18'Celsius is:'
A CGRADE 3Y 0O 9 42DSPATR(PC)
A EDTCDE(J) A
23 8'F3=End' FFheitd
C
F E Workstn
C *IN03 DoWEq *Off
C ExFmt Fheitr
C Eval CGrade = 0
C Eval CGrade = ((Frheit-32)*5)/9
C* ExFmt Fheitr C EndDo C Seton LR
@@PHP
Server side scripting language often used with MySql.
Like ASP or JSP
Introduction:
http://www.keithjbrown.co.uk/vworks/php/php_p1.php
variables start with $
surround php commands
concatenation .
$secondvar = $firstvar . " World";
array
associative array
$cities = array(
'france' => 'paris',
'germany' => 'berlin',
'uk' => 'london'
);
?>
echo $cities['france'] . " " . $cities['germany'] . " " . $cities['uk'];
Big Webmaster PHP fundamentals
http://www.higherpass.com/PHP/content.php?id=5
include: include ("config.php");
6 wk $100 online PHP course
http://www.hwg.org/services/classes/phpclass.html
PHP Manual
http://us3.php.net/manual/en/index.pph
@@PMP
http://www.pmi.org/certification/
PMP is certification for Project Management
@@Python
REFERENCE MANUAL
http://docs.python.org/ref/ref.html
TUTORIAL
http://docs.python.org/tut/tut.html
Guido van Rossum
Fred L. Drake, Jr., editor
PythonLabs
Email: docs@python.org
DOWNLOAD SOFTWARE
http://www.python.org/download/
PYTHON 2.0 QUICK REFERENCE MANUAL
http://www.brunningonline.net/simon/python/quick-ref2_0.html
@@Salary
2003 Survey:
Degree type Average salary
High-school diploma $83,182
2-year degree $71,633
BA $70,360
BS $68,875
BSCS $84,136
BSEE* $78,500
MA* $56,250
MBA $98,200
MSCS $77,745
MSEE* $120,000
Other MS $77,143
Ph.D.* $109,000
* Small Sample
Language used Average salary
C# $98,813
Visual Basic .NET $72,959
Visual Basic 4.0, 5.0, or 6.0 $72,461
Visual C++ 6.0 $75,500
Microsoft Certified Database Administrator (MCDBA) $80,200
Microsoft Certified Professional (MCP) $76,722
Microsoft Certified Solution Developer (MCSD) $86,414
Microsoft Certified Systems Engineer (MCSE) $77,438
Microsoft Certified Trainer (MCT)* $80,000
Experience
Less than 1 year* $35,133
1-2 years* $43,000
2-4 years $51,265
4-6 years $72,356
6-8 years $71,286
8-10 years $83,515
10-12 years $84,608
12+ years $90,932
Manager:
Engineer/scientist* $67,000
Independent consultant/contractor $83,400
IT manager $82,750
Other manager/supervisor $112,040
Programmer/developer for company (internal software development) $68,354
Programmer/developer for software company (ISV or tools vendor) $67,824
Senior business management (CEO, COO, CFO, VP)* $101,000
Senior technical management (CIO/CTO/VP)* $160,000
Software architect $86,942
Systems analyst $79,167
*Small sample size
24- $45,200 *****
25-29 $64,692 ******
30-34 $71,221 *******
35-39 $74,930 *******
40-44 $84,139 ********
45-49 $90,125 ********* --MAX
50-54 $76,714 ********
55-59 $85,286 *********
Pac Northwest $73,700
California $79,778
Texas $83,000
New York $84,357
Northeast $82,067
South $72,109
2003 Salary Survey: How Do Your Earnings Stack Up?
Our salary survey reveals that although developers are earning more,
job stability remains uncertain. by Susannah Pfalzer Visual Studio
June 2003 Issue
Average salary only of sample of magazine readers.
@@Silverlight
Line Chart in Silverlight by Dinesh Beniwal. Mar 04, 2009.
This article shows how to create a line chart in Silverlight 2.0 using Silverlight Tooklit.
http://www.longhorncorner.com/UploadFile/dbeniwal321/LineChartInSilverlight03032009233504PM/LineChartInSilverlight.aspx
@@SQL
%%Interview Questions
Here are a series of interview questions
http://blog.sqlauthority.com/2008/09/20/sql-server-2008-interview-questions-and-answers-complete-list-download/
http://www.geocities.com/xtremetesting/SQLinterviewQuestions.html
%%Inner Join
from
http://www.geocities.com/xtremetesting/SQLinte
rviewQuestions.html
4. Q. What kinds of joins do you know? Give examples.
A. We have self join, outer joint (LEFT, RIGHT), , cross-join ( Cartesian product n*m rows returned)
Exp:
outer joint
SELECT Employee.Name, Department. DeptName
FROM Employee, Department
WHERE Employee.Employee_ID = Department.Employee_ID;
cross-join
SELECT * FROM table1, table2;
self join
SELECT e1.name | |’ ‘ | | e2.ename FROM emp e1, emp e2 WHERE e1. emp_no = e2.emp_no;
The following summarizes the result of the join operations:
The result of T1 INNER JOIN T2 consists of their paired rows where the
join-condition is true.
The result of T1 LEFT OUTER JOIN T2 consists of their paired rows where
the join-condition is true and, for each unpaired row of T1, the
concatenation of that row with the null row of T2. All columns derived
from T2 allow null values.
The result of T1 RIGHT OUTER JOIN T2 consists of their paired rows
where the join-condition is true and, for each unpaired row of T2, the
concatenation of that row with the null row of T1. All columns derived
from T1 allow null values.
The result of T1 FULL OUTER JOIN T2 consists of their paired rows and,
for each unpaired row of T2, the concatenation of that row with the null
row of T1 and, for each unpaired row of T1, the concatenation of that row
with the null row of T2. All columns derived from T1 and T2 allow null
values.
%%Join
JOIN TWO TABLES
SELECT lastname, firstname, tag, vehicles.class
FROM drivers, vehicles
WHERE drivers.location = vehicles.location
AND drivers.class = vehicles.class
Notice that in this example we needed to specify the source table for
the class attribute in the SELECT clause. This is due to the fact
that class is unambiguous – it appears in both tables and we need to
specify which table’s column should be included in the query results.
In this case it does not make a difference as the columns are
identical and they are joined using an equijoin. However, if the
columns contained different data this distinction would be critical.
Here are the results of this query:
lastname FirstName Tag Class
-------- --------- --- -----
Baker Roland H122JM Car
Smythe Michael D824HA Truck
Jacobs Abraham J291QR Car
JOIN MORE THAN TWO TABLES
http://databases.about.com/od/sql/a/multiple_joins.htm
could bring a third table into your query by extending the JOIN
statement as follows:
SELECT lastname, firstname, tag, open_weekends
FROM drivers, vehicles, locations
WHERE drivers.location = vehicles.location
AND vehicles.location = locations.location
AND locations.open_weekends = 'Yes'
lastname firstname tag open_weekends
-------- --------- --- -------------
Baker Roland H122JM yes
Jacobs Abraham J291QR yes
Jacobs Abraham L990MT yes
This powerful extension to the basic SQL JOIN statement allows you to
combine data in a complex manner.
@@SQLJ
Imbed sql into java with preprocessor to reduce lines of code, error
checking
#sql {select name into :customername from customer where id = :customerid};
@@SQL Server
ODBC - generic interface
dblib - native interface
DBLIB - com interface
@@SVG Scalable Vector Graphics
Vector graphics extension to XML for web vector based graphics
W3C spec http://www.w3.org/TR/SVG/
z54\clipim\2001\12\svg.pdf
from http://www.techrepublic.com/utils/sidebar.jhtml?id=r00820011112sch01.htm&index=1
Listing A
@@Visual Studio
%%Template
Introduction to Templates in Visual Studio 2008
By Sateesh Kumar March 04, 2009
http://www.c-sharpcorner.com/UploadFile/satisharveti/VSTemplates03042009020723AM/VSTemplates.aspx
Visual Studio provides two kinds of templates:
•Project Template: This template will allows us to create a new
project based on the exported project. This template will be
accessible from New Project dialog window.
•Item Template: This template will allows us to add our exported item
as a part of their project.
@@VXD
http://www.tgv.com/customer_support/white_papers/win_vxd.html VxD
Questions and Answers What is VxD? A VxD, or Virtual Device Driver,
is a 32-bit multiplexing device driver that manages data exchanges
between Windows applications and system services. It runs in ring
0 so it can execute any instruction, and it is more powerful than
a DLL. You can use it to call a windows 3.0 or Win95 process from
DOS
@@Windows Mobile
%%Programming
How to add windows mobile 6 SDK to visual studio projects:
http://msdn.microsoft.com/en-us/windowsmobile/bb975138.aspx
Get the sdk here:
http://www.microsoft.com/downloads/details.aspx?familyid=06111A3A-A651-4745-88EF-3D48091A390B&displaylang=en
@@WCF
Windows Communication Foundation
%%Tutorial
WCF Basics
By Diptimaya Patra March 03, 2009
This simple tutorial shows how to get started with WCF.
http://www.c-sharpcorner.com/UploadFile/dpatra/103032009070151AM/1.aspx
@@Win32
%%mutex
MUTEX WORK ACROSS PROCESS, TIMEOUT, NOTIFY ON ABANDON
CRITICAL SECTION IS FASTER
http://www.microsoft.com/msj/archive/S1DA0.aspx
- mutexes can synchronize threads across process boundaries, you can
wait on a mutex by specifying a timeout value, and mutexes notify a
thread when they are abandoned.
- critical sections are faster.
Mutex objects are kernel objects and as such the functions that
manipulate them (WaitForSingleObject and ReleaseMutex) require the
transition from user mode to kernel mode.
%%Semaphore
Win32 supports two types of semaphores: mutual exclusion (mutex) and
counting. A semaphore is a resource that contains an integer value.
Semaphores allow synchronization of processes by testing and setting
the integer value in a single atomic operation.
A semaphore is similar to a mutext, except that it involves a state of
signaled or not signaled.
A counted semaphore is a semaphore with a signal count. Typically this
involves a semaphore and a count. So if you have a limited resource
of say five items, you allow threads to get exclusive control of the
item for upto 5 threads. The 6th thread will block waiting to get
access. When one of the other users of the resource releases it, then
the waiting thread will get it.
a binary semaphore is better known as a mutex
@@Winforms
WinForms Data Validation Controls have validate event the
CausesValidation property set to true to another control that has the
CausesValidation property set to true, e.g. from a TextBox control to
the OK button. The Validating event gives the handler the chance to
cancel the move of focus by setting the CancelEventArgs.Cancel
property to true.
@@XML
http://www.perfectxml.com/standards.asp
SOAP Implementations as Frameworks
SOAP, by itself, is about as useful as a paper envelope. That is, anything can be put inside, with no rules guiding the process.
There have been several initiatives to formalize certain parts of the SOAP specification to provide interoperability and reliable messaging.
BizTalk Framework
Web Services Description Language (WSDL)
Universal Description, Discovery, and Integration (UDDI)
Web Services Interoperability (WS-I)