Technische Kenntnisse im Detail
Betriebssysteme
-
Linux, UNIX (SunOS, Solaris, Aix)
Linux ist als Server-Systeme weit verbreitet und stellt einen großen Teil der Web-Server.
Aber auch als Desktopsystem und vor allem in Mobiltelefonen (z.B. Android)
findet Linux Verbreitung.
- MSWindows (MSWindows 10, MSWindows 7, MSWindows XP, MSWindows XP embedded, cygwin)
Programmiersprachen
-
Scala & Akka
Für hochperformante Applikationen eignet sich Scala sehr gut, vor allem in Kombination mit dem Akka-Framework. Außerdem bietet es die Möglichkeit, sehr dichte und doch lesbare Software zu schreiben, weil man weniger "Rauschen" durch "Boilerplate-Code" dazwischen hat.
-
Java: JSE (J2SE), JEE (J2EE), JMS, EJB, JSF, Servlets, Camel, Karaf, Fuse, Wildfly, Seam, JSP, RMI, JDBC, Hibernate, JPA, JUnit, TestNG, Swing, AWT, JasperReports, JMX, BSF, ant, maven, IntelliJ, Eclipse, JProfiler
Viele Applikationen werden heute in Java entwickelt. Seit einigen Jahren sind auch hochperformante Serverapplikationen mit dieser Technologie möglich.
-
Clojure
Lisp neu gedacht für die JVM, sehr funktionale Sprache
-
Andere Sprachen für die JVM: Clojure (s.o.), Groovy, Scala (s.o.), jRuby (s.u.)
Die Java-VM bietet inzwischen viele interessante Alternativen zu Java selbst, die auf dieser Plattform laufen.
-
Ruby: Ruby (bis 2.7), JRuby, betriebssystemnahe Funktionen für Win32 und Linux, Rails, Einbindung von JRuby in Java
Ruby ist bekannt dafür, dass man damit sehr schnell vollständige Applikationen entwickeln kann. Es gibt aber auch
interessante Möglichkeiten, wenn man Ruby oder JRuby mit Java kombiniert, um
betriebssystemnahe Funktionen anzusprechen oder um Funktionalität konfigurierbar zu machen.
-
Perl: Perl 5 (bis 5.32), Raku (vorher Perl 6), OO, CGI, DBI, Unix API, reguläre Ausdrücke
Perl ist unter anderem sehr gut geeignet, um kleine Dinge zu erledigen und für alles, was mit dem Verarbeiten von Textdateien oder Textdaten zusammenhängt.
- HTML, XHTML, CSS, JavaScript, XML
- C: einschließlich Unix API, Oracle ProC
- UnixShells: sh, bash, tcsh, ksh
- Lisp: Common Lisp, EmacsLisp, DSSSL, Clojure
- Assembler, Fortran, C#, Lua, C++
Datenbanken
Die meisten größeren Applikationen verwenden Datenbanken, z.B. Oracle, PostgreSQL oder mySQL, um ihre Daten zu speichern.
- Oracle: SQL, SQL*Plus, ProC, JDBC, PL/SQL
- PostgreSQL, mySQL, DB2, MSSQLServer
- MongoDB
- CassandraDB
Sonstiges
- Applikationsserver: Jboss, Oracle WebLogicServer, WildFly, Fuse
- Netzwerk: TCP/IP, HTTP, HTTPS, Samba, LDAP, ssh, GSM
- Sourcecodemanagement: Git, SubVersion
- DesignWerkzeug (UML): Rational Rose, Together, Sparx Enterprise Architect, Astah
- Konzeptionelles: OOP, OOD, OOA, UML
- Kryptographie, Codierungstheorie
- Sonstiges: LibreOffice, MSOffice, MSProject, TeX/LaTeX, Emacs
Weitere Kenntnisse
-
Technologie-Kombination
Oft ist es für die Lösung von Problemen vorteilhaft, in verschiedenen Bereichen vertiefte Kenntnisse zu haben, weil die Kombination verschiedener Technologien die beste Lösung
ermöglicht.
-
Security-Knowhow
Security ist in der heutigen Informatik ein essentieller Aspekt und man treibt großen Aufwand vor allem auf Netzwerkseite, um dies zu gewährleisten. Jedoch ist es wichtig, auch bei der
Architektur und Entwicklung von Applikationen die Security-Anforderungen zu berücksichtigen.