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 ]

Building a large-scale design system for government

Categories

Tags software-architecture programming devops

Maya Benari long article describing design thoughts behind architecture for federal websites. Team unified a complex system with numerous rules to serve users from all corners of the country.

They focused on main pain point with nearly 30,000 U.S federal websites - inconsistent user experiences across government websites. Could they create a shared set of tools to provide consistent, effective, and easy-to-use government websites?

Author then describes how they went about:

  • Selecting the team
  • Building the system and bringing consistency across interactions
  • Interface inventory and surfacing common colors and component styles
  • Process od mood boarding
  • Typography

We especially liked part about how they chose fonts that were free and open source to make it easy for government designers to use without additional burdens around licensing. (Often requirement with government financed projects)

Very interesting and in depth article with treasure of information. If you need redesign large systems this is definitely article worth of reading.

[Read More]

LinkedIn Tips for Highly Effective Code Review

Categories

Tags agile programming

Szczepan Faber blog post about LinkedIn code review process. LinkedIn recently passed the milestone of having conducted one million code reviews. The head of the social networking service’s tooling shared a few learned lessons along the way.

Good code reviews with meaningful, useful comments can really help with leveling up an entire engineering organization. One of the biggest benefits of implementing company-wide code reviews has been increased standardization in LinkedIn development workflow.

Article then describes in details some interesting code review points:

  • Do I Understand the “Why”?
  • Am I Giving Positive Feedback?
  • Is My Code Review Comment Explained Well?
  • Am I Too Pedantic in My Review?

And much more… Excellent read!

[Read More]

Getting Started with Moon.js

Categories

Tags javascript nodejs

Alan Morel extensive tutorial in which, he will be creating a simple single-page application with basic routing using the new and young Moon.js library. In one of the routes, there will be a basic calculator that takes advantage of Moon’s computed properties feature to do addition of two numbers. The user is able to change the values using a number input tags.

Tutorial provides with everything you will need for building an app, incl:

  • How to install Nodejs and npm
  • How to install http server
  • How to utilise routing
  • Support for components
  • And computed properties

Moon.js is still a fairly new library, but that’s no reason not to go further with it. Good read.

[Read More]

ES6 Promises: Patterns and Anti-Patterns

Categories

Tags javascript nodejs

Bobby Brennan post about hot topic - Promises in ECMAScript 6 and specifically he writtes about Patterns and Anti-Patterns. Node.js has adopted the latest and greatest JavaScript features, and since v4 has supported Promises. But while Promises make code more concise and readable, they can be a bit daunting to those who are only familiar with callbacks.

Article then deals with Patterns and Best Practices, e.g.:

  • Using Promises
  • Promisifying callbacks
  • Promisifying values
  • Running in parallel
  • Running in series
  • Racing
  • Catching errors and more …

Excellent read. Follow to discover Anti-patterns plus all the demo code.

[Read More]

Creating a Fingerprint Lockscreen with TouchID in Ionic

Categories

Tags app-development android ios

Josh Morony blog post on topic of creating Ionic app which will use TouchID feature to verify a user.

If you own an iOS device then you will have likely come across the TouchID feature at some point – it allows you to easily unlock your phone with your fingerprint rather than a passcode. This tutorial will teach how to create Ionic app using this feature.

The TouchID authentication can also be passed by using the passcode for the device. Tutorial then describes what you will need to create app with useful links to other resources if you need to grasp basic Ionic concepts first.

Apart from obvious bits - e.g. how to generate Ionic app and how to create the verification lock screen - you will get loads of example code with explanation. Excellent read.

[Read More]

How we built Twitter Lite

Categories

Tags javascript nodejs app-development

Nicolas Gallagher short blog post describing Twitter team journey to successful build of Twitter Lite - new Progressive Web App powering fast and responsive mobile.twitter.com.

