rresume 0.0.3 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -11,4 +11,20 @@ class Tool
11
11
  def <=>(other)
12
12
  self.name <=> other.name
13
13
  end
14
+
15
+ def total_for
16
+ @total
17
+ end
18
+
19
+ def last_used
20
+ #@zuletzt
21
+ "#{@zuletzt.month}/#{zuletzt.year}"
22
+ end
23
+
24
+ def update(dauer,zuletzt)
25
+ @total += dauer
26
+ if zuletzt > @zuletzt
27
+ @zuletzt = zuletzt
28
+ end
29
+ end
14
30
  end
@@ -462,7 +462,7 @@ Datenbank Oracle 7.x.x, Shell-Scripts, awk, Python. - Realisierung von Batchprog
462
462
  # Ausgeben mit Verfuegbarkeit
463
463
  #projectlist.output_personal(:mit_verfuegbarkeit)
464
464
  # Ausgeben ohne Verfuegbarkeit (z.B. bei Verwendung durch andere Firma/Vermittler)
465
- projectlist.output_personal
465
+ projectlist.output_personal(:pdf)
466
466
 
467
467
  # alle Projekt auflisten (als html-output)
468
468
  projectlist.output(true,:html)
@@ -0,0 +1,13 @@
1
+ buffer = ">>>"
2
+ def buffer.write(str)
3
+ self << str
4
+ end
5
+
6
+ # Ausgabe umlenken
7
+ $defout = buffer #-> ">>>"
8
+ puts "hallo" #-> "hallo\n"
9
+
10
+ # Ausgabe zur�cksetzen
11
+ $defout = STDOUT
12
+ p buffer #-> ">>>hallo\n"
13
+
@@ -0,0 +1,22 @@
1
+ buffer = ">>>"
2
+ def buffer.write(str)
3
+ self << str
4
+ end
5
+
6
+ # Ausgabe umlenken
7
+ $stdout = buffer #-> ">>>"
8
+ puts "hallo" #-> "hallo\n"
9
+
10
+ puts "Thomas Preymesser"
11
+ # Ausgabe zur�cksetzen
12
+ $stdout = STDOUT
13
+ p buffer #-> ">>>hallo\n"
14
+
15
+ vergleich=""
16
+ f=File.new("vorlage_profil.html","r")
17
+ f.each { |line|
18
+ # puts line
19
+ vergleich<<line
20
+ }
21
+ p vergleich
22
+
@@ -0,0 +1,80 @@
1
+ %PDF-1.3
2
+ %����
3
+
4
+ 1 0 obj
5
+ << /Type /Catalog
6
+ /Outlines 2 0 R
7
+ /Pages 3 0 R>>
8
+ endobj
9
+ 2 0 obj
10
+ << /Type /Outlines >>
11
+ endobj
12
+ 3 0 obj
13
+ << /Type /Pages
14
+ /Kids [6 0 R
15
+ ]
16
+ /Count 1
17
+ /Resources <<
18
+ /ProcSet 4 0 R
19
+ /Font <<
20
+ /F1 8 0 R >>
21
+ >>
22
+ /MediaBox [0 0 612.0 792.0]
23
+ >>
24
+ endobj
25
+ 4 0 obj
26
+ [/PDF /Text ]
27
+ endobj
28
+ 5 0 obj
29
+ <<
30
+ /CreationDate (D:200608092121)
31
+ /Creator (tc_thomas.rb)
32
+ /Producer (PDF::Writer for Ruby)
33
+ >>
34
+ endobj
35
+ 6 0 obj
36
+ << /Type /Page
37
+ /Parent 3 0 R
38
+ /Contents 7 0 R
39
+ >>
40
+ endobj
41
+ 7 0 obj
42
+ <<
43
+ /Length 167 >>
44
+ stream
45
+
46
+ 0.000 0.000 0.000 rg
47
+ 0.000 0.000 0.000 RG
48
+ BT 120.996 675.648 Td /F1 72.0 Tf 0 Tr (Hello, Ruby.) Tj ET
49
+ BT 36.000 653.328 Td /F1 20.0 Tf 0 Tr (Thomas Preymesser ) Tj ET
50
+ endstream
51
+ endobj
52
+
53
+ 8 0 obj
54
+ << /Type /Font
55
+ /Subtype /Type1
56
+ /Name /F1
57
+ /BaseFont /Times-Roman
58
+ /Encoding /WinAnsiEncoding
59
+ >>
60
+ endobj
61
+ xref
62
+ 0 9
63
+ 0000000000 65535 f
64
+ 0000000015 00000 n
65
+ 0000000079 00000 n
66
+ 0000000116 00000 n
67
+ 0000000258 00000 n
68
+ 0000000287 00000 n
69
+ 0000000396 00000 n
70
+ 0000000459 00000 n
71
+ 0000000678 00000 n
72
+
73
+ trailer
74
+ << /Size 9
75
+ /Root 1 0 R
76
+ /Info 5 0 R
77
+ >>
78
+ startxref
79
+ 787
80
+ %%EOF
@@ -0,0 +1,132 @@
1
+ $:.unshift File.join(File.dirname(__FILE__), "..", "lib")
2
+
3
+ require 'test/unit' unless defined? $ZENTEST and $ZENTEST
4
+ require 'rubygems'
5
+ #require 'person'
6
+ require 'rresume'
7
+ #require "amrita/template"
8
+
9
+ class TestThomas < Test::Unit::TestCase
10
+ def setup
11
+ end
12
+ #include Amrita
13
+
14
+ def test_thomas_profil
15
+ #-- Sprachen
16
+ ada = Tool.new("Ada")
17
+ thomas.adresse = "Prinzenallee 36"
18
+ thomas.plz = "13359"
19
+ thomas.ort = "Berlin"
20
+ thomas.telefon = "030 - 49 78 37 06"
21
+ thomas.mobil = "0172 - 8111 959"
22
+ thomas.email = "tp@thopre.de"
23
+ thomas.education_list = [
24
+ "Fachhochschulreife",
25
+ "Studium Nachrichtentechnik",
26
+ "Fachinformatiker (Fachrichtung Anwendungsentwicklung)",
27
+ ]
28
+ thomas.weiterbildungen = [
29
+ "Certified Business Engineer (gepr&uuml;fter Wirtschaftsinformatiker)",
30
+ ]
31
+ thomas.fremdsprachen = [
32
+ "Englisch",
33
+ "Italienisch (Grundkenntnisse)",
34
+ ]
35
+
36
+ # Container fuer saemtliche Projekte
37
+ projectlist = ProjectList.new(thomas)
38
+
39
+ # folgende Tools koennen den Projekten zugeordnet werden
40
+ # hier koennen sowohl Programmiersprachen, Betriebssysteme, Datenbanken
41
+ # angegeben werden, je nach Vorlieben
42
+
43
+ # ein erstes Projekt
44
+ cronon = Project.new("Cronon")
45
+
46
+ # Start und Ende des Projekts (Monat/Jahr)
47
+ cronon.von(4,2006)
48
+ cronon.bis(8,2006)
49
+ cronon.branche="IT/Web-Dienstleistungen"
50
+ cronon.beschreibung="- ERP-Anwendungsentwicklung (Baan)"+
51
+ "- Web-Entwicklung (www.1plusi.de)"+
52
+ "- Web-Entwicklung f�r eine neuen Online-Community �hnlich OpenBC"
53
+
54
+ # Tools
55
+ cronon.used_tool(php)
56
+ cronon.used_tool(html)
57
+ cronon.used_tool(css)
58
+ cronon.used_tool(ruby)
59
+ cronon.used_tool(mysql)
60
+ cronon.used_tool(oracle)
61
+ cronon.used_tool(windows)
62
+
63
+ projectlist << cronon
64
+
65
+
66
+ outfile = "profil.html"
67
+ #outfile = "profil.pdf"
68
+
69
+ # pers�nlich Angaben
70
+
71
+ # Ausgeben mit Verfuegbarkeit
72
+ #projectlist.output_personal(:mit_verfuegbarkeit)
73
+ # Ausgeben ohne Verfuegbarkeit (z.B. bei Verwendung durch andere Firma/Vermittler)
74
+ projectlist.output_personal(outfile,:pdf)
75
+
76
+ # alle Projekt auflisten (als html-output)
77
+ projectlist.output(true,:html)
78
+
79
+ # oder als einfache Liste, standardmaessig neueste Projekte am Anfang
80
+ # projectlist.output
81
+ # oder von alt nach neu sortieren:
82
+ # projectlist.output(false)
83
+
84
+
85
+ # Ausgabe der Tools
86
+
87
+ categories = {"Programmiersprachen" => [ada,php,c,cpp,cobol,python,ruby,abap,html,perl],
88
+ "Datenbanken" => [mysql,oracle,sybase,ctree,db2,dbase,informix,cisam],
89
+ "Betriebssysteme" => [amboss,linux,windows,os2,unix,sap],
90
+ "sonstige Tools" => [awk,sqlloader,plsql,css,cisam,oraclereports,oracledesigner,toad,shell],
91
+ }
92
+
93
+
94
+ # Testen, ob wir alle Tools in eine Kategorie aufgenommen haben
95
+ # und keines doppelt vorkommt
96
+ tools_in_categories?(categories)
97
+
98
+ # Ausgabe Sprachen, Betriebssysteme, etc.
99
+ categories.each {|output_category|
100
+ projectlist.output_category(output_category, :html)
101
+ }
102
+ projectlist.output_werbung(:html)
103
+
104
+ end
105
+
106
+ def jahre(monate)
107
+ monate/12.0.round
108
+ end
109
+
110
+ def tools_in_categories?(categories)
111
+ # Testen, ob wir alle Tools in eine Kategorie aufgenommen haben
112
+ ObjectSpace.each_object(Tool) {|tool|
113
+ found=false
114
+ categories.each {|cate|
115
+ if cate[1] != cate[1].uniq
116
+ raise "doppelter Eintrag in Kategorie"
117
+ end
118
+ cate[1].each {|t|
119
+ if t.name == tool.name
120
+ found = true
121
+ end
122
+ }
123
+ }
124
+ if !found
125
+ puts "Tool #{tool.name} ist keiner Kategorie zugeordnet"
126
+ raise RuntimeError
127
+ end
128
+ }
129
+ end
130
+
131
+ end
132
+
@@ -2,7 +2,8 @@ $:.unshift File.join(File.dirname(__FILE__), "..", "lib")
2
2
 
