JSON. Johannes Baiter. 5. Mai 2015

Größe: px
Ab Seite anzeigen:

Download "JSON. Johannes Baiter. 5. Mai 2015"

Transkript

1 JSON Johannes Baiter 5. Mai 2015

2 Kurz und Knapp

3 JavaScript Object Notation (JSON) is a lightweight, text-based, language-independent data interchange format. { } "title" "JSON: JavaScript Object Notation", "speaker": { "name": "Johannes Baiter", "major": "Computerlinguistik (Master)" }, "date": " T12:00:00.000Z", "location": [ , ]

4 Als sprach-unabhängiges Format definiert in RFC 7159 und ECMA-404 Nah an der Syntax für Objekt-Literals in JavaScript Sehr kompakt performante Parser, speicherschonend

5 Hat sich nach dem SOAP/XML-Kater der 2000er und mit dem Aufkommen von RESTful APIs als das de-facto Standard-Datenaustauschformat für HTTP schlechthin etabliert Mittlerweile auch abseits des Webs: PostgreSQL (JSON/JSONB Datentypen) MongoDB (BSON) Elasticsearch

6 Datentypen

7 Number Kann Dezimalpunkt, Vorzeichen und Exponentenzeichen e enthalten 1337, 1.337, 1e-5 String Boolean Unicode (meist UTF8), abgetrennt durch doppelte Anführungszeichen "foobar" true/false

8 Array Komma-separierte geordnete Liste von Datentypen, durch eckige Klammern abgetrennt ["foo", 42, ["ene", "mene"], {"bar": "foo"}] Object Komma-separierte, ungeordnete Sammlung von key: value-paaren, und abgetrennt durch geschweifte Klammern Schlüssel sollten unique sein {"foo": 12, "moo": 21}

9 Vorsicht bei Array und Object: Nach letztem Element/Paar kein Komma!

10 Sicherheit

11 Bedingt durch Kompaktheit weitaus unproblematischer als XML oder YAML Vorsicht in JavaScript: Nicht per eval(...) deserialisieren, sondern nur mit JSON.parse(...). Von HTTP-APIs nur Objekte ausliefern um CSRF-Attacken zu verhindern ( JSON is not as safe as people think it is)

12 Hands on mit Python

13 Serialisierung/Deserialisierung mit pickle. # Bei Python 2 besser: `import cpickle as pickle` >>> import pickle # Einfache Datentypen >>> serialized = pickle.dumps({'foo': 13, 'bar': [12, 13]}) >>> print(serialized) b'\x80\x03}q\x00(x\x03\x00\x00\x00fooq\x01k\rx\x03\x00\x00\ >>> print(pickle.loads(serialied)) {'bar': [12, 13], 'foo': 13} # Komplexere Datentypen >>> from datetime import datetime >>> now = pickle.dumps(datetime.now()) >>> print(now) b'\x80\x03cdatetime\ndatetime\nq\x00c\n\x07\xdf\x04\x1e\r\x >>> pickle.loads(now) datetime.datetime(2015, 4, 30, 13, 29, 33, )

14 Serialisierung/Deserialisierung von Python Primitiven mit json.dumps und json.loads. >>> import json >>> serialized = json.dumps({'foo': 13, 'bar': [12, 13]}) >>> print(serizalied) '{"foo": 13, "bar": [12, 13]}' >>> json.loads(serialized) {u'bar': [12, 13], u'foo': 13}

15 Serialisierung von komplexeren Datentypen mit einem eigenen JSONEncoder. >>> from datetime import datetime >>> json.dumps({'now': datetime.now()}) #... TypeError: datetime.datetime(...) is not JSON serializable # :-( >>> json.dumps({'now': datetime.now()}, cls=customjsonencod >>> class CustomJSONEncoder(json.JSONEncoder):... def default(self, obj):... if isinstance(obj, datetime):... return obj.isoformat()... else:... return super().default(self, obj) '{"now": " T21:53: "}' # :-)

16 Vergleich

17 JSON vs. XML Vorteile von JSON Schnellere (De-)Serialisierung [quelle] Sicherer, da der Parser sehr viel simpler ist (300 LOC (jsmn) vs LOC (libxml2)) Kleinere Datengröße, da weniger gesprächig Ironischerweie häufig menschenlesbarer (als z.b. SOAP, Konfigurationsdateien, XML/RDF)

18 Nachteile Schemalosigkeit macht Datenaustausch zwischen mehreren Parteien problemanfälliger (aber: JSON Schema in der Mache) Weniger breit einsetzbar als XML (z.b. für Hypertexte) Viel weniger Features (Querverweise, Datentypen, etc) XML besser für (Hyper-)Texte (z.b. TEI für annotierte Volltexte)

19 JSON vs. YAML Vorteile von JSON Nachteile Schnellere (De-)Serialisierung [quelle] Sicherer, da der Parser sehr viel simpler ist (300 LOC [jsmn] vs LOC [libyaml]) Parser in sehr vielen Standardlibraries vorhanden Weniger gut menschenlesbar Keine Querverweise möglich wie in YAML Keine eingebaute Unterstützung für eigene Datentypen YAML besser für Datenstrukturen, die regelmäßig von Menschen bearbeitet werden müssen (Konfigurationsdateien!)

20 JSON vs. pickle Vorteile von JSON Nachteile Schneller und platzsparender Sicherer: pickle.load kann beliebigen Code ausführen! ( Playing With Pickle Security, Beispiel) Menschenlesbar Kann auch außerhalb von Python deserialisiert werden Mehr Aufwand wenn man eigene Datentypen speichern will pickle ausschließlich für quick n dirty Szenarien, wenn man sich 100%ig sicher sein kann, dass die Daten nicht von Dritten bearbeitet werden können.

Semistrukturierte Daten

Semistrukturierte Daten Semistrukturierte Daten JSON Stefan Woltran Emanuel Sallinger Institut für Informationssysteme Technische Universität Wien Sommersemester 2014 Stefan Woltran, Emanuel Sallinger Seite 1 JSON JSON steht

