Computer und IT
KI & Recht kompakt
Das Buch gibt einen kompakten Einblick in alle wesentlichen Rechtsfragen rund um den Einsatz Künstlicher Intelligenz in Unternehmen oder Produkten. Versierte Autoren mit Praxiserfahrung erläutern die wichtigsten rechtlichen Themen beim Einsatz intelligenter Systeme und behandeln nach einer Einführung in die technischen Grundlagen die Auswirkungen und Besonderheiten Künstlicher Intelligenz in den Bereichen:* Zivilrecht* Vertragsgestaltung* Lizenzierung * Haftung* Immaterialgüterrechte * Datenschutz* Strafrecht* ArbeitsrechtMatthias Hartmann ist Rechtsanwalt und Fachanwalt für IT-Recht. Er beschäftigt sich seit über 20 Jahren mit Rechtsfragen der Künstlichen Intelligenz und berät Hersteller und Nutzer von KI-Systemen als Gründungspartner der auf IT-Recht spezialisierten Kanzlei HK2 Rechtsanwälte. Die weiteren Autoren des Buches sind Experten in ihren jeweiligen Fachbereichen und haben sich intensiv mit den Rechtsfragen beim Einsatz Künstlicher Intelligenz auseinandergesetzt.Technische Grundlagen.-Künstliche Intelligenz im Zivilrecht.- Haftung am Beispiel automatisierter Fahrzeuge.- KI im Immaterialgüterrecht.-Datenschutz.- Datenschutz in öffentlichen KI-Forschungsprojekten.- KI im Arbeitsrecht.- Künstliche Intelligenz und das Strafrecht.
SketchUp For Dummies
THE FIRST STEP IN MAKING YOUR IDEAS A REALITYSketchUp offers a vast array of tools that help you get your building, woodworking, and design plans out of your head and into a real model. Even if you’ve never dabbled in the software, SketchUp All-in-One For Dummies makes it easy to get started as quickly as the ideas pop into your head!Providing real-world insight from top SketchUp insiders, these six-books-in-one teach you how to tackle the basics of the program and apply those skills to real-world projects. You’ll discover the basics of modeling as they apply to either free or paid versions of SketchUp before diving into creating models to use for making objects, constructing buildings, or redesigning interiors.* Navigate the SketchUp product mix* Get familiar with the basics of modeling* View and share your models* Make your architecture, interior design, and woodworking dreams a realityYou have tons of great ideas—and now you can harness this powerful software to bring them to life.BILL FANE is the author of AutoCAD For Dummies. He spent years as a product designer before becoming an educator focused on design tools. MARK HARRISON is a product manager for Trimble, Inc., SketchUp's parent company. He studies learnability in 3D software. JOSH REILLY is a training manager with Trimble and a longtime SketchUp instructor. INTRODUCTION 1About This Book 1Foolish Assumptions 2Icons Used in This Book 2Beyond the Book 3Where to Go from Here 4PART 1: GETTING STARTED WITH SKETCHUP 5CHAPTER 1: THE SKETCHUP SETUP 7Picking a Version of SketchUp 7SketchUp for Schools 9SketchUp Pro 9SketchUp for Web 10Trimble Connect 12Navigating SketchUp 12Customizing settings to see better 13Getting to know your mouse 13Finding your Zen with click-release, click-to-finish 14Working faster with keyboard shortcuts 15Introducing Undo 16Taking the 10-Minute SketchUp Tour 17The SketchUp Frame of Mind 19CHAPTER 2: GETTING A RUNNING START 21Making a Quick Model from Scratch 21Slapping On Some Paint 28Giving Your Model Some Style 31Switching On the Sun 33Sharing Your Masterpiece 35CHAPTER 3: ESTABLISHING THE MODELING MINDSET 37All about Edges and Faces 38Living on the edge 38Facing the facts about faces 39Understanding the relationship between edges and faces 41Drawing in 3D on a 2D Screen 43Giving instructions with the drawing axes 44Keeping an eye out for inferences 44Using inferences to help you model 47Warming Up Your SketchUp Muscles 49Getting the best view of what you’re doing 49Drawing and erasing edges with ease 52Injecting accuracy into your model 53Selecting what you mean to select 57Moving and copying like a champ 60Making and using guides 67Painting your faces with color and texture 70PART 2: MODELING IN SKETCHUP 73CHAPTER 4: BUILDING BUILDINGS 75Drawing Floors and Walls 76Starting out in 2D 77Coming up with a simple plan 82Doing an inside job 83Going from 2D to 3D 90Adding floors to your building 95Inserting doors and windows 104Staring Down Stairs 108The Subdivided Rectangles method 109The Copied Profile method 111Raising the Roof 113Building flat roofs with parapets 115Creating eaves for buildings with pitched roofs 116Constructing gabled roofs 117Making hip roofs 119Sticking your roof together with Intersect Faces 121CHAPTER 5: FALLING IN LOVE WITH COMPONENTS 125SketchUp Groupies 126Working with Components 127What makes components so great? 128Exploring the Components panel 132Creating your own components 138Editing, exploding, and locking component instances 140Discovering Dynamic Components 142Poking around to see what happens 147Taking Advantage of Components to Build Better Models 148Modeling symmetrically: Good news for lazy people 148Modeling with repeated elements 155CHAPTER 6: GOING BEYOND BUILDINGS 159Extruding with Purpose: Follow Me 160Using Follow Me 160Making lathed forms 162Creating extruded shapes 164Subtracting from a model with Follow Me 169Modeling with the Scale Tool 174Getting the hang of Scale 174Scaling profiles to make organic forms 177Making and Modifying Terrain 183Creating a new terrain model 184Editing an existing terrain model 192Building a Solid Tools Foundation 199Understanding solids 200Checking out the Solid Tools 202Putting the Solid Tools to work 204CHAPTER 7: KEEPING YOUR MODEL ORGANIZED 209Taking Stock of Your Tools 210Seeing the Big Picture: The Outliner 211Taking a good look at the Outliner 212Making good use of the Outliner 213Discovering the Ins and Outs of Tags 214What Tags are — and what they’re not 214Navigating the Tags panel 215Tag, you’re it! 216Staying out of trouble 217Putting It All Together 218CHAPTER 8: MODELING WITH TEXTURES, PHOTOGRAPHS, AND CAD FILES 223Painting Faces with Image Files 224Applying textures to flat faces 224Controlling color and transparency 232Applying textures to curved surfaces 233Modeling Directly from a Photo: Introducing Photo-Matching 238Choosing a Match Photo–friendly image 238Modeling by photo-matching 239Making your matched photo reappear (or disappear) 245Adding Geographic Data 246Working with Imported CAD files 249Importing a CAD file into SketchUp Pro 249Cleaning up imported CAD data 252Modeling on top of imported CAD data 256CHAPTER 9: 3D PRINTING WITH SKETCHUP MODELS 263Building Up a View of 3D Printing 264Knowing Your 3D Printers 265Fused deposition modeling (FDM) 265Stereolithography (SLA) 266Fused powder modeling (FPM) 266Designing for Successful 3D Printing 267Building a model in layers 267Designing to avoid support material 268Bridging 269Preparing a SketchUp Model for 3D Printing 270Peeking inside a model 270Knowing what makes a solid model 271Using Solid Tools to combine groups 272CleanUp3 and Solid Inspector2 273Combining groups with Intersect Faces 275Checking a model’s normals 277Size matters! 278Breaking your model into arts 279Exporting Your SketchUp File 2843D printing services 284Using Your 3D Printer 285Print early, print often 285Inside your model 286Going beyond Basic 3D Printing 287Designing Parts that connect 287Testing your model’s moving Parts 291Designing Things That Move 292Captive joints 292Pins 293Gears 293Assemblies 294PART 3: VIEWING YOUR MODEL IN DIFFERENT WAYS 295CHAPTER 10: WORKING WITH STYLES AND SHADOWS 297Styling Your Model’s Appearance 298Choosing how and where to apply styles 298Applying styles to your models 299Editing your styles 301Creating a new style 318Saving and sharing styles you make (Desktop only) 319Working with Shadows 322Discovering the shadow settings 322Adding depth and realism 324Creating accurate shadow studies (Desktop only) 328CHAPTER 11: PREPARING MODELS FOR PRESENTATION 333Exploring Your Creation on Foot 334These tools were made for walking 334Stopping to look around 337Setting your field of view 337Taking the Scenic Route 339Creating scenes 340Moving from scene to scene 342Modifying scenes after you make ’em 344Mastering the Sectional Approach 352Cutting plans and sections 353Animating sections with scenes 361PART 4: SHARING WHAT YOU’VE MADE 363CHAPTER 12: CREATING IMAGES, PRESENTATIONS, AND DOCUMENTS IN LAYOUT 365Building a LayOut Document 366Customizing a document’s pages and layers 368Adding and editing text 370Inserting SketchUp model views 372Adding photos and other graphics 379Drawing with LayOut’s vector tools 380Create clipping masks to emphasize details 384Annotating with labels 385Displaying dimensions 387Creating tables 392Creating Your Own Templates 394Putting Together Your Own Scrapbooks 395Getting Your Document out the Door 396Printing your work 396Exporting a PDF or image files 396Exporting a DWG or DXF file 398Going full-screen 399CHAPTER 13: OTHER WAYS TO SHARE YOUR WORK 401Exporting Images from SketchUp for Web 402Making Sure You Export Enough Pixels 405Exporting Enough Pixels for a Digital Presentation 407Printing from SketchUp for Web 407Printing to Scale in SketchUp for Web 408Making Movies with Animation Export 410Getting ready for prime time 410Exporting a movie 411Figuring out the Animation Export Options settings 413Exporting a CAD File 415Preparing your file 415Exporting a 2D DWG file 416Exporting a 3D DWG file 417Working with the 3D Warehouse 418Why use 3D Warehouse? 418Getting to the 3D Warehouse 419Find, preview, and download models 420Uploading a model 420Managing models online 421PART 5: THE PART OF TENS 425CHAPTER 14: TEN SKETCHUP TRAPS AND THEIR WORKAROUNDS 427SketchUp Won’t Create a Face Where You Want It To 427Your Faces Are Two Different Colors 429Edges on a Face Won’t Sink In 430SketchUp Crashed, and You Lost Your Model 431SketchUp is Sooooo Slooooooooow 432You Can’t Get a Good View of the Inside of Your Model 434A Face Flashes When You Orbit 435You Can’t Move Your Component the Way You Want 435Bad Stuff Happens Almost Every Time You Use the Eraser 436All Your Edges and Faces Have Different Tags 437CHAPTER 15: TEN SKETCHUP QUICK WINS 439Setting Your Click Style to Click-Move-Click 439Customizing Shortcuts 440Using the Inference Locking Force 442Transporting Yourself across Space and Time 444Rounding Off Edges with the Arc Tool 445Using the Scale Tool to Set Length for Simple Objects 446Ten Extensions for Dummies 447Getting SketchUp on Your Smartphone 450Turning Off Your Profiles 453Connecting with the SketchUp Community 453Index 455
Clean Agile - Deutsche Ausgabe
Die Essenz der agilen SoftwareentwicklungZurück zu den Ursprüngen: Die agilen Werte und Prinzipien effektiv in der Praxis umsetzen Lernen Sie aus Uncle Bobs jahrzehntelanger Erfahrung, worauf es bei der agilen Softwareentwicklung wirklich ankommt Die ursprünglichen agilen Werte und Prinzipien kurz und prägnant für den Praxiseinsatz erläutert Von den unternehmerischen Aspekten über die Kommunikation im Team bis zu den technischen Praktiken wie Test-Driven Development (TDD), einfaches Design und Pair Programming Fast 20 Jahre nach der Veröffentlichung des agilen Manifests ruft der legendäre Softwareentwickler Robert C. Martin (»Uncle Bob«) dazu auf, sich wieder auf die ursprünglichen Werte und Prinzipien zurückzubesinnen, die den eigentlichen Kern der agilen Softwareentwicklung ausmachen und die für die Praxis von zentraler Bedeutung sind. Mit Clean Agile lässt er alle an seiner jahrzehntelangen Erfahrung teilhaben und räumt mit Missverständnissen und Fehlinterpretationen auf, die im Laufe der Jahre entstanden sind. Dabei wendet er sich gleichermaßen an Programmierer und Nicht-Programmierer. Uncle Bob macht deutlich, was agile Softwareentwicklung eigentlich ist, war und immer sein sollte: ein einfaches Konzept, das kleinen Softwareteams hilft, kleine Projekte zu managen – denn daraus setzen sich letztendlich alle großen Projekte zusammen. Dabei konzentriert er sich insbesondere auf die Praktiken des Extreme Programmings (XP), ohne sich in technischen Details zu verlieren. Egal, ob Sie Entwickler, Tester, Projektmanager oder Auftraggeber sind – dieses Buch zeigt Ihnen, worauf es bei der Umsetzung agiler Methoden wirklich ankommt. Aus dem Inhalt: Ursprünge der agilen Softwareentwicklung Agile Werte und Prinzipien Der richtige Einsatz von Scrum Agile Transformation Extreme Programming Unternehmensbezogene Praktiken: User Stories, Velocity, kleine Releases und Akzeptanztests Teambezogene Praktiken: gemeinsame Eigentümerschaft, kontinuierliche Integration und Stand-up-Meetings Technische Praktiken: TDD, Refactoring, einfaches Design und Pair Programming Zertifizierung und Coaching Software Craftsmanship
G Suite For Dummies
GET FAST ANSWERS TO YOUR G SUITE QUESTIONS WITH THIS FRIENDLY RESOURCEG Suite For Dummies is the fun guide to the productivity suite that’s quickly winning over professional and personal users. This book shares the steps on how to collaborate in the cloud, create documents and spreadsheets, build presentations, and connect with chat or video. Written in the easy-to-follow For Dummies style, G Suite For Dummies covers the essential components of Google’s popular software, including:* Google Docs for word processing* Gmail for email* Google Calendar for scheduling and day planning* Google Sheets for spreadsheet functionality* Google Drive for data storage* Google Hangouts and Google Meet for videoconferencing and calling capability The book helps navigate the G Suite payment plans and subscription options as well as settings that ensure your own privacy and security while operating in the cloud. Perfect for anyone hoping to get things done with this tool, G Suite For Dummies belongs on the bookshelf of every G Suite user who needs help from time to time.PAUL MCFEDRIES has worked, programmed, and even talked to computers large and small since 1975. Primarily a writer, he has worked as a programmer, consultant, and database and website developer. His more than 95 books have sold 4+ million copies worldwide. INTRODUCTION 1About This Book 1What You Can Safely Ignore 2Foolish Assumptions 2Icons Used in This Book 3Beyond the Book 4Where to Go from Here 4PART 1: KEEPING YOUR AFFAIRS IN ORDER 5CHAPTER 1: G SUITE: THE 50¢ TOUR 7What is G Suite? 8What You Get with G Suite 9Using Apps Online — Really? Here are the FAQs 10Introducing Online Collaboration 14Going Mobile 15CHAPTER 2: TAMING THE EMAIL BEAST 17Rhymes with Email: Getting to Know Gmail 17Touring the Gmail app 18Touring the Gmail Inbox 19Showing your good side: Adding a profile photo 20The Outbox: Sending an Email Message 22The basics: Composing and sending a message 22Easier addressing: Using the Contacts app 24Inserting attachments and other hangers-on 25Creating a signature 25Scheduling a send 27Undoing a send 28The Inbox: Handling Incoming Messages 29Refreshing your messages 29Reading your messages 29Easier reading with the Reading pane 30Attending to attachments 32Responding to a message 33Creating a task from a message 34Setting up a vacation responder 34Selecting messages 36Dealing with the Onslaught 37Cleaning out your inbox 37Labeling your messages 38Muting a conversation 42Snoozing a conversation 42Searching for messages 44Filtering your messages 45CHAPTER 3: PLACES TO GO, PEOPLE TO SEE: MANAGING YOUR CALENDAR 47Navigating the Calendar Window 48Changing the Calendar View 50Time Traveling: Changing the Date 51Setting Your Social Schedule: Entering Events 52Adding an event 53Editing an event 55Lather, rise, repeat: Creating a repeating event 56Scheduling an all-day event 59Psst: Setting up event notifications 60Nudge, nudge: Creating a reminder 62Things to do: Creating a task 63Going Calendar Crazy: Adding Even More Calendars 66CHAPTER 4: FRIENDS, ROMANS, COUNTRYMEN: MANAGING YOUR CONTACTS 69Eyeballing the Contacts App 70What’s with those “other” contacts? 71Configuring the Contacts columns 72Changing the sort order 73Populating Your Contacts List 74Adding a contact from scratch 74Adding a contact from Gmail 75Going legit: Turning an “other” contact into a real contact 76Adding multiple contacts all at once 77Importing contacts 78Managing Your Contacts 79Editing a contact 80Grouping contacts with labels 81Merging duplicate contacts 82Exporting contacts 83Deleting contacts 84Doing Stuff with Your Contacts 85Emailing a contact 85Emailing a contact who has multiple addresses 86Emailing multiple contacts 86Calling a contact 87Surfing to a contact’s website 87PART 2: MAKING STUFF: DOCUMENTS, SPREADSHEETS, AND MORE 89CHAPTER 5: GETTING STARTED WITH DOCS 91Opening Docs 92Touring the Google Docs Home Page 92Creating a Shiny, New Document 94Checking Out the Document Screen 94Dealing with Documents 96Saving your work — just kidding! 96Naming a new document 97Opening an existing document 97Saving a copy of a document 99Learning Some Editing Basics 100Navigating with the keyboard 100Selecting text 102Deleting stuff 102Deleting characters 103Fooling around with special characters 104Stating your case: Uppercase versus lowercase 106Adding links 106Setting tab stops 107Search and Ye Shall Replace 108Finding stuff 108Some notes on searching 109Finding-and-replacing stuff 110Checking Spelling and Grammar 111Handling spelling slip-ups 111Handling grammar gaffes 112CHAPTER 6: LOOKING GOOD: FORMATTING DOCUMENTS 115Making Your Characters Look Good 115Getting familiar with fonts 116Formatting with fonts 118Avoiding the ransom note look 120Copy text formatting by “painting” it 121Making Your Lines and Paragraphs Look Good 121Getting your text ducks in a row: Aligning paragraphs 121Breathing room: Changing the line spacing 123Giving paragraphs some elbow room 125Keeping stuff together 125Indenting paragraphs 126Using Styles to Make Looking Good Look Easy 128Style advantages 129Applying default Docs styles to avoid reinventing the style wheel 130Updating a default style to taste 132Saving your updated styles 132Telling Docs to use your updated styles 133Resetting the default styles 133Making Lists, Checking Them Twice 133Putting your affairs in order with numbered lists 133Scoring points with bulleted lists 135Image is Everything: Adding Graphics 137Inserting an image from your PC 138Inserting an image from the web 139Inserting an image from Drive 139Inserting an image from Photos 140Inserting an image from a URL 140Inserting a photo from your PC’s camera 140Setting a few image options 141CHAPTER 7: FIDDLING WITH DOCUMENT LAYOUT 143Building a Table with Your Bare Hands 143What is a table? 144Inserting a table 145Populating a table 145Adjusting column widths 146Selecting table cells 147Setting table properties 147Inserting a new row or column 149Deleting a row or column 150Merging table cells 150Headers and Footers from Head to Toe 151Adding a header 151Adding a footer 153Opening the header or footer for editing 154Creating a unique first-page header and footer 154Creating unique odd and even page headers and footers 154Changing the Page Setup 156Setting the page margins 156Changing the page orientation 158Changing the paper size 158Adding a page break 159Adding a section break 159Working with Columns, Just Like the Pros 161Getting text into columns, Part 1: The easy way 161Getting text into columns, Part 2: The ever-so-slightly-harder way 162Entering text in columns 163Show Your Work: Adding Footnotes 164CHAPTER 8: GETTING STARTED WITH SHEETS 167Opening Sheets 168Touring the Google Sheets Home Page 168Creating a New Spreadsheet 170Checking Out the Spreadsheet Screen 170Dealing with Spreadsheets 172Sheets saves your work for you 172Naming a new spreadsheet 173Opening an existing spreadsheet 173Saving a copy of a spreadsheet 174Understanding Sheet Cells 174Entering Data 175Entering text 175Entering numbers 176Entering dates and times 177Navigating a sheet 179Editing cell contents 180Working with Ranges 180Understanding ranges 180Selecting a range 181Specifying a range input in a dialog box 184Working with named ranges 185Filling a range with data 187Filling a range with a series of values 187Copying a range 188Moving a range 188Formatting a Cell 189Formatting the cell font 189Aligning cell data 190Applying a numeric, date, or time format 191Using the Paint Format tool 192Working with Columns and Rows 193Adjusting the column width 193Adjusting the row height 194Hiding columns and rows 196Inserting columns and rows 196Deleting columns and rows 197CHAPTER 9: CRUNCHING NUMBERS 199Building Formulas 199Creating a simple formula 200Understanding formula operators 201Avoiding problems with cell references 202Using Functions for More Powerful Formulas 206Entering functions directly 207Entering functions via the Function menu 208Using a Range as a Database 209Sorting a range 209Filtering a range 211Visualizing Data with Charts 213Getting to know the chart elements 213How Sheets converts sheet data into a chart 214Creating a chart 216Moving a chart to its own sheet 217Editing the chart 217Building Pivot Tables 218Understanding pivot tables 219Exploring pivot table features 220Building a pivot table 221Adding multiple fields to a pivot table area 224Pivoting a field to a different area 225Grouping pivot table values 225Filtering pivot table values 227CHAPTER 10: CREATING EYE-POPPING PRESENTATIONS 229Opening Slides 230Touring the Google Slides Home Page 230Creating a New Presentation 232Checking Out the Presentation Screen 232Dealing with Presentations 234Slides saves your work for you 234Naming a new presentation 234Opening an existing presentation 234Saving a copy of a presentation 235Applying a presentation theme 235Working with Slides 237Adding a slide to the presentation 237Adding data to a slide 239Selecting slides 242Rearranging slides 242Changing the layout of a slide 242Changing the slide background 243Working with the Master Slide 243Formatting Slide Text 245Formatting with fonts 245Aligning paragraphs 246Slide formatting considerations 247Animating Your Slides 249Learning a few animation guidelines 249Setting up a slide transition 250Animating slide objects 252Running a Slide Show 253Starting the slide show 253Navigating slides 253Navigating the slide show from the keyboard 255PART 3: COLLABORATING WITH YOUR TEAM 257CHAPTER 11: COLLABORATING ON FILES 259Sharing a File 259Sharing a file for editing 261Sharing a file for commenting and suggesting 262Sharing a file for viewing 263Sharing a link to a file 264Emailing your collaborators 267Setting an access expiration date 267Changing a user’s sharing access 268Removing a user’s sharing access 269Dealing with Shared Files 269Responding to a sharing invitation 269Viewing which files have been shared with you 270Working on a Shared File 271Making suggested edits to a shared Docs document 273Adding comments to a file 274Requesting edit access 275Chatting with your fellow collaborators 276Viewing a file’s sharing activity 276Reviewing a Shared File 278Accepting or rejecting suggested changes in Docs 278Working with comments 280CHAPTER 12: COLLABORATING WITH CALENDAR 281Inviting Guests to a Meeting 282Inviting guests to a new meeting 282Inviting guests to an existing meeting 283Controlling your guest list 284Coordinating attendee schedules 286Getting suggested meeting times 287Responding to a Meeting Invitation 288Sharing Your Calendar 289Controlling access to your calendar in your organization 289Making your calendar available to the public 290Making your calendar unavailable to other G Suite apps 291Sharing your calendar on an ad hoc basis 291Sharing your calendar with only specific people 292Subscribing to a Shared Calendar 294Importing Events 295Exporting Events 296CHAPTER 13: SETTING UP VIDEO MEETINGS 297What Do You Need to Use Meet? 298Allowing Meet to use your camera and microphone 299Making sure Meet is using the equipment you want 300Starting a Video Meeting 302Starting a video meeting from the Meet home page 302Starting a video meeting from Gmail 303Adding people to your video meeting 305Scheduling a video meeting with Calendar 306Joining a Video Meeting 307Joining a video meeting from the Meet home page 308Joining a video meeting from Gmail 309Dialing in to a video meeting and using the phone for audio 309Customizing Video Meeting Settings 311Changing the meeting layout 311Messing around with meeting participants 312Displaying captions 313Sharing Resources During a Video Meeting 314Chatting with meeting participants 314Presenting your screen 315CHAPTER 14: CHATTING WITH YOUR TEAM 319Chatting, G Suite Style 319Chatting with Gmail 320Chatting with Docs, Sheets, and Slides 320Chatting with Meet 322Chatting with Google Chat 322Exchanging Messages 323Formatting chat text 324Messing around with messages 325Collaborating with Chat 326Chatting with a group 326Uploading a file to a chat 327Adding a video meeting to a chat 328More Collaboration: Congregating in a Chat Room 329Creating a room 330Managing a room 331Robotexting: Chatting with Bots 332Adding a bot 333GIPHY: Animated GIF fun and frivolity 334Meet: Managing your meetings 335Google Drive: Getting file alerts 337CHAPTER 15: COLLABORATING WITH GROUPS 339Why Create a Group? 340Investigating the Groups Home Page 340Understanding Group Roles 342Finding a Group 344Joining a Group 345Joining a group directly 346Asking to join a group 347Leaving a group 348Posting Messages 348Responding to Posts 349Creating a Group 350Preparing to add a group 350Creating the group 350Adding more people directly to the group 354Inviting people to your group 355Managing group requests and invitations 355CHAPTER 16: COLLABORATING WITH FORMS AND NOTES 357Gathering Info with Forms 358Loading the Forms website 358Touring the Forms home page 358Creating a new form 360Touring the form screen 360Fabricating a form 360Constructing a quiz 362Adding form collaborators 362Sending your form 363Checking out the form responses 365Sharing Notes 365Checking out the Keep home page 365Creating a new note 367Adding note collaborators 368PART 4: THE PART OF TENS 371CHAPTER 17: TEN TIPS FOR WORKING FROM HOME 373Set Your Working Hours 374Show Your Availability 375Tell Chat to Chill for a While 377Keep Up the Face-to-Face Communication 378Know Which Communications Tools to Use 379Add Time Zones in Your Calendar 379Configure Calendar for Speedy Meetings 381Read Email from Another Account 382Handle Microsoft Office Documents 385Set Up Your Video Conference Space 387CHAPTER 18: TEN REALLY USEFUL GMAIL SETTINGS 389Five Splendiferous Send Settings 390Sending a message as plain text 390Setting the default reply behavior 391Replying and archiving in one fell swoop 392Setting the default text style 393Preventing Gmail from creating contacts automatically 393Five Stupendous Read Settings 394Turning off Conversation view 394Adding importance markers 395Setting the maximum page size 396Managing notifications 396Indicating messages sent only to you 398CHAPTER 19: TEN WAYS TO ENHANCE PRIVACY AND SECURITY 401Make Sure Your Wi-Fi Network is Locked Up Tight 402Secure Your Google Account with a Strong Password 404Enable Google’s 2-Step Verification 406Set Up Your Contact Verification Methods 407Hide Images in Gmail Messages 409Blocking Senders in Gmail 411Choose Who Can See Your Personal Info 412Manage Your Activity Controls 413Manage Your Devices 415Manage Third-Party Apps 416Appendix: Glossary of G Suite Terms 419Index 427
C++20 Quick Syntax Reference
This quick C++ 20 guide is a condensed code and syntax reference to the popular programming language, fully updated for C++20. It presents the essential C++20 code syntax in a well-organized format that can be used as a handy reference.This edition covers topics including designated initializers, lambdas and lambda captures, the spaceship operator, pack expressions, string literals as template parameters, atomic smart pointers, and contracts. It also covers library changes including extended futures, latches and barriers, task blocks, and text formatting.In the C++20 Quick Syntax Reference, you will find short, simple, and focused code examples. This book includes a well-laid-out table of contents and a comprehensive index allowing for easy review. You won’t find any technical jargon, bloated samples, drawn out history lessons, or witty stories in this book. What you will find is a language reference that is concise, to the point, and highly accessible. The book is packed with useful information and is a must-have for any C++ programmer.WHAT YOU'LL LEARN* Discover the key C++20 features* Work with concepts to constrain template arguments* Use modules as a replacement for header files* Take advantage of the three-way comparison operator* Create immediate functions using the consteval keyword* Make use of constexpr, constinit and designated initializersWHO THIS BOOK IS FORExperienced C++ programmers. Additionally, this is a concise, easily-digested introduction for other programmers new to C++.Mikael Olsson is a professional web entrepreneur, programmer, and author. He works for an R&D company in Finland where he specializes in software development. In his spare time he writes books and creates websites that summarize various fields of interest. The books he writes are focused on teaching their subject in the most efficient way possible, by explaining only what is relevant and practical without any unnecessary repetition or theory. 1. HelloWorld2. Compile and Run3. Variables4. Operators5. Pointers6. References7. Arrays8. String9. Conditionals10. Loops11. Functions12. Class13. Constructor14. Inheritance15. Overriding16. Access Levels17. Static18. Enum19. Struct and Union20. Operator Overloading21. Custom Conversions22. Namespaces23. Constants24. Preprocessor25. Exception Handling26. Type Conversions27. Smart Pointers28. Templates29. Headers
Grundkurs Machine Learning
Maschinelles Lernen – alle Grundlagen! Paul Wilmott ist für seine erhellende und unterhaltsame Darstellung angewandter Mathematik bekannt. Von der linearen Regression bis zu Neuronalen Netzwerken führt er Sie durch alle Verfahren, und zwar komplett Software-unabhängig. Der Vorteil dabei: Jeder Schritt ist schwarz auf weiß zu sehen, kein Framework kann etwas „verstecken“, es geht immer um die Sache selbst. Mit vielen Beispielen, Grafiken und Schritt-für-Schritt-Kästen. Für alle, die wirklich verstehen wollen, wie Maschinen lernen. Aus dem Inhalt: Lineare Regressionk-Nearest NeighborsNaive Bayes-Klassifikatorenk-Means-AlgorithmusSupport Vector MachinesLogistische RegressionSelbstorganisierende KartenEntscheidungsbäumeReinforcement LearningNeuronale Netze Vorwort ... 13 1. Einführung ... 17 1.1 ... Maschinelles Lernen ... 18 1.2 ... Lernen ist der Schlüssel ... 19 1.3 ... Ein wenig Geschichte ... 20 1.4 ... Schlüsselmethodiken in diesem Buch ... 22 1.5 ... Klassische mathematische Modellierung ... 26 1.6 ... Maschinelles Lernen ist anders ... 28 1.7 ... Einfachheit führt zu Komplexität ... 29 1.8 ... Weiterführende Literatur ... 33 2. Allgemeines ... 35 2.1 ... Jargon und Notation ... 35 2.2 ... Skalierung ... 37 2.3 ... Distanzmessung ... 38 2.4 ... Fluch der Dimensionalität ... 39 2.5 ... Hauptkomponentenanalyse ... 39 2.6 ... Maximum-Likelihood-Schätzung ... 40 2.7 ... Konfusionsmatrix ... 44 2.8 ... Kostenfunktion ... 47 2.9 ... Gradientenabstieg ... 52 2.10 ... Training, Testen und Validieren ... 54 2.11 ... Bias und Varianz ... 57 2.12 ... Lagrange-Multiplikatoren ... 63 2.13 ... Mehrfachklassen ... 65 2.14 ... Informationstheorie und Entropie ... 67 2.15 ... Verarbeitung natürlicher Sprache (NLP) ... 70 2.16 ... Bayes-Theorem ... 72 2.17 ... Was nun? ... 73 2.18 ... Weiterführende Literatur ... 74 3. K-nächste Nachbarn ... 75 3.1 ... Wofür können wir die Methode verwenden? ... 75 3.2 ... Wie die Methode funktioniert ... 76 3.3 ... Der Algorithmus ... 78 3.4 ... Probleme mit KNN ... 78 3.5 ... Beispiel: Körpergröße und -gewicht ... 79 3.6 ... Regression ... 83 3.7 ... Weiterführende Literatur ... 85 4. K-Means Clustering ... 87 4.1 ... Wofür können wir die Methode verwenden? ... 87 4.2 ... Was macht K-Means Clustering? ... 89 4.3 ... Scree-Plots ... 93 4.4 ... Beispiel: Kriminalität in England, 13 Dimensionen ... 94 4.5 ... Beispiel: Volatiliät ... 98 4.6 ... Beispiel: Zinssatz und Inflation ... 100 4.7 ... Beispiel: Zinssätze, Inflation und BIP-Wachstum ... 103 4.8 ... Ein paar Kommentare ... 104 4.9 ... Weiterführende Literatur ... 105 5. Naiver Bayes-Klassifikator ... 107 5.1 ... Wofür können wir ihn verwenden? ... 107 5.2 ... Verwendung des Bayes-Theorems ... 108 5.3 ... Anwendung des NBK ... 108 5.4 ... In Symbolen ... 110 5.5 ... Beispiel: Politische Reden ... 111 5.6 ... Weiterführende Literatur ... 114 6. Regressionsmethoden ... 115 6.1 ... Wofür können wir sie verwenden? ... 115 6.2 ... Mehrdimensionale lineare Regression ... 116 6.3 ... Logistische Regression ... 117 6.4 ... Beispiel: Noch einmal politische Reden ... 119 6.5 ... Weitere Regressionsmethoden ... 121 6.6 ... Weiterführende Literatur ... 122 7. Support-Vektor-Maschinen ... 123 7.1 ... Wofür können wir sie verwenden? ... 123 7.2 ... Harte Ränder ... 123 7.3 ... Beispiel: Iris (Schwertlilie) ... 126 7.4 ... Lagrange-Multiplier-Version ... 128 7.5 ... Weiche Ränder ... 130 7.6 ... Kernel-Trick ... 132 7.7 ... Weiterführende Literatur ... 136 8. Selbstorganisierende Karten ... 137 8.1 ... Wofür können wir sie verwenden? ... 137 8.2 ... Die Methode ... 138 8.3 ... Der Lernalgorithmus ... 140 8.4 ... Beispiel: Gruppierung von Aktien ... 142 8.5 ... Beispiel: Abstimmungen im Unterhaus ... 147 8.6 ... Weiterführende Literatur ... 149 9. Entscheidungsbäume ... 151 9.1 ... Wofür können wir sie verwenden? ... 151 9.2 ... Beispiel: Zeitschriftenabo ... 153 9.3 ... Entropie ... 158 9.4 ... Überanpassung und Abbruchregeln ... 161 9.5 ... Zuschneiden ... 162 9.6 ... Numerische Merkmale/Attribute ... 162 9.7 ... Regression ... 164 9.8 ... Ausblick ... 171 9.9 ... Bagging und Random Forest ... 171 9.10 ... Weiterführende Literatur ... 172 10. Neuronale Netze ... 173 10.1 ... Wofür können wir sie verwenden? ... 173 10.2 ... Ein sehr einfaches Netzwerk ... 173 10.3 ... Universelles Approximations-Theorem ... 174 10.4 ... Ein noch einfacheres Netzwerk ... 176 10.5 ... Die mathematische Manipulation im Detail ... 177 10.6 ... Häufige Aktivierungsfunktionen ... 181 10.7 ... Das Ziel ... 182 10.8 ... Beispiel: Approximation einer Funktion ... 183 10.9 ... Kostenfunktion ... 184 10.10 ... Backpropagation ... 185 10.11 ... Beispiel: Buchstabenerkennung ... 188 10.12 ... Training und Testen ... 190 10.13 ... Mehr Architekturen ... 194 10.14 ... Deep Learning ... 196 10.15 ... Weiterführende Literatur ... 197 11. Verstärkendes Lernen ... 199 11.1 ... Wofür können wir es verwenden? ... 199 11.2 ... Geländeausfahrt mit Ihrem Lamborghini 400 GT ... 200 11.3 ... Jargon ... 202 11.4 ... Ein erster Blick auf Blackjack ... 203 11.5 ... Der klassische Markow-Entscheidungsprozess für Tic-Tac-Toe ... 204 11.6 ... Noch mehr Jargon ... 206 11.7 ... Beispiel: Der mehrarmige Bandit ... 207 11.8 ... Etwas anspruchsvoller 1: Bekannte Umgebung ... 211 11.9 ... Beispiel: Ein Labyrinth ... 214 11.10 ... Notation zu Wertefunktionen ... 218 11.11 ... Die Bellman-Gleichung ... 220 11.12 ... Optimale Policy ... 221 11.13 ... Die Bedeutung der Wahrscheinlichkeit ... 222 11.14 ... Etwas anspruchsvoller 2: Modell-frei ... 223 11.15 ... Monte Carlo Policy Evaluation ... 224 11.16 ... Temporal-Difference-Lernen ... 227 11.17 ... Vor- und Nachteile: MC versus TD ... 228 11.18 ... Finden der optimalen Policy ... 229 11.19 ... Sarsa ... 230 11.20 ... Q-Lernen ... 232 11.21 ... Beispiel: Blackjack ... 233 11.22 ... Große Zustandsräume ... 245 11.23 ... Weiterführende Literatur ... 245 Datensätze ... 247 Epilog ... 251 Index ... 253
Einstieg in C++
Mit diesem Buch gelingt Ihnen der Einstieg in die C++-Entwicklung mühelos. Anschauliche Erklärungen, praxisnahe Beispiele und Übungen begleiten Sie von den ersten Schritten bis zum fertigen Programm. Sie lernen alle wichtigen Themen wie Vererbung, Objektorientierung, Polymorphie, GUI-Entwicklung und Datenbanken. Kenntnisse in C oder einer anderen Sprache werden nicht vorausgesetzt. Aus dem Inhalt: SprachgrundlagenReferenzen und PointerObjektorientierte ProgrammierungVererbung und PolymorphieModerne Bibliotheken: chrono, random, thread, filesystemArbeiten mit ContainernGUI-Entwicklung mit QtDatenbanken mit SQLite verwalten Materialien zum Buch ... 17 1. Eine erste Einführung ... 19 1.1 ... Was machen wir mit C++? ... 19 1.2 ... Was benötige ich zum Programmieren? ... 20 1.3 ... Die Entwicklung von C++ ... 20 1.4 ... So sieht das erste Programm aus ... 21 1.5 ... Kommentieren Sie Ihre Programme ... 22 2. Arbeiten mit Zahlen und Operatoren ... 25 2.1 ... Wie speichere ich Zahlen? ... 25 2.2 ... Rechnen mit Operatoren ... 27 2.3 ... Fehler suchen ... 29 2.4 ... Wie können Daten eingegeben werden? ... 31 2.5 ... Zahlen formatieren mit Manipulatoren ... 33 2.6 ... Zuweisungen kürzer schreiben ... 34 2.7 ... Übung ... 36 2.8 ... Mehr über die Speicherung von Zahlen ... 37 2.9 ... Feste Werte in Konstanten speichern ... 41 2.10 ... Konstanten in Enumerationen zusammenfassen ... 42 2.11 ... Zahlensysteme ... 43 2.12 ... Initialisierung ... 45 2.13 ... Wie erzeuge ich zufällige Zahlen? ... 47 2.14 ... Übung ... 48 3. Mehrere Zweige in einem Programm ... 49 3.1 ... Zwei Zweige mit »if« und »else« ... 49 3.2 ... Bedingungen benötigen Vergleiche ... 51 3.3 ... Mehr als zwei Zweige ... 53 3.4 ... Wie kann ich Bedingungen kombinieren? ... 55 3.5 ... Zweige zusammenfassen mit »switch« und »case« ... 57 3.6 ... Was ist mit dem Rest? ... 58 3.7 ... Welcher Operator hat Vorrang? ... 59 3.8 ... Übungen ... 60 3.9 ... Wie speichere ich Wahrheitswerte? ... 63 3.10 ... Die Kurzform: der bedingte Ausdruck ... 65 4. Teile von Programmen wiederholen ... 67 4.1 ... Regelmäßige Wiederholungen mit »for« ... 67 4.2 ... Wiederholungen für einen Bereich ... 70 4.3 ... Bedingte Wiederholungen mit »do-while« ... 71 4.4 ... Besser vorher prüfen mit »while« ... 72 4.5 ... Wiederholungen abbrechen oder fortsetzen ... 73 4.6 ... Die Wiederholung der Wiederholung ... 75 4.7 ... Übungen ... 76 5. Programme aufteilen in Funktionen ... 79 5.1 ... So schreibe ich eine eigene Funktion ... 79 5.2 ... Wie übergebe ich Daten? ... 81 5.3 ... Wie erhalte ich ein Ergebnis zurück? ... 87 5.4 ... Mehr Ordnung im Programm ... 88 5.5 ... Statische Variablen behalten ihren Wert ... 90 5.6 ... Fehler suchen ... 91 5.7 ... Übungen ... 92 5.8 ... Standardwerte vorgeben ... 93 5.9 ... Beliebig viele Parameter ... 94 5.10 ... Funktionen mehrfach definieren ... 96 5.11 ... Funktionen, die sich selbst aufrufen ... 98 5.12 ... Anonyme Funktionen ... 99 5.13 ... Funktionen als Parameter ... 105 6. Große Datenmengen speichern in Feldern ... 109 6.1 ... Wie werden Felder unterschieden? ... 109 6.2 ... Einfache Felder mit fester Größe ... 110 6.3 ... Intelligente Felder mit fester Größe ... 111 6.4 ... Ausnahmen behandeln ... 113 6.5 ... Einfache und intelligente Zeiger ... 115 6.6 ... Intelligente Felder mit variabler Größe ... 122 6.7 ... Felder initialisieren ... 124 6.8 ... Felder als Parameter ... 125 6.9 ... Daten in mehreren Dimensionen speichern ... 127 6.10 ... Übungen ... 131 7. Arbeiten mit Zeichen und Texten ... 133 7.1 ... Einzelne Zeichen ... 133 7.2 ... Einfache Zeichenketten ... 134 7.3 ... Intelligente Zeichenketten: Strings ... 137 7.4 ... Wie wandle ich Zahlen in Strings um? ... 143 7.5 ... Wie verarbeite ich Eingaben? ... 144 7.6 ... Felder von Zeichenketten ... 147 7.7 ... Suchen und Ersetzen ... 149 7.8 ... Übungen ... 154 8. Daten in Strukturen zusammenfassen ... 157 8.1 ... Wie speichere ich zusammengehörige Daten? ... 157 8.2 ... Besser einen Typ definieren ... 159 8.3 ... Strukturen und Felder ... 161 8.4 ... Strukturen und Funktionen ... 165 8.5 ... Eine Hierarchie von Strukturen ... 170 8.6 ... Übung ... 172 9. Vorhandene Funktionen nutzen ... 175 9.1 ... Umgang mit Datum und Uhrzeit ... 175 9.2 ... Bessere zufällige Zahlen ... 181 9.3 ... Mehrere Threads zur gleichen Zeit ... 184 9.4 ... Nützliche mathematische Funktionen ... 193 9.5 ... Übungen ... 202 9.6 ... Rechnen mit komplexen Zahlen ... 203 9.7 ... Daten mit dem Betriebssystem austauschen ... 210 9.8 ... Zugriff auf Dateien und Verzeichnisse ... 219 10. Eigene Klassen entwerfen ... 237 10.1 ... Klassen umfassen Eigenschaften und Methoden ... 237 10.2 ... Schützen Sie die Daten ... 240 10.3 ... Wie erzeuge und lösche ich Objekte? ... 244 10.4 ... Statische Elemente einer Klasse ... 248 10.5 ... Wie überlade ich Operatoren? ... 252 10.6 ... Objekte und Felder ... 256 10.7 ... Objekte ausgeben ... 260 10.8 ... Eigenschaften können Objekte sein ... 262 10.9 ... Übungen ... 264 11. Vererbung und Polymorphie ... 269 11.1 ... Basisklasse und abgeleitete Klassen ... 269 11.2 ... Welche Elemente sind an welcher Stelle erreichbar? ... 276 11.3 ... Konstruktoren in abgeleiteten Klassen ... 277 11.4 ... Was bedeutet Polymorphie? ... 281 11.5 ... Erben von mehreren Klassen ... 284 12. Datenströme verarbeiten ... 289 12.1 ... Sequenzielles Schreiben und Lesen ... 289 12.2 ... Schreiben und Lesen an beliebiger Stelle ... 296 12.3 ... Wie leiten Sie Datenströme? ... 305 12.4 ... Wie ist das CSV-Format zum Austausch aufgebaut? ... 308 12.5 ... Übung ... 315 13. Container sind vielfältige Datenstrukturen ... 319 13.1 ... Wie durchlaufe ich Container? ... 320 13.2 ... Intelligente Felder mit fester Größe ... 322 13.3 ... Intelligente Felder mit variabler Größe ... 326 13.4 ... Eine Warteschlange mit zwei Enden ... 330 13.5 ... Daten in Listen verketten ... 334 13.6 ... Drei einfache Container ... 344 13.7 ... Zwei nützliche Typen ... 351 13.8 ... Eine Menge von Elementen ... 355 13.9 ... Schlüssel und Werte in einer Map ... 362 13.10 ... Algorithmen für Bereiche ... 369 13.11 ... Mengenlehre ... 374 13.12 ... Eine Menge von Bits ... 378 14. Mehr zu eigenen Klassen ... 383 14.1 ... Objekte initialisieren, kopieren und erzeugen ... 383 14.2 ... Klassen können Freunde haben ... 386 14.3 ... Namen müssen eindeutig sein ... 389 14.4 ... Fehler behandeln mit Ausnahmen ... 392 14.5 ... Innere Klassen ... 400 14.6 ... Templates sind Vorlagen ... 402 15. Präprozessor-Anweisungen ... 409 15.1 ... Einbinden von Dateien ... 409 15.2 ... Definitionen und Makros ... 410 15.3 ... Definitionen und Verzweigungen ... 412 15.4 ... Eine Systemweiche ... 414 16. Grafische Benutzeroberflächen mit der Qt-Bibliothek ... 417 16.1 ... Die erste GUI-Anwendung ... 418 16.2 ... Ein einfacher Kopfrechentrainer ... 429 16.3 ... Ein erweiterter Kopfrechentrainer ... 434 16.4 ... Weitere Widgets ... 441 17. Datenbanken mit SQLite verwalten ... 449 17.1 ... Der Aufbau einer Datenbank ... 449 17.2 ... Wie erzeuge ich Datenbank und Tabelle? ... 450 17.3 ... Wie speichere ich Daten in einer Tabelle? ... 455 17.4 ... So zeige ich alle Daten einer Tabelle an ... 457 17.5 ... Wie wähle ich bestimmte Daten aus? ... 460 17.6 ... Der Benutzer wählt Daten aus ... 464 17.7 ... Daten sollten sortiert werden ... 465 17.8 ... Wie ändere ich Daten? ... 466 17.9 ... Vorsicht beim Löschen von Daten ... 468 17.10 ... Eine Datenbank mit mehreren Tabellen ... 469 17.11 ... Projekt Vokabeln ... 476 17.12 ... Übung ... 497 Anhang ... 501 A ... Installationen ... 501 B ... Hilfestellungen und Übersichten ... 525 Index ... 531
Clean Agile. Die Essenz der agilen Softwareentwicklung
* LERNEN SIE AUS UNCLE BOBS JAHRZEHNTELANGER ERFAHRUNG, WORAUF ES BEI DER AGILEN SOFTWAREENTWICKLUNG WIRKLICH ANKOMMT* DIE URSPRÜNGLICHEN AGILEN WERTE UND PRINZIPIEN KURZ UND PRÄGNANT FÜR DEN PRAXISEINSATZ ERLÄUTERT* VON DEN UNTERNEHMERISCHEN ASPEKTEN ÜBER DIE KOMMUNIKATION IM TEAM BIS ZU DEN TECHNISCHEN PRAKTIKEN WIE TEST-DRIVEN DEVELOPMENT (TDD), EINFACHES DESIGN UND PAIR PROGRAMMINGFast 20 Jahre nach der Veröffentlichung des agilen Manifests ruft der legendäre Softwareentwickler Robert C. Martin (»Uncle Bob«) dazu auf, sich wieder auf die ursprünglichen Werte und Prinzipien zurückzubesinnen, die den eigentlichen Kern der agilen Softwareentwicklung ausmachen und die für die Praxis von zentraler Bedeutung sind. Mit Clean Agile lässt er alle an seiner jahrzehntelangen Erfahrung teilhaben und räumt mit Missverständnissen und Fehlinterpretationen auf, die im Laufe der Jahre entstanden sind. Dabei wendet er sich gleichermaßen an Programmierer und Nicht-Programmierer.Uncle Bob macht deutlich, was agile Softwareentwicklung eigentlich ist, war und immer sein sollte: ein einfaches Konzept, das kleinen Softwareteams hilft, kleine Projekte zu managen - denn daraus setzen sich letztendlich alle großen Projekte zusammen. Dabei konzentriert er sich insbesondere auf die Praktiken des Extreme Programmings (XP), ohne sich in technischen Details zu verlieren.Egal, ob Sie Entwickler, Tester, Projektmanager oder Auftraggeber sind - dieses Buch zeigt Ihnen, worauf es bei der Umsetzung agiler Methoden wirklich ankommt.AUS DEM INHALT:* Ursprünge der agilen Softwareentwicklung* Agile Werte und Prinzipien* Der richtige Einsatz von Scrum* Agile Transformation* Extreme Programming* Unternehmensbezogene Praktiken: User Stories, Velocity, kleine Releases und Akzeptanztests* Teambezogene Praktiken: gemeinsame Eigentümerschaft, kontinuierliche Integration und Stand-up-Meetings* Technische Praktiken: TDD, Refactoring, einfaches Design und Pair Programming* Zertifizierung und Coaching* Software CraftsmanshipSTIMMEN ZUM BUCH:»Bobs Frustration spiegelt sich in jedem Satz des Buchs wider - und das zu Recht. Der Zustand, in dem sich die Welt der agilen Softwareentwicklung befindet, ist nichts im Vergleich zu dem, was sie eigentlich sein könnte. Das Buch beschreibt, auf was man sich aus Bobs Sicht konzentrieren sollte, um das zu erreichen, was sein könnte. Und er hat es schon erreicht, deshalb lohnt es sich, ihm zuzuhören.«- Kent Beck»Uncle Bob ist einer der klügsten Menschen, die ich kenne, und seine Begeisterung für Programmierung kennt keine Grenzen. Wenn es jemandem gelingt, agile Softwareentwicklung zu entmystifizieren, dann ihm.«- Jerry FitzpatrickRobert C. Martin (»Uncle Bob«) ist bereits seit 1970 als Programmierer tätig. Neben seiner Beraterfirma Uncle Bob Consulting, LLC gründete er gemeinsam mit seinem Sohn Micah Martin auch das Unternehmen The Clean Coders, LLC. Er hat zahlreiche Artikel in verschiedenen Zeitschriften veröffentlicht und hält regelmäßig Vorträge auf internationalen Konferenzen. Zu seinen bekanntesten Büchern zählen Clean Code, Clean Coder und Clean Architecture.
Beginning C
Learn how to program using C, beginning from first principles and progressing through step-by-step examples to become a competent, C-language programmer. All you need are this book and any of the widely available C compilers, and you'll soon be writing real C programs.You’ll discover that C is a foundation language that every programmer ought to know. Beginning C is written by renowned author Ivor Horton and expert programmer German Gonzalez-Morris. This book increases your programming expertise by guiding you through the development of fully working C applications that use what you've learned in a practical context. You’ll also be able to strike out on your own by trying the exercises included at the end of each chapter. At the end of the book you'll be confident in your skills with all facets of the widely-used and powerful C language.WHAT YOU WILL LEARN* Discover the C programming languageProgram using C starting with first steps, then making decisions * Use loops, arrays, strings, text, pointers, functions, I/O, and moreCode applications with strings and text * Structure your programs efficientlyWork with data, files, facilities, and moreWHO THIS BOOK IS FORThose new to C programming who may or may not have some prior programming experience.GERMAN GONZALEZ-MORRIS is a software architect/engineer working with C/C++, Java, and different application containers, in particular, with WebLogic Server. He has developed different applications including JEE/Spring/Python. His areas of expertise also include OOP, design patterns, Spring Core/MVC, and microservices.IVOR HORTON is self-employed in consultancy and writes programming tutorials. He worked for IBM for many years and holds a bachelor's degree, with honors, in mathematics. Horton's experience at IBM includes programming in most languages (such as assembler and high-level languages on a variety of machines), real-time programming, and designing and implementing real-time closed-loop industrial control systems. He has extensive experience teaching programming to engineers and scientists (Fortran, PL/1, APL, etc.). Horton is an expert in mechanical, process, and electronic CAD systems; mechanical CAM systems; and DNC/CNC systems.1. Programming in C2. First Steps in Programming3. Making Decisions4. Loops5. Arrays6. Applications with Strings and Text7. Pointers8. Structuring Your Programs9. More on Functions10. Essential Input and Output Operations11. Structuring Data12. Working with Files13. Supporting Facilities14. Advanced and Specialized TopicsA. Computer ArithmeticB. ASCII Character Code DefinitionsC. Reserved Words in CD. Input and Output Format SpecificationsE. Standard Library Headers
Advanced Python Development
This book builds on basic Python tutorials to explain various Python language features that aren’t routinely covered: from reusable console scripts that play double duty as micro-services by leveraging entry points, to using asyncio efficiently to collate data from a large number of sources. Along the way, it covers type-hint based linting, low-overhead testing and other automated quality checking to demonstrate a robust real-world development process.Some powerful aspects of Python are often documented with contrived examples that explain the feature as a standalone example only. By following the design and build of a real-world application example from prototype to production quality you'll see not only how the various pieces of functionality work but how they integrate as part of the larger system design process. In addition, you'll benefit from the kind of useful asides and library recommendations that are a staple of conference Q&A sessions at Python conferences as well as discussions of modern Python best practice and techniques to better produce clear code that is easily maintainable.Advanced Python Development is intended for developers who can already write simple programs in Python and want to understand when it’s appropriate to use new and advanced language features and to do so in a confident manner. It is especially of use to developers looking to progress to a more senior level and to very experienced developers who have thus far used older versions of Python.WHAT YOU'LL LEARN* Understand asynchronous programming* Examine developing plugin architectures* Work with type annotations* Review testing techniques* Explore packaging and dependency managementWHO THIS BOOK IS FORDevelopers at the mid to senior level who already have Python experience.Matthew Wilkes is a European software developer who has worked with Python on web projects for the last fifteen years. As well as developing software, he has long experience in mentoring Python developers in a commercial setting.He is also very involved in open source software, with commits to many popularframeworks. His contributions in that space are focused on the details of database and security interactions of web frameworks.Chapter 1: Prototyping and EnvironmentsChapter Goal: Create a prototype script to read a single sensor valueNo of pages 25Sub -Topics1 Introduce the example of collating data from a large number of othermachines1.1 Possible usecases of this pattern include log aggregation, servermonitoring, IoT, monitoring of customer servers, etc1.2 We’ll use raspberry pis with a mix of server monitoring andvery basic sensors like temperature sensors. There’ll be no IoTspecific setup or detail, it’s just that this is easier for people tofollow along with without inventing another system beingmonitored.1.3 There’ll be plenty of extra context here for how to apply theongoing example if you do already have a system that needsmonitoring.2 Prototyping using jupyter and nbconvert3 Use pipenv to set up dependency environment3.1 Note that by introducing pipenv before setuptools we’repreempting the confusion about the right way to do dependencyand environment management.Chapter 2: Testing, Checking and LintingChapter Goal: Progress the prototype to a series of reliable functions thatcan be testedNo of pages: 30Sub - Topics1 Testing with PyTest (especially fixtures and MUT style)2 Type hinting and checking with mypy3 Linting with flake8 and autoformatting with black4 pre-commit and commit hooks5 GitHub CI integration for easier contributionsChapter 3: Packaging ScriptsChapter Goal: Create an installable package that gives a single script toread the sensor valueNo of pages : 30Sub - Topics:1 setup.py and setuptools when it comes to packaging (not pip /setup.py for environment management, that’s in chapter 1)2 Namespace packages3 Console entrypoint4 argparseHelpful aside: Package name conflicts, installing from GitHub releases,release hashing, wheelsChapter 4: From Script to LibraryChapter Goal: Extend the package to allow reading of multiple sensorsthrough the command lineNo of pages: 20Sub - Topics:1. Abstract Base Classes2. Second sensor value3. argparse subcommandsChapter 5: Alternative InterfacesChapter Goal: Make the script functionality available as a HTTPmicroserviceNo of pages : 40Sub - Topics:1 Simple API servers using flask2 Plugin architecture using entrypoints3 Dynamic dispatch4 Serialisation considerations with custom classes (like units from pintspackage)Chapter 6: Speeding Things UpChapter Goal: Discuss optimisation strategies, what the tradeoffs betweenasync and different types of caching are. We’ll use cachinghere, but async laterNo of pages : 25Sub - Topics:1 asyncio vs lru_cache vs redis vs sqlite etc2 Use of timeit3 File operations using context managersChapter 7: Aggregation ProcessChapter Goal: Create a new package, read configuration files, do a basicHTTP loopNo of pages : 25Sub - Topics:1 cookiecutter2 Config files (configparser vs json vs yaml)3 Requests library4 More depth in pytest usageChapter 8: Asynchronous ProgrammingChapter Goal: Understand the event loop, especially async for loops,demonstrate how it’s a good fit for the aggregation processNo of pages : 40Sub - Topics:1 Defining asynchronous functions2 Using the event loop3 Syntactic sugar for loops and iterators4 Async tasks vs await5 async executorsChapter 9: Asynchronous DatabasesChapter Goal: Understand async executors, using sqlalchemy and JSONBNo of pages : 30Sub - Topics:1 sqlalchemy (and why pandas isn’t a good fit here)2 JSONB format and schemaless3 aiofile, asyncpg and usability/speed tradeoffsChapter 10: Viewing the DataChapter Goal: Creating Jupyter notebooks and using matplotlibNo of pages : 35Sub - Topics:1 Calling async functions from Jupyter Notebooks2 Binding function calls to ipywidgets for interactive reports3 Examples of matplotlib4 GeoJSONChapter 11: Fault ToleranceChapter Goal: Extending ABC interfaces and efficient use of iterables forlarge HTTP responsesNo of pages : 20Sub - Topics:1 Using __subclasshook__ effectively2 Chunked responses vs framing3 JSON deserialisation of partial data and efficient data transferChapter 12: Callbacks and Data AnalysisChapter Goal: Using generators, iterators and coroutines for dataanalysis, async timeoutsNo of pages : 30Sub - Topics:1 Iterator based filtering2 Coroutine based plugins, for example a coroutine that pulls historicaldata and compares it to the current value to decide if an alarm shouldbe raised3 waitfor and executor timeout considerations
VR Integrated Heritage Recreation
Create assets for history-based games. This book covers the fundamental principles required to understand and create architectural visualizations of historical locations using digital tools. You will explore aspects of 3D design visualization and VR integration using industry-preferred software.Some of the most popular video games in recent years have historical settings (Age of Empires, Call of Duty, etc.). Creating these games requires creating historically accurate game assets. You will use Blender to create VR-ready assets by modeling and unwrapping them. And you will use Substance Painter to texture the assets that you create.You will also learn how to use the Quixel Megascans library to acquire and implement physically accurate materials in the scenes. Finally, you will import the assets into Unreal Engine 4 and recreate a VR integrated heritage that can be explored in real time. Using VR technology and game engines, you can digitally recreate historical settings for games.WHAT YOU WILL LEARN* Create high-quality, optimized models suitable for any 3D game engine* Master the techniques of texturing assets using Substance Painter and Quixel Megascans* Keep assets historically accurate* Integrate assets with the game engine* Create visualizations with Unreal Engine 4WHO IS THIS BOOK FORGame developers with some experience who are eager to get into VR-based gamesDR. ABHISHEK KUMAR is Assistant Professor in the Department of Computer Science at the Institute of Science at Banaras Hindu University. He is an Apple Certified Associate, Adobe Education Trainer, and certified by Autodesk. He is actively involved in course development in animation and design engineering courses for various institutions and universities as they will be a future industry requirement.Dr. Kumar has published a number of research papers and covered a wide range of topics in various digital scientific areas (image analysis, visual identity, graphics, digital photography, motion graphics, 3D animation, visual effects, editing, composition). He holds two patents in the field of design and IoT.Dr. Kumar has completed professional studies related to animation, computer graphics, virtual reality, stereoscopy, filmmaking, visual effects, and photography from Norwich University of Arts, University of Edinburg, and Wizcraft MIME & FXPHD, Australia. He is passionate about the media and entertainment industry, and has directed two animation short films.Dr. Kumar has trained more than 50,000 students across the globe from 153 countries (top five: India, Germany, United States, Spain, Australia). His alumni have worked for national and international movies such as Ra-One, Krissh, Dhoom, Life of Pi, the Avengers series, the Iron Man series, GI Joe 3D, 300, Alvin and the Chipmunks, Prince of Persia, Titanic 3D, the Transformers series, Bahubali 1 & 2, London Has Fallen, Warcraft, Aquaman 3D, Alita, and more.CHAPTER 1: INTRODUCTION TO BOOKChapter Goal: In this chapter we will introduce the readers to the book and its concepts.Sub TopicsScope of this bookTopics coveredCHAPTER 2: INTRODUCTION TO SOFTWAREChapter Goal: In this chapter the readers will be introduced to the software applications that we will use throughout the book for creating our scene and everything related to it. Software that we will use are Blender, Substance Painter, Quixel Bridge and Unreal Engine 4.Sub TopicsBlenderSubstance PainterQuixel Bridge Unreal Engine 4CHAPTER 3: ACQUIRING RESOURCES FOR OUR PROJECTChapter Goal: In this chapter we will explore how we can acquire various resources that we will require for creating our project.Sub TopicsWebsites for getting texturesCollecting ReferencesCreating basic planCHAPTER 4: DESIGN VISUALIZATIONChapter Goal: We will learn the basic tools of the software which we are going to use for heritage recreation. After that we will create a white box level using Blender and UE4.Sub TopicsBasics of BlenderBasics of Substance PainterCreating White Box sceneCHAPTER 5: MODELLING OUR SCENEChapter Goal: In this chapter we will start modelling our scene. We will create optimized game ready models that can be used within any game engine.Sub TopicsModelling the TempleModelling the ground assets and stairsModelling additional assetsCHAPTER 6: UNWRAPPING THE MODELSChapter Goals: In this chapter we will create UV map for our models and explore in detail the UV editing tools provided by Blender.Sub TopicsUnwrapping the TempleUnwrapping the various ground assets and stairsUnwrapping the remaining smaller assetsCHAPTER 7: TEXTURING ASSETS USING SUBSTANCE PAINTERChapter Goal: We will now see how we can texture our assets using Substance Painter which is an industry standard tool for texturing.Sub TopicsA quick introduction Substance PainterTexturing our Larger structuresTexturing the smaller assetsCHAPTER 8: CREATING FOLIAGEChapter Goal: Here we will see how we can create game ready foliage like grasses, bushes and trees.Sub TopicsCreating grassCreating BushesCreating TreesCHAPTER 9: EXPORTING TO UNREAL ENGINE 4Chapter Goal: We will see in this chapter how to export assets to Unreal Engine 4.Sub TopicsBasics of Unreal Engine 4Creating lightmap UVsExporting models from BlenderExporting textures from Substance PainterCHAPTER 10: IMPORTING INTO UNREAL ENGINE 4Chapter Goal: In this chapter the readers will see how we can import assets into Unreal Engine 4 and set them up for use.Sub TopicsImport settingsExploring properties editorCHAPTER 11: MATERIAL SETUP IN UNREAL ENGINE 4Chapter Goal: Readers will now learn how to create materials with the imported textures that can then be applied to the meshes.Sub TopicsSimple material setupComplex material setupWorking with Master and Instanced materialsCHAPTER 12: INTEGRATION WITH VRChapter Goal: We will assemble the scene and write scripts for gameplay part of our scene. We will set up our scene to work with VR devices and bake everything into executable file.Sub TopicsCreating landscapeAssembling sceneCreating gameplay scriptsBuilding our scene into an executable
Hands-on Azure Pipelines
Build, package, and deploy software projects, developed with any language targeting any platform, using Azure pipelines.The book starts with an overview of CI/CD and the need for software delivery automation. It further delves into the basic concepts of Azure pipelines followed by a hands-on guide to setting up agents on all platforms enabling software development in any language. Moving forward, you will learn to set up a pipeline using the classic Visual Editor using PowerShell scripts, a REST API, building edit history, retention, and much more. You’ll work with artifact feeds to store deployment packages and consume them in a build. As part of the discussion you’ll see the implementation and usage of YAML (Yet Another Markup Language) build pipelines. You will then create Azure release pipelines in DevOps and develop extensions for Azure pipelines. Finally, you will learn various strategies and patterns for developing pipelines and go through some sample lessons on building and deploying pipelines.After reading Hands-on Azure Pipelines, you will be able to combine CI and CD to constantly and consistently test and build your code and ship it to any target.WHAT YOU WILL LEARN* Work with Azure build-and-release pipelines * Extend the capabilities and features of Azure pipelines* Understand build, package, and deployment strategies, and versioning and patterns with Azure pipelines* Create infrastructure and deployment that targets commonly used Azure platform services* Build and deploy mobile applications * Use quick-start Azure DevOps projectsWHO THIS BOOK IS FORSoftware developers and test automation engineers who are involved in the software delivery process.CHAMINDA CHANDRASEKARA is a Microsoft Most Valuable Professional (MVP) for Visual Studio ALM and Scrum Alliance Certified ScrumMaster®, and focuses on and believes in continuous improvement of the software development lifecycle. He works as a Senior Engineer - DevOps at Xameriners, Singapore. Chaminda is an active Microsoft Community Contributor (MCC) who is well recognized for his contributions in Microsoft forums, TechNet galleries, wikis, and Stack Overflow and he contributes extensions to Azure DevOps Server and Services (former VSTS/TFS) in the Microsoft Visual Studio Marketplace. He also contributes to other open source projects in GitHub. Chaminda has published five books with Apress.PUSHPA HERATH is a DevOps engineer at Xamariners. She has many years of experience in Azure DevOps Server and Services (formerly VSTS/TFS), Azure cloud platform and QA Automation. She is an expert in DevOps currently leading the DevOps community in Sri Lanka, and she has shown in depth knowledge in Azure cloud platform tools in her community activities. She has published three books with Apress and spoken in community evets as well as in the you tube channel of her Sri Lanka DevOps community.CHAPTER 1: UNDERSTANDING THE IMPORTANCE OF SOFTWARE DELIVERY AUTOMATIONCHAPTER GOAL: Give conceptual overview on CI CD while elaborating on the need of software delivery automation.NO OF PAGES: 10SUB -TOPICS1. Introducing Concepts (CI/CD)2. Why we need SW Delivery Automation?CHAPTER 2: OVERVIEW OF AZURE PIPELINESCHAPTER GOAL: Introduction to components in Azure Pipelines enabling you to follow the lessons from chapter 3.NO OF PAGES: 30Sub - Topics1. Introducing Pools and Agents (Explain purpose and usage (no need to go into setup details), +Security)2. Deployment Groups (Explain purpose and usage (no need to go into setup details), +Security)3. Build Pipelines (Explain purpose and usage (no need to go into setup details), +Security)4. Release Pipelines (Explain purpose and usage (no need to go into setup details), +Security)5. Task Groups (Explain purpose and usage (no need to go into setup details), +Security)6. Library (Variables) (Explain purpose and usage (no need to go into setup details), +Security)7. Parallel Pipelines and BillingCHAPTER 3: SETTING UP POOLS, DEPLOYMENT GROUPS AND AGENTSCHAPTER GOAL: Lessons to provide hand-on guidance on setting up agents on all platforms enabling building software developed with any language.NO OF PAGES : 40SUB - TOPICS:1. Setting up pools and permissions (scopes, Capabilities)2. Adding agents to pools (three pools Linux, mac and windows – add each type)3. Enable .NET core builds in Linux Agents4. Setting up Deployment Groups and permissions (scopes)5. Adding agent to Deployment groups (roles)CHAPTER 4: CREATING BUILD PIPELINES – CLASSIC – PART1CHAPTER GOAL: Step by step guidance to setting up a build pipeline using Classic Visual Editor.NO OF PAGES: 50SUB - TOPICS:1. Using Source Control Providers (show integration with each type and explain all options for each type such as tag sources and other options)2. Using a Template (Explain few commonly used templates)3. Using Multiple jobs – Adding Build jobs, Selecting Pools, setting up Demands, timeouts, mention parallelism, conditions are later lesson, Dependency settings with sample4. Using Tasks (Explain adding Tasks, find tasks in marketplace (install marketplace task in next lesson))5. Installing tasks from marketplace (Explain how to when you have rights, explain how to request to install task admin approve and install as well as decline)6. Build phase and Task Control Conditions – Explain using condition types, custom conditions in detail using a sample7. Parallelism - multi configuration and multi agents – show with samplesCHAPTER 5: CREATING BUILD PIPELINES – CLASSIC – PART2CHAPTER GOAL: Step by step guidance to setting up a build pipeline using Classic Visual Editor.NO OF PAGES: 40SUB - TOPICS:1. Using Variables – System, pipeline and group, scoping variables, queue time variable value change2. Setting up triggers and path filters for a build – show how it works CI, PR etc, path filters, scheduled builds3. Format Build number and apply custom formats with PowerShell4. Enable, paused and disabled builds -explain in detail with sample5. Link work items and Create work items on failures6. Using build status badge7. Build job scope, timeouts and demands8. Build edit history, compare and restore9. RetentionCHAPTER 6: CREATING BUILD PIPELINES – CLASSIC – PART 3CHAPTER GOAL: Step by step guidance to setting up a build pipeline using Classic Visual Editor.NO OF PAGES: 30SUB - TOPICS:1. Queuing builds and enable debugging mode for more diagnostic information2. Setting variable values in PowerShell scripts3. Accessing secret variable values in PowerShell4. Using OAuth tokens in builds (show example of REST API call , mention REST API details are later chapter)5. Creating and using task groups (include export and import as well)6. Using agentless phases – provide few usable task examples7. Publishing Artifacts – as server, as shared path (mention package as nuget later)8. Exporting and importing build definitionsCHAPTER 7: USING ARTIFACTSCHAPTER GOAL: Usage of artifact feeds to store deployment packages and usage of artifact feeds to keep packages related to development and consuming them in builds.NO OF PAGES: 40SUB - TOPICS:1. Creating and publishing build artifacts as nuget2. Using nuget packages from azure artifacts in VS, and in VS Code3. Using nuget packages in Azure Artifact feed in builds4. Creating and Consuming npm packages5. Creating and Consuming maven packages6. Creating and consuming gradle packages7. Creating and Consuming python packages8. Azure CLI to use feeds9. New Public feedsCHAPTER 8: CREATING AND USING YAML BUILD PIPELINESCHAPTER GOAL: Hands on lessons on implementing YAML based build pipelines giving all essential information on implementing configurations and pilines as code.No of pages: 40SUB - TOPICS:Will be defined laterCHAPTER 9: CREATING AZURE RELEASE PIPELINES – PART1Chapter Goal: Step by step guidance to setting up release pipelines with Azure DevOps.NO OF PAGES: 40SUB - TOPICS:1. Service Connections – Explain different types2. Using Templates to Create Pipelines (explain few common templates)3. Adding Artifacts for Release Pipeline (explain each artifact type)4. Setting up Artifact Triggers (continuous deployment triggers, artifact filters)5. Adding Stage (templated or empty, add vs clone, after release, manual triggers, after stage trigger (show parallel and different stage sequence setup options for pipelines), (partial succeeded) and artifact filters)6. Scheduled deployments for a stage (how it works samples)7. Pull request triggers in artifacts and Pull request deployment in stages8. Deployment queue settings (how it works sample should be shown)CHAPTER 10: CREATING AZURE RELEASE PIPELINES – PART2CHAPTER GOAL: Step by step guidance to setting up release pipelines with Azure DevOps.NO OF PAGES: 50SUB - TOPICS:1. Defining Gates (show examples for each gate type)2. Post deployment Options (approval and auto redeploy, gates just mention)3. Agent Job (Pools and specifications, demands samples, execution plan (multi config, multi agent as well) samples, timeouts, Artifact downloads, Oauth, Run job conditions)4. Deployment group job (Deployment group, how it works for required tags samples, targets to deploy multiple, one at a time samples, maximum parallel settings how it works samples, timeouts, artifacts, Oauth, run job conditions)5. Agentless Jobs – Explain usage of possible tasks – manual, delay, invoke azure function, quires, alerts, publishing to service bus – show samples for each6. Using variables – Scoping and using group variables as well7. Release Options – Release number, all integration options explain with sample for each8. History, compare, restore9. Export, import pipelinesCHAPTER 11: USING REST API AND DEVELOPING EXTENSIONS FOR AZURE PIPELINESCHAPTER GOAL: How to extend the capabilities and features of Azure Pipelines using the REST APIs and the extension development is discussed in this chapter.NO OF PAGES: 30SUB - TOPICS:1. Build and Release Management REST APIs - introduce get, post, put etc. with PS and typescript2. Developing extensions for Azure Pipelines – Develop a simple pipeline extension3. Deploying and distributing Azure Pipeline extensions – sharing privately and enable to use publiclyCHAPTER 12: USEFUL PIPELINE STRATEGIES AND PATTERNSCHAPTER GOAL: Guidance in pipeline development strategies and patterns with Azure build and release pipelines.NO OF PAGES: 25SUB - TOPICS:Will define later.CHAPTER 13: COMMONLY USED BUILD AND DEPLOYMENT PIPELINES – SAMPLES AND INTEGRATIONSCHAPTER GOAL: Few useful samples lessons on building and release commonly used applications to Azure platform.NO OF PAGES: 50SUB - TOPICS:1. Deploying infrastructure with Azure Pipelines – Creating Azure resources such as, resource groups, app service plans, storage accounts, web apps, function apps, APIM, Cosmos, SQL, ACR, AKS (provide open source code samples developed by us integrated with pipelines)2. Using Terraform with Azure Pipelines3. Deploying function apps and web apps – including configuration management options4. Deploying mobile apps5. Deploying Azure Databases – SQL, Cosmos6. Deploying Containerized Applications (web apps, AKS)7. Using SonarQube and Azure Build Pipelines for Code Analysis8. Integrating with Jenkins9. Integrating with Octopus deploy10. Generating quick start projects with Azure DevOps Projects (specially focus on java, python, node etc. and targeting Azure platforms)11. Generating release notes12. Visualizing Pipelines status with Dashboards in Azure DevOps
Windows 10 For Dummies
TIME-TESTED ADVICE ON WINDOWS 10Windows 10 For Dummies remains the #1 source for readers looking for advice on Windows 10. Expert author Andy Rathbone provides an easy-to-follow guidebook to understanding Windows 10 and getting things done based on his decades of experience as a Windows guru.Look inside to get a feel for the basics of the Windows interface, the Windows apps that help you get things done, ways to connect to the Internet at home or on the go, and steps for customizing your Windows 10 experience from the desktop wallpaper to how tightly you secure your computer.• Manage user accounts• Customize the start menu• Find and manage your files• Connect to a printer wirelesslyRevised to cover the latest round of Windows 10 updates, this trusted source for unleashing everything the operating system has to offer is your first and last stop for learning the basics of Windows!ANDY RATHBONE is a respected Windows guru whose expertise has been helping Windows users for more than 25 years. He is the author of all editions of Windows For Dummies, which has sold millions of copies and is the bestselling computer how-to book of all time. Andy answers Windows questions and shares insight at www.andyrathbone.com. INTRODUCTION 1About This Book 2How to Use This Book 3Touchscreen Owners Aren’t Left Out 4And What about You? 5Icons Used in This Book 5Beyond the Book 6Where to Go from Here 6PART 1: WINDOWS 10 STUFF EVERYBODY THINKS YOU ALREADY KNOW 7CHAPTER 1: WHAT IS WINDOWS 10? 9What is Windows, and Why Are You Using It? 9What’s New in Windows 10? 12What’s So Different about Windows 10? 15Why Does Windows 10 Keep Changing? 16Can My Current PC Still Run Windows 10? 17The Different Flavors of Windows 10 18CHAPTER 2: STARTING WITH THE START MENU 19Being Welcomed to the World of Windows 20Understanding user accounts 22Keeping your account private and secure 23Signing up for a Microsoft account 26Figuring Out the Windows 10 Start Menu 27Toggling between Tablet and Desktop mode 30Launching a Start menu program or app 31Finding something on the Start menu 33Viewing, closing, or returning to apps 34Getting to know your free apps 35Adding or removing Start menu items 38Customizing the Start menu 39Exiting from Windows 44Temporarily leaving your computer 44Leaving your computer for the day 46CHAPTER 3: THE TRADITIONAL DESKTOP 49Finding the Desktop and the Start Menu 50Working with the Desktop 51Launching apps with the Start menu 53Jazzing up the desktop’s background 54Toggling between Tablet mode and the desktop 56Dumpster diving in the Recycle Bin 58Bellying Up to the Taskbar 59Shrinking windows to the taskbar and retrieving them 61Switching to different tasks from the taskbar’s Jump Lists 62Clicking the taskbar’s sensitive areas 62Opening the Action Center 66Customizing the taskbar 67Setting Up Virtual Desktops 69Making Programs Easier to Find 72CHAPTER 4: BASIC DESKTOP WINDOW MECHANICS 75Dissecting a Typical Desktop Window 76Tugging on a window’s title bar 77Navigating folders with a window’s Address bar 79Finding commands on the Ribbon 80Quick shortcuts with the Navigation Pane 82Moving inside a window with its scroll bar 84Boring borders 85Maneuvering Windows around the Desktop 86Moving a window to the top of the pile 86Moving a window from here to there 87Making a window fill the whole desktop 87Closing a window 88Making a window bigger or smaller 88Placing two windows side by side 89Making windows open to the same darn size 90CHAPTER 5: STORAGE: INTERNAL, EXTERNAL, AND IN THE CLOUD 91Browsing the File Explorer File Cabinets 92Getting the Lowdown on Folders 96Peering into Your Drives, Folders, and Other Media 97Seeing the files on a drive 97Seeing what’s inside a folder 100Creating a New Folder 101Renaming a File or Folder 103Selecting Bunches of Files or Folders 104Getting Rid of a File or Folder 105Copying or Moving Files and Folders 106Seeing More Information about Files and Folders 108Writing to CDs and DVDs 111Buying the right kind of blank CDs and DVDs for burning 111Copying files to or from a CD or DVD 112Working with Flash Drives and Memory Cards 115OneDrive: Your Cubbyhole in the Clouds 116Setting up OneDrive 117Changing your OneDrive settings 120Opening and saving files from OneDrive 122Customizing OneDrive for different devices with OneDrive Files On Demand 123Accessing OneDrive from the Internet 126PART 2: WORKING WITH PROGRAMS, APPS, AND FILES 129CHAPTER 6: PLAYING WITH PROGRAMS, APPS, AND DOCUMENTS 131Starting a Program or an App 132Opening a Document 134Saving a Document 136Choosing Which Program Should Open Which File 138Navigating the Microsoft Store 141Adding new apps from the Store app 142Uninstalling apps 145Taking the Lazy Way with a Desktop Shortcut 146Absolutely Essential Guide to Cutting, Copying, and Pasting 147The quick ’n’ dirty guide to cut ’n’ paste 148Selecting things to cut or copy 148Cutting or copying your selected goods 149Pasting information to another place 151CHAPTER 7: FINDING THE LOST 153Finding Currently Running Apps and Programs 153Finding Lost Windows on the Desktop 155Locating a Missing App, Program, Setting, or File 156Searching with Cortana 159Asking Cortana questions 160Finding a Missing File inside a Folder 161Finding Lost Photos 164Finding Other Computers on a Network 164CHAPTER 8: PRINTING AND SCANNING YOUR WORK 167Printing from a Start Menu App 168Printing Your Masterpiece from the Desktop 170Adjusting how your work fits on the page 171Adjusting your printer’s settings 173Canceling a print job 175Printing a web page 176Troubleshooting your printer 178Scanning from the Start Menu 180PART 3: GETTING THINGS DONE ON THE INTERNET 183CHAPTER 9: CRUISING THE WEB 185What’s an ISP, and Why Do I Need One? 186Connecting Wirelessly to the Internet 187Browsing the Web with Microsoft Edge 190Moving from one web page to another 192Making Microsoft Edge open to your favorite site 193Revisiting favorite places 195Finding things on the Internet 196Finding More Information on a Website 197Saving Information from the Internet 198Saving a web page 198Saving text 199Saving a picture 199Downloading a program, song, or other type of file 200CHAPTER 10: BEING SOCIAL: MAIL, PEOPLE, AND CALENDAR 201Adding Your Accounts to Windows 202Understanding the Mail App 204Switching among the Mail app’s views, menus, and accounts 204Composing and sending an email 207Reading a received email 209Sending and receiving files through email 211Managing Your Contacts in the People App 213Adding contacts 215Deleting or editing contacts 216Managing Appointments in Calendar 217CHAPTER 11: SAFE COMPUTING 221Understanding Those Annoying Permission Messages 221Staying Safe with the New Windows Security Center 222Avoiding and removing viruses 224Avoiding phishing scams 226Setting up controls for children 228PART 4: CUSTOMIZING AND UPGRADING WINDOWS 10 233CHAPTER 12: CUSTOMIZING SETTINGS IN WINDOWS 235Finding the Right Switch 236Flipping Switches with the Windows Settings App 237System 238Devices (adjusting mice, keyboards, scanners, and other gadgets) 244Phone 248Network & Internet 250Personalization (changing your PC’s look and feel) 250Apps 255Accounts 256Time & Language 257Gaming 258Ease of Access 258Search 260Privacy 260Update & Security 261CHAPTER 13: KEEPING WINDOWS FROM BREAKING 263Backing Up Your Computer with File History 264Finding Technical Information about Your Computer 268Freeing Up Space on Your Hard Drive 270Setting Up Devices That Don’t Work (Fiddling with Drivers) 272CHAPTER 14: SHARING ONE COMPUTER WITH SEVERAL PEOPLE 275Understanding User Accounts 276Changing or Adding User Accounts 277Adding an account for a family member or friend 278Changing existing accounts 282Switching Quickly between Users 283Changing a User Account’s Picture 285Setting Up Passwords and Security 287Signing in with Windows Hello 289CHAPTER 15: CONNECTING COMPUTERS WITH A NETWORK 293Understanding a Network’s Parts 294Setting Up a Small Network 296Buying parts for a network 296Setting up a wireless router 297Setting up Windows computers to connect to a network 298Sharing Files with Your Networked Computers 300Setting your home network to private 300Sharing files and folders on your private network 303Accessing what others have shared 305Sharing a printer on the network 307Sharing with Nearby Sharing 307Turning on Nearby Sharing 308Sharing files with Nearby Sharing 309PART 5: MUSIC, PHOTOS, AND VIDEOS 311CHAPTER 16: PLAYING AND COPYING MUSIC 313Playing Music with the Groove Music app 314Handing Music-Playing Chores Back to Windows Media Player 317Stocking the Windows Media Player Library 320Browsing Windows Media Player’s Libraries 323Playing Music Files in a Playlist 326Controlling Your Now Playing Items 327Playing CDs 329Playing DVDs 330Playing Videos and TV Shows 330Creating, Saving, and Editing Playlists 332Ripping (Copying) CDs to Your PC 333Burning (Creating) Music CDs 335CHAPTER 17: FIDDLING WITH PHOTOS (AND VIDEOS) 337Dumping Photos from a Phone or Camera to Your Computer 338Taking Photos with the Camera App 341Linking Your Phone with Your PC through the Your Phone App 343Viewing Photos with the Photos App 345Viewing your photo collection 346Viewing photo albums 349Viewing a slideshow 351Copying digital photos to a CD or DVD 352PART 6: HELP! 355CHAPTER 18: THE CASE OF THE BROKEN WINDOW 357Toggling between Tablet and Desktop Mode 358The Magic Fixes in Windows 359Resetting your computer 359Restoring backups with File History 363Windows Keeps Asking Me for Permission 367I Need to Retrieve Deleted Files 369I Need to Fix Broken Apps 369My Settings Are Messed Up 370I Forgot My Password 372My Computer is Frozen Solid 373CHAPTER 19: STRANGE MESSAGES: WHAT YOU DID DOES NOT COMPUTE 375Add Your Microsoft Account 376Choose What Happens with This Device 376Did You Mean to Switch Apps? 377Do You Want to Allow This App to Make Changes to Your Device? 378Do You Want to Save Changes? 379How Do You Want to Open This? 379Threats Found 380How Do You Want to Open This File? 381We’re Not Allowed to Find You 382Reconnect Your Drive 382You Don’t Currently Have Permission to Access This Folder 383CHAPTER 20: MOVING FROM AN OLD PC TO A NEW WINDOWS 10 PC 385Hiring a Third Party to Make the Move 386Buying Laplink’s PCmover program 386Visiting a repair shop 388Transferring Files Yourself 389CHAPTER 21: HELP ON THE WINDOWS HELP SYSTEM 393Getting Started with Windows 10 394Contacting Support 395Microsoft’s paid support options 396Microsoft’s free support options 396PART 7: THE PART OF TENS 401CHAPTER 22: TEN THINGS YOU’LL HATE ABOUT WINDOWS 10 (AND HOW TO FIX THEM) 403Windows 10 Keeps Changing! 403I Want to Avoid the Apps! 404Pruning apps from the Start menu and your PC 404Telling desktop programs, not apps, to open your files 406I Want to Avoid the Desktop! 407I Don’t Want a Microsoft Account 408Windows Makes Me Sign in All the Time 408The Taskbar Keeps Disappearing 409I Can’t Line Up Two Windows on the Screen 410It Won’t Let Me Do Something Unless I’m an Administrator! 411I Don’t Know What Version of Windows I Have 412My Print Screen Key Doesn’t Work 412CHAPTER 23: TEN OR SO TIPS FOR TABLET AND LAPTOP OWNERS 415Turning on Tablet Mode 416Switching to Airplane Mode 417Connecting to a New Wireless Internet Network 418Toggling Your Tablet’s Screen Rotation 419Adjusting to Different Locations 420Backing Up Your Laptop before Traveling 421Accessing the Mobility Center 422Turning Calculator into a Road Warrior Tool 422Index 425
Windows 10 For Seniors For Dummies
THE EASY WAY TO GET UP AND RUNNING WITH WINDOWS 10!With Windows 10 For Seniors For Dummies, becoming familiarized with Windows 10 is a painless process. If you’re interested in learning the basics of this operating system without having to dig through confusing computer jargon, look no further.This book offers a step-by-step approach that is specifically designed to assist first time Windows 10 users who are over-50, providing easy-to-understand language, large-print text, and an abundance of helpful images along the way!* Protect your computer* Follow friends and family online* Use Windows 10 to play games and enjoy media* Check your security and maintenance status Step-by-step instructions are provided to ensure that you don't get lost at any point along the way.PETER WEVERKA has decades of experience helping tech newcomers. He has written on Office and its various applications, Windows, and Internet technologies. He is the author of all previous editions of Windows 10 For Seniors For Dummies.INTRODUCTION 1About This Book 2Conventions Used in This Book 2How to Read This Book 3Foolish Assumptions 4How This Book is Organized 4Beyond the Book 5PART 1: GETTING STARTED WITH WINDOWS 10 7CHAPTER 1: GETTING ACQUAINTED WITH WINDOWS 10 9Tell Your Computer What to Do 10Move the Mouse 11Touch the Screen 11Use a Keyboard 12View the Touch Keyboard 14Turn On Your Computer 18Check Out the Start Screen 20Shut Down Your Computer 23Start Again on the Lock Screen 25CHAPTER 2: USING THE START SCREEN AND APPS 27Open Windows 10 Apps 28Switch among Open Apps 32Close Windows 10 Apps 34Use the App Bar 36Add a Location in Weather 37Change App Settings 40Search for a Desktop App 42Arrange and Group Apps on the Start Screen 45CHAPTER 3: ADJUSTING WINDOWS 10 SETTINGS 49Access the Settings Screen 50Personalize the Lock Screen 52Choose an Account Picture 54Check for Important Updates 56Make Windows 10 Easier to Use 58Customize the Start Menu 61Handle Notifications 62CHAPTER 4: WORKING WITH USER ACCOUNTS 65Connect to the Internet 66Disconnect (or Switch to Airplane Mode) 70Create a New Microsoft Account 72Create a Local Account 75Switch from a Local to an Existing Microsoft Account 77Create a Local Account for Someone in Your Household 79Create a Password for a Local Account 82Change or Remove a Local Account Password 84Delete a Local Account 85CHAPTER 5: GETTING COMFORTABLE WITH THE DESKTOP 87Check Out the Desktop 88Change the Date or Time 90Explore the Parts of a Window 93Resize a Window 95Arrange Some Windows 96Snap a Window 97Open a Second Desktop 99Choose a Desktop Background 101Pin Icons to the Taskbar 103Stop Apps with the Task Manager 104PART 2: WINDOWS 10 AND THE WEB 107CHAPTER 6: FINDING WHAT YOU NEED ON THE WEB 109Browse the Web with Edge 111Open Multiple Pages in Separate Tabs 114Search for Anything 115Bookmark and Revisit Your Favorite Websites 117Explore Edge Features 121Block Ads on Web Pages 124CHAPTER 7: EMAILING FAMILY AND FRIENDS 129Use the Mail App 130Write an Email Message 132Format Email 134Send Files and Pictures 136Read and Respond to Incoming Email 137Change Mail Settings 139Add an Email Account to Mail 142CHAPTER 8: EXPLORING APPS FOR YOUR DAILY LIFE 145Add Contacts to the People App 146Delete a Contact 148Add a Birthday or Anniversary to the Calendar 149Search and Explore with the Maps App 154Remind Yourself to Do Tasks with Alarms & Clock 156Write Documents with WordPad 159Write a Sticky Note to Yourself 161Tweak Quick Status Settings 162Chat Face-to-Face with Skype 163Ask Questions of Cortana 166PART 3: HAVING FUN WITH WINDOWS 10 169CHAPTER 9: EXPLORING THE MICROSOFT STORE 171Explore Apps and Games by Category 172Search for an App or Game by Name 175Install a New App or Game 177Examine Your Apps and Games 180Rate and Review an App or Game 182Add Billing Information to the Microsoft Store 183CHAPTER 10: TAKING PHOTOS AND MORE 185Take Photos (and Videos) with Your Computer 186Choose Camera Settings 187Copy Photos from Your Camera 189View Photos with the Photos App 193Organizing Photos Using the Photos App 196Edit Photos Using the Photos App 199Print Photos Using the Photos App 201Scan Photos and Documents 202CHAPTER 11: ENJOYING MUSIC AND VIDEOS 205Play and Copy Music from a CD 206Listen to the Groove Music App 210Create and Manage Playlists 213Watch Videos 216Burn a CD 218Make a Voice Recording 221PART 4: BEYOND THE BASICS 223CHAPTER 12: MAINTAINING WINDOWS 10 225Install a New Program on the Desktop 226Remove Desktop Programs 228Control Startup Apps 232Explore System Information 233Check Your Security and Maintenance Status 235Speed Up Your Computer 238Protect Your Computer from Viruses and Other Threats 241CHAPTER 13: CONNECTING A PRINTER AND OTHER DEVICES 243Trust USB Plug and Play for Hardware 244See All Devices 246Connect a Printer or Other Device 247Access Device Options on the Desktop 248Calibrate Your Touchscreen 251CHAPTER 14: WORKING WITH FILES 253Save and Open a File 254Find a Misplaced File 256Add a Location to Quick Access 261Use File Explorer for Easy Access to Files 262Create a Folder to Organize Your Files 264Use Check Boxes to Select Files 265Add the Undo Button to File Explorer 267Move a File from One Folder to Another 268Rename a File or a Folder 270Delete a File or Folder 272Get Back a File or Folder You Deleted 273CHAPTER 15: BACKING UP AND RESTORING FILES 275Add an External Hard Drive or Flash Drive 277Copy Files to or from a Flash Drive 278Use OneDrive to Store File Copies 282Turn On File History 286Restore Files with File History 289Reset a Misbehaving Computer 291Index 293
Modern C++ for Absolute Beginners
Learn the C++ programming language in a structured, straightforward, and friendly manner. This book teaches the basics of the modern C++ programming language, C++ Standard Library, and modern C++ standards. No previous programming experience is required.C++ is a language like no other, surprising in its complexity, yet wonderfully sleek and elegant in so many ways. It is also a language that cannot be learned by guessing, one that is easy to get wrong and challenging to get right. To overcome this, each section is filled with real-world examples that gradually increase in complexity. Modern C++ for Absolute Beginners teaches more than just programming in C++20. It provides a solid C++ foundation to build upon.The author takes you through the C++ programming language, the Standard Library, and the C++11 to C++20 standard basics. Each chapter is accompanied by the right amount of theory and plenty of source code examples.You will work with C++20 features and standards, yet you will also compare and take a look into previous versions of C++. You will do so with plenty of relevant source code examples.WHAT YOU WILL LEARN* Work with the basics of C++: types, operators, variables, constants, expressions, references, functions, classes, I/O, smart pointers, polymorphism, and more * Set up the Visual Studio environment on Windows and GCC on Linux, where you can write your own code* Declare and define functions, classes, and objects, and organize code into namespaces* Discover object-oriented programming: classes and objects, encapsulation, inheritance, polymorphism, and more using the most advanced C++ features* Employ best practices in organizing source code and controlling program workflow* Get familiar with C++ language dos and donts, and more* Master the basics of lambdas, inheritance, polymorphism, smart pointers, templates, modules, contracts, concepts, and moreWHO THIS BOOK IS FORBeginner or novice programmers who wish to learn C++ programming. No prior programming experience is required.Slobodan Dmitrovic is a C++ software developer with a strong interest in software architecture, modern C++, research and development, and training.1. Introduction2. What is C++?3. C++ Compilers4. Our First Program5. Types6. Exercises7. Operators8. Standard Input9. Exercises10. Arrays11. Pointers12. References13. Introduction to Strings14. Automatic Type Deduction15. Exercises16. Statements17. Constants18. Functions19. Exercises20. Scope and Lifetime21. Exercises22. Classes - Part I23. Exercises24. Classes – Part II25. The static Specifier26. Templates27. Enumerations28. Organizing code29. Exercises30. Conversions31. Exceptions32. Smart Pointers33. C++ Standard Library and Friends34. C++ Standards35. C++1136. C++1437. C++1738. C++20
From Chaos to Concept
THIS BOOK IS WRITTEN FOR PRODUCT DESIGN, SOFTWARE DEVELOPMENT, GRAPHIC DESIGN, AND UX PROFESSIONALS WITH A FOCUS ON CREATING MEASURABLY BETTER USER EXPERIENCES.If you want to design solutions to meet business goals and delight your users, you can look to this resource which covers the following areas:* Creating and documenting goals, strategies, objectives, and tactics* Defining or refining personas based on your measurable objectives (OKRs)* Creating and iterating on scenarios based your prioritized personas* A team approach to defining the product and roadmap to address critical use cases* Team based divergent ideation and solution exploration* Team based convergent solution definition* Wireframing potential solutions for rapid research and iteration* Using quantitative and qualitative methods to understand usage and test with users* Exploring approaches to taxonomy and information architecture* Using psychology and human factors to drive your design decisions* Developing performant, accessible, maintainable experiences* Using analytics to measure the results and inform the next iteration* How this process differs based on the size of the company or team that is employing itKEVIN C. BRAUN is a UX design leader, speaker, educator, and author. He is the founder of Braun Interactive, a design consultancy located in the heart of the Silicon Valley. Kevin has over 24 years of software design and development experience. In that time he has worked to improve user experiences with world-class companies including Google, Samsung, Rolex, Hyundai, Michael Kors, MIT, Harvard, Cisco Systems, Keurig, and Vermont Teddy Bear. He has also worked with industry leaders in healthcare, insurance, automotive, mobile devices, and consumer goods. Introduction: The Golden Butter Knife xvCH 1: MAKE IT USEFUL 1What are We Trying to Do and How Will We Know If We Did It? 1CH 2: MAKE IT USABLE 31Who are We Designing This For?—Personas/User Segments 31What Do They Need?—Scenarios 38When Will We Design and Build It?: The Product Roadmap 42CH 3: MAKE IT BEAUTIFUL 59Scannability, Readability, Comprehension 62Using the Inverted Pyramid Model for Content 63Alignment and the Grid 65Visual Hierarchy 67Composition 69Scope 74The Golden Triangle 74The F, Z, and Other Gaze Patterns 76Gestalt Patterns 77Color 86Thematic Appropriateness 88Data Visualization 90Further Reading 94CH 4: MAKE IT FUNCTIONAL 95Framework-itis and Code Bloat 98Testing across Platforms, Browsers, and Devices 99Accessibility 102Further Reading 105CH 5: MAKE IT MEASURABLE 107FaUX 107Analytics 110Conversions and Micro Conversions 111Be Curious and Analytical 113Google Analytics 115Mouseflow 115Reverse Path Analysis to Understand Failure 117Being Misled by Your Data 118Fear of Change 119Ease the Fear of Change with A/B Testing 120Some Helpful Tools of the Trade 121Further Reading 122CH 6: MAKE IT BETTER 123Planning Your Iterations 123Research 124Analysis 125Findings 126Recommendations 128Prioritization 130Effort 132Further Reading 133CH 7: MAKE THESE METHODS WORK FOR YOU 135Starting with a Greenfield Project or at a Startup 135Understanding the Market 136What Comes Next? 154Working within an Established Company 168Conclusion 176Index 179
Attribution of Advanced Persistent Threats
An increasing number of countries develop capabilities for cyber-espionage and sabotage. The sheer number of reported network compromises suggests that some of these countries view cyber-means as integral and well-established elements of their strategical toolbox. At the same time the relevance of such attacks for society and politics is also increasing. Digital means were used to influence the US presidential election in 2016, repeatedly led to power outages in Ukraine, and caused economic losses of hundreds of millions of dollars with a malfunctioning ransomware. In all these cases the question who was behind the attacks is not only relevant from a legal perspective, but also has a political and social dimension.Attribution is the process of tracking and identifying the actors behind these cyber-attacks. Often it is considered an art, not a science.This book systematically analyses how hackers operate, which mistakes they make, and which traces they leave behind. Using examples from real cases the author explains the analytic methods used to ascertain the origin of Advanced Persistent Threats.DR. TIMO STEFFENS was involved in the analysis of many of the most spectacular cyber-espionage cases in Germany. He has been tracking the activities and techniques of sophisticated hacker groups for almost a decade.Advanced Persistent Threats.- The attribution process.-Analysis of malware.- Attack infrastructure.- Analysis of control servers.- Geopolitical analysis.- Telemetry - data from security products.- Methods of intelligence agencies.- Doxing.- False flags.- Group set-ups.- Communication.- Ethics of attribution.
AutoCAD 2021 und AutoCAD LT 2021 für Architekten und Ingenieure
Einführung in die wichtigsten Bedienelemente Konstruktionsbeispiele aus Architektur, Handwerk und Technik Zahlreiche Praxisbeispiele und Übungen Dieses Grundlagen- und Lehrbuch zeigt Ihnen anhand konkreter Praxisbeispiele aus Architektur, Handwerk und Technik die Möglichkeiten von AutoCAD 2021 und AutoCAD LT 2021 und bietet insbesondere AutoCAD-Neulingen einen gründlichen und praxisnahen Einstieg in CAD. Auch die grundlegenden Abweichungen in der Benutzeroberfläche der Mac-Version werden vorgestellt. Mit dem Buch und der 30-Tage-Testversion von der Autodesk-Webseite können Sie sofort beginnen und Ihre ersten Zeichnungen erstellen. Sie arbeiten von Anfang an mit typischen Konstruktionsaufgaben aus Studium und Praxis. Zu jedem Kapitel finden Sie Übungsaufgaben, Testfragen und Lösungen. Zahlreiche Befehle werden detailliert erläutert, wie z.B.: Zeichnen mit LINIE, KREIS, BOGEN, PLINIE, Schraffur und weitere Bearbeiten (VERSETZ, STUTZEN, DEHNEN und weitere), Griffe, Eigenschaften-Manager, Anordnungen mit REIHE-Befehlen, Ändern mit STRECKEN, VARIA, LÄNGE Komplexe Objekte: BLOCK, Attribute, externe Referenzen 3D-Volumenkörper, Netzkörper und NURBS-Flächen (Freiformmodellierung) Vergleichsfunktion für Zeichnungen und externe Referenzen Benutzeroberfläche anpassen, Makro-Aufzeichnung, AutoLISP-Programmieranleitung Deutsche Beschreibung der englischen Expresstools Zum Download: Alle Beispiele, zusätzliche Übungen als PDF, Video-Tutorials und Vorlagen erhalten Sie zum kostenlosen Download unter www.mitp.de/0230 Aus dem Inhalt: Allgemeine Bedienung mit Multifunktionsleisten, Registern und Paletten Schnelleinstieg ins Zeichnen mit Rasterfang Exaktes Zeichnen mit Koordinaten, Objektfang und Spurlinien Zeichnungsorganisation mit Layern, Vorlagen und Standards Texte, Schriftfelder und Tabellen, Verbindung zu Excel Bemaßungsbefehle und Bemaßungsstile, Spezialfälle Parametrische Variantenkonstruktionen, dynamische Blöcke Maßstäbliches Plotten Möglichkeiten im Internet mit Web und Mobile (Cloud) Zahlreiche Übungsfragen mit AntwortenDetlef Ridder hat bereits zahlreiche Bücher zu AutoCAD, Inventor, Revit und ArchiCAD veröffentlicht und gibt Schulungen zu diesen Programmen und im Bereich CNC.
Let‘s Play. Programmieren lernen mit Python und Minecraft
Erschaffe deine eigene Welt: mächtige neue Waffen erstellen wie z.B. ein Feuerschwert, auf Knopfdruck Türme und ganze Häuser bauen, automatisch auf Veränderungen in der Welt reagierenNeue Crafting-Rezepte und eigene Spielmodi entwickeln wie z.B. eine Schneeballschlacht mit Highscore-ListeMit umfangreicher Referenz zu allen Programmierbefehlen Programmieren lernen mit Python ohne Vorkenntnisse Du spielst schon lange Minecraft und denkst, du hast schon alles gesehen? Kennst du schon das Feuerschwert, den Enderbogen oder den Spielmodus »Schneeballschlacht«? Du willst auf Knopfdruck Türme, Mauern oder sogar ganze Häuser bauen? Vollautomatisch auf Geschehnisse in der Spielwelt reagieren? Mit eigenen Plugins kannst du all das und noch viel mehr entdecken und ganz nebenbei auch noch programmieren lernen. Python ist für Programmiereinsteiger besonders leicht zu lernen. Daniel Braun zeigt dir, wie du mit Python und Bukkit oder Spigot Erweiterungen für Minecraft programmierst, sogenannte Plugins, die du dann zusammen mit deinen Freunden auf deinem eigenen Minecraft-Server ausprobieren kannst. Dafür sind keine Vorkenntnisse erforderlich, du lernst alles von Anfang an. Nach dem Programmieren einfacher Chat-Befehle wirst du coole Plugins zum Bauen erstellen, so dass mit einem einzigen Befehl sofort z.B. ein fertiges Haus oder eine Kugel vor dir steht. Außerdem erfährst du, wie deine Plugins automatisch auf Geschehnisse in der Spielwelt reagieren können. Du kannst auch eigene Crafting-Rezepte entwerfen, um z.B. mächtige neue Waffen zu kreieren wie das Feuerschwert, das alles in Brand setzt, worauf es trifft. Am Ende lernst du sogar, wie du eigene Spielmodi entwickeln kannst, also ein Spiel im Spiel. Ob eine Schneeballschlacht mit Highscore-Liste oder ein Wettsammeln mit Belohnung für den Sieger, hier ist jede Menge Spaß garantiert. Für das alles brauchst du keine Vorkenntnisse, nur Spaß am Programmieren. Es beginnt mit ganz einfachen Beispielen, aber mit jedem Kapitel lernst du mehr Möglichkeiten kennen, um Minecraft nach deinen Wünschen anzupassen. Am Ende kannst du richtig in Python programmieren und deiner Kreativität sind keine Grenzen mehr gesetzt, um deine eigene Minecraft-Welt zu erschaffen. Aus dem Inhalt: Bukkit und Spigot installieren und einrichtenEigene Befehle definieren und Chat-Nachrichten versendenPython-Grundlagen: Variablen, Schleifen, Verzweigungen, Funktionen, Klassen und ObjekteHäuser, Kreise und Kugeln bauenSchilder errichten und beliebig beschriftenPlugins programmieren, die auf Veränderungen in der Welt reagierenEigene Crafting-Rezepte erstellenInformationen dauerhaft speichernEigene Spielmodi entwickeln wie z.B. eine Schneeballschlacht oder ein SammelspielUmfangreiche Referenz zu allen Programmierbefehlen Daniel Braun ist seit den ersten Tagen Minecraft-Anhänger und kennt als Profi alle Facetten des Spiels. Er hat bereits mehrere Bücher zu Minecraft geschrieben.
Zoom For Dummies
ZOOM INTO THE NEW WORLD OF REMOTE COLLABORATIONWhile a worldwide pandemic may have started the Zoom revolution, the convenience of remote meetings is here to stay. Zoom For Dummies takes you from creating meetings on the platform to running global webinars. Along the way you'll learn how to expand your remote collaboration options, record meetings for future review, and even make scheduling a meeting through your other apps a one-click process. Take in all the advice or zoom to the info you need - it's all there!* Discover how to set up meetings* Share screens and files* Keep your meetings secure* Add Zoom hardware to your office* Get tips for using Zoom as a social toolAward-winning author Phil Simon takes you beyond setting up and sharing links for meetings to show how Zoom can transform your organization and the way you work.PHIL SIMON is a frequent keynote speaker, dynamic trainer, recognized technology authority, and college professor-for-hire. He is the award-winning author of ten books, most recently Slack For Dummies and Zoom For Dummies. He consults organizations on matters related to communications, strategy, data, and technology. His contributions have appeared in The Harvard Business Review, The New York Times, and many other prominent media sites. He hosts the podcast Conversations About Collaboration.INTRODUCTION 1About This Book 2Foolish Assumptions 2Icons Used in This Book 4Beyond the Book 5Where to Go from Here 5Thank You 6PART 1: STAYING CONNECTED WITH ZOOM 7CHAPTER 1: COMMUNICATING AND COLLABORATING BETTER WITH ZOOM 9Introducing Zoom 9Discovering Zoom’s origins 10Understanding what Zoom does 11Reviewing the numbers behind Zoom’s rapid ascent 13Assessing how COVID-19 changed Zoom’s trajectory 14Reviewing Zoom’s industry awards and recognition 16Analyzing Zoom’s competitive landscape 17Reaping the Benefits of Zoom’s Tools 23Zoom solves some of today’s key communications problems 23Zoom makes people more productive 24Zoom just works 25Zoom is affordable 26Zoom is flexible and interoperable 26Zoom stays in its lane 27Zoom lets people rediscover their humanity 28CHAPTER 2: GETTING TO KNOW ZOOM’S SUITE OF COMMUNICATION TOOLS 29Zoom’s Core Services 30Ready to Go 31Zoom Meetings & Chat 31Zoom Video Webinars 37Some Assembly Required 39Zoom Rooms 39Zoom Phone 43PART 2: COMMUNICATING AND COLLABORATING IN ZOOM 45CHAPTER 3: SETTING UP ZOOM 47Taking Your First Steps 47Creating a new Zoom account 48Modifying your Zoom plan 52Downloading and installing the Zoom desktop client 54Signing in to the Zoom desktop client 56Completing your Zoom profile 57Getting to know the Zoom UI 58Reviewing Zoom Account Management 59Adding new users to your Zoom account 60Deactivating existing accounts 61Deleting existing users from your Zoom account 62Unlinking users from your Zoom account 63Unlocking the power of Zoom user groups 64Discussing the Importance of Zoom Roles 67Reviewing Zoom’s default roles 67Creating new user roles 68Changing an existing user’s role 69CHAPTER 4: CONNECTING WITH OTHERS VIA ZOOM MEETINGS 71Getting Started with Zoom Meetings 72Reviewing Zoom’s meeting-specific roles 72Locating your personal Zoom information 74Augmenting your Zoom meetings 75Hosting Zoom Meetings 78Inviting others to your current meeting 80Planning a future Zoom meeting 82Letting others in to your current meeting 89Joining others’ Zoom meetings 90Putting your best foot forward 93Performing Mid-Meeting Actions 95Reviewing your recording options 95Using virtual backgrounds 97Managing and interacting with meeting participants 99Launching live polls 100Using breakout rooms during meetings 102Sharing content with meeting participants 105Putting a Bow on Your Meeting 115Viewing meeting transcriptions 116Accessing your recorded meetings 117CHAPTER 5: GETTING TO KNOW THE OTHER SIDE OF ZOOM MEETINGS & CHAT 121Managing Your Zoom Contacts 122Adding contacts to your Zoom directory 123Removing an existing contact from your Meetings & Chat directory 125Inviting an existing Zoom contact to a new meeting 126Adding internal contacts to an existing meeting 126Performing contact-specific actions 127Understanding User Status in Zoom 128Getting familiar with Zoom’s status icons 129Changing your status in Meetings & Chat 130Staying current with Zoom notifications 133Chatting in Zoom 134Exchanging messages with your individual Zoom contacts 134Holding group chats 136Creating threads in Zoom 139Saving message drafts 141Editing and deleting your messages 141Referencing other Zoom members in a group discussion 142Adding some flair to your messages 143Uploading and sharing files in Zoom 146Sending screen captures 148Performing message-specific actions 149Searching in Zoom 150Performing basic Zoom searches 150Performing more advanced Zoom searches 153Performing searches with wildcards 155PART 3: BECOMING A ZOOM POWER USER 157CHAPTER 6: GETTING EVEN MORE OUT OF MEETINGS & CHAT 159Managing Users via IM Groups 160Understanding the need for IM groups 160Adding a new IM group 161Adding users to IM groups 162Exploring Additional Options and Features in Meetings & Chat 163Understanding Zoom Channels 163Refining your Zoom notifications 174Sharing code snippets 178Running Reports in Zoom 181Reviewing Zoom’s role-based reporting 182Running a simple report 185Customizing your reports 186Exporting raw report data 188CHAPTER 7: ENHANCING ZOOM WITH THIRD-PARTY APPS 189Understanding the Rationale behind Third-Party Apps 190Benefits of using third-party apps 190Why Zoom relies upon external developers 191Introducing the Zoom App Marketplace 192Searching for a specific Zoom app 193Browsing for Zoom apps 194Managing Your Zoom Apps 195Installing a Zoom app 196Uninstalling a Zoom app 197Viewing your organization’s installed apps 199Restricting apps in Meetings & Chat 199Limiting apps that members can install 200Recommending a Few Useful Zoom Apps 202Treading Lightly with Apps 204CHAPTER 8: CONNECTING WITH THE MASSES THROUGH WEBINARS 207Taking Your First Steps 208Creating your first Zoom webinar 209Setting your registration options 210Preparing for your webinar 212Reviewing Zoom’s webinar-specific roles 217Taking Zoom webinars up a notch with third-party apps and integrations 223Canceling your webinar 224Running Your Webinar 225Launching your webinar 225Sharing and annotating your screen 228Interacting with webinar attendees 230Concluding Your Webinar 236Accessing your recorded webinar and sharing it with the world 236Downloading your recorded webinar 238Running webinar-related reports 239Deleting your recorded webinars 241PART 4: DEPLOYING ZOOM IN THE ORGANIZATION 243CHAPTER 9: PROTECTING YOUR COMMUNICATIONS IN ZOOM 245Putting Zoom’s Challenges into Proper Context 246Understanding creative destruction 246Managing the double-edged sword of sudden, massive growth 247Zoombombing 247Gauging Zoom’s Response 251Bringing Zoom’s privacy and security settings to the forefront 252Enhancing its encryption method 253Enabling default passwords and waiting rooms for all meetings 255Increasing the length of meeting and webinar IDs 255Configuring Zoom for Maximum Privacy and Security 256Keeping Zoom up to date 256Enabling two-factor authentication 260Authenticating user profiles 264Intelligently using passwords 267Following Zoom’s best security practices 272Using your brain 274Looking toward the Future 276CHAPTER 10: TAKING GROUP MEETINGS TO THE NEXT LEVEL WITH ZOOM ROOMS 279Revisiting the Early Days of Immersive-Telepresence Technology 280TelePresence by Cisco Systems 280Halo by Hewlett-Packard 281The underwhelming results of early immersive-telepresence technology 282Introducing Zoom Rooms 283Features of Zoom Rooms 283Cost and functionality 284The types of environments that typically benefit from Zoom Rooms 284Setting Up Your Zoom Room 285Software 285Hardware 286Lighting 291CHAPTER 11: MAKING CALLS WITH ZOOM PHONE 293Getting Started with Zoom Phone 294Adding Zoom Phone to your existing plan 294Setting up Zoom to receive inbound calls 296Setting up Zoom to make outbound calls 298Reviewing the Basic Features of Zoom Phone 302Before distributing your Zoom Phone number 303Talking to people via Zoom Phone 306Performing other call-related actions 309CHAPTER 12: GETTING EVERYONE TO ZOOM TOGETHER 313Understanding the Relative Ease of Zoom Adoption 314Zoom is remarkably easy to use 314Zoom doesn’t step on email’s toes 314Zoom doesn’t require people to rethink how they work 315Zoom benefits from network effects 317Applying Different Types of Techniques 318Organizational techniques 318Individual techniques 321CHAPTER 13: ZOOMING TOWARD THE FUTURE 325Cutting-Edge Technologies 326Augmented reality 326Virtual reality 326Artificial intelligence and machine learning 327Voice 329Better voice transcriptions 330More useful commands 330Real-time language translation 331Other Developments and Enhancements 331More robust third-party apps 331Key acquisitions and partnerships 332Increased security 332PART 5: THE PART OF TENS 335CHAPTER 14: TEN GREAT ZOOM TIPS 337Try Before You Buy 337Consider Upgrading Your Firm’s Existing Zoom Plan 338Take Security Seriously 338Keep Zoom Updated 339Create a Personal Zoom Account 339Explore Zoom’s Advanced Features 340Measure Twice and Cut Once 340Develop a Contingency Plan for Important Meetings 340Expect Some Resistance to Zoom at Mature Firms 341Avoid Zoom Fatigue 342CHAPTER 15: TEN COMMON MYTHS ABOUT ZOOM 343Zoom Is No Different than Legacy Videoconferencing Tools 343Zoom Is Fundamentally Insecure 344Zoom’s Customers Use the Tools in a Uniform Way 344Zoom Ensures Flawless Business Communication 345Zoom Decimates the Need for In-Person Communication 345Zoom Eliminates the Need for Email 346You Can’t Overuse Zoom 346Zoom Is Too Expensive for Our Company 347Zoom Won’t Integrate with Our Key Enterprise Technologies 348Our Workers Don’t Need a Tool like Zoom 348Only Hipsters at Tech-Savvy Startups Use Zoom 348CHAPTER 16: TOP TEN OR SO ZOOM RESOURCES 349Resources for Everyday Users 350Zoom support 350Zoom training 351Zoom on YouTube 351Zoom apps 351Zoom blog 351Zoomtopia 352Zoom virtual backgrounds 352Zoom on social networks 352Resources for Software Developers 353Zoom developer guides 353Developer forums 353CHAPTER 17: TEN WAYS TO SOCIALIZE VIA ZOOM 355Cooking and Eating Meals 355Visiting Sick Friends and Family Members 356Dating 356Sharing a Few Drinks over Happy Hour 356Playing Brick-and-Mortar Games 356Playing Video Games 356Watching Movies and TV Shows 357Performing Stand-Up Comedy 357Staying Fit 357Holding Miscellaneous Parties 357Index 359
Advanced R 4 Data Programming and the Cloud
Program for data analysis using R and learn practical skills to make your work more efficient. This revised book explores how to automate running code and the creation of reports to share your results, as well as writing functions and packages. It includes key R 4 features such as a new color palette for charts, an enhanced reference counting system, and normalization of matrix and array types where matrix objects now formally inherit from the array class, eliminating inconsistencies.Advanced R 4 Data Programming and the Cloud is not designed to teach advanced R programming nor to teach the theory behind statistical procedures. Rather, it is designed to be a practical guide moving beyond merely using R; it shows you how to program in R to automate tasks.This book will teach you how to manipulate data in modern R structures and includes connecting R to databases such as PostgreSQL, cloud services such as Amazon Web Services (AWS), and digital dashboards such as Shiny. Each chapter also includes a detailed bibliography with references to research articles and other resources that cover relevant conceptual and theoretical topics.WHAT YOU WILL LEARN* Write and document R functions using R 4* Make an R package and share it via GitHub or privately* Add tests to R code to ensure it works as intended* Use R to talk directly to databases and do complex data management* Run R in the Amazon cloud* Deploy a Shiny digital dashboard* Generate presentation-ready tables and reports using RWHO THIS BOOK IS FORWorking professionals, researchers, and students who are familiar with R and basic statistical techniques such as linear regression and who want to learn how to take their R coding and programming to the next level.MATT WILEY leads institutional effectiveness, research, and assessment at Victoria College, facilitating strategic and unit planning, data-informed decision making, and state/regional/federal accountability. As a tenured, associate professor of mathematics, he won awards in both mathematics education (California) and student engagement (Texas). Matt earned degrees in computer science, business, and pure mathematics from the University of California and Texas A&M systems.Outside academia, he co-authors books about the popular R programming language and was managing partner of a statistical consultancy for almost a decade. He has programming experience with R, SQL, C++, Ruby, Fortran, and JavaScript.A programmer, a published author, a mathematician, and a transformational leader, Matt has always melded his passion for writing with his joy of logical problem solving and data science. From the boardroom to the classroom, he enjoys finding dynamic ways to partner with interdisciplinary and diverse teams to make complex ideas and projects understandable and solvable.JOSHUA F. WILEY is a lecturer in the Turner Institute for Brain and Mental Health and School of Psychological Sciences at Monash University. He earned his PhD from the University of California, Los Angeles and completed his post-doctoral training in primary care and prevention. His research uses advanced quantitative methods to understand the dynamics between psychosocial factors, sleep and other health behaviours in relation to psychological and physical health. He develops or co-develops a number of R packages including varian, a package to conduct Bayesian scale-location structural equation models, MplusAutomation, a popular package that links R to the commercial Mplus software, extraoperators for faster logical operations, multilevelTools for diagnostics, effect sizes, and easy display of multilevel / mixed effects models results, and miscellaneous functions to explore data or speed up analysis in JWileymisc.PROGRAMMING1.Programming Basics2.Programming Utilities3.Loops, flow control, and *apply functions4.Writing Functions5.Writing Classes and Methods6.Writing a PackageDATA MANAGEMENT7.Data Management using data.table8.Data Munging With data.table9.Other Tools for Data Management10.Reading Big Data(bases)CLOUD COMPUTING11.Getting a Cloud12.Ubuntu for Windows Users13.Every Cloud has a Shiny lining…14.Shiny Dashboard Sampler15.Dynamic Reports and the CloudReferences (backmatter)
Python für Dummies
Python ist eine der beliebtesten und vielseitigsten Programmiersprachen überhaupt. Für viele Entwickler führt deshalb kein Weg an Python vorbei. Schöpfen Sie mit diesem Buch aus dem reichen Erfahrungsschatz zweier langjähriger Softwareentwickler. Sie lernen zunächst die Syntax der Sprache und vertiefen dann das Erlernte anhand von konkreten Aufgabenstellungen. Für den Blick über den Tellerrand sorgen Kapitel zu Programmierparadigmen, Code-Qualität, Test-Ansätzen und Dokumentation. Jede Menge Tipps und Tricks und ein breites Spektrum an Beispielen lassen Sie zu einem wahren Python-Profi werden. Johannes Hofmeister lebt in Heidelberg. Am Psychologischen Institut der Universität Heidelberg erforscht er zur Zeit, was Code verständlich macht. Als Softwareentwickler und Berater hat er in großen und kleinen Unternehmen C#, Java und JavaScript eingesetzt, aber am liebsten liest und schreibt er Python-Code.Horst Schneider lebt in Mannheim und arbeitet seit mehr als zehn Jahren als Softwareentwickler. Sein Schwerpunkt ist die Anwendungsentwicklung in verschiedenen Sprachen, von Java über C# bis zu JavaScript und Python. Aktuell arbeitet er als Coach und Berater im Raum Heidelberg und löst vielfältige Probleme - vorzugsweise mit Python.Über die Autoren 11EINLEITUNG 23Törichte Annahmen über den Leser 23Wie Sie dieses Buch nutzen können 23Was Sie nicht lesen müssen 24Wie dieses Buch aufgebaut ist 24Symbole, die in diesem Buch verwendet werden 25Konventionen in diesem Buch 26TEIL I: LANGWEILIGE EINMALLEKTÜRE 27KAPITEL 1 ORIENTIERUNG29Motivation 29Was ist Python? 29Warum sollte ich Python lernen? 29Was ist an Python so besonders? 30Seit wann gibt es Python? 30Warum ist Python weniger verbreitet als andere Sprachen? 31Welche Sprachfeatures bringt Python mit? 31Ist Python eine Skript- oder eine Programmiersprache? 32Ich habe gehört, dass Python langsam ist Stimmt das? 32Anwendungsgebiete 33Wer verwendet Python? 33Kann man mit Python Geld verdienen? 33Was kann ich mit Python machen? 33Sollte ich nicht doch lieber eine andere Sprache lernen? 34KAPITEL 2 IM KRIECHGANG – DIE INSTALLATION35Windows 35Schritt 1 – Herunterladen 36Schritt 2 – Installieren 37Schritt 3 – Läuft’s? 39macOS 40Schritt 1 – Herunterladen 40Schritt 2 – Installieren 41Schritt 3 – Läuft’s? 44Alternative: Homebrew 44Linux 45Einer für alle 46KAPITEL 3 DER SCHLANGE BEINE MACHEN – PYTHON AUSFÜHREN49Der REPL 49Editor oder IDE? 50TEIL II: PYTHON SPRECHEN LERNEN 53KAPITEL 4 HIC FORUM EST – SCHNELLKURS55Vogelperspektive 56Das kleinste Python-Programm der Welt 59Zeichenketten und Bildschirmausgabe 60Rechnen mit Python 63Variablen 66Wahrheitswerte und bedingte Ausführung 69Boolesche Logik in Python 69Truthy und Falsy 71Wenn – Dann – Sonst 72Listen und Schleifen 74Funktionen und Module 77Funktionen definieren und aufrufen 78Module nutzen 79Fehlerbehandlung 80KAPITEL 5 DATEN STRUKTURIEREN85Listen 86Listen anlegen 86Was steckt drin? 86Listen verändern 88Listen sortieren 89Absteigend oder aufsteigend sortieren? 90Tupel 91Einpacken 91Entpacken 92Tupel verändern 94Tupel sortieren 95Wann Sie Listen und wann Tupel verwenden sollten 95Dictionarys 96Dictionarys anlegen 97Was steckt drin? 98Dictionarys verändern 99Sets 100Sets anlegen 101Was steckt drin? 101Sets verändern 102Mengenlehre 104KAPITEL 6 DATEN TRANSFORMIEREN109Iteration 109Comprehensions 112Syntax 112List Comprehensions 114Dictionary Comprehensions 115Set Comprehensions 116Generator Expressions 117Slicing 120Ein einziges Element 121Mehrere Elemente 122Schrittweise Auswahl 122Beispiel: IBAN validieren 123Iteration ohne Index 125FAQ – Leben ohne Index 127Nur ein Element 128Nummerierung 128Listen zusammenführen 129Listen zerteilen 129Dictionarys erzeugen 130Dictionarys iterieren 131Verschachtelte Iteration 131KAPITEL 7 MIT DER AUẞENWELT KOMMUNIZIEREN133Selbstgespräche führen 134Text ausgeben 134Text einlesen 135Textausgabe steuern 136Längere Texte zusammenbasteln 137Texte formatieren 137Textkodierung 140Kommandozeilenparameter 140Textdateien einlesen 142Im Ganzen lesen 142Zeilenweise lesen 143Textdateien schreiben 146Dateimodi: Behalten oder neu machen? 146Im Ganzen schreiben 147Zeilenweise schreiben 148Vollständiges Beispiel 149Alles fließt 150Bin∖xc3∖xa4rdaten lesen 152Im Ganzen lesen 153Häppchenweise lesen 154Binärdaten schreiben 158TEIL III: MIT PYTHON PROBLEME LÖSEN 161KAPITEL 8 WAS PYTHON SCHON KANN163Built-ins 163Built-ins für den REPL 165Umwandlungsfunktionen 166Mathematische Funktionen 171Mengen aggregieren 172Daten transformieren 173Module und Pakete 175Module importieren 176Direktimporte 176Aus Paketen importieren 177Namenskonflikte verhindern 177Import mit Wildcard – Alle für einen 178Die Standardbibliothek 179Im Lieferumfang enthalten sind 180os – Welches Betriebssystem läuft? 180random und secrets – Zufall 183imaplib – E-Mails versenden 184urllib und json – Web 186Minisprachen 187Datum- und Zeitangaben 187Strings formatieren 192KAPITEL 9 WAS PYTHON (NOCH) NICHT KANN197Pip installieren 197Pakete installieren 198Installierte Pakete ansehen 199Spezifische Versionen installieren 199Pakete entfernen 200KAPITEL 10 WAS SIE PYTHON BEIBRINGEN KÖNNEN201Eigene Module 201Eigene Module anlegen 202Eigene Pakete 202Eigene Skripte 204Hintergrund: Wie Module geladen werden 206Wo sucht Python Module? 206Module Laden 207TEIL IV: PYTHON ALS HANDWERK 209KAPITEL 11 FUNKTIONALE PROGRAMMIERUNG211Anatomie einer Funktion 212Definition 212Aufruf 212Namen und Konzepte 213Effekte und Nebeneffekte 213Positionale Argumente 214Benannte Argumente 215Regeln für Funktionsaufrufe aufstellen 216Optionale Argumente 219Variable Argumente mit *args und **kwargs 222Argumente entpacken 225Funktionen haben »Bürgerrechte« 226Funktionen zusammenstecken 227Arbeitsteilung 229Funktionen, die Funktionen erzeugen 232Dekoratoren 233Generatoren 235KAPITEL 12 OBJEKTORIENTIERTE PROGRAMMIERUNG239Anatomie eines Objekts 240Objekte 241Klassen und Konstruktoren 241Attribute und Methoden 242Instanzen 246Operatoren 248Beziehungen 252Vererbung – Objekte als Familie 253Komposition – Objekte im Team 263In Objekten denken 270Was ist eigentlich objektorientierte Programmierung? 271Wie man gute Objekte designt 273KAPITEL 13 AUSNAHMEN279Ausnahmen behandeln 281Eigene Ausnahmen auslösen 282Ausnahmen als Signale nutzen 283Beispiel: Hotels buchen 285KAPITEL 14 TESTEN 295Wenn Ihr Programm nicht tut, was es soll 296Eigenschaften von Python 296Fehlerklassen (oder: Was alles schief gehen kann) 298Wo und wie Tests helfen können 300Python bei der Arbeit zuschauen 301Debuggen mit print 301Bedingungen prüfen mit assert 302Den Programmfluss kontrollierbar machen 303Unit-Tests schreiben mit dem unittest-Modul 305Unit-Tests erstellen und ausführen 306Bestehende Komponenten testen 309TEIL V: BRÖTCHEN (ODER LORBEEREN) MIT PYTHON VERDIENEN 313KAPITEL 15 CODE-QUALITÄT315Werkzeuge 316Programmstil überprüfen mit Pycodestyle 317Code reformatieren 319Programmierfehler erkennen mit Pyflakes 321Dokumentation überprüfen mit Pydocstyle 323Sicherheitsrisiken finden mit Bandit 326Integrierte Code-Audits 328Modulare Audits mit Flake8 329Das Schweizer Taschenmesser: Pylint 333Chancen und Grenzen 335Listen to your tools 335Was Werkzeuge nicht leisten können 337KAPITEL 16 WEBANWENDUNGEN ENTWICKELN 339Python und das Web 339Die Qual der Wahl 340Django 340Was macht Django? 341Wie Django HTTP-Anfragen verarbeitet 342Ein Beispielprojekt 343Schritt 1 – Setup 344Schritt 2 – Die erste Seite 344Schritt 3 – Ein Modell 348Schritt 4 – Die Django-Verwaltung 350Schritt 5 – Eine eigene View 353Schritt 6 – HTML rendern 354Zusammenfassung 355KAPITEL 17 DATEN AUFBEREITEN, VISUALISIEREN UND AUSWERTEN357Setup 358Szenario: Minigolf 358Datensatz 359Schritt 0 – Fragen 361Schritt 1 – Daten einlesen 362Schritt 2 – Data Frames untersuchen 362Schritt 3 – Series-Objekte betrachten 364Schritt 4 – Beschreibende Statistiken ausgeben 365Schritt 5 – Filtern und Bereinigen 367Schritt 6 – Auswerten 369Schritt 7 – Visualisieren 371Schritt 8 – Schließende Statistik 372Zusammenfassung 373TEIL VI: DER TOP-TEN-TEIL 375KAPITEL 18 ZEHN GUTE BIBLIOTHEKEN377Die Standardbibliothek 377Requests 377BeautifulSoup 378Scrapy 378Selenium 379Cryptography 379Pypdftk 380Flask 380OpenCV 380NLTK 381KAPITEL 19 ZEHN DINGE, DIE WIR AUSGELASSEN HABEN383Python 2.7 383Interoperabilität mit C 384Python Bytecode disassemblieren 384Debugging 385Logging 385GUIs 386Nebenläufige Ausführung 387Typ-Annotationen 387Dataclasses 388Walross-Operator 389Stichwortverzeichnis 393
Cloud Computing For Dummies
* Adopt a hybrid and multicloud strategy * Rethink DevOps with containers and microservices * Incorporate security into your cloud environment Plan your cloud computing strategy Are you ready to execute a cloud computing plan? You need a strategy to prepare for the future, and this book comes to the rescue. Authors Daniel Kirsch and. Judith Hurwitz share insights by honing in on topics like multicloud architecture, microservices, hybrid infrastructure, DevOps, and Software as a Service. This book is ideal for anyone who needs to understand the emerging approaches to cloud computing. Inside... * Understanding cloud architecture * Using a hybrid computing approach * Explaining the economics of cloud computing * Planning your cloud strategy * Developing a security strategy * Understanding containers and microservices Get your head—and your business—into the Cloud Cloud computing is no longer just a clever new toy in the world of IT infrastructure. Despite the nebulous name, it’s become a real and important part of our information architecture—and tech professionals who ignore it or try to skim their way through risk falling behind rapidly. The new edition of Cloud Computing For Dummies gets you up to speed fast, clarifying your Cloud options, showing you where can save you time and money, giving you ways to frame your decisions, and helping you avoid weeks of research. In a friendly, easy-to-follow style, Cloud Computing For Dummies, 2nd Edition demystifies the Cloud’s virtual landscape, breaking up a complex and multi-layered topic into simple explanations that will make the various benefits clear and ultimately guide you toward making the most appropriate choices for your organization. * Know the business case for the Cloud * Understand hybrid and multi-cloud options * Develop your Cloud strategy * Get tips on best practices The Cloud is everywhere, and it can deliver amazing benefits to our lives and businesses. Get a much clearer vision of exactly how with Cloud Computing For Dummies—and you’ll begin to see that the sky really is the limit! Introduction 1 Part 1: Understanding Cloud Concepts 5 Chapter 1: Understanding the Cloud 7 Chapter 2: Embracing the Business Imperative 21 Part 2: Examining Architectural Considerations 31 Chapter 3: Architectural Considerations for the Cloud Environment 33 Chapter 4: Managing a Hybrid and Multicloud Environment 43 Chapter 5: Standards in a Multicloud World 59 Chapter 6: A Closer Look at Cloud Services 73 Part 3: Understanding Cloud Models 87 Chapter 7: Introducing All Types of Clouds 89 Chapter 8: Using Infrastructure as a Service 107 Chapter 9: Using Software as a Service 121 Chapter 10: Standing on Platform as a Service 135 Part 4: Managing in a Multicloud World 147 Chapter 11: Planning for DevOps in the Cloud 149 Chapter 12: Managing Multicloud Workloads 165 Chapter 13: Managing Data Storage in the Cloud 177 Part 5: Developing Your Cloud Strategy 189 Chapter 14: Managing and Integrating Data in the Cloud 191 Chapter 15: Promoting Cloud Security and Governance 207 Chapter 16: Breaking Down Cloud Economics 225 Chapter 17: Planning Your Cloud Strategy 241 Part 6: The Part of Tens 253 Chapter 18: Ten Cloud Resources 255 Chapter 19: Ten Cloud Do’s and Don’ts 261 Glossary 267 Index 281 Daniel Kirsch, Managing Director of Hurwitz & Associates, is a thought leader, researcher, author, and consultant in cloud, AI, and security. Judith Hurwitz, President of Hurwitz & Associates, is a consultant, thought leader, and coauthor of 10 books including Augmented Intelligence, Cognitive Computing and Big Data Analytics, and Hybrid Cloud for Dummies
Android Application Development All-in-One For Dummies
CONQUER THE WORLD OF ANDROID APP DEVELOPMENTAndroid has taken over the mobile and TV markets and become unstoppable! Android offers a vast stage for developers to serve millions—and rake in the profits—with diverse and wide-ranging app ideas. Whether you're a raw recruit or a veteran programmer, you can get in on the action and become a master of the Android programming universe with the new edition of Android Application Development For Dummies All-in-One. In addition to receiving guidance on mobile and TV development, you'll find overviews of native code, watch, car, Android wear, and other device development.This friendly, easy-to-follow book kicks off by offering a fundamental understanding of Android's major technical ideas, including functional programming techniques. It moves on to show you how to work effectively in Studio, program cool new features, and test your app to make sure it's ready to release to a waiting world. You'll also have an opportunity to brush up on your Kotlin and develop your marketing savvy. There are millions of potential customers out there, and you want to stand out from the crowd!* Understand new features and enhancements* Get development best-practices* Know your Android hardware* Access online materialsWith a market share like Android's, the stakes couldn't be higher. Android Application Development For Dummies All-in-One levels the field and gives you the tools you need to take on the world.BARRY BURD, PHD, is a veteran author and educator. At the University of Illinois, he was five times elected to the university-wide List of Teachers Ranked as Excellent by their Students. He has written several books on Java and Android development. JOHN PAUL MUELLER has produced 115 books and more than 600 articles on topics ranging from functional programming techniques to application development using C++. INTRODUCTION 1How to Use This Book 1Conventions Used in This Book 2Foolish Assumptions 2Icons Used in This Book 3Beyond the Book 4Where to Go from Here 4BOOK 1: GETTING STARTED WITH ANDROID APPLICATION DEVELOPMENT 5CHAPTER 1: ALL ABOUT ANDROID 7The Consumer Perspective 8The Versions of Android 9The Developer Perspective 12Java and Kotlin 12XML 14Linux 16The Business Perspective 18CHAPTER 2: INSTALLING THE SOFTWARE TOOLS 19Setting Up the Software 20Considering the requirements 20Downloading the software 21Installing Android Studio 23Installing offline tools 25Launching the Android Studio IDE 28In Windows 29On a Mac 29In Linux 30In Chrome OS 30Using the Android Studio Setup Wizard 30Fattening Up the Android SDK 32The more things stay the same, the more they change 32Installing new versions (and older versions) of Android 33Creating an Android virtual device 35A third-party emulator 39CHAPTER 3: CREATING AN ANDROID APP 43Creating Your First App 43Starting the IDE and creating your first app 45Launching your first app 50Running Your App 52You Can Download All the Code 55Troubleshooting Common IDE Errors 58Error message: Failed to find target 58Error running ‘app’: No target device found 58Error message: Android Virtual Device may be incompatible with your configuration 58You lose contact with the Android Debug Bridge (ADB) 59You don’t like whatever AVD opens automatically 59The emulator stalls during startup 60Error message: The user data image is used by another emulator 61Error message: Unknown virtual device name 63The emulator displays a “process isn’t responding” dialog box 63Changes to your app don’t appear in the emulator 64Testing Apps on a Real Device 64CHAPTER 4: EXAMINING A BASIC ANDROID APP 67A Project’s Files 68The MainActivity.kt file 71The onCreate() method 72Using other templates 73The res Branch 76The res/drawable branch 77The res/layout branch 77The res/menu branch 78The res/mipmap branch 79The res/values branch 80Other Files in an Android Project 82The build.gradle file 82The AndroidManifest.xml file 85The R.java file 87The assets folder 89The android.jar archive 90The APK file 91What Did I Agree To? 93What’s in a name? 93Choosing a language 95Your app’s API levels 95CHAPTER 5: CONJURING AND EMBELLISHING AN ANDROID APP 101Dragging, Dropping, and Otherwise Tweaking an App 102Creating the “look” 102Coding the behavior 112A Bit of Debugging 118Try it! 118Discovering the secrets of Logcat 123Using the debugger 126CHAPTER 6: IMPROVING YOUR APP 131Improving the Layout 131Changing the layout 132Creating a reusable layout 139Reusing a layout 142Starting Another Activity 145Localizing Your App 151Responding to Check Box Events 155Displaying Images 157Sending in Your Order 162BOOK 2: ANDROID BACKGROUND MATERIAL 167CHAPTER 1: USING ANDROID STUDIO 169Good to Know versus Need to Know 170Getting a Feel for the Big Picture 171The main window 173Viewing modes 179The Designer tool 181Discovering What You Can Do 184Finding things 185Fixing code 190Refactoring 199CHAPTER 2: KOTLIN FOR JAVA PROGRAMMERS 203Using Kotlin or Java for Development 204Defining the Java Issues That Kotlin Fixes 207Improving control over null references 207Removing raw data types 210Using invariant arrays 210Working with proper function types 212Getting rid of the checked exceptions 213Nothing’s Perfect: Kotlin is Missing Features, Too 214Considering primitive types that are not classes 214Losing static members 214Eliminating non-private fields 215Reducing confusion by eliminating wildcard-types 216Abandoning the ternary-operator a ? b : c 217Looking at What Kotlin Adds to the Picture 218Considering higher order functions and lambdas 218Refining object orientation using extension functions 218Relying on smart casts 219Employing string templates 220Understanding primary constructors 221Implementing first-class delegation 221Using ranges of values 223Creating data classes 224Overloading operators 224Developing asynchronous code using coroutines 225CHAPTER 3: KOTLIN FOR EVERYONE 227Moving from Development to Execution with Kotlin 228What is a compiler? 228Understanding native code compiler or interpreter issues 230Considering the Android Runtime (ART) 231Grasping Kotlin Code 235Nearly everything begins with an expression 236The Kotlin class 238Classes and objects 239Kotlin types 240Performing casts 245The Kotlin function 249Objects and their constructors 252Classes grow on trees 254The Kotlin package 255Considering Kotlin visibility rules 257Defying your parent 258Kotlin comments 259CHAPTER 4: WHAT KOTLIN DOES (AND WHEN) 261Making Decisions (Kotlin if Statements) 261Testing for equality 264Choosing among many alternatives (Kotlin when statements) 266Repeating Instructions Over and Over Again 269Kotlin while statements 269Kotlin do statements 271Arrays in Kotlin 273Kotlin’s for statements 277Looping using Kotlin recursion 281Working with break and continue 283Jumping Away from Trouble 284Working with Kotlin Collections 286Considering the collection types 287Differentiating between read-only and mutable collections 289CHAPTER 5: OBJECT-ORIENTED PROGRAMMING IN KOTLIN 291Static Fields and Methods 291Interfaces and Callbacks 294Event handling and callbacks 299An object remembers who created it 302A less wordy way to implement an interface 303Classes That Must (and Must Not) Be Extended 305The need to override 306Java’s final classes 306Kotlin’s open classes 307Kotlin extensions 307Abstract classes 308Inner Classes 310Named inner classes 310Anonymous inner classes 312CHAPTER 6: FUNCTIONAL PROGRAMMING IN KOTLIN 315Defining Functional Programming 316Differences from other programming paradigms 316Understanding its goals 317Understanding Pure and Impure Languages 318Using the pure approach 318Using the impure approach 320Comparing the Functional Paradigm 320Using Kotlin for Functional Programming Needs 322Defining the Role of State 323Using Recursion to Perform Calculations 324Relying on standard recursion 324Relying on tail recursion 326Using Function Types 327Understanding Function Literals 329Lambda expressions 329Anonymous functions 330Defining the Function Types 331Comprehensions 331Receivers 332Inline 334Utility 335Using Functional Programming for Android Apps 336CHAPTER 7: ALOOK AT XML 339XML Isn’t Ordinary Text 340Of tags and elements 340Other things you find in an XML document 348What’s in a Namespace? 350The package attribute 353The style attribute 354BOOK 3: THE BUILDING BLOCKS 357CHAPTER 1: GETTING AN OVERVIEW OF JETPACK 359Understanding the Benefits of Jetpack 360Eliminating boilerplate code 360Managing background tasks 361Navigating between activities and fragments 362Managing memory 364Performing configuration changes 365Considering the Jetpack Components 366Foundation 367Architecture 368Behavior 370UI 372Getting an Overview of the AndroidX Package 373Working with Lifecycle-Aware Components 374Focusing on activities 375Understanding events and states 376CHAPTER 2: BUILDING A FOUNDATION FOR YOUR APP 377Working with Android KTX 378Getting a feel for KTX features 378Using KTX in your project 381Considering the modules 382Addressing Security Issues 389Benchmarking Your Application 392Removing barriers to correct results 393Creating a test app 394Profiling your app 397Tracing your app 398Checking for benchmarking module support 400Benchmarking the app 401Testing Application Functionality 403CHAPTER 3: CREATING AN ARCHITECTURE 405Managing Application Activities 405Defining an activity 406Getting an overview of intent filters 407Considering the activity lifecycle 407Understanding the backstack 409Working with fragments 412Considering the fragment lifecycle 416Seeing activities and fragments in action 417Providing for Navigational Needs 433Creating the navigational graph 434Adding a NavHostFragment to your activity 437Adding destinations 438Creating links between destinations 440Creating the required linkages 442Performing Background Tasks Using WorkManager 446CHAPTER 4: DEFINING AN APP’S BEHAVIOR 451Working with Notifications 452Understanding what notifications do 452Anatomy of a notification 454Assigning a channel to your notification 456Setting the notification importance 457Considering the notification types 458Relying on notification updates 459Do Not Disturb mode 460Creating a notification 460Getting Permission 466Considering permission use 467Configuring permissions in AndroidManifest.xml 468Complying with User Preferences 469Deciding on a preference set 470Setting preferences using the Preference Library 472Working with MediaPlayer 481Adding Camera Support Using CameraX 484Sharing with Others 487Performing simple share actions with other apps 487Using Slices 488CHAPTER 5: INTERACTING WITH THE USERS 491Creating a Great Layout 492Defining the View and ViewGroup elements 492Creating a layout using XML 493Modifying a layout at runtime 497Considering the common layouts 498Working with adapters 499Debugging your layout 500Employing Color and Texture 502Working with styles and themes 503Creating a palette 509Using swatches to create color schemes 510Using Animations and Transitions 510Understanding the need for animations 511Animating graphics 511Communicating with Emoji 514Keyboard emoji support 515Using the cut-and-paste method on standard controls 516Using the AndroidX approach 517BOOK 4: PROGRAMMING COOL PHONE FEATURES 521CHAPTER 1: HUNGRY BURDS: A SIMPLE ANDROID GAME 523Introducing the Hungry Burds Game 523The Hungry Burds Project’s Files 526The Main Activity 528The Code, All the Code, and Nothing But the Code 530Setting Up the Game 535Declaring properties 535The onCreate Method 537Displaying a Burd 538Creating random values 538Creating a Burd 539Placing a Burd on the constraint layout 540Animating a Burd 542Handling a Touch Event 544Finishing Up 546CHAPTER 2: AN ANDROID SOCIAL MEDIA APP 547Setting Things Up on Facebook’s Developer Site 548A Minimal Facebook App 549The build.gradle file 550The manifest file 550A Bare-Bones Main Activity 551Enriching the Minimal App 555Working with a radio group 559Controlling the web view 562Who tests your Facebook app? 563CHAPTER 3: GOING NATIVE 567The Native Development Kit 567Understanding why you need the NDK 568Knowing what you get 569Getting the NDK 570Creating an Application 573Starting with the template 573Seeing the essential project differences 575Considering the build.gradle (Module: app) differences 577Understanding the default template differences 580Getting an overview of the C++ file 582Seeing the result 583BOOK 5: APPS FOR TABLETS, WATCHES, TV SETS, AND CARS 585CHAPTER 1: APPS FOR TABLETS 587Gaining Perspective 588Creating the right devices 589Running code on multiple devices 593Copying the project 594Seeing presentation differences 596Developing a Nested Navigational Graph 603Understanding the uses for nested navigational graphs 603Developing an app design 604Considering the content needs 608Creating a Responsive App 612CHAPTER 2: DEVELOPING FOR ANDROID WEAR 615Seeing Where Wearables Are Used 615Setting Up Your Testing Environment 617Creating the project 617Configuring a wearable device emulator 620Other testing configurations 624Wearable Apps: What’s the Big Deal? 625Case Study: A Watch Face 626Defining the watch face project 627Testing the watch face app 628Dissecting the skeletal watch face project 631Enhancing the skeletal watch face project 634CHAPTER 3: DEVELOPING FOR ANDROID TV 637Getting Started 638Running the Skeletal App 641Dissecting the TV App 644Adding to the standard AndroidManifest.xml 644Looking into build.gradle (Module: app) 645Defining a layout 646The adapter and the presenter 647Using the Adapter class 648Using the Presenter class 650CHAPTER 4: DEVELOPING FOR ANDROID AUTO 653Checking Auto Compatibility 654Choosing the Google Play Services 656Considering Notification Limits 658Creating an Emulator 660Configuring your car for development 661Defining an emulator 662Developing an Android Auto App 670Creating the project 670Viewing the project configuration 672Performing required configuration tasks 674Touring the Media Service app 675BOOK 6: THE JOB ISN’T DONE UNTIL 679CHAPTER 1: PUBLISHING YOUR APP TO THE GOOGLE PLAY STORE 681Creating a Google Play Developer Account 681Preparing Your Code 682Un-testing the app 683Choosing Android versions 683Setting your app’s own version code and version name 684Choosing a package name 685Preparing Graphic Assets for the Play Store 685Creating an icon 686Creating screenshots 688Providing other visual assets 690Creating a Publishable File 691Differences among builds 692Creating the release build 697Running a new APK file 702Running the app in a new AAB file 703Another way to build and run an AAB file 705Publishing Your App 708The App Releases page 708The Store Listing page 710The App Signing page 711Other pages 711Leave No Stone Unturned 714Publishing Elsewhere 714The Amazon Appstore 714Other venues 715CHAPTER 2: MONETIZING AND MARKETING YOUR APP 717Choosing a Revenue Model 718Charging for your app 719Offering an extended free trial 723Freemium apps 724Selling things with your app 726Subscription pricing 729Earning revenue from advertising 729Variations on in-app advertising 731Donationware 732Offering your app for free 732Getting paid to develop apps for others 732Marketing Your Application 733Brick Breaker Master: An App Marketing Case Study 734CHAPTER 3: CREATING PUBLIC SUPPORT FOR YOUR APP 739Obtaining Support through Patreon 740Discovering that patronage isn’t new 740Considering crowdfunding 741Defining why you should use crowdfunding 741Understanding the development angle 742Determining the trade-offs 744Developing Your Own Distribution Stream 744Creating podcasts 744Developing YouTube videos 746Employing social media 748Answering questions 750Taking the Personal Approach 750Creating a blog 751Answering your email 752Considering App Store Alternatives 754Getting Awards 756Looking for awards in all the right places 757Strutting your stuff 757Index 759