diff --git a/LDP/howto/linuxdoc/C++Programming-HOWTO.sgml b/LDP/howto/linuxdoc/C++Programming-HOWTO.sgml index 543852c1..ee852bf5 100644 --- a/LDP/howto/linuxdoc/C++Programming-HOWTO.sgml +++ b/LDP/howto/linuxdoc/C++Programming-HOWTO.sgml @@ -42,7 +42,7 @@ C++ Programming HOW-TO Al Dev (Alavoor Vasudevan) -v29.0, 08 Jan 2001 +v30.0, 27 Jan 2001 This document provides a comprehensive list of C++ URL pointers, links to C++ online textbooks, and programming tips on C++. @@ -454,7 +454,17 @@ You can download as a single tar zip, the String class, libraries and example programs from Go here and click on C++Programming howto.tar.gz file - Mirror site : + Mirror sites : , + , + , + , + , + , + , + , + , + + String.h file

-In C++ (or any object oriented language), you just read the class data structure -(i.e. interface) to begin using that object. In case of -String class, you just need to read and +In C++ (or any object oriented language), you just read the "class data-structure" +(i.e. interface) to begin using that object. +You just need to understand the interface and not the implementation of the interface. +In case of String class, you just need to read and understand the String class in String.h file. You do not need to read the entire implementation (String.cpp) in order to use String class. The object oriented classes are real time saver and they very neatly hide the implementation. +(In object oriented Java language there is the equivalent called 'Intefaces' +, which hides the implementation details.) + Given below is String.h file and see also @@ -1722,8 +1736,19 @@ Visit following locators which are related to C, C++ - Vim color text editor for C++, C C++ Beautifier HOWTO Source code control system for C++ programs (CVS HOWTO) - Linux goodies main site - Linux goodies mirror site + Linux goodies +and mirrors at + , + , + , + , + , + , + , + , + , + + + PIKE (C++ Scripting Language) +

+The major disadvantage of C++ is that you must recompile and link the +object files to create a executable anytime you make a small change. + +The scripting language like PIKE eliminates the linking and re-compiling +and will really speed up the development process. + +As CPU speeds are increasing, scripting language like PIKE will +EXPLODE in popularity. PIKE will become most widely used +scripting language as it is object oriented and it's syntax is very identical to +that of C++ language. + +The Pike is at +and at + + Strong, Weak or No locking

+CVS is a powerful system and is highly customizable. CVS supports + + Strong locking with "reserved checkouts" via cvs admin -l or . +Also read the . +Here is a patch () from +Eric Griswold for reserved checkouts. +

+ Weak locking via 'cvs watch' features. +Also see "cvs edit" give a warning() if +someone else is already editing the file. +

+ No locking - the default permitting concurrent editing of files. + + Shell Scripts

The following GUI front ends for CVS are available. -But it is very strongly recommended that you use - -and - -on MS Windows 95/NT. By using Samba the remote directory on unix -will look like local folder on MS Windows. See next section for -. + CVS home.org CVS Web for windows and at TkCVS is the Tcl/Tk GUI interface to CVS. And at @@ -774,26 +795,60 @@ and at +It is very strongly recommended that you use + +and + +on MS Windows 95/NT. By using Samba the remote directory on unix +will look like local folder on MS Windows. See next section for +. - CVS from Windows 95/NT/2000

