Computer und IT
Deine SAP-Karriere
Du möchtest professionell in die SAP-Welt einsteigen? Du fragst dich, was man als Berater oder ABAP-Entwicklerin mitbringen muss? Dann ist dieses Buch genau das richtige für dich! Das Autorenteam erklärt, was das Besondere bei der SAP-Beratung ist, und führt dich in die wichtigsten Arbeitsbereiche im SAP-Umfeld ein. Damit steht deiner SAP-Karriere nichts mehr im Weg! Aus dem Inhalt: Nutzen und Einsatzgebiete der SAP-SoftwareSAP-Beratung als Spielart der IT-BeratungSAP-Prozessberatung: Finanzen und LogistikArbeitsumfeld SAP-BasisadministrationSAP-Entwicklung: ABAP und SAPUI5SAP-Projektmanagement: klassisch vs. agilSoft-Skills entwickelnTipps und Tricks für Einstieg und AufstiegEntwicklungsmöglichkeiten erkennen und umsetzenBerufswechsel und QuereinstiegSelbstständig, angestellt oder …? Einleitung ... 13 1. Deine SAP-Grundausbildung ... 21 1.1 ... Das Produktportfolio von SAP ... 23 1.2 ... Cloud- vs. On-Premise-Lösungen ... 43 1.3 ... Grundlagenwissen zu ERP-Systemen ... 51 1.4 ... Branchenlösungen ... 59 1.5 ... Zusammenfassung ... 63 2. Aufgaben und Anforderungen der SAP-Beratung ... 65 2.1 ... IT-Beratung in der Wirtschaft ... 65 2.2 ... Die Beratungsgrundausstattung ... 67 2.3 ... Der Arbeitsmarkt ... 93 2.4 ... Zusammenfassung ... 99 3. Dein Einstieg in die SAP-Prozessberatung ... 101 3.1 ... Customizing ... 103 3.2 ... Organisationsebenen im SAP-System ... 105 3.3 ... Prozessberatung im Vertrieb ... 107 3.4 ... Prozessberatung in der Materialwirtschaft und Beschaffung ... 119 3.5 ... Prozessberatung in der Produktion ... 134 3.6 ... Prozessberatung in der Instandhaltung ... 146 3.7 ... Prozessberatung in der Finanzbuchhaltung ... 148 3.8 ... Prozessberatung im Controlling ... 151 3.9 ... Zusammenfassung ... 157 4. End-to-End-Prozesse im SAP-System ... 159 4.1 ... Der Nutzen von End-to-End-Prozessen ... 160 4.2 ... Procure-to-Pay ... 163 4.3 ... Plan-to-Produce ... 166 4.4 ... Order-to-Cash ... 170 4.5 ... Weitere End-to-End-Prozesse ... 173 4.6 ... Zusammenfassung ... 176 5. Die Arbeit in der SAP-Programmierung ... 177 5.1 ... Das nötige Werkzeug ... 179 5.2 ... Dreisystemlandschaft und Transportschiene ... 200 5.3 ... Daten und Datenmodelle ... 206 5.4 ... Modularisierung ... 212 5.5 ... Lern- und Übungsangebot für den Einstieg in die SAP-Programmierung ... 218 5.6 ... Zusammenfassung ... 221 6. Aufgaben der SAP-Basis- und -Technologieberatung ... 223 6.1 ... Grundlagen der SAP-Basis-Administration ... 224 6.2 ... Housekeeping und Monitoring (tägliche Aufgaben) ... 229 6.3 ... Wartungsarbeiten (sporadische Aufgaben) ... 239 6.4 ... Zusammenfassung ... 243 7. Herausforderungen des Projektmanagements ... 245 7.1 ... Von kleinen Programmierprojekten zu großen ERP-Implementierungen ... 246 7.2 ... Klassisches vs. agiles Projektmanagement ... 247 7.3 ... Zusammenfassung ... 255 8. Abläufe im SAP-Support ... 257 8.1 ... Arbeitsteilung im SAP-Support ... 258 8.2 ... Tickets ... 262 8.3 ... Priorität und Impact ... 265 8.4 ... Service Level Agreements ... 266 8.5 ... Ticketsystem ... 270 8.6 ... Typische Support-Fälle ... 272 8.7 ... Zusammenfassung ... 280 9. Erstelle Deinen Karriereentwicklungsplan! ... 283 9.1 ... Deine Karriereoptionen in der SAP-Beratung ... 284 9.2 ... Karriereentwicklung und eigene Stärken ... 288 9.3 ... Deinen Karriereentwicklungsplanung entwickeln ... 299 9.4 ... Deine eigene Marke ... 316 9.5 ... Karrierewechsel und Quereinstieg ... 319 9.6 ... Zusammenfassung ... 322 10. Erfahrungsberichte ... 325 10.1 ... Hendrik Haas - Head of Cloud Success Services SAP Deutschland SE & Co. KG ... 325 10.2 ... Frank Lütjering - Bereichsleiter SAP Consulting & Solutions bei GOD mbH ... 330 10.3 ... Gerlinde Zibulski - Chief Development Architect für Security bei SAP SE ... 337 10.4 ... Cecile Franz - Senior Business & Integration Arch Analyst bei Accenture Technology Solutions GmbH ... 340 10.5 ... Andreas Restlé - Managing Consultant bei Indico Solutions GmbH ... 347 10.6 ... René Preß - Business Process Consultant Integrations bei Ottobock SE & Co. KGaA ... 349 10.7 ... Dr. Lothar Schwarz - selbstständiger SAP-Berater und -Trainer ... 354 10.8 ... Zusammenfassung ... 368 11. Essentials ... 369 11.1 ... Jobbeschreibung »SAP-Berater*in« ... 369 11.2 ... Vor- und Nachteile des Jobs ... 370 11.3 ... Das macht eine*n SAP-Berater*in wertvoll ... 371 11.4 ... Mögliche Aufgabengebiete in der SAP-Beratung ... 372 11.5 ... Beratung ohne Erfahrung - geht das? ... 373 11.6 ... So wird etwas aus Dir! ... 375 11.7 ... Die drei Ebenen des Jobs ... 376 11.8 ... Zusammenfassung ... 378 Das Autorenteam ... 381 Index ... 383
Verfügbarkeitsprüfung mit SAP
Bestandstransparenz, Liefertreue und die Optimierung von Durchlaufzeiten sind zentrale Wettbewerbsvorteile – besonders in globalen Lieferketten! Dieses Buch führt Sie sachkundig in die verschiedenen SAP-Lösungen für die Verfügbarkeitsprüfung (ATP) ein und erklärt deren Funktionen, Konfiguration und Integration. Neben den bewährten Lösungen von SAP ERP und SAP APO lernen Sie die neue erweiterte Verfügbarkeitsprüfung (aATP) in SAP S/4HANA kennen. Sie erfahren, wie Sie Produktion, Beschaffung und Vertrieb nahtlos steuern und so die Planungssicherheit erhöhen. Aus dem Inhalt: RückstandsbearbeitungFehlteilemanagementATP-VerfügbarkeitsprüfungBasismethoden und erweiterte OptionenRegelbasierte VerfügbarkeitsprüfungStreckenabwicklungVerfügbarkeitsprüfung gegen ProduktionRundung und SicherheitsbeständeBesonderheiten in SAP APOProduktverfügbarkeit (PAC)KontingentierungAlternativen-basierte Bestätigung (ABC) Einleitung ... 19 TEIL I. Grundlagen der Verfügbarkeitsprüfung mit SAP ... 29 1. Betriebswirtschaftlicher Hintergrund ... 31 1.1 ... Dispositionsstrategien ... 33 1.2 ... Verfügbarkeitsprüfung im Unternehmen ... 36 1.3 ... Implementierung der Verfügbarkeitsprüfung ... 41 1.4 ... Zusammenfassung ... 44 2. Verfügbarkeitsprüfung mit SAP ... 45 2.1 ... Systeme und Lösungen ... 45 2.2 ... Integration mit SAP CRM und SAP Customer Experience ... 51 2.3 ... Anwendungsszenarien und Beispielarchitekturen ... 54 2.4 ... Zusammenfassung ... 57 3. Anwendungsbereiche und Prozessintegration ... 59 3.1 ... Durchführung der Verfügbarkeitsprüfung ... 59 3.2 ... Verfügbarkeitsprüfung im Vertrieb ... 60 3.3 ... Verfügbarkeitsprüfung in der Produktion ... 72 3.4 ... Verfügbarkeitsprüfung in der Materialwirtschaft ... 77 3.5 ... Zusammenfassung ... 82 TEIL II. Verfügbarkeitsprüfung mit SAP ERP ... 83 4. Stamm- und Bewegungsdaten in SAP ERP ... 85 4.1 ... Stammdaten ... 85 4.2 ... Bewegungsdaten ... 90 4.3 ... Zusammenfassung ... 127 5. Parameter der Verfügbarkeitsprüfung in SAP ERP ... 129 5.1 ... Prüfgruppe ... 129 5.2 ... Prüfregel ... 136 5.3 ... Prüfumfang ... 139 5.4 ... Einteilungstyp ... 151 5.5 ... Bedarfsklasse und Bedarfsartenfindung ... 153 5.6 ... Sperrlogik ... 163 5.7 ... Transport- und Versandterminierung ... 165 5.8 ... Zusammenfassung ... 173 6. Prüfmethoden in SAP ERP ... 175 6.1 ... Überblick ... 176 6.2 ... ATP-Verfügbarkeitsprüfung ... 177 6.3 ... Verfügbarkeitsprüfung gegen Vorplanung ... 192 6.4 ... Verfügbarkeitsprüfung gegen Kontingente ... 222 6.5 ... Montageabwicklung ... 236 6.6 ... Zusammenfassung ... 240 7. Fehlteilemanagement in SAP ERP ... 241 7.1 ... Kostenoptimales Bestandsniveau ... 241 7.2 ... Fehlteileidentifizierung ... 243 7.3 ... Fehlteileauswertung ... 247 7.4 ... Fehlteileinformationsmeldung ... 250 7.5 ... Zusammenfassung ... 257 8. Rückstandsbearbeitung in SAP ERP ... 259 8.1 ... Negative Prüfungsergebnisse ... 259 8.2 ... Manuelle Rückstandsbearbeitung ... 261 8.3 ... Neuterminierung ... 265 8.4 ... Zusammenfassung ... 271 TEIL III. Verfügbarkeitsprüfung mit SAP S/4HANA ... 273 9. Einführung in die Verfügbarkeitsprüfung mit SAP S/4HANA ... 275 9.1 ... Standard-Verfügbarkeitsprüfung in SAP S/4HANA ... 276 9.2 ... Erweiterte Verfügbarkeitsprüfung (aATP) in SAP S/4HANA ... 278 9.3 ... Zusammenspiel der einzelnen Funktionen der erweiterten Verfügbarkeitsprüfung ... 291 9.4 ... Merkmalskataloge in der erweiterten Verfügbarkeitsprüfung ... 293 9.5 ... Zusammenfassung ... 294 10. Kontingentierung ... 295 10.1 ... Customizing zur Nutzung der Kontingentierung ... 296 10.2 ... SAP-Fiori-Apps für die Kontingentierung ... 298 10.3 ... Kontingentierung konfigurieren ... 300 10.4 ... Kontingentierungsplandaten verwalten ... 302 10.5 ... Kontingentierungssequenzen verwalten ... 304 10.6 ... Produkte zur Kontingentierung zuordnen ... 307 10.7 ... Kontingentierungsübersicht ... 308 10.8 ... SAP-Beispiel für die Kontingentierung ... 309 10.9 ... Zusammenfassung ... 319 11. Verfügbarkeitsschutz ... 321 11.1 ... Customizing zur Nutzung des Verfügbarkeitsschutzes ... 321 11.2 ... SAP-Fiori-Apps für den Verfügbarkeitsschutz ... 322 11.3 ... Grundlagen des Verfügbarkeitsschutzes ... 323 11.4 ... Konfiguration des Verfügbarkeitsschutzes ... 328 11.5 ... SAP-Beispiel für den Verfügbarkeitsschutz ... 333 11.6 ... Zusammenfassung ... 340 12. Alternativenbasierte Bestätigung ... 341 12.1 ... Customizing zur Aktivierung der alternativenbasierten Bestätigung ... 342 12.2 ... SAP-Fiori-Apps zur Konfiguration der alternativenbasierten Bestätigung ... 343 12.3 ... Grundlagen der Werks- und Lagerortersetzung ... 344 12.4 ... Grundlagen der Produktersetzung ... 355 12.5 ... Die alternativenbasierte Bestätigung konfigurieren ... 356 12.6 ... SAP-Beispiel für die alternativenbasierte Bestätigung ... 361 12.7 ... Zusammenfassung ... 365 13. Rückstandsbearbeitung ... 367 13.1 ... SAP-Fiori-Apps für die Rückstandsbearbeitung ... 368 13.2 ... Grundlagen der Rückstandsbearbeitung in SAP S/4HANA ... 369 13.3 ... Konfiguration der Rückstandsbearbeitung ... 375 13.4 ... SAP-Beispiel für die Rückstandsbearbeitung ... 384 13.5 ... Manuelle Freigabe von Lieferungen ... 387 13.6 ... Zusammenfassung ... 390 TEIL IV. Verfügbarkeitsprüfung mit SAP APO ... 391 14. SAP-APO-Systemintegration ... 393 14.1 ... Core Interface (CIF-Schnittstelle) ... 394 14.2 ... Schnittstellenkonfiguration ... 396 14.3 ... Integrationsmodelle ... 400 14.4 ... Zusammenfassung ... 410 15. Parameter der Verfügbarkeitsprüfung in SAP APO ... 411 15.1 ... Grundlagen ... 411 15.2 ... Prüfvorschrift ... 413 15.3 ... Allgemeine Customizing-Einstellungen ... 428 15.4 ... Zusammenfassung ... 434 16. Prüfmethoden in SAP APO ... 435 16.1 ... Grundlagen ... 435 16.2 ... Produktverfügbarkeitsprüfung ... 436 16.3 ... Kontingentierung ... 458 16.4 ... Prüfung gegen Vorplanung ... 480 16.5 ... Zusammenfassung ... 490 17. Erweiterte Prüfmethoden in SAP APO ... 493 17.1 ... Kombination von Basismethoden ... 493 17.2 ... Regelbasierte Verfügbarkeitsprüfung ... 498 17.3 ... Streckenabwicklung ... 537 17.4 ... Prüfung gegen die Produktion ... 543 17.5 ... Zusammenfassung ... 564 18. Zusatzfunktionen der Verfügbarkeitsprüfung in SAP APO ... 565 18.1 ... Mehrpositionen-Einzellieferlokation ... 565 18.2 ... Konsolidierung in einer Konsolidierungslokation ... 570 18.3 ... Sicherheitsbestände in der Verfügbarkeitsprüfung berücksichtigen ... 578 18.4 ... Rundung in der Verfügbarkeitsprüfung ... 585 18.5 ... Korrelationsrechnung ... 599 18.6 ... Zusammenfassung ... 603 19. Ergebnis und Analyse der Verfügbarkeitsprüfung ... 605 19.1 ... Ergebnisdarstellung ... 605 19.2 ... Simulation ... 612 19.3 ... Verfügbarkeitsübersichten ... 614 19.4 ... ATP-Alerts ... 615 19.5 ... Analyse ... 617 19.6 ... Zusammenfassung ... 625 20. Rückstandsbearbeitung in SAP APO ... 627 20.1 ... Rückstandsbearbeitung im Hintergrund ... 627 20.2 ... Interaktive Rückstandsbearbeitung ... 646 20.3 ... Ereignisgesteuerte Mengenzuordnung ... 648 20.4 ... Zusammenfassung ... 660 21. Transport- und Versandterminierung in SAP APO ... 661 21.1 ... Grundlagen ... 661 21.2 ... Terminierung mit Konditionstechnik ... 671 21.3 ... Terminierung mit der konfigurierbaren Prozessterminierung ... 674 21.4 ... Terminierung mit SNP-Stammdaten ... 682 21.5 ... Terminierung mit der dynamischen Routenfindung ... 683 21.6 ... Simulation der Transport- und Versandterminierung ... 685 21.7 ... Zusammenfassung ... 689 Die Autoren ... 691 Index ... 693
Git und SAP
Nutzen Sie das moderne Versionsmanagement für Ihre SAP-Projekte! In diesem Buch erfahren Sie, wie Git in die Entwicklungsumgebungen für SAPUI5 oder ABAP integriert ist. Sie lernen, wie Sie Git-Befehle direkt in SAP Business Application Studio, ABAP Development Tools oder SAP Web IDE absetzen, Repositorys klonen und Branches verwalten. Ihre Entwicklungsteams werden nicht mehr anders arbeiten wollen! Aus dem Inhalt: So funktioniert GitAnbieter von Git-ClientsCloud- und On-Premise-DeploymentabapGitGit in der SAPUI5-EntwicklungGit in der Cloud-EntwicklungGit in der SAP-HANA-EntwicklungSAP Business Application StudioVisual Studio CodeABAP Development ToolsSAP Web IDE for SAP HANASAP Continuous Integration and DeliveryIntegration mit Jenkins und Azure DevOps Einführung ... 13 1. Einführung in Git ... 17 1.1 ... Herkunft von Git ... 18 1.2 ... Vergleich mit anderen Versionsverwaltungssystemen ... 19 1.3 ... Verteilte Entwicklung mit Git ... 26 1.4 ... Git im SAP-Umfeld ... 28 1.5 ... Git in DevOps-Projekten ... 38 1.6 ... Zusammenfassung ... 44 2. Technische Grundlagen ... 45 2.1 ... Lokales und Remote-Repository ... 46 2.2 ... Die wichtigsten Git-Befehle ... 53 2.3 ... Git-CLI ... 70 2.4 ... Das Arbeiten mit dem Git-CLI ... 73 2.5 ... Konflikte lösen ... 95 2.6 ... Weitere hilfreiche Befehle ... 99 3. Deployment-Optionen und Anbieter von Git-Clients ... 103 3.1 ... Cloud- oder On-Premise-Deployment ... 104 3.2 ... SAP Git Service in der Neo-Umgebung ... 110 3.3 ... GitHub ... 121 3.4 ... Bitbucket ... 129 3.5 ... GitLab ... 134 3.6 ... Ein On-Premise-Git-Repository über den Cloud Connector an die SAP BTP anbinden ... 140 4. Git in der SAPUI5-Entwicklung ... 149 4.1 ... Erstellen eines Git-Repositorys ... 150 4.2 ... Einbindung in die SAP Web IDE ... 152 4.3 ... Einbindung in SAP Business Application Studio ... 160 4.4 ... Einbindung in Visual Studio Code ... 169 5. Git in der ABAP-Entwicklung ... 177 5.1 ... abapGit ... 177 5.2 ... Einbindung in Eclipse ... 207 6. Git in der Cloud-Entwicklung ... 217 6.1 ... Einführung in das SAP Cloud Application Programming Model ... 218 6.2 ... Einbindung in SAP Business Application Studio ... 220 6.3 ... Einbindung in Visual Studio Code ... 230 7. Git in der SAP-HANA-Entwicklung ... 241 7.1 ... Einführung in SAP HANA XSA ... 241 7.2 ... Einbindung in die SAP Web IDE für SAP HANA ... 243 7.3 ... Einbindung in SAP Business Application Studio ... 258 8. Continuous Delivery und Continuous Integration ... 271 8.1 ... Einführung ... 271 8.2 ... SAP Continuous Integration and Delivery ... 285 8.3 ... Integration mit weiteren Tools ... 311 8.4 ... Zusammenfassung ... 328 Anhang ... 331 A ... Die wichtigsten Git-Befehle ... 331 Die Autoren ... 335 Index ... 337
Icinga
Monitoring – Grundlagen und PraxisNach der Einführung in die Komponenten einer Icinga-Umgebung, den wichtigsten Begriffen, der Installation und der Bedienoberfläche Icinga Web 2 folgt der praktische Einstieg in die Überwachung mit Icinga. Anhand einer fiktiven Firma wird die Einarbeitung in die Konfigurationssprache Icinga DSL gezeigt.Zentraler Punkt in diesem Buch ist die Überwachung von Linux- und Windows-Systemen mit dem Icinga-Agenten sowie generell die verteilte Überwachung mit Einsatz von Satelliten-Systemen. An praktischen Beispielen werden die erworbenen Icinga-DSL-Kenntnisse weiter vertieft: Plugins gängiger Netzwerkdienste, Einsatz von Datenbanken wie PostgreSQL, MariaDB, Oracle oder Microsoft SQL und die Einbeziehung von Virtualisierungsplattformen. Weitere Kapitel über Benachrichtigung und Abhängigkeiten, den Icinga-Director als grafikgestütztes Konfigurations-Tool, über Hochverfügbarkeit und Logmanagement, über das Modellieren von Businessprozessen und die Integration der Erfassung und Darstellung zeitlicher Verläufe runden dieses Buch ab.Autor:Lennart Betz arbeitet als Consultant und Trainer bei der Nürnberger NETWAYS GmbH. Seine Hauptarbeitsgebiete sind Planung, Aufbau und Betreuung von Monitoringlösungen, Konfigurationsmanagement und weitere Automatisierungsthemen. Schon früh während seines Mathematikstudiums beschäftigte er sich mit Freier Software und verfolgt dies auch seit dem Abschluss in seiner beruflichen Tätigkeit konsequent weiter.
SQL - kurz & gut (3. Auflg.)
Wenn Sie SQL bei Ihrer täglichen Arbeit als Datenanalyst:in, Data Scientist oder Data Engineer verwenden, ist dieses beliebte Taschenbuch das ideale Nachschlagewerk für Sie. Beschrieben werden die wichtigsten Funktionen von SQL und deren Einsatz in Microsoft SQL Server, MySQL, Oracle Database, PostgreSQL und SQLite. Zahlreiche Beispiele verdeutlichen zudem die vielfältigen Möglichkeiten der Sprache.In dieser aktualisierten und deutlich erweiterten Ausgabe zeigt Alice Zhao, wie diese fünf Datenbankmanagementsysteme die SQL-Syntax für Abfragen und für Änderungen an einer Datenbank implementieren. Sie finden Näheres zu Datentypen und Konvertierungen, zur Syntax regulärer Ausdrücke, zu Fensterfunktionen, Pivoting und Unpivoting und vieles mehr.- Schlagen Sie schnell nach, wie Sie bestimmte Aufgaben mit SQL ausführen- Nutzen Sie die Syntaxbeispiele des Buchs für Ihre eigenen Abfragen- Passen Sie SQL-Abfragen so an, dass sie auf den fünf verbreitetsten Datenbankmanagementsystemen funktionieren- Neu: Verbinden Sie Python und R mit einer relationalen Datenbank- Neu: Erhalten Sie in dem Kapitel »Wie mache ich …?« Antworten auf häufig gestellte Fragen zu SQLZielgruppe:Data ScientistsDatenanalyst*innenalle, die mit Daten und SQL zu tun habenAutorin:Alice Zhao ist Data Scientist und liebt es, komplexe Dinge leicht verständlich zu erklären. Als Senior Data Scientist bei Metis und als Mitbegründerin von Best Fit Analytics hat sie zahlreiche Kurse zu SQL, Python und R gegeben. Ihre sehr gut bewerteten technischen Tutorials auf YouTube sind dafür bekannt, gleichermaßen praktisch, unterhaltsam und visuell ansprechend zu sein.In ihrem Blog „A Dash of Data“ schreibt sie über Analytics und Popkultur. Ihre Arbeit wurde bereits in der Huffington Post, Thrillist und Working Mother veröffentlicht. Sie hat auf einer Vielzahl von Konferenzen über Themen wie Natural Language Processing und Datenvisualisierung gesprochen und hat einen Master of Science in Analytics und einen Bachelor of Science in Elektrotechnik erworben, beide von der Northwestern University.
Android Tablets & Smartphones
OHNE VORWISSEN ANDROID TABLETS ODER SMARTPHONES SICHER BEDIENEN * Erfolgsautor Günter Born behandelt die typischen Fragen von Einsteigern und Senioren * Alle Bedienungsfragen in verständlichen Schritt-für-Schritt-Anleitungen erklärt * Komplett in Farbe, übersichtlich gestaltet und mit größerer Schrift * Der Bestseller deckt jetzt Android 11 ab und sensibilisiert für Sicherheitsfragen Mit diesem praktischen Ratgeber finden Sie sich schnell zurecht und können Schritt für Schritt nachvollziehen, wie Sie Ihr Android-Handy oder -Tablet einrichten, wie Sie surfen, Fotos machen, Kurznachrichten und E-Mails verschicken, die Einsatzmöglichkeiten Ihres Geräts durch neue Apps erweitern und vieles mehr. Schwerpunkt ist die Bedienung von Smartphones und Tablet-PCs mit den Android-Versionen 9 bis 11. Das Buch kann jedoch auch für Geräte mit älteren Android-Versionen genutzt werden, denn vieles ist hier sehr ähnlich.
C++ Lernen und professionell anwenden
Für Studium, Ausbildung und BerufSie möchten die Programmiersprache C++ erlernen und sind Anfänger? Dann ist dieses Buch richtig für Sie! Es richtet sich besonders an alle, die C++ in Studium, Ausbildung oder Beruf lernen und keine Vorkenntnisse in der Programmierung mit C++ haben.Die Ausrichtung des Studiengangs spielt dabei keine Rolle. Alle Themen werden fachunabhängig erläutert. Die Übungen und praktischen Beispiele decken viele unterschiedliche Anwendungsbereiche ab, so dass Sie auf die verschiedensten Aufgaben optimal vorbereitet sind.Sie lernen die elementaren Sprachkonzepte von C++ und werden schrittweise bis zur Entwicklung professioneller C++-Programme geführt. In den Beispielen zeigen die Autoren die ganze Breite des Anwendungsspektrums auf. Dabei basiert die Sprachbeschreibung auf dem ISO-Standard, der von allen gängigen Compilern unterstützt wird (Visual C++, GNU C++ etc.).Für den professionellen Einsatz sind in den hinteren Kapiteln Themen wie Smart Pointer, Multithreading und Algorithmen der Standard-Template-Library beschrieben. Die Übungen in jedem Kapitel helfen Ihnen, Ihr Wissen zu festigen und sich auf Prüfungen vorzubereiten.Aus dem Inhalt:Datentypen KontrollstrukturenOperatorenMakrosFunktionenVektorenStringsMatrizenReferenzen und ZeigerSpeicherreservierung zur LaufzeitDynamische Arrays und Move-SemantikKlassenVererbung und PolymorphieException-HandlingDateiverarbeitung und portabler Zugriff auf das DateisystemTemplates und ContainerSmart PointerMultithreadingAlgorithmen der StandardbibliothekUmfassendes GlossarÜber die Autoren:Prof. Dr. Ulla Kirch unterrichtet an der FH München und Dr. Peter Prinz ist Software-Entwickler. Sie haben bereits zahlreiche Bücher zu C und C++ geschrieben.
Code That Fits in Your Head
Heuristik in der Softwareentwicklung. Komplexität reduzieren | Legacy Code beherrschen | Performance optimieren.Techniken und Konzepte für nachhaltige Softwareentwicklung sowie sauberen und wartbaren Code Reduktion von Komplexität, strukturierte Arbeitsabläufe und effiziente Fehlerbehandlung. Mit Auszügen aus einem vollständigen Beispielprojekt inklusive Code zum Download.»Mark Seemann ist dafür bekannt, komplexe Konzepte anschaulich und präzise zu erläutern. In diesem Buch kondensiert er seine weitreichende Erfahrung in der Softwareentwicklung zu praktischen, pragmatischen Techniken für nachhaltigen und gut lesbaren Code. Dieses Buch ist ein Must Read für jeden Programmierer.«– Scott Wlaschin, Autor von »Domain Modeling Made Functional«Dieses Buch ist ein praktischer Leitfaden für das Schreiben von nachhaltigem Programmcode und die Reduktion von Komplexität. So können Sie verhindern, dass Softwareprojekte langfristig außer Kontrolle geraten.Mark Seemann unterstützt seit Jahrzehnten Softwareentwickler-Teams bei der erfolgreichen Umsetzung ihrer Projekte. In diesem Buch begleitet er Sie von den ersten Codezeilen bis zum Deployment und zeigt Ihnen, wie Sie im Entwicklungsprozess effizient und nachhaltig bleiben, wenn Sie neue Funktionalitäten implementieren. Dabei legt er auch Wert auf Fehlerbehandlung und disziplinübergreifende Themen. Er gibt Ihnen wertvolle Hinweise, Techniken und Arbeitsabläufe für alle wichtigen Kernprobleme an die Hand: von der Verwendung von Checklisten bis zur Teamarbeit, von Kapselung bis zur verteilten Programmierung, von API-Design bis zu Unit Testing.Seemann veranschaulicht seine Konzepte anhand von Codebeispielen aus einem vollständigen Projektbeispiel in C#. Der Code ist so geschrieben, dass er gut verständlich für jeden ist, der eine objektorientierte Programmiersprache verwendet, einschließlich Java, C++ und Python. Der gesamte Code steht zur weiteren Erkundung zum Download bereit.Wenn Sie jemals negative Erfahrungen bei der Umsetzung von Softwareprojekten oder mit schlecht wartbarem Legacy Code gemacht haben, wird dieses Praxisbuch Ihnen helfen, solchen Schwierigkeiten ab sofort aus dem Weg zu gehen.Über den Autor:Mark Seemann ist in der Softwareentwicklung tätig und beschäftigt sich mit funktionaler Programmierung, objektorientierter Entwicklung und Softwareentwicklung im Allgemeinen. Er hat bereits zwei Bücher und zahlreiche Artikel und Blogbeiträge zu verwandten Themen veröffentlicht. Obwohl er hauptsächlich als .NET-Entwickler tätig ist, nutzt er eine große Bandbreite von Technologien als Ressource, einschließlich Haskell und verschiedene Design-Pattern-Bücher.
Android Smartphone Fotografie für Dummies
Sie möchten hochwertige Bilder mit Ihrem Android-Smartphone aufnehmen? In diesem Buch erfahren Sie, wie Sie mit der Kamera, die Sie jeden Tag dabei haben, beeindruckende Fotos schießen. Mark Hemmings bringt Ihnen die Grundprinzipien der Fotografie bei und zeigt Ihnen, wie Sie dieses Wissen auf Außenaufnahmen, Actionfotos, Portraits und in Videos anwenden. Außerdem erfahren Sie alles über die Möglichkeiten der Bildbearbeitung und bekommen praktische Tipps, wie Sie Ihre Aufnahmen organisieren und Fotos online teilen.Autor: Mark Hemmings ist ein international anerkannter professioneller Fotograf und Ausbilder. Er ist auf der ganzen Welt unterwegs und leitet Fotografie-Workshops in Asien, Europa, dem Nahen Osten und Nordamerika. Außerdem bietet er Online-Fotokurse an.
Java für Kids (8. Auflage)
Die Programmiersprache Java lernen ohne Vorkenntnisse. Kleine Spiele programmieren und sich Schritt für Schritt mit Java vertraut machen. Mit Fragen und Aufgaben am Ende jedes Kapitels.Java - wer denkt da nicht an eine Insel, auf der es heiß und feucht ist, mit Vulkanen, viel Wald und seltenen Tieren? Du nicht? Du denkst an eine Programmiersprache? Dann bist du hier richtig! In diesem Buch erfährst du, dass diese Sprache einiges zu bieten hat, und mit der Entwicklungsumgebung Eclipse schaffst du den Einstieg in Java spielend!Hans-Georg Schumann zeigt dir, wie du mit Java erste Programme schreibst und welche Zutaten du dazu benötigst: Variablen, Kontrollstrukturen, Klassen und mehr. Schritt für Schritt werden die Quelltexte umfangreicher bis hin zur objektorientierten Programmierung und dem Einsatz von Java-Komponenten. Schnell hast du ein erstes Lotto-Spiel programmiert, dein Programm mit Buttons und Häkchen professionell ausgestattet und den Rechner dazu gebracht, Quizfragen zu stellen. Du kannst mit Java aber auch bunte Grafiken erstellen oder Figuren animieren. Zudem macht das Programmieren von Spielen wie Hang-Man oder Stein-Schere-Papier nicht nur dir als Programmierer oder Programmiererin großen Spaß.Das ist auch nicht so kompliziert, wie es sich anhört! Denn alles wird genau erklärt und am Ende der Kapitel noch einmal zusammengefasst.Über den Autor:Hans-Georg Schumann war Informatik- und Mathematiklehrer an einer Gesamtschule. Er hat viele erfolgreiche Bücher in der mitp-Buchreihe »... für Kids« geschrieben.
Reflexion und Subversion
Die ehemals den Massenmedien vorbehaltene Funktion, die Gesellschaft zu reflektieren und diese gesellschaftlichen Selbstbeschreibungen auch gesellschaftsweit bekannt zu machen, kann heute auch von Social-Media-Plattformen erfüllt werden, wenn die Nutzer*innen dort die Gesellschaft beschreiben und diese Beiträge massenhaft verbreitet werden. Gleichzeitig unterscheiden sich die in den Social Media verbreiteten Gesellschaftsbeschreibungen enorm von jenen herkömmlicher Massenmedien – nicht zuletzt aufgrund der technischen Infrastrukturen der Plattformen. Aus Perspektive der sozialen Systemtheorie werden am Beispiel von Twitter Gemeinsamkeiten und Differenzen zwischen diesen beiden Formen gesellschaftlicher Selbstreflexion herausgearbeitet. Vor allem aber soll die Analyse die grundsätzlich divergenten Wirkungen aufzeigen, welche die (Selbst-)Reflexion der Gesellschaft nach sich ziehen kann, wenn diese einerseits gesellschaftliche Komplexität als einheitliche Realität greifbar macht und damit der Selbstvergewisserung dient, andererseits genauso die Kritik und das Hinterfragen des Bestehenden erlaubt.SAMUEL BREIDENBACH ist akademischer Mitarbeiter am Fachgebiet Angewandte Medienwissenschaften der Brandenburgischen Technischen Universität.Massenmedien und Öffentlichkeit als Selbstbeobachtung der Gesellschaft.- (Selbst-)Reflexion der Gesellschaft in Twitter.- Datenbasierte Beobachtung von Twitter-Diskursen.- Twitter als Massenmedium und Öffentlichkeitsraum.-Strategien und Methoden des digitalen Protest.
Artificial Intelligence in Industry 4.0 and 5G Technology
ARTIFICIAL INTELLIGENCE IN INDUSTRY 4.0 AND 5G TECHNOLOGYEXPLORES INNOVATIVE AND VALUE-ADDED SOLUTIONS FOR APPLICATION PROBLEMS IN THE COMMERCIAL, BUSINESS, AND INDUSTRY SECTORSAs the pace of Artificial Intelligence (AI) technology innovation continues to accelerate, identifying the appropriate AI capabilities to embed in key decision processes has never been more critical to establishing competitive advantage. New and emerging analytics tools and technologies can be configured to optimize business value, change how an organization gains insights, and significantly improve the decision-making process across the enterprise.Artificial Intelligence in Industry 4.0 and 5G Technology helps readers solve real-world technological engineering optimization problems using evolutionary and swarm intelligence, mathematical programming, multi-objective optimization, and other cutting-edge intelligent optimization methods. Contributions from leading experts in the field present original research on both the theoretical and practical aspects of implementing new AI techniques in a variety of sectors, including Big Data analytics, smart manufacturing, renewable energy, smart cities, robotics, and the Internet of Things (IoT).* Presents detailed information on meta-heuristic applications with a focus on technology and engineering sectors such as smart manufacturing, smart production, innovative cities, and 5G networks.* Offers insights into the use of metaheuristic strategies to solve optimization problems in business, economics, finance, and industry where uncertainty is a factor.* Provides guidance on implementing metaheuristics in different applications and hybrid technological systems.* Describes various AI approaches utilizing hybrid meta-heuristics optimization algorithms, including meta-search engines for innovative research and hyper-heuristics algorithms for performance measurement.Artificial Intelligence in Industry 4.0 and 5G Technology is a valuable resource for IT specialists, industry professionals, managers and executives, researchers, scientists, engineers, and advanced students an up-to-date reference to innovative computing, uncertainty management, and optimization approaches.PANDIAN VASANT is Research Associate at MERLIN Research Centre, TDTU, HCMC, Vietnam, and Editor in Chief of International Journal of Energy Optimization and Engineering (IJEOE). He holds PhD in Computational Intelligence (UNEM, Costa Rica), MSc (University Malaysia Sabah, Malaysia, Engineering Mathematics) and BSc (Hons, Second Class Upper) in Mathematics (University of Malaya, Malaysia). He has co-authored research articles in journals, conference proceedings, presentations, special issues Guest Editor, chapters and General Chair of EAI International Conference on Computer Science and Engineering in Penang, Malaysia (2016) and Bangkok, Thailand (2018).ELIAS MUNAPO, PhD, currently heads the Department of Business Statistics and Operations research at North West University-Mafikeng, South Africa. He has published 50+ articles and contributed to five chapters on industrial engineering and management texts.J. JOSHUA THOMAS is an Associate Professor at UOW Malaysia KDU Penang University College. He obtained his PhD (Intelligent Systems Techniques) from University Sains Malaysia, Penang and master’s degree from Madurai Kamaraj University, India. He is working with Deep Learning algorithms, specially targeting on Graph Convolutional Neural Networks (GCNN) and Bi-directional Recurrent Neural Networks (RNN) for drug target interaction and image tagging with embedded natural language processing. His work involves experimental research with software prototypes and mathematical modelling and design.GERHARD-WILLIAM WEBER, PhD, is Professor and Chair of Marketing and Economic Engineering at Poznan University of Technology, Poland. He is also an Adjunct Professor at Department of Industrial and Systems Engineering, College of Engineering at Istinye University, Istanbul, Turkey.List of Contributors xvPreface xixProfile of Editors xxviiAcknowledgments xxx1 DYNAMIC KEY-BASED BIOMETRIC END-USER AUTHENTICATION PROPOSAL FOR IOT IN INDUSTRY 4.0 1Subhash Mondal, Swapnoj Banerjee, Soumodipto Halder, and Diganta Sengupta1.1 Introduction 11.2 Literature Review 21.3 Proposed Framework 51.3.1 Enrolment Phase 51.3.2 Authentication Phase 71.3.2.1 Pre-processing 71.3.2.2 Minutiae Extraction and False Minutiae Removal 121.3.2.3 Key Generation from extracted Minutiae points 131.3.2.4 Encrypting the Biometric Fingerprint Image Using AES 141.4 Comparative Analysis 181.5 Conclusion 19References 192 DECISION SUPPORT METHODOLOGY FOR SCHEDULING ORDERS IN ADDITIVE MANUFACTURING 25Juan Jesús Tello Rodríguez and Lopez-I Fernando2.1 Introduction 252.2 The Additive Manufacturing Process 262.3 Some Background 282.4 Proposed Approach 302.4.1 A Mathematical Model for the Initial Printing Scheduling 322.4.1.1 Considerations 322.4.1.2 Sets 322.4.2 Parameters 332.4.2.1 Orders 332.4.2.2 Parts 332.4.2.3 Printing Machines 332.4.2.4 Process 332.4.3 Decision Variables 332.4.4 Optimization Criteria 332.4.5 Constrains 342.5 Results 352.5.1 Orders 352.6 Conclusions 39References 393 SIGNIFICANCE OF CONSUMING 5G-BUILT ARTIFICIAL INTELLIGENCE IN SMART CITIES 43Y. Bevish Jinila, Cinthia Joy, J. Joshua Thomas, and S. Prayla Shyry3.1 Introduction 433.2 Background and RelatedWork 473.3 Challenges in Smart Cities 493.3.1 Data Acquisition 493.3.2 Data Analysis 503.3.3 Data Security and Privacy 503.3.4 Data Dissemination 503.4 Need for AI and Data Analytics 503.5 Applications of AI in Smart Cities 513.5.1 Road Condition Monitoring 513.5.2 Driver Behavior Monitoring 523.5.3 AI-Enabled Automatic Parking 533.5.4 Waste Management 533.5.5 Smart Governance 533.5.6 Smart Healthcare 543.5.7 Smart Grid 543.5.8 Smart Agriculture 553.6 AI-based Modeling for Smart Cities 553.6.1 Smart Cities Deployment Model 553.6.2 AI-Based Predictive Analytics 573.6.3 Pre-processing 583.6.4 Feature Selection 583.6.5 Artificial Intelligence Model 583.7 Conclusion 60References 604 NEURAL NETWORK APPROACH TO SEGMENTATION OF ECONOMIC INFRASTRUCTURE OBJECTS ON HIGH-RESOLUTION SATELLITE IMAGES 63Vladimir A. Kozub, Alexander B. Murynin, Igor S. Litvinchev, Ivan A. Matveev, and Pandian Vasant4.1 Introduction 634.2 Methodology for Constructing a Digital Terrain Model 644.3 Image Segmentation Problem 654.4 Segmentation Quality Assessment 674.5 Existing Segmentation Methods and Algorithms 684.6 Classical Methods 694.7 Neural Network Methods 724.7.1 Semantic Segmentation of Objects in Satellite Images 744.8 Segmentation with Neural Networks 764.9 Convolutional Neural Networks 794.10 Batch Normalization 834.11 Residual Blocks 844.12 Training of Neural Networks 854.13 Loss Functions 854.14 Optimization 864.15 Numerical Experiments 884.16 Description of the Training Set 884.17 Class Analysis 904.18 Augmentation 904.19 NN Architecture 924.20 Training and Results 934.21 Conclusion 97Acknowledgments 97References 975 THE IMPACT OF DATA SECURITY ON THE INTERNET OF THINGS 101Joshua E. Chukwuere and Boitumelo Molefe5.1 Introduction 1015.2 Background of the Study 1025.3 Problem Statement 1035.4 Research Questions 1035.5 Literature Review 1035.5.1 The Data Security on IoT 1035.5.2 The Security Threats and Awareness of Data Security on IoT 1055.5.3 The DifferentWays to Assist with Keeping Your IoT Device Safer from Security Threats 1055.6 Research Methodology 1065.6.1 Population and Sampling 1065.6.2 Data Collection 1075.6.3 Reliability and Validity 1085.7 Chapter Results and Discussions 1085.7.1 The Demographic Information 1095.7.1.1 Age, Ethnic Group, and Ownership of a Smart Device 1095.7.2 Awareness of Users About Data Security of the Internet of Things 1095.7.3 The Security Threats that are Affecting the Internet of Things Devices 1115.7.3.1 The Architecture of IoT Devices 1125.7.3.2 The botnets Attack 1125.7.4 The Effects of Security Threats on IoT Devices that are Affecting Users 1125.7.4.1 The Slowness or Malfunctioning of the IoT Device 1125.7.4.2 The Trust of Users on IoT 1135.7.4.3 The Safety of Users 1135.7.4.4 The Guaranteed Duration of IoT Devices 1145.7.5 DifferentWays to Assist with Keeping IoT Smart Devices Safer from Security Threats 1145.7.5.1 The Change Default Passwords 1145.7.5.2 The Easy or Common Passwords 1145.7.5.3 On the Importance of Reading Privacy Policies 1145.7.5.4 The Bluetooth and Wi-Fi of IoT Devices 1155.7.5.5 The VPN on IoT 1155.7.5.6 The Physical Restriction 1155.7.5.7 Two-Factor Authentication 1165.7.5.8 The Biometric Authentication 1165.8 Answers to the Chapter Questions 1165.8.1 Objective 1: Awareness on Users About Data Security of Internet of Things (IoT) 1165.8.2 Objective 2: Determine the Security Threats that are Involved in the Internet of Things (IoT) 1175.8.3 Objective 3: The Effects of Security Threats on IoT Devices that are Affecting Users 1175.8.4 Objective 4: DifferentWays to Assist with Keeping IoT Devices Safer from Security Threats 1175.8.5 Other Descriptive Analysis (Mean) 1185.8.5.1 Mean 1 – Awareness on Users About Data Security on IoT 1185.8.5.2 The Effects of Security Threats on IoT Devices that are Affecting Users 1185.8.5.3 DifferentWays to Assist with Keeping an IoT Device Safer 1225.9 Chapter Recommendations 1225.10 Conclusion 122References 1246 SUSTAINABLE RENEWABLE ENERGY AND WASTE MANAGEMENT ON WEATHERING CORPORATE POLLUTION 129Choo K. Chin and Deng H. Xiang6.1 Introduction 1296.2 Literature Review 1316.2.1 Energy Efficiency 1356.2.2 Waste Minimization 1366.2.3 Water Consumption 1376.2.4 Eco-Procurement 1376.2.5 Communication 1386.2.6 Awareness 1386.2.7 Sustainable and Renewable Energy Development 1386.3 Conceptual Framework 1396.4 Conclusion 1396.4.1 Energy Efficiency 1406.4.2 Waste Minimization 1406.4.3 Water Consumption 1406.4.4 Eco-Procurement 1416.4.5 Communication 1416.4.6 Sustainable and Renewable Energy Development 141Acknowledgment 142References 1427 ADAM ADAPTIVE OPTIMIZATION METHOD FOR NEURAL NETWORK MODELS REGRESSION IN IMAGE RECOGNITION TASKS 147Denis Y. Nartsev, Alexander N. Gneushev, and Ivan A. Matveev7.1 Introduction 1477.2 Problem Statement 1497.3 Modifications of the Adam Optimization Method for Training a Regression Model 1517.4 Computational Experiments 1557.4.1 Model for Evaluating the Eye Image Blurring Degree 1557.4.2 Facial Rotation Angle Estimation Model 1587.5 Conclusion 160Acknowledgments 161References 1618 APPLICATION OF INTEGER PROGRAMMING IN ALLOCATING ENERGY RESOURCES IN RURAL AFRICA 165Elias Munapo8.1 Introduction 1658.1.1 Applications of the QAP 1658.2 Quadratic Assignment Problem Formulation 1668.2.1 Koopmans–Beckmann Formulation 1668.3 Current Linearization Technique 1678.3.1 The General Quadratic Binary Problem 1678.3.2 Linearizing the Quadratic Binary Problem 1698.3.2.1 Variable Substitution 1698.3.2.2 Justification 1698.3.3 Number of Variables and Constraints in the Linearized Model 1708.3.4 Linearized Quadratic Binary Problem 1718.3.5 Reducing the Number of Extra Constraints in the Linear Model 1718.3.6 The General Binary Linear (BLP) Model 1718.3.6.1 Convex Quadratic Programming Model 1728.3.6.2 Transforming Binary Linear Programming (BLP) Into a Convex/Concave Quadratic Programming Problem 1728.3.6.3 Equivalence 1738.4 Algorithm 1748.4.1 Making the Model Linear 1758.5 Conclusions 176References 1769 FEASIBILITY OF DRONES AS THE NEXT STEP IN INNOVATIVE SOLUTION FOR EMERGING SOCIETY 179Sadia S. Ali, Rajbir Kaur, and Haidar Abbas9.1 Introduction 1799.1.1 Technology and Business 1819.1.2 Technological Revolution of the Twenty-first Century 1819.2 An Overview of Drone Technology and Its Future Prospects in Indian Market 1829.2.1 Utilities 1839.2.1.1 Delivery 1839.2.1.2 Media/Photography 1839.2.1.3 Agriculture 1849.2.1.4 Contingency and Disaster Management Scenarios 1849.2.1.5 Civil and Military Services: Search and Rescue, Surveillance,Weather, and Traffic Monitoring, Firefighting 1859.2.2 Complexities Involved 1859.2.3 Drones in Indian Business Scenario 1869.3 Literature Review 1879.3.1 Absorption and Diffusion of New Technology 1889.3.2 Leadership for Innovation 1889.3.3 Social and Economic Environment 1899.3.4 Customer Perceptions 1909.3.5 Alliances with Other National and International Organizations 1909.3.6 Other Influencers 1919.4 Methodology 1919.5 Discussion 1939.5.1 Market Module 1959.5.2 Technology Module 1969.5.3 Commercial Module 1989.6 Conclusions 199References 20010 DESIGNING A DISTRIBUTION NETWORK FOR A SODA COMPANY: FORMULATION AND EFFICIENT SOLUTION PROCEDURE 209Isidro Soria-Arguello, Rafael Torres-Esobar, and Pandian Vasant10.1 Introduction 20910.2 New Distribution System 21110.3 The Mathematical Model to Design the Distribution Network 21410.4 Solution Technique 21610.4.1 Lagrangian Relaxation 21610.4.2 Methods for Finding the Value of Lagrange Multipliers 21610.4.3 Selecting the Solution Method 21610.4.4 Used Notation 21710.4.5 Proposed Relaxations of the Distribution Model 21810.4.5.1 Relaxation 1 21810.4.5.2 Relaxation 2 21910.4.6 Selection of the Best Lagrangian Relaxation 21910.5 Heuristic Algorithm to Restore Feasibility 22010.6 Numerical Analysis 22210.6.1 Scenario 2020 22310.6.2 Scenario 2021 22410.6.3 Scenario 2022 22510.6.4 Scenario 2023 22610.7 Conclusions 228References 22811 MACHINE LEARNING AND MCDM APPROACH TO CHARACTERIZE STUDENT ATTRITION IN HIGHER EDUCATION 231Arrieta-M Luisa F and Lopez-I Fernando11.1 Introduction 23111.1.1 Background 23211.2 Proposed Approach 23311.3 Case Study 23411.3.1 Intelligent Phase 23411.3.2 Design Phase 23511.3.3 Choice Phase 23611.4 Results 23811.5 Conclusion 240References 24012 A CONCISE REVIEW ON RECENT OPTIMIZATION AND DEEP LEARNING APPLICATIONS IN BLOCKCHAIN TECHNOLOGY 243Timothy Ganesan, Irraivan Elamvazuthi, Pandian Vasant, and J. Joshua Thomas12.1 Background 24312.2 Computational Optimization Frameworks 24612.3 Internet of Things (IoT) Systems 24812.4 Smart Grids Data Systems 25012.5 Supply Chain Management 25212.6 Healthcare Data Management Systems 25512.7 Outlook 257References 25813 INVENTORY ROUTING PROBLEM WITH FUZZY DEMAND AND DELIVERIES WITH PRIORITY 267Paulina A. Avila-Torres and Nancy M. Arratia-Martinez13.1 Introduction 26713.2 Problem Description 27013.3 Mathematical Formulation 27313.4 Computational Experiments 27513.4.1 Numerical Example 27613.4.1.1 The Inventory Routing Problem Under Certainty 27913.4.1.2 The Inventory Routing Problem Under Uncertainty in the Consumption Rate of Product 27913.5 Conclusions and FutureWork 280References 28114 COMPARISON OF DEFUZZIFICATION METHODS FOR PROJECT SELECTION 283Nancy M. Arratia-Martinez, Paulina A. Avila-Torres, and Lopez-I Fernando14.1 Introduction 28314.2 Problem Description 28614.3 Mathematical Model 28614.3.1 Sets and Parameters 28714.3.2 Decision Variables 28714.3.3 Objective Functions 28714.4 Constraints 28814.5 Methods of Defuzzification and Solution Algorithm 28914.5.1 k-Preference Method 28914.5.2 Integral Value 29114.5.3 SAUGMECON Algorithm 29114.6 Results 29214.6.1 Results of k-Preference Method 29214.6.2 Results of Integral Value Method 29514.7 Conclusions 299References 30015 RE-IDENTIFICATION-BASED MODELS FOR MULTIPLE OBJECT TRACKING 303Alexey D. Grigorev, Alexander N. Gneushev, and Igor S. Litvinchev15.1 Introduction 30315.2 Multiple Object Tracking Problem 30515.3 Decomposition of Tracking into Filtering and Assignment Tasks 30615.4 Cost Matrix Adjustment in Assignment Problem Based on Re-Identification with Pre-Filtering of Descriptors by Quality 31015.5 Computational Experiments 31315.6 Conclusion 315Acknowledgments 315References 316Index 319
Word 2021 - Das Kompendium
Alles was es über Word 2021 zu wissen gibtIn diesem umfangreichen Kompendium werden alle hilfreichen Funktionen für Ihr effizientes Arbeiten mit Word 2021 bzw. Word für Microsoft 365 umfänglich erläutert. Sie gestalten kreative Layouts für Ihre Briefe, Texte oder Formulare und vereinfachen Ihre Arbeitsabläufe mit Formatvorlagen, Feldfunktionen, Makros und gemeinsamem Arbeiten mehrerer Personen gleichzeitig an einem Dokument. So haben Sie Ihre Textverarbeitung jederzeit im Griff, statt sich von ihr beherrschen zu lassen. Neben den bekannten Funktionen werden auch die Neuheiten der aktuellen Word-Version vorgestellt, sodass dieses Nachschlagewerk sowohl für den Einsteiger in die Microsoft-Textverarbeitung geeignet ist als auch für den mit Word schon vertrauten Anwender nützliche Tipps bereithält.Aus dem Inhalt:Word 2021 – die richtigen EinstellungenWord-Oberfläche selbst gestaltenDie Arbeit mit DokumentenTexte bearbeiten, gestalten und prüfenElemente einfügenTabellen gestalten und einbauenPraktisch: Top-BriefeSchnelles Arbeiten – fast wie von selbstWord im Austausch-ProgrammIm Team arbeitenInteressante FelderMakros einsetzenFormulare erstellenAutor:Rainer Schwabe ist seit MS Office 97 langjähriger Word- und Excel-Buchautor bei renommierten Verlagen. Seine Bücher wurden ins Englische, Türkische, Niederländische und Russische übersetzt. Er war Redakteur und freier Autor bei verschiedenen Computer- und Finanzzeitschriften. Mittlerweile gibt er bundesweit zahlreiche praxisbezogene Firmenschulungen. Er sammelt akribisch Tipps und Tricks über Word und Excel.
DevOps in Python
Take advantage of Python to automate complex systems with readable code. This new edition will help you move from operations/system administration into easy-to-learn coding.You'll start by writing command-line scripts and automating simple DevOps-style tasks followed by creating reliable and fast unit tests designed to avoid incidents caused by buggy automation. You’ll then move on to more advanced cases, like using Jupyter as an auditable remote-control panel and writing Ansible and Salt extensions.The updated information in this book covers best practices for deploying and updating Python applications. This includes Docker, modern Python packaging, and internal Python package repositories. You'll also see how to use the AWS API, and the Kubernetes API, and how to automate Docker container image building and running. Finally, you'll work with Terraform from Python to allow more flexible templating and customization of environments.WHAT YOU'LL LEARN* Understand operating system automation with Python* Package Python applications* Use Python as a DevOps console* Review Cloud automation with PythonWHO THIS BOOK IS FORDevOps engineer. Site Reliability Engineer, or similar (including Platform, Production, and Systems), and whose organization uses Python.Moshe has been involved in the Linux community since 1998, helping in Linux “installation parties”. Moshe has been programming Python since 1999 and has contributed to the core Python interpreter. Moshe has been a DevOps/SRE since before those terms existed, caring deeply about software reliability, build reproducibility, and other such things. They have worked in companies as small as three people and as big as tens of thousands – usually in someplace around where software meets system administration.Chapter 1 (Installing Python)Different ways to install Python:• Compiling from source• OS packages• pyenvCHAPTER 2 (PACKAGING) (31 PAGES – 11 NEW PAGES)How pip works and how to build packages.The following sections need to changeSection about pip (adds 4 pages)• Add explanation about how the resolver works• Explain pip-compilePoetry and pipenv (changes 2 pages, adds 2 pages)• Needs to be separated into two sections• Poetry section updated to reflect changes in Poetry• Pipenv section updated to reflect changes in Pipenv4setup.py and wheel (rewritten, changes 1 page, adds 2 pages)• python -m build and setup.cfg• Add details about binary wheels and manylinux• Show a complete exampleChapter 3: Interactive usageHow to use the interactive interpreter, other text-mode interactive consoles, and Jupyter.CHAPTER 4: OS AUTOMATION (16 PAGES – 4 NEW PAGES)Automating OS-related things like files and processes.Section about files (2 pages added)• Cover using struct to parse binary data• Cover pathlibNew section: low-level networking (2 pages) Cover socket, socket options, and how it relatesto TCP networking.5 CHAPTER 5: TESTING (30 PAGES – 10 NEW PAGES)Writing unit tests for DevOps code.Section about testing files (4 pages added)• Improve performance of file testing using tmpfs and preloading libraries• Add information about temporary directory context managerSection about testing networking (4 pages added)• Show how to test httpx with the WSGI support• Show how to test low-level socket networking with DISection about testing processes (2 pages changed)• Mention run and Popen• Show how to write tests with DI on run and Popen6 Chapter 6: Text manipulationHow to work with text: searching, modifiying, formatting, etc.CHAPTER 7: REQUESTS -> HTTPX (REWRITTEN – 10 NEW PAGES)• Focus on httpx instead• Cover async usageChapter 8: CryptographySymmetric and asymmetric encryption and digital signatures, and how to use them in DevOpscode.Chapter 9: ParamikoUsing paramiko to automate SSH use.Chapter 10: Salt StackUsing salt stack and writing new modules.Chapter 11: AnsibleUsing ansible and writing new modules.CHAPTER 12: DOCKER (5 NEW PAGES)• CLEAN UP EXAMPLES – THEY ARE HARD TO READ• SHOW COMPLETE EXAMPLE OF LAYERING, NOT JUST TALK IN THEORY• SHOW COMPLETE EXAMPLE OF RUNNING, NOT JUST TALK IN THEORY• ADD SECTION ABOUT HOW TO BUILD CONTAINERS FOR PYTHON APPLICATIONSChapter 13: AWSAutomating AWS using the boto3 library.NEW: CHAPTER 14: KUBERNETES (10 PAGES)CHAPTER GOAL: LEARN HOW TO AUTOMATE K8S WITH PYTHON AND HOW TO RUN PYTHON APPLICATIONS ON K8S• PACKAGING PYTHON APPLICATIONS FOR KUBERNETES– USING SECRETS– THINKING IN PODS• AUTOMATING K8S FROM PYTHON USING THE REST API• Writing k8s operators with PythonNEW: CHAPTER 15: TERRAFORM (5 PAGES)• USING THE TERRAFORM PYTHON CDK• GENERATING TERRAFORM JSON FROM PYTHON
Fusion 360 für Maker (2. Auflg.)
Modelle für 3D-Druck und CNC entwerfen. Dieses Buch eröffnet Ihnen die Welt der 3D-Modellierung am Bildschirm. Die 2. Auflage des erfolgreichen Buchs wurde sorgfältig aktualisiert. Mit Autodesk Fusion 360 können auch Neulinge Modelle für ihre Herstellung im 3D-Drucker oder in der CNC-Fräse vorbereiten. Die Fusion-360-Software ist das richtige Werkzeug, um aus Ideen Modelle zu entwerfen, sie zu überprüfen und sie anzufertigen. Lydia Sloan Cline zeigt, wie Sie mit Fusion 360 massive, hohle, natürlich-organische und parametrisch angelegte Projekte umsetzen. In praxisnahen Einsteigertutorials werden auch Modellierungs-Einsteigern die Grundlagen von Fusion 360 unterhaltsam vermittelt.Die Software ist sowohl für Studierende als auch für kleine Unternehmen kostenfrei verfügbar.Zur Autorin:Lydia Sloan Cline kam ursprünglich über ihre Arbeit als Architektin mit 3D-Modellierung in Berührung. Sie unterrichtet Kurse zu 3D-Druck, Zeichnen sowie zur digitalen Modellierung und Fertigung am Johnson County Community College in Overland Park, Kansas. Cline veröffentlichte bisher acht Bücher zu diesen Themen. Nebenbei engagiert sie sich in den örtlichen Makerspaces und sorgt dafür, dass ihrer kleinen Herde von CNC-Fräsen und 3D-Druckern nicht die Arbeit ausgeht.
Arena der Illusionen
Durch die Augmented-Reality-Brille hat jeder seine eigene Sicht auf die Welt.Ein Journalist wird kaltblütig in seiner Wohnung ermordet. Die Ermittlungen führen die Heidelberger Oberkommissarin Sara März in eine Welt der Illusionen. Im Alltag haben sich Augmented-Reality-Brillen zwar überall durchgesetzt, doch in den neuen Spielarenen werden die Grenzen zwischen Fantasie und Realität neu definiert.Was, wenn auch außerhalb der Arenen Gegenstände angezeigt werden, die ohne Brillen nicht existieren? Wer profitiert davon? Wird es Sara gelingen, das Rätsel zu lösen, bevor sie selbst einer tödlichen Täuschung zum Opfer fällt?Zielgruppe: Technisch InteressierteScience-Fiction-Leser*innenKrimi-Leser*innenAutor: Ulf Fildebrandt, 1972 in Stadthagen geboren, begann ungefähr zeitgleich mit dem Programmieren von Computern und dem Lesen von Science-Fiction und Fantasy. Da Software einen sicheren Broterwerb versprach, anders als die Schriftstellerei, studierte er Informatik.Erst in den letzten Jahren fand er zum Schreiben zurück, zunächst mit einem Buch über die Entwicklung von Software. Beflügelt von diesem Erfolg schrieb er den Roman „Dunkelwärts“, der 2014 veröffentlicht wurde. Darauf folgten Romane im Weltenkreis, einer Fantasy-Reihe, und auch etliche Kurzgeschichten in der c't, EXODUS und andere Zeitschriften.
SQL – kurz & gut (3. Auflage)
Wenn Sie SQL bei Ihrer täglichen Arbeit als Datenanalyst:in, Data Scientist oder Data Engineer verwenden, ist dieses beliebte Taschenbuch das ideale Nachschlagewerk für Sie. Beschrieben werden die wichtigsten Funktionen von SQL und deren Einsatz in Microsoft SQL Server, MySQL, Oracle Database, PostgreSQL und SQLite. Zahlreiche Beispiele verdeutlichen zudem die vielfältigen Möglichkeiten der Sprache.In dieser aktualisierten und deutlich erweiterten Ausgabe zeigt Alice Zhao, wie diese fünf Datenbankmanagementsysteme die SQL-Syntax für Abfragen und für Änderungen an einer Datenbank implementieren. Sie finden Näheres zu Datentypen und Konvertierungen, zur Syntax regulärer Ausdrücke, zu Fensterfunktionen, Pivoting und Unpivoting und vieles mehr.Schlagen Sie schnell nach, wie Sie bestimmte Aufgaben mit SQL ausführenNutzen Sie die Syntaxbeispiele des Buchs für Ihre eigenen AbfragenPassen Sie SQL-Abfragen so an, dass sie auf den fünf verbreitetsten Datenbankmanagementsystemen funktionierenNeu: Verbinden Sie Python und R mit einer relationalen DatenbankNeu: Erhalten Sie in dem Kapitel »Wie mache ich …?« Antworten auf häufig gestellte Fragen zu SQLZielgruppe:Data ScientistsDatenanalyst*innenalle, die mit Daten und SQL zu tun habenAutorin:Alice Zhao ist Data Scientist und liebt es, komplexe Dinge leicht verständlich zu erklären. Als Senior Data Scientist bei Metis und als Mitbegründerin von Best Fit Analytics hat sie zahlreiche Kurse zu SQL, Python und R gegeben. Ihre sehr gut bewerteten technischen Tutorials auf YouTube sind dafür bekannt, gleichermaßen praktisch, unterhaltsam und visuell ansprechend zu sein.In ihrem Blog „A Dash of Data“ schreibt sie über Analytics und Popkultur. Ihre Arbeit wurde bereits in der Huffington Post, Thrillist und Working Mother veröffentlicht. Sie hat auf einer Vielzahl von Konferenzen über Themen wie Natural Language Processing und Datenvisualisierung gesprochen und hat einen Master of Science in Analytics und einen Bachelor of Science in Elektrotechnik erworben, beide von der Northwestern University.
Coding All-in-One For Dummies
THE GO-TO GUIDE FOR LEARNING CODING FROM THE GROUND-UPAdding some coding know-how to your skills can help launch a new career or bolster an old one. Coding All-in-One For Dummies offers an ideal starting place for learning the languages that make technology go. This edition gets you started with a helpful explanation of how coding works and how it’s applied in the real-world before setting you on a path toward writing code for web building, mobile application development, and data analysis. Add coding to your skillset for your existing career, or begin the exciting transition into life as a professional developer—Dummies makes it easy.* Learn coding basics and how to apply them * Analyze data and automate routine tasks on the job * Get the foundation you need to launch a career as a coder * Add HTML, JavaScript, and Python know-how to your resume This book serves up insight on the basics of coding, designed to be easy to follow, even if you’ve never written a line of code in your life. You can do this.This All-in-One includes work by expert coders and coding educators, including CHRIS MINNICK AND EVA HOLLAND coauthors of Coding with JavaScript For Dummies; NIKHIL ABRAHAM, author of Coding For Dummies and Getting a Coding Job For Dummies;JOHN PAUL MUELLER AND LUCA MASSARON, coauthors of Python for Data Science For Dummies and Machine Learning For Dummies; and BARRY BURD, author of Flutter For Dummies.INTRODUCTION 1About This Book 2Foolish Assumptions 2Icons Used in This Book 3Beyond the Book 4Where to Go from Here 4BOOK 1: GETTING STARTED WITH CODING 5CHAPTER 1: WHAT IS CODING? 7Defining What Code Is 8Following instructions 8Writing code with some Angry Birds 9Understanding What Coding Can Do for You 10Eating the world with software 10Coding on the job 12Scratching your own itch (and becoming rich and famous) 13Surveying the Types of Programming Languages 13Comparing low-level and high-level programming languages 14Contrasting compiled code and interpreted code 15Programming for the web 16Taking a Tour of a Web App Built with Code 16Defining the app’s purpose and scope 16Standing on the shoulders of giants 17CHAPTER 2: PROGRAMMING FOR THE WEB 19Displaying Web Pages on Your Desktop and Mobile Device 20Hacking your favorite news website 20Understanding how the World Wide Web works 23Watching out for your frontend and backend 24Defining web and mobile applications 25Coding Web Applications 26Starting with HTML, CSS, and JavaScript 26Adding logic with Python, Ruby, or PHP 27Coding Mobile Applications 28Building mobile web apps 29Building native mobile apps 30Deploying Web Applications in the Cloud 31CHAPTER 3: BECOMING A PROGRAMMER 33Writing Code Using a Process 34Researching what you want to build 35Designing your app 36Coding your app 37Debugging your code 38Picking Tools for the Job 39Working offline 39Working online with CodeSandbox.io 40BOOK 2: BASIC WEB CODING 43CHAPTER 1: EXPLORING BASIC HTML 45What Does HTML Do? 46Understanding HTML Structure 47Identifying elements 47Featuring your best attribute 49Standing head, title, and body above the rest 50Getting Familiar with Common HTML Tasks and Elements 52Writing headlines 53Organizing text in paragraphs 54Linking to your (heart’s) content 55Adding images 56Styling Me Pretty 58Highlighting with bold, italics, underline, and strikethrough 58Raising and lowering text with superscript and subscript 59Building Your First Website Using HTML 60CHAPTER 2: GETTING MORE OUT OF HTML 63Organizing Content on the Page 64Listing Data 66Creating ordered and unordered lists 66Nesting lists 67Putting Data in Tables 68Basic table structuring 69Stretching table columns and rows 70Aligning tables and cells 72Filling Out Forms 75Understanding how forms work 75Creating basic forms 76Practicing More with HTML 78CHAPTER 3: GETTING STYLISH WITH CSS 79What Does CSS Do? 79CSS Structure 81Choosing the element to style 81My property has value 83Hacking the CSS on your favorite website 84Common CSS Tasks and Selectors 86Font gymnastics: Size, color, style, family, and decoration 86Customizing links 90Adding background images and styling foreground images 93Getting Stylish 97Adding CSS to your HTML 97Practicing with CSS 99CHAPTER 4: NEXT STEPS WITH CSS 101Styling (More) Elements on Your Page 102Styling lists 102Designing tables 105Selecting Elements to Style 107Styling specific elements 107Naming HTML elements 112Aligning and Laying Out Your Elements 113Organizing data on the page 114Shaping the div 116Understanding the box model 117Positioning the boxes 119Writing More Advanced CSS 122CHAPTER 5: RESPONSIVE LAYOUTS WITH FLEXBOX 123Introducing Responsive Design 124The web is mobile 124Why are so many sites mobile-unfriendly? 124Introducing mobile-first design 124Making responsive web pages with the viewport meta tag 125Using Flexbox 128Creating boxes 129Thinking in one dimension 130Using multi-line containers 133Make no assumptions 134Aligning on the cross-axis 134Aligning on the main axis 136Modifying flexible boxes 137Changing the order of items 139Experimenting with Flexbox 140CHAPTER 6: STYLING WITH BOOTSTRAP 143Figuring Out What Bootstrap Does 144Installing Bootstrap 145Understanding the Layout Options 147Lining up on the grid system 147Dragging and dropping to a website 150Using predefined templates 151Adapting layout for mobile, tablet, and desktop 151Coding Basic Web Page Elements 153Designing buttons 153Navigating with toolbars 155Adding icons 157Practicing with Bootstrap 158BOOK 3: ADVANCED WEB CODING 159CHAPTER 1: WHAT IS JAVASCRIPT? 161What Is JavaScript? 161The Eich-man cometh 162Mocha-licious 163We need more effects! 163JavaScript Grows Up 164Dynamic scripting language 165What does JavaScript do? 166Why JavaScript? 167JavaScript is easy to learn! 168JavaScript is everywhere! 169JavaScript is powerful! 172JavaScript is in demand! 172CHAPTER 2: WRITING YOUR FIRST JAVASCRIPT PROGRAM 173Setting Up Your Development Environment 173Downloading and installing Chrome 174Downloading and installing a code editor 174Reading JavaScript Code 181Running JavaScript in the Browser Window 182Using JavaScript in an HTML event attribute 182Using JavaScript in a script element 183Including external JavaScript files 185Using the JavaScript Developer Console 188Commenting Your Code 189Single-line comments 190Multi-line comments 190Using comments to prevent code execution 191CHAPTER 3: WORKING WITH VARIABLES 193Understanding Variables 193Initializing Variables 195Understanding Global and Local Scope 197Naming Variables 199Creating Constants Using the const Keyword 201Working with Data Types 202Number data type 202bigInt data type 205String data type 205Boolean data type 208NaN data type 209Undefined data type 210Symbol data type 210CHAPTER 4: UNDERSTANDING ARRAYS 211Making a List 211Array Fundamentals 213Arrays are zero-indexed 213Arrays can store any type of data 214Creating Arrays 215Using the new keyword method 215Array literal 215Populating Arrays 215Understanding Multidimensional Arrays 216Accessing Array Elements 218Looping through arrays 219Array properties 220Array methods 220Using array methods 222CHAPTER 5: WORKING WITH OPERATORS, EXPRESSIONS, AND STATEMENTS 225Express Yourself 226Hello, Operator 226Operator precedence 226Using parentheses 227Types of Operators 230Assignment operators 230Comparison operators 231Arithmetic operators 231String operator 234Bitwise operators 234Logical operators 236Special operators 237Combining operators 239CHAPTER 6: GETTING INTO THE FLOW WITH LOOPS AND BRANCHES 241Branching Out 241if else statements 242Switch statements 243Here We Go: Loop De Loop 246for loops 246for in loops 248while loops 251do while loops 252break and continue statements 253CHAPTER 7: GETTING FUNCTIONAL 255Understanding the Function of Functions 255Using Function Terminology 257Defining a function 257Function head 257Function body 257Calling a function 258Defining parameters and passing arguments 258Returning a value 258The Benefits of Using Functions 258Writing Functions 262Returning Values 263Passing and Using Arguments 264Passing arguments by value 265Passing arguments by reference 267Calling a function without all the arguments 267Setting default parameter values 267Calling a function with more arguments than parameters 268Getting into arguments with the arguments object 268Understanding Function Scope 269Creating Anonymous Functions 270Knowing the differences between anonymous and named functions 270Arrow functions 270Doing it Again with Recursion 271Functions within Functions 273CHAPTER 8: MAKING AND USING OBJECTS 275Object of My Desire 275Creating Objects 277Defining objects with object literals 277Defining objects with a constructor function 278Making objects with class 279Using Object.create 280Retrieving and Setting Object Properties 280Using dot notation 281Using square bracket notation 281Deleting Properties 283Working with Methods 284Using this 286An Object-Oriented Way to Become Wealthy: Inheritance 287Creating an object using inheritance 288Modifying an object type 289CHAPTER 9: CONTROLLING THE BROWSER WITH THE WINDOW OBJECT 291Understanding the Browser Environment 291The user interface 292Loader 293HTML parsing 294CSS parsing 294JavaScript parsing 294Layout and rendering 295Investigating the BOM 295The Navigator object 295The Window object 298Using the Window object’s methods 304CHAPTER 10: MANIPULATING DOCUMENTS WITH THE DOM 307Understanding the DOM 307Understanding Node Relationships 309Using the Document Object’s Properties and Methods 314Using the Element Object’s Properties and Methods 316Working with the Contents of Elements 319innerHTML 319Setting attributes 320Getting Elements by ID, Tag Name, or Class 320getElementById 321getElementsByTagName 322getElementsByClassName 322Using the Attribute Object’s Properties 324Creating and Appending Elements 325Removing Elements 325CHAPTER 11: USING EVENTS IN JAVASCRIPT 327Knowing Your Events 327Handling Events 329Using inline event handlers 330Event handling using element properties 331Event handling using addEventListener 332Stopping propagation 336CHAPTER 12: INTEGRATING INPUT AND OUTPUT 339Understanding HTML Forms 339The form element 340The label element 341The input element 342The select element 344The textarea element 344The button element 344Working with the Form Object 345Using Form properties 345Using the Form object’s methods 347Accessing form elements 348Getting and setting form element values 349Validating user input 351CHAPTER 13: UNDERSTANDING CALLBACKS AND CLOSURES 355What Are Callbacks? 355Passing functions as arguments 356Writing functions with callbacks 356Using named callback functions 357Understanding Closures 360Using Closures 363CHAPTER 14: EMBRACING AJAX AND JSON 367Working behind the Scenes with AJAX 367AJAX examples 368Viewing AJAX in action 370Using the XMLHttpRequest object 373Working with the same-origin policy 375Using CORS, the silver bullet for AJAX requests 377Putting Objects in Motion with JSON 378BOOK 4: CREATING MOBILE APPS 383CHAPTER 1: WHAT IS FLUTTER? 385All About Hardware and Software 385Where Does Flutter Fit In? 389Cross-platform development 390A quick-and-easy development cycle 394A great way to think about app development 396Enough New Terminology! What’s Next? 400CHAPTER 2: SETTING UP YOUR COMPUTER FOR MOBILE APP DEVELOPMENT 401The Stuff You Need 401What to Do 403Getting and installing the stuff 403For Mac users only 406Configuring Android Studio 407Running your first app 408Dealing with the Devil’s Details 413On installing Android Studio 414On launching Android Studio for the first time 414On adding virtual devices 415On installing Flutter 416Divisiveness Among Devices 418Running apps on an Android device 418Testing apps on a physical device 419Using Android Studio 424Starting up 425The main window 425Running This Book’s Sample Programs 429Enjoying reruns 431If you’re finicky 432CHAPTER 3: “HELLO” FROM FLUTTER 433First Things First: Creating a Flutter Project 434What’s it all about? 436A constructor’s parameters 440A note about punctuation 442Don’t relent — simply indent 442Classes, Objects, and Widgets 444A brief treatise on “within-ness” 446The documentation is your friend 447Making Things Look Nicer 448Creating a scaffold 451Adding visual tweaks 453Dart’s enum feature 454Hello from sunny California! 454Adding another widget 456Centering the text (Part 1) 459Centering the text (Part 2) 461Displaying an image 464Hey, Wait a Minute 468CHAPTER 4: HELLO AGAIN 469Creating and Using a Function 470The function declaration 471A function call 472Parameters and the return value 472Programming in Dart: The Small Stuff 475Statements and declarations 475Dart’s typing feature 476Literals, variables, and expressions 477Two for the price of one 480Dart’s var keyword 483Built-in types 484Types that aren’t built-in 486Using import declarations 487Creating Function Declaration Variations 487Type names in function declarations 490Naming your parameters 491What about the build function? 492More Fun to Come! 493CHAPTER 5: MAKING THINGS HAPPEN 495Let’s All Press a Floating Action Button 495Stateless widgets and stateful widgets 498Widgets have methods 498Pay no attention to the framework behind the curtain 500Enhancing Your App 509More parameters, please 512The override annotation 514What does mean? 515Anonymous functions 516What belongs where 519Names that start with an underscore 524Whew! 525CHAPTER 6: LAYING THINGS OUT 527Understanding the Big Picture 528Creating bite-size pieces of code 531Creating a parameter list 533Living color 534Adding padding 535Your humble servant, the Column widget 537The SizedBox widget 539Your friend, the Container widget 539Nesting Rows and Columns 545Introducing More Levels of Nesting 546Using the Expanded Widget 549Expanded versus unexpanded 552Expanded widget saves the day 555Flexing some muscles 560How Big Is My Device? 562CHAPTER 7: INTERACTING WITH THE USER 567A Simple Switch 568Dart’s const keyword 571Compatible or NOT? 572Wait For It! 574How Much Do You Love Flutter? 576Dealing with Text Fields 581Callouts 1 and 2 582Callout 3 585Callout 4 586Callout 5 590Creating Radio Buttons 590Creating an enum 593Building the radio group 593Displaying the user’s choice 595Creating a Drop-Down Button 596Building the drop-down button 600The little Reset button 601Making a map 602Onward and Upward 603CHAPTER 8: NAVIGATION, LISTS, AND OTHER GOODIES 605Extending a Dart Class 605Navigating from One Page to Another 608An icon on a button 612Pushing and popping 612Passing Data from the Source to a Destination 613Passing Data Back to the Source 618Dart’s async and await keywords 621Taking control of the app bar’s Back button 623Passing Data in Both Directions 624Creating Named Routes 629Creating a List 633The ListView widget 634Creating list items one-by-one 639Making loops with Dart 643Fetching Data from the Internet 646Using a public API 647Sending an URL to a server 650Making sense of a JSON response 651What’s Next? 652CHAPTER 9: MOVING RIGHT ALONG 653Setting the Stage for Flutter Animation 653Moving Along a Straight Line 659Bouncing Around 664Animating Size and Color Changes 666Moving Along a Curve 668Dragging Things Around 670Tearing Things Up 673BOOK 5: GETTING STARTED WITH PYTHON 675CHAPTER 1: WRAPPING YOUR HEAD AROUND PYTHON 677What Does Python Do? 678Defining Python Structure 679Understanding the Zen of Python 679Styling and spacing 680Coding Common Python Tasks and Commands 681Defining data types and variables 681Computing simple and advanced math 682Using strings and special characters 684Deciding with conditionals: if, elif, else 685Input and output 686Shaping Your Strings 687Dot notation with upper(), lower(), capitalize(), and strip() 687String formatting with % 688CHAPTER 2: INSTALLING A PYTHON DISTRIBUTION 689Using Anaconda 690Getting Anaconda 690Defining why Anaconda is used in this book 691Installing Anaconda on Linux 692Installing Anaconda on macOS X 693Installing Anaconda on Windows 694Downloading the Data Sets and Example Code 696Starting Anaconda Navigator 697Using Jupyter Notebook 697Defining the code repository 699Understanding the data sets used in this book 704CHAPTER 3: WORKING WITH REAL DATA 707Uploading, Streaming, and Sampling Data 708Uploading small amounts of data into memory 709Streaming large amounts of data into memory 710Generating variations on image data 711Sampling data in different ways 712Accessing Data in Structured Flat-File Form 714Reading from a text file 714Reading CSV-delimited format 715Reading Excel and other Microsoft Office files 718Sending Data in Unstructured File Form 719Managing Data from Relational Databases 722Interacting with Data from NoSQL Databases 724Accessing Data from the Web 725Accessing XML data 725Using read_xml 727BOOK 6: DATA ANALYSIS WITH PYTHON 729CHAPTER 1: CONDITIONING YOUR DATA 731Juggling between NumPy and pandas 732Knowing when to use NumPy 732Knowing when to use pandas 732Validating Your Data 733Figuring out what’s in your data 734Removing duplicates 737Creating a data map and data plan 738Manipulating Categorical Variables 740Creating categorical variables 741Renaming levels 742Combining levels 743Dealing with Dates in Your Data 744Formatting date and time values 745Using the right time transformation 745Dealing with Missing Data 747Finding the missing data 747Encoding missingness 748Imputing missing data 749Slicing and Dicing: Filtering and Selecting Data 750Slicing rows 750Slicing columns 751Dicing 752Concatenating and Transforming 752Adding new cases and variables 753Removing data 754Sorting and shuffling 755Aggregating Data at Any Level 757CHAPTER 2: SHAPING DATA 759Working with HTML Pages 760Parsing XML and HTML 760Using XPath for data extraction 761Working with Raw Text 763Dealing with Unicode 763Stemming and removing stop words 764Introducing regular expressions 766Using the Bag of Words Model and Beyond 768Understanding the bag of words model 769Working with n-grams 771Implementing TF-IDF transformations 772Working with Graph Data 774Understanding the adjacency matrix 775Using NetworkX basics 775CHAPTER 3: GETTING A CRASH COURSE IN MATPLOTLIB 779Starting with a Graph 780Defining the plot 780Drawing multiple lines and plots 781Saving your work 782Setting the Axis, Ticks, Grids 783Getting the axes 783Formatting the axes 784Adding grids 785Defining the Line Appearance 786Working with line styles 786Using colors 787Adding markers 789Using Labels, Annotations, and Legends 790Adding labels 791Annotating the chart 792Creating a legend 793CHAPTER 4: VISUALIZING THE DATA 795Choosing the Right Graph 796Showing parts of a whole with pie charts 796Creating comparisons with bar charts 797Showing distributions using histograms 799Depicting groups using box plots 800Seeing data patterns using scatterplots 802Creating Advanced Scatterplots 803Depicting groups 803Showing correlations 804Plotting Time Series 806Representing time on axes 806Plotting trends over time 807Visualizing Graphs 809Developing undirected graphs 809Developing directed graphs 811BOOK 7: CAREER BUILDING WITH CODING 813CHAPTER 1: EXPLORING CODING CAREER PATHS 815Augmenting Your Existing Job 816Creative design 816Content and editorial 817Human resources 818Product management 819Sales and marketing 820Legal 821Finding a New Coding Job 822Frontend web development 823Backend web development 824Mobile application development 826Data analysis 827CHAPTER 2: EXPLORING UNDERGRADUATE AND GRADUATE DEGREES 829Getting a College Degree 830College computer science curriculum 831Doing extracurricular activities 833Two-year versus four-year school 834Enrolling in an Advanced Degree Program 836Graduate school computer science curriculum 837Performing research 838Interning to Build Credibility 839Types of internship programs 839Securing an internship 840CHAPTER 3: TRAINING ON THE JOB 843Taking a Work Project to the Next Level 844Learning on the Job and After Work 845Training on the job 846Learning after work 846Freelancing to Build Confidence and Skills 848Transitioning to a New Role 849Assessing your current role 850Networking with developers 850Identifying roles that match your interest and skills 851CHAPTER 4: CODING CAREER MYTHS 853You Must Be Good at Math 853You Must Have Studied Engineering 854You Can Learn Coding in a Few Weeks 855You Need a Great Idea to Start Coding 855Ruby Is Better than Python 856Only College Graduates Receive Coding Offers 856You Must Have Experience 857Tech Companies Don’t Hire Women or Minorities 858The Highest Paying Coding Jobs Are in San Francisco 859Your Previous Experience Isn’t Relevant 860Index 861
Network Programming with Go Language
Dive into key topics in network architecture implemented with the Google-backed open source Go programming language. Networking topics such as data serialization, application level protocols, character sets and encodings are discussed and demonstrated in Go. This book has been updated to the Go version 1.18 which includes modules, generics, and fuzzing along with updated and additional examples.Beyond the fundamentals, Network Programming with Go, Second Edition covers key networking and security issues such as HTTP protocol changes, validation and templates, remote procedure call (RPC) and REST comparison, and more. Additionally, authors Ronald Petty and Jan Newmarch guide you in building and connecting to a complete web server based on Go. Along the way, use of a Go web toolkit (Gorilla) will be employed.This book can serve as both an essential learning guide and reference on networking concepts and implementation in Go. Free source code is available on Github for this book under Creative Commons open source license.WHAT YOU WILL LEARN* Perform network programming with Go (including JSON and RPC)* Understand Gorilla, the Golang web toolkit, and how to use it* Implement a microservice architecture with Go* Leverage Go features such as generics, fuzzing* Master syscalls and how to employ them with GoWHO THIS BOOK IS FORAnyone interested in learning networking concepts implemented in modern Go. Basic knowledge in Go is assumed, however, the content and examples in this book are approachable with modest development experience in other languages.JAN NEWMARCH, Ph.d., is Head of Higher Education (ICT), Box Hill Institute, Adjunct Senior Research Fellow, Faculty of IT, Monash University, and Adjunct Lecturer, School of Computing and Mathematics Charles Sturt University.RONALD PETTY is a Principal Consultant at RX-M LLC. His programming expertise is in open source languages like Go, Ruby and more. He currently is working on a number of Go code projects on Github.1: Architectural Layers2: Overview of the Go Language3: Socket-Level Programming4: Data Serialization5: Application-Level Protocols6: Managing Character Sets and Encodings7: Security8: HTTP9: Templates10: A Complete Web Server11: HTML12: XML13: Remote Procedure Call14: REST15: WebSockets16: Gorilla17: TestingAppendix A: FuzzingAppendix B: Generics
Beginning Data Science in R 4
Discover best practices for data analysis and software development in R and start on the path to becoming a fully-fledged data scientist. Updated for the R 4.0 release, this book teaches you techniques for both data manipulation and visualization and shows you the best way for developing new software packages for R.Beginning Data Science in R 4, Second Edition details how data science is a combination of statistics, computational science, and machine learning. You’ll see how to efficiently structure and mine data to extract useful patterns and build mathematical models. This requires computational methods and programming, and R is an ideal programming language for this.Modern data analysis requires computational skills and usually a minimum of programming. After reading and using this book, you'll have what you need to get started with R programming with data science applications. Source code will be available to support your next projects as well.Source code is available at github.com/Apress/beg-data-science-r4.WHAT YOU WILL LEARN* Perform data science and analytics using statistics and the R programming language* Visualize and explore data, including working with large data sets found in big data* Build an R package* Test and check your code* Practice version control* Profile and optimize your codeWHO THIS BOOK IS FORThose with some data science or analytics background, but not necessarily experience with the R programming language.Thomas Mailund is an associate professor in bioinformatics at Aarhus University, Denmark. His background is in math and computer science but for the last decade his main focus has been on genetics and evolutionary studies, particularly comparative genomics, speciation, and gene flow between emerging species.1. Introduction to R programming.2. Reproducible analysis.3. Data manipulation.4. Visualizing and exploring data.5. Working with large data sets.6. Supervised learning.7. Unsupervised learning.8. More R programming.9. Advanced R programming.10. Object oriented programming.11. Building an R package.12. Testing and checking.13. Version control.14. Profiling and optimizing.
Java Schnelleinstieg
* JAVA PROGRAMMIEREN LERNEN OHNE VORKENNTNISSE* ALLE GRUNDLAGEN FÜR DEN PROFESSIONELLEN EINSATZ* EINFACHE PRAXISBEISPIELE UND ÜBUNGSAUFGABENMit diesem Buch gelingt Ihnen der einfache Einstieg in die Java-Programmierung.Alle Grundlagen werden in 14 Kapiteln anschaulich und leicht nachvollziehbar anhand von Codebeispielen erläutert. Übungsaufgaben am Ende der Kapitel helfen Ihnen, das neu gewonnene Wissen schnell praktisch anzuwenden und zu vertiefen.Der Autor führt Sie Schritt für Schritt in die Welt der Programmierung ein: von den Grundlagen über Objektorientierung und die Entwicklung von Anwendungen mit grafischer Benutzungsoberfläche bis zum Programmieren von REST-Schnittstellen. Dabei lernen Sie ebenfalls, was guten Programmierstil ausmacht und wie man Fehler in Programmtexten finden und von vornherein vermeiden kann.So sind Sie perfekt auf den Einsatz von Java im professionellen Umfeld vorbereitet.AUS DEM INHALT:* Alle Grundlagen einfach erläutert* Objektorientierte Programmierung* Einsatz von Open-Source-Bibliotheken* Grafische Benutzungsoberflächen (GUI)* Einsatz von Datenbanken* Entwicklung von REST-Schnittstellen* Fehlerbehandlung und Debugging* Professioneller Programmierstil* Programmcode, Lösungen und Glossar zum DownloadDaniel Braun ist promovierter Informatiker und forscht und lehrt im Bereich betrieblicher Informationssysteme. Er ist Maintainer einer Open-Source-Java-Bibliothek und Autor verschiedener Programmierbücher.
Software Defined Networks
SOFTWARE DEFINED NETWORKSSOFTWARE DEFINED NETWORKING SUGGESTS AN ALTERNATIVE WORLDVIEW, ONE THAT COMES WITH A NEW SOFTWARE STACK TO WHICH THIS BOOK IS ORGANIZED, WITH THE GOAL OF PRESENTING A TOP-TO-BOTTOM TOUR OF SDN WITHOUT LEAVING ANY SIGNIFICANT GAPS THAT THE READER MIGHT SUSPECT CAN ONLY BE FILLED WITH MAGIC OR PROPRIETARY CODE.Software defined networking (SDN) is an architecture designed to make a network more flexible and easier to manage. SDN has been widely adopted across data centers, WANs, and access networks and serves as a foundational element of a comprehensive intent-based networking (IBN) architecture. Although SDN has so far been limited to automated provisioning and configuration, IBN now adds “translation” and “assurance” so that the complete network cycle can be automated, continuously aligning the network to business needs. In 14 chapters, this book provides a comprehensive understanding of an SDN-based network as a scalable distributed system running on commodity hardware. The reader will have a one-stop reference looking into the applications, architectures, functionalities, virtualization, security, and privacy challenges connected to SDN. AUDIENCEResearchers in software, IT, and electronic engineering as well as industry engineers and technologists working in areas such as network virtualization, Python network programming, CISCO ACI, software defined network, and cloud computing. ANAND NAYYAR, PHD, received his PhD in Computer Science from Desh Bhagat University in 2017 and is currently an assistant professor, Vice-Chairman (Research) and Director (IoT and Intelligent Systems Lab) in the School of Computer Science, Duy Tan University, Da Nang, Vietnam. A Certified Professional with 100+ Professional certificates from CISCO, Microsoft, Oracle, Google, Beingcert, EXIN, GAQM, Cyberoam, and many more, he has published more than 150 research articles and ISI journals, edited 30+ books, and has 60 patents to his credit.BHAWNA SINGLA, PHD, received her PhD from Thapar University, Patiala, India and is currently a professor in the Computer Science and Engineering Department, PIET College of Engineering and Technology, Samalkha, Panipat, India. She has more than 18 years of academic experience and has published more than 35 research papers in international journals/conferences and edited books. PREETI NAGRATH, PHD, is an associate professor in Bharati Vidyapeeth’s College of Engineering. She has more than 16 years of academic experience and has published more than 60 research papers in SCI-indexed journals. Preface xxi1 INTRODUCTION TO SOFTWARE DEFINED NETWORKING 1Subhra Priyadarshini Biswal and Sanjeev Patel1.1 Introduction 21.2 Terminology and Architecture 51.2.1 Infrastructure Layer 91.2.2 Southbound Interfaces Layer 111.2.3 Network Hypervisors Layer 111.2.4 Controller Layer 121.2.5 Northbound Interfaces 131.3 The Role of Network Operating Systems 141.4 SDN Versus NFV 161.5 The Role of NFV into SDN-Based IoT Systems 171.6 Challenges and Future Directions 191.7 Applications of SDN in IT Industries 211.8 Conclusion and Future Scope 23References 242 SOFTWARE-DEFINED NETWORKS: PERSPECTIVES AND APPLICATIONS 29Inderjeet Kaur, Anupama Sharma, Amita Agnihotri and Charu Agarwal2.1 Introduction 302.2 SDN Architecture 322.2.1 Key Takeaways of SDN Architecture 352.2.2 Open Flow 362.3 Functionalities of SDN 392.3.1 SDN Benefits 402.4 SDN vs. Traditional Hardware-Based Network 412.5 Load Balancing in SDN 442.5.1 SDN-Based Load Balancer in Cloud Computing 472.5.2 SDN Without Cloud Computing 492.6 SDN Security 492.6.1 Security Threats and Attacks 512.7 SDN Applications 532.8 Research Directions 552.9 Conclusion 55References 563 SOFTWARE-DEFINED NETWORKS AND ITS APPLICATIONS 63Rajender Kumar, Alankrita Aggarwal, Karun Handa, Punit Soni and Mukesh Kumar3.1 Introduction 643.2 SDN vs Traditional Networks 653.3 SDN Working: A Functional Overview 673.4 Components and Implementation Architecture 683.4.1 Components of an SDN 683.4.1.1 SDN Application 683.4.1.2 SDN Controller 693.4.1.3 SDN Datapath 693.4.1.4 SDN Control to Data-Plane Interface (CDPI) 693.4.1.5 SDN Northbound Interfaces (NBI) 693.4.1.6 SDN Control Plane: Incorporated-Hierarchical-Distributed 693.4.1.7 Controller Placement 703.4.1.8 OpenFlow and Open Source in SDN Architecture 703.4.2 SDN Design 703.4.2.1 Northward APIs 713.4.2.2 Southward APIs 713.4.2.3 Orchestrator 713.4.2.4 Controller 713.4.2.5 Compute 713.5 Implementation Architecture 723.6 Pros and Cons of SDN 723.6.1 SDN Misconceptions 733.6.2 Pros of SDN 733.6.2.1 Centralized Network Provisioning 733.6.2.2 Holistic Enterprise Management 733.6.2.3 More Granular Security 743.6.2.4 Lower Operating Costs 743.6.2.5 Hardware-Savings and Reduced Capital Expenditures 743.6.2.6 Cloud Abstraction 753.6.2.7 Guaranteed Content Delivery 753.6.3 Cons of SDN 753.6.3.1 Latency 753.6.3.2 Maintenance 753.6.3.3 Complexity 753.6.3.4 Configuration 763.6.3.5 Device Security 763.7 SDN Applications 763.7.1 SDN Environment for Applications 763.7.1.1 Internal SDN Applications 773.7.1.2 External SDN Applications 773.7.1.3 Security Services 773.7.1.4 Network Monitoring and Intelligence 773.7.1.5 Data Transmission Management 783.7.1.6 Content Availability 783.7.1.7 Guideline and Compliance-Bound Applications 783.7.1.8 Elite Applications 793.7.1.9 Circulated Application Control and Cloud Integration 793.7.2 Common Application of SDN in Enterprise Networks 793.7.2.1 Further Developed Security 803.7.2.2 Diminished Working Expenses 803.7.2.3 A Superior Client Experience 813.7.3 SDN Drives in the Enterprise 813.7.3.1 Bringing Together and Improving on the Administration Plane 813.7.3.2 Accomplishing Programmability of the Control Plane 813.7.3.3 Simple Client Onboarding 823.7.3.4 Simple Endpoint Security 823.7.3.5 Simple Traffic Checking 823.7.3.6 SES Client Onboarding 833.7.3.7 Client Onboarding 833.7.3.8 SES Simple Endpoint Security: Distinguishing Dubious Traffic 833.7.3.9 SES Simple Traffic Observing 843.7.3.10 Synopsis 843.7.4 SDN Stream Sending (SDN) 843.7.4.1 Proactive Versus Reactive Versus Hybrid 843.7.4.2 DMN 853.7.4.3 SD-WAN 853.7.4.4 SD-LAN 853.7.4.5 Security Using the SDN Worldview 853.7.5 Security Utilizing the SDN Paradigm 863.7.6 Gathering Data Delivery Using SDN 873.7.7 Relationship of SDN to NFV 873.8 Future Research Directions of SDN 883.9 Conclusion & Future Scope 89References 904 LATENCY-BASED ROUTING FOR SDN-OPENFLOW NETWORKS 97Hima Bindu Valiveti, Meenakshi K, Swaraja K, Jagannadha Swamy Tata, Chaitanya Duggineni, Swetha Namburu and Sri Indrani Kotamraju4.1 Introduction to Generations of Networks 984.2 Features of 5G Systems 994.3 Software-Defined Networking (SDN) 1024.4 Proposed Work 1054.4.1 Path Selection Algorithm 1064.4.2 Optimized Path Selection 1064.4.2.1 Forwarding Node Selection 1064.4.2.2 Priority Scheduling 1084.4.2.3 Priority Classification 1084.5 Experimentation and Results 1094.5.1 Implementation of Traffic Streaming 1094.6 Performance Analysis 1134.7 Conclusion and Future Scope 116References 1165 QOS IMPROVEMENT EVALUATION WITH AN EFFECTIVE SWITCH ASSIGNMENT TO THE CONTROLLER IN REAL-TIME SDN ENVIRONMENT 119Jehad Ali and Byeong-hee Roh5.1 Introduction 1205.1.1 Objectives 1215.2 Architecture of SDN 1215.2.1 Data Plane 1235.2.2 Southbound (SB) APIs 1235.2.3 NB API 1245.2.4 Management Plane 1255.2.5 Control Plane 1255.3 Controller Placement Effect on the QoS 1255.4 Communication between the Control and Data Planes 1265.5 Related Works 1285.6 Parameters for Computing E2E Delay 1295.6.1 Path Discovery Delay (PD) 1295.6.2 Actual Delay (AD) 1295.7 Clustering Based on the Latency of the Emulated Mininet Network 1305.8 Results and Discussion 1315.9 Conclusion and Future Directions 133References 1346 AN INSIGHT INTO TRAFFIC ENGINEERING IN SOFTWARE-DEFINED NETWORKS 137Prabu U. and Geetha V.6.1 Introduction 1386.2 Related Works 1426.3 Review on Traffic Engineering Techniques in SDN 1456.4 Review on Traffic Engineering Techniques in Hybrid SDN 1636.5 Review on Traffic Matrix Estimation and Measurement Techniques in SDN 1696.6 Analysis and Research Direction 1776.7 Conclusion and Future Scope 179References 1797 NETWORK FUNCTIONS VIRTUALIZATION AND SDN 191Priyanka Kujur and Sanjeev Patel7.1 Introduction 1927.2 Types of Virtualizations 1947.2.1 Server Virtualization 1947.2.2 Network Virtualization 1957.2.3 Application Virtualization 1957.2.4 Desktop Virtualization 1977.2.5 Storage Virtualization 1977.3 Wireless Network Virtualization 1987.3.1 Radio Spectrum Resources 1987.3.2 Wireless Network Infrastructure 1997.3.3 Wireless Virtual Resources 2007.3.3.1 Spectrum-Level Slicing 2007.3.3.2 Infrastructure-Level Slicing 2007.3.3.3 Network-Level Slicing 2007.3.3.4 Flow-Level Slicing 2007.3.4 Wireless Virtualization Controller 2017.4 Network Functions Virtualization and Software-Defined Network 2017.4.1 Network Virtualization 2017.4.2 Network Functions Virtualization 2017.4.2.1 Network Functions Virtualization Infrastructure 2027.4.2.2 Virtual Network Functions 2037.4.2.3 Network Functions Virtualization Management and Orchestration 2037.4.2.4 NFV Challenges 2047.4.3 Benefits of NFV 2047.4.3.1 Coexistence of Dissimilar Network 2047.4.3.2 Encouraging Network Innovation 2047.4.3.3 Deployment of Agile Network Capabilities 2047.4.3.4 Provisioning of Independent and Diverse Networks 2057.4.3.5 Resource Optimization 2057.4.3.6 Deployment of Distinct Network Services 2057.4.4 Software-Defined Networking (SDN) 2057.4.4.1 Traditional Networks 2057.4.4.2 Need for New Network Architecture 2067.4.4.3 Introduction to SDN 2067.4.4.4 SDN Implementation 2087.4.4.5 SDN Design 2087.4.4.6 SDN Operation 2097.4.5 Open Flow 2107.4.5.1 Open Flow Architecture 2117.4.5.2 Defining Flow in Open Flow 2127.4.5.3 Flow and Group Table 2137.4.6 SDN Benefits 2147.4.6.1 Centralized Network 2147.4.6.2 Programmability of the Network 2147.4.6.3 Rise of Virtualization 2147.4.6.4 Lower Operating Cost 2157.4.6.5 Device Configuration and Troubleshooting 2157.4.7 SDN Challenges 2157.4.7.1 Reliability 2157.4.7.2 Scalability 2157.4.7.3 Performance Under Latency Constraints 2167.4.7.4 Use of Low-Level Interface Between the Controller and the Network Device 2167.4.7.5 Controller Placement Problem 2167.4.7.6 Security 2177.4.8 SDN versus Traditional Network 2177.4.9 Network Function Virtualization versus SDN 2187.5 SDN Architecture 2197.5.1 Data Plane 2197.5.2 Control Plane 2207.5.3 Application Layer 2207.6 Software-Defined Networking Application 2207.6.1 Adaptive Routing 2207.6.2 Load Balancing 2217.6.3 Boundless Roaming 2217.6.4 Network Maintenance 2227.6.5 Network Security 2227.6.6 SDN for Cloud Computing 2227.6.7 Internet of Things 2247.7 Conclusion and Future Scope 224References 2258 SDN-ENABLED NETWORK VIRTUALIZATION AND ITS APPLICATIONS 231Anil Kumar Rangsietti and Siva Sairam Prasad Kodali8.1 Introduction 2328.2 Traditional Cloud Data Centers 2348.2.1 SDN for Enabling Innovative Traffic Engineering Tasks in Cloud Data Centers 2368.2.1.1 Optimal Routing Mechanisms 2368.2.1.2 Flexible Traffic Steering During Network Failure Recovery 2388.2.1.3 Improved Topology Management Mechanisms 2388.2.1.4 Innovative Traffic Analysis and Monitoring Mechanisms 2398.2.1.5 General Challenges in Adopting SDN 2398.2.2 SDN Role in Flexible Network Virtualization 2418.2.2.1 Sharing of Physical Infrastructure and Enforcing Multiple Customer Policies 2428.2.2.2 Strict Customer Policies Enforcement and Service Level Agreements (SLA) Guarantee 2438.2.2.3 Failures of Devices or Links 2438.2.2.4 Optimal Utilization of Cloud Resources 2448.3 Importance of SDN in Network Function Virtualization (NFV) 2458.3.1 Network Service Chaining (NSC) 2488.3.2 Importance of NFs Placement in a Cloud Environment 2498.3.3 Importance of NF Placement and Scaling in NSC 2518.4 SDN and Network Virtualization Role in Evolution of Next-Generation Wi-Fi and Mobile Networks 2538.4.1 Software-Defined Solutions for Enterprise Wireless LANs (WLANs) 2538.4.1.1 Software-Defined APs 2548.4.1.2 SDN Switches and Controller 2568.4.2 Software-Defined Mobile Networks and Telecommunication Clouds 2588.4.3 Necessity and Importance of Telecommunication Clouds 2598.4.3.1 SDN- and NFV-Enabled Cloud Environments 2608.4.3.2 Lightweight Virtualization Technologies 2618.4.3.3 Novel Application Architecture, Such as Cloud Native Applications and Microservices 2638.5 SDN and NFV Role in 5G and Smart Cities 2648.5.1 SDN and NFV Role in Designing Deployment Environment for IoT Applications 2658.5.2 Cloud-Fog-Edge Computing Environments 2668.5.3 SDN- and NFV-Enabled 5G and Network Slicing Deployment 2698.6 Conclusions and Future Scope 271References 2729 SOFTWARE-DEFINED NETWORKING: RECENT DEVELOPMENTS AND POTENTIAL SYNERGIES 279Jasminder Kaur Sandhu, Bhawna Singla, Meena Pundir, Sanjeev Rao and Anil Kumar Verma9.1 Introduction 2809.2 Characteristics of Software-Defined Networking 2829.2.1 Open Standards and Vendor Neutral 2829.2.2 Centrally Managed 2839.2.3 Decoupled 2839.2.4 Dynamic/Agile 2839.2.5 Flow-Based Management 2839.2.6 Programmable 2839.3 Applications of Software-Defined Networking 2849.3.1 Specific Purposes 2849.3.1.1 Network Management 2849.3.1.2 Middle-Box 2849.3.2 Security 2859.3.3 Networks 2859.3.3.1 Optical Network 2869.3.3.2 Home Network 2869.3.3.3 Wireless Network 2869.4 Security Issues in Software-Defined Networking 2879.4.1 Authentication and Authorization 2879.4.2 Access Control and Accountability 2889.4.3 Threats from Applications 2899.4.4 Threats Due to Scalability 2899.4.5 Denial of Service (DoS) Attacks 2909.4.6 Challenges in Distributed Control Plane 2909.5 Potential Attacks in Software-Defined Networking 2919.5.1 Spoofing 2919.5.2 ARP Spoofing 2919.5.2.1 IP Spoofing 2939.5.3 Tampering 2939.5.4 Repudiation 2949.5.5 Information Disclosure 2959.5.6 DoS 2959.5.7 Elevation of Privilege 2969.6 Solutions to Security Issues and Attacks in Software-Defined Networking 2979.6.1 Spoofing 2979.6.1.1 ARP Spoofing 2979.6.1.2 IP Spoofing 3019.6.2 Tampering 3019.6.3 Repudiation 3019.6.3.1 Nonrepudiation Verification 3019.6.3.2 Accountability 3029.6.4 Information Disclosure 3029.6.4.1 Scanning-Based Solutions 3029.6.4.2 Information Disclosure Countermeasure 3029.6.5 Denial of Service (DoS) 3029.6.6 Elevation of Privilege 3039.7 Software-Defined Networking Framework 3039.7.1 Global Flow Table 3049.7.2 VNGuard 3049.8 Security Enhancement Using the Software-Defined Networking Framework 3059.8.1 SDN Firewall 3059.8.2 Access Control 3079.8.3 Intrusion Detection System/Intrusion Prevention System (IDS/IPS) 3079.8.4 SDN Policies 3079.8.5 Monitoring and Auditing 3089.8.6 Privacy Protection 3089.8.7 SDN WiFi Networks 3089.8.8 Mobile SDN 3099.8.9 BYOD 3099.8.10 SDN Open Labs 3099.9 Open Challenge 3109.9.1 Interaction Between Different Controllers and Switches 3109.9.2 Controller Security 3109.9.3 Managing Heterogenous Controllers 3109.9.4 Standard Protocol for Controller 3119.9.5 Standard Protocol Between Control and Management Plane 3119.9.6 Managing the Load Between Controllers 3119.10 Recommended Best Practices 3119.10.1 Authentication 3129.10.2 Access Control 3129.10.3 Data Confidentiality 3129.10.4 Nonrepudiation 3129.10.5 Data Integrity 3139.10.6 Communication Security 3139.10.7 Privacy 3139.10.8 Availability 3139.11 Conclusion and Future Scope 314References 31510 SECURITY CHALLENGES AND ANALYSIS FOR SDN-BASED NETWORKS 321Priyanka Kujur, Subhra Priyadarshini Biswal and Sanjeev Patel10.1 Introduction 32210.2 Threat Model 32510.2.1 Spoofing 32510.2.2 Tampering 32510.2.3 Repudiation 32510.2.4 Information Disclosure 32510.2.5 Denial of Service 32610.2.6 Elevation of Privileges 32610.2.7 Threats in SDN Networks 32610.2.7.1 Attack Surface in SDN 32610.2.7.2 Security Issues in SDN 32710.2.7.3 Addressing SDN Security Matters 32810.2.7.4 Attack to the SDN Architecture 32810.2.8 Policy-Based SDN Security Architecture 33010.3 Control Plane Security of SDN 33110.3.1 Application Coexistence 33110.3.2 Flow Constraints vs. Flow Circuits 33210.3.3 An Application Permission Model 33210.3.4 Application Accountability 33210.3.5 Toward a Security-Enhanced Control Layer 33210.4 Security Analysis 33210.5 Network-Wide Security in SDN 33310.5.1 Security Systems Development 33410.5.2 Flow Sampling 33510.5.3 Traffic Monitoring 33610.5.4 Access Control 33710.5.5 Content Inspection 33710.5.6 Network Resilience 33810.5.7 Security Middle Boxes 33910.5.8 Security Challenges in SDN 33910.6 SDN-Based Virtual and Cloud Networks Security 34010.6.1 Virtual Networks Security 34010.6.2 Cloud Networks Security 34010.7 SDN-Based Secure IoT Frameworks 34110.8 Conclusion and Future Scope 341References 34211 A NOVEL SECURE SDN ARCHITECTURE FOR RELIABLE DATA TRANSMISSION IN 5G NETWORKS 347J. Sathiamoorthy, Usha M. and R. Bhagavath Nishant11.1 Introduction 34811.1.1 Organization of the Chapter 35211.2 Related Work 35211.3 SDN-5G Networks—What Does the Future Hold? 35611.4 Layers in SDN-5G Networks 35811.5 Security Threats 35911.5.1 Control Plane 36011.5.2 Data Plane 36111.5.3 Application Plane 36111.6 SDN-5G Networks—Possible Attacks and Threats 36211.6.1 Distributed Denial of Services (DDoS) 36211.6.2 Solution for DDoS—To Analyze User’s Behavior via Detection Through Entropy 36311.6.3 Solution for Packet Sniffing 36311.6.4 Steps in the Handshake Process 36411.6.5 ARP Spoofing Attack 36511.6.5.1 ARP Authentication 36511.6.5.2 Operating System Patching 36511.6.5.3 API Exploitation 36611.6.5.4 Password Guessing or Brute Force 36611. 7 Proposed Methodology 36711.7.1 Strong Security Architecture for SDN-Based 5G Networks 36711.8 Security Analysis 37311.8.1 IP Spoofing 37311.8.2 MITM Attack 37911.8.3 Replay Attack 37911.9 Conclusion and Future Scope 388References 38812 SECURITY AND PRIVACY ISSUES IN 5G/6G-ASSISTED SOFTWARE-DEFINED NETWORKS 391Durbadal Chattaraj and Ashok Kumar Das12.1 Introduction 39212.1.1 SDN Applications 39412.1.2 Security and Privacy Issues in SDN 39612.1.3 Chapter Contributions 39712.1.4 Chapter Organization 39712.2 Security and Functionality Requirements in SDN 39812.3 Network and Threat Models 39912.3.1 Network Model 39912.3.2 Adversary Model 40212.4 Taxonomy of Security Protocols in SDN 40512.5 Security Solutions in SDN 40612.5.1 Authentication 40712.5.2 Access Control 40812.5.3 Key Management 40912.5.4 Intrusion Detection 41012.5.5 Blockchain-Based Security Solution 41212.6 Comparative Analysis 41312.6.1 Comparative Analysis on Communication and Computational Costs 41412.6.2 Comparative Analysis on Security Features 41512.7 Conclusion and Future Scopes 419References 42013 EVOLVING REQUIREMENTS AND APPLICATION OF SDN AND IOT IN THE CONTEXT OF INDUSTRY 4.0, BLOCKCHAIN AND ARTIFICIAL INTELLIGENCE 427Sunil Kr. Singh, Sunil Kr Sharma, Dipesh Singla and Shabeg Singh Gill13.1 Introduction 42813.2 Objectives of the Chapter 43013.3 Organization of the Chapter 43113.4 Software-Defined Network Architecture 43113.4.1 SDN Planes 43413.4.1.1 Control Plane 43413.4.1.2 Data Plane 43413.4.1.3 Application/Management Plane 43513.4.2 QoS: Quality of Service 43613.4.2.1 Jitter 43613.4.2.2 Packet Loss 43613.4.2.3 Bandwidth 43713.4.2.4 Latency 43713.4.3 OpenQoS 43713.4.4 Secondnet 43813.4.5 OpenQFlow 44013.4.6 CloudNaaS 44113.4.7 Scalable QoS and Automated Control for Network Convergence 44213.5 Security 44213.5.1 Fresco 44213.5.2 NetFuse 44313.5.3 Scalability 44413.5.4 DIFANE 44413.5.5 DevoFlow 44513.5.6 Maestro 44513.5.7 Load Balancing 44613.5.8 AsterX 44613.5.9 OpenFlow-Based Server Load Balancing Gone Wild 44713.6 Software-Defined Network (SDN) With IoT 44713.7 SDN-Based IoT Architecture 44813.7.1 IoT’s Architecture With Software Programming Functions 44913.7.2 SDN Controllers 44913.7.3 Gateways/Routers 45113.7.4 Sinks 45213.7.5 Data Center 45213.7.6 Design Principles 45313.7.7 Dynamic Deployment of Security Policies 45413.8 Role of SDN and IoT in Industry 4.0 45613.8.1 Industry 4.0 Explained 45713.8.1.1 Mass Customization 45713.8.1.2 Flexibility 45713.8.1.3 Additive Manufacturing 45713.8.1.4 Better Decision Making 45813.8.1.5 Simulation and Digital Twins 45813.8.1.6 Integrated Supply Chain 45813.8.1.7 Energy Management 45813.8.1.8 Creating Value from Big Data 45913.8.1.9 Cyber-Physical Systems 45913.8.2 Brokerage Services 46213.8.3 Man4Ware 46413.8.4 Security 46613.8.5 Additional Advanced Service Alternatives 46713.8.6 Interconnection and Integration Between IoT and Industry 4.0 46713.9 Work in Related Domains of IoT 46813.10 IoT Computing and Management With SDN 47013.10.1 Edge Computing 47013.10.2 Convergence of NFV and Edge Computing 47113.10.3 Use of Artificial Intelligence (AI) in Software-Defined Networks (SDN) 47213.10.4 SDN Network Structure and OpenFlow (OF) Protocol 47313.11 Scope of Blockchain to Secure IoT Using SDN 47413.11.1 The Architecture of Blockchain-Based SDN 47513.11.2 Workflow of BC-SDN and Smart Contracts 47713.11.2.1 Key Components of Workflow 47813.12 SDN in Various Emerging Areas of IoT 48113.13 Conclusion and Future Scope 486References 48914 SDN-BASED CLOUD COMBINING EDGE COMPUTING FOR IOT INFRASTRUCTURE 497Jyoti Snehi, Manish Snehi, Devendra Prasad, Sarita Simaiya, Isha Kansal and Vidhu Baggan14.1 Introduction 49814.1.1 Architecture of SDN vs. Traditional Networks 50314.1.2 SDN/NFV Tiers 50414.1.3 Objective of Chapter 50914.1.4 Organization of Chapter 50914.2 Challenges with SDN-Based Cloud and NFV Technologies for IoT 51014.3 Literature Survey 51914.4 Knowledge-Driven SDN-Based IoT Architecture That Leverages Edge Cloud 52614.5 Discussion and Future Recommendation 53214.6 Conclusion 533References 533Index 541
Java für Kids
* EINFACHER EINSTIEG IN DIE JAVA-PROGRAMMIERUNG MIT VIELEN PROFI-TIPPS* ZAHLREICHE KLEINE SPIELE PROGRAMMIEREN LERNEN MIT SCHRITT-FÜR-SCHRITT-ANLEITUNGEN* MIT FRAGEN UND AUFGABEN AM ENDE JEDES KAPITELS SOWIE HILFREICHEN SPICKZETTELN ZUM DOWNLOADJava - wer denkt da nicht an eine Insel, auf der es heiß und feucht ist, mit Vulkanen, viel Wald und seltenen Tieren? Du nicht? Du denkst an eine Programmiersprache? Dann bist du hier richtig! In diesem Buch erfährst du, wie du deinem Computer Befehle gibst und unter anderem kleine Spiele programmierst - und er dann tut, was du möchtest.Hans-Georg Schumann zeigt dir, wie du mit Java erste Programme schreibst und welche Zutaten du dazu benötigst: Variablen, Kontrollstrukturen, Klassen und mehr. Schritt für Schritt werden die Quelltexte umfangreicher bis hin zur objektorientierten Programmierung. So schaffst du den Einstieg in Java zusammen mit der Entwicklungsumgebung Eclipse spielend leicht!Schnell hast du ein erstes Lotto-Spiel programmiert, dein Programm mit Buttons und Häkchen professionell ausgestattet und den Rechner dazu gebracht, Quizfragen zu stellen. Du erfährst aber auch, wie du mit Java bunte Grafiken erstellst oder Figuren animierst, also zum Laufen bringst. Zudem macht das Programmieren von Spielen wie Hangman oder Stein-Schere-Papier nicht nur dir als Programmierer oder Programmiererin großen Spaß, sondern auch allen Spielern und Spielerinnen.Programmieren mit Java ist nicht so kompliziert, wie es sich anhört! Denn alles wird genau erklärt und am Ende der Kapitel noch einmal zusammengefasst.AUS DEM INHALT:* Was eine Entwicklungsumgebung ist und wie du z.B. mit Eclipse programmierst* Objekte, Klassen und Pakete kennenlernen* Lleine Spiele entwickeln: Zufallszahlen und Zahlenraten* Grundlagen objektorientierter Programmierung* Optische Gestaltung mit Swing* Ein Quiz-Spiel und Hangman programmieren* Buttons und andere Komponenten als Diagnosehilfe einsetzen* Eine Figur zum Laufen bringen* Zahlreiche Ideen für die Spieleprogrammierung: Von Stein-Schere-Papier bis zur spannenden Käferjagd* Ausführlicher Anhang zur Installation und FehlersucheZUM DOWNLOAD UNTER WWW.MITP.DE/0520:* alle Projekte aus dem Buch* Lösungen zu den Fragen und Aufgaben im Buch* Hilfreiche Spickzettel zum AusdruckenHans-Georg Schumann war Informatik- und Mathematiklehrer an einer Gesamtschule. Er hat bereits viele erfolgreiche Bücher in der mitp-Buchreihe »... für Kids« geschrieben.
SAP S/4 HANA-Systeme in Hyperscaler Clouds
Dieses Buch hilft Ihnen bei der Architektur, dem Setup, der Installation und dem Betrieb von SAP S/4HANA-Systemen in der Public Cloud von Amazon, Microsoft und Google. Blue-Prints, Beispielarchitekturen und konkrete Handlungsanweisungen helfen bei der Erreichung Ihres Ziels.ANDRÉ BÖGELSACK arbeitet als Principal Director bei der Firma Accenture in der Schweiz und berät Kunden aller Industrien bei der Nutzung von Hyperscaler Services für den Betrieb von SAP-Systemen. Er wurde in Informatik über das Thema SAP promoviert und ist weithin in der SAP Community und bei den Hyperscalern bekannt.ELENA WOLZ studierte Wirtschaftsinformatik an der Technischen Universität München. Als Produktverantwortliche für SAP S/4HANA am SAP University Competence Center München beschäftigt sie sich zentral mit der Bereitstellung von SAP S/4HANA-Systemen. Weiterhin begleitete sie ganzheitlich ein S/4HANA Deployment-Projekt in Hyperscaler-Cloud-Umgebung.JOHANNES RANK leitet die Basis am SAP University Competence Center in München und verantwortet seit vielen Jahren den Betrieb von SAP S/4HANA-Systemen in Cloud- und On-Premise Umgebungen.JESSICA TISCHBIEREK übernimmt seit Herbst 2021 die Rolle als SAP GTM Lead EMEA bei Google Cloud mit Standort München. Sie hat zuvor seit 2018 bei Google Cloud im Pre-Sales Umfeld als Customer Engineer Specialist for SAP on Google Cloud Kunden bei ihrer Cloud Transformation beraten. Dabei arbeitet sie mit globalen Unternehmen und Partnern zusammen.DHIRAJ KUMAR arbeitet als Manager bei Accenture in Indien und leitet mit seinem Team die Ausführung der Migrationen von sehr großen und komplexen SAP-Landschaften. Sein Fokus sind der Einsatz von neuartigen Methoden für die Bereitstellung von SAP.UTPAL CHAKRABORTY arbeitet als Manager bei der Accenture GmbH in Deutschland und hat mehrjährige Erfahrung beim Betrieb und der Migration von SAP-Systemen in die Cloud. Er arbeitet branchenübergreifend und hat bereits die SAP-Systeme einer Vielzahl von Kunden in die Cloud gehoben.Einleitung und Einführung zu Hyperscaler Clouds - SAP S/4HANA-Systeme in den Hyperscaler Clouds - Konzepte und Architekturen für SAP S/4HANA-Systeme auf Amazon Web Services – AWS - Konzepte und Architekturen für SAP S/4HANA-Systeme auf Microsoft Azure - Konzepte und Architekturen für SAP S/4HANA-Systeme auf Google Cloud - Installation und Provisionierung von SAP S/4HANA-Systemen auf den Hyperscaler Clouds - Zusammenfassung und Ausblick