- Table View
- List View
Learn iOS 8 App Development
by James BucanekLearn iOS 8 App Development is both a rapid tutorial and a useful reference. You'll quickly get up to speed with Swift, Cocoa Touch, and the iOS 8 SDK. It's an all-in-one getting started guide to building useful apps. You'll learn best practices that ensure your code will be efficient and perform well, earning positive reviews on the iTunes App Store, and driving better search results and more revenue. The iOS 8 SDK offers powerful new features, and this book is the fastest path to mastering them--and the rest of the iOS SDK --for programmers with some experience who are new to iPhone and iPad app development. Many books introduce the iOS SDK, but few explain how to develop apps optimally and soundly. This book teaches both core Swift language concepts and how to exploit design patterns and logic with the iOS SDK, based on Swift and the Cocoa Touch framework. Why spend months or years discovering the best ways to design and code iPhone and iPad apps when this book will show you how to do things the right way from the start? Get an accelerated treatment of the core fundamentals of Swift. Develop your first app using Xcode's advanced interface design tools. Build your first iPhone app using the code that you're given as you walk through this book. Finally, debug and distribute your first app on Apple's iTunes App Store. Learn how to create apps for any model of iPhone, the iPod Touch, the iPad, or build universal apps that run on all of them. After reading this book, you'll be creating professional quality apps, ready to upload to the app store, making you the prestige and the money you seek
Learn iOS Application Distribution
by Hagop PanosianCover every aspect of the app industry, from app idea generation through to marketing and performance monitoring. With this book you'll receive complete, reliable, up-to-date, and professional information and guidance. Learn iOS App Distribution is every developers thorough and accessible guide to successfully distributing apps. For readers who already know how to code and create apps, this book explains how the app industry works, how it is evolving, and what the key trends are. Rather than focus on the well-covered aspects of working with Swift and Xcode, you'll instead discover what it takes from a commercial standpoint to bring an app together and get it successfully out to customers. All the key technical aspects are simplified for you with non-technical backgrounds, and vast amounts of information are condensed into easy-to-understand visuals. What You'll Learn Review how the app industry nuances and how it works Analyze app statistics and key market trends Position an app appropriately within the industry Improve app performance and related products and services Who This Book Is For App designers, UI/UX design professionals, coders, app marketers, game designers, asset designers and app publishing companies. The book is also suitable for inventors and non-tech readers unfamiliar with the industry but interested in investing in apps
Learn Java 12 Programming: A step-by-step guide to learning essential concepts in Java SE 10, 11, and 12
by Nick SamoylovA comprehensive guide to get started with Java and gain insights into major concepts such as object-oriented, functional, and reactive programmingKey FeaturesStrengthen your knowledge of important programming concepts and the latest features in JavaExplore core programming topics including GUI programming, concurrency, and error handlingLearn the idioms and best practices for writing high-quality Java codeBook DescriptionJava is one of the preferred languages among developers, used in everything right from smartphones, and game consoles to even supercomputers, and its new features simply add to the richness of the language. This book on Java programming begins by helping you learn how to install the Java Development Kit. You will then focus on understanding object-oriented programming (OOP), with exclusive insights into concepts like abstraction, encapsulation, inheritance, and polymorphism, which will help you when programming for real-world apps. Next, you’ll cover fundamental programming structures of Java such as data structures and algorithms that will serve as the building blocks for your apps. You will also delve into core programming topics that will assist you with error handling, debugging, and testing your apps. As you progress, you’ll move on to advanced topics such as Java libraries, database management, and network programming, which will hone your skills in building professional-grade apps.Further on, you’ll understand how to create a graphic user interface using JavaFX and learn to build scalable apps by taking advantage of reactive and functional programming.By the end of this book, you’ll not only be well versed with Java 10, 11, and 12, but also gain a perspective into the future of this language and software development in general.What you will learnLearn and apply object-oriented principlesGain insights into data structures and understand how they are used in JavaExplore multithreaded, asynchronous, functional, and reactive programmingAdd a user-friendly graphic interface to your applicationFind out what streams are and how they can help in data processingDiscover the importance of microservices and use them to make your apps robust and scalableExplore Java design patterns and best practices to solve everyday problemsLearn techniques and idioms for writing high-quality Java codeWho this book is forStudents, software developers, or anyone looking to learn new skills or even a language will find this book useful. Although this book is for beginners, professional programmers can benefit from it too. Previous knowledge of Java or any programming language is not required.
Learn Java 17 Programming: Learn the fundamentals of Java Programming with this updated guide with the latest features, 2nd Edition
by Nick SamoylovExplore the essential concepts of programming such as object-oriented, functional, and reactive programming by writing code and building projects using the latest LTS version of JavaKey FeaturesA step-by-step guide for beginners to get started with programming in Java 17Explore core programming topics including GUI programming, concurrency, and error handlingWrite efficient code and build projects while learning the fundamentals of programmingBook DescriptionJava is one of the most preferred languages among developers. It is used in everything right from smartphones and game consoles to even supercomputers, and its new features simply add to the richness of the language.This book on Java programming begins by helping you learn how to install the Java Development Kit. You'll then focus on understanding object-oriented programming (OOP), with exclusive insights into concepts such as abstraction, encapsulation, inheritance, and polymorphism, which will help you when programming for real-world apps. Next, you'll cover fundamental programming structures of Java such as data structures and algorithms that will serve as the building blocks for your apps with the help of sample programs and practice examples. You'll also delve into core programming topics that will assist you with error handling, debugging, and testing your apps. As you progress, you'll move on to advanced topics such as Java libraries, database management, and network programming and also build a sample project to help you understand the applications of these concepts.By the end of this Java book, you'll not only have become well-versed with Java 17 but also gained a perspective into the future of this language and have the skills to code efficiently with best practices.What you will learnUnderstand and apply object-oriented principles in JavaExplore Java design patterns and best practices to solve everyday problemsBuild user-friendly and attractive GUIs with easeUnderstand the usage of microservices with the help of practical examplesDiscover techniques and idioms for writing high-quality Java codeGet to grips with the usage of data structures in JavaWho this book is forThis book is for those who would like to start a new career in the modern Java programming profession, as well as those who do it professionally already and would like to refresh their knowledge of the latest Java and related technologies and ideas.
Learn Java for Android Development
by Jeff FriesenAndroid development is hot, and many programmers are interested in joining the fun. However, because this technology is based on Java, you should first obtain a solid grasp of the Java language and its foundational APIs to improve your chances of succeeding as an Android app developer. After all, you will be busy learning the architecture of an Android app, the various Android-specific APIs, and Android-specific tools. If you do not already know Java fundamentals, you will probably end up with a massive headache from also having to quickly cram those fundamentals into your knowledge base. Learn Java for Android Development, Second Edition teaches programmers of any skill level the essential Java language and foundational Java API skills that must be learned to improve the programmer''s chances of succeeding as an Android app developer. Each of the book''s 14 chapters provides an exercise section that gives you the opportunity to reinforce your understanding of the chapter''s material. Answers to the book''s more than 500 exercises are provided in an appendix. A second appendix provides a significant game-oriented Java application, which you can convert into an Android app. Once you complete this book, you should be ready to dive into beginning Android app development. Maybe, start that journey with Apress'' Beginning Android. What you''ll learn The Java language: This book provides complete coverage of nearly every pre-Java version 7 language feature (native methods are briefly mentioned but not formally covered). Starting with basic language features (e. g. , comments, types, expressions, and statements), you progress to those features related to classes and objects, followed by object-oriented features related to inheritance, polymorphism, and interfaces. You then explore the advanced language features for nested types, packages, static imports, exceptions, assertions, annotations, generics, and enums. Continuing, you investigate strictfp, synchronized, volatile, the enhanced for loop statement, autoboxing/unboxing, and transient fields. Java APIs: In addition to Object and APIs related to exceptions, you explore Math, StrictMath, BigDecimal, BigInteger, String, StringBuffer/StringBuilder, Boolean, Character, Byte, Short, Integer, Long, Float, Double, Number, the Threads API, System, Runtime, Process, the Collections Framework, the Concurrency Utilities, Date, Formatter, Random, Scanner, the ZIP and JAR APIs, File, RandomAccessFile, stream classes, and writer/reader classes, InetAddress, SocketOptions, Socket, ServerSocket, DatagramSocket, MulticastSocket, URL, URLConnection, URLEncoder, URLDecoder, NetWorkInterface, InterfaceAddress, CookieHandler, CookieManager, CookieStore, CookiePolicy, Buffer, ByteBuffer, CharBuffer, DoubleBuffer,FloatBuffer, IntBuffer, LongBuffer, ShortBuffer, MappedByteBuffer, Channel, WritableByteChannel, ReadableByteChannel,ScatteringByteChannel, GatheringByteChannel, FileChannel, the Regular Expressions API, JDBC, and more. Applying these: You will learn how to use the JDK''s javac (compiler), java (application launcher), javadoc (Java documentation generator), and jar (Java archive creator, updater, and extractor) tools. You will also receive an introduction to the Eclipse integrated development environment, which is the official standard for developing Android apps. Who this book is for This book is for any programmer - including existing Java programmers and Objective-C-based iPhone and iPad programmers - of any skill level who needs to obtain a solid understanding of the Java language and foundational Java APIs before jumping into Android app development. Table of Contents 1. Getting Started with Java 2. Learning Language Fundamentals 3. Discovering Classes and Objects 4. Discovering Inheritance, Polymorphism, and Interfaces 5. Mastering Advanced Language Features Part 1 6. Mastering Advanced Language Features Part 2 7. Exploring the Basic APIs Part 1 8. Exploring the Basic APIs Part 2 9. Exploring the Collections Framework 10. Exploring Additional Ut...
Learn Java for Android Development: Migrating Java SE Programming Skills to Mobile Development
by Peter Späth Jeff FriesenGain the essential Java language skills necessary for using the Android SDK platform to build Java-based Android apps. This book includes the latest Java SE releases that Android supports, and is geared towards the Android SDK version 10. It includes new content including JSON documents, functional programming, and lambdas as well as other language features important for migrating Java skills to Android development. Android is still the world's most popular mobile platform and because this technology is still mostly based on Java, you should first obtain a solid grasp of the Java language and its APIs in order to improve your chances of succeeding as an effective Android apps developer. Learn Java for Android Development, 4th Edition helps you do that. Each of the book’s chapters provides an exercise section that gives you the opportunity to reinforce your understanding of the chapter’s material. Answers to the book’s more than 500 exercises are provided in an appendix. Once you finish, you will be ready to begin your Android app development journey using Java. What You Will LearnDiscover the latest Java programming language features relevant to Android SDK development Apply inheritance, polymorphism, and interfaces to Android development Use Java collections, concurrency, I/O, networks, persistence, functional programming, and data access in Android apps Parse, create, and transform XML and JSON documents Migrate your Java skills for mobile development using the Android platform Who This Book Is For Programmers with at least some prior Java programming experience looking to get into mobile Java development with the Android platform.
Learn Java for Web Development
by Vishal LaykaWeb development is still one of today's most popular, active, and important programming and development activities. From a single web page to an e-commerce-enabled web site to a fully-fledged web application, the Java programming language and its frameworks allow you great flexibility and productivity for your web application development. Learn Java for Web Development teaches web developers who are new to Java key skills, Java-based languages, and frameworks to build simple or complex web sites and applications. As soon as you pick up this book, Vishal Layka's experience guides you on a very practical learning and building journey. You will learn the Java nuts and bolts necessary to build a simple "HelloWorld" Java (native) application, as well as a "HelloWorld" Java-based web application example that utilizes servlets and Java Server Pages (JSPs). Over the course of the book, you'll learn more about servlets and JSPs and delve into Java Server Faces (JSFs) and the expression language found in each of these by applying them in a real-world case study--a book store e-commerce application. Then you'll build your web application using Apache Struts2 and the Spring MVC framework. The book concludes by exploring the web application that you've built and examining industry best practices and how these might fit with your application, as well as covering alternative Java Web frameworks like Groovy/Grails and Scala/Play 2. You also can explore the basics of Java, Groovy, and Scala in the book's appendices. While reading this book, you'll see all this in action and you can use it as a starting point for further Java web development. Study and experiment with the many source code examples, and later apply them to your own web application building endeavors and 2:00 AM challenges. What you'll learn How to build your first Java-based web applications with servlets and JSPs How to apply best practices to web application development How to build web applications with JSF 2 How to build web applications with the Struts2 framework How to build web applications with the Spring 3 Web MVC framework How to build web applications with Grails and Play 2 How to debug and deploy your web application along the way Who this book is for This book is for current or aspiring web developers who have some programming experience, but have no or little prior experience using the Java programming language and the available frameworks for Java in web development. Table of Contents 1. Introducing Java Web Development 2. Building Applications with Servlets and JSP 3. Best Practices in Java EE Web Development 4. Building Applications with Struts2 5. Building Applications with Spring Web MVC 6. Building Applications with JSF 7. Rapid Web Development with Grails 8. Play with Java and Scala Appendix A. Introduction to Java Appendix B. Introduction to Groovy Appendix C. Introduction to Scala
Learn Java Fundamentals: A Primer for Java Development and Programming
by Jeff FriesenSharpen your Java skills and boost your potential as an IT specialist. This book introduces you to the basic Java features and APIs needed to prepare for a career in programming and development. You’ll first receive an introduction to Java and then explore language features ranging from comments though exception/error handling, focusing mainly on language syntax and a few select syntax-related APIs. This constitutes the heart of the book, and you’ll use these building blocks to construct simple Java programs, and learn where Java’s implementations of expressions (and operators), and statements diverge from other languages. The final few chapters tour some additional APIs such as the Math class, related types, String and StringBuffer, and System. Along the way you’ll discover some interesting programs, such as Graph (a sine/cosine wave-plotting application) and WC (a word-counting application). Two appendixes provide quick references to Java’s supported reserved words, and to Java’s supported operators. Equipped with this knowledge, Learn Java Fundamentals will provide you the pathway to explore additional APIs on your own, and increase your Java awareness. What You’ll Learn Understand the basics of Java applications and APIs Study language features such as comments, identifiers, variables, types, and literals. Explore operators, expressions, statements, and other key features such as classes, objects, class extension, and class abstraction. Who This Book Is For Developers, programmers, and students with little or no Java experience
Learn Java the Easy Way : A Hands-On Introduction to Programming
by Bryson PayneJava is the world’s most popular programming language, but it’s known for having a steep learning curve. Learn Java the Easy Way takes the chore out of learning Java with hands-on projects that will get you building real, functioning apps right away.You’ll start by familiarizing yourself with JShell, Java’s interactive command line shell that allows programmers to run single lines of code and get immediate feedback. Then, you’ll create a guessing game, a secret message encoder, and a multitouch bubble-drawing app for both desktop and mobile devices using Eclipse, an industry-standard IDE, and Android Studio, the development environment for making Android apps.As you build these apps, you’ll learn how to: -Perform calculations, manipulate text strings, and generate random colors-Use conditions, loops, and methods to make your programs responsive and concise-Create functions to reuse code and save time-Build graphical user interface (GUI) elements, including buttons, menus, pop-ups, and sliders -Take advantage of Eclipse and Android Studio features to debug your code and find, fix, and prevent common mistakesIf you’ve been thinking about learning Java, Learn Java the Easy Way will bring you up to speed in no time.
Learn Java With Examples In BlueJ: A Beginner's Hands-on Approach to Learning Java
by G. SudenLearn Java with examples in BlueJ, gets you started programming in Java right away. Learning a complex new language is not an easy task especially when it’s an object-oriented programming language like Java. This practical beginner’s guide enables you to: <P><P> Gain a solid understanding of Java. Understand difference between Procedure Oriented Programming (POP) and Object Oriented Programming (OOP). Teach you fundamental concepts of Object Oriented Programming, Objects and Classes. Each program shown with its associated output. Explanation of difficult lines of code. All programs compiled and executed in the BlueJ Development Environment. Extensive examples provided in each chapter. Empower you to develop logical and analytical thinking using object-oriented approach in Java. A hands-on and exercise-rich book in Java programming for beginners. Start brewing up great programs with Java! Knowledge of other programming languages is not required. Book designed to teach Java in readable style with small and direct programs making even arcane concepts clear.
Learn Java with Math: Using Fun Projects and Games
by Ron DaiThere are many good Java programming books on the market, but it's not easy to find one fit for a beginner. This book simplifies the complexity of Java programming and guides you through the journey to effectively work under the hood. You'll start with the fundamentals of Java programming and review how it integrates with basic mathematical concepts through many practical examples. You'll witness firsthand how Java can be a powerful tool or framework in your experimentation work.Learn Java with Math reveals how a strong math foundation is key to learning programming design. Using this as your motivation, you'll be programming in Java in no time.What You'll LearnExplore Java basicsProgram with Java using fun math-inspired examplesWork with Java variables and algorithmsReview I/O, loops, and control structuresUse projects such as the Wright brothers coin flip gameWho This Book Is ForThose new to programming and Java but have some background in mathematics and are at least comfortable with using a computer.
Learn JavaFX 17: Building User Experience and Interfaces with Java
by Kishori Sharan Peter SpäthThis unique in-depth tutorial shows you how to start developing rich-client desktop applications using your Java skills and provides comprehensive coverage of JavaFX 17's features. Each chapter starts with an introduction to the topic at hand, followed by a step-by-step discussion of the topic with small snippets of code. The book contains numerous figures aiding readers in visualizing the GUI that is built at every step in the discussion. This book has been revised to include JavaFX 17 and earlier releases since previous edition. It starts with an introduction to JavaFX and its history. It lists the system requirements and the steps to start developing JavaFX applications. It shows you how to create a Hello World application in JavaFX, explaining every line of code in the process. Later in the book, authors Kishori Sharan and Peter Späth discuss advanced topics such as 2D and 3D graphics, charts, FXML, advanced controls, and printing. Some of the advanced controls such as TableView, and WebView are covered at length in separate chapters. This book provides complete and comprehensive coverage of JavaFX 17 features; uses an incremental approach to teach JavaFX, assuming no prior GUI knowledge; includes code snippets, complete programs, and pictures; covers MVC patterns using JavaFX; and covers advanced topics such as FXML, effects, transformations, charts, images, canvas, audio and video, DnD, and more. So, after reading and using this book, you'll come away with a comprehensive introduction to the JavaFX APIs. What You Will Learn How to build JavaFX User Interfaces and Java clientsWhat are properties, bindings, observable collections, stages, scenes; how to use theseHow to play with colors, styling nodes and event handlingHow to add user interactivity (mouse, keyboard, DnD)How to do tables, trees and tree tablesHow to do 2D shapes, text nodes, 3D shapesHow to apply effects, transformations, animations, imagesHow to draw; play audio and video Who is this book for: Developers new to the JavaFX platform. Some prior Java experience is recommended.
Learn JavaFX 8
by Kishori SharanStart developing rich-client desktop applications using your Java skills. Learn MVC patterns, FXML, effects, transformations, charts, images, canvas, audio and video, DnD, and more. After reading and using Learn JavaFX 8, you'll come away with a comprehensive introduction to the JavaFX APIs as found in the new Java 8 platform. The book starts with an introduction to JavaFX and its history. It lists the system requirements and the steps to start developing JavaFX applications. It shows you how to create a Hello World application in JavaFX, explaining every line of code in the process. Later in the book, author Kishori Sharan discusses advanced topics such as 2D and 3D graphics, charts, FXML, advanced controls, and printing. Some of the advanced controls such as TableView, TreeTableView and WebView are covered at length in separate chapters. Each chapter starts with an introduction to the topic at hand, followed by a step-by-step discussion of the topic with small snippets of code. The book contains numerous figures aiding readers in visualizing the GUI that is built at every step in the discussion. This book provides complete and comprehensive coverage of JavaFX 8 features; uses an incremental approach to teach JavaFX, assuming no prior GUI knowledge; includes code snippets, complete programs, and pictures. What you'll learn * How to develop rich-client desktop applications using JavaFX 8 * How to use properties, collections, colors, and styles * How to use controls and handle events to build modern GUI applications * How to use advanced controls such as TreeView, TableView, and TreeTableView * How to access webpages in JavaFX applications * How to draw 2D and 3D shapes, and apply effects and transformations * How to create animations and charts using the JavaFX 8 APIs * How to add audio and video to your applications * How to create GUIs in JavaFX using FXML * How to provide printing capabilities using the JavaFX Print API Who this book is for This book is for Java developers with beginning to intermediate level Java skills who want to learn how to develop modern desktop GUI applications using JavaFX 8. Table of Contents Chapter 1. Getting Started with JavaFX Chapter 2. Properties and Bindings Chapter 3. Observable Collections Chapter 4. Managing Stages Chapter 5. Making Scenes Chapter 6. Understanding Nodes Chapter 7. Playing with Colors Chapter 8. Styling Nodes Chapter 9. Event Handling Chapter 10. Understanding Layout Panes Chapter 11. Model-View-Controller Pattern Chapter 12. Understanding Controls Chapter 13. Understanding TableView Chapter 14. Understanding TreeView Chapter 15. Understanding TreeTableView Chapter 16. Browsing Web Pages Chapter 17. Understanding 2D Shapes Chapter 18. Understanding Text Nodes Chapter 19. Understanding 3D Shapes Chapter 20. Applying Effects Chapter 21. Understanding Transformations Chapter 22. Understanding Animation Chapter 24. Understanding Images Chapter 25. Drawing on a Canvas Chapter 26. Understanding Drag-and-Drop Chapter 27. Understanding Concurrency in JavaFX Chapter 28. Playing Audios and Videos Chapter 29. Understanding FXML Chapter 30. Printing
Learn JavaFX Game and App Development: With FXGL 17
by Almas BaimagambetovUnderstand real-world game development concepts using JavaFX game engine called FXGL. The core focus of the book is on developing a standalone game or application with FXGL.We will start with an overview of the book followed by requisite concepts from Java and JavaFX that will be used throughout this book. Next, we will learn about the FXGL game engine and its wide range of real-world game development techniques. In the following chapter, we learn about entity-component model used in FXGL to create a powerful abstraction of the game world. The next chapter builds on this, where we develop a platformer game using the physics engine and a popular external tool called Tiled. An important concept of games AI is covered in the following chapter. Visually complex features related to graphics and rendering as well as UI elements and animation system in FXGL will be discussed in the next chapter. The following chapter is dedicated to non-game applications that can be developed using FXGL. The last two chapters cover packaging and deployment of JavaFX and FXGL applications and discussion on future projects.The key take-away skill from this book is the ability to develop professional-level applications and games with FXGL. During the course of this book, you will have produced a range of cross-platform applications and games using FXGL, reinforcing the game development concepts covered throughout.What You Will Learn• Understand use of advanced Java and JavaFX concepts• Learn about real-world game development concepts in a general-purpose programming language• Master professional cross-platform, desktop and mobile, games using the FXGL game engineWho Is This Book ForThis book is for beginners in Java and/or JavaFX who wish to develop apps and games with FXGL, while improving Java and JavaFX skills.
Learn JavaScript with p5.js: Coding For Visual Learners
by Engin ArslanLearn coding from scratch in a highly engaging and visual manner using the vastly popular JavaScript with the programming library p5.js. The skills you will acquire from this book are highly transferable to a myriad of industries and can be used towards building web applications, programmable robots, or generative art. You'll gain the proper context so that you can build a strong foundation for programming. This book won’t hinder your momentum with irrelevant technical or theoretical points. The aim is to build a strong, but not overly excessive knowledge to get you up and running with coding. If you want to program creative visuals and bring that skill set to a field of your your choice, then Learn JavaScript with p5.js is the book for you.What You'll LearnCode from scratch and create computer graphics with JavaScript and the p5.js libraryGain the necessary skills to move into your own creative projectsCreate graphics and interactive experiences using ProcessingProgram using JavaScript and p5.js and secondarily in creating visualsWho This Book is ForArtists or a visual designers. Also, those who want to learn the fundamentals of programming through visual examples.
Learn Kali Linux 2019: Perform powerful penetration testing using Kali Linux, Metasploit, Nessus, Nmap, and Wireshark
by Glen D. SinghExplore the latest ethical hacking tools and techniques in Kali Linux 2019 to perform penetration testing from scratch Key Features Get up and running with Kali Linux 2019.2 Gain comprehensive insights into security concepts such as social engineering, wireless network exploitation, and web application attacks Learn to use Linux commands in the way ethical hackers do to gain control of your environment Book Description The current rise in hacking and security breaches makes it more important than ever to effectively pentest your environment, ensuring endpoint protection. This book will take you through the latest version of Kali Linux and help you use various tools and techniques to efficiently deal with crucial security aspects. Through real-world examples, you'll understand how to set up a lab and later explore core penetration testing concepts. Throughout the course of this book, you'll get up to speed with gathering sensitive information and even discover different vulnerability assessment tools bundled in Kali Linux 2019. In later chapters, you'll gain insights into concepts such as social engineering, attacking wireless networks, exploitation of web applications and remote access connections to further build on your pentesting skills. You'll also focus on techniques such as bypassing controls, attacking the end user and maintaining persistence access through social media. Finally, this pentesting book covers best practices for performing complex penetration testing techniques in a highly secured environment. By the end of this book, you'll be able to use Kali Linux to detect vulnerabilities and secure your system by applying penetration testing techniques of varying complexity. What you will learn Explore the fundamentals of ethical hacking Learn how to install and configure Kali Linux Get up to speed with performing wireless network pentesting Gain insights into passive and active information gathering Understand web application pentesting Decode WEP, WPA, and WPA2 encryptions using a variety of methods, such as the fake authentication attack, the ARP request replay attack, and the dictionary attack Who this book is for If you are an IT security professional or a security consultant who wants to get started with penetration testing using Kali Linux 2019.2, then this book is for you. The book will also help if you're simply looking to learn more about ethical hacking and various security breaches. Although prior knowledge of Kali Linux is not necessary, some understanding of cybersecurity will be useful.
Learn Keras for Deep Neural Networks: A Fast-track Approach To Modern Deep Learning With Python
by Jojo MoolayilLearn, understand, and implement deep neural networks in a math- and programming-friendly approach using Keras and Python. The book focuses on an end-to-end approach to developing supervised learning algorithms in regression and classification with practical business-centric use-cases implemented in Keras. The overall book comprises three sections with two chapters in each section. The first section prepares you with all the necessary basics to get started in deep learning. Chapter 1 introduces you to the world of deep learning and its difference from machine learning, the choices of frameworks for deep learning, and the Keras ecosystem. You will cover a real-life business problem that can be solved by supervised learning algorithms with deep neural networks. You’ll tackle one use case for regression and another for classification leveraging popular Kaggle datasets. Later, you will see an interesting and challenging part of deep learning: hyperparameter tuning; helping you further improve your models when building robust deep learning applications. Finally, you’ll further hone your skills in deep learning and cover areas of active development and research in deep learning. At the end of Learn Keras for Deep Neural Networks, you will have a thorough understanding of deep learning principles and have practical hands-on experience in developing enterprise-grade deep learning solutions in Keras. What You’ll Learn Master fast-paced practical deep learning concepts with math- and programming-friendly abstractions. Design, develop, train, validate, and deploy deep neural networks using the Keras framework Use best practices for debugging and validating deep learning models Deploy and integrate deep learning as a service into a larger software service or product Extend deep learning principles into other popular frameworks Who This Book Is For Software engineers and data engineers with basic programming skills in any language and who are keen on exploring deep learning for a career move or an enterprise project.
Learn Kotlin for Android Development: The Next Generation Language for Modern Android Apps Programming
by Peter SpäthBuild Android apps and learn the essentials of the popular Kotlin programming language and APIs. This book will teach you the key Kotlin skills and techniques important for creating your very own Android apps. Apart from introducing Kotlin programming, Learn Kotlin for Android Development stresses clean code principles and introduces object-oriented and functional programming as a starting point for developing Android apps. After reading and using this book, you'll have a foundation to take away and apply to your own Kotlin-based Android app development. You'll be able to write useful and efficient Kotlin-based apps for Android, using most of the features Kotlin as a language has to offer. What You Will LearnBuild your first Kotlin app that runs on AndroidWork with Kotlin classes and objects for AndroidUse constructs, loops, decisions, and scopes Carry out operations on data Master data containers, arrays, and collectionsHandle exceptions and access external librariesWho This Book Is ForVery little programming experience is required: no prior knowledge of Kotlin needed.
Learn Kotlin Programming: A comprehensive guide to OOP, functions, concurrency, and coroutines in Kotlin 1.3, 2nd Edition
by Stefan Bocutiu Stephen SamuelDelve into the world of Kotlin and learn to build powerful Android and web applicationsKey FeaturesLearn the fundamentals of Kotlin to write high-quality codeTest and debug your applications with the different unit testing frameworks in KotlinExplore Kotlin's interesting features such as null safety, reflection, and annotationsBook DescriptionKotlin is a general-purpose programming language used for developing cross-platform applications. Complete with a comprehensive introduction and projects covering the full set of Kotlin programming features, this book will take you through the fundamentals of Kotlin and get you up to speed in no time. Learn Kotlin Programming covers the installation, tools, and how to write basic programs in Kotlin. You'll learn how to implement object-oriented programming in Kotlin and easily reuse your program or parts of it. The book explains DSL construction, serialization, null safety aspects, and type parameterization to help you build robust apps. You'll learn how to destructure expressions and write your own. You'll then get to grips with building scalable apps by exploring advanced topics such as testing, concurrency, microservices, coroutines, and Kotlin DSL builders. Furthermore, you'll be introduced to the kotlinx.serialization framework, which is used to persist objects in JSON, Protobuf, and other formats.By the end of this book, you'll be well versed with all the new features in Kotlin and will be able to build robust applications skillfully.What you will learnExplore the latest Kotlin features in order to write structured and readable object-oriented codeGet to grips with using lambdas and higher-order functionsWrite unit tests and integrate Kotlin with Java codeCreate real-world apps in Kotlin in the microservices styleUse Kotlin extensions with the Java collections libraryUncover destructuring expressions and find out how to write your ownUnderstand how Java-nullable code can be integrated with Kotlin featuresWho this book is forIf you’re a beginner or intermediate programmer who wants to learn Kotlin to build applications, this book is for you. You’ll also find this book useful if you’re a Java developer interested in switching to Kotlin.
Learn Kubernetes in a Month of Lunches
by Elton StonemanLearn Kubernetes in a Month of Lunches is your guide to getting up and running with Kubernetes.Summary In Learn Kubernetes in a Month of Lunches you'll go from "what&’s a Pod?" to automatically scaling clusters of containers and components in just 22 hands-on lessons, each short enough to fit into a lunch break. Every lesson is task-focused and covers an essential skill on the road to Kubernetes mastery. You'll learn how to smooth container management with Kubernetes, including securing your clusters, and upgrades and rollbacks with zero downtime. No development stack, platform, or background is assumed. Author Elton Stoneman describes all patterns generically, so you can easily apply them to your applications and port them to other projects! Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. About the technology Create apps that perform identically on your laptop, data center, and cloud! Kubernetes provides a consistent method for deploying applications on any platform, making it easy to grow. By efficiently orchestrating Docker containers, Kubernetes simplifies tasks like rolling upgrades, scaling, and self-healing. About the book Learn Kubernetes in a Month of Lunches is your guide to getting up and running with Kubernetes. You'll progress from Kubernetes basics to essential skills, learning to model, deploy, and manage applications in production. Exercises demonstrate how Kubernetes works with multiple languages and frameworks. You'll also practice with new apps, legacy code, and serverless functions. What's inside Deploying applications on Kubernetes clusters Understanding the Kubernetes app lifecycle, from packaging to rollbacks Self-healing and scalable apps Using Kubernetes as a platform for new technologies About the reader For readers familiar with Docker and containerization. About the author Elton Stoneman is a Docker Captain, a 11-time Microsoft MVP, and the author of Learn Docker in a Month of Lunches. Table of Contents PART 1 - FAST TRACK TO KUBERNETES 1 Before you begin 2 Running containers in Kubernetes with Pods and Deployments 3 Connecting Pods over the network with Services 4 Configuring applications with ConfigMaps and Secrets 5 Storing data with volumes, mounts, and claims 6 Scaling applications across multiple Pods with controllers PART 2 - KUBERNETES IN THE REAL WORLD 7 Extending applications with multicontainer Pods 8 Running data-heavy apps with StatefulSets and Jobs 9 Managing app releases with rollouts and rollbacks 10 Packaging and managing apps with Helm 11 App development—Developer workflows and CI/CD PART 3 - PREPARING FOR PRODUCTION 12 Empowering self-healing apps 13 Centralizing logs with Fluentd and Elasticsearch 14 Monitoring applications with Kubernetes with Prometheus 15 Managing incoming traffic with Ingress 16 Securing applications with policies, contexts, and admission control PART 4 - PURE AND APPLIED KUBERNETES 17 Securing resources with role-based access control 18 Deploying Kubernetes: Multinode and multiarchitecture clusters 19 Controlling workload placement and automatic scaling 20 Extending Kubernetes with custom resources and Operators 21 Running serverless functions in Kubernetes 22 Never the end
Learn Kubernetes Security: Securely orchestrate, scale, and manage your microservices in Kubernetes deployments
by Kaizhe Huang Pranjal Jumde Loris DegioanniSecure your container environment against cyberattacks and deliver robust deployments with this practical guide Key Features Explore a variety of Kubernetes components that help you to prevent cyberattacks Perform effective resource management and monitoring with Prometheus and built-in Kubernetes tools Learn techniques to prevent attackers from compromising applications and accessing resources for crypto-coin mining Book Description Kubernetes is an open source orchestration platform for managing containerized applications. Despite widespread adoption of the technology, DevOps engineers might be unaware of the pitfalls of containerized environments. With this comprehensive book, you'll learn how to use the different security integrations available on the Kubernetes platform to safeguard your deployments in a variety of scenarios. Learn Kubernetes Security starts by taking you through the Kubernetes architecture and the networking model. You'll then learn about the Kubernetes threat model and get to grips with securing clusters. Throughout the book, you'll cover various security aspects such as authentication, authorization, image scanning, and resource monitoring. As you advance, you'll learn about securing cluster components (the kube-apiserver, CoreDNS, and kubelet) and pods (hardening image, security context, and PodSecurityPolicy). With the help of hands-on examples, you'll also learn how to use open source tools such as Anchore, Prometheus, OPA, and Falco to protect your deployments. By the end of this Kubernetes book, you'll have gained a solid understanding of container security and be able to protect your clusters from cyberattacks and mitigate cybersecurity threats. What you will learn Understand the basics of Kubernetes architecture and networking Gain insights into different security integrations provided by the Kubernetes platform Delve into Kubernetes' threat modeling and security domains Explore different security configurations from a variety of practical examples Get to grips with using and deploying open source tools to protect your deployments Discover techniques to mitigate or prevent known Kubernetes hacks Who this book is for This book is for security consultants, cloud administrators, system administrators, and DevOps engineers interested in securing their container deployments. If you're looking to secure your Kubernetes clusters and cloud-based deployments, you'll find this book useful. A basic understanding of cloud computing and containerization is necessary to make the most of this book.
Learn Linux in a Month of Lunches
by Steven OvadiaSummaryLearn Linux in a Month of Lunches shows you how to install and use Linux for all the things you do with your OS, like connecting to a network, installing software, and securing your system. Whether you're just curious about Linux or have to get up and running for your job, you'll appreciate how this book concentrates on the tasks you need to know how to do in 23 easy lessons.About the TechnologyIf you've only used Windows or Mac OS X, you may be daunted by the Linux operating system. And yet learning Linux doesn't have to be hard, and the payoff is great. Linux is secure, flexible, and free. It's less susceptible to malicious attacks, and when it is attacked, patches are available quickly. If you don't like the way it looks or behaves, you can change it. And best of all, Linux allows users access to different desktop interfaces and loads of software, almost all of it completely free.About the BookLearn Linux in a Month of Lunches shows you how to install and use Linux for all the things you do with your OS, like connecting to a network, installing software, and securing your system. Whether you're just curious about Linux or need it for your job, you'll appreciate how this book focuses on just the tasks you need to learn. In easy-to-follow lessons designed to take an hour or less, you'll learn how to use the command line, along with practical topics like installing software, customizing your desktop, printing, and even basic networking. You'll find a road map to the commands and processes you need to be instantly productive.What's InsideMaster the command lineLearn about file systemsUnderstand desktop environmentsGo from Linux novice to expert in just one monthAbout the ReaderThis book is for anyone looking to learn how to use Linux. No previous Linux experience required.About the AuthorSteven Ovadia is a professor and librarian at LaGuardia Community College, CUNY. He curates The Linux Setup, a large collection of interviews with desktop Linux users, and writes for assorted library science journals. Table of ContentsPART 1 - GETTING LINUX UP AND RUNNINGBefore you beginGetting to know Linux Installing LinuxGetting to know your systemDesktop environmentsNavigating your desktopPART 2 - A HOME OFFICE IN LINUXInstalling softwareAn introduction to Linux home/office softwareText files and editorsWorking with files and folders on the command lineWorking with common command-line applications, part 1Working with common command-line applications, part 2Using the command line productivelyExplaining the Linux filesystem hierarchyWindows programs in LinuxEstablishing a workflowPART 3 - HOME SYSTEM ADMIN ON LINUXAn in-depth look at package management and maintenanceUpdating the operating systemLinux securityConnecting to other computersPrintingVersion control for non-programmersNever the end
Learn Linux Quickly: A beginner-friendly guide to getting up and running with the world's most powerful operating system
by Ahmed AlKabaryLearn over 116 Linux commands to develop the skills you need to become a professional Linux system administrator Key Features Explore essential Linux commands and understand how to use Linux help tools Discover the power of task automation with bash scripting and Cron jobs Get to grips with various network configuration tools and disk management techniques Book Description Linux is one of the most sought-after skills in the IT industry, with jobs involving Linux being increasingly in demand. Linux is by far the most popular operating system deployed in both public and private clouds; it is the processing power behind the majority of IoT and embedded devices. Do you use a mobile device that runs on Android? Even Android is a Linux distribution. This Linux book is a practical guide that lets you explore the power of the Linux command-line interface. Starting with the history of Linux, you'll quickly progress to the Linux filesystem hierarchy and learn a variety of basic Linux commands. You'll then understand how to make use of the extensive Linux documentation and help tools. The book shows you how to manage users and groups and takes you through the process of installing and managing software on Linux systems. As you advance, you'll discover how you can interact with Linux processes and troubleshoot network problems before learning the art of writing bash scripts and automating administrative tasks with Cron jobs. In addition to this, you'll get to create your own Linux commands and analyze various disk management techniques. By the end of this book, you'll have gained the Linux skills required to become an efficient Linux system administrator and be able to manage and work productively on Linux systems. What you will learn Master essential Linux commands and analyze the Linux filesystem hierarchy Find out how to manage users and groups in Linux Analyze Linux file ownership and permissions Automate monotonous administrative tasks with Cron jobs and bash scripts Use aliases to create your own Linux commands Understand how to interact with and manage Linux processes Become well-versed with using a variety of Linux networking commands Perform disk partitioning, mount filesystems, and create logical volumes Who this book is for This book doesn't assume any prior Linux knowledge, which makes it perfect for beginners. Intermediate and advanced Linux users will also find this book very useful as it covers a wide range of topics necessary for Linux administration.
Learn Linux Shell Scripting - Fundamentals of Shell 4.4: A Comprehensive Guide To Automating Administrative Tasks With The Bash Shell
by Sebastiaan TammerIf you are a junior Linux system administrator, Windows system administrator or developer who is interested in automating tasks, then this book is for you. No prior shell scripting experience is needed but in case you do this book will make a pro quickly. Readers should have a basic understanding of the command line.
Learn LLVM 12: A beginner's guide to learning LLVM compiler tools and core libraries with C++
by Kai NackeLearn how to build and use all parts of real-world compilers, including the frontend, optimization pipeline, and a new backend by leveraging the power of LLVM core librariesKey FeaturesGet to grips with effectively using LLVM libraries step-by-step Understand LLVM compiler high-level design and apply the same principles to your own compiler Use compiler-based tools to improve the quality of code in C++ projectsBook DescriptionLLVM was built to bridge the gap between compiler textbooks and actual compiler development. It provides a modular codebase and advanced tools which help developers to build compilers easily. This book provides a practical introduction to LLVM, gradually helping you navigate through complex scenarios with ease when it comes to building and working with compilers. You'll start by configuring, building, and installing LLVM libraries, tools, and external projects. Next, the book will introduce you to LLVM design and how it works in practice during each LLVM compiler stage: frontend, optimizer, and backend. Using a subset of a real programming language as an example, you will then learn how to develop a frontend and generate LLVM IR, hand it over to the optimization pipeline, and generate machine code from it. Later chapters will show you how to extend LLVM with a new pass and how instruction selection in LLVM works. You'll also focus on Just-in-Time compilation issues and the current state of JIT-compilation support that LLVM provides, before finally going on to understand how to develop a new backend for LLVM. By the end of this LLVM book, you will have gained real-world experience in working with the LLVM compiler development framework with the help of hands-on examples and source code snippets.What you will learnConfigure, compile, and install the LLVM frameworkUnderstand how the LLVM source is organizedDiscover what you need to do to use LLVM in your own projectsExplore how a compiler is structured, and implement a tiny compilerGenerate LLVM IR for common source language constructsSet up an optimization pipeline and tailor it for your own needsExtend LLVM with transformation passes and clang toolingAdd new machine instructions and a complete backendWho this book is forThis book is for compiler developers, enthusiasts, and engineers who are new to LLVM and are interested in learning about the LLVM framework. It is also useful for C++ software engineers looking to use compiler-based tools for code analysis and improvement, as well as casual users of LLVM libraries who want to gain more knowledge of LLVM essentials. Intermediate-level experience with C++ programming is mandatory to understand the concepts covered in this book more effectively.