3
3
  require 'test/unit' unless defined? $ZENTEST and $ZENTEST
4
4
  require 'rubygems'
5
- require 'person'
5
+ #require 'person'
6
+ require 'rresume'
6
7
 
7
8
  class TestPerson < Test::Unit::TestCase
8
9
  def setup
@@ -34,7 +34,7 @@ class TestProject < Test::Unit::TestCase
34
34
  assert(p1.bis_jahr == 2000)
35
35
  assert(p1.monate == 15)
36
36
  assert(p1.dauer.to_s == "15 Monate")
37
- puts "Projekt: #{p1.titel} Dauer: #{p1.dauer}"
37
+ #puts "Projekt: #{p1.titel} Dauer: #{p1.dauer}"
38
38
  end
39
39
 
40
40
  def test_beschreibung
@@ -43,7 +43,7 @@ class TestProject < Test::Unit::TestCase
43
43
  p1.bis(3,2000)
44
44
  p1.beschreibung="Diverse Datenbankroutinen mit Ada95 geschrieben"
45
45
  assert("Diverse Datenbankroutinen mit Ada95 geschrieben",p1.beschreibung)
46
- puts p1.to_s
46
+ #puts p1.to_s
47
47
  end
48
48
 
49
49
  def test_branche
@@ -52,7 +52,7 @@ class TestProject < Test::Unit::TestCase
52
52
  p1.bis(3,2000)