Mehr

Datenaustausch mit JSON

Datenaustausch mit JSON Datenaustausch mit JSON Datenaustausch Kodierung von Daten Binärformate (PNG, MP4, Word,... ) effizient, aufwändig, nicht menschenlesbar Textformate (Java,... ): menschenlesbar, Aufwand für Ein- und Ausgabe

Mehr

NoSQL mit Postgres 15. Juni 2015

NoSQL mit Postgres 15. Juni 2015 Tag der Datenbanken 15. Juni 2015 Dipl.-Wirt.-Inform. Agenda l Vorstellung l Marktübersicht l Warum PostgreSQL? l Warum NoSQL? l Beispielanwendung Seite: 2 Vorstellung Dipl.-Wirt.-Inform. [1990] Erste

Mehr

Es gibt immer einen Schlüssel und einen zugehörigen Wert,

Es gibt immer einen Schlüssel und einen zugehörigen Wert, JSON JavaScript Object Notation Im Unternehmenskontext spielt der Austausch von Daten zwischen unterschiedlichen Systemen eine große Rolle. Dabei müssen oft Technologie und Zuständigkeitsgrenzen überwunden

Mehr

Python zur Lösung von AvA Übung 1 VON MORITZ FEY

Python zur Lösung von AvA Übung 1 VON MORITZ FEY Python zur Lösung von AvA Übung 1 VON MORITZ FEY Übersicht 2 Einführung Socket-Schnittstellen Datei-Zugriff Aufbau der Nachrichten und Serialisierung Besonderheiten von Python Realisierung des Programms

Mehr

Pyro - Python Remote Objects

Pyro - Python Remote Objects 13. Mai 2012 Pyro - Python Remote Objects 1 Pyro - Python Remote Objects Oliver Burger DHBW Stuttgart - Campus Horb 13. Mai 2012 Was ist Pyro? 13. Mai 2012 Pyro - Python Remote Objects 2 13. Mai 2012 Pyro

Mehr

JavaScript in Drupal

JavaScript in Drupal JavaScript in Drupal JavaScript JavaScript ist nicht Java JavaScript ist keine reine Web-Sprache JavaScript ist benutzbar Web 1.0 Dreamweaver Mouseover-Scripts Dinge, die dem Cursor nachfliegen Schneeflocken

Mehr

Grundlagen. Felix Döring, Felix Wittwer 24. April Python-Kurs

Grundlagen. Felix Döring, Felix Wittwer 24. April Python-Kurs Grundlagen Felix Döring, Felix Wittwer 24. April 2017 Python-Kurs Gliederung 1. Über diesen Kurs 2. Der Python Interpreter 3. Python Scripte 4. Grundlagen der Sprache 5. Das erste Programm 6. Operatoren

Mehr

string: Beispiele: Test, test, `Seitentitel: ${document.title}`

string: Beispiele: Test, test, `Seitentitel: ${document.title}` JS Crashkurs Einige JavaScript spezifische Dinge zusammengefasst. Datentypen Javascript kennt folgende primitiven Datentypen: undefined number: Beispiele: 1 1.0.0 1. 0x1 1e0 boolean: true oder false string:

Mehr

XML-RPC zur Backend- Kommunikation in einem mobilen SBB-Projekt

XML-RPC zur Backend- Kommunikation in einem mobilen SBB-Projekt XML-RPC zur Backend- Kommunikation in einem mobilen SBB-Projekt Peter K. Brandt 09. März 2005 1 Einleitung RailML.org: XML als Datenaustauschformat Anderer Anwendungszweck von XML: Interaktion von Live-Systemen

Mehr

Python VS Perl. Storage Monitoring per API statt SNMP. Björn Müller Marcel Denia. comnet GmbH

Python VS Perl. Storage Monitoring per API statt SNMP. Björn Müller Marcel Denia. comnet GmbH Python VS Perl Storage Monitoring per API statt SNMP comnet GmbH Björn Müller Marcel Denia comnet GmbH 13.09.2017 Agenda Über uns Ausgangssituation Umsetzung Python Umsetzung Perl??? 13.09.2017 comnet

Mehr

javascript Coding-Guidelines 2. Ausgabe Februar 2015 Der Guideline beschreibt den verwendeten Coding-Stil von javascript als eigene Richtline.

javascript Coding-Guidelines 2. Ausgabe Februar 2015 Der Guideline beschreibt den verwendeten Coding-Stil von javascript als eigene Richtline. javascript Coding-Guidelines 2. Ausgabe Februar 2015 Der Guideline beschreibt den verwendeten Coding-Stil von javascript als eigene Richtline. Inhalts-Verzeichnis 1. Allgemeine Richtlinien...1 1.1 Anzahl

Mehr

Theorie und Praxis einer JSON-RPC-basierten Web-API

Theorie und Praxis einer JSON-RPC-basierten Web-API Theorie und Praxis einer JSON-RPC-basierten Web-API Christian Krause Christian.Krause@raritan.com Raritan Deutschland GmbH Chemnitzer LinuxTage 2015 Gliederung 1 2 Remote Procedure Call Interface Definition

Mehr

3. Stud.IP-Entwickler-Workshop 2. Juni 2006 Workshop 1a: Gib mir 5: Lohnt sich der Umstieg auf PHP5 und MySQL5? André Noack

3. Stud.IP-Entwickler-Workshop 2. Juni 2006 Workshop 1a: Gib mir 5: Lohnt sich der Umstieg auf PHP5 und MySQL5? André Noack 3. Stud.IP-Entwickler-Workshop 2. Juni 2006 Workshop 1a: Gib mir 5: Lohnt sich der Umstieg auf PHP5 und MySQL5? André Noack Gliederung (nicht mehr so) Neues in PHP 5 Neues in MySQL 4.1 / 5 Probleme mit

Mehr

