Welcome to curated list of handpicked free online resources related to IT, cloud, Big Data, programming languages, Devops. Fresh news and community maintained list of links updated daily. Like what you see? [ Join our newsletter ]

Why I'm excited about Cloudflare's automatic platform optimization for WordPress

Categories

Tags cloud web-development performance code-refactoring

Cloudflare released “Automatic Platform Optimization” (APO), a new performance optimization service for WordPress sites. By Brian Li.

With APO, Workers KV distributes your WordPress site’s HTML all around the world without any manual intervention and CDN cache priming.

Author works at a WordPress hosting company and takes you through:

  • Why Static Sites are Faster than WordPress
  • Cloudflare automatic platform optimization for WordPress benchmarks
  • How Cloudflare APO speeds up WordPress
  • How to leverage Cloudflare APO correctly
  • Is automatic platform optimization worth it?

For Cloudflare users on free plans, APO is a $5/month add-on. Nice one!

[Read More]

Exploring site speed optimisations with WebPageTest and Cloudflare Workers

Categories

Tags nodejs web-development performance code-refactoring javascript

One of the common questions often asked by clients is “What difference will the changes you’re recommending make to our site’s speed”? By Andy Davies.

WebPageTest and DevTools can give us clues that we’re heading in the right direction but there’s a gap that neither of them quite fill – a reliable testing environment that allows us to experiment and make changes to the page being tested.

Service Workers are often described as a programmable proxy in the browser – they can intercept and rewrite requests and responses, cache and synthesise responses, and much more. Cloudflare Workers are a similar concept but instead of running in the browser they run on CDN edge nodes.

In addition to intercepting network requests, there’s a HTMLRewriter class that targets DOM nodes using CSS selectors and triggers a handler when there’s a match. The handlers can alter the matched elements, for example changing attributes, or even replacing an elements contents.

The article walks you through:

  • Example usage of service workers explained
  • Example Transforms
  • Testing
  • Gotchas

Even though author has only used the combination WebPageTest and Cloudflare Workers with a few sites, it’s clear that it’s a powerful combination and it’s likely to become a regular part of my client workflow. You will get interesting links for further reading and code examples explaining concepts in the article. Excellent!

[Read More]

Behind the scenes: How do lambda expressions really work in Java?

Categories

Tags jvm java web-development app-development software-architecture

A look into the bytecode to see how Java handles lambdas. What does a lambda expression look like inside Java code and inside the JVM? It is obviously some type of value, and Java permits only two sorts of values: primitive types and object references. By Ben Evans.

Lambdas are obviously not primitive types, so a lambda expression must therefore be some sort of expression that returns an object reference. Programmers who are familiar with inner classes might guess that the lambda is really just syntactic sugar for an anonymous implementation of Runnable.

The article then describes:

  • Call sites – location in the bytecode where a method invocation instruction occurs .
  • Method handles
  • Bootstrapping
  • Decoding the lambda’s bootstrap method
  • The lambda metafactories

This article explores the fine-grained details of exactly how the JVM implements support for lambda expressions. This is one of the more complex platform features you’ll encounter, because it is deep into language implementer territory. Great article!

[Read More]

Building a chat application using SvelteJS and SSE

Categories

Tags nodejs JavaScript web-development servers

If you’ve already developed web applications with ReactJS or VueJS, you’ve probably heard of SvelteJS. In this article, author will explore this new framework to discover its subtleties, and show you how it is not so different from others (on the surface). By Julien Demangeon.

We will take advantage of this experience to use the SSE (Server Sent Event) protocol for data exchanges in the same time. It has been confidential for a long time but it is more and more used.

In the mid-2010s, ReactJS and VueJS changed the game by introducing the concept of “Virtual DOM” and thus reducing the number of mutations on the DOM, which are very slow.

SvelteJS was developed by Rich Harris, who is also the creator of the JavaScript compiler / bundler called RollupJS. The first version of the library was released at the end of 2016. It has been developed to relieve the browser of the unnecessary and expensive processing introduced by the Virtual DOM diffing of recent frameworks.

Thus, SvelteJS has moved this complexity to the compilation stage, partially reducing the weight of JavaScript bundles and speeding up rendering times.

The article then focuses on building chat application, providing all the necessary code together with good explanation. Svelte is really promising, but its ecosystem is lacking when compared to the major JS frameworks. Nice one!

[Read More]

Everything about null in JavaScript

Categories

Tags nodejs javascript programming code-refactoring

JavaScript has 2 kinds of types: primitives (strings, booleans, numbers, symbols) and objects. But there are situations when an object cannot be created. For such cases, JavaScript provides a special value null – which indicates a missing object. By Dmitri Pavlutin.

