ad React v16.9.0 and the Roadmap Update By reactjs.org Published On :: Thu, 08 Aug 2019 00:00:00 GMT Today we are releasing React 16.9. It contains several new features, bugfixes, and new deprecation warnings to help prepare for a future major release. New Deprecations Renaming Unsafe Lifecycle Methods Over a year ago, we announced that unsafe lifecycle methods are getting renamed: componentWillMount → UNSAFE_componentWillMount componentWillReceiveProps → UNSAFE_componentWillReceiveProps componentWillUpdate → UNSAFE_componentWillUpdate React 16.9 does not contain breaking changes, and the old names continue to work in this release. But you will now see a warning when using any of the old names: As the warning suggests, there are usually better approaches for each of the unsafe methods. However, maybe you don’t have the time to migrate or test these components. In that case, we recommend running a “codemod” script that renames them automatically: cd your_project npx react-codemod rename-unsafe-lifecycles (Note that it says npx, not npm. npx is a utility that comes with Node 6+ by default.) Running this codemod will replace the old names like componentWillMount with the new names like UNSAFE_componentWillMount: The new names like UNSAFE_componentWillMount will keep working in both React 16.9 and in React 17.x. However, the new UNSAFE_ prefix will help components with problematic patterns stand out during the code review and debugging sessions. (If you’d like, you can further discourage their use inside your app with the opt-in Strict Mode.) Note Learn more about our versioning policy and commitment to stability. Deprecating javascript: URLs URLs starting with javascript: are a dangerous attack surface because it’s easy to accidentally include unsanitized output in a tag like <a href> and create a security hole: const userProfile = { website: "javascript: alert('you got hacked')", }; // This will now warn: <a href={userProfile.website}>Profile</a> In React 16.9, this pattern continues to work, but it will log a warning. If you use javascript: URLs for logic, try to use React event handlers instead. (As a last resort, you can circumvent the protection with dangerouslySetInnerHTML, but it is highly discouraged and often leads to security holes.) In a future major release, React will throw an error if it encounters a javascript: URL. Deprecating “Factory” Components Before compiling JavaScript classes with Babel became popular, React had support for a “factory” component that returns an object with a render method: function FactoryComponent() { return { render() { return <div />; } } } This pattern is confusing because it looks too much like a function component — but it isn’t one. (A function component would just return the <div /> in the above example.) This pattern was almost never used in the wild, and supporting it causes React to be slightly larger and slower than necessary. So we are deprecating this pattern in 16.9 and logging a warning if it’s encountered. If you rely on it, adding FactoryComponent.prototype = React.Component.prototype can serve as a workaround. Alternatively, you can convert it to either a class or a function component. We don’t expect most codebases to be affected by this. New Features Async act() for Testing React 16.8 introduced a new testing utility called act() to help you write tests that better match the browser behavior. For example, multiple state updates inside a single act() get batched. This matches how React already works when handling real browser events, and helps prepare your components for the future in which React will batch updates more often. However, in 16.8 act() only supported synchronous functions. Sometimes, you might have seen a warning like this in a test but could not easily fix it: An update to SomeComponent inside a test was not wrapped in act(...). In React 16.9, act() also accepts asynchronous functions, and you can await its call: await act(async () => { // ... }); This solves the remaining cases where you couldn’t use act() before, such as when the state update was inside an asynchronous function. As a result, you should be able to fix all the remaining act() warnings in your tests now. We’ve heard there wasn’t enough information about how to write tests with act(). The new Testing Recipes guide describes common scenarios, and how act() can help you write good tests. These examples use vanilla DOM APIs, but you can also use React Testing Library to reduce the boilerplate code. Many of its methods already use act() internally. Please let us know on the issue tracker if you bump into any other scenarios where act() doesn’t work well for you, and we’ll try to help. Performance Measurements with <React.Profiler> In React 16.5, we introduced a new React Profiler for DevTools that helps find performance bottlenecks in your application. In React 16.9, we are also adding a programmatic way to gather measurements called <React.Profiler>. We expect that most smaller apps won’t use it, but it can be handy to track performance regressions over time in larger apps. The <Profiler> measures how often a React application renders and what the “cost” of rendering is. Its purpose is to help identify parts of an application that are slow and may benefit from optimizations such as memoization. A <Profiler> can be added anywhere in a React tree to measure the cost of rendering that part of the tree. It requires two props: an id (string) and an onRender callback (function) which React calls any time a component within the tree “commits” an update. render( <Profiler id="application" onRender={onRenderCallback}> <App> <Navigation {...props} /> <Main {...props} /> </App> </Profiler>); To learn more about the Profiler and the parameters passed to the onRender callback, check out the Profiler docs. Note: Profiling adds some additional overhead, so it is disabled in the production build. To opt into production profiling, React provides a special production build with profiling enabled. Read more about how to use this build at fb.me/react-profiling. Notable Bugfixes This release contains a few other notable improvements: A crash when calling findDOMNode() inside a <Suspense> tree has been fixed. A memory leak caused by retaining deleted subtrees has been fixed too. An infinite loop caused by setState in useEffect now logs an error. (This is similar to the error you see when you call setState in componentDidUpdate in a class.) We’re thankful to all the contributors who helped surface and fix these and other issues. You can find the full changelog below. An Update to the Roadmap In November 2018, we have posted this roadmap for the 16.x releases: A minor 16.x release with React Hooks (past estimate: Q1 2019) A minor 16.x release with Concurrent Mode (past estimate: Q2 2019) A minor 16.x release with Suspense for Data Fetching (past estimate: mid 2019) These estimates were too optimistic, and we’ve needed to adjust them. tldr: We shipped Hooks on time, but we’re regrouping Concurrent Mode and Suspense for Data Fetching into a single release that we intend to release later this year. In February, we shipped a stable 16.8 release including React Hooks, with React Native support coming a month later. However, we underestimated the follow-up work for this release, including the lint rules, developer tools, examples, and more documentation. This shifted the timeline by a few months. Now that React Hooks are rolled out, the work on Concurrent Mode and Suspense for Data Fetching is in full swing. The new Facebook website that’s currently in active development is built on top of these features. Testing them with real code helped discover and address many issues before they can affect the open source users. Some of these fixes involved an internal redesign of these features, which has also caused the timeline to slip. With this new understanding, here’s what we plan to do next. One Release Instead of Two Concurrent Mode and Suspense power the new Facebook website that’s in active development, so we are confident that they’re close to a stable state technically. We also now better understand the concrete steps before they are ready for open source adoption. Originally we thought we would split Concurrent Mode and Suspense for Data Fetching into two releases. We’ve found that this sequencing is confusing to explain because these features are more related than we thought at first. So we plan to release support for both Concurrent Mode and Suspense for Data Fetching in a single combined release instead. We don’t want to overpromise the release date again. Given that we rely on both of them in production code, we expect to provide a 16.x release with opt-in support for them this year. An Update on Data Fetching While React is not opinionated about how you fetch data, the first release of Suspense for Data Fetching will likely focus on integrating with opinionated data fetching libraries. For example, at Facebook we are using upcoming Relay APIs that integrate with Suspense. We will document how other opinionated libraries like Apollo can support a similar integration. In the first release, we don’t intend to focus on the ad-hoc “fire an HTTP request” solution we used in earlier demos (also known as “React Cache”). However, we expect that both we and the React community will be exploring that space in the months after the initial release. An Update on Server Rendering We have started the work on the new Suspense-capable server renderer, but we don’t expect it to be ready for the initial release of Concurrent Mode. This release will, however, provide a temporary solution that lets the existing server renderer emit HTML for Suspense fallbacks immediately, and then render their real content on the client. This is the solution we are currently using at Facebook ourselves until the streaming renderer is ready. Why Is It Taking So Long? We’ve shipped the individual pieces leading up to Concurrent Mode as they became stable, including new context API, lazy loading with Suspense, and Hooks. We are also eager to release the other missing parts, but trying them at scale is an important part of the process. The honest answer is that it just took more work than we expected when we started. As always, we appreciate your questions and feedback on Twitter and in our issue tracker. Installation React React v16.9.0 is available on the npm registry. To install React 16 with Yarn, run: yarn add react@^16.9.0 react-dom@^16.9.0 To install React 16 with npm, run: npm install --save react@^16.9.0 react-dom@^16.9.0 We also provide UMD builds of React via a CDN: <script crossorigin src="https://unpkg.com/react@16/umd/react.production.min.js"></script> <script crossorigin src="https://unpkg.com/react-dom@16/umd/react-dom.production.min.js"></script> Refer to the documentation for detailed installation instructions. Changelog React Add <React.Profiler> API for gathering performance measurements programmatically. (@bvaughn in #15172) Remove unstable_ConcurrentMode in favor of unstable_createRoot. (@acdlite in #15532) React DOM Deprecate old names for the UNSAFE_* lifecycle methods. (@bvaughn in #15186 and @threepointone in #16103) Deprecate javascript: URLs as a common attack surface. (@sebmarkbage in #15047) Deprecate uncommon “module pattern” (factory) components. (@sebmarkbage in #15145) Add support for the disablePictureInPicture attribute on <video>. (@eek in #15334) Add support for onLoad event for <embed>. (@cherniavskii in #15614) Add support for editing useState state from DevTools. (@bvaughn in #14906) Add support for toggling Suspense from DevTools. (@gaearon in #15232) Warn when setState is called from useEffect, creating a loop. (@gaearon in #15180) Fix a memory leak. (@paulshen in #16115) Fix a crash inside findDOMNode for components wrapped in <Suspense>. (@acdlite in #15312) Fix pending effects from being flushed too late. (@acdlite in #15650) Fix incorrect argument order in a warning message. (@brickspert in #15345) Fix hiding Suspense fallback nodes when there is an !important style. (@acdlite in #15861 and #15882) Slightly improve hydration performance. (@bmeurer in #15998) React DOM Server Fix incorrect output for camelCase custom CSS property names. (@bedakb in #16167) React Test Utilities and Test Renderer Add act(async () => ...) for testing asynchronous state updates. (@threepointone in #14853) Add support for nesting act from different renderers. (@threepointone in #16039 and #16042) Warn in Strict Mode if effects are scheduled outside an act() call. (@threepointone in #15763 and #16041) Warn when using act from the wrong renderer. (@threepointone in #15756) Full Article
ad Workloads, acceleration, and making Postgres better By postgresweekly.com Published On :: Wed, 29 Apr 2020 00:00:00 +0000 #353 — April 29, 2020 Read on the Web Postgres Weekly 7 Things That Could Be Improved in Postgres — As 1990s dance pop group D:Ream sang in 1994, Things Can Only Get Better.. including Postgres ???? Luckily these are all ‘nice to have’s but I dare say we’ll see some of them (such as automatic tuning and auto-vacuuming improvements) appear over time. Kaarel Moppel How The Citus Distributed Query Executor Adapts to a Postgres Workload — Citus is the popular extension for horizontally scaling Postgres and its query executor has seen some huge updates lately. Citus Data (Microsoft) eBook: The Most Important Events to Monitor in Your Postgres Logs — In this pganalyze eBook, we are looking at the Top 6 Postgres log events for monitoring query performance and preventing downtime. pganalyze sponsor Swarm64 DA 4.0: A Database Acceleration Extension for Postgres — Swarm64 started life as a FPGA-driven way to accelerate Postgres performance, but can now work without FPGAs too. This is not a free product but if you want to give it a run, there’s a trial or it can be spun up from the AWS Marketplace. Yana Krasteva Postgres Performance Goalposts — An interesting heuristic from Bruce here on what to do if you expect your connections, queries, or write queries to be above/below certain levels. Bruce Momjian A Tale of Password Authentication Methods in Postgres — “Let’s say you want to implement a password authentication method in a client/server protocol..” Here’s the story of how Postgres came up with its approaches. Peter Eisentraut How to Set application_name When Using psql — As Craig says: “Setting your application name in Postgres is SO USEFUL. It will help a lot for debugging when you’ve got multiple different apps/services connecting to the same database.” Denish Patel How to Upgrade Postgres from v11 to v12 on Ubuntu 20.04 — Now that Ubuntu 20.04 is out, this might be on your mind! Paolo Melchiorre Working with Amazon Aurora PostgreSQL: What Happened to the Stats? — Apparently there’s a bug with numerous versions of Aurora PostgreSQL that causes certain stats to be lost on restart. Michael Vitale Postgres Vision 2020 - Free Online Conference (June 23-24) — Learn how today’s IT leaders are using Postgres. Join from anywhere in the world and listen from 30+ Postgres experts. EnterpriseDB sponsor A Deep Dive into PostGIS Nearest Neighbor Search — Take a deep dive into the Postgres and PostGIS internals to find out how K-nearest neighbor accelerates local search. Martin Davis My Favorite Postgres Extensions: Part One — A basic high level look at pg_partman and postgres_fdw. Nawaz Ahmed Kanel: Generate TypeScript Types from Postgres Kristian Dupont Postgres.app: The Easiest Way to Get Started with Postgres on the Mac — I’ve used this for years, it’s super popular, but if there’s just a handful of developers out there who’d benefit from it and don’t know about it, this reminder will be worth it :-) It continues to get very frequent updates. Jakob Egger, Chris Pastl, and Mattt Thompson ???? Upcoming Events All in-person events we had listed are cancelled or postponed due to the COVID outbreak, so we're now linking to webinars, livestreams, and similar online events. If you have any, just hit reply and if it's Postgres related (and either free or not too expensive) we'll include it in a future issue. Just one this week: ???? Postgres Vision 2020 on June 23-24. A full attempt at an online Postgres conference across multiple days with multiple tracks. ???? – requires e-mail address or registration???? – costs money to participate Full Article
ad It's time to upgrade those Ruby 2.4 apps By rubyweekly.com Published On :: Thu, 16 Apr 2020 00:00:00 +0000 #497 — April 16, 2020 Read on the Web Ruby Weekly Bye Bye Ruby 2.4, Support Has Ended — From the end of April 2019 till now, Ruby 2.4 has been in its ‘security maintenance’ phase but now you won’t even get that, Ruby 2.4.10 should be the final 2.4 release. 2.5 will follow in 2.4’s footsteps next year, so upgrading to 2.6 or 2.7 should now be a priority for those older apps. Ruby Core Team Testing Ruby Decorators with super_method — Have you ever wondered how you can properly test the behavior of a method overridden by Module#prepend? Enter super_method which returns a Method object of which superclass method would be called when super is used or nil if none exists. Simone Bravo You Hacked the Gibson? Yeah, They Built Their Own Login — Don't let Crash Override pwn your app. FusionAuth adds secure login, registration and user management to your app in minutes not months. Download our community edition for free. FusionAuth sponsor Heya: A Sequence Mailer for Rails — “Think of it like ActionMailer, but for timed email sequences.” Note: It’s open source but not free for commercial use beyond a certain point. Honeybadger Industries LLC A Final Report on Ruby Concurrency Developments — A report on work funded by a 2019 Ruby Association Grant that puts forth a proposal of using non-blocking fibers to improve Ruby’s concurrency story. Samuel Williams Mocking in Ruby with Minitest — Minitest has basic mocking functionality baked in, but be judicious in your use of it. Heidar Bernhardsson ???? Jobs Ruby Backend Developer (Austria) — We’re seeking mid-level and senior devs to join us and build top-class backend infrastructure for our adidas apps, used by millions. Our stack includes: jRuby, Sinatra, Sidekiq, MySQL, & MongoDB. Runtastic Find a Job Through Vettery — Vettery specializes in tech roles and is completely free for job seekers. Create a profile to get started. Vettery ▶️ Get ready for your next role: Pluralsight is free for the entire month of April. Stay Home. Skill Up. #FreeApril — SPONSORED ???? Articles & Tutorials Predicting the Future With Linear Regression in Ruby — Linear regression is a mathematical approach to modelling a relationship between multiple variables and is demonstrated here by exploring whether the tempo of a song predicts its popularity on Spotify. Julie Kent Feature Flags: A Simple Way to 'De-Stress' Production Releases — Feature flags bridge a gap between the abstract concept of continuous delivery and tactical release of features. Matt Swanson A Guide to Deprecation Warnings in Rails — If you’ve upgraded Rails and you start seeing warnings screaming at you, you can either get Googling or.. read this ???? Luciano Becerra What's the Difference Between Monitoring Webhooks and Background Jobs AppSignal sponsor Understanding webpacker.yml — Have you ever really gone through the Webpack config? Ross Kaffenberger Using Optimizer Hints in Rails — Rails 6 removes the need to write raw SQL to use optimizer hints, so that’s cool. Prateek Choudhary Dissecting Rails Migrations — You should pick up something new about migrations by reading this article as it covers all of the essentials and a little more. Prathamesh Sonpatki The Basics of Custom Exception Handling — Never hurts to revise the basics of effective exceptions. Mark Michon How to Improve Code Readability with Closures Andrey Koleshko ???? Code and Tools ruby-prolog: A Pure Ruby Prolog-like DSL for Logical Programming — Solve complex logic problems on the fly using a dynamic, Prolog-like DSL inline with your normal code. Preston Lee Anyway Config: Keep Your Ruby Configuration Sensible — Get your Ruby project out of ‘ENV Hell’ with anyway_config, a framework for managing configuration. Vladimir Dementyev The End of Heroku Alerts — Rails Autoscale keeps your app healthy. Simple and effective autoscaling for Web, Sidekiq, Delayed Job, and Que. Rails Autoscale sponsor Tomo 1.0: A Friendly CLI for Deploying Rails Apps — There’s a short tutorial for deploying Rails, and the documentation is thorough. Matt Brictson ActiveLdap 6.0: An Object Oriented Interface to LDAP — A very long standing project (16 years!) that has just had an update. LDAP stands for Lightweight Directory Access Protocol and while I don’t hear about it much anymore, it has plenty of established use cases. Sutou Kouhei Elasticsearch Integrations for ActiveModel/Record and Rails Elastic RubyMine 2020.1 Released Natalie Kudanova Full Article
ad Can you build Node add-ons in Rust? Yes. By nodeweekly.com Published On :: Thu, 30 Apr 2020 00:00:00 +0000 #336 — April 30, 2020 Read on the Web Be sure to check out the Tools and Libraries section today as there have been quite a lot of (minor) releases.. from MIDI parsing and JPEG decoding to generating TypeScript types from a Postgres database.. maybe there's something for you ???? Node Weekly Middy 1.0: A Node Middleware Framework for AWS Lambda — Middy’s aim is to make writing serverless functions (hosted on AWS Lambda) easier by providing a familiar middleware abstraction to Node developers. The example in this post shows off the main benefit. Luciano Mammino Rust and Node.js: A Match Made in Heaven? — This is technical stuff but using other languages, such as Rust, for building add-ons for Node is an interesting area. Anshul Goyal Faster CI/CD for All Your Software Projects Using Buildkite — See how Shopify scaled from 300 to 1800 engineers while keeping their build times under 5 minutes. Buildkite sponsor Editly: Slick, Declarative Command Line Video Editing — I’ve long wondered why there isn’t a good way to “code” video editing at the command line other than wrangling with arcane ffmpeg options. Well.. this uses ffmpeg, but it handles a lot of the wrangling for you. Mikael Finstad Node v14.1.0 (Current) Released — Last week we featured the release of Node 14.0 and 14.1 is already with us. Principally bug fixes, plus an update to the OpenSSL dependency. Bethany Nicolle Griggs ???? Jobs Backend Developer (Skien, Norway) — We are looking for a full-stack dev with a solid track record to help us adapt to tomorrow's security requirements. OKAY Find a Job Through Vettery — Vettery specializes in tech roles and is completely free for job seekers. Create a profile to get started. Vettery ℹ️ If you're interested in running a job listing in this newsletter, there's more info here. ???? Articles & Tutorials Four Tools for Web Scraping in Node — A walk through of a few different libraries (for scraping and parsing data directly from websites) to see how they work and how they compare to each other. Sam Agnew Six Platforms for Hosting a Node App in 2020 — Of course, you can run a Node app pretty much anywhere there’s a server, but some platforms make it easier than others. These all have free tiers too. Glitch, Now.sh (now Vercel) and Heroku are particular favorites of ours at Cooperpress. Amit Bendor Getting Started with NuxtJS — Learn how to create Vue.js-powered server-side rendered apps with NuxtJS including configuring an app and deploying it on Heroku. Timi Omoyeni The Node.js Security Handbook — Improve the security of your Node.js app with the Node.js security handbook made for developers. Sqreen sponsor A Collection of Challenging TypeScript Exercises — “The goal: Let everyone play with many different TypeScript features and get an overview of TypeScript capabilities and principles.” Marat Dulin Exploring Node.js Internals — It’s reasonably elementary but Aleem Isiaka explains how the internals of Node.js interact with one another on a simple task such as creating a file. Smashing Magazine Creating CommonJS-Based npm Packages via TypeScript Dr. Axel Rauschmayer Turning Vue Components Into Reusable npm Packages — Outlines how you can reuse Vue components across your projects by automating your process to bundle, test, document, and publish your components. Sjoerd de voorhoede ???? Tools, Resources and Libraries Node v12.16.3 (LTS) Released — OpenSSL gets an update, and warnings are no longer printed for modules that use conditional exports or package name self resolution. Node.js pm2 4.4 Released: The Node Production Process Manager — A very mature and widely used process manager that includes a load balancer for keeping Node apps alive forever and to reload them without downtime. v4.4 improves the Node 14 compatibility. Alexandre Strzelewicz jpeg-js: A Pure JavaScript JPEG Encoder and Decoder — It admits it’s far slower than native alternatives but if you need a pure JavaScript JPEG encoder/decoder, this is where to go. Eugene Ware AppSignal Now Supports Node.js: Roadmap for the Coming Weeks AppSignal sponsor node-stream-zip: For Fast Reading of ZIP Archives — Reads chunk by chunk rather than all in one go so it’s memory friendly. Dimitri Witkowski JZZ: A MIDI Library for Node and Web Browsers — Send, receive and play MIDI messages from both Node and the browser on Linux, macOS and Windows. Sema Vegemite: A Pub/Sub State Manager — Inspired by Immer and Redux, full TypeScript support, and sized at only 623 bytes, which includes one dependency. Luke Edwards Kanel: Generate TypeScript Types from Postgres Kristian Dupont web-worker: Consistent Web Workers for the Browser and Node — In Node it works as a web-compatible Worker implementation atop worker_threads. In the browser it’s an alias for Worker. Jason Miller node-csv-parse: A CSV Parser Implementing the stream.Transform API Adaltas Full Article
ad Caddy 2.0 released, plus a little black hat Go By golangweekly.com Published On :: Fri, 8 May 2020 00:00:00 +0000 #311 — May 8, 2020 Unsubscribe : Read on the Web Golang Weekly Caddy 2: The Go-Powered Web Server with Automatic TLS — After over a year of redesign, Caddy 2 has a new architecture to v1. If you want a new HTTPS server that ‘just works’, Caddy is well worth a look IMO. Its lead creator, Matt Holt, answered lots of questions on this Hacker News thread about the release. Caddy Web Server Rek: An Easy HTTP Client for Go — The inspiration here is from Python’s very well known and highly esteemed Requests library.. so the Pythonistas among you might like this! Luc Perkins Modern Redis Features with RedisGreen — Online upgrades to the latest Redis 6.0 features, memory mapping, key size tracking, and more. RedisGreen sponsor Life Without Line Numbers — There’s a lot of buzz around reducing the size of Go binaries (1.15 does so by ~6%) and here’s another tactic: reduce the precision of the position information. The gain is 2-6%, depending on how far you take it. Josh Bleecher Snyder ▶ Discussing Black Hat Go — “Are you excited to learn about hacking and that?” Got an hour? Roberto Clapis, a security engineer at Google, and Tom Steele, a co-author of Black Hat Go, join the Go Time team to discuss security, penetration testing, and more. Go Time Podcast ???? Jobs Enjoy Building Scalable Infrastructure in Go? Stream Is Hiring — Like coding in Go? We do too. Stream is hiring in Amsterdam. Apply now. Stream Find a Job Through Vettery — Vettery specializes in tech roles and is completely free for job seekers. Create a profile to get started. Vettery ???? Articles & Tutorials Mid-Stack Inlining in Go — Inlining a function can lead to serious performance gains, so why not do it for everything? Well, there are always trade-offs. Dave Cheney Asynchronous Preemption in Go 1.14 — How the new preemption implementation works, including the use of a lesser-known signal (SIGURG). Vincent Blanchon Why Are My Go Executable Files Larger Than My Source Code? — We built a data visualization tool to find out. Here’s how we built it, and what we learned. Cockroach Labs sponsor Accelerating Aggregate MD5 Hashing Up to 800% with AVX512 — The culmination of this work is md5-simd, a Go library that performs such rapid MD5 hashing (when running concurrently). The use cases here are quite restricted but you may appreciate seeing how such things are implemented for any high end SIMD wrangling you need to do one day. MinIO Blog ▶ A Beginner's Guide to gRPC in Go — There’s a written version of the tutorial if you dislike videos. TutorialEdge Four Steps to Daemonize Your Go Programs — Daemons are programs that run as non-interactive background processes (e.g. background job processors, Web servers, database systems). Ilija Eftimov Go as a Scripting Language? — There’s plenty of folks that use Go as a scripting language, but there are challenges around REPLs and shebang support. Some of these challenges are being addressed today. Segio De Simone ???? Code & Tools UUID 3.3: A Pure Go Implementation of UUIDs — A pure Go implementation of Universally Unique Identifiers (UUID) as defined in RFC-4122 covering versions 1 through 5. The Go Commune Reed-Solomon: A Reed-Solomon Erasure Coding Library — A Go port of a Java library built by Backblaze that does Reed Solomon erasure coding (a way to send or store data in a larger form that’s resilient to data loss). Boasts operation of over 1GB/sec per core. Klaus Post ko 0.5: Build and Deploy Go Apps on Kubernetes — ko’s objective is to “to make containers invisible infrastructure.” It’s been rapidly maturing in the past few months too. Google Monitor the Health and Performance of Your Golang Apps with Datadog APM. Free Trial Datadog APM sponsor Tengo 2.2: A Fast Embeddable Script Language for Go — Quite a mature project now and worth a look if you need to add some dynamic scripting to your code. Daniel Kang UniPDF 3.7: A Library for Creating and Processing PDF Files — Pure Go, which is neat, but note it’s dual licensed: AGPL for open source, commercial for closed source projects. UniDoc Mockery: A Mock Code Generator for Go Interfaces Vektra Dynamo: An Expressive DynamoDB Library Greg Greg ???? Two Fun Side Projects gasm: An Experimental WASM Virtual Machine for Gophers — “I did this just for fun and for learning WASM specification.” Nonetheless, it works with basic examples. Takeshi Yoneda thdwb: A Homebrew Web Browser and Rendering Engine — Another experimental, fun learning project. You won’t be using it for your day to day browsing any time soon but projects like this keep the imagination fueled up. Danilo Fragoso It'd be quite cool to link to more fun Go experiments and side projects actually, so let us know if you work on any. Bonus points for games, musical, or Web experiences ???? Full Article
ad Coronavirus: Here's how you can stop bad information from going viral By www.bbc.co.uk Published On :: Mon, 20 Apr 2020 10:39:28 GMT Experts are calling on the public to practise ‘information hygiene’ to help stop the spread of falsehoods online. Full Article
ad Coronavirus: The grandad who became a TikTok star without realising it By www.bbc.co.uk Published On :: Sun, 12 Apr 2020 23:42:47 GMT Joe Allington was persuaded to dance on TikTok for the first time in January. Now he's got 1.5 million followers. Full Article
ad Electrosensitivity: 'I didn't believe people had it, then it happened to me' By www.bbc.co.uk Published On :: Fri, 07 Feb 2020 00:13:15 GMT Velma, Emma and Dean believe mobile phone signals, wi-fi and other modern technology makes them ill. Full Article
ad Rob Lawrie, the ex-squaddie, and the girl taken By www.bbc.co.uk Published On :: Mon, 30 Mar 2020 00:13:01 GMT Rob thought he was helping a refugee girl and her father as they struggled to get to the UK. But he found out it was all a lie. Full Article
ad Ramadan and Coronavirus: Breaking my fast on Zoom By www.bbc.co.uk Published On :: Thu, 30 Apr 2020 23:57:07 GMT How fasting in lockdown and isolation has changed Ramadan for young Muslims this year. Full Article
ad Coronavirus: 'I'm being bombarded by gambling ads' By www.bbc.co.uk Published On :: Sat, 02 May 2020 00:41:18 GMT Gambling companies have halted TV and radio ads during lockdown - but not online ads. Full Article
ad Bill Gates: Few countries will get 'A-grade' for coronavirus response By www.bbc.co.uk Published On :: Sun, 12 Apr 2020 05:00:05 GMT The Microsoft billionaire says we find ourselves in uncharted territory with the coronavirus pandemic. Full Article
ad Coronavirus: How a plus-size fashion retailer is adapting By www.bbc.co.uk Published On :: Tue, 21 Apr 2020 22:55:43 GMT Ojoma Idegwu, founder of plus-size fashion label Dear Curves, explains how she is adapting to coronavirus. Full Article
ad Coronavirus: Aer Lingus flight had 'no social distancing' says passenger By www.bbc.co.uk Published On :: Tue, 05 May 2020 14:54:07 GMT Sean Mallon's photos of an Aer Lingus Belfast-Heathrow flight showed passengers sitting close together. Full Article
ad Coronavirus: Bread and cake tips from a self-isolating baker By www.bbc.co.uk Published On :: Fri, 08 May 2020 23:02:33 GMT Ray normally runs his family bakery, Rinkoffs, but is currently staying at home with his wife. Full Article
ad Kashima Antlers 3-2 CD Guadalajara (UAE 2018) By www.fifa.com Published On :: Sat, 15 Dec 2018 16:36:00 GMT Losing finalists at the 2016 edition of the FIFA Club World Cup, Kashima Antlers defeated Mexico's CD Guadalajara to set up a semi-final against the team that beat them in that 2016 final, Real Madrid. Full Article Area=Tournament Section=Competition Kind=Match HL Tournament=FIFA Club World Cup UAE 2018
ad Esperance 1-1 (6-5 pens) CD Guadalajara (UAE 2018) By www.fifa.com Published On :: Tue, 18 Dec 2018 16:42:00 GMT Nine-man Esperance ended their FIFA Club World Cup UAE 2018 campaign on a high after a tense 6-5 penalty shoot-out win against Chivas in the match for fifth place. Full Article Area=Tournament Section=Competition Kind=Match HL Tournament=FIFA Club World Cup UAE 2018
ad Real Madrid 4-1 Al Ain (UAE 2018) By www.fifa.com Published On :: Sat, 22 Dec 2018 19:43:00 GMT Real Madrid capped off another memorable year by claiming a third successive FIFA Club World Cup title, defeating host team Al Ain 4-1 at Abu Dhabi's Zayed Sports City Stadium. Full Article Area=Tournament Section=Competition Kind=Video Tournament=FIFA Club World Cup UAE 2018
ad Real Madrid CF 4-1Al Ain (UAE 2018) By www.fifa.com Published On :: Sat, 21 Dec 2019 11:21:00 GMT Real Madrid CF beat Al Ain in a 4-1 thriller in the FIFA Club World Cup (2018) final. Watch all 5 goals from the final, including Modric's outside the box curler. Full Article Area=Tournament Section=Competition Kind=Video Tournament=FIFA Club World Cup UAE 2018
ad The trophy is pictured ahead of the FIFA U-17 World Cup India 2017 Final By www.fifa.com Published On :: Fri, 27 Oct 2017 16:25:00 GMT KOLKATA, INDIA - OCTOBER 27: The trophy is pictured ahead of the FIFA U-17 World Cup India 2017 Final match between England and Spain at Vivekananda Yuba Bharati Krirangan on October 27, 2017 in Kolkata, India. (Photo by Jan Kruger - FIFA/FIFA via Getty Images) Full Article Area=Tournament Section=Competition Kind=Photo Tournament=FIFA U-17 World Cup India 2017
ad The trophy is pictured ahead of the FIFA U-17 World Cup India 2017 Final By www.fifa.com Published On :: Fri, 27 Oct 2017 16:26:00 GMT KOLKATA, INDIA - OCTOBER 27: The trophy is pictured ahead of the FIFA U-17 World Cup India 2017 Final match between England and Spain at Vivekananda Yuba Bharati Krirangan on October 27, 2017 in Kolkata, India. (Photo by Jan Kruger - FIFA/FIFA via Getty Images) Full Article Area=Tournament Section=Competition Kind=Photo Tournament=FIFA U-17 World Cup India 2017
ad The trophy is pictured ahead of the FIFA U-17 World Cup India 2017 Final By www.fifa.com Published On :: Fri, 27 Oct 2017 16:27:00 GMT KOLKATA, INDIA - OCTOBER 27: The trophy is pictured ahead of the FIFA U-17 World Cup India 2017 Final match between England and Spain at Vivekananda Yuba Bharati Krirangan on October 27, 2017 in Kolkata, India. (Photo by Jan Kruger - FIFA/FIFA via Getty Images) Full Article Area=Tournament Section=Competition Kind=Photo Tournament=FIFA U-17 World Cup India 2017
ad The trophy is pictured ahead of the FIFA U-17 World Cup India 2017 Final By www.fifa.com Published On :: Fri, 27 Oct 2017 16:28:00 GMT KOLKATA, INDIA - OCTOBER 27: The trophy is pictured ahead of the FIFA U-17 World Cup India 2017 Final match between England and Spain at Vivekananda Yuba Bharati Krirangan on October 27, 2017 in Kolkata, India. (Photo by Jan Kruger - FIFA/FIFA via Getty Images) Full Article Area=Tournament Section=Competition Kind=Photo Tournament=FIFA U-17 World Cup India 2017
ad The trophy is pictured ahead of the FIFA U-17 World Cup India 2017 Final By www.fifa.com Published On :: Fri, 27 Oct 2017 16:30:00 GMT KOLKATA, INDIA - OCTOBER 27: The trophy is pictured ahead of the FIFA U-17 World Cup India 2017 Final match between England and Spain at Vivekananda Yuba Bharati Krirangan on October 27, 2017 in Kolkata, India. (Photo by Jan Kruger - FIFA/FIFA via Getty Images) Full Article Area=Tournament Section=Competition Kind=Photo Tournament=FIFA U-17 World Cup India 2017
ad The trophy is pictured ahead of the FIFA U-17 World Cup India 2017 Final By www.fifa.com Published On :: Fri, 27 Oct 2017 16:32:00 GMT KOLKATA, INDIA - OCTOBER 27: The trophy is pictured ahead of the FIFA U-17 World Cup India 2017 Final match between England and Spain at Vivekananda Yuba Bharati Krirangan on October 27, 2017 in Kolkata, India. (Photo by Jan Kruger - FIFA/FIFA via Getty Images) Full Article Area=Tournament Section=Competition Kind=Photo Tournament=FIFA U-17 World Cup India 2017
ad The trophy is pictured ahead of the FIFA U-17 World Cup India 2017 Final By www.fifa.com Published On :: Fri, 27 Oct 2017 16:33:00 GMT KOLKATA, INDIA - OCTOBER 27: The trophy is pictured ahead of the FIFA U-17 World Cup India 2017 Final match between England and Spain at Vivekananda Yuba Bharati Krirangan on October 27, 2017 in Kolkata, India. (Photo by Jan Kruger - FIFA/FIFA via Getty Images) Full Article Area=Tournament Section=Competition Kind=Photo Tournament=FIFA U-17 World Cup India 2017
ad The trophy is pictured ahead of the FIFA U-17 World Cup India 2017 Final By www.fifa.com Published On :: Fri, 27 Oct 2017 16:34:00 GMT KOLKATA, INDIA - OCTOBER 27: The trophy is pictured ahead of the FIFA U-17 World Cup India 2017 Final match between England and Spain at Vivekananda Yuba Bharati Krirangan on October 27, 2017 in Kolkata, India. (Photo by Jan Kruger - FIFA/FIFA via Getty Images) Full Article Area=Tournament Section=Competition Kind=Photo Tournament=FIFA U-17 World Cup India 2017
ad The trophy is pictured ahead of the FIFA U-17 World Cup India 2017 Final By www.fifa.com Published On :: Fri, 27 Oct 2017 16:35:00 GMT KOLKATA, INDIA - OCTOBER 27: The trophy is pictured ahead of the FIFA U-17 World Cup India 2017 Final match between England and Spain at Vivekananda Yuba Bharati Krirangan on October 27, 2017 in Kolkata, India. (Photo by Jan Kruger - FIFA/FIFA via Getty Images) Full Article Area=Tournament Section=Competition Kind=Photo Tournament=FIFA U-17 World Cup India 2017
ad A general view of the stadium during the FIFA U-17 World Cup India 2017 final By www.fifa.com Published On :: Sat, 28 Oct 2017 09:03:00 GMT KOLKATA, INDIA - OCTOBER 27: A general view of the stadium during the FIFA U-17 World Cup India 2017 tournament at Vivekananda Yuba Bharati Krirangan on October 27, 2017 in Kolkata, India. (Photo by Tom Dulat - FIFA/FIFA via Getty Images) Full Article Area=Tournament Section=Competition Kind=Photo Tournament=FIFA U-17 World Cup India 2017
ad A general view of the stadium during the FIFA U-17 World Cup India 2017 final By www.fifa.com Published On :: Sat, 28 Oct 2017 09:04:00 GMT KOLKATA, INDIA - OCTOBER 27: A general view of the stadium during the FIFA U-17 World Cup India 2017 tournament at Vivekananda Yuba Bharati Krirangan on October 27, 2017 in Kolkata, India. (Photo by Tom Dulat - FIFA/FIFA via Getty Images) Full Article Area=Tournament Section=Competition Kind=Photo Tournament=FIFA U-17 World Cup India 2017
ad A general view of the stadium during the FIFA U-17 World Cup India 2017 final By www.fifa.com Published On :: Sat, 28 Oct 2017 09:05:00 GMT KOLKATA, INDIA - OCTOBER 27: A general view of the stadium during the FIFA U-17 World Cup India 2017 tournament at Vivekananda Yuba Bharati Krirangan on October 27, 2017 in Kolkata, India. (Photo by Tom Dulat - FIFA/FIFA via Getty Images) Full Article Area=Tournament Section=Competition Kind=Photo Tournament=FIFA U-17 World Cup India 2017
ad Coach of Brazil, Carlos Amadeu arrives at the stadium By www.fifa.com Published On :: Sat, 28 Oct 2017 11:46:00 GMT KOLKATA, INDIA - OCTOBER 28: Coach of Brazil, Carlos Amadeu arrives at the stadium prior to the FIFA U-17 World Cup India 2017 3rd Place match between Brazil and Mali at Vivekananda Yuba Bharati Krirangan on October 28, 2017 in Kolkata, India. (Photo by Tom Dulat - FIFA/FIFA via Getty Images) Full Article Area=Tournament Section=Competition Kind=Photo Tournament=FIFA U-17 World Cup India 2017
ad Fans arrive ahead of the FIFA U-17 World Cup India 2017 Final match By www.fifa.com Published On :: Sat, 28 Oct 2017 12:23:00 GMT KOLKATA, INDIA - OCTOBER 28: Fans arrive ahead of the FIFA U-17 World Cup India 2017 Final match between England and Spain at Vivekananda Yuba Bharati Krirangan on October 28, 2017 in Kolkata, India. (Photo by Jan Kruger - FIFA/FIFA via Getty Images) Full Article Area=Tournament Section=Competition Kind=Photo Tournament=FIFA U-17 World Cup India 2017
ad Fans arrive ahead of the FIFA U-17 World Cup India 2017 Final match By www.fifa.com Published On :: Sat, 28 Oct 2017 12:23:00 GMT KOLKATA, INDIA - OCTOBER 28: Fans arrive ahead of the FIFA U-17 World Cup India 2017 Final match between England and Spain at Vivekananda Yuba Bharati Krirangan on October 28, 2017 in Kolkata, India. (Photo by Jan Kruger - FIFA/FIFA via Getty Images) Full Article Area=Tournament Section=Competition Kind=Photo Tournament=FIFA U-17 World Cup India 2017
ad Fans arrive ahead of the FIFA U-17 World Cup India 2017 Final match By www.fifa.com Published On :: Sat, 28 Oct 2017 12:29:00 GMT KOLKATA, INDIA - OCTOBER 28: Fans arrive ahead of the FIFA U-17 World Cup India 2017 Final match between England and Spain at Vivekananda Yuba Bharati Krirangan on October 28, 2017 in Kolkata, India. (Photo by Jan Kruger - FIFA/FIFA via Getty Images) Full Article Area=Tournament Section=Competition Kind=Photo Tournament=FIFA U-17 World Cup India 2017
ad Coach of Brazil, Carlos Amadeu arrives at the stadium By www.fifa.com Published On :: Sat, 28 Oct 2017 12:42:00 GMT KOLKATA, INDIA - OCTOBER 28: (EDITOR'S NOTE: This image has been processed using digital filters). Coach of Brazil, Carlos Amadeu arrives at the stadium prior to the FIFA U-17 World Cup India 2017 3rd Place match between Brazil and Mali at Vivekananda Yuba Bharati Krirangan on October 28, 2017 in Kolkata, India. (Photo by Tom Dulat - FIFA/FIFA via Getty Images) Full Article Area=Tournament Section=Competition Kind=Photo Tournament=FIFA U-17 World Cup India 2017
ad Coach of Mali, Jonas Komla arrives at the stadium By www.fifa.com Published On :: Sat, 28 Oct 2017 12:43:00 GMT KOLKATA, INDIA - OCTOBER 28: (EDITOR'S NOTE: This image has been processed using digital filters). Coach of Mali, Jonas Komla arrives at the stadium prior to the FIFA U-17 World Cup India 2017 3rd Place match between Brazil and Mali at Vivekananda Yuba Bharati Krirangan on October 28, 2017 in Kolkata, India. (Photo by Tom Dulat - FIFA/FIFA via Getty Images) Full Article Area=Tournament Section=Competition Kind=Photo Tournament=FIFA U-17 World Cup India 2017
ad Coach of Mali, Jonas Komla arrives at the stadium By www.fifa.com Published On :: Sat, 28 Oct 2017 12:44:00 GMT KOLKATA, INDIA - OCTOBER 28: Coach of Mali, Jonas Komla arrives at the stadium prior to the FIFA U-17 World Cup India 2017 3rd Place match between Brazil and Mali at Vivekananda Yuba Bharati Krirangan on October 28, 2017 in Kolkata, India. (Photo by Tom Dulat - FIFA/FIFA via Getty Images) Full Article Area=Tournament Section=Competition Kind=Photo Tournament=FIFA U-17 World Cup India 2017
ad Paulinho of Brazil battles for the ball with Hadji Drame of Mali By www.fifa.com Published On :: Sat, 28 Oct 2017 13:09:00 GMT KOLKATA, INDIA - OCTOBER 28: Paulinho of Brazil battles for the ball with Hadji Drame of Mali during the FIFA U-17 World Cup India 2017 3rd Place match between Brazil and Mali at Vivekananda Yuba Bharati Krirangan on October 28, 2017 in Kolkata, India. (Photo by Buda Mendes - FIFA/FIFA via Getty Images) Full Article Area=Tournament Section=Competition Kind=Photo Tournament=FIFA U-17 World Cup India 2017
ad Lincoln of Brazil battles for the ball with Boubacar Haidara and Mamadi Fofana of Mali By www.fifa.com Published On :: Sat, 28 Oct 2017 13:26:00 GMT KOLKATA, INDIA - OCTOBER 28: Lincoln (R) of Brazil battles for the ball with Boubacar Haidara and Mamadi Fofana of Mali during the FIFA U-17 World Cup India 2017 3rd Place match between Brazil and Mali at Vivekananda Yuba Bharati Krirangan on October 28, 2017 in Kolkata, India. (Photo by Buda Mendes - FIFA/FIFA via Getty Images) Full Article Area=Tournament Section=Competition Kind=Photo Tournament=FIFA U-17 World Cup India 2017
ad Lincoln of Brazil battles for the ball with Boubacar Haidara and Mamadi Fofana of Mali By www.fifa.com Published On :: Sat, 28 Oct 2017 13:26:00 GMT KOLKATA, INDIA - OCTOBER 28: Lincoln (R) of Brazil battles for the ball with Boubacar Haidara and Mamadi Fofana of Mali during the FIFA U-17 World Cup India 2017 3rd Place match between Brazil and Mali at Vivekananda Yuba Bharati Krirangan on October 28, 2017 in Kolkata, India. (Photo by Buda Mendes - FIFA/FIFA via Getty Images) Full Article Area=Tournament Section=Competition Kind=Photo Tournament=FIFA U-17 World Cup India 2017
ad Head coach Santiago Denia of Spain looks on By www.fifa.com Published On :: Sat, 28 Oct 2017 16:48:00 GMT KOLKATA, INDIA - OCTOBER 28: Head coach Santiago Denia of Spain looks on during the FIFA U-17 World Cup India 2017 Final match between England and Spain at Vivekananda Yuba Bharati Krirangan on October 28, 2017 in Kolkata, India. (Photo by Buda Mendes - FIFA/FIFA via Getty Images) Full Article Area=Tournament Section=Competition Kind=Photo Tournament=FIFA U-17 World Cup India 2017
ad The trophy is pictured ahead of the FIFA U-17 World Cup India 2017 Final By www.fifa.com Published On :: Sat, 28 Oct 2017 16:50:00 GMT KOLKATA, INDIA - OCTOBER 28: The trophy is pictured ahead of the FIFA U-17 World Cup India 2017 Final match between England and Spain at Vivekananda Yuba Bharati Krirangan on October 28, 2017 in Kolkata, India. (Photo by Buda Mendes - FIFA/FIFA via Getty Images) Full Article Area=Tournament Section=Competition Kind=Photo Tournament=FIFA U-17 World Cup India 2017
ad The trophy is pictured ahead of the FIFA U-17 World Cup India 2017 Final match By www.fifa.com Published On :: Sat, 28 Oct 2017 16:55:00 GMT The trophy is pictured ahead of the FIFA U-17 World Cup India 2017 Final match between England and Spain at Vivekananda Yuba Bharati Krirangan on October 28, 2017 in Kolkata, India. (Photo by Buda Mendes - FIFA/FIFA via Getty Images) Full Article Area=Tournament Section=Competition Kind=Photo Tournament=FIFA U-17 World Cup India 2017
ad The trophy is pictured ahead of the FIFA U-17 World Cup India 2017 By www.fifa.com Published On :: Sat, 28 Oct 2017 17:01:00 GMT KOLKATA, INDIA - OCTOBER 28: The trophy is pictured ahead of the FIFA U-17 World Cup India 2017 Final match between England and Spain at Vivekananda Yuba Bharati Krirangan on October 28, 2017 in Kolkata, India. (Photo by Buda Mendes - FIFA/FIFA via Getty Images) Full Article Area=Tournament Section=Competition Kind=Photo Tournament=FIFA U-17 World Cup India 2017
ad The trophy is pictured ahead of the FIFA U-17 World Cup India 2017 Final match By www.fifa.com Published On :: Sat, 28 Oct 2017 17:03:00 GMT The trophy is pictured ahead of the FIFA U-17 World Cup India 2017 Final match between England and Spain at Vivekananda Yuba Bharati Krirangan on October 28, 2017 in Kolkata, India. (Photo by Buda Mendes - FIFA/FIFA via Getty Images) Full Article Area=Tournament Section=Competition Kind=Photo Tournament=FIFA U-17 World Cup India 2017
ad Head coach Steve Cooper of England gives a gift for coach Santiago Denia of Spain By www.fifa.com Published On :: Sat, 28 Oct 2017 17:09:00 GMT KOLKATA, INDIA - OCTOBER 28: Head coach Steve Cooper of England gives a gift for coach Santiago Denia of Spain during the FIFA U-17 World Cup India 2017 Final match between England and Spain at Vivekananda Yuba Bharati Krirangan on October 28, 2017 in Kolkata, India. (Photo by Buda Mendes - FIFA/FIFA via Getty Images) Full Article Area=Tournament Section=Competition Kind=Photo Tournament=FIFA U-17 World Cup India 2017
ad The trophy is pictured ahead of the FIFA U-17 World Cup India 2017 By www.fifa.com Published On :: Sat, 28 Oct 2017 17:15:00 GMT KOLKATA, INDIA - OCTOBER 28: (EDITOR'S NOTE: This image has been processed using digital filters) The trophy is pictured ahead of the FIFA U-17 World Cup India 2017 Final match between England and Spain at Vivekananda Yuba Bharati Krirangan on October 28, 2017 in Kolkata, India. (Photo by Buda Mendes - FIFA/FIFA via Getty Images) Full Article Area=Tournament Section=Competition Kind=Photo Tournament=FIFA U-17 World Cup India 2017
ad Rhian Brewster of England poses with adidas Golden Booth Award By www.fifa.com Published On :: Sat, 28 Oct 2017 19:16:00 GMT KOLKATA, INDIA - OCTOBER 28: Rhian Brewster of England poses with adidas Golden Booth Award during the FIFA U-17 World Cup India 2017 Final match between England and Spain at Vivekananda Yuba Bharati Krirangan on October 28, 2017 in Kolkata, India. (Photo by Tom Dulat - FIFA/FIFA via Getty Images) Full Article Area=Tournament Section=Competition Kind=Photo Tournament=FIFA U-17 World Cup India 2017
ad Gabriel Brazao of Brazil poses with adidas Golden Glove Trophy By www.fifa.com Published On :: Sat, 28 Oct 2017 19:41:00 GMT KOLKATA, INDIA - OCTOBER 28: Gabriel Brazao of Brazil poses with adidas Golden Glove Trophy during the FIFA U-17 World Cup India 2017 Final match between England and Spain at Vivekananda Yuba Bharati Krirangan on October 28, 2017 in Kolkata, India. (Photo by Tom Dulat - FIFA/FIFA via Getty Images) Full Article Area=Tournament Section=Competition Kind=Photo Tournament=FIFA U-17 World Cup India 2017