Lua. June 9, 2015. Marcus Brenscheidt Marcin Golkowski ( Dynamische Programmiersprachen Lua )

Lua. June 9, 2015. Marcus Brenscheidt Marcin Golkowski ( Dynamische Programmiersprachen Lua ) Lua Marcus Brenscheidt Marcin Golkowski Dynamische Programmiersprachen June 9, 2015 June 9, 2015 1 / 15 Geschichte I Entwickelt von Roberto Ierusalimschy, Luiz Henrique und Waldemar Celes Mitglieder der

Mehr

Python 2. Vorlesung Computerlinguistische Techniken Alexander Koller. 28. Oktober 2014

Python 2. Vorlesung Computerlinguistische Techniken Alexander Koller. 28. Oktober 2014 Python 2! Vorlesung Computerlinguistische Techniken Alexander Koller! 28. Oktober 2014 Listen Sequenz von beliebigen Werten. Literale: [], [1,2,3], [ hallo, True, -5.0] Hinten an Liste anhängen: L.append(27)

Mehr

Grundlagen der Web-Entwicklung INF3172

Grundlagen der Web-Entwicklung INF3172 Grundlagen der Web-Entwicklung INF3172 Web-Services Thomas Walter 16.01.2014 Version 1.0 aktuelles 2 Webservice weitere grundlegende Architektur im Web: Webservice (Web-Dienst) Zusammenarbeit verschiedener

Mehr

Web-Techniken Einführung in JavaScript

Web-Techniken Einführung in JavaScript Web-Techniken Einführung in JavaScript Prof. Dr. Axel Böttcher Winter 2012/13 15. September 2012 Ausführung von JavaScript Variante 1: Ausführung im Browser durch direktes Einbetten: 1 2

Mehr

Programmieren im Web 2.0

Programmieren im Web 2.0 Programmieren im Web 2.0 Inhaltsverzeichnis JavaScript Einführung DHTML als eine Grundlage Do s and Dont s Inhaltsverzeichnis / 2 Ajax Einführung Technische Grundlagen Das XMLHttpRequest Objekt Beispielanwendung

Mehr

RDF RESOURCE DESCRIPTION FRAMEWORK. Referentin: Claudia Langer

RDF RESOURCE DESCRIPTION FRAMEWORK. Referentin: Claudia Langer RDF RESOURCE DESCRIPTION FRAMEWORK Referentin: Claudia Langer Überblick RDF allgemein RDF und XML Praktisches Beispiel RDF allgemein vom WWW Konsortium (W3C) für das Semantic Web entwickelt Sprache zur

Mehr

Einführung in die Computerlinguistik

Einführung in die Computerlinguistik Einführung in die Computerlinguistik Übung 2 Laura Kallmeyer Sommersemester 204, Heinrich-Heine-Universität Düsseldorf Offizielle Python Seite, auf der man jede Menge Dokumentation findet: http://www.python.org/

Mehr

Schnell performante Web-Applikationen entwickeln. Markus Zapke-Gründemann LinuxTag 2012

Schnell performante Web-Applikationen entwickeln. Markus Zapke-Gründemann LinuxTag 2012 Schnell performante Web-Applikationen entwickeln Markus Zapke-Gründemann LinuxTag 2012 Übersicht Vorstellung Was ist Django? Architektur Code Django Roadmap Entwicklungsprozess Django in Zahlen Django

Mehr

Programmieren. JavaScript-Objekt-Verarbeitung mit GSON. Heusch --- Ratz --- www.kit.edu. Institut für Angewandte Informatik

Programmieren. JavaScript-Objekt-Verarbeitung mit GSON. Heusch --- Ratz --- www.kit.edu. Institut für Angewandte Informatik Programmieren JavaScript-Objekt-Verarbeitung mit GSON Heusch --- Ratz --- KIT Universität des Landes Baden-Württemberg und nationales Großforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Motivation

Mehr

Hochschule Darmstadt Fachbereich Informatik

Hochschule Darmstadt Fachbereich Informatik Hochschule Darmstadt Fachbereich Informatik Entwicklung webbasierter Anwendungen 1 Hochschule Darmstadt Fachbereich Informatik PHP 7 2 Releasekalender http://php.net/supported-versions.php 3 Historie Urpsrünglicher

Mehr

Objekte haben eine eigene Notation, also Schreibweise, beim Aufruf:

Objekte haben eine eigene Notation, also Schreibweise, beim Aufruf: JavaScript - Inhalt 1. Objekte 2. Arrays 3. Callbacks 1)JavaScript Objekte Objekte haben eine eigene Notation, also Schreibweise, beim Aufruf: Eine Methode wird immer mit dem Namen des Objekts, einem Punkt

Mehr

Freie Markierung Die Templating-Engine FreeMarker im Einsatz

Freie Markierung Die Templating-Engine FreeMarker im Einsatz Freie Markierung Die Templating-Engine FreeMarker im Einsatz Stefan Reinhold stefan.reinhold@it-informatik.de www.it-informatik.de 1 Was ist eine Templating Engine? Zusammenführen von Vorlagen und Daten

Mehr

Bullshit-Bingo Gruppe 4

Bullshit-Bingo Gruppe 4 Gruppe 4 Verteilte Systeme Hochschule Mannheim SS2011 1/15 Bullshit-Bingo Gruppe 4 Faraz Ahmed Felix Bruckner Dennis Cisowski Michael Stapelberg Thorsten Töpper Fakultät für Informatik Hochschule Mannheim

Mehr

Team Developer 6.3.NET

Team Developer 6.3.NET Team Developer 6.3.NET Helmut Reimann Team Developer 6.3.Net.Net Assemblies einbinden Exception Handling Web Services .Net Assemblies.Net Assemblies können in Win32 und in.net Anwendungen eingebunden werden.net

Mehr

Semantic Markup für die Dokumentenklassifizierung. Seminarvortrag von Mirko Pracht

