The Go Programming Language


Book Description

The Go Programming Language is the authoritative resource for any programmer who wants to learn Go. It shows how to write clear and idiomatic Go to solve real-world problems. The book does not assume prior knowledge of Go nor experience with any specific language, so you’ll find it accessible whether you’re most comfortable with JavaScript, Ruby, Python, Java, or C++. The first chapter is a tutorial on the basic concepts of Go, introduced through programs for file I/O and text processing, simple graphics, and web clients and servers. Early chapters cover the structural elements of Go programs: syntax, control flow, data types, and the organization of a program into packages, files, and functions. The examples illustrate many packages from the standard library and show how to create new ones of your own. Later chapters explain the package mechanism in more detail, and how to build, test, and maintain projects using the go tool. The chapters on methods and interfaces introduce Go’s unconventional approach to object-oriented programming, in which methods can be declared on any type and interfaces are implicitly satisfied. They explain the key principles of encapsulation, composition, and substitutability using realistic examples. Two chapters on concurrency present in-depth approaches to this increasingly important topic. The first, which covers the basic mechanisms of goroutines and channels, illustrates the style known as communicating sequential processes for which Go is renowned. The second covers more traditional aspects of concurrency with shared variables. These chapters provide a solid foundation for programmers encountering concurrency for the first time. The final two chapters explore lower-level features of Go. One covers the art of metaprogramming using reflection. The other shows how to use the unsafe package to step outside the type system for special situations, and how to use the cgo tool to create Go bindings for C libraries. The book features hundreds of interesting and practical examples of well-written Go code that cover the whole language, its most important packages, and a wide range of applications. Each chapter has exercises to test your understanding and explore extensions and alternatives. Source code is freely available for download from http://gopl.io/ and may be conveniently fetched, built, and installed using the go get command.




So Good They Can't Ignore You


Book Description

In an unorthodox approach, Georgetown University professor Cal Newport debunks the long-held belief that "follow your passion" is good advice, and sets out on a quest to discover the reality of how people end up loving their careers. Not only are pre-existing passions rare and have little to do with how most people end up loving their work, but a focus on passion over skill can be dangerous, leading to anxiety and chronic job hopping. Spending time with organic farmers, venture capitalists, screenwriters, freelance computer programmers, and others who admitted to deriving great satisfaction from their work, Newport uncovers the strategies they used and the pitfalls they avoided in developing their compelling careers. Cal reveals that matching your job to a pre-existing passion does not matter. Passion comes after you put in the hard work to become excellent at something valuable, not before. In other words, what you do for a living is much less important than how you do it. With a title taken from the comedian Steve Martin, who once said his advice for aspiring entertainers was to "be so good they can't ignore you," Cal Newport's clearly written manifesto is mandatory reading for anyone fretting about what to do with their life, or frustrated by their current job situation and eager to find a fresh new way to take control of their livelihood. He provides an evidence-based blueprint for creating work you love, and will change the way you think about careers, happiness, and the crafting of a remarkable life.




The Well-Grounded Java Developer, Second Edition


Book Description

Understanding Java from the JVM up gives you a solid foundation to grow your expertise and take on advanced techniques for performance, concurrency, containerization, and more. In The Well-Grounded Java Developer, Second Edition you will learn: The new Java module system and why you should use it Bytecode for the JVM, including operations and classloading Performance tuning the JVM Working with Java’s built-in concurrency and expanded options Programming in Kotlin and Clojure on the JVM Maximizing the benefits from your build/CI tooling with Maven and Gradle Running the JVM in containers Planning for future JVM releases The Well-Grounded Java Developer, Second Edition introduces both the modern innovations and timeless fundamentals you need to know to become a Java master. Authors Ben Evans, Martijn Verburg, and Jason Clark distill their decades of experience as Java Champions, veteran developers, and key contributors to the Java ecosystem into this clear and practical guide. You’ll discover how Java works under the hood and learn design secrets from Java’s long history. Each concept is illustrated with hands-on examples, including a fully modularized application/library and creating your own multithreaded application. Foreword by Heinz Kabutz. About the technology Java is the beating heart of enterprise software engineering. Developers who really know Java can expect easy job hunting and interesting work. Written by experts with years of boots-on-the-ground experience, this book upgrades your Java skills. It dives into powerful features like modules and concurrency models and even reveals some of Java’s deep secrets. About the book With The Well-Grounded Java Developer, Second Edition you will go beyond feature descriptions and learn how Java operates at the bytecode level. Master high-value techniques for concurrency and performance optimization, along with must-know practices for build, test, and deployment. You’ll even look at alternate JVM languages like Kotlin and Clojure. Digest this book and stand out from the pack. What's inside The new Java module system Performance tuning the JVM Maximizing CI/CD with Maven and Gradle Running the JVM in containers Planning for future JVM releases About the reader For intermediate Java developers. About the author Benjamin J. Evans is a senior principal engineer at Red Hat. Martijn Verburg is the principal SWE manager for Microsoft’s Java Engineering Group. Both Benjamin and Martijn are Java Champions. Jason Clark is a principal engineer and architect at New Relic. Table of Contents PART 1 - FROM 8 TO 11 AND BEYOND! 1 Introducing modern Java 2 Java modules 3 Java 17 PART 2 - UNDER THE HOOD 4 Class files and bytecode 5 Java concurrency fundamentals 6 JDK concurrency libraries 7 Understanding Java performance PART 3 - NON-JAVA LANGUAGES ON THE JVM 8 Alternative JVM languages 9 Kotlin 10 Clojure: A different view of programming PART 4 - BUILD AND DEPLOYMENT 11 Building with Gradle and Maven 12 Running Java in containers 13 Testing fundamentals 14 Testing beyond JUnit PART 5 - JAVA FRONTIERS 15 Advanced functional programming 16 Advanced concurrent programming 17 Modern internals 18 Future Java