Twitter Lite is a client-side JavaScript application and a small, simple Node.js server. Once loaded in the browser, the app requests data directly from the Twitter API. The client-side JavaScript application is developed, built, and tested with many open source libraries including React, Redux, Normalizr, Globalize, Babel, Webpack, Jest, WebdriverIO, and Yarn.

Nicolas gives quick overview of:

  • Overall architecture
  • Designing for performance
  • Availability a network resiliency
  • Progressive loading
  • Rendering
  • Data usage

Give the blog a go if you want to learn more about real life Progressive Web App development.

[Read More]

Advanced Elasticsearch Methods with Node.js Elasticsearch Client

Categories

Tags search

Kirill Goltsman cool tutorial tutorial, in which he’s going to dive deeper into elasticsearch.js describing more advanced methods and concepts like scrolling, aggregations, and analyzers.

He then goes and provides information about scrolling - e.g. if you need to return a large number of results from a single request. Then, you would probably need a cursor implemented in the Elasticsearch as a Scroll API.

Aggregations are useful whenever you want to build analytic and quantitative information over a set of documents. Metrics aggregations, bucketing aggregations, matrix aggregations and pipeline aggregations are all mentioned.

Good tutorial with example code included. Elasticsearch.js is a very powerful tool that provides one-to-one mapping with Elasticsearch REST API which means it covers the vast majority of methods used in the native Elasticsearch.

[Read More]

Getting Started With Serverless PHP

Categories

Tags php serverless ibm

Rob Alen short article in which he takes a look at how to build a simple serverless PHP function. He is interested in Apache OpenWhisk and this article focuses on PHP runtime with IBM Bluemix.

OpenWhisk is a serverless environment, you can run it yourself - but most users do not run their own copy and instead use a commercial provider (e.g. IBM’s Bluemix). IBM has added support for PHP to the Bluemix “IBM Cloud Functions” platform, so now we can use PHP to develop serverless applications and deploy them into the wild!

Author then quickly describes how to set up account with Bluemix and how to install wsk (CLI tool). He then provide examples how to write functions (actions) for PHP. The runtime uses PHP version 7.1 - so we get all the new PHP features.

Any OpenWhisk action can be configured as a “Web Action” which provides a public URL without having to worry about configuring API Gateways and what not. In article you also find how to use parameters and metadata. Good read and great news for fans of PHP serverless.

[Read More]

5 things about programming I learned with Go

Categories

Tags programming golang

Michał Konarski interesting and engaging post about his journey with golang programming language. Author explains why even if you do not plan to use it in the long run, Go is worth the effort.

Author likes the fact that there is an ongoing discussion whether Go is or is not an object-oriented language and that it is possible to have both dynamic-like syntax and static safety. Sometimes inheritance seems like a perfect answer for increasing demands, but with larger projects it can become overwhelming and maintenance becomes hard. With Go you can avoid inheritance and prefer composition instead.

Channels and goroutines are powerful way to solve problems involving concurrency. Go scheduler is smart enough to automatically utilize all CPU cores. Goroutines are small and lightweight, therefore you can easily create many of them and get advanced parallelism for free.

With Go you do not communicate by sharing memory, share memory by communicating. Instead of using locks to control access to a shared resource, they can simply use channels to pass around its pointer. Author also points out the fact that Go is different, because it doesn’t have the concept of exceptions by design.

Good read with many code examples and explanations.

[Read More]

Local microservices development with Edward

Categories

Tags microservices docker kubernetes

Francesco Renzi neat tutorial exploring simple and easy local development on kubernetes with edward - command line tool for managing microservices. Requires golang 1.6+.

Author was excited about Edward, which claims to be “A tool for managing local microservice instances”. Edward needs an edward.json configuration file, which is composed of three main sections: imports, groups and services.

It requires:

  • Go
  • Docker
  • ICBM
  • Procfiles
  • Other Edward config files

Services are manageable together through the app group, and we can, for instance, restart them at once… Edward will even automatically restart services when source files are changed. Very efficient, see for yourselves.

[Read More]