Magento Best Practices Handbook


Book Description

When you get used to develop on Magento platform you will likely agree with a motto of mines: ""there are at least two ways of developing things in Magento the best of which is usually the third."" This book is a collection of development advices resulting from over five years spent on practical Magento development. Knowing how Magento is implemented is the best way to extract the most out of it; for this reason all the recipes are explained through in-depth analysis of Magento's code base and architecture. This book assumes you are not a Magento beginner and already know its programming fundamentals with at least one year of continuous development experience.




Grokking Magento


Book Description

The target audience for this book are experienced PHP developers wanting to learn about the Magento platform. The book series has three man goals: Help prepare for the Magento Certified Developer Exam (MCD) To be used as a reference for best practices and Magento architecture Give solutions to specific problems in a "developer cookbook" style The book content follows the Magento Certification Study Group Moderator Kit published by Magento. It takes the bare bone exercises and solutions provided by the Study Group Kit and provides insight into the core architecture by researching how a solution may be approached. Then it discusses the example exercise solutions provided with this book. Along the way, many aspects of the Magento architecture are uncovered, thus providing the background knowledge and mindset required to pass the MCD exam. Almost as a side effect readers will find they become more efficient and effective as Magento developers. This first book in the series focuses on the exercises from the Basics and Request Flow section of the Study Group Kit. It covers the following topics: Class name resolution How and why class rewrites work Application Area Emulation The Request Flow Process The Front Controller Database Based Request Rewrites Configuration Based Request Rewrites Action Controller Instantiation The Action Controller Dispatch Process Route Configuration Action Controller Rewrites Action Controller Flags The Event Dispatch Process and Observer Configuration The Configuration XML Loading and Merging Process Setting, Reading and Saving Configuration Values The Magento Application Dispatch Process The Store View Selection Process Approaches for Multi-Website Setups The Customer Session beforeAuthUrl and afterAuthUrl Properties Email Template Placeholders and Variables Custom Email Template Variables




Grokking Functional Programming


Book Description

There’s no need to fear going functional! This friendly, lively, and engaging guide is perfect for any perplexed programmer. It lays out the principles of functional programming in a simple and concise way that will help you grok what FP is really all about. In Grokking Functional Programming you will learn: Designing with functions and types instead of objects Programming with pure functions and immutable values Writing concurrent programs using the functional style Testing functional programs Multiple learning approaches to help you grok each new concept If you’ve ever found yourself rolling your eyes at functional programming, this is the book for you. Open up Grokking Functional Programming and you’ll find functional ideas mapped onto what you already know as an object-oriented programmer. The book focuses on practical aspects from page one. Hands-on examples apply functional principles to everyday programming tasks like concurrency, error handling, and improving readability. Plus, puzzles and exercises let you think and practice what you're learning. You’ll soon reach an amazing “aha” moment and start seeing code in a completely new way. About the technology Finally, there’s an easy way to learn functional programming! This unique book starts with the familiar ideas of OOP and introduces FP step-by-step using relevant examples, engaging exercises, and lots of illustrations. You’ll be amazed at how quickly you’ll start seeing software tasks from this valuable new perspective. About the book Grokking Functional Programming introduces functional programming to imperative developers. You’ll start with small, comfortable coding tasks that expose basic concepts like writing pure functions and working with immutable data. Along the way, you’ll learn how to write code that eliminates common bugs caused by complex distributed state. You’ll also explore the FP approach to IO, concurrency, and data streaming. By the time you finish, you’ll be writing clean functional code that’s easy to understand, test, and maintain. What's inside Designing with functions and types instead of objects Programming with pure functions and immutable values Writing concurrent programs using the functional style Testing functional programs About the reader For developers who know an object-oriented language. Examples in Java and Scala. About the author Michal Plachta is an experienced software developer who regularly speaks and writes about creating maintainable applications. Table of Contents Part 1 The functional toolkit 1 Learning functional programming 2 Pure functions 3 Immutable values 4 Functions as values Part 2 Functional programs 5 Sequential programs 6 Error handling 7 Requirements as types 8 IO as values 9 Streams as values 10 Concurrent programs Part 3 Applied functional programming 11 Designing functional programs 12 Testing functional programs




