24/04/2006
C/C++ 資源
Links:
- JDBC in C++: a commercial product which provides the functionality to use JDBC in C++. Have a look(none open-source).
- Loki C++ Library: Loki is a C++ library which demonstrates and encourages the use of generic programming and designe patterns. It was written to accompany the book entitled 'Modern C Design.' The library includes a parametrized smart pointer class, generalized functors, a multithreading abstraction, and some help for important patterns.
- OpenTop: Cross-Platform C++: OpenTop is a radically new C class library that provides the means to create powerful and robust network-oriented applications and greatly simplifies their development.
At its core, OpenTop contains framework classes that provide vital facilities that are absent from the C standard library. These include:
- Networking
- Unicode
- Multi-threading
- Memory and resource management
- The Boost C Libraries: C++ libraries for boost your performances.
- Log for C++: Log4cpp is library of C classes for flexible logging to files, syslog, IDSA and other destinations. It is modeled after the Log4j Java library, staying as close to their API as is reasonable.
- ACE Overview: The ADAPTIVE Communication Environment (ACE) is a freely available, open-source object-oriented (OO) framework that implements many core patterns for concurrent communication software. ACE provides a rich set of reusable C wrapper facades and framework components that perform common communication software tasks across a range of OS platforms. The communication software tasks provided by ACE include event demultiplexing and event handler dispatching, signal handling, service initialization, interprocess communication, shared memory management, message routing, dynamic (re)configuration of distributed services, concurrent execution and synchronization.
- Crypto Library 5.1 - a Free C Class Library of Cryptographic Schemes: Crypto Library is a free C class library of cryptographic schemes.
- nn-utility: THE AIM OF THE NN-UTILITY project is to create a neural network library that takes care of the tedious programming of networks in object oriented C . The library makes the creation of network topologies and weight definitions very easy. The library also has some default functions, making the programming of sigmoid, kohen, binomial, and radial basis functions simple. On top of this the library is composed of some accessories, like simple bitmap creators and readers, enabling networks to be trained with bitmaps.
- IT++: A C++ library of mathematical, signal processing, speech processing, and communications classes and functions. It has been developed by researchers in these areas. The kernel of the package are templated vector and matrix classes and lots of functions for vectors and matrices. As such the kernel is similar to the Matlab functions.
05:30 發表於 Developing | 永久網址 | 留言 (0) | Email this | Tags: Programming, C, C++, Resources, Library
08/07/2004
Software: Modeling
- Objects by Design: UML Modeling Tools: 不用錢的UML工具大集合!
- AndroMDA - Homepage: "AndroMDA (pronounced: andromeda) is an open source code generation framework that follows the model driven architecture (MDA) paradigm. It takes a UML model from a CASE-tool and generates classes and deployable components (J2EE or other), specific for your application architecture."
- jDiSeq - Java software system dissector - jDiSeq: "jDiSeq is a tool which analyzes a running system - client- or serverside - and generates UML (Unified Modeling Language) sequence diagrams. jDiSeq will give Java software projects the ability to generate an up-to-date dynamic view upon the system they are analyzing."
A modeling method that is:
- expressive
- compact
- modular
- simple
- unified approach to entities and relationships (assets)
- support for higher order relationships
- support for complex data structures based on regular grammars
- namespaces and scopes
05:45 發表於 Developing | 永久網址 | 留言 (0) | Email this | Tags: Programming, modeling, resources
19/05/2004
XML 資源
Reference
- XML an introduction: http://www.genias.nl/XML/slides/XML-presentation/
- Using XML and XPointer: http://www-106.ibm.com/developerworks/xml/library/x-tipxpt/
- Introduction to XLink: http://webdesign.about.com/library/weekly/aa102901a.htm
- Xslt quick reference: http://www.devguru.com/Technologies/xslt/quickref/xslt_in...
- XSLT Tutorial (Chinses; 中文): http://andypony.mis.stut.edu.tw/teach/xslteah.htm
- W3schools XSLT Tutorial: http://www.w3schools.com/xsl/default.asp
- XQuery.com: Specifications, Articles, Mailing List, and Vendors: "XQuery is a technology under development by the World Wide Web Consortium (W3C) that's designed to query collections of XML data -- not just XML files, but anything that can appear as XML, including relational databases. XQuery has broad support from IBM, Microsoft, and Oracle as well as application server vendors such as BEA and Software AG."
- XPath Tutorial: XPath is described in XPath 1.0 standard. In this tutorial selected XPath features are demonstrated on many examples.
- eXist
- Apache Xindice
- SourceForge.net: Project Info - XML Database Manager: "XDBM is an embedded database designed specifically to handle XML data."
- Berkeley DB XML: "Berkeley DB XML is an application-specific native XML data manager built on Berkeley DB, the world's most widely deployed data management engine. Berkeley DB XML provides fast, reliable, scalable and cost-effective storage and retrieval for native XML data and semi-structured data."
一些長得像 XML, 又不是 XML 的 Markup language。通常是為了簡化表達方式,提供可讀性...
- OGDL, Ordered graph data language: "OGDL is a structured textual format that represents information in the form of graphs, where the nodes are strings and the arcs or edges are spaces or indentation." See also: Cubicle Muses: An OGDL example
- YAML Ain't Markup Language: "YAML(tm) (rhymes with 'camel') is a straightforward machine parsable data serialization format designed for human readability and interaction with scripting languages such as Perl and Python. YAML is optimized for data serialization, configuration settings, log files, Internet messaging and filtering."
22:20 發表於 Developing | 永久網址 | 留言 (0) | Email this | Tags: Programming, xml, resources
08/02/2004
Java: AOP
To understand the spirit of AOP, you must understand the following issues:
- separation of concerns: referring the Law of Demeter, a project's efficiency increases if all the concerns are well modularized and if you only have to speak to your direct friends to make a modification of the program (this is a very old principle and the OOP gives some answers)
- crosscutting: in a complex system, there are always some concerns that are not easily modularized, especially common-interest concerns that, by essence, are used by several modules (i.e. several modules use/share a well-known service of a module --such as a logging or a persistence service)
- dependencies inversion: the best way to avoid crosscutting is to NOT use the well-known services that crosscut. This is possible by reversing the dependencies (i.e. the well-known service shall use the other modules instead of the contrary). This dependency inversion is implemented by aspects...
Projects:
- Aspectj
- JAC
- Nanning Aspects AOP framework
- AspectWerkz is a dynamic, lightweight and high-performant AOP/AOSD framework for Java. AspectWerkz utilizes runtime bytecode modification to weave your classes at runtime. It hooks in and weaves classes loaded by any class loader except the bootstrap class loader. It has a rich join point model. Aspects, advices and introductions are written in plain Java and your target classes can be regular POJOs. You have the possibility to add, remove and re-structure advices as well as swapping the implementation of your introductions at runtime. Your aspects can be defined using either an XML definition file or using Runtime Attributes
See also:
- ASOD - the home for the Aspect-Oriented Software Development.
- I want my AOP!
- Aspect Programming: Aspect Programming provides software development and training services. We are based in the Seattle area. The services we provide to our clients include:
- Analysis, design, and implementation services for software projects
- Project and Product management
- Expertise in Intenet, Wireless, and Enterprise Java technologies
- Design and code reviews
- Training and mentoring
- Improve modularity with aspect-oriented programming: Aspect-oriented programming (AOP) is a new programming technique that allows programmers to modularize crosscutting concerns (behavior that cuts across the typical divisions of responsibility, such as logging). AOP introduces aspects, which encapsulate behaviors that affect multiple classes into reusable modules. With the recent release of AspectJ by Xerox PARC, Java developers can now take advantage of the modularization AOP can provide. This article introduces AspectJ and illustrates the design benefits that result from its use.
- Aspect Mentor: AspectMentor is a consortium of experts in aspect-oriented software development.
We can help your organization adopt and work with aspect-oriented programming technologies. Our consultants provide services including:
- Training: tutorials and seminars of varying lengths on topics including AspectJ, AOP frameworks, and AOP for enterprise computing.
- Mentoring: design, pair programming, code reviews, proof of concepts and prototyping, and tool and platform integration.
- Project planning: choosing and designing pilot projects, planning adoption strategies, and integrating AOSD into existing systems.
- Proposal writing: creating effective proposals for new AOP projects.
05:00 發表於 Developing | 永久網址 | 留言 (0) | Email this | Tags: Programming, java, aop, resources
02/02/2004
Python 資源
- Python org -- Python 官方網站
- Twisted-Python -- 是一個精緻的 Network Framework API,內建支援包括 SMTP, FTP, HTTP, SOAP 等。個人最欣賞的,是它的 Woven web framework, 它的 MVC 設計模式,完全將呈現與程式碼分離。在 Java 中能與它匹配的,可能就是 Tapestry。不過Woven 在架構及易用性上,都比 Tapestry 來得簡單。
- Zope -- 大名鼎鼎的 content management framework。它的 Zope Page Templates(ZPT) 跟 Woven 有異曲同工之妙!
- Plone -- 大名鼎鼎的 content management system。如果從它的下載數量來看的話,說它是最受歡迎的 open source content management system,應不為過。
00:00 發表於 Developing, Web | 永久網址 | 留言 (0) | Email this | Tags: Programming, python, resources
18/09/2003
Java 與 Database 相關的資源
Database Server Writen in Java:
- Axion: Axion is a small, fast, open source relational database system (RDBMS) supporting SQL and JDBC written in and for the Java programming language.
- hsqldb: hsqldb is a relational database engine written in Java, with a JDBC driver, supporting a rich subset of ANSI-92 SQL (BNF tree format). It offers a small (less than 160k), fast database engine which offers both in memory and disk based tables. Embedded and server modes are available. Additionally, it includes tools such as a minimal web server, in-memory query and management tools (can be run as applets) and a number of demonstration examples. (根據我測試的結果,在用 embedded 模式時,資料都是放在記憶體中,會導致 out off mamory!)
- Mckoi: Mckoi SQL Database is an SQL (Structured Query Language) Database management system written for the JavaTM platform. Mckoi SQL Database is optimized to run as a client/server database server for multiple clients, however it can also be embedded in an application as a stand-alone database. It is highly multi-threaded and features an extendable object-oriented engine.
- ozone: The Ozone Database Project is a open initiative for the creation of an open source, Java based, object-oriented database management system.
- SQuirreL SQL Client: "SQuirreL SQL Client is a graphical Java program that will allow you to view the structure of a JDBC compliant database, browse the data in tables, issue SQL commands etc."
- QueryForm Database Tool: "QueryForm is a robust Java application that provides a powerful GUI front end for JDBC-enabled databases. It creates forms on-the-fly through which you can query tables and browse the results with just a few keystrokes or mouse clicks. It also lets you insert, update and delete table rows without typing any SQL statements."
- JDBC Explorer: A Swing front end to connect with every DBMS (Data Base Manager System) who has a JDBC driver. It is written using pure Java and no third party library is used. It is:
- Cross-platform: every O.S. with a JVM, JDK 1.4 or above
- Cross DBMS: every data base server having a JDBC driver
- Source code available through the Open Source license
- SQL Admin: SQL Admin is a Java client application to connect and send queries to different databases through JDBC. The main idea is to create a multiplatform and multidatabase thin client. For example you can connect to an Microsoft SQL Server from a Linux machine, or connect to a PostgreSQL/Linux server from a windows machine using the same application
23:30 發表於 Developing | 永久網址 | 留言 (0) | Email this | Tags: Programming, java, database, resources
17/09/2003
Java 資源
Example Resource:
- Examples from The Java Developers Almanac 1.4: A great website for java examples.
- Swing Examples: Excellent swing examples with soruce code.
- JDance: the online Java information center: "Daily Java News"
- Manageability - Welcome to Manageability: "Manageability is an online resource with topics covering manageability of complex software systems."
- Joda - Next Generation Java: "Joda is a Java open-source project that seeks to improve core Java functionality"
22:50 發表於 Developing | 永久網址 | 留言 (0) | Email this | Tags: Programming, java, example, resources
23/03/2003
.NET 資源
Links:
- Compilers for .NET CLR
- Open source: see mono project and DotGNU Portable.NET
22:25 發表於 Developing | 永久網址 | 留言 (0) | Email this | Tags: Programming, .NET, IDE, Resources


