Build Chatbot Interactions
The next step in the evolution of user interfaces is here. Chatbots let your users interact with your service in their own natural language. Use free and open source tools along with Ruby to build creative, useful, and unexpected interactions for users. Take advantage of the Lita framework's step-by-step implementation strategy to simplify bot development and testing. From novices to experts, chatbots are an area in which everyone can participate. Exercise your creativity by creating chatbot skills for communicating, information, and fun.
Developers of all skill levels can craft user experiences that are natural, easy to use, and most of all, fun. Build chatbots using free, open source tools and launch them to popular chat platforms like Slack and Amazon's Alexa. Use the Ruby programming language and the Lita bot framework to unlock fun and powerful chat abilities such as sending text messages and emails, creating new meme images, driving a robot around the room, and talking out lou ...
You work in a loop: write code, get feedback, iterate. The faster you get feedback, the faster you can learn and become a more effective developer. Test-Driven React helps you refine your React workflow to give you the feedback you need as quickly as possible. Write strong tests and run them continuously as you work, split complex code up into manageable pieces, and stay focused on what's important by automating away mundane, trivial tasks. Adopt these techniques and you'll be able to avoid productivity traps and start building React components at a stunning pace!
React has revolutionized web development by abstracting away the details of DOM manipulation. That conceptual elegance has opened the door to a new generation of web testing: clear, expressive, and lightning-fast. That makes React a perfect fit for test-driven development (TDD), a methodology in which tests are a blueprint instead of an afterthought.
Each chapter will present new projects to challenge you and new tools ...
Web Development with ReasonML
Languages may come and go, but the relational database endures. Learn how to use Ecto, the premier database library for Elixir, to connect your Elixir and Phoenix apps to databases. Get a firm handle on Ecto fundamentals with a module-by-module tour of the critical parts of Ecto. Then move on to more advanced topics and advice on best practices with a series of recipes that provide clear, step-by-step instructions on scenarios commonly encountered by app developers. Co-authored by the creator of Ecto, this title provides all the essentials you need to use Ecto effectively.
Elixir and Phoenix are taking the application development world by storm, and Ecto, the database library that ships with Phoenix, is going right along with them. There are plenty of examples that show you the basics, but to use Ecto to its full potential, you need to learn the library from the ground up.
This definitive guide starts with a tour of the core features of Ecto - repos, queries, schemas, changesets, ...
Small, Sharp Software Tools
The command-line interface is making a comeback. That's because developers know that all the best features of your operating system are hidden behind a user interface designed to help average people use the computer. But you're not the average user, and the CLI is the most efficient way to get work done fast. Turn tedious chores into quick tasks: read and write files, manage complex directory hierarchies, perform network diagnostics, download files, work with APIs, and combine individual programs to create your own workflows. Put down that mouse, open the CLI, and take control of your software development environment.
No matter what language or platform you're using, you can use the CLI to create projects, run servers, and manage files. You can even create new tools that fit right in with grep, sed, awk, and xargs. You'll work with the Bash shell and the most common command-line utilities available on macOS, Windows 10, and many flavors of Linux.
Create files without opening a te ...
Technical Blogging, 2nd Edition
Successful technical blogging is not easy but it's also not magic. Use these techniques to attract and keep an audience of loyal, regular readers. Leverage this popularity to reach your goals and amplify your influence in your field. Get more users for your startup or open source project, or simply find an outlet to share your expertise. This book is your blueprint, with step-by-step instructions that leave no stone unturned. Plan, create, maintain, and promote a successful blog that will have remarkable effects on your career or business.
Successful people often get recognition by teaching what they know. Blogging is a reliable path to do that, while gaining influence in the process. The problem is getting it right. Far too often professionals start a blog with big hopes, only to quickly give up because they don't get speedy results. This book will spare you that fate by outlining a careful plan of action. A plan that will bring amazing benefits to your career, new job possibilitie ...
A Scrum Book
Gain insights and depth of rationale into Scrum from many highly respected world authorities, including one of its founders, who lead you through the deep foundations of Scrum's structure and practice. Enhance and customize your Scrum practice with ninety-four organizational building blocks, called patterns, that you can freely and flexibly choose from to fit your needs. Understand and appreciate the history of Scrum and the role it plays in solving common problems in product development.
Building a successful product usually involves teams of people, and many choose the Scrum approach to aid in creating products that deliver the highest possible value. Implementing Scrum gives teams a collection of powerful ideas they can assemble to fit their needs and meet their goals. The ninety-four patterns contained within are elaborated nuggets of insight into Scrum's building blocks, how they work, and how to use them. They offer novices a roadmap for starting from scratch, yet they help in ...
From Chaos to Successful Distributed Agile Teams
Distributed agile teams have a terrible reputation. They don't deliver on time, and too often, they don't deliver what the customer needs. However, most agile teams, have at least one remote team member. And, agile approaches are here to stay.
Don't blindly apply agile practices designed for collocated teams. Instead, learn to use three mindset shifts and the agile and lean principles to create your successful distributed agile team. Use the tips and traps to help your team succeed.
Leave the chaos of virtual teams behind. See how to help your distributed team succeed. This work was written and produced entirely by the author. We are proud to be distributing it.
You've worked on agile teams before, but how do you use these same practices with a distributed team? You don't! Taking off-the-shelf practices designed for collocated environments will only frustrate your teams. Or worse, you may even cause harm by forcing people to work unnatural hours because they are in a differe ...
Programmers don't just use Kotlin, they love it. Even Google has adopted it as a first-class language for Android development. With Kotlin, you can intermix imperative, functional, and object-oriented styles of programming and benefit from the approach that's most suitable for the problem at hand. Learn to use the many features of this highly concise, fluent, elegant, and expressive statically typed language with easy-to-understand examples. Learn to write maintainable, high-performing JVM and Android applications, create DSLs, program asynchronously, and much more.
Programming WebAssembly with Rust
WebAssembly is more than just a revolutionary new technology. It's reshaping how we build applications for the web and beyond. Where technologies like ActiveX and Flash have failed, you can now write code in whatever language you prefer and compile to WebAssembly for fast, type-safe code that runs in the browser, on mobile devices, embedded devices, and more. Combining WebAssembly's portable, high-performance modules with Rust' ...