{"title":"Pragmatic Bookshelf","description":null,"products":[{"product_id":"programming-groovy-2-0-book-venkat-subramaniam-9781937785307","title":"Programming Groovy 2.0","description":"\u003cp\u003eGroovy brings you the best of both worlds: a flexible, highly productive, agile, dynamic language that runs on the rich framework of the Java Platform. Groovy preserves the Java semantics and extends the JDK to give you true dynamic language capabilities. \u003ci\u003eProgramming Groovy 2\u003c\/i\u003e will help you, the experienced Java developer, learn and take advantage of the latest version of this rich dynamic language. You'll go from the basics of Groovy to the latest advances in the language, including options for type checking, tail-call and memoization optimizations, compile time metaprogramming, and fluent interfaces to create DSLs. \u003c\/p\u003e\u003cp\u003e\u003c\/p\u003e You don't have to leave the rich Java Platform to take advantage of Groovy. Groovy preserves Java's semantics and extends the JDK, so programming in Groovy feels like the Java language has been augmented; it's like working with a lighter, more elegant Java. If you're an experienced Java developer who wants to learn how Groovy works, you'll find exactly what you need in this book. \u003cp\u003e\u003c\/p\u003e You'll start with the fundamentals of programming in Groovy and how it works with Java, and then you'll explore advanced concepts such as unit testing with mock objects, using Builders, working with databases and XML, and creating DSLs. You'll master Groovy's powerful yet complex run-time and compile-time metaprogramming features. \u003cp\u003e\u003c\/p\u003e Much has evolved in the Groovy language since the publication of the first edition of \u003ci\u003eProgramming Groovy\u003c\/i\u003e. \u003ci\u003eProgramming Groovy 2\u003c\/i\u003e will help you learn and apply Groovy's new features. Creating DSLs is easier now, and Groovy's already-powerful metaprogramming facilities have improved even more. You'll see how to work with closures, including tail call optimization and memoization. The book also covers Groovy's new static compilation feature. \u003cp\u003e\u003c\/p\u003e Whether you're learning the basics of the language or interested in getting proficient with the new features, \u003ci\u003eProgramming Groovy 2\u003c\/i\u003e has you covered. \u003cp\u003e\u003c\/p\u003e\u003cb\u003eWhat You Need\u003c\/b\u003e \u003cp\u003e\u003c\/p\u003e To work on the examples in the book you need Groovy 2.0.5 and Java JDK 5 or higher.","brand":"WoB","offers":[{"title":"GB \/ VERY_GOOD \/ INTERNAL","offer_id":49578636149009,"sku":"GOR007969260","price":0.0,"currency_code":"GBP","in_stock":true},{"title":"US \/ WELL_READ \/ SBYB","offer_id":49916336865553,"sku":"CIN1937785300A","price":0.0,"currency_code":"GBP","in_stock":false},{"title":"US \/ GOOD \/ SBYB","offer_id":50011559919889,"sku":"CIN1937785300G","price":0.0,"currency_code":"GBP","in_stock":true},{"title":"US \/ NEW \/ INGRAM","offer_id":51059362529553,"sku":"NIN9781937785307","price":0.0,"currency_code":"GBP","in_stock":false},{"title":"GB \/ NEW \/ INGRAM","offer_id":52332440224017,"sku":"NLS9781937785307","price":0.0,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0784\/4072\/6801\/files\/1937785300.jpg?v=1750727381"},{"product_id":"ray-tracer-challenge-book-jamis-buck-9781680502718","title":"The Ray Tracer Challenge","description":"\u003cp\u003eBrace yourself for a fun challenge: build a photorealistic 3D renderer from scratch  It's easier than you think. In just a couple of weeks, build a ray-tracer that renders beautiful scenes with shadows, reflections, brilliant refraction effects, and subjects composed of various graphics primitives: spheres, cubes, cylinders, triangles, and more. With each chapter, implement another piece of the puzzle and move the renderer that much further forward. Do all of this in whichever language and environment you prefer, and do it entirely test-first, so you know it's correct. Recharge yourself with this project's immense potential for personal exploration, experimentation, and discovery.\u003c\/p\u003e \u003cp\u003eThe renderer is a ray tracer, which means it simulates the physics of light by tracing the path of light rays around your scene. Each exciting chapter presents a bite-sized piece of the puzzle, building on earlier chapters and setting the stage for later ones. Requirements are given in plain English, which you translate into tests and code. When the project is complete, look back and realize you've built an entire system test-first \u003c\/p\u003e \u003cp\u003eThere's no research necessary -- all the necessary formulas and algorithms are presented and illustrated right here. Dive into intriguing topics from fundamental concepts such as vectors and matrices; to the algorithms that simulate the intersection of light rays with spheres, planes, cubes, cylinders, and triangles; to geometric patterns such as checkers and rings. Lighting and shading effects, such as shadows and reflections, make your scenes come to life, and constructive solid geometry (CSG) enables you to combine your graphics primitives in simple ways to produce complex shapes.\u003c\/p\u003e \u003cp\u003ePlay and experiment as you discover the fun of writing a ray tracer. Accept the challenge today \u003c\/p\u003e \u003cp\u003e\u003cb\u003eWhat You Need: \u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cbr\u003e\u003cbr\u003eAside from a computer, operating system, and programming environment, you'll need a way to display PPM image files. On Windows, programs like Photoshop will work, or free programs like IrfanView. On Mac, no special software is needed, as Preview can open PPM files.\u003c\/p\u003e","brand":"WoB","offers":[{"title":"GB \/ NEW \/ GARDNERS","offer_id":49733806620945,"sku":"NGR9781680502718","price":0.0,"currency_code":"GBP","in_stock":true},{"title":"GB \/ VERY_GOOD \/ INTERNAL","offer_id":49764142350609,"sku":"GOR012363854","price":0.0,"currency_code":"GBP","in_stock":false},{"title":"GB \/ LIKE_NEW \/ INTERNAL","offer_id":50245710709009,"sku":"GOR013897768","price":0.0,"currency_code":"GBP","in_stock":false},{"title":"US \/ NEW \/ INGRAM","offer_id":51045691326737,"sku":"NIN9781680502718","price":0.0,"currency_code":"GBP","in_stock":true},{"title":"US \/ GOOD \/ SBYB","offer_id":51417639092497,"sku":"CIN1680502719G","price":0.0,"currency_code":"GBP","in_stock":true},{"title":"GB \/ NEW \/ INGRAM","offer_id":52673321730321,"sku":"NLS9781680502718","price":0.0,"currency_code":"GBP","in_stock":true},{"title":"US \/ VERY_GOOD \/ SBYB","offer_id":53651991986449,"sku":"CIN1680502719VG","price":0.0,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0784\/4072\/6801\/files\/1680502719.jpg?v=1751447190"},{"product_id":"driving-technical-change-book-terrence-ryan-9781934356609","title":"Driving Technical Change","description":"\u003cp\u003eYour co-workers' resistance to new technologies can be baffling. Logical arguments can fail. If you don't do politics, you will fail. With \u003cem\u003eDriving Technical Change\u003c\/em\u003e, by Terrence Ryan, you'll learn to read users' patterns of resistance-and then dismantle their objections. Every developer must master the art of evangelizing. With these techniques and strategies, you'll help your organization adopt your solutions-without selling your soul to organizational politics. \u003c\/p\u003e\u003cp\u003e\u003c\/p\u003e Finding cool languages, tools, or development techniques is easy-new ones are popping up every day. Convincing co-workers to adopt them is the hard part. The problem is political, and in political fights, logic doesn't win for logic's sake. Hard evidence of a superior solution is not enough. But that reality can be tough for programmers to overcome. \u003cp\u003e\u003c\/p\u003e In \u003ci\u003eDriving Technical Change: Why People On Your Team Don't Act on Good Ideas, and How to Convince Them They Should\u003c\/i\u003e, Adobe software evangelist Terrence Ryan breaks down the patterns and types of resistance technologists face in many organizations. \u003cp\u003e\u003c\/p\u003e You'll get a rich understanding of what blocks users from accepting your solutions. From that, you'll get techniques for dismantling their objections-without becoming some kind of technocratic Machiavelli. \u003cp\u003e\u003c\/p\u003e In Part I, Ryan clearly defines the problem. Then in Part II, he presents resistance patterns-there's a pattern for each type of person resisting your technology, from The Uninformed to The Herd, The Cynic, The Burned, The Time Crunched, The Boss, and The Irrational. In Part III, Ryan shares his battle-tested techniques for overcoming users' objections. These build on expertise, communication, compromise, trust, publicity, and similar factors. In Part IV, Ryan reveals strategies that put it all together-the patterns of resistance and the techniques for winning buy-in. This is the art of organizational politics. \u003cp\u003e\u003c\/p\u003e In the end, change is a two-way street: In order to get your co-workers to stretch their technical skills, you'll have to stretch your soft skills. This book will help you make that stretch without compromising your resistance to playing politics. You can overcome resistance-however illogical-in a logical way.","brand":"WoB","offers":[{"title":"GB \/ NEW \/ GARDNERS","offer_id":49736416985361,"sku":"NGR9781934356609","price":0.0,"currency_code":"GBP","in_stock":true},{"title":"US \/ VERY_GOOD \/ SBYB","offer_id":50402187870481,"sku":"CIN1934356603VG","price":0.0,"currency_code":"GBP","in_stock":false},{"title":"US \/ NEW \/ INGRAM","offer_id":51054722711825,"sku":"NIN9781934356609","price":0.0,"currency_code":"GBP","in_stock":true},{"title":"GB \/ VERY_GOOD \/ INTERNAL","offer_id":51078198165777,"sku":"GOR006551163","price":0.0,"currency_code":"GBP","in_stock":true},{"title":"GB \/ NEW \/ INGRAM","offer_id":52650443702545,"sku":"NLS9781934356609","price":0.0,"currency_code":"GBP","in_stock":true},{"title":"GB \/ LIKE_NEW \/ INTERNAL","offer_id":52718937866513,"sku":"GOR010554667","price":0.0,"currency_code":"GBP","in_stock":false},{"title":"US \/ WELL_READ \/ SBYB","offer_id":53471967969553,"sku":"CIN1934356603A","price":0.0,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0784\/4072\/6801\/files\/1934356603.jpg?v=1751029088"}],"url":"https:\/\/www.worldofbooks.com\/collections\/pragmatic-bookshelf-book-series.oembed","provider":"World of Books ","version":"1.0","type":"link"}