The Algorithm Design Manual


Book Description

This newly expanded and updated second edition of the best-selling classic continues to take the "mystery" out of designing algorithms, and analyzing their efficacy and efficiency. Expanding on the first edition, the book now serves as the primary textbook of choice for algorithm design courses while maintaining its status as the premier practical reference guide to algorithms for programmers, researchers, and students. The reader-friendly Algorithm Design Manual provides straightforward access to combinatorial algorithms technology, stressing design over analysis. The first part, Techniques, provides accessible instruction on methods for designing and analyzing computer algorithms. The second part, Resources, is intended for browsing and reference, and comprises the catalog of algorithmic resources, implementations and an extensive bibliography. NEW to the second edition: • Doubles the tutorial material and exercises over the first edition • Provides full online support for lecturers, and a completely updated and improved website component with lecture slides, audio and video • Contains a unique catalog identifying the 75 algorithmic problems that arise most often in practice, leading the reader down the right path to solve them • Includes several NEW "war stories" relating experiences from real-world applications • Provides up-to-date links leading to the very best algorithm implementations available in C, C++, and Java




Grokking Artificial Intelligence Algorithms


Book Description

"From start to finish, the best book to help you learn AI algorithms and recall why and how you use them." - Linda Ristevski, York Region District School Board ”This book takes an impossibly broad area of computer science and communicates what working developers need to understand in a clear and thorough way.” - David Jacobs, Product Advance Local Key Features Master the core algorithms of deep learning and AI Build an intuitive understanding of AI problems and solutions Written in simple language, with lots of illustrations and hands-on examples Creative coding exercises, including building a maze puzzle game and exploring drone optimization About The Book “Artificial intelligence” requires teaching a computer how to approach different types of problems in a systematic way. The core of AI is the algorithms that the system uses to do things like identifying objects in an image, interpreting the meaning of text, or looking for patterns in data to spot fraud and other anomalies. Mastering the core algorithms for search, image recognition, and other common tasks is essential to building good AI applications Grokking Artificial Intelligence Algorithms uses illustrations, exercises, and jargon-free explanations to teach fundamental AI concepts.You’ll explore coding challenges like detect­ing bank fraud, creating artistic masterpieces, and setting a self-driving car in motion. All you need is the algebra you remember from high school math class and beginning programming skills. What You Will Learn Use cases for different AI algorithms Intelligent search for decision making Biologically inspired algorithms Machine learning and neural networks Reinforcement learning to build a better robot This Book Is Written For For software developers with high school–level math skills. About the Author Rishal Hurbans is a technologist, startup and AI group founder, and international speaker. Table of Contents 1 Intuition of artificial intelligence 2 Search fundamentals 3 Intelligent search 4 Evolutionary algorithms 5 Advanced evolutionary approaches 6 Swarm intelligence: Ants 7 Swarm intelligence: Particles 8 Machine learning 9 Artificial neural networks 10 Reinforcement learning with Q-learning




Practical API Design


Book Description

You might think more than enough design books exist in the programming world already. In fact, there are so many that it makes sense to ask why you would read yet another. Is there really a need for yet another design book? In fact, there is a greater need than ever before, and Practical API Design: Confessions of a Java Framework Architect fills that need! Teaches you how to write an API that will stand the test of time Written by the designer of the NetBeans API at Sun Technologies Based on best practices, scalability, and API design patterns




Hibernate Recipes


Book Description