In this post, you’ll learn everything about null in JavaScript: its meaning, how to detect it, the difference between null and undefined, and why using null extensively creates code maintenance difficulties.

The article is split into:

  • The concept of null
  • Real-world analogy of null
  • How to check for null
  • null is falsy
  • typeof null
  • The trap of null
  • Alternatives to null
  • null vs undefined

Avoid if possible returning null or setting variables to null. This practice leads to the spread of null values and verifications for null. Instead, try to use objects with default properties, or even throw errors. And good to remember: typeof is misleading in case of null: typeof null evaluates to ‘object’. Good read!

[Read More]

EKS vs GKE vs AKS: Evaluating Kubernetes in the cloud

Categories

Tags devops cloud aws containers azure kubernetes gcp

We are now six years past the initial release of Kubernetes, and it continues to be one of the fastest-growing open-source projects to date. By Michael Foster.

The rapid development and adoption of Kubernetes has resulted in many different implementations of the application. The Cloud Native Computing Foundation (CNCF) currently lists over 100 certified Kubernetes distributions or platforms. To ensure some consistency between platforms, the CNCF focuses on three core tenet:

  • Consistency: The ability to interact consistently with any Kubernetes installation.
  • Timely updates: Vendors are required to keep versions updated, at least yearly.
  • Confirmability: Any end-user can verify the conformity using Sonobuoy.

These are the baseline requirements for the CNCF when it comes to Kubernetes, but cloud providers have such rich ecosystems that there are bound to be more significant discrepancies. The authors took a wide-ranging look at the current features and limitations of managed Kubernetes services from the three largest cloud providers.

Plenty of data in neat comparison tables. All data in the tables comes from the official provider online documentation. Great work!

[Read More]

Angular security best practices

Categories

Tags nodejs angular frontend web-development infosec

This time, we dive straight into the modern Angular security best practices. By Liran Tal, Natalia Venditto.

The article centres around this list:

  • The “Angular way” safeguards you from XSS
  • Use innerHTML with caution
  • Never use templates generated by concatenating user input
  • Never use native DOM APIs to interact with HTML elements
  • Avoid template engines on server-side templates
  • Scan your Angular project for components which introduce security vulnerabilities

Angular, much like React and Vue.js, takes on a security-by-default approach in the way it handles string interpolation in the browser. By default, all data is treated as unsafe and untrusted, and hence all of these libraries, and other modern view libraries, follow the best practice of performing output encoding by default for any text in an HTML context.

If you’re looking for anything close to an Angular security scanner check Snyk (for free) out as a way to track your open source dependencies, get notified, and fix them as vulnerabilities get discovered. Good read!

[Read More]

A CD pipeline on GKE with Argocd and Keel

Categories

Tags devops cicd web-development

An article describing how to use argoCD as a tool in your CD pipeline for the GKE clusters. You can use keel alongside argoCD to complement it. By Nico.

Keel is a simple piece of software that runs on the cluster and watches the changes to the registered images, allowing to update them automatically and therefore have the dev and pre production platform up-to-date without the developers having to do any action.

The article then reads about:

  • The development flow
  • Keel
  • ArgoCD

Example code for Helm charts is also provided. You will be able to configure your sources, projects and such either via the web UI or the CLI (because CLI rocks !) and give freedom to our users to handle the deployments by themselves, in a controlled manner. Good read!

[Read More]

5 important agile interview questions

Categories

Tags agile management teams cio

Here are outlined some basic yet relevant questions that you can ask a potential candidate, and gauge whether or not they are going to be a good fit for your department, team, or organization. By theagiletimes.com.

That is not to say that your candidate should answer all of them correctly to be considered the perfect member to add to your team, but they should be within some level of understanding on why these questions are being asked.

  • What does Agile mean to you?
  • What types of Agile processes have you implemented before?
  • What is your idea of an Agile mindset?
  • How often must Agile be practiced during a project?
  • Can Agile be tailored?

Agility is not to be pulled apart and peeled only for certain parts and principles. Interesting read!

[Read More]

Writing AWS Lambda functions with Typescript and Webpack

Categories

Tags nodejs javascript serverless frontend web-development

Whether you use terraform, the terraform cdk or the aws cdk, you still need to compile your source code and make them into lambda deployment packages. By Julian.

A lambda deployment package is a ZIP file that contains the source code for the lambda function. At it’s most basic a deployment package has one file in it. This file will contain a handler. Regardless of which IAC tool you use you will need to define the name of the handler which consists of the filename (minus the file extension) and the handler function inside the file.

In this article we are going to use webpack to compile our lambdas and bundle everything including modules into one compressed file. Folder structure and code for webpack is explained and provided as a gist in this repository. Good read!

[Read More]