Perl Hacks


Book Description

A guide to getting the most out of Perl covers such topics as productivity hacks, user interaction, data munging, working with modules, object hacks, and debugging.




New Grad Job Hacks


Book Description

What's after college? Learn how to get that job you always wanted. Just graduated college? Still waiting for the perfect job that was supposed to be dropped in your lap after the graduation ceremony? Wondering when you get to start that marvelous and rewarding career you always dreamed about? New Grad Job Hacks is here to help. Career expert YouTuber and blogger Matt Tran, takes you step-by-step through how to make the most of your degree. Tran’s blog www.engineeredtruth.com has helped thousands of new grads figure out their best paths to fulfilling careers. In New Grad Job Hacks, Tran guides us from job fairs to social media, from internships to job shadowing and teaches how to research companies, interview, negotiate, and get that job offer you always wanted.




HTML5 Hacks


Book Description

With 90 detailed hacks, expert web developers Jesse Cravens and Jeff Burtoft demonstrate intriguing uses of HTML5-related technologies. Each recipe provides a clear explanation, screenshots, and complete code examples for specifications that include Canvas, SVG, CSS3, multimedia, data storage, web workers, WebSockets, and geolocation. You’ll also find hacks for HTML5 markup elements and attributes that will give you a solid foundation for creative recipes that follow. The last chapter walks you through everything you need to know to get your HTML5 app off the ground, from Node.js to deploying your server to the cloud. Here are just a few of the hacks you’ll find in this book: Make iOS-style card flips with CSS transforms and transitions Replace the background of your video with the Canvas tag Use Canvas to create high-res Retina Display-ready media Make elements on your page user-customizable with editable content Cache media resources locally with the filesystem API Reverse-geocode the location of your web app user Process image data with pixel manipulation in a dedicated web worker Push notifications to the browser with Server-Sent Events




The 100 Most Influential Books Ever Written


Book Description

The hundred books discussed here have radically altered the course of civilisation , whether they have embodied religions practised by millions, achieved the pinnacle of artistic expression, pointed the way to scientific discovery of enormous consequence, redirected beliefs about the nature of man, or forever altered the global political landscape. For each there is a historical overview, an analysis of the work's effect on our lives today and a lively discussion of the reasons for inclusion.




The Passionate Programmer


Book Description

Success in today's IT environment requires you to view your career as a business endeavor. In this book, you'll learn how to become an entrepreneur, driving your career in the direction of your choosing. You'll learn how to build your software development career step by step, following the same path that you would follow if you were building, marketing, and selling a product. After all, your skills themselves are a product. The choices you make about which technologies to focus on and which business domains to master have at least as much impact on your success as your technical knowledge itself--don't let those choices be accidental. We'll walk through all aspects of the decision-making process, so you can ensure that you're investing your time and energy in the right areas. You'll develop a structured plan for keeping your mind engaged and your skills fresh. You'll learn how to assess your skills in terms of where they fit on the value chain, driving you away from commodity skills and toward those that are in high demand. Through a mix of high-level, thought-provoking essays and tactical "Act on It" sections, you will come away with concrete plans you can put into action immediately. You'll also get a chance to read the perspectives of several highly successful members of our industry from a variety of career paths. As with any product or service, if nobody knows what you're selling, nobody will buy. We'll walk through the often-neglected world of marketing, and you'll create a plan to market yourself both inside your company and to the industry in general. Above all, you'll see how you can set the direction of your career, leading to a more fulfilling and remarkable professional life.




HACK THE JOB


Book Description

One of the simple hacks shared in this book helped the author move from a $22,000 a year job to a $65,000 a year job in one month. Just one hack was worth $43,000! While such results are not typical or guaranteed, one of these hacks may be just what you need to kick start, boost, salvage or secure your career. Employment has turned into a high-speed roller coaster ride for employees over the last couple of years. And job automation is snatching away their safety restraints midway exposing them to the real threat of a dangerous plunge. Employees have to throw away the old rulebook and instead hack their way to success and security in a lopsided battle for jobs against intelligent machines in what is predicted to be an unprecedentedly competitive future. Over 2100 years of collective experiences of employees around the world are bundled into this comprehensive yet practical hack book! This indispensable book arms you with powerful hacks that you can apply to: Gain clarity on the fundamental reasons why you work or want a job Find your first or next dream job by confidently clearing interviews Transform your current job into a dream job by bridging the gap Become the master key that can unlock any type of Boss Recognize what your organization really expects from its employees Gain insight into what happens behind the scenes in management Determine if it’s time to consider a job or career change Ace your performance appraisals to receive the highest rating Get elevated to higher positions quickly Obtain the maximum hike percentages and bonuses Salvage and boost a stagnating career Minimize your chances of being fired or laid off Bounce back quickly from a job loss situation Adopt the right strategy to ride the job automation wave Minimize stress and achieve a better work-personal life balance Deal with a mid-life or mid-career crisis “If an employee will read only one book in an entire lifetime, it has to be this one!”




Skype Hacks


Book Description

"Tips & tools for cheap, fun, innovative phone service"--Cover.