53
53
  p1.branche="Milit�r"
54
54
  assert("Milit�r",p1.branche)
55
- puts p1.to_s
55
+ #puts p1.to_s
56
56
  end
57
57
 
58
58
  def test_tool
@@ -76,12 +76,11 @@ class TestProject < Test::Unit::TestCase
76
76
  p1.used_tool(ada)
77
77
  p1.used_tool(oracle)
78
78
 
79
- puts projectlist.total_for("Ada")
80
- p projectlist
79
+ #puts projectlist.total_for("Ada")
81
80
  assert(15 == projectlist.total_for("Ada"), "Total fuer ada muss 15 Monate sein")
82
81
  assert(15 == projectlist.total_for("PHP"), "Total fuer php muss 15 Monate sein")
83
82
  assert(15 == projectlist.total_for("Oracle"), "Total fuer oracle muss 15 Monate sein")
84
- puts p1.to_s
83
+ #puts p1.to_s
85
84
 
86
85
  #TODO: projectlist.tools_summary
87
86
  end
@@ -133,13 +132,13 @@ class TestProject < Test::Unit::TestCase
133
132
  projectlist << perl_projekt
134
133
 
135
134
  # Ausgabe der Tools
136
- puts "ingesamt Ada-Programmierung: "+projectlist.total_for("Ada").to_s
137
- puts "ingesamt PHP-Programmierung: "+projectlist.total_for("PHP").to_s
138
- puts "ingesamt Oracle-Programmierung: "+projectlist.total_for("Oracle").to_s
139
- puts "ingesamt Windows-Programmierung: "+projectlist.total_for("Windows").to_s
135
+ #puts "ingesamt Ada-Programmierung: "+projectlist.total_for("Ada").to_s
136
+ #puts "ingesamt PHP-Programmierung: "+projectlist.total_for("PHP").to_s
137
+ #puts "ingesamt Oracle-Programmierung: "+projectlist.total_for("Oracle").to_s
138
+ #puts "ingesamt Windows-Programmierung: "+projectlist.total_for("Windows").to_s
140
139
  # hier kommt 0 raus, da in keinem Projekt bisher verwendet
141
140
  # nach dem Perl-projekt mu� hier nat�rlich 3 Monate rauskommen
142
- puts "ingesamt Perl-Programmierung: "+projectlist.total_for("Perl").to_s
141
+ #puts "ingesamt Perl-Programmierung: "+projectlist.total_for("Perl").to_s
143
142
 
144
143
  # alle Projekt auflisten
145
144
  projectlist.output