Hibernate continues to be the most popular out-of-the-box framework solution for Java Persistence and data/database accessibility techniques and patterns. It is used for e-commerce–based web applications as well as heavy-duty transactional systems for the enterprise. Gary Mak, the author of the best-selling Spring Recipes, now brings you Hibernate Recipes. This book contains a collection of code recipes and templates for learning and building Hibernate solutions for you and your clients. This book is your pragmatic day-to-day reference and guide for doing all things involving Hibernate. There are many books focused on learning Hibernate, but this book takes you further and shows how you can apply it practically in your daily work.




Magento 2 Developer's Guide


Book Description

Harness the power of Magento 2 – The most recent version of the world's favourite e-Commerce platform for your online store About This Book Set up, configure, and power up your Magento environment from development to production Master the use of Web API to communicate with the Magento system and create custom services Create custom modules from scratch to extend the core functionality of the Magento system Who This Book Is For This book is intended primarily for intermediate to professional-level PHP developers who are interested in Magento development. For backend developers, several topics are covered that will enable you to modify and extend your Magento 2 store. Frontend developers will also find some coverage on how to customize the look of the site in the frontend. What You Will Learn Set up the development and production environment of Magento 2 Understand the new major concepts and conventions used in Magento 2 Build a miniature yet fully-functional module from scratch to manage your e-commerce platform efficiently Write models and collections to manage and search your entity data Dive into backend development such as creating events, observers, cron jobs, logging, profiling, and messaging features Get to the core of frontend development such as blocks, templates, layouts, and the themes of Magento 2 Use token, session, and Oauth token-based authentication via various flavors of API calls, as well as creating your own APIs Get to grips with testing Magento modules and custom themes, which forms an integral part of development In Detail Magento is one of the most exciting, flexible, and customizable e-commerce systems. It offers you an extensive suite of powerful tools for creating and managing an online store. After years of development, Magento 2 introduces itself with a strong emphasis on modularity, Web API's, automated testing and overall new technology stack platform. The long-awaited Magento 2 release introduces a whole new e-commerce platform to develop online stores. The all new Magento 2 architecture, Web APIs, and a host of other features are equally challenging to master as much as they are exciting to use. This book will ease the learning curve by offering step-by-step guidance on how to extend the core functionality of your Magento 2 store. This book is your one-stop guide to build and customize a quality e-commerce website from the latest version of one of the largest, fastest growing, and most popular e-commerce platforms—Magento 2. We start off with an introduction to the fundamental concepts of Magento to give you a foundation to work from. We then move on to configure the development and basic production environment for Magento. After this, you'll get to grips with the major concepts and conventions that are new to the Magento 2 platform. We then delve deeper to get to the core of automated deployments, persisting data, writing data fixture scripts and applying various backend and frontend modifications. As we near the end of the book, you will learn to make API calls and write automated tests. Finally, you will be guided through building a full-blown helpdesk module from scratch. By the end of this book, you will have learned a wide range of techniques to extend and customize your Magento 2 store to fit the requirements of your business. Style and approach This book is a mix of theoretical and step-by-step approaches, explained in a conversational and easy-to-follow style. Topics are explained sequentially, giving detailed explanations of the basic and advanced features to get you working on Magento 2.




Magento 2 - Build World-Class online stores


Book Description