Semantic Markup für die Dokumentenklassifizierung. Seminarvortrag von Mirko Pracht Semantic Markup für die Dokumentenklassifizierung Seminarvortrag von Mirko Pracht Ziel des Vortrags Aufbau digitaler Bibliotheken Verbesserung Informationssuche Semantic Markup Gliederung 1. Grundlagen

Mehr

Sven Krosse

Sven Krosse Compact Topic Maps Syntax Sven Krosse krosse@informatik.uni-leipzig.de Topic Maps Formate Verschiedene Formate und Versionen zur Speicherung von Topic Maps XML-basiert oder Text-basiert Speicherverbrauch

Mehr

Die freie Programmiersprache Python mit Beispielen für ihren praktischen Einsatz. Python User Group Köln www.pycologne.de

Die freie Programmiersprache Python mit Beispielen für ihren praktischen Einsatz. Python User Group Köln www.pycologne.de Die freie Programmiersprache Python mit Beispielen für ihren praktischen Einsatz Python User Group Köln www.pycologne.de Übersicht Python pycologne Anwendungsbeispiele Python Klar strukturierte Allzweck-

Mehr

Delphi MVC Framework. Mathias Pannier

Delphi MVC Framework. Mathias Pannier Delphi MVC Framework Mathias Pannier Über mich Name: Mathias Pannier Position: Softwareentwickler/Teamleiter Mehr als 15 Jahre Erfahrung mit Softwareentwicklung in Delphi Blog: DMVCFramework Delphi MVC

Mehr

Wie kann man es verhindern das Rad immer wieder erneut erfinden zu müssen?

Wie kann man es verhindern das Rad immer wieder erneut erfinden zu müssen? Generic Programming without Generics from JAVA5 Motivation Wie kann man es verhindern das Rad immer wieder erneut erfinden zu müssen? Ein Bespiel: sie haben bereits eine Klasse zur Multiplikation von Matrizen

Mehr

Programmierkurs Python II

Programmierkurs Python II Programmierkurs Python II Michaela Regneri & Stefan Thater FR 4.7 Allgemeine Linguistik (Computerlinguistik) Universität des Saarlandes Sommersemester 2011 Prüfungsleistungen Klausur am Semesterende -

Mehr

Groovy und CouchDB. Ein traumhaftes Paar. Thomas Westphal

Groovy und CouchDB. Ein traumhaftes Paar. Thomas Westphal Groovy und CouchDB Ein traumhaftes Paar Thomas Westphal 18.04.2011 Herzlich Willkommen Thomas Westphal Software Engineer @ adesso AG Projekte, Beratung, Schulung www.adesso.de thomas.westphal@adesso.de

Mehr

Medien und Webtechnologie

Medien und Webtechnologie Medien und Webtechnologie Herstellerkatalog als Webanwendung Wintersemester 2005/06 18. Januar 2006 M. Wintermeier, C. Brottka, S. Keitsch Unser Ziel Beim Ausführen einer Funktion soll keine neue HTML-Seite

Mehr

Programmierkurs Python I

Programmierkurs Python I Programmierkurs Python I Michaela Regneri & Stefan Thater Universität des Saarlandes FR 4.7 Allgemeine Linguistik (Computerlinguistik) Winter 2010/11 Übersicht Kurze Wiederholung: while Sammeltypen (kurz

Mehr

Python Einführung. Monica Selva Soto. 24 März Mathematisches Institut

Python Einführung. Monica Selva Soto. 24 März Mathematisches Institut Mathematisches Institut mselva@math.uni-koeln.de 24 März 2009 Übungen zur Numerik 1 Vorlesung Übungen praktische Aufgaben Webseite: (Anmeldung, Übungsblätter) http://www.mi.uni-koeln.de/~mselva/numerik1.php

Mehr

Vorsemesterkurs Informatik Übungsaufgaben. Tag 4a - Python

Vorsemesterkurs Informatik Übungsaufgaben. Tag 4a - Python Vorsemesterkurs Informatik Übungsaufgaben Tag 4a - Python Aufgabe 1: Listen Mache dich im Python-Interpreter mit dem Umgang mit Listen vertraut. Kapitel 2.6 im Skript (s.40) enthält nützliche Informationen.

Mehr

Funktionen nur wenn dann

Funktionen nur wenn dann Funktionen nur wenn dann Funktionen können auch nur in bestimmten Fällen angewendet werden. Code wird nur in einem bestimmten Fall ausgeführt Code Ja Code Block wahr if wahr? Nein else Code Block Alternative

Mehr

Web-basierte Anwendungssysteme PHP-Einführung

Web-basierte Anwendungssysteme PHP-Einführung Web-basierte Anwendungssysteme PHP-Einführung Prof. Dr. Armin Lehmann (lehmann@e-technik.org) Fachbereich 2 Informatik und Ingenieurwissenschaften Wissen durch Praxis stärkt Seite 1 Prof. Dr. Armin Lehmann

Mehr

Introduction to Python. Introduction. First Steps in Python. pseudo random numbers. May 2016

Introduction to Python. Introduction. First Steps in Python. pseudo random numbers. May 2016 to to May 2016 to What is Programming? All computers are stupid. All computers are deterministic. You have to tell the computer what to do. You can tell the computer in any (programming) language) you

Mehr

Java I Vorlesung Imperatives Programmieren

Java I Vorlesung Imperatives Programmieren Java I Vorlesung 2 Imperatives Programmieren 3.5.2004 Variablen -- Datentypen -- Werte Operatoren und Ausdrücke Kontrollstrukturen: if Imperatives Programmieren Im Kern ist Java eine imperative Programmiersprache.

Mehr

FuE-Bereich IuK-Systeme im Gesundheitswesen

FuE-Bereich IuK-Systeme im Gesundheitswesen FuE-Bereich IuK-Systeme im Gesundheitswesen IG XML und Web Services Dipl.-Inform. Axel Schwolow IG Kommunikation im Web Entwicklung früher ausschließlich Kommunikation über Browser heute zunehmend direkt