-It is very strongly recommended that you use +It is VERY STRONGLY recommended that you use -and PC X-Server on MS Windows 95/NT. By using Samba the remote directory on unix -will look like local folder on MS Windows. +and PC X-Server on MS Windows 95/NT. +With samba the unix/linux CVS server will be like a file server. +By using Samba the remote directory on unix +will look like local folder on MS Windows on the local disk. Install samba*.rpm on unix/linux server(which has CVS repository) and install the PC X-server on MS Windows 95/NT/2000 desktop. Using PC X-server you can easily log on to the unix box and check-out/check-in the files. And you can use the tools like Java Visual Cafe or Java JBuilder on MS Windows to edit the files located in unix/linux -folder(via samba). With samba the unix/linux CVS server will be like a file server. +folder(via samba). After editing, you can check-in the files to unix thru PC X-server. +Advantages of using CVS on Linux/Unix via MS Windows are: + + Only one single Linux File server (CVS server) can serve many MS Windows clients + Linux file server (cvs) is very robust, secure and reliable + Only one UPS (uninterrupted power supply) battery is required for linux server. + Linux file server (cvs) supports centralised backups via tools like + +mirrors at +, +, +, +, +, +, +, +, +, + + Linux file server (cvs) requires just one small server room which can air-contitioned +and dust free. Small room keeps the cooling/heating costs down. + Linux file server (cvs) provides security via unix groups and user id authentication + + The following PC X-servers are available Low cost, best and small size (3 MB) and @@ -829,6 +884,55 @@ to windows: Goto Tucows and search "ftp tools" for MS Windows + + Visual Cafe(Java), JBuilder, MS Visual C++, HTML files

+Using Samba and PC X-server it is possible to use CVS on MS Windows platform. +And the tools like Symantec Visual Cafe (Java), Inprise JBuilder, MS Visual C++ +and others are easily supported by CVS. + +You can also store the HTML files on CVS repository via Samba and easily +access from MS Windows. + + Samba Admin tool

+To administer samba use the admin tools from . Go here +and click on "GUI Interfaces Tools". + + Security of CVS Repository

+To make CVS server and CVS repository secure do the following: + + Run CVS on stand-alone linux/unix box, see + Remove unnecessary software packages from CVS linux box - to prevent +external vandals running it. Just in case vandals break into the system, you +do not want to give them a chance to run dangerous programs. + Consider SSH as given in the chapter + Consider Kerberos - install cvs-*-kerberos*.rpm package + Visit and post your security questions in the +. + + Performance Tuning of CVS server

+For optimum performance CVS server must be running on a stand alone Linux/Unix box. + +To get more bang for a given CPU processing power, do the following:- + + Recompile linux kernel to make it small and lean. Remove items +which are not used. See kernel +howto at +

+ Turn off unneccessary unix processes - on linux/unix systems run chkconfig + +bash$ su - root +bash# man chkconfig +bash# chkconfig --help +bash# chkconfig --list | grep on | less +From the above list, turn off the processes you do not want to start automatically - +bash# chkconfig --level 0123456 off +Next time when the machine is booted these services will not be started. +Now, shutdown the services manually which you just turning off. +bash# cd /etc/rc.d/init.d +bash# ./ stop + +

+ Do not run any other application processes which are unnecessary. +

+ Do not leave X-Window running unattended. Because X-window processes +consume memory, CPU load and can be a serious security hole from outside attacks. +The X-window managers generally used are KDE, GNOME, CDE, XDM and others. +You must exit the X-window immediately after using and most of the time +you should see command line console login prompt on the CVS server machine. + + Problem Reporting System

Since Microsoft Windows 95/NT DOES NOT support diskless -nodes, there is a intelligent work-around to overcome this short coming. +nodes, there is an intelligent work-around to overcome this short coming. Microsoft corporation will be surprised !! Quick Steps to implement Diskless Nodes

-A overview to build diskless nodes is as follows: +An overview to build diskless nodes is as follows: Download/Install redhat RPM packages from Test with floppy disk (1.44MB) having the PROM program. @@ -308,7 +318,7 @@ see also --> Linux Terminal Server Project - LTSP