Create rich and compelling solutions for Magento 2 by developing and implementing solutions, themes, and extensions About This Book Be proficient in the main functionalities, resources, and system structure of Magento 2 Get to grips with this practical and hands-on guide to raise your web development skills to the next level Packed with several advanced recipes, not just to manage your online store, but to extend and design it as well Who This Book Is For The ideal target audience for this course could be anyone who wants to mould their skills in building amazing e-commerce websites using Magento. We begin right from getting you started with Magento to becoming an expert at building your own online stores with it. What You Will Learn Install and set up the Magento Ecosystem Carry out performance adjustments to speed up your Magento system Transfer your Magento 1 database to Magento 2 using the Magento 2 system tools Build a Magento 2 multi-store by creating a root catalog, subdirectories, and products Design custom themes within the Magento 2 framework Create extensions using Magento 2 Discover what makes Magento 2 different and more powerful In Detail Magento is the leading e-commerce software trusted by world`s leading organizations. Used by thousands of merchants for their transactions worth billions, it provides the flexibility to customize the content and functionality of your website. Our Magento Course will help you gain knowledge and skills that are required to design & develop world class online stores. Magento 2 Development Essentials - This book begins by setting up Magento 2 before gradually moving onto setting the basic options of the Sell System. You will learn Search Engine Optimization aspects, create design and customize theme layout, and adjust the Magento System to achieve great performance. Magento 2 Cookbook – This book is divided into several recipes, which show you which steps to take to complete a specific action. It will cover configuring your categories and products, performance tuning, creating a theme, developing a module etc. At the end of this book, you will gain the knowledge to start building a success website. Mastering Magento 2 - This is a comprehensive guide to using the all new features and interface of Magento 2 to build, extend, and design online stores. This book is your roadmap to managing your Magento store which teaches advanced and successful techniques. Focusing on Magento's Community version, this book offers you advanced guidance on managing, optimizing, and extending your store while taking advantage of the new features of Magento 2. This Learning Path combines some of the best that Packt has to offer in one complete, curated package. It includes content from the following Packt products Magento 2 Development Essentials by Fernando J. Miguel Magento 2 Cookbook by Ray Bogman and Vladimir Kerkhoff Mastering Magento 2 by Bret Williams and Jonathan Bownds Style and approach This course begins by setting up Magento 2 before gradually moving on to setting the basic options of the Sell System. You will master Search Engine Optimization aspects, create designs and customize theme layouts, develop new extensions, and adjust the Magento System to achieve great performance. The book covers everything from creating and managing multiple stores to fine-tuning Magento for speed and performance.




Grokking Algorithms


Book Description

"This book does the impossible: it makes math fun and easy!" - Sander Rossel, COAS Software Systems Grokking Algorithms is a fully illustrated, friendly guide that teaches you how to apply common algorithms to the practical problems you face every day as a programmer. You'll start with sorting and searching and, as you build up your skills in thinking algorithmically, you'll tackle more complex concerns such as data compression and artificial intelligence. Each carefully presented example includes helpful diagrams and fully annotated code samples in Python. Learning about algorithms doesn't have to be boring! Get a sneak peek at the fun, illustrated, and friendly examples you'll find in Grokking Algorithms on Manning Publications' YouTube channel. Continue your journey into the world of algorithms with Algorithms in Motion, a practical, hands-on video course available exclusively at Manning.com (www.manning.com/livevideo/algorithms-?in-motion). Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. About the Technology An algorithm is nothing more than a step-by-step procedure for solving a problem. The algorithms you'll use most often as a programmer have already been discovered, tested, and proven. If you want to understand them but refuse to slog through dense multipage proofs, this is the book for you. This fully illustrated and engaging guide makes it easy to learn how to use the most important algorithms effectively in your own programs. About the Book Grokking Algorithms is a friendly take on this core computer science topic. In it, you'll learn how to apply common algorithms to the practical programming problems you face every day. You'll start with tasks like sorting and searching. As you build up your skills, you'll tackle more complex problems like data compression and artificial intelligence. Each carefully presented example includes helpful diagrams and fully annotated code samples in Python. By the end of this book, you will have mastered widely applicable algorithms as well as how and when to use them. What's Inside Covers search, sort, and graph algorithms Over 400 pictures with detailed walkthroughs Performance trade-offs between algorithms Python-based code samples About the Reader This easy-to-read, picture-heavy introduction is suitable for self-taught programmers, engineers, or anyone who wants to brush up on algorithms. About the Author Aditya Bhargava is a Software Engineer with a dual background in Computer Science and Fine Arts. He blogs on programming at adit.io. Table of Contents Introduction to algorithms Selection sort Recursion Quicksort Hash tables Breadth-first search Dijkstra's algorithm Greedy algorithms Dynamic programming K-nearest neighbors