Web Analytics
We support WINRAR [What is this] - [Download .exe file(s) for Windows]

CLASSICISTRANIERI HOME PAGE - YOUTUBE CHANNEL
SITEMAP
Audiobooks by Valerio Di Stefano: Single Download - Complete Download [TAR] [WIM] [ZIP] [RAR] - Alphabetical Download  [TAR] [WIM] [ZIP] [RAR] - Download Instructions

Make a donation: IBAN: IT36M0708677020000000008016 - BIC/SWIFT:  ICRAITRRU60 - VALERIO DI STEFANO or
Privacy Policy Cookie Policy Terms and Conditions
Linux-Magazin - Software-Safe: Software entwickeln unter Linux
Linux-Magazin-Logo Die Zeitschrift für Linux-Professionals

Software entwickeln unter Linux

Software-Safe

Michael Schilli

Private Softwareprojekte repräsentieren einen enormen Wert. Ein von überall zugängliches und dennoch geschütztes CVS-Repository auf einem professionell gewarteten Rechner stellt sicher, dass sich mühevoll entwickelte Programme nicht versehentlich in Luft auflösen.

Inhalt

104 Flash-Filme mit Ming
Mit dieser Bibliothek produziert selbst programmierte Software Flash-Files.

108 Coffee-Shop
Ant ist das Make-Äquivalent für Java-Projekte, kann aber viel mehr.

112 Perl-Snapshot
Ein Perl-Modul stellt Gleichungen mit mehreren Variablen auf und löst sie, ein weiteres zeichnet damit Graphen.

Außerdem: Der GCC-Performancetest auf Seite 50 mit Hintergründen zu modernen Optimierungstechniken.

Preiswertes Webhosting läuft oft auf Linux-Rechnern mit SSH-Zugang. Oft lässt sich mehr als nur Hosting-Leistung herausholen, zum Beispiel ein zentrales CVS-Repository, um die privaten Softwareprojekte zu verwalten. Die Server-Admins kümmern sich um die lästigen Aufgaben wie Update und Backup, der Kunde loggt sich einfach unter seiner SSH-Kennung auf dem Shared Host ein und legt mit »cvs -d /home/Username/mycvs init« sein neues Repository an.

Falls das Programm »cvs« auf dem Server nicht vorliegt, funktioniert auch ein kopiertes Binary von der daheim benutzen Linux-Distribution. Damit steht ein weltweit zugängliches CVS-System zur Verfügung. Auf dem Client bestimmen zwei in »~/.bashrc« gesetzte Variablen die Lage des neuen CVS-Servers:

export CVS_RSH="/usr/bin/ssh"
export CVSROOT=":ext:Username@Host.Domain.com:/home/Username/mycvs"

Um ein neues Projekt im Repository anzulegen genügt es, auf dem Client in ein bestehendes Projektverzeichnis abzusteigen und es ins CVS zu importieren:

client $ cd myproject
client $ cvs import myproject Tagv Tagr
  N myproject/Makefile
  N myproject/hello.c
  N myproject/test/Makefile
  N myproject/test/test.c

  No conflicts created by this import

Die beiden Strings »Tagv« und »Tagr« bezeichnen die Vendor- und Release-Tags, sie interessieren aber meist nicht weiter. Damit ist das Projekt im Kasten und lässt sich an jedem Ort im Netz auschecken und weiterentwickeln. »cvs co myproject« holt die Sourcen ins aktuelle Verzeichnis auf dem Client - wenn sich der Benutzer per SSH authentifizieren kann.

Aus- und einchecken

Die beiden Kommandos »cvs add« und »cvs commit« checken neue Entwicklungen und Änderungen in das Repository ein und »cvs upd« bringt den lokalen Baum auf den neuesten Stand, falls ein anderer Client den Code in der Zentrale verändert hat.

Das ständige Passworttippen ist freilich lästig. Doch es geht einfacher: Ein SSH-Schlüsselpaar ist auf dem Client mit »ssh-keygen -b 1024 -t rsa« schnell erzeugt. Der in »~/.ssh/id_rsa.pub« entstandene Public Key muss auf dem Webhost in die Datei »~/.ssh/authorized_keys«. Ab dann lässt der Server den Benutzer per SSH von seinem Client aus ohne Passwort rein und erlaubt CVS-Aktionen. Einfach praktisch! (fjl)

Programmierer-Software

Static Wikipedia 2008 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2007 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2006 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Sub-domains

CDRoms - Magnatune - Librivox - Liber Liber - Encyclopaedia Britannica - Project Gutenberg - Wikipedia 2008 - Wikipedia 2007 - Wikipedia 2006 -

Other Domains

https://www.classicistranieri.it - https://www.ebooksgratis.com - https://www.gutenbergaustralia.com - https://www.englishwikipedia.com - https://www.wikipediazim.com - https://www.wikisourcezim.com - https://www.projectgutenberg.net - https://www.projectgutenberg.es - https://www.radioascolto.com - https://www.debitoformtivo.it - https://www.wikipediaforschools.org - https://www.projectgutenbergzim.com