rresume 0.0.3 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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
+