feed icon rss

Your email was sent successfully. Check your inbox.

An error occurred while sending the email. Please try again.

Proceed reservation?

Export
Filter
  • TH Brandenburg  (7)
  • SB Finsterwalde
  • Inden, Michael.  (7)
  • 1
    UID:
    kobvindex_ERBEBC5752051
    Format: 1 online resource (344 pages)
    ISBN: 9783960887775
    Note: Intro -- Inhaltsverzeichnis -- Vorwort -- 1 Einleitung -- Teil I - Sprach- und API-Erweiterungen in Java 9 -- 2 Syntaxerweiterungen in JDK 9 -- 2.1 Anonyme innere Klassen und der Diamond Operator -- 2.2 Erweiterung der @Deprecated-Annotation -- 2.3 Private Methoden in Interfaces -- 2.4 Verbotener Bezeichner '_' -- 3 Neues und Änderungen in JDK 9 -- 3.1 Neue und erweiterte APIs -- 3.1.1 Das neue Process-API -- 3.1.2 Collection-Factory-Methoden -- 3.1.3 Reactive Streams und die Klasse Flow -- 3.1.4 Erweiterungen in der Klasse InputStream -- 3.1.5 Erweiterungen rund um die Klasse Optional< -- T> -- -- 3.1.6 Erweiterungen im Stream-API -- 3.1.7 Erweiterungen in der Klasse LocalDate -- 3.1.8 Erweiterungen in der Klasse Arrays -- 3.1.9 Erweiterungen in der Klasse Objects -- 3.1.10 Erweiterungen in der Klasse CompletableFuture< -- T> -- -- 3.2 Sonstige Änderungen -- 3.2.1 Optimierung bei Strings -- 3.2.2 Deprecation diverser Typen und Methoden im JDK -- 4 Änderungen in der JVM in JDK 9 -- 4.1 Änderung des Versionsschemas -- 4.2 Unterstützung von Multi-Release-JARs -- 4.3 Java + REPL => -- jshell -- 4.4 HTML5 Javadoc -- 5 Übungen zu den Neuerungen in JDK 9 -- Teil II - Sprach- und API-Erweiterungen in Java 10 bis 12 -- 6 Neues und Änderungen in Java 10 -- 6.1 Syntaxerweiterung var -- 6.2 API-Neuerungen -- 6.2.1 Unveränderliche Kopien von Collections -- 6.2.2 Immutable Collections aus Streams erzeugen -- 6.2.3 Erweiterung in der Klasse Optional -- 6.2.4 Modifikationen in der Versionierung -- 6.2.5 Verschiedenes -- 6.3 Fazit -- 7 Neues und Änderungen in Java 11 -- 7.1 Syntaxerweiterung für var -- 7.2 API-Neuerungen -- 7.2.1 Neue Hilfsmethoden in der Klasse String -- 7.2.2 Neue Hilfsmethoden in der Utility-Klasse Files -- 7.2.3 Erweiterung in der Klasse Optional< -- T> -- -- 7.2.4 Erweiterung im Interface Predicate< -- T> , 7.2.5 HTTP/2-API -- 7.3 Neuerungen in der JVM -- 7.3.1 Epsilon Garbage Collector -- 7.3.2 Launch Single-File Source-Code Programs -- 7.3.3 Das Tool Flight Recorder -- 7.4 Deprecations und Entfernungen im JDK -- 7.4.1 Aufräumarbeiten in der Klasse Thread -- 7.4.2 Deprecation der JavaScript-Unterstützung -- 7.4.3 Ausgliederung von JavaFX -- 7.4.4 Ausgliederung von Java EE und CORBA -- 7.5 Fazit -- 8 Neues und Änderungen in Java 12 -- 8.1 Switch Expressions -- 8.1.1 Einführendes Beispiel -- 8.1.2 Zuweisungen im Lambda -- 8.1.3 break mit Rückgabewert -- 8.2 Microbenchmark Suite -- 8.2.1 Eigene Microbenchmarks und Varianten davon -- 8.2.2 Microbenchmarks mit JMH -- 8.2.3 Fazit -- 8.3 Java 12 - notwendige Anpassungen für Build-Tools und IDEs -- 8.3.1 Java 12 mit Gradle -- 8.3.2 Java 12 mit Maven -- 8.3.3 Java 12 mit Eclipse -- 8.3.4 Java 12 mit IntelliJ -- 8.4 Fazit -- 9 Übungen zu den Neuerungen in den JDKs 10 und 11 -- Teil III - Modularisierung -- 10 Modularisierung mit Project Jigsaw -- 10.1 Grundlagen -- 10.1.1 Bisherige Varianten der Modularisierung -- 10.1.2 Warum Modularisierung wünschenswert ist -- 10.2 Modularisierung im Überblick -- 10.2.1 Grundlagen zu Project Jigsaw -- 10.2.2 Einführendes Beispiel mit zwei Modulen -- 10.2.3 Packaging -- 10.2.4 Linking -- 10.2.5 Abhängigkeiten und Modulgraphen -- 10.2.6 Module des JDKs einbinden -- 10.2.7 Arten von Modulen -- 10.3 Sichtbarkeiten und Zugriffsschutz -- 10.3.1 Sichtbarkeiten -- 10.3.2 Zugriffsschutz an Beispielen -- 10.3.3 Transitive Abhängigkeiten (Implied Readability) -- 10.4 Zusammenfassung -- 11 Weiterführende Themen zur Modularisierung -- 11.1 Empfehlenswertes Verzeichnislayout für Module -- 11.2 Modularisierung und Services -- 11.2.1 Begrifflichkeiten: API, SPI und Service Provider -- 11.2.2 Service-Ansatz in Java seit JDK 6 -- 11.2.3 Services im Bereich der Modularisierung , 11.2.4 Definition eines Service Interface -- 11.2.5 Realisierung eines Service Provider -- 11.2.6 Realisierung eines Service Consumer -- 11.2.7 Kontrolle der Abhängigkeiten -- 11.2.8 Fazit -- 11.3 Modularisierung und Reflection -- 11.3.1 Verarbeitung von Modulen mit Reflection -- 11.3.2 Tool zur Ermittlung von Modulen zu Klassen -- 11.3.3 Besonderheiten bei Reflection -- 11.4 Kompatibilität und Migration -- 11.4.1 Kompatibilitätsmodus -- 11.4.2 Migrationsszenarien -- 11.4.3 Fallstrick bei der Bottom-up-Migration -- 11.4.4 Beispiel: Migration mit Automatic Modules -- 11.4.5 Beispiel: Automatic und Unnamed Module -- 11.4.6 Beispiel: Abwandlung mit zwei Automatic Modules -- 11.4.7 Mögliche Schwierigkeiten bei Migrationen -- 11.4.8 Fazit -- 12 Übungen zur Modularisierung -- Teil IV - Verschiedenes -- 13 Build-Tools und IDEs mit Java 11 -- 13.1 Nicht modularisierte Applikationen -- 13.1.1 Gradle -- 13.1.2 Maven -- 13.1.3 Eclipse -- 13.1.4 IntelliJ IDEA -- 13.1.5 Externe Abhängigkeiten im Kompatibilitätsmodus -- 13.2 Modularisierte Applikationen -- 13.2.1 Gradle -- 13.2.2 Maven -- 13.2.3 Eclipse -- 13.2.4 IntelliJ IDEA -- 13.3 Fazit -- 14 Zusammenfassung -- Anhang -- A Schnelleinstieg in Java 8 -- A.1 Einstieg in Lambdas -- A.1.1 Lambdas am Beispiel -- A.1.2 Functional Interfaces und SAM-Typen -- A.1.3 Type Inference und Kurzformen der Syntax -- A.1.4 Methodenreferenzen -- A.2 Streams im Überblick -- A.2.1 Streams erzeugen - Create Operations -- A.2.2 Intermediate und Terminal Operations im Überblick -- A.2.3 Zustandslose Intermediate Operations -- A.2.4 Zustandsbehaftete Intermediate Operations -- A.2.5 Terminal Operations -- A.3 Neuerungen in der Datumsverarbeitung -- A.3.1 Die Klasse Instant -- A.3.2 Die Klassen LocalDate, LocalTime und LocalDateTime -- A.3.3 Die Klasse Duration -- A.3.4 Die Klasse Period -- A.3.5 Datumsarithmetik mit TemporalAdjusters , A.4 Diverse Erweiterungen -- A.4.1 Erweiterungen im Interface Comparator< -- T> -- -- A.4.2 Erweiterungen in der Klasse Optional< -- T> -- -- A.4.3 Erweiterungen in der Klasse CompletableFuture< -- T> -- -- B Einführung Gradle -- B.1 Projektstruktur für Maven und Gradle -- B.2 Builds mit Gradle -- C Einführung Maven -- C.1 Maven im Überblick -- C.2 Maven am Beispiel -- Literaturverzeichnis -- Index
    Additional Edition: Print version: Inden, Michael Java – die Neuerungen in Version 9 bis 12 Heidelberg : dpunkt.verlag,c2019 ISBN 9783864906725
    Keywords: Electronic books.
    Library Location Call Number Volume/Issue/Year Availability
    BibTip Others were also interested in ...
  • 2
    Online Resource
    Online Resource
    Heidelberg : dpunkt.verlag
    UID:
    kobvindex_ERBEBC6452360
    Format: 1 online resource (1414 pages)
    Edition: 5
    ISBN: 9783960888420
    Series Statement: Programmieren mit Java
    Note: Intro -- 1 Einleitung -- 1.1 Über dieses Buch -- 1.1.1 Motivation -- 1.1.2 Was leistet dieses Buch und was nicht? -- 1.1.3 Wie und was soll mithilfe des Buchs gelernt werden? -- 1.1.4 Wer sollte dieses Buch lesen? -- 1.2 Aufbau des Buchs -- 1.3 Konventionen und ausführbare Programme -- I Java-Grundlagen, Analyse und Design -- 2 Professionelle Arbeitsumgebung -- 2.1 Vorteile von IDEs am Beispiel von Eclipse -- 2.2 Projektorganisation -- 2.2.1 Projektstruktur in Eclipse -- 2.2.2 Projektstruktur für Maven und Gradle -- 2.3 Einsatz von Versionsverwaltungen -- 2.3.1 Arbeiten mit zentralen Versionsverwaltungen -- 2.3.2 Dezentrale Versionsverwaltungen -- 2.3.3 VCS und DVCS im Vergleich -- 2.4 Einsatz eines Unit-Test-Frameworks -- 2.4.1 Das JUnit-Framework -- 2.4.2 Parametrierte Tests mit JUnit 5 -- 2.4.3 Vorteile von Unit Tests -- 2.5 Debugging -- 2.5.1 Fehlersuche mit einem Debugger -- 2.5.2 Remote Debugging -- 2.6 Deployment von Java-Applikationen -- 2.6.1 Das JAR-Tool im Kurzüberblick -- 2.6.2 JAR inspizieren und ändern, Inhalt extrahieren -- 2.6.3 Metainformationen und das Manifest -- 2.6.4 Inspizieren einer JAR-Datei -- 2.7 Einsatz eines IDE-unabhängigen Build-Prozesses -- 2.7.1 Maven im Überblick -- 2.7.2 Builds mit Gradle -- 2.7.3 Vorteile von Maven und Gradle -- 2.8 Weiterführende Literatur -- 3 Objektorientiertes Design -- 3.1 OO-Grundlagen -- 3.1.1 Grundbegriffe -- 3.1.2 Beispielentwurf: Ein Zähler -- 3.1.3 Vom imperativen zum objektorientierten Entwurf -- 3.1.4 Diskussion der OO-Grundgedanken -- 3.1.5 Wissenswertes zum Objektzustand -- 3.2 Grundlegende OO-Techniken -- 3.2.1 Schnittstellen (Interfaces) -- 3.2.2 Basisklassen und abstrakte Basisklassen -- 3.2.3 Interfaces und abstrakte Basisklassen -- 3.3 Wissenswertes zu Vererbung -- 3.3.1 Probleme durch Vererbung -- 3.3.2 Delegation statt Vererbung -- 3.4 Fortgeschrittenere OO-Techniken , 3.4.1 Read-only-Interface -- 3.4.2 Immutable-Klasse -- 3.4.3 Marker-Interface -- 3.4.4 Konstantensammlungen und Aufzählungen -- 3.4.5 Value Object (Data Transfer Object) -- 3.5 Prinzipien guten OO-Designs -- 3.5.1 Geheimnisprinzip nach Parnas -- 3.5.2 Law of Demeter -- 3.5.3 SOLID-Prinzipien -- 3.6 Formen der Varianz -- 3.6.1 Grundlagen der Varianz -- 3.6.2 Kovariante Rückgabewerte -- 3.7 Generische Typen (Generics) -- 3.7.1 Einführung -- 3.7.2 Generics und Auswirkungen der Type Erasure -- 3.8 Weiterführende Literatur -- 4 Lambdas, Methodenreferenzen und Defaultmethoden -- 4.1 Einstieg in Lambdas -- 4.1.1 Syntax von Lambdas -- 4.1.2 Functional Interfaces und SAM-Typen -- 4.1.3 Exceptions in Lambdas -- 4.2 Syntaxerweiterungen in Interfaces -- 4.2.1 Defaultmethoden -- 4.2.2 Statische Methoden in Interfaces -- 4.3 Methodenreferenzen -- 4.4 Externe vs. interne Iteration -- 4.5 Wichtige Functional Interfaces für Collections -- 4.5.1 Das Interface Predicate< -- T> -- -- 4.5.2 Das Interface UnaryOperator< -- T> -- -- 4.6 Praxiswissen: Definition von Lambdas -- 5 Java-Grundlagen -- 5.1 Die Klasse Object -- 5.1.1 Die Methode toString() -- 5.1.2 Die Methode equals() -- 5.2 Primitive Typen und Wrapper-Klassen -- 5.2.1 Grundlagen -- 5.2.2 Konvertierung von Werten -- 5.2.3 Wissenswertes zu Auto-Boxing und Auto-Unboxing -- 5.2.4 Ausgabe und Verarbeitung von Zahlen -- 5.3 Stringverarbeitung -- 5.3.1 Die Klasse String -- 5.3.2 Die Klassen StringBuffer und StringBuilder -- 5.3.3 Ausgaben mit format() und printf() -- 5.3.4 Die Methode split() und reguläre Ausdrücke -- 5.3.5 Optimierung bei Strings in JDK 9 -- 5.3.6 Neue Methoden in der Klasse String in JDK 11 -- 5.4 Varianten innerer Klassen -- 5.5 Ein- und Ausgabe (I/O) -- 5.5.1 Dateibehandlung und die Klasse File -- 5.5.2 Ein- und Ausgabestreams im Überblick , 5.5.3 Zeichencodierungen bei der Ein- und Ausgabe -- 5.5.4 Speichern und Laden von Daten und Objekten -- 5.5.5 Dateiverarbeitung mit dem NIO -- 5.5.6 Neue Hilfsmethoden in der Klasse Files in JDK 11 -- 5.6 Fehlerbehandlung -- 5.6.1 Einstieg in die Fehlerbehandlung -- 5.6.2 Checked Exceptions und Unchecked Exceptions -- 5.6.3 Besonderheiten beim Exception Handling -- 5.6.4 Exception Handling und Ressourcenfreigabe -- 5.6.5 Assertions -- 5.7 Weitere Neuerungen in JDK 9, 10 und 11 -- 5.7.1 Erweiterung der @Deprecated-Annotation in JDK 9 -- 5.7.2 Syntaxerweiterung var in JDK 10 und 11 -- 5.7.3 Versionsverarbeitung mit JDK 9 und 10 -- 5.8 Weiterführende Literatur -- II Bausteine stabiler Java-Applikationen -- 6 Das Collections-Framework -- 6.1 Datenstrukturen und Containerklassen -- 6.1.1 Wahl einer geeigneten Datenstruktur -- 6.1.2 Arrays -- 6.1.3 Das Interface Collection -- 6.1.4 Das Interface Iterator -- 6.1.5 Listen und das Interface List -- 6.1.6 Mengen und das Interface Set -- 6.1.7 Grundlagen von hashbasierten Containern -- 6.1.8 Grundlagen automatisch sortierender Container -- 6.1.9 Die Methoden equals(), hashCode() und compareTo() im Zusammenspiel -- 6.1.10 Schlüssel-Wert-Abbildungen und das Interface Map -- 6.1.11 Erweiterungen am Beispiel der Klasse HashMap -- 6.1.12 Erweiterungen im Interface Map in JDK 8 -- 6.1.13 Collection-Factory-Methoden in JDK 9 -- 6.1.14 Unveränderliche Kopien von Collections mit Java 10 -- 6.1.15 Entscheidungshilfe zur Wahl von Datenstrukturen -- 6.2 Suchen und Sortieren -- 6.2.1 Suchen -- 6.2.2 Sortieren von Arrays und Listen -- 6.2.3 Sortieren mit Komparatoren -- 6.2.4 Erweiterungen im Interface Comparator mit JDK 8 -- 6.3 Utility-Klassen und Hilfsmethoden -- 6.3.1 Nützliche Hilfsmethoden -- 6.3.2 Dekorierer synchronized und unmodifiable -- 6.3.3 Vordefinierte Algorithmen in der Klasse Collections , 6.4 Containerklassen: Generics und Varianz -- 6.5 Die Klasse Optional< -- T> -- -- 6.5.1 Grundlagen zur Klasse Optional -- 6.5.2 Weiterführendes Beispiel und Diskussion -- 6.5.3 Verkettete Methodenaufrufe -- 6.5.4 Erweiterungen in der Klasse Optional< -- T> -- in JDK 9 -- 6.5.5 Erweiterung in Optional< -- T> -- in JDK 10 und 11 -- 6.6 Fallstricke im Collections-Framework -- 6.6.1 Wissenswertes zu Arrays -- 6.6.2 Wissenswertes zu Stack, Queue und Deque -- 6.7 Weiterführende Literatur -- 7 Das Stream-API -- 7.1 Grundlagen zu Streams -- 7.1.1 Streams erzeugen - Create Operations -- 7.1.2 Intermediate und Terminal Operations im Überblick -- 7.1.3 Zustandslose Intermediate Operations -- 7.1.4 Zustandsbehaftete Intermediate Operations -- 7.1.5 Terminal Operations -- 7.1.6 Wissenswertes zur Parallelverarbeitung -- 7.1.7 Neuerungen im Stream-API in JDK 9 -- 7.1.8 Neuerungen im Stream-API in JDK 10 -- 7.2 Filter-Map-Reduce -- 7.2.1 Herkömmliche Realisierung -- 7.2.2 Filter-Map-Reduce mit JDK 8 -- 7.3 Praxisbeispiele -- 7.3.1 Aufbereiten von Gruppierungen und Histogrammen -- 7.3.2 Maps nach Wert sortieren -- 8 Datumsverarbeitung seit JDK 8 -- 8.1 Überblick über die neu eingeführten Typen -- 8.1.1 Neue Aufzählungen, Klassen und Interfaces -- 8.1.2 Die Aufzählungen DayOfWeek und Month -- 8.1.3 Die Klassen MonthDay, YearMonth und Year -- 8.1.4 Die Klasse Instant -- 8.1.5 Die Klasse Duration -- 8.1.6 Die Aufzählung ChronoUnit -- 8.1.7 Die Klassen LocalDate, LocalTime und LocalDateTime -- 8.1.8 Die Klasse Period -- 8.1.9 Die Klasse ZonedDateTime -- 8.1.10 Zeitzonen und die Klassen ZoneId und ZoneOffset -- 8.1.11 Die Klasse Clock -- 8.1.12 Formatierung und Parsing -- 8.2 Datumsarithmetik -- 8.2.1 Einstieg in die Datumsarithmetik -- 8.2.2 Real-World-Example: Gehaltszahltag -- 8.3 Interoperabilität mit Legacy-Code -- 9 Applikationsbausteine , 9.1 Einsatz von Bibliotheken -- 9.2 Google Guava im Kurzüberblick -- 9.2.1 String-Aktionen -- 9.2.2 Stringkonkatenation und -extraktion -- 9.2.3 Erweiterungen für Collections -- 9.2.4 Weitere Utility-Funktionalitäten -- 9.3 Wertebereichs- und Parameterprüfungen -- 9.4 Logging-Frameworks -- 9.4.1 Apache log4j2 -- 9.4.2 Tipps und Tricks zum Einsatz von Logging mit log4j2 -- 9.5 Konfigurationsparameter und -dateien -- 9.5.1 Einlesen von Kommandozeilenparametern -- 9.5.2 Verarbeitung von Properties -- 9.5.3 Weitere Möglichkeiten zur Konfigurationsverwaltung -- 10 Multithreading-Grundlagen -- 10.1 Threads und Runnables -- 10.1.1 Definition der auszuführenden Aufgabe -- 10.1.2 Start, Ausführung und Ende von Threads -- 10.1.3 Lebenszyklus von Threads und Thread-Zustände -- 10.1.4 Unterbrechungswünsche durch Aufruf von interrupt() -- 10.2 Zusammenarbeit von Threads -- 10.2.1 Konkurrierende Datenzugriffe -- 10.2.2 Locks, Monitore und kritische Bereiche -- 10.2.3 Deadlocks und Starvation -- 10.2.4 Kritische Bereiche und das Interface Lock -- 10.3 Kommunikation von Threads -- 10.3.1 Kommunikation mit Synchronisation -- 10.3.2 Kommunikation über die Methoden wait(), notify() und notifyAll() -- 10.3.3 Abstimmung von Threads -- 10.3.4 Unerwartete IllegalMonitorStateExceptions -- 10.4 Das Java-Memory-Modell -- 10.4.1 Sichtbarkeit -- 10.4.2 Atomarität -- 10.4.3 Reorderings -- 10.5 Besonderheiten bei Threads -- 10.5.1 Verschiedene Arten von Threads -- 10.5.2 Exceptions in Threads -- 10.5.3 Sicheres Beenden von Threads -- 10.6 Weiterführende Literatur -- 11 Modern Concurrency -- 11.1 Concurrent Collections -- 11.1.1 Thread-Sicherheit und Parallelität mit »normalen« Collections -- 11.1.2 Parallelität mit den Concurrent Collections -- 11.1.3 Blockierende Warteschlangen und das Interface BlockingQueue< -- E> -- -- 11.2 Das Executor-Framework -- 11.2.1 Einführung , 11.2.2 Definition von Aufgaben
    Additional Edition: Print version: Inden, Michael Der Weg zum Java-Profi Heidelberg : dpunkt.verlag,c2020 ISBN 9783864907074
    Keywords: Electronic books.
    Library Location Call Number Volume/Issue/Year Availability
    BibTip Others were also interested in ...
  • 3
    Online Resource
    Online Resource
    Heidelberg : dpunkt.verlag
    UID:
    kobvindex_ERBEBC6800831
    Format: 1 online resource (352 pages)
    ISBN: 9783969106464
    Series Statement: Programmieren mit Python
    Note: Intro -- Vorwort -- I Einstieg -- 1 Einführung -- 1.1 Python im Überblick -- 1.2 Los geht's - Installation -- 1.2.1 Python-Download -- 1.2.2 Installation von Python -- 1.2.3 Nacharbeiten nach der Python-Installation -- 1.2.4 Python-Installation prüfen -- 1.2.5 Python-Programm als Skript ausführen -- 1.3 Entwicklungsumgebungen -- 1.3.1 Installation von PyCharm -- 1.3.2 PyCharm starten -- 1.3.3 Erstes Projekt in PyCharm -- 1.3.4 Erstes Modul in PyCharm -- 2 Schnelleinstieg -- 2.1 Hallo Welt (Hello World) -- 2.2 Variablen und Datentypen -- 2.2.1 Definition von Variablen -- 2.2.2 Variablen und Typen -- 2.2.3 Bezeichner (Variablennamen) -- 2.3 Operatoren im Überblick -- 2.3.1 Arithmetische Operatoren -- 2.3.2 Zuweisungsoperatoren -- 2.3.3 Vergleichsoperatoren -- 2.3.4 Logische Operatoren -- 2.4 Fallunterscheidungen -- 2.5 Funktionen -- 2.5.1 Eigene Funktionen definieren -- 2.5.2 Nützliche Beispiele aus Python -- 2.5.3 Fehlerbehandlung und Exceptions -- 2.6 Kommentare -- 2.7 Module -- 2.8 Built-in-Datentypen -- 2.8.1 List -- 2.8.2 Tupel -- 2.8.3 Set -- 2.8.4 Dict -- 2.9 Schleifen -- 2.9.1 Besonderheit: Ranges -- 2.9.2 Indexbasierte for-in-Schleife -- 2.9.3 Wertebasierte for-in-Schleife -- 2.9.4 Index- und wertebasierte for-in-enumerate-Schleife -- 2.9.5 Die while-Schleife -- 2.10 Weiterführende Informationen -- 2.11 Aufgaben und Lösungen -- 2.11.1 Aufgabe 1: Mathematische Berechnungen -- 2.11.2 Aufgabe 2: Bedingung vereinfachen -- 2.11.3 Aufgabe 3: Funktion und if -- 2.11.4 Aufgabe 4: Selbstabholerrabatt -- 2.11.5 Aufgabe 5: Schleifen mit Berechnungen -- 2.11.6 Aufgabe 6: Schleifen und fixe Schrittweite -- 2.11.7 Aufgabe 7: Schleifen mit variabler Schrittweite -- 2.11.8 Aufgabe 8: Verschachtelte Schleifen - Variante 1 -- 2.11.9 Aufgabe 9: Verschachtelte Schleifen - Variante 2 -- 2.11.10 Aufgabe 10: Verschachtelte Schleifen - Variante 3 -- 3 Strings , 3.1 Schnelleinstieg -- 3.1.1 Gebräuchliche Stringaktionen -- 3.1.2 Suchen und Ersetzen -- 3.1.3 Informationen extrahieren und formatieren -- 3.1.4 Praxisrelevante Funktionen im Kurzüberblick -- 3.2 Nächste Schritte -- 3.2.1 Zeichenverarbeitung -- 3.2.2 Strings und Listen -- 3.2.3 Mehrzeilige Strings -- 3.3 Aufgaben und Lösungen -- 3.3.1 Aufgabe 1: Länge, Zeichen und Enthaltensein -- 3.3.2 Aufgabe 2: Zeichen wiederholen -- 3.3.3 Aufgabe 3: Vokale raten -- 3.3.4 Aufgabe 4: String Merge -- 4 Klassen und Objektorientierung -- 4.1 Schnelleinstieg -- 4.1.1 Grundlagen zu Klassen und Objekten -- 4.1.2 Eigenschaften (Attribute) -- 4.1.3 Verhalten (Methoden) -- 4.1.4 Objekte vergleichen - die Rolle von __eq__() -- 4.2 Nächste Schritte -- 4.2.1 Klassen ausführbar machen -- 4.2.2 Imports und Packages -- 4.2.3 Übergang zum Einsatz einer IDE -- 4.2.4 Verstecken von Informationen -- 4.2.5 Packages: Auswirkungen auf unsere Applikation -- 4.3 Vererbung -- 4.3.1 Basisklassen -- 4.3.2 Typprüfung mit isinstance() -- 4.3.3 Generalisierung und Spezialisierung -- 4.3.4 Polymorphie -- 4.4 Aufgaben und Lösungen -- 4.4.1 Aufgabe 1: Superheld -- 4.4.2 Aufgabe 2: Zähler -- 4.4.3 Aufgabe 3: Zähler mit Überlauf -- 5 Collections -- 5.1 Schnelleinstieg -- 5.1.1 Die Klasse list -- 5.1.2 Die Klasse set -- 5.1.3 Die Klasse dict -- 5.2 Nächste Schritte -- 5.2.1 Comprehensions -- 5.2.2 Slicing - Zugriff auf Teilbereiche -- 5.2.3 Sortierung - sort() / sorted() -- 5.2.4 Tauschen von Elementen - swap() -- 5.2.5 Reihenfolge umkehren - reverse() und reversed() -- 5.2.6 Mehrdimensionale Listen -- 5.3 Praxisbeispiel: Einen Stack selbst realisieren -- 5.3.1 Implementierung -- 5.3.2 Stack im Einsatz -- 5.4 Praxisbeispiel: Flächen füllen -- 5.5 Aufgaben und Lösungen -- 5.5.1 Aufgabe 1: Tennisverein-Mitgliederliste -- 5.5.2 Aufgabe 2: Liste mit Farbnamen füllen und filtern , 5.5.3 Aufgabe 3: Duplikate entfernen - Variante 1 -- 5.5.4 Aufgabe 4: Duplikate entfernen - Variante 2 -- 5.5.5 Aufgabe 5: Hauptstädte -- 5.5.6 Aufgabe 6: Häufigkeiten von Namen -- 5.5.7 Aufgabe 7: Objekte mit Dictionary selbst gebaut -- 5.5.8 Aufgabe 8: Rotation um eine oder mehrere Positionen -- 5.5.9 Aufgabe 9: Dreieckige Liste: Upside Down -- 6 Ergänzendes Wissen -- 6.1 Benutzereingaben input() -- 6.2 Zufallswerte und das Modul random -- 6.3 Besonderheiten von Parametern -- 6.3.1 Normale Parameter mit Position bzw. Name -- 6.3.2 Parameter mit Defaultwert -- 6.3.3 Var Args - variable Anzahl an Argumenten -- 6.4 Ternary-Operator -- 6.5 Aufzählungen mit Enum -- 6.6 break, continue und else in Schleifen -- 6.6.1 Funktionsweise von break und continue -- 6.6.2 Wie macht man es besser? -- 6.6.3 Besonderheit: else in Schleifen -- 6.7 Ausdrücke mit eval() auswerten -- 6.8 Rekursion -- 6.9 Aufgaben und Lösungen -- 6.9.1 Aufgabe 1: Würfelspiel -- 6.9.2 Aufgabe 2: Temperaturumrechnung -- 6.9.3 Aufgabe 3: Palindrom-Prüfung mit Rekursion -- 6.9.4 Aufgabe 4: Einarmiger Bandit -- II Aufstieg -- 7 Collections Advanced -- 7.1 Sequenzielle Datentypen -- 7.2 Iteratoren -- 7.3 Generatoren -- 7.4 Datencontainer mit namedtuple -- 7.5 Einstieg in Lambdas -- 7.5.1 Syntax von Lambdas -- 7.5.2 Lambdas im Einsatz mit filter(), map() und reduce() -- 7.5.3 Lambdas im Einsatz mit sort() -- 7.5.4 Lambdas im Einsatz mit groupby() -- 7.6 Aufgaben und Lösungen -- 7.6.1 Aufgabe 1: Obstkorb -- 7.6.2 Aufgabe 2: Erwachsene aus Personenliste extrahieren -- 7.6.3 Aufgabe 3: Eigene Implementierung von rindex() -- 7.6.4 Aufgabe 4: Elemente eines Dictionaries allgemeingültig filtern -- 7.6.5 Aufgabe 5: Every-N-th-Iterator -- 7.6.6 Aufgabe 6: Greeting-Generator -- 7.6.7 Aufgabe 7: Fibonacci-Generator -- 7.6.8 Aufgabe 8: Sortieren und Gruppieren -- 8 Verarbeitung von Dateien , 8.1 Schnelleinstieg -- 8.1.1 Anlegen von Dateien und Verzeichnissen -- 8.1.2 Aktuelles Verzeichnis wechseln -- 8.1.3 Aktuelles Verzeichnis und absoluten Pfad ermitteln -- 8.1.4 Inhalt eines Verzeichnisses auflisten -- 8.1.5 Pfad ist Datei oder Verzeichnis? -- 8.1.6 Auf Existenz prüfen -- 8.1.7 Informationen in Dateien schreiben und daraus lesen -- 8.1.8 Einfluss der Verarbeitungsmodi -- 8.1.9 Diverse Informationen ermitteln -- 8.1.10 Kopieren -- 8.1.11 Umbenennen -- 8.1.12 Löschen -- 8.2 Praxisbeispiel: Directory-Baum darstellen -- 8.2.1 Basisvariante -- 8.2.2 Variante mit schönerer Darstellung -- 8.2.3 Finale Variante mit ausgeklügelter Darstellung -- 8.3 JSON-Verarbeitung -- 8.3.1 JSON in eine Datei schreiben -- 8.3.2 Lesen von JSON aus einer Datei -- 8.3.3 Pretty Printing -- 8.4 Aufgaben und Lösungen -- 8.4.1 Aufgabe 1: Texte in Datei schreiben und wieder lesen -- 8.4.2 Aufgabe 2: Dateigrößen -- 8.4.3 Aufgabe 3: Existenzprüfung -- 8.4.4 Aufgabe 4: Rechteprüfung -- 8.4.5 Aufgabe 5: Verzeichnisinhalt auflisten -- 9 Fehlerbehandlung mit Exceptions -- 9.1 Schnelleinstieg -- 9.1.1 Fehlerbehandlung -- 9.1.2 Exceptions selbst auslösen - raise -- 9.1.3 Eigene Exception-Typen definieren -- 9.1.4 Propagation von Exceptions -- 9.2 Fehlerbehandlung in der Praxis -- 9.2.1 Elegante Prüfungen mit assert -- 9.3 Automatic Resource Management (with) -- 9.4 Aufgaben und Lösungen -- 9.4.1 Aufgabe 1: Abgesicherter Indexzugriff - Kür mit Fallback-Wwert -- 9.4.2 Aufgabe 2: Einfacher Taschenrechner -- 9.4.3 Aufgabe 3: Resource Handling -- 10 Datumsverarbeitung -- 10.1 Schnelleinstieg -- 10.1.1 Zeitpunkte und die Klasse datetime -- 10.1.2 Datumswerte und die Klasse date -- 10.1.3 Zeit und die Klasse time -- 10.1.4 Zeitdifferenzen und die Klasse timedelta -- 10.1.5 Berechnungen -- 10.1.6 Formatierung und Parsing -- 10.2 Praxisbeispiel: Kalenderausgabe , 10.3 Aufgaben und Lösungen -- 10.3.1 Aufgabe 1: Wochentage -- 10.3.2 Aufgabe 2: Freitag, der 13. -- 10.3.3 Aufgabe 3: Mehrmals Freitag, der 13. -- 10.3.4 Aufgabe 4: Schaltjahre -- III Praxisbeispiele -- 11 Praxisbeispiel: Tic Tac Toe -- 11.1 Spielfeld initialisieren und darstellen -- 11.2 Setzen der Steine -- 11.3 Prüfen auf Sieg -- 11.4 Bausteine im Einsatz -- 12 Praxisbeispiel: CSV-Highscore-Liste einlesen -- 12.1 Verarbeitung von Spielständen (Highscores) -- 12.2 Extraktion der Daten -- 12.3 Besonderheiten der Implementierung -- 13 Praxisbeispiel: Worträtsel -- 13.1 Applikationsdesign - Vorüberlegungen zur Strukturierung -- 13.2 Einlesen der verfügbaren Wörter -- 13.3 Hilfsdatenstrukturen -- 13.4 Datenmodell -- 13.4.1 Datenspeicherung und Initialisierung -- 13.4.2 Zufällige Wahl von Richtung, Position, Wort und Buchstabe -- 13.4.3 Algorithmus zum Verstecken von Wörtern -- 13.4.4 Wort prüfen und platzieren -- 13.5 HTML-Erzeugung -- 13.6 Ausgabe als HTML und Darstellung im Browser -- 13.7 Hauptapplikation -- 13.8 Fazit -- IV Schlussgedanken -- 14 Gute Angewohnheiten -- 14.1 Grundregeln eines guten Programmierstils -- 14.1.1 Keep It Human-Readable -- 14.1.2 Keep it Understandable -- 14.2 Coding Conventions -- 14.2.1 PEP 8 - Coding Standard -- 14.2.2 Zen of Python -- 14.2.3 Namensgebung -- 14.2.4 Dokumentation -- 14.2.5 Programmdesign -- 14.2.6 Parameterlisten -- 14.2.7 Logik und Kontrollfluss -- 14.3 Auch ans Testen denken -- 14.3.1 Das Pytest-Framework -- 14.3.2 Schreiben und Ausführen von Tests -- 15 Schlusswort -- V Anhang -- A Schlüsselwörter im Überblick -- A.1 Schlüsselwörter im Überblick -- B Schnelleinstieg Python-REPL -- B.1 Python-REPL -- C Wesentliche Neuerungen aus Python 3.10 im Kurzüberblick -- C.1 Fehlermeldungen -- C.1.1 Fehlermeldungen bei Zuweisungen -- C.1.2 Fehlermeldungen bei unvollständigen Strings , C.2 Fallunterscheidungen mit match
    Additional Edition: Print version: Inden, Michael Einfach Python Heidelberg : dpunkt.verlag,c2021 ISBN 9783864908750
    Keywords: Electronic books.
    Library Location Call Number Volume/Issue/Year Availability
    BibTip Others were also interested in ...
  • 4
    UID:
    kobvindex_ERBEBC6192692
    Format: 1 online resource (370 pages)
    ISBN: 9783960889786
    Series Statement: Programmieren mit Java
    Note: Intro -- 1 Einleitung -- I Neuerungen in Java 9 bis 11 -- 2 Syntaxerweiterungen in JDK 9 bis 11 -- 2.1 Anonyme innere Klassen und der Diamond Operator -- 2.2 Erweiterung der @Deprecated-Annotation -- 2.3 Private Methoden in Interfaces -- 2.4 Verbotener Bezeichner '_' -- 2.5 Syntaxerweiterung var (JDK 10 und 11) -- 3 Neues und Änderungen in JDK 9 -- 3.1 Neue und erweiterte APIs -- 3.1.1 Das neue Process-API -- 3.1.2 Collection-Factory-Methoden -- 3.1.3 Reactive Streams und die Klasse Flow -- 3.1.4 Erweiterungen in der Klasse InputStream -- 3.1.5 Erweiterungen rund um die Klasse Optional< -- T> -- -- 3.1.6 Erweiterungen im Stream-API -- 3.1.7 Neue Kollektoren im Stream-API -- 3.1.8 Erweiterungen in der Datumsverarbeitung -- 3.1.9 Erweiterungen in der Klasse Arrays -- 3.1.10 Erweiterungen in der Klasse Objects -- 3.1.11 Erweiterungen in der Klasse CompletableFuture< -- T> -- -- 3.2 Sonstige Änderungen -- 3.2.1 Optimierung bei Strings -- 3.2.2 Deprecation diverser Typen und Methoden im JDK -- 4 Neues und Änderungen in Java 10 -- 4.1 Neue und erweiterte APIs -- 4.1.1 Unveränderliche Kopien von Collections -- 4.1.2 Immutable Collections aus Streams erzeugen -- 4.1.3 Erweiterung in der Klasse Optional< -- T> -- -- 4.1.4 Modifikationen in der Versionierung -- 4.1.5 Erweiterung in Reader -- 5 Neues und Änderungen in Java 11 -- 5.1 Neue und erweiterte APIs -- 5.1.1 Hilfsmethoden in der Klasse String -- 5.1.2 Hilfsmethoden in der Utility-Klasse Files -- 5.1.3 Erweiterung in der Klasse Optional< -- T> -- -- 5.1.4 Erweiterung im Interface Predicate< -- T> -- -- 5.1.5 HTTP/2-API -- 5.2 Deprecations und Entfernungen im JDK -- 5.2.1 Aufräumarbeiten in der Klasse Thread -- 5.2.2 Deprecation der JavaScript-Unterstützung -- 5.2.3 Ausgliederung von JavaFX -- 5.2.4 Ausgliederung von Java EE und CORBA -- 6 JVM-Änderungen in JDK 9 bis 11 , 6.1 Änderung des Versionsschemas -- 6.2 Java + REPL => -- jshell -- 6.3 HTML5 Javadoc -- 6.4 Epsilon Garbage Collector (JDK 11) -- 6.5 Launch Single-File Source-Code Programs (JDK 11) -- 7 Übungen zu den Neuerungen in JDK 9 bis 11 -- II Neuerungen in Java 12 bis 14 -- 8 Neues und Änderungen in Java 12 -- 8.1 Microbenchmark Suite -- 8.1.1 Eigene Microbenchmarks und Varianten davon -- 8.1.2 Microbenchmarks mit JMH -- 8.1.3 Fazit zu JMH -- 8.2 API-Neuerungen -- 8.2.1 Neue Methoden in der Klasse String -- 8.2.2 Neue Utility-Klasse CompactNumberFormat -- 8.2.3 Neue Hilfsmethode in der Utility-Klasse Files -- 8.2.4 Der teeing()-Kollektor -- 9 Neues und Änderungen in Java 13 und 14 -- 9.1 Switch Expressions -- 9.1.1 Einführendes Beispiel -- 9.1.2 Weitere Gründe für die Neuerung -- 9.1.3 yield mit Rückgabewert -- 9.2 Verbesserung bei NullPointerExceptions -- 9.3 Preview-Features -- 9.3.1 Text Blocks -- 9.3.2 Records -- 9.3.3 Pattern Matching bei instanceof -- 9.4 Java 14 - notwendige Anpassungen für Build-Tools und IDEs -- 9.4.1 Java 14 mit Gradle -- 9.4.2 Java 14 mit Maven -- 9.4.3 Java 14 mit Eclipse -- 9.4.4 Java 14 mit IntelliJ -- 9.4.5 Java 14 mit JShell oder der Kommandozeile -- 9.5 Fazit -- 10 Übungen zu den Neuerungen in JDK 12 bis 14 -- III Modularisierung -- 11 Modularisierung mit Project Jigsaw -- 11.1 Grundlagen -- 11.1.1 Bisherige Varianten der Modularisierung -- 11.1.2 Warum Modularisierung wünschenswert ist -- 11.2 Modularisierung im Überblick -- 11.2.1 Grundlagen zu Project Jigsaw -- 11.2.2 Einführendes Beispiel mit zwei Modulen -- 11.2.3 Packaging -- 11.2.4 Linking -- 11.2.5 Abhängigkeiten und Modulgraphen -- 11.2.6 Module des JDKs einbinden -- 11.2.7 Arten von Modulen -- 11.3 Sichtbarkeiten und Zugriffsschutz -- 11.3.1 Sichtbarkeiten -- 11.3.2 Zugriffsschutz an Beispielen -- 11.3.3 Transitive Abhängigkeiten (Implied Readability) , 11.4 Zusammenfassung -- 12 Weiterführende Themen zur Modularisierung -- 12.1 Empfehlenswertes Verzeichnislayout für Module -- 12.2 Modularisierung und Services -- 12.2.1 Begrifflichkeiten: API, SPI und Service Provider -- 12.2.2 Service-Ansatz in Java seit JDK 6 -- 12.2.3 Services im Bereich der Modularisierung -- 12.2.4 Definition eines Service Interface -- 12.2.5 Realisierung eines Service Provider -- 12.2.6 Realisierung eines Service Consumer -- 12.2.7 Kontrolle der Abhängigkeiten -- 12.2.8 Fazit -- 12.3 Modularisierung und Reflection -- 12.3.1 Verarbeitung von Modulen mit Reflection -- 12.3.2 Tool zur Ermittlung von Modulen zu Klassen -- 12.3.3 Besonderheiten bei Reflection -- 12.4 Kompatibilität und Migration -- 12.4.1 Kompatibilitätsmodus -- 12.4.2 Migrationsszenarien -- 12.4.3 Fallstrick bei der Bottom-up-Migration -- 12.4.4 Beispiel: Migration mit Automatic Modules -- 12.4.5 Beispiel: Automatic und Unnamed Module -- 12.4.6 Beispiel: Abwandlung mit zwei Automatic Modules -- 12.4.7 Fazit -- 12.5 Build-Management für modularisierte Applikationen -- 12.5.1 Gradle -- 12.5.2 Maven -- 12.5.3 Eclipse -- 12.5.4 IntelliJ IDEA -- 12.5.5 Fazit -- 13 Übungen zur Modularisierung -- IV Schlussgedanken -- 14 Zusammenfassung -- V Anhang -- A Schnelleinstieg in Java 8 -- A.1 Einstieg in Lambdas -- A.1.1 Lambdas am Beispiel -- A.1.2 Functional Interfaces und SAM-Typen -- A.1.3 Type Inference und Kurzformen der Syntax -- A.1.4 Methodenreferenzen -- A.2 Streams im Überblick -- A.2.1 Streams erzeugen - Create Operations -- A.2.2 Intermediate und Terminal Operations im Überblick -- A.2.3 Zustandslose Intermediate Operations -- A.2.4 Zustandsbehaftete Intermediate Operations -- A.2.5 Terminal Operations -- A.3 Neuerungen in der Datumsverarbeitung -- A.3.1 Die Klasse Instant -- A.3.2 Die Klassen LocalDate, LocalTime und LocalDateTime -- A.3.3 Die Klasse Duration , A.3.4 Die Klasse Period -- A.3.5 Datumsarithmetik mit TemporalAdjusters -- A.4 Diverse Erweiterungen -- A.4.1 Erweiterungen im Interface Comparator< -- T> -- -- A.4.2 Die Klasse Optional< -- T> -- -- A.4.3 Die Klasse CompletableFuture< -- T> -- -- B Einführung Gradle -- B.1 Projektstruktur für Maven und Gradle -- B.2 Builds mit Gradle -- C Einführung Maven -- C.1 Maven im Überblick -- C.2 Maven am Beispiel -- Literaturverzeichnis -- Index
    Additional Edition: Print version: Inden, Michael Java – die Neuerungen in Version 9 bis 14 Heidelberg : dpunkt.verlag,c2020 ISBN 9783864907548
    Keywords: Electronic books.
    Library Location Call Number Volume/Issue/Year Availability
    BibTip Others were also interested in ...
  • 5
    UID:
    kobvindex_ERBEBC6474815
    Format: 1 online resource (525 pages)
    ISBN: 9783969101407
    Series Statement: Programmieren mit Python
    Note: Intro -- 1 Einleitung -- 1.1 Aufbau der Kapitel -- 1.2 Grundgerüst des PyCharm-Projekts -- 1.3 Grundgerüst für die Unit Tests mit PyTest -- 1.4 Anmerkung zum Programmierstil -- 1.5 Anmerkung zu den Aufgaben -- 1.6 Ausprobieren der Beispiele und Lösungen -- I Grundlagen -- 2 Mathematische Aufgaben -- 2.1 Einführung -- 2.1.1 Römische Zahlen -- 2.1.2 Zahlenspielereien -- 2.2 Aufgaben -- 2.2.1 Aufgabe 1: Grundrechenarten (.....) -- 2.2.2 Aufgabe 2: Zahl als Text (.....) -- 2.2.3 Aufgabe 3: Vollkommene Zahlen (.....) -- 2.2.4 Aufgabe 4: Primzahlen (.....) -- 2.2.5 Aufgabe 5: Primzahlpaare (.....) -- 2.2.6 Aufgabe 6: Prüfsumme (.....) -- 2.2.7 Aufgabe 7: Römische Zahlen (.....) -- 2.2.8 Aufgabe 8: Kombinatorik (.....) -- 2.2.9 Aufgabe 9: Armstrong-Zahlen (.....) -- 2.2.10 Aufgabe 10: Max Change Calculator (.....) -- 2.2.11 Aufgabe 11: Befreundete Zahlen (.....) -- 2.2.12 Aufgabe 12: Primfaktorzerlegung (.....) -- 2.3 Lösungen -- 2.3.1 Lösung 1: Grundrechenarten (.....) -- 2.3.2 Lösung 2: Zahl als Text (.....) -- 2.3.3 Lösung 3: Vollkommene Zahlen (.....) -- 2.3.4 Lösung 4: Primzahlen (.....) -- 2.3.5 Lösung 5: Primzahlpaare (.....) -- 2.3.6 Lösung 6: Prüfsumme (.....) -- 2.3.7 Lösung 7: Römische Zahlen (.....) -- 2.3.8 Lösung 8: Kombinatorik (.....) -- 2.3.9 Lösung 9: Armstrong-Zahlen (.....) -- 2.3.10 Lösung 10: Max Change Calculator (.....) -- 2.3.11 Lösung 11: Befreundete Zahlen (.....) -- 2.3.12 Lösung 12: Primfaktorzerlegung (.....) -- 3 Rekursion -- 3.1 Einführung -- 3.1.1 Mathematische Beispiele -- 3.1.2 Algorithmische Beispiele -- 3.1.3 Typische Probleme: Endlose Aufrufe und RecursionError -- 3.2 Aufgaben -- 3.2.1 Aufgabe 1: Fibonacci (.....) -- 3.2.2 Aufgabe 2: Ziffern verarbeiten (.....) -- 3.2.3 Aufgabe 3: ggT / GCD (.....) -- 3.2.4 Aufgabe 4: Reverse String (.....) -- 3.2.5 Aufgabe 5: Array Sum (.....) -- 3.2.6 Aufgabe 6: Array Min (.....) , 3.2.7 Aufgabe 7: Konvertierungen (.....) -- 3.2.8 Aufgabe 8: Exponentialfunktion (.....) -- 3.2.9 Aufgabe 9: Pascal'sches Dreieck (.....) -- 3.2.10 Aufgabe 10: Zahlenpalindrome (.....) -- 3.2.11 Aufgabe 11: Permutationen (.....) -- 3.2.12 Aufgabe 12: Count Substrings (.....) -- 3.2.13 Aufgabe 13: Lineal (.....) -- 3.3 Lösungen -- 3.3.1 Lösung 1: Fibonacci (.....) -- 3.3.2 Lösung 2: Ziffern verarbeiten (.....) -- 3.3.3 Lösung 3: ggT / GCD (.....) -- 3.3.4 Lösung 4: Reverse String (.....) -- 3.3.5 Lösung 5: Array Sum (.....) -- 3.3.6 Lösung 6: Array Min (.....) -- 3.3.7 Lösung 7: Konvertierungen (.....) -- 3.3.8 Lösung 8: Exponentialfunktion (.....) -- 3.3.9 Lösung 9: Pascal'sches Dreieck (.....) -- 3.3.10 Lösung 10: Zahlenpalindrome (.....) -- 3.3.11 Lösung 11: Permutationen (.....) -- 3.3.12 Lösung 12: Count Substrings (.....) -- 3.3.13 Lösung 13: Lineal (.....) -- 4 Strings -- 4.1 Einführung -- 4.2 Aufgaben -- 4.2.1 Aufgabe 1: Zahlenumwandlungen (.....) -- 4.2.2 Aufgabe 2: Joiner (.....) -- 4.2.3 Aufgabe 3: Reverse String (.....) -- 4.2.4 Aufgabe 4: Palindrom (.....) -- 4.2.5 Aufgabe 5: No Duplicate Chars (.....) -- 4.2.6 Aufgabe 6: Doppelte Buchstaben entfernen (.....) -- 4.2.7 Aufgabe 7: Capitalize (.....) -- 4.2.8 Aufgabe 8: Rotation (.....) -- 4.2.9 Aufgabe 9: Wohlgeformte Klammern (.....) -- 4.2.10 Aufgabe 10: Anagramm (.....) -- 4.2.11 Aufgabe 11: Morse Code (.....) -- 4.2.12 Aufgabe 12: Pattern Checker (.....) -- 4.2.13 Aufgabe 13: Tennis-Punktestand (.....) -- 4.2.14 Aufgabe 14: Versionsnummern (.....) -- 4.2.15 Aufgabe 15: Konvertierung str_to_number (.....) -- 4.2.16 Aufgabe 16: Print Tower (.....) -- 4.2.17 Aufgabe 17: Gefüllter Rahmen (.....) -- 4.2.18 Aufgabe 18: Vokale raten (.....) -- 4.3 Lösungen -- 4.3.1 Lösung 1: Zahlenumwandlungen (.....) -- 4.3.2 Lösung 2: Joiner (.....) -- 4.3.3 Lösung 3: Reverse String (.....) , 4.3.4 Lösung 4: Palindrom (.....) -- 4.3.5 Lösung 5: No Duplicate Chars (.....) -- 4.3.6 Lösung 6: Doppelte Buchstaben entfernen (.....) -- 4.3.7 Lösung 7: Capitalize (.....) -- 4.3.8 Lösung 8: Rotation (.....) -- 4.3.9 Lösung 9: Wohlgeformte Klammern (.....) -- 4.3.10 Lösung 10: Anagramm (.....) -- 4.3.11 Lösung 11: Morse Code (.....) -- 4.3.12 Lösung 12: Pattern Checker (.....) -- 4.3.13 Lösung 13: Tennis-Punktestand (.....) -- 4.3.14 Lösung 14: Versionsnummern (.....) -- 4.3.15 Lösung 15: Konvertierung str_to_number (.....) -- 4.3.16 Lösung 16: Print Tower (.....) -- 4.3.17 Lösung 17: Gefüllter Rahmen (.....) -- 4.3.18 Lösung 18: Vokale raten (.....) -- 5 Basisdatenstrukturen: Listen, Sets und Dictionaries -- 5.1 Einführung -- 5.1.1 Sequenzielle Datentypen -- 5.1.2 Listen -- 5.1.3 Mengen (Sets) -- 5.1.4 Schlüssel-Wert-Abbildungen (Dictionaries) -- 5.1.5 Der Stack als LIFO-Datenstruktur -- 5.1.6 Die Queue als FIFO-Datenstruktur -- 5.2 Aufgaben -- 5.2.1 Aufgabe 1: Gemeinsame Elemente (.....) -- 5.2.2 Aufgabe 2: Eigener Stack (.....) -- 5.2.3 Aufgabe 3: List Reverse (.....) -- 5.2.4 Aufgabe 4: Duplikate entfernen (.....) -- 5.2.5 Aufgabe 5: Maximaler Gewinn (.....) -- 5.2.6 Aufgabe 6: Längstes Teilstück (.....) -- 5.2.7 Aufgabe 7: Wohlgeformte Klammern (.....) -- 5.2.8 Aufgabe 8: Pascal'sches Dreieck (.....) -- 5.2.9 Aufgabe 9: Check Magic Triangle (.....) -- 5.2.10 Aufgabe 10: Häufigste Elemente (.....) -- 5.2.11 Aufgabe 11: Addition von Ziffern (.....) -- 5.2.12 Aufgabe 12: List Merge (.....) -- 5.2.13 Aufgabe 13: Excel Magic Select (.....) -- 5.2.14 Aufgabe 14: Stack Based Queue (.....) -- 5.3 Lösungen -- 5.3.1 Lösung 1: Gemeinsame Elemente (.....) -- 5.3.2 Lösung 2: Eigener Stack (.....) -- 5.3.3 Lösung 3: List Reverse (.....) -- 5.3.4 Lösung 4: Duplikate entfernen (.....) -- 5.3.5 Lösung 5: Maximaler Gewinn (.....) , 5.3.6 Lösung 6: Längstes Teilstück (.....) -- 5.3.7 Lösung 7: Wohlgeformte Klammern (.....) -- 5.3.8 Lösung 8: Pascal'sches Dreieck (.....) -- 5.3.9 Lösung 9: Check Magic Triangle (.....) -- 5.3.10 Lösung 10: Häufigste Elemente (.....) -- 5.3.11 Lösung 11: Addition von Ziffern (.....) -- 5.3.12 Lösung 12: List Merge (.....) -- 5.3.13 Lösung 13: Excel Magic Select (.....) -- 5.3.14 Lösung 14: Stack Based Queue (.....) -- 6 Arrays -- 6.1 Einführung -- 6.1.1 Eindimensionale Arrays -- 6.1.2 Mehrdimensionale Arrays -- 6.1.3 Typische Fehler -- 6.1.4 Besonderheiten -- 6.1.5 Rekapitulation: NumPy -- 6.2 Aufgaben -- 6.2.1 Aufgabe 1: Gerade vor ungeraden Zahlen (.....) -- 6.2.2 Aufgabe 2: Flip (.....) -- 6.2.3 Aufgabe 3: Palindrom (.....) -- 6.2.4 Aufgabe 4: Inplace Rotate (.....) -- 6.2.5 Aufgabe 5: Jewels Board Init (.....) -- 6.2.6 Aufgabe 6: Jewels Board Erase Diamonds (.....) -- 6.2.7 Aufgabe 7: Spiral-Traversal (.....) -- 6.2.8 Aufgabe 8: Add One to Array As Number (.....) -- 6.2.9 Aufgabe 9: Sudoku-Checker (.....) -- 6.2.10 Aufgabe 10: Flood-Fill (.....) -- 6.2.11 Aufgabe 11: Array Min und Max (.....) -- 6.2.12 Aufgabe 12: Array Split (.....) -- 6.2.13 Aufgabe 13: Minesweeper Board (.....) -- 6.3 Lösungen -- 6.3.1 Lösung 1: Gerade vor ungeraden Zahlen (.....) -- 6.3.2 Lösung 2: Flip (.....) -- 6.3.3 Lösung 3: Palindrom (.....) -- 6.3.4 Lösung 4: Inplace Rotate (.....) -- 6.3.5 Lösung 5: Jewels Board Init (.....) -- 6.3.6 Lösung 6: Jewels Board Erase Diamonds (.....) -- 6.3.7 Lösung 7: Spiral-Traversal (.....) -- 6.3.8 Lösung 8: Add One to Array As Number (.....) -- 6.3.9 Lösung 9: Sudoku-Checker (.....) -- 6.3.10 Lösung 10: Flood-Fill (.....) -- 6.3.11 Lösung 11: Array Min und Max (.....) -- 6.3.12 Lösung 12: Array Split (.....) -- 6.3.13 Lösung 13: Minesweeper Board (.....) -- II Fortgeschrittenere und kniffligere Themen -- 7 Rekursion Advanced , 7.1 Memoization -- 7.1.1 Memoization für Fibonacci-Zahlen -- 7.1.2 Memoization für Pascal'sches Dreieck -- 7.1.3 Memoization mit Python-Bordmitteln -- 7.2 Backtracking -- 7.2.1 n-Damen-Problem -- 7.3 Aufgaben -- 7.3.1 Aufgabe 1: Türme von Hanoi (.....) -- 7.3.2 Aufgabe 2: Edit Distance (.....) -- 7.3.3 Aufgabe 3: Longest Common Subsequence (.....) -- 7.3.4 Aufgabe 4: Weg aus Labyrinth (.....) -- 7.3.5 Aufgabe 5: Sudoku-Solver (.....) -- 7.3.6 Aufgabe 6: Math Operator Checker (.....) -- 7.3.7 Aufgabe 7: Wassereimer-Problem (.....) -- 7.3.8 Aufgabe 8: Alle Palindrom-Teilstrings (.....) -- 7.3.9 Aufgabe 9: n-Damen-Problem (.....) -- 7.4 Lösungen -- 7.4.1 Lösung 1: Türme von Hanoi (.....) -- 7.4.2 Lösung 2: Edit Distance (.....) -- 7.4.3 Lösung 3: Longest Common Subsequence (.....) -- 7.4.4 Lösung 4: Weg aus Labyrinth (.....) -- 7.4.5 Lösung 5: Sudoku-Solver (.....) -- 7.4.6 Lösung 6: Math Operator Checker (.....) -- 7.4.7 Lösung 7: Wassereimer-Problem (.....) -- 7.4.8 Lösung 8: Alle Palindrom-Teilstrings (.....) -- 7.4.9 Lösung 9: n-Damen-Problem (.....) -- 8 Binärbäume -- 8.1 Einführung -- 8.1.1 Aufbau, Begrifflichkeiten und Anwendungsbeispiele -- 8.1.2 Binärbäume -- 8.1.3 Binärbäume mit Ordnung: binäre Suchbäume -- 8.1.4 Traversierungen -- 8.1.5 Balancierte Bäume und weitere Eigenschaften -- 8.1.6 Bäume für die Beispiele und Übungsaufgaben -- 8.2 Aufgaben -- 8.2.1 Aufgabe 1: Tree Traversal (.....) -- 8.2.2 Aufgabe 2: In-, Pre- und Postorder iterativ (.....) -- 8.2.3 Aufgabe 3: Tree-Höhe berechnen (.....) -- 8.2.4 Aufgabe 4: Kleinster gemeinsamer Vorfahre (.....) -- 8.2.5 Aufgabe 5: Breadth-First (.....) -- 8.2.6 Aufgabe 6: Level Sum (.....) -- 8.2.7 Aufgabe 7: Tree Rotate (.....) -- 8.2.8 Aufgabe 8: Rekonstruktion (.....) -- 8.2.9 Aufgabe 9: Math Evaluation (.....) -- 8.2.10 Aufgabe 10: Symmetrie (.....) , 8.2.11 Aufgabe 11: Check Binary Search Tree (.....)
    Additional Edition: Print version: Inden, Michael Python Challenge Heidelberg : dpunkt.verlag,c2021 ISBN 9783864908095
    Keywords: Electronic books.
    Library Location Call Number Volume/Issue/Year Availability
    BibTip Others were also interested in ...
  • 6
    Online Resource
    Online Resource
    Heidelberg : dpunkt.verlag
    UID:
    kobvindex_ERBEBC7085367
    Format: 1 online resource (335 pages)
    ISBN: 9783969108369
    Series Statement: Programmieren mit Java
    Additional Edition: Print version: Inden, Michael Java – die Neuerungen in Version 17 LTS, 18 und 19 Heidelberg : dpunkt.verlag,c2022 ISBN 9783864909023
    Keywords: Electronic books.
    Library Location Call Number Volume/Issue/Year Availability
    BibTip Others were also interested in ...
  • 7
    Online Resource
    Online Resource
    Heidelberg : o'Reilly
    UID:
    kobvindex_ERBEBC7244415
    Format: 1 online resource (320 pages)
    ISBN: 9783960107200
    Note: Intro -- Inhaltsverzeichnis -- Vorwort -- I Einstieg -- Einführung -- Python im Überblick -- Los geht's - Installation -- Python-Download -- Installation von Python -- Nacharbeiten nach der Installation -- Python-Installation prüfen -- Python-Programm als Skript ausführen -- Entwicklungsumgebungen -- Installation von PyCharm -- PyCharm starten -- Erstes Projekt in PyCharm -- Erstes Modul in PyCharm -- Schnelleinstieg -- Hallo Welt (Hello World) -- Variablen und Datentypen -- Definition von Variablen -- Variablen und Typen -- Ausgaben mit print() -- Bezeichner (Variablennamen) -- Operatoren im Überblick -- Arithmetische Operatoren -- Zuweisungsoperatoren -- Vergleichsoperatoren -- Logische Operatoren -- Fallunterscheidungen -- Funktionen -- Eigene Funktionen definieren -- Nützliche Beispiele aus Python -- Fehlerbehandlung und Exceptions -- Kommentare -- Module -- Imports - Einbinden anderer Funktionalitäten -- Zusammenfassung und Ergänzendes -- Built-in-Datentypen -- Listen (list) -- Tupel (tuple) -- Mengen (set) -- Dictionaries (dict) -- Schleifen -- Besonderheit: Ranges -- Indexbasierte for-in-Schleife -- Wertebasierte for-in-Schleife -- Die for-in-enumerate-Schleife mit Index und Wert -- Die while-Schleife -- Weiterführende Informationen -- Strings -- Schnelleinstieg -- Gebräuchliche Stringaktionen -- Suchen und Ersetzen -- Informationen extrahieren und formatieren -- Praxisrelevante Funktionen im Kurzüberblick -- Nächste Schritte -- Zeichenverarbeitung -- Strings und Listen -- Mehrzeilige Strings -- Klassen und Objektorientierung -- Schnelleinstieg -- Grundlagen zu Klassen und Objekten -- Eigenschaften (Attribute) -- Verhalten (Methoden) -- Typprüfung mit isinstance() -- Objekte vergleichen - die Rolle von __eq__() -- Nächste Schritte -- Klassen ausführbar machen -- Imports und Packages -- Übergang zum Einsatz einer IDE , Verstecken von Informationen -- Packages: Auswirkungen auf unsere Applikation -- Vererbung -- Collections -- Schnelleinstieg -- Die Klasse list -- Die Klasse set -- Die Klasse dict -- Nächste Schritte -- Comprehensions -- Slicing - Zugriff auf Teilbereiche von Listen -- Sortierung - sort() / sorted() -- Tauschen von Elementen - swap() -- Reihenfolge umkehren - reverse() und reversed() -- Mehrdimensionale Listen -- Ergänzendes Wissen -- Benutzereingaben input() -- Zufallswerte und das Modul random -- Besonderheiten von Parametern -- Parameter mit Position bzw. Name -- Parameter mit Defaultwert -- Var Args - variable Anzahl an Argumenten -- Ternary-Operator -- Aufzählungen mit Enum -- Fallunterscheidungen mit match -- break, continue und else in Schleifen -- Funktionsweise von break und continue -- Wie macht man es besser? -- Besonderheit: else in Schleifen -- Ausdrücke mit eval() auswerten -- Rekursion -- Einführendes Beispiel -- Weiterführendes Beispiel: Fibonacci-Zahlen -- Praxisbeispiel: Flächen füllen -- II Aufstieg -- Collections Advanced -- Sequenzielle Datentypen -- Iteratoren -- Generatoren -- Datencontainer mit namedtuple -- Einstieg in Lambdas -- Syntax von Lambdas -- Lambdas im Einsatz mit filter() und map() -- Lambdas im Einsatz mit sort() -- Verarbeitung von Dateien -- Schnelleinstieg -- Anlegen von Dateien und Verzeichnissen -- Aktuelles Verzeichnis wechseln -- Aktuelles Verzeichnis und absoluten Pfad ermitteln -- Inhalt eines Verzeichnisses auflisten -- Pfad ist Datei oder Verzeichnis? -- Auf Existenz prüfen -- Informationen in Dateien schreiben und daraus lesen -- Einfluss der Verarbeitungsmodi -- Diverse Informationen ermitteln -- Kopieren -- Umbenennen -- Löschen -- JSON-Verarbeitung -- JSON in eine Datei schreiben -- Lesen von JSON aus einer Datei -- Pretty Printing -- Fehlerbehandlung mit Exceptions -- Schnelleinstieg , Fehlerbehandlung -- Exceptions selbst auslösen - raise -- Eigene Exception-Typen definieren -- Propagation von Exceptions -- Fehlerbehandlung in der Praxis -- Elegante Prüfungen mit assert -- Automatic Resource Management (with) -- Datumsverarbeitung -- Schnelleinstieg -- Zeitpunkte und die Klasse datetime -- Datumswerte und die Klasse date -- Zeit und die Klasse time -- Zeitdifferenzen und die Klasse timedelta -- Berechnungen mit Datumswerten -- Formatierung und Parsing -- III Anhang -- Schlüsselwörter im Überblick -- Schnelleinstieg Python-REPL -- Literaturverzeichnis -- Index
    Additional Edition: Print version: Inden, Michael Python lernen – kurz & gut Heidelberg : o'Reilly,c2023 ISBN 9783960092032
    Keywords: Electronic books.
    Library Location Call Number Volume/Issue/Year Availability
    BibTip Others were also interested in ...
Close ⊗
This website uses cookies and the analysis tool Matomo. Further information can be found on the KOBV privacy pages