@@ -0,0 +1,560 @@
1
+ $:.unshift File.join(File.dirname(__FILE__), "..", "lib")
2
+
3
+ require 'test/unit' unless defined? $ZENTEST and $ZENTEST
4
+ require 'rubygems'
5
+ #require 'person'
6
+ require 'rresume'
7
+
8
+ require "amrita/template"
9
+ include Amrita
10
+
11
+ class TestThomas < Test::Unit::TestCase
12
+
13
+ def setup
14
+
15
+ end
16
+
17
+ def test_thomas_profil
18
+
19
+ #-- Sprachen
20
+ ada = Tool.new("Ada")
21
+ php = Tool.new("PHP")
22
+ perl = Tool.new("Perl")
23
+ ruby = Tool.new("Ruby")
24
+ html = Tool.new("HTML")
25
+ abap = Tool.new("ABAP")
26
+ c = Tool.new("C")
27
+ shell = Tool.new("Shell-Script")
28
+ python = Tool.new("Python")
29
+ #-- Datenbanken
30
+ oracle = Tool.new("Oracle")
31
+ mysql = Tool.new("MySQL")
32
+ ctree = Tool.new("c-tree")
33
+ sybase = Tool.new("Sybase")
34
+ db2 = Tool.new("DB/2")
35
+ dbase = Tool.new("Dbase")
36
+ informix = Tool.new("Informix")
37
+ cisam = Tool.new("C-ISAM")
38
+ #-- Betriessysteme/Umgebungen
39
+ linux = Tool.new("Linux")
40
+ windows = Tool.new("Windows")
41
+ sap = Tool.new("SAP")
42
+ unix = Tool.new("UNIX")
43
+ os2 = Tool.new("OS/2")
44
+ amboss = Tool.new("AMBOSS")
45
+
46
+ #-- sonst
47
+ toad = Tool.new("TOAD")
48
+ oracledesigner = Tool.new("Oracle-Designer")
49
+ oraclereports = Tool.new("Oracle-Reports")
50
+
51
+ css = Tool.new("CSS")
52
+ cpp = Tool.new("C++")
53
+ cobol = Tool.new("COBOL")
54
+ #fortran = Tool.new("Fortran")
55
+ plsql = Tool.new("PL/SQL")
56
+ sqlloader = Tool.new("SQL-Loader")
57
+ awk = Tool.new("AWK")
58
+
59
+ # Person f�r Profil
60
+ thomas = Person.new("Thomas","Preymesser")
61
+ thomas.adresse = "Prinzenallee 36"
62
+ thomas.plz = "13359"
63
+ thomas.ort = "Berlin"
64
+ thomas.telefon = "030 - 49 78 37 06"
65
+ thomas.mobil = "0172 - 8111 959"
66
+ thomas.email = "tp@thopre.de"
67
+ thomas.education_list = [
68
+ "Fachhochschulreife",
69
+ "Studium Nachrichtentechnik",
70
+ "Fachinformatiker (Fachrichtung Anwendungsentwicklung)",
71
+ ]
72
+ thomas.weiterbildungen = [
73
+ "Certified Business Engineer (gepr&uuml;fter Wirtschaftsinformatiker)",
74
+ ]
75
+ thomas.fremdsprachen = [
76
+ "Englisch",
77
+ "Italienisch (Grundkenntnisse)",
78
+ ]
79
+
80
+ # Container fuer alle Projekte
81
+ projectlist = ProjectList.new(thomas)
82
+
83
+ # folgende Tools koennen den Projekten zugeordnet werden
84
+ # hier koennen sowohl Programmiersprachen, Betriebssysteme, Datenbanken
85
+ # angegeben werden, je nach Vorlieben
86
+
87
+ # ein erstes Projekt
88
+ cronon = Project.new("Cronon")
89
+
90
+ # Start und Ende des Projekts (Monat/Jahr)
91
+ cronon.von(4,2006)
92
+ cronon.bis(8,2006)
93
+ cronon.branche="IT/Web-Dienstleistungen"
94
+ cronon.beschreibung="- ERP-Anwendungsentwicklung (Baan)"+
95
+ "- Web-Entwicklung (www.1plusi.de)"+
96
+ "- Web-Entwicklung f�r eine neuen Online-Community �hnlich OpenBC"
97
+
98
+ # Tools
99
+ cronon.used_tool(php)
100
+ cronon.used_tool(html)
101
+ cronon.used_tool(css)
102
+ cronon.used_tool(ruby)
103
+ cronon.used_tool(mysql)
104
+ cronon.used_tool(oracle)
105
+ cronon.used_tool(windows)
106
+
107
+ projectlist << cronon
108
+
109
+ #===================================================================
110
+ lulaliebe = Project.new("Lulaliebe")
111
+ lulaliebe.von(5,2005)
112
+ lulaliebe.bis(12,2005)
113
+ lulaliebe.branche="Web Dienstleistungen"
114
+ lulaliebe.beschreibung="Konzeption und Realisierung einer Dating-Site (www.lulaliebe.de)"
115
+ lulaliebe.used_tool(html)
116
+ lulaliebe.used_tool(ada)
117
+ lulaliebe.used_tool(mysql)
118
+ lulaliebe.used_tool(php)
119
+ lulaliebe.used_tool(linux)
120
+ projectlist << lulaliebe
121
+
122
+
123
+
124
+ #===================================================================
125
+ mcontacts = Project.new("mcontacts")
126
+ mcontacts.von(4,2005)
127
+ mcontacts.bis(4,2005)
128
+ mcontacts.branche="Web Dienstleistungen"
129
+ mcontacts.beschreibung="Kontakte- und Termine-Verwaltung �ber Web-Browser oder Mobiltelefon/PDA (www.mcontacts.de) (Pr�fungsarbeits im Rahmen der Weiterbildung Wirtschaftsinformatiker IHK)"
130
+ mcontacts.used_tool(html)
131
+ mcontacts.used_tool(php)
132
+ mcontacts.used_tool(mysql)
133
+ mcontacts.used_tool(ada)
134
+ mcontacts.used_tool(linux)
135
+ projectlist << mcontacts
136
+
137
+ #===================================================================
138
+ ausbildung = Project.new("ausbildung")
139
+ ausbildung.von(7,2002)
140
+ ausbildung.bis(12,2004)
141
+ ausbildung.branche="Ausbildung"
142
+ ausbildung.beschreibung="Ausbildung zum Fachinformatiker (Fachrichtung Anwendungsentwicklung sowie Weiterbildung zum gepr�ften Wirtschftsinformatiker IHK (inkl. einj�hriges Praktikum bei SAP Walldorf (Entwicklung automatisierter Tests f�r SAP-Anwendungen sowie Mitarbeit bei Benutzer- und Systemadministration)"
143
+ #ausbildung.used_tool(java)
144
+ #ausbildung.used_tool(cpp)
145
+ #ausbildung.used_tool(access)
146
+ #ausbildung.used_tool(html)
147
+ #ausbildung.used_tool(php)
148
+ #ausbildung.used_tool(mysql)
149
+ ausbildung.used_tool(linux)
150
+ ausbildung.used_tool(windows)
151
+ ausbildung.used_tool(sap)
152
+ ausbildung.used_tool(abap)
153
+ projectlist << ausbildung
154
+
155
+ #===================================================================
156
+ produkttester = Project.new("produkttester")
157
+ produkttester.von(9,2002)
158
+ produkttester.bis(10,2002)
159
+ produkttester.branche="Web Dienstleistungen"
160
+ produkttester.beschreibung="Konzeption und Realisierung einer Site f�r den Einsatz und die Verwaltung vonProdukttestern, Shoptestern, etc. (www.testeragentur.de, www.wir-testen-alles.de)"
161
+ produkttester.used_tool(html)
162
+ produkttester.used_tool(php)
163
+ produkttester.used_tool(mysql)
164
+ produkttester.used_tool(linux)
165
+ projectlist << produkttester
166
+
167
+ #===================================================================
168
+ profilmacher = Project.new("profilmacher")
169
+ profilmacher.von(1,2002)
170
+ profilmacher.bis(2,2002)
171
+ profilmacher.branche="IT"
172
+ profilmacher.beschreibung="Konzeption, Design und Realisierung f�r Online-Verwaltung von IT-Profilen f�r Freelancer oder andere Mitarbeiter."
173
+ profilmacher.used_tool(html)
174
+ profilmacher.used_tool(php)
175
+ profilmacher.used_tool(mysql)
176
+ profilmacher.used_tool(linux)
177
+ projectlist << profilmacher
178
+
179
+ #===================================================================
180
+ shops = Project.new("Heidelbergshops")
181
+ shops.von(9,2001)
182
+ shops.bis(12,2001)
183
+ shops.branche="WWW-Programmierung, Einzelhandel"
184
+ shops.beschreibung="Konzeption, Design und Realisierung f�r Shopping-Portale im Web."
185
+ shops.used_tool(html)
186
+ shops.used_tool(php)
187
+ shops.used_tool(mysql)
188
+ shops.used_tool(linux)
189
+ projectlist << shops
190
+
191
+ #===================================================================
192
+ postbank = Project.new("Postbank SAP")
193
+ postbank.von(3,2001)
194
+ postbank.bis(8,2001)
195
+ postbank.branche="Banken"
196
+ postbank.beschreibung="Mitarbeit bei der Spezifikation eines Datenarchivierungskonzepts im Rahmen einer Account-Management-Bankenanwendung"
197
+ postbank.used_tool(abap)
198
+ postbank.used_tool(windows)
199
+ postbank.used_tool(sap)
200
+ projectlist << postbank
201
+
202
+ #===================================================================
203
+ lehele = Project.new("Lehele")
204
+ lehele.von(8,2000)
205
+ lehele.bis(1,2001)
206
+ lehele.branche="Web-Dienstleistungsvermittlung"
207
+ lehele.beschreibung="Design und Realisierung im Rahmen einer Dienstleistungsvermittlung im WW (www.lehele.de)"
208
+ lehele.used_tool(linux)
209
+ lehele.used_tool(html)
210
+ lehele.used_tool(php)
211
+ lehele.used_tool(mysql)
212
+ projectlist << lehele
213
+
214
+
215
+ #===================================================================
216
+ markforschung = Project.new("Marktforschung")
217
+ markforschung.von(7,2000)
218
+ markforschung.bis(10,2000)
219
+ markforschung.branche="Marktforschumg GfK"
220
+ markforschung.beschreibung="C/C++ Programmierung im Rahmen der Umstellung von Kernprozessen, Migration von Artikelbewegungsdaten."
221
+ markforschung.used_tool(linux)
222
+ markforschung.used_tool(c)
223
+ markforschung.used_tool(cpp)
224
+ markforschung.used_tool(ctree)
225
+ markforschung.used_tool(sybase)
226
+ markforschung.used_tool(oracle)
227
+ projectlist << markforschung
228
+
229
+
230
+ #===================================================================
231
+ philips = Project.new("Philips speech systems")
232
+ philips.von(2,2000)
233
+ philips.bis(6,2000)
234
+ philips.branche="Telekommunikation/Spracherkennung"
235
+ philips.beschreibung="-Sprachgesteuerte Auskunftssystme. Wartung und Erweterung von PL/SQL-Programmen im Rahmen des Testumfelds. Integrit�tspr�fungen f�r Grammatiken."+
236
+ "-Aufbereiten, Importieren und statistische Analysen von Telefonauskunftsdateien."+
237
+ "PL-SQL"
238
+ philips.used_tool(plsql)
239
+ philips.used_tool(sqlloader)
240
+ philips.used_tool(ada)
241
+ philips.used_tool(c)
242
+ philips.used_tool(oracle)
243
+ philips.used_tool(unix)
244
+ projectlist << philips
245
+
246
+ #===================================================================
247
+ arcor = Project.new("Arcor")
248
+ arcor.von(7,1999)
249
+ arcor.bis(1,2000)
250
+ arcor.branche="Telekommunikation"
251
+ arcor.beschreibung="- Laden von unterschiedlichen Verkehrsme�daten, die im Telefonnetz anfallen in Datenbank sowie Auswertungen dar�ber (Schnittstellenprogrammierung). Erstellen von Generatorprogrammen zum automatisiereten Erzeugen von Datenbank-Scripts aus Definitionen, die in einem Spreadshet erfasst werden (Tabellen,, Views und andere Datenbankobjekte"+
252
+ "- Konzept und Programmierung im Rahmen eines Provisionierunsprogramms f�r ISDN-Kundenanschl�sse. Komplettieren und Laden von Kunden- und anschlu�daten aus gesendeten Daten, sowie R�ckmeldungen in Form von Ergebnisfiles oder Fehlermeldungen"+
253
+ "- Konzeption und Erstellung eines Systems unter Unix zzur Lastverteilung und Priorisierung bei Batch-Jobs. Triggern von Prozessen anhand empfangenre Datenfiles, Starten von Jabs nach Priorit�t und maximaler Anzahl gleichzeitig laufender Jobs, Auswerten von Bedingungen f�r Job-Start, Ansto�en einer Folgeverarbeitung je nach Job-Typ."
254
+ arcor.used_tool(awk)
255
+ arcor.used_tool(shell)
256
+ arcor.used_tool(plsql)
257
+ arcor.used_tool(sqlloader)
258
+ arcor.used_tool(oracle)
259
+ arcor.used_tool(unix)
260
+ arcor.used_tool(toad)
261
+ projectlist << arcor
262
+
263
+ #===================================================================
264
+ mblf = Project.new("MBLF")
265
+ mblf.von(9,1998)
266
+ mblf.bis(6,1999)
267
+ mblf.branche="Banken"
268
+ mblf.beschreibung="Migration von Fahrzeugfinanzierungs-Vertragsdaten."
269
+ mblf.used_tool(cpp)
270
+ mblf.used_tool(shell)
271
+ mblf.used_tool(plsql)
272
+ mblf.used_tool(sqlloader)
273
+ mblf.used_tool(oracle)
274
+ mblf.used_tool(toad)
275
+ mblf.used_tool(windows)
276
+ mblf.used_tool(unix)
277
+ projectlist << mblf
278
+
279
+ #===================================================================
280
+ qb = Project.new("Quelle Bank")
281
+ qb.von(10,1997)
282
+ qb.bis(9,1998)
283
+ qb.branche="Banken"
284
+ qb.beschreibung="Entwicklung im Rahmen der Neuimplementierung einer Direktbanken-Anwendung f�r Telefonkonten, Auto-Cash-Kredit, Sparbriefe, etc. Programmierung f�r allgemeine Programmentwicklungsinfrastruktur, Anbindung einer Datenbank f�r Adressen- und PLZensuche sowie Duplettenpr�fung (Fuzzy-Logic). Oracle-Designer, -Developer. Erstellung verschiedener BO (PL/SQL). "+
285
+ "Realisierung im Rahmen einer Neuentwicklung einer Banken-DV f�r eine Direktbank.
286
+ C-Programmierung, Embedded-SQL, PL/SQL-Funktionen. Betriebssystem HP-UX 10.20 und Windows-NT.
287
+ Datenbank Oracle 7.x.x, Shell-Scripts, awk, Python. - Realisierung von Batchprogrammen in C
288
+ -Serverprogramme f�r die Adre�- und Dublettenpr�fung in Verbindung mit externerSoftware (Fuzzy)
289
+ - Maschinelle Erzeugungvon Datenbankzugriffsmodulen f�r C und Embedded-SQL
290
+ - Programme zur automatischen Generierung von Programmdokumentation im HTML-Format
291
+ - Maschinelle Erzeugung von interner Projektdokumentation �ber Datenbanktabellen,Views, PL/SQL-Funktionen, u. �. im HTML-Format.
292
+ - Oracle-Reports "
293
+ qb.used_tool(plsql)
294
+ qb.used_tool(oracle)
295
+ qb.used_tool(oracledesigner)
296
+ qb.used_tool(c)
297
+ qb.used_tool(shell)
298
+ qb.used_tool(unix)
299
+ qb.used_tool(windows)
300
+ qb.used_tool(awk)
301
+ qb.used_tool(python)
302
+ qb.used_tool(html)
303
+ qb.used_tool(oraclereports)
304
+ qb.used_tool(toad)
305
+
306
+ projectlist << qb
307
+
308
+ #===================================================================
309
+ signaal = Project.new("Signaal")
310
+ signaal.von(3,1997)
311
+ signaal.bis(10,1997)
312
+ signaal.branche="Milit�r"
313
+ signaal.beschreibung="Enwicklung eines 'Message-Handling-Systems' (Erstellen, Dekodieren, Bearbeiten und Weiterleiten von milit�rischen Meldungen) f�r Marine. C, X-Window und grafische Oberfl�che GRIT 4.0 (GFT) inklusive Datenbankanbindung an Oracle-Datenbank. Interproze�kommunikation. "
314
+ signaal.used_tool(c)
315
+ signaal.used_tool(oracle)
316
+ signaal.used_tool(unix)
317
+
318
+ projectlist << signaal
319
+
320
+ #===================================================================
321
+ tpf = Project.new("Ticker Plant Frankfurt")
322
+ tpf.von(10,1996)
323
+ tpf.bis(12,1996)
324
+ tpf.branche="B�rse"
325
+ tpf.beschreibung="Programmierung im Rahmen des Redesigns eines Kursdaten-Informationssystems der Deutsche B�rse AG ('Ticker Plant Frankfurt')"
326
+ tpf.used_tool(c)
327
+ tpf.used_tool(oracle)
328
+ tpf.used_tool(unix)
329
+
330
+ projectlist << tpf
331
+
332
+ #===================================================================
333
+ hp = Project.new("HP B�blingen")
334
+ hp.von(4,1996)
335
+ hp.bis(6,1996)
336
+ hp.branche="IT"
337
+ hp.beschreibung="Erweiterung eines internen Release-Management-Systems auf Basis von UNIX-Tools: Shell-Scripts, SCCS, ftp, Perl, inklusive Host-Anbindung"
338
+ hp.used_tool(perl)
339
+ hp.used_tool(shell)
340
+ hp.used_tool(unix)
341
+
342
+ projectlist << hp
343
+
344
+ #===================================================================
345
+ hochregal = Project.new("Hochregal")
346
+ hochregal.von(6,1995)
347
+ hochregal.bis(11,1995)
348
+ hochregal.branche="Automobil-Industrie"
349
+ hochregal.beschreibung="Realisierung und Erweiterung verschiedener Steuerungen f�r Hochregallager."
350
+ hochregal.used_tool(c)
351
+ hochregal.used_tool(unix)
352
+ hochregal.used_tool(oracle)
353
+
354
+ projectlist << hochregal
355
+
356
+ #===================================================================
357
+ dasa = Project.new("DASA")
358
+ dasa.von(3,1995)
359
+ dasa.bis(5,1995)
360
+ dasa.branche="Raumfahrt"
361
+ dasa.beschreibung="Design und Realisierung von Komponenten f�r Software-Verification-Facility f�r International-Space-Station-Alpha"
362
+ dasa.used_tool(ada)
363
+ dasa.used_tool(unix)
364
+ dasa.used_tool(oracle)
365
+
366
+ projectlist << dasa
367
+
368
+ #===================================================================
369
+ fiku = Project.new("fiku")
370
+ fiku.von(1,1994)
371
+ fiku.bis(9,1994)
372
+ fiku.branche="Banken"
373
+ fiku.beschreibung="Neuentwicklung eines Programmpakets f�r Banken zur Verwaltung von Firmenkunden unter OS/2 "
374
+ fiku.used_tool(cpp)
375
+ fiku.used_tool(os2)
376
+ fiku.used_tool(db2)
377
+
378
+ projectlist << fiku
379
+
380
+ #===================================================================
381
+ tms = Project.new("Toppan Moore Systems")
382
+ tms.von(10,1992)
383
+ tms.bis(12,1993)
384
+ tms.branche="Banken"
385
+ tms.beschreibung="Konzipierung und Neuentwicklung eines umfangreichen Systems f�r den elektronischen Zahlungsverkehr von Banken gegen�ber Kunden und Landeszentralbanken (ELS, DTA, SWIFT-Daten) unter Unix auf IBM RS/6000 und PC-Unix "
386
+ tms.used_tool(unix)
387
+ tms.used_tool(c)
388
+ tms.used_tool(dbase)
389
+
390
+ projectlist << tms
391
+
392
+ #===================================================================
393
+ schumann2 = Project.new("Schumann")
394
+ schumann2.von(6,1992)
395
+ schumann2.bis(11,1992)
396
+ schumann2.branche="Lebensmittel-Einzelhandel"
397
+ schumann2.beschreibung="Erweiterung eines Warenwirtschaftssystems um Funktionen, die die Verwaltung mehrerer Filialen auf einer h�heren Ebene und den Datenaustausch mit diesen, sowie einem zentralen Host-System erlauben (Versorgen von neuen Filialen mit Daten, Konsistenzpr�fung von Host- und Filialdaten, DF�-Abwicklung) auf Siemens MX-300i (SINIX) "
398
+ schumann2.used_tool(unix)
399
+ schumann2.used_tool(cobol)
400
+ schumann2.used_tool(informix)
401
+
402
+ projectlist << schumann2
403
+
404
+ #===================================================================
405
+ orbi = Project.new("Orbi-MX")
406
+ orbi.von(7,1989)
407
+ orbi.bis(6,1991)
408
+ orbi.branche="Volkshochschulen / Bildungseinrichtungen"
409
+ orbi.beschreibung="Erstellung eines Feinkonzeptes und Programmierung einer Softwarel�sung f�r Volkshochschulen und Bildungseinrichtungen unter SINIX"
410
+ orbi.used_tool(unix)
411
+ orbi.used_tool(cobol)
412
+ orbi.used_tool(cisam)
413
+
414
+ projectlist << orbi
415
+
416
+ #===================================================================
417
+ abk = Project.new("abk")
418
+ abk.von(1,1990)
419
+ abk.bis(6,1990)
420
+ abk.branche="Banken"
421
+ abk.beschreibung="Aufbau und Erweiterung eines Systems f�r den elekronischen Zahlungsverkehr zwischen Banken und Landeszentralbanken auf MX-300i (SINIX) "
422
+ abk.used_tool(unix)
423
+ abk.used_tool(cobol)
424
+ abk.used_tool(cisam)
425
+
426
+ projectlist << abk
427
+
428
+ #===================================================================
429
+ schumann = Project.new("Schumann 1")
430
+ schumann.von(7,1987)
431
+ schumann.bis(12,1989)
432
+ schumann.branche="Lebensmittel-Einzelhandel"
433
+ schumann.beschreibung="Pflege und Erweiterung eines umfangreichen Warenwirtschaftsystems f�r den Lebensmitteleinzelhandel inkl. Einbindung von Siemens-Datenkassen und DF�-Abwicklung mit der Zentrale auf Siemens MX-2/MX300/MX300i"
434
+ schumann.used_tool(unix)
435
+ schumann.used_tool(cobol)
436
+ schumann.used_tool(informix)
437
+ schumann.used_tool(shell)
438
+
439
+ projectlist << schumann
440
+
441
+ #===================================================================
442
+ aerzte = Project.new("Aerzte")
443
+ aerzte.von(7,1986)
444
+ aerzte.bis(6,1987)
445
+ aerzte.branche="Gesundheitswesen"
446
+ aerzte.beschreibung=" Pflege und Erweiterung eines Paketes f�r die Verwaltung von Arztpraxen (Patientenverwaltung, Statistiken, Rezepte, etc.) unter SINIX/UNIX"
447
+ aerzte.used_tool(unix)
448
+ aerzte.used_tool(windows)
449
+ aerzte.used_tool(cobol)
450
+ aerzte.used_tool(cisam)
451
+ aerzte.used_tool(shell)
452
+
453
+ projectlist << aerzte
454
+
455
+ #===================================================================
456
+ vhs = Project.new("Bildungseinrichtungen")
457
+ vhs.von(1,1986)
458
+ vhs.bis(8,1986)
459
+ vhs.branche="Bildungseinrichtungen"
460
+ vhs.beschreibung="Erweiterung und Anpassung einer Software-L�sung f�r Volkshochschulen und Bildungeinrichtungen unter AMBOSS (Siemens 6.620) sowie Neuimplementierung auf SINIX (MX-2)"
461
+ vhs.used_tool(amboss)
462
+ vhs.used_tool(unix)
463
+ vhs.used_tool(cobol)
464
+ vhs.used_tool(cisam)
465
+
466
+ projectlist << vhs
467
+
468
+ #outfile = "profil.html"
469
+ #outfile = "profil.pdf"
470
+
471
+ buffer = ""
472
+
473
+ def buffer.write(str)
474
+ self << str
475
+ end
476
+
477
+ # Ausgabe umlenken
478
+ $stdout = buffer #-> ">>>"
479
+
480
+ # pers�nlich Angaben
481
+
482
+ # Ausgeben mit Verfuegbarkeit
483
+ #projectlist.output_personal(:mit_verfuegbarkeit)
484
+ # Ausgeben ohne Verfuegbarkeit (z.B. bei Verwendung durch andere Firma/Vermittler)
485
+ projectlist.output_personal(:html)
486
+
487
+ # alle Projekt auflisten (als html-output)
488
+ projectlist.output(true,:html)
489
+
490
+ # oder als einfache Liste, standardmaessig neueste Projekte am Anfang
491
+ # projectlist.output
492
+ # oder von alt nach neu sortieren:
493
+ # projectlist.output(false)
494
+
495
+
496
+ # Ausgabe der Tools
497
+
498
+ categories = {"Programmiersprachen" => [ada,php,c,cpp,cobol,python,ruby,abap,html,perl],
499
+ "Datenbanken" => [mysql,oracle,sybase,ctree,db2,dbase,informix,cisam],
500
+ "Betriebssysteme" => [amboss,linux,windows,os2,unix,sap],
501
+ "sonstige Tools" => [awk,sqlloader,plsql,css,cisam,oraclereports,oracledesigner,toad,shell],
502
+ }
503
+
504
+
505
+ # Testen, ob wir alle Tools in eine Kategorie aufgenommen haben
506
+ # und keines doppelt vorkommt
507
+ tools_in_categories?(categories)
508
+
509
+ # Ausgabe Sprachen, Betriebssysteme, etc.
510
+ categories.each {|output_category|
511
+ projectlist.output_category(output_category, :html)
512
+ }
513
+ projectlist.output_werbung(:html)
514
+
515
+ # Ausgabe zur�cksetzen
516
+ $stdout = STDOUT
517
+
518
+ # Hat der Buffer und die Vorlagedatei den gleichen Inhalt?
519
+ vergleich=""
520
+ f=File.new("vorlage_profil.html","r")
521
+ f.each { |line|
522
+ # puts line
523
+ vergleich<<line
524
+ }
525
+
526
+ if vergleich==buffer
527
+ puts "sind gleich"
528
+ else
529
+ puts "sind nicht gleich"
530
+ File.open("/tmp/123","w") {|bf|
531
+ bf.print(buffer)
532
+ }
533
+ puts `diff /tmp/123 vorlage_profil.html`
534
+ end
535
+ assert_equal(vergleich,buffer,"Buffer ist nicht gleich der Vorlagedatei vorlage_profil.html")
536
+ end
537
+
538
+ def tools_in_categories?(categories)
539
+ # Testen, ob wir alle Tools in eine Kategorie aufgenommen haben
540
+ ObjectSpace.each_object(Tool) {|tool|
541
+ found=false
542
+ categories.each {|cate|
543
+ if cate[1] != cate[1].uniq
544
+ raise "doppelter Eintrag in Kategorie"
545
+ end
546
+ cate[1].each {|t|
547
+ if t.name == tool.name
548
+ found = true
549
+ end
550
+ }
551
+ }
552
+ if !found
553
+ puts "Tool #{tool.name} ist keiner Kategorie zugeordnet"
554
+ raise RuntimeError
555
+ end
556
+ }
557
+ end
558
+
559
+ end
560
+