The code is fairly straightforward, except perhaps for the call to convertColumnIndexToModel. That call is necessary because if the user moves the columns around, the view s index for the column doesn t match the model s index for the column. For example, the user might drag the Vegetarian column (which the model considers to be at index 4) so it s displayed as the first column — at view index 0. Since prepareRenderer gives us the view index, we need to translate the view index to a model index so we can be sure we re dealing with the intended column
Many applications use connection/object pool. A program may require a IMAP connection pool and LDAP connection pool. One could easily implement a IMAP connection pool, then take the existing code and implement a LDAP connection pool. The program grows, and now there is a need for a pool of threads. So just take the IMAP connection pool and convert that to a pool of threads (Copy, paste, find, replace????). Need to make some changes to the pool implementation? Not a very easy task, since the code has been duplicated in many places. Re-inventing source code is not an intelligent approach in an object oriented environment which encourages re-usability. It seems to make more sense to implement a pool that can contain any arbitrary type rather than duplicating code. How does one do that? The answer is to use type parameterization, more commonly referred to as templates.
加密算法
Test Driver for Crypto++, a C++ Class Library of Cryptographic Primitives:
- To generate an RSA key
cryptest g
- To encrypt and decrypt a string using RSA
cryptest r
- To calculate MD5, SHS, and RIPEMD-160 message digests:
cryptest m file
- To encrypt and decrypt a string using DES-EDE in CBC mode:
cryptest t
- To encrypt or decrypt a file
cryptest e|d input output
- To share a file into shadows:
cryptest s <pieces> <pieces-needed> file
(make sure file has no extension, if you re running this under DOS)
- To reconstruct a file from shadows:
cryptest j output file1 file2 [....]
- To gzip a file:
cryptest z <compression-level> input output
- To gunzip a file:
cryptest u input output
- To run validation tests:
cryptest v
- To run benchmarks:
cryptest b [time for each benchmark in seconds]
PCI-to-PCI Bridge Architecture Specification Revision 1.1
This specification establishes the requirements that a PCI-to-PCI bridge must meet to be compliant to this specification and the PCI Local Bus Specification. In addition, the requirements for optional extensions are specified. This specification does not describe the implementation details of any particular requirement or optional feature of a PCI-to-PCI bridge, nor is it a goal of this specification to describe any particular PCI-to-PCI bridge implementation. However, some recommendations are provided for some implementation-specific features that can be provided by a PCI-to-PCI bridge.
MULTIDIMENSIONAL SCALING in matlab by Mark Steyvers 1999
%needs optimization toolbox
%Modified by Bruce Land
%--Data via globals to anaylsis programs
%--3D plotting with color coded groups
%--Mapping of MDS space to spike train temporal profiles as described in
%Aronov, et.al. "Neural coding of spatial phase in V1 of the Macaque" in
%press J. Neurophysiology
This is the machine-generated representation of a Handle Graphics object and its children. Note that handle values may change when these objects
are re-created. This may cause problems with any callbacks written to
depend on the value of the handle at the time the object was saved.
Securing Apache 2: Step-by-Step
When choosing a web server, Apache very often wins against its competitors because of stability, performance, that fact that it s open source, and many other advantages. But when deciding on which version of Apache to use, the choice is not always so simple. On the one hand there is a very popular, stable version used by millions of users, version 1.3, and on the other hand, there is an enhanced and re-designed version 2.0.
The Bayesian Committee Machine (BCM) is an approximation method for
large-scale Gaussian process regression.
- The code is for Matlab
Version 1.0, November 2005