Mehr

pue13 January 28, 2017

pue13 January 28, 2017 pue13 January 28, 2017 1 Aufgabe 1 (Klammern und Anweisungsblöcke) Wie Sie in der Vorlesung gelernt haben, werden Anweisungsblöcke in Java nicht durch Einrückung, sondern mithilfe von geschweiften Klammern

Mehr

DOM Document Object Model

DOM Document Object Model DOM Document Object Model J. Schneeberger Das Document Object Model (DOM) W3C Spezifikation Benutzt die Baumstruktur des (XML/HTML) Dokuments Programmierschnittstelle (API) für HTML- und XML-Dokumente

Mehr

Übersicht. Vorstellung des OO-Paradigmas

Übersicht. Vorstellung des OO-Paradigmas Java, OO und UML Vorstellung des OO-Paradigmas Übersicht Umsetzung des OO-Paradigmas in Java Einführung (seeeeeehr rudimenter) in UML zur graphischen Darstellung von OO Grammatik und Semantik von Java

Mehr

Nebenläufige Programme mit Python

Nebenläufige Programme mit Python Nebenläufige Programme mit Python PyCon DE 2012 Stefan Schwarzer, SSchwarzer.com info@sschwarzer.com Leipzig, Deutschland, 2012-10-30 Nebenläufige Programme mit Python Stefan Schwarzer, info@sschwarzer.com

Mehr

Relationen-Algebra und Persistenz Teil I

Relationen-Algebra und Persistenz Teil I Relationen-Algebra und Persistenz Teil I Implementierungskonzepte und Anforderungen an Attributdatentypen LG Datenbanksysteme für neue Anwendungen Inhalt FLOBs DBArrays Attributsdatentypen Folie 2 Bisher:

Mehr

1 Klassen anlegen und Objekte erzeugen

