swing xx / IV topics

Jide
focus managers – http://download.oracle.com/javase/tutorial/uiswing/misc/focus.html
non-modal JDialog
Substance
swingx
group layout, table layout,
inter-table event firing and update
table sorting by any column

–underweight on
pluggable look and feel
jlabel
jbutton

–my experience
threading
SwingWorker
swing timer
invokeLater…
integration with DB client making a slow query
integration with http client
integration with rmi client
EDT
jtable construction, updates

hooks, endpoints, callbacks, template methods

Spring Integration says an endpoint's connects your custom “application code” to the messaging framework. This sounds similar to the template method. Also sounds similar to the onMsg() callbacks. All of them follow this same basic pattern –

In the generic flow diagram of this framework, “at this particular spot in the diagram, call me via my interface method.”

c++ memory leak detection ideas

cmemleak traces malloc() and free()

http://www.flipcode.com/archives/How_To_Find_Memory_Leaks.shtml is a dated (2000) but readable and detailed treatment

Three easy ways to use GlowCode: (1) use it to launch your application, (2) attach GlowCode to a running program, or (3) link GlowCode directly into your application. No source code or build change or post-build step required.

VisualStudio offers
_CrtSetDbgFlag ( _CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF ); // I guess there’s no such thing in Linux

learning MOM

To become competent and confident with MOM, we need to keep our focus at the high-level such as architectural trade-offs.

In contrast, when learning concurrency, java collections, java OO,  or c++, we need to become conversant at a low level.

How about distributed cache? low and high level.

vc++ vs c#

Microsoft is probably promoting c# in favor of c++, but C++ still has an edge over c# in terms of performance.

 

C# code runs in the CLR and is considered managed code. With C++ you can mix managed code and unmanaged code.

c# IDE

XR,

Someone experienced in C# told me Visual Studio 2008 Express is a fairly full-featured IDE without trial period expiration. Better than the 2010 Expression version.

tanbin

spring q&&A

22) What are the important beans lifecycle methods?

There are two important bean lifecycle methods. The first one is setup which is called when the bean is loaded in to the container. The second method is the teardown method which is called when the bean is unloaded from the container.

25) What are the different types of bean injections?

There are two types of bean injections.

1. By setter
2. By constructor

27) What are different types of Autowire types?
A: http://static.springsource.org/spring/docs/2.5.6/reference/beans.html#beans-factory-autowire

48) Explain about PreparedStatementCreator?

PreparedStatementCreator is one of the most common used interfaces for writing data to database. The interface has one method createPreparedStatement().

PreparedStatement createPreparedStatement(Connection conn)
throws SQLException;

When this interface is implemented, we should create and return a PreparedStatement from the Connection argument, and the exception handling is automatically taken care of. When this interface is implemented, another interface SqlProvider is also implemented which has a method called getSql() which is used to provide sql strings to JdbcTemplate.

fitnesse RowEntryFixture

Like a ColumnFixture, a RowEntryFixture processes each row by first binding all of the columns in the table to public instance fields. After the fields are bound, the fixture calls the enterRow() method to perform the desired operation. The only way for a RowEntry table to fail is if the enterRow() method throws an exception. In this case, the row or rows that threw exceptions during processing will be shown in red.

fitnesse column fixture

The table rows are executed top-down, with cells being executed from left to right. That means that side-effects of methods persist for the following cells in the same row and for the cells in the next row as well. If you have to do any special cleanup between executing rows to make them independent, override the reset() method.