-LTSP is a open source code project to build diskless linux computers. +LTSP is an open source code project to build diskless linux computers. At LTSP site you will find RPM packages for Redhat Linux and packages for Debian Linux which will save you lots of time. The subsequent chapters given in this document @@ -683,7 +693,7 @@ go to economy->company->Hardware->Peripherals->Device programmers. - manufacturer of universal device programmers, gang programmers, production software, and package converters. High thoughput and reliability. - - manufacturer of device programmers. + - manufacturer of device programmers. - provides programming for memory and logic parts. @@ -753,7 +763,7 @@ In order to boot over the network, the computer must get usually, a working filesystem. -Consider a diskless computer (DC) that has a network boot ROM. It may be one of several identical DCs. How can we distinguish this computer from others? There is one piece of information that is unique to that computer (actually its network adapter) and that is its Ethernet address. Every Ethernet adapter in the world has a unique 48 bit Ethernet address because every Ethernet hardware manufacturer has been assigned blocks of addresses. By convention these addresses are written as hex digits with colons separating each group of two digits, for example - 00:60:08:C7:A3:D8 . +Consider a diskless computer (DC) that has a network boot ROM. It may be one of several identical DCs. How can we distinguish this computer from others? There is one piece of information that is unique to that computer (actually its network adapter) and that is its Ethernet address. Every Ethernet adapter in the world has an unique 48 bit Ethernet address because every Ethernet hardware manufacturer has been assigned blocks of addresses. By convention these addresses are written as hex digits with colons separating each group of two digits, for example - 00:60:08:C7:A3:D8 . The protocols used for obtaining an IP address, given an Ethernet address, are called Boot Protocol (BOOTP) and Dynamic Host Configuration Protocol (DHCP). DHCP is an evolution of BOOTP. In our discussion, unless otherwise stated, anything that applies to BOOTP also applies to DHCP. (Actually it's a small lie that BOOTP and DHCP only translate Ethernet addresses. In their foresight, the designers made provision for BOOTP and DHCP to work with any kind of hardware address. But Ethernet is what most people will be using.) @@ -1354,7 +1364,18 @@ Netboot mailing list archive is at

See 'Diskless-root-NFS-HOWTO' at - Linux goodies or at + Linux goodies +and mirrors at + , + , + , + , + , + , + , + , + , + - MySQL is "NOT at all good" + Limitations of MySQL

PostgreSQL should be compared with systems like Oracle, both are really true ACID compliant robust systems developed over a very long time. @@ -723,7 +730,6 @@ bash$ man pgaccess bash$ pgaccess mydatabase Now you can start rapidly BANGING away SQL commands at psql or pgaccess. -(babe, babe!) bash$ cd /usr/doc/postgresql* @@ -770,8 +776,20 @@ Examples are needed to do testing of various interfaces to PostgreSQL. Install the postgresql examples directory from - Linux cdrom - postgresql-*examples.rpm - postgresql-*examples.rpm from -or + postgresql-*examples.rpm from + +and mirrors at + , + , + , + , + , + , + , + , + , + + PostgreSQL source code tree postgresql*.src.rpm and look for examples, testing or tutorial directories @@ -1716,7 +1734,7 @@ Database security is addressed at several levels: protected from reading by any account other than the postgres superuser account Connections from a client to the database server are, by default, -allowed only via a local UNIX socket, not via TCP/IP sockets. The back-end +allowed only via an local UNIX socket, not via TCP/IP sockets. The back-end must be started with the -i option to allow nonlocal clients to connect. Client connections can be restricted by IP address and/or username via the pg_hba.conf file in $PG_DATA. @@ -3562,7 +3580,8 @@ This is at The program dbf2msql works fine with mSQL and PostgreSQL. You can find it at - + + Pg2Xbase is a better package then dbf2pg This program was written by Maarten Boekhold, @@ -6378,12 +6397,17 @@ LyX, GNU-info, HTML, RTF(Rich Text Format), Plain-text, Unix man pages and SGML. You can get this HOWTO document as a single file tar ball in HTML, DVI, Postscript or SGML formats from - +and Plain text format is in: +and +Single HTML file format is in: + Translations to other languages like French, German, Spanish, Chinese, Japanese are in +and Any help from you to translate to other languages is welcome. The document is written using a tool called "SGML-Tools" which can be got from - @@ -9225,11 +9249,19 @@ If you are planning to use PostgreSQL on Linux, and need help in installing Linu - Main site is at - Mirror site - Mirror site - Mirror site - Mirror site + Main site is at +and mirrors at + , + , + , + , + , + , + , + , + , + +