1 Klassen anlegen und Objekte erzeugen Werkzeugkiste Java 1 1 Klassen anlegen und Objekte erzeugen Klassengrundgerüst 1 /** 2 * Write a description of class Testklasse here. 3 * 4 * @author ( your name ) 5 * @version (a version number or a

Mehr

1 Klassen anlegen und Objekte erzeugen

1 Klassen anlegen und Objekte erzeugen Werkzeugkiste Java 1 1 Klassen anlegen und Objekte erzeugen Klassengrundgerüst 1 /** 2 * Write a description of class Testklasse here. 3 * 4 * @author ( your name ) 5 * @version (a version number or a

Mehr

Programmieren in Java -Eingangstest-

Programmieren in Java -Eingangstest- Programmieren in Java -Eingangstest- Nummer: 1. Studiengang: Informatik B.Sc. Informatik M.Sc. ESE B.Sc. ESE M.Sc. Sonstiges: Fachsemester: Bitte Fragen, die Sie nicht beantworten können unbedingt mit

Mehr

Workshop Einführung in die Sprache Haskell

Workshop Einführung in die Sprache Haskell Workshop Einführung in die Sprache Haskell Nils Rexin, Marcellus Siegburg und Alexander Bau Fakultät für Informatik, Mathematik und Naturwissenschaften Hochschule für Technik, Wirtschaft und Kultur Leipzig

Mehr

Back to the Future Eine Zeitreise von C# 1.0 zu C# 7.0

Back to the Future Eine Zeitreise von C# 1.0 zu C# 7.0 Back to the Future Eine Zeitreise von C# 1.0 zu C# 7.0 About us David Tielke mail@david-tielke.de Twitter: @davidtielke Ing. Christian Giesswein, MSc. www.software.tirol christian@software.tirol Twitter:

Mehr

secure beim NoName e.v. powered by L A TEX, of course 3. Dezember 2009

secure beim NoName e.v. powered by L A TEX, of course 3. Dezember 2009 Go secure beim NoName e.v. powered by L A TEX, of course 3. Dezember 2009 Inhalt Syntax, Datentypen Funktionen Fehlerbehandlung Typsystem Interfaces Goroutinen Channels Beispiele 2 / 16 Syntax Sehr an

Mehr

Python 3.3. Martin v. Löwis. Donnerstag, 18. Oktober 12

Python 3.3. Martin v. Löwis. Donnerstag, 18. Oktober 12 Python 3.3 Martin v. Löwis Python 3.0: Dezember 2008 Python 3.2: Februar 2011 Python 3.3: 29. September 2012 Neue Syntax Neue Bibliotheken Verbesserte Implementierungen Syntax yield from PEP 380: Gregory

Mehr

Programmieren in Python

Programmieren in Python 13. Docstrings und weitere Kleinigkeiten Albert-Ludwigs-Universität Freiburg Handlungsplanungs-Praktikum Wintersemester 2010/2011 Docstrings Dokumentation des Programms durch Kommentare im Code. Blockkommentare

Mehr

PHP Code Konventionen Um einen einheitlichen Code zu generieren, der von jedem gelesen werden kann, müssen folgende Konventionen eingehalten werden.

PHP Code Konventionen Um einen einheitlichen Code zu generieren, der von jedem gelesen werden kann, müssen folgende Konventionen eingehalten werden. PHP Code Konventionen Um einen einheitlichen Code zu generieren, der von jedem gelesen werden kann, müssen folgende Konventionen eingehalten werden. Allgemein Ein Einzug sollte aus 4 Leerzeichen bestehen.

Mehr

Programmieren II. JavaScript-Objekt-Verarbeitung mit GSON. Heusch -- Ratz -- Institut für Angewandte Informatik

Programmieren II. JavaScript-Objekt-Verarbeitung mit GSON. Heusch -- Ratz --  Institut für Angewandte Informatik Programmieren II JavaScript-Objekt-Verarbeitung mit GSON Heusch -- Ratz -- KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Motivation In vielen Web-Anwendungen (HTML5) werden JavaScript-

Mehr

Pragmatik von Programmiersprachen

Pragmatik von Programmiersprachen Pragmatik von Programmiersprachen Im Kontext der Notation von Quelltexten Mike Becker, 11. Dezember 2014 Szenario: IT Dienstleister Unternehmen: Produkte: Kunden: IT Dienstleistung Beratung und Software

Mehr

ZSDGMDZFGW... Zehn Sicherheitsprobleme, die gerne mit dem ZendFramework gebaut werden. Ben Fuhrmannek #phpug-köln 2.10.2009

ZSDGMDZFGW... Zehn Sicherheitsprobleme, die gerne mit dem ZendFramework gebaut werden. Ben Fuhrmannek #phpug-köln 2.10.2009 ZSDGMDZFGW Zehn Sicherheitsprobleme, die gerne mit dem ZendFramework gebaut werden Ben Fuhrmannek #phpug-köln 2.10.2009 Über mich Informatiker Entwickler IT Security 2 TOC Aufbau ZF Problem 1 bis 10 3

Mehr

Wirtschaftsinformatik (PWIN) 5. Mentorium. Wirtschaftsinformatik (PWIN), SS2010, Professur für Mobile Business & Multilateral Security 1

Wirtschaftsinformatik (PWIN) 5. Mentorium. Wirtschaftsinformatik (PWIN), SS2010, Professur für Mobile Business & Multilateral Security 1 Wirtschaftsinformatik (PWIN) 5. Mentorium Algorithmen & XML Wirtschaftsinformatik (PWIN), SS2010, Professur für Mobile Business & Multilateral Security 1 Was ist ein Algorithmus? Präzise formulierte Verarbeitungsvorschrift

Mehr

Echtzeitkartographie. Stefan Maihack Dipl. Ing. (FH) 14.09.2015

Echtzeitkartographie. Stefan Maihack Dipl. Ing. (FH) 14.09.2015 Echtzeitkartographie Stefan Maihack Dipl. Ing. (FH) 14.09.2015 Dozent: Stefan Maihack Dipl. Ing. (FH); Lehrbeauftragter der FH-Karlsruhe Email: stefan@maihack.de (Wichtig!!!) Webseite: http://www.maihack.de

Mehr

WEBPROGRAMMIERUNG DATEN AUS DEM WEB AUTOMATISIERT VERARBEITEN

WEBPROGRAMMIERUNG DATEN AUS DEM WEB AUTOMATISIERT VERARBEITEN WEBPROGRAMMIERUNG DATEN AUS DEM WEB AUTOMATISIERT VERARBEITEN Martin Guggisberg 5.9.2015 Weiterbildung: Programmieren im Unterricht mit Python AGENDA Fakten und Grundlagen zum Web Strukturierte Daten (JSON)

Mehr

RDF. Resource Description Framework. RDF - Konzepte - Tripel. RDF - Konzepte - Graph. Information Retrieval - Semantic Technologies

RDF. Resource Description Framework. RDF - Konzepte - Tripel. RDF - Konzepte - Graph. Information Retrieval - Semantic Technologies RDF Information Retrieval - Semantic Technologies Resource Description Framework Albert Weichselbraun RDF ist ein Datenmodell; Grundlegende Struktur: Graph Darstellung von Aussagen: Subject - Prädikat

Mehr

Institut für Programmierung und Reaktive Systeme. Java 2. Markus Reschke

Institut für Programmierung und Reaktive Systeme. Java 2. Markus Reschke Java 2 Markus Reschke 07.10.2014 Datentypen Was wird gespeichert? Wie wird es gespeichert? Was kann man mit Werten eines Datentyps machen (Operationen, Methoden)? Welche Werte gehören zum Datentyp? Wie

Mehr

Überblick. Klassen Optionale Typen DOM. Optionale Parameter Klassen. Einführung. 2 Motivation 3 Werkzeuge 4 Demonstration 5 Dart

Überblick. Klassen Optionale Typen DOM. Optionale Parameter Klassen. Einführung. 2 Motivation 3 Werkzeuge 4 Demonstration 5 Dart Eine kurze Lehrstuhl für Datenmanagement und -exploration RWTH Aachen Proseminar SS 2012 1 / 17 Überblick 1 2 3 4 5 6 7 8 2 / 17 1 -basierte Programmiersprache für Webanwendungen Entwickelt von Google

Mehr

PHP objektorientiert

PHP objektorientiert PHP objektorientiert Konzepte, Techniken, Code von Jörg Krause, Christian Alkemper, Peter Lavin 1. Auflage Hanser München 2006 Verlag C.H. Beck im Internet: www.beck.de ISBN 978 3 446 40762 6 Zu Inhaltsverzeichnis

Mehr

Florian Rappl. TypeScript

Florian Rappl. TypeScript Florian Rappl TypeScript Profil Freiberuflicher IT-Berater Doktorand Theoretische Physik Microsoft MVP für Visual C# CodeProject MVP Kurzer Abriss Aufschwung von JS Vielzahl von Bibliotheken / Code Größere

Mehr

Software Entwicklung 1

Software Entwicklung 1 Software Entwicklung 1 Annette Bieniusa / Arnd Poetzsch-Heffter AG Softech FB Informatik TU Kaiserslautern Ströme zur Ein- und Ausgabe Bieniusa/Poetzsch-Heffter Software Entwicklung 1 2/ 44 Ströme zur

Mehr

Programmieren in Java

Programmieren in Java Programmieren in Java Vorlesung 10: Ein Interpreter für While Prof. Dr. Peter Thiemann Albert-Ludwigs-Universität Freiburg, Germany SS 2015 Peter Thiemann (Univ. Freiburg) Programmieren in Java JAVA 1

Mehr

Extensible Visualization

Extensible Visualization Extensible Visualization Oliver Linder Client Technical Professional 2013 IBM Corporation Agenda Vergleich von Visualierungsansätzen IBM Rapidly Adaptive Visualization Engine Ablauf Quelle (Analyticszone.com)

Mehr

Kapitel 1 Pythons Sicht der Dinge

Kapitel 1 Pythons Sicht der Dinge Kapitel 1 Pythons Sicht der Dinge Private Instanzattribute sollten mit doppelten_führenden_unterstrichen geschrieben werden. Klassen und Exceptions sollten als GroßgeschriebeneWörter geschrieben werden.

Mehr

Variablen. int Flugzeug. float. I write code Hund. String. long. Borchers: Programmierung für Alle (Java), WS 06/07 Kapitel

Variablen. int Flugzeug. float. I write code Hund. String. long. Borchers: Programmierung für Alle (Java), WS 06/07 Kapitel 4213 Variablen 17.834 float Flugzeug 36812736294 I write code Hund long String Borchers: Programmierung für Alle (Java), WS 06/07 Kapitel 3 + 4 1 Variablen sind wie Becher. Sie speichern etwas. // Variablen

Mehr

ITG RKSVNet - Webservice Signierung von Belegen via Internet

ITG RKSVNet - Webservice Signierung von Belegen via Internet ITG RKSVNet - Webservice Signierung von Belegen via Internet Dieser Signierdienst via Internet ist für Kassensoftwarehersteller gedacht, die Ihre Kassensoftware über das Internet Ihren Kunden zugänglich

Mehr

float: Fließkommazahl nach IEEE 754 Standard mit 32 bit

float: Fließkommazahl nach IEEE 754 Standard mit 32 bit Primitive Datentypen Fließkommazahlen float: Fließkommazahl nach IEEE 754 Standard mit 32 bit Vorzeichen Exponent 8 bit Mantisse 23 bit double: Fließkommazahl nach IEEE 754 Standard mit 64 bit Vorzeichen

Mehr

Problemstellung. Object1:Klasse1. Object2:Klasse2 att1: Klasse1 att2: 9. att1: att2: 17. Klasse1 att1 att2 Klasse2 att1 att2

Problemstellung. Object1:Klasse1. Object2:Klasse2 att1: Klasse1 att2: 9. att1: att2: 17. Klasse1 att1 att2 Klasse2 att1 att2 Problemstellung Objekt mit aggregierten Objekten: att1: att2: 17 Object1:Klasse1 Object2:Klasse2 att1: Klasse1 att2: 9 serialisiert als Datei: Klasse1 att1 att2 Klasse2 att1 att2 -Speicherung von Objekten

Mehr

Analyse der Datenkommunikation zur drahtlosen Steuerung eines NAO Roboters durch ein Android Gerät

Analyse der Datenkommunikation zur drahtlosen Steuerung eines NAO Roboters durch ein Android Gerät Analyse der Datenkommunikation zur drahtlosen Steuerung eines NAO Roboters durch ein Android Gerät Seminarvortrag am 17. Januar 2014 Gerrit Kieffer Rechen- und Kommunikationszentrum (RZ) Gliederung Motivation

Mehr

Steht in der ersten Zeile #!/usr/bin/python und hat man die Ausführungsrechte gesetzt kann man es direkt ausführen.

Steht in der ersten Zeile #!/usr/bin/python und hat man die Ausführungsrechte gesetzt kann man es direkt ausführen. Python Unter Windows empfiehlt sich der Download von Python unter folgender URL, http:// www.python.org/download/. Linux Distributionen wie z.b. Ubuntu liefern Python direkt in Ihrer Paketverwaltung mit:

Mehr

Verkettete Datenstrukturen: Listen

Verkettete Datenstrukturen: Listen Verkettete Datenstrukturen: Listen 2 Listen Formal: Liste = endliche Folge von Elementen [a 1, a 2,..., a n ]. Spezialfall: leere Liste [ ]. Länge einer Liste = Anzahl der Elemente (bei leerer Liste: 0).

Mehr

Scala: Klassen, Methoden und Objekte. von Simon Lerch

Scala: Klassen, Methoden und Objekte. von Simon Lerch Scala: Klassen, Methoden und Objekte von Simon Lerch Überblick Methoden Klassen Objekte Basis Typen Prefixes Java's == vs. Scala's == Assoziativität von Operatoren Rich Wrapper 30.03.10 Klassen, Methoden

Mehr

Axis2, CXF und JAX-WS RI im Vergleich

Axis2, CXF und JAX-WS RI im Vergleich Axis2, CXF und JAX-WS RI im Vergleich Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim www.oio.de info@oio.de Gliederung Die Standards: JWS, JAXB und JAX-WS Axis2 Apache CXF JAX-WS RI und

Mehr

REST-Schnittstellen Dokumentation und Testing. Adrian Moos (adrian.moos@bedag.ch) Technology Advisor Bedag Informatik AG

REST-Schnittstellen Dokumentation und Testing. Adrian Moos (adrian.moos@bedag.ch) Technology Advisor Bedag Informatik AG REST-Schnittstellen Dokumentation und Testing Adrian Moos (adrian.moos@bedag.ch) Technology Advisor Bedag Informatik AG Inhalt Einleitung Dokumentation und Ad-Hoc-Testing Testautomation Fazit Seite 2 Softwareentwicklung

Mehr

Funktionen nur wenn dann

Funktionen nur wenn dann Funktionen nur wenn dann Funktionen können auch nur in bestimmten Fällen angewendet werden. Code wird nur in einem bestimmten Fall ausgeführt Code Ja Code Block wahr if wahr? Nein else Code Block Alternative

Mehr

6/23/06. Universelles Hashing. Nutzen des Universellen Hashing. Problem: h fest gewählt es gibt ein S U mit vielen Kollisionen

6/23/06. Universelles Hashing. Nutzen des Universellen Hashing. Problem: h fest gewählt es gibt ein S U mit vielen Kollisionen Universelles Hashing Problem: h fest gewählt es gibt ein S U mit vielen Kollisionen wir können nicht annehmen, daß die Keys gleichverteilt im Universum liegen (z.b. Identifier im Programm) könnte also

Mehr

Arrays. Einleitung. Deklarieren einer Array Variablen

Arrays. Einleitung. Deklarieren einer Array Variablen Arrays Einleitung bisher jede Variable einzeln deklariert: 12 3 14 12 32 32 3 32 5 3 double sum; int count; ÿ Sie können Zweck und Aufbau von Array-Datentypen erklären ÿ Sie können einen Array korrekt

Mehr

Microsoft.NET. InfoPoint 8. Juni 2005 Stefan Bühler

Microsoft.NET. InfoPoint 8. Juni 2005 Stefan Bühler Microsoft.NET InfoPoint 8. Juni 2005 Stefan Bühler Inhalt Was ist.net Was steckt dahinter Warum ist.net so wie es ist Die Säulen von.net.net Framework 2.0 / VisualStudio 2005 Beispiel Referenzen & Links

Mehr

NoSQL Datenbanken EIN ÜBERBLICK ÜBER NICHT-RELATIONALE DATENBANKEN UND DEREN POTENTIALE IM ALLGEMEINEN UND IN DER INDUSTRIE

NoSQL Datenbanken EIN ÜBERBLICK ÜBER NICHT-RELATIONALE DATENBANKEN UND DEREN POTENTIALE IM ALLGEMEINEN UND IN DER INDUSTRIE NoSQL Datenbanken EIN ÜBERBLICK ÜBER NICHT-RELATIONALE DATENBANKEN UND DEREN POTENTIALE IM ALLGEMEINEN UND IN DER INDUSTRIE Was bedeutet NoSQL? Ein Sammelbegriff für alternative Datenbanklösungen, die

Mehr

JSON & XML. jetzt mit der Version SQL Server 2016 gilt es die jeweiligen Vorteile abzuwägen

JSON & XML. jetzt mit der Version SQL Server 2016 gilt es die jeweiligen Vorteile abzuwägen JSON & XML jetzt mit der Version SQL Server 2016 gilt es die jeweiligen Vorteile abzuwägen Organizer 11.06.2016 SQLSaturday Rheinland 2016 Bronze Sponsor 11.06.2016 SQLSaturday Rheinland 2016 Silver Sponsor

Mehr

Jeffrey Bohn For Your Eyes Only PPI Roadshow 2015

Jeffrey Bohn For Your Eyes Only PPI Roadshow 2015 Let s Get Visual! Komplexe Diagramme mit IBM RAVE Jeffrey Bohn For Your Eyes Only PPI Roadshow 2015 Agenda Der Wert von Datenvisualisierungen RAVE Was ist RAVE? Vorteile von RAVE für IBM Cognos IBM RAVE

Mehr

XML-Technologien Tutorium 6

XML-Technologien Tutorium 6 XML-Technologien Tutorium 6 Thema: Semantic Web Linked Data RDF SPARQL von: Kain Kordian Gontarska kainkordian@gmail.com Semantic Web Das Internet soll nicht nur aus "dummen" Inhalten bestehen. (Ansammlung

Mehr

Am Anfang werden die Attribute deklariert public class Kreis {

Am Anfang werden die Attribute deklariert public class Kreis { Klassendiagramm Kreis Entwerfen Sie ein Klassendiagramm der Klasse Kreis mit allen Attributen und min. drei Methoden. public class Kreis { sichtbar Platz für Atributeund Methoden protected int xposition;

Mehr

Einführung in das Eclipse Modeling Framework. 5. November 2014

Einführung in das Eclipse Modeling Framework. 5. November 2014 Einführung in das Eclipse Modeling Framework 5. November 2014 Überblick Einführung in das Eclipse Modeling Framework: zur objektorientierten Modellierung von Datenstrukturen Welcher Teil einer mobilen

Mehr

Angewandte IT-Sicherheit

Angewandte IT-Sicherheit Angewandte IT-Sicherheit Johannes Stüttgen Lehrstuhl für praktische Informatik I 30.11.2010 Lehrstuhl für praktische Informatik I Angewandte IT-Sicherheit 1 / 28 Aufgabe 1 Betrachten sie folgendes Programm:

Mehr

Für den Aufruf der Wetterdaten für den Ort Osterburg in Deutschland wurden diese Werte verwendet:

Für den Aufruf der Wetterdaten für den Ort Osterburg in Deutschland wurden diese Werte verwendet: 24.6.9.2 Projekt Wetter-Daten Nach https://de.wikipedia.org/wiki/openweathermap ist OpenWeatherMap ein Online-Dienst, der eine programmiersprachen-unabhängige und frei nutzbare Schnittstelle (API) für

Mehr

Elasticsearch und die Oracle Datenbank

Elasticsearch und die Oracle Datenbank Elasticsearch und die Oracle Datenbank Die komfortable Suchmaschine in der Praxis 1. Einleitung 2. Installation 3. Daten aus der Oracle Datenbank 4. praktische Beispiele 5. Fragen & Anregungen Was ist

Mehr

Persistenz von Objekten relationale Datenbank Eigene Datenstruktur XML (JAXB) Proprietäre Dateiformate (Lochkarten)

Persistenz von Objekten relationale Datenbank Eigene Datenstruktur XML (JAXB) Proprietäre Dateiformate (Lochkarten) Persistenz von Objekten relationale Datenbank Eigene Datenstruktur XML (JAXB) Proprietäre Dateiformate (Lochkarten) O/R Mapping - Objekte (Attribute) - 1:1, 1:n, n:m Beziehungen - Vererbungen (- Interfaces)

Mehr

Unified-E Standard WebHttp Adapter

Unified-E Standard WebHttp Adapter Unified-E Standard WebHttp Adapter Version: 1.5.0.2 und höher Juli 2017 Inhalt 1 Allgemeines... 2 2 Adapter-Parameter in Unified-E... 2 3 Symbolische Adressierung... 3 3.1 ReadValues-Methode... 4 3.2 WriteValues

Mehr