New dev bookmarks in february 2019


Dev-Bookmarks Logo

Save up to a workweek a year by efficiently managing your dev bookmarks, on www.bookmarks.dev. Share your favorites with the community and they will be published on Github - Star


New #DevBookmarks added in february of 2019. Hot topics include:

api

API Infrastructure at Knewton: What’s in an Edge Service?

In this post, we will pull back the covers of our API to explain how we handle user requests. You will first learn how to build an edge service with Netflix Zuul, the framework we chose for its simplicity and flexibility. Then, we’ll dive into the Knewton edge service to show you how it improves API simplicity, flexibility, and performance.

What’s in an Edge Service

An edge service is a component which is exposed to the public internet. It acts as a gateway to all other services, which we will refer to as platform services. For example, consider an Nginx reverse proxy in front of some web resource servers. Here, Nginx acts as an edge service by routing public HTTP requests to the appropriate platform service.


Dredd — HTTP API Testing Framework — Dredd latest documentation

Dredd is a language-agnostic command-line tool for validating API description document against backend implementation of the API.

Dredd reads your API description and step by step validates whether your API implementation replies with responses as they are described in the documentation.


API Blueprint home page

API Blueprint is simple and accessible to everybody involved in the API lifecycle. Its syntax is concise yet expressive. With API Blueprint you can quickly design and prototype APIs to be created or document and test already deployed mission-critical APIs.


architecture

BoundedContext

Bounded Context is a central pattern in Domain-Driven Design. It is the focus of DDD’s strategic design section which is all about dealing with large models and teams. DDD deals with large models by dividing them into different Bounded Contexts and being explicit about their interrelationships.


The Clean Architecture

Over the last several years we’ve seen a whole range of ideas regarding the architecture of systems. These include:

  • Hexagonal Architecture (a.k.a. Ports and Adapters) by Alistair Cockburn and adopted by Steve Freeman, and Nat Pryce in their wonderful book Growing Object Oriented Software
  • Onion Architecture by Jeffrey Palermo
  • Screaming Architecture from a blog of mine last year
  • DCI from James Coplien, and Trygve Reenskaug.
  • BCE by Ivar Jacobson from his book Object Oriented Software Engineering: A Use-Case Driven Approach

Though these architectures all vary somewhat in their details, they are very similar. They all have the same objective, which is the separation of concerns. They all achieve this separation by dividing the software into layers. Each has at least one layer for business rules, and another for interfaces.

The diagram at the top of this article is an attempt at integrating all these architectures into a single actionable idea.


Strategic Domain Driven Design with Context Mapping

Many approaches to object oriented modeling tend not to scale well when the applications grow in size and complexity. Context Mapping technique can be used to manage the complexity in large software development projects. In this article, author Alberto Brandolini discusses the many sides of bounded contexts and how to use them to build a context map to support key decisions in a software project.

Code is the primary form of expression of the model. Although other artifacts might be necessary along the way to capture requirements or portions of the design, the only one that’ll be constantly in sync with the application behavior is code itself.

Trying to set up a partnership without a collaborative environment, is clearly a dead end strategy.


Big Ball of Mud

While much attention has been focused on high-level software architectural patterns, what is, in effect, the de-facto standard software architecture is seldom discussed. This paper examines the most frequently deployed architecture: the BIG BALL OF MUD


arquillian

Arquillian Home Page

An innovative testing platform for the Java Virtual Machine (JVM). Open source. Highly extensible.


aws

AWS re:Invent 2015: DevOps at Amazon: A Look at Our Tools and Processes (DVO202) - YouTube

  • published on:  2015-10-15
  • tags:   aws,   devops

Learn about Amazon’s transition to a service-oriented architecture over a decade ago. We share lessons learned, processes adopted, and the tools built to increase both agility and reliability.


bash

command line - How to list all symbolic links in a directory - Ask Ubuntu

find . -type l -ls

To only process the current directory:

find . -maxdepth 1 -type l -ls

Install Bash git completion

How to install git completion on different platforms…


bootstrap

Bootstrap 4 Cheat Sheet - The ultimate list of Bootstrap classes

Quickly find your Bootstrap classes on this interactive Bootstrap cheat sheet. It includes code samples and live preview of elements.


chai

Modern Node.js: async/await based testing with Mocha & Chai

Mocha is a JavaScript test framework running on Node.js and in the browser. It can run both asynchronous and synchronous code serially. Test cases are created using describe() and it() methods, the former is used to provide a structure by allowing to put various tests cases in logical groups while the latter is where the tests are written.

In order to perform actual tests, there is a need for an assertion library: a runtime mechanism which can be used to verify assumptions made by the program and print a diagnostic message if this assumption is false. Node.js comes with a built-in assert library. Chai is another popular assertion library that provides both the BDD and TDD styles of programming for testing the code. BDD stands for Behavior-driven development while TDD stands for Test-driven development. In a nutshell, Chai provides a should keyword for BDD style which allows to chain assertions and an expect() method for TDD style. Choosing between one and another is a matter of personal preference.


GitHub - domenic/chai-as-promised

Extends Chai with assertions about promises. Contribute to domenic/chai-as-promised development by creating an account on GitHub.


cheatsheet

GitHub - audreyr/favicon-cheat-sheet

Obsessive cheat sheet to favicon sizes/types. Please contribute! (Note: this may be in flux as I learn new things about favicon best practices.) - audreyr/favicon-cheat-sheet


Bootstrap 4 Cheat Sheet - The ultimate list of Bootstrap classes

Quickly find your Bootstrap classes on this interactive Bootstrap cheat sheet. It includes code samples and live preview of elements.


devops

AWS re:Invent 2015: DevOps at Amazon: A Look at Our Tools and Processes (DVO202) - YouTube

  • published on:  2015-10-15
  • tags:   aws,   devops

Learn about Amazon’s transition to a service-oriented architecture over a decade ago. We share lessons learned, processes adopted, and the tools built to increase both agility and reliability.


diagram

mermaid docs

Generation of diagrams and flowcharts from text in a similar manner as markdown.

Ever wanted to simplify documentation and avoid heavy tools like Visio when explaining your code?

This is why mermaid was born, a simple markdown-like script language for generating charts from text via javascript.


dns

MX Lookup Tool - Check your DNS MX Records online - MxToolbox

MxToolbox supports global Internet operations by providing free, fast and accurate network diagnostic and lookup tools. Millions of technology professionals use our tools to help diagnose and resolve a wide range of infrastructure issues.


documentation

mermaid docs

Generation of diagrams and flowcharts from text in a similar manner as markdown.

Ever wanted to simplify documentation and avoid heavy tools like Visio when explaining your code?

This is why mermaid was born, a simple markdown-like script language for generating charts from text via javascript.


Graphviz - Graph Visualization Software

Graphviz is open source graph visualization software. It has several main layout programs. See the gallery for sample layouts. It also has web and interactive graphical interfaces, and auxiliary tools, libraries, and language bindings. We’re not able to put a lot of work into GUI editors but there are quite a few external projects and even commercial tools that incorporate Graphviz. You can find some of these in the Resources section.


Dredd — HTTP API Testing Framework — Dredd latest documentation

Dredd is a language-agnostic command-line tool for validating API description document against backend implementation of the API.

Dredd reads your API description and step by step validates whether your API implementation replies with responses as they are described in the documentation.


API Blueprint home page

API Blueprint is simple and accessible to everybody involved in the API lifecycle. Its syntax is concise yet expressive. With API Blueprint you can quickly design and prototype APIs to be created or document and test already deployed mission-critical APIs.


domain-driven-design

BoundedContext

Bounded Context is a central pattern in Domain-Driven Design. It is the focus of DDD’s strategic design section which is all about dealing with large models and teams. DDD deals with large models by dividing them into different Bounded Contexts and being explicit about their interrelationships.


Strategic Domain Driven Design with Context Mapping

Many approaches to object oriented modeling tend not to scale well when the applications grow in size and complexity. Context Mapping technique can be used to manage the complexity in large software development projects. In this article, author Alberto Brandolini discusses the many sides of bounded contexts and how to use them to build a context map to support key decisions in a software project.

Code is the primary form of expression of the model. Although other artifacts might be necessary along the way to capture requirements or portions of the design, the only one that’ll be constantly in sync with the application behavior is code itself.

Trying to set up a partnership without a collaborative environment, is clearly a dead end strategy.


error-handling

Sentry home page

Open-source error tracking that helps developers monitor and fix crashes in real time. Iterate continuously. Boost workflow efficiency. Improve user experience.

Error Tracking Software — JavaScript, Python, PHP, Ruby, more…


facebook

La Gazzetta dello Sport I News su Calcio, Basket, NBA, F1 e MotoGp

Leggi La Gazzetta dello Sport: news, foto, video e risultati su calcio di serie A, calciomercato, basket, F1, motoGp, ciclismo e tennis.\n BOLD


favicon

X-Icon Editor

X-Icon Editor, create high resolution icons from your own browser


GitHub - audreyr/favicon-cheat-sheet

Obsessive cheat sheet to favicon sizes/types. Please contribute! (Note: this may be in flux as I learn new things about favicon best practices.) - audreyr/favicon-cheat-sheet


ffmpeg

High Quality Gifs with FFMPEG

After getting FFMPEG installed, let’s try it out on a MOV downloaded from my google photos account:

ffmpeg -i MVI_6654.MOV firsttry.gif

We’re calling the ffmpeg program and telling it that MVI_6654.MOV is our input file with the -i flag. the filename at the end defines the conversion and creates the new file


FFmpeg

A complete, cross-platform solution to record, convert and stream audio and video.


free-programming-books

Dive Into HTML5

Dive Into HTML5 elaborates on a hand-picked selection of features from the HTML5 specification and other fine standards.


rx-book RxJS - Javascript library for functional reactive programming.

Reactive Extensions (Rx) is a library for composing asynchronous and event-based programs using observable sequences and LINQ-style query operators.


functional-programming

Simplify your JavaScript – Use .map(), .reduce(), and .filter()

Simplify the way you write your JavaScript by using .map(), .reduce() and .filter() instead of for() and forEach() loops. You’ll end up with clearer, less clunky code!


gif

High Quality Gifs with FFMPEG

After getting FFMPEG installed, let’s try it out on a MOV downloaded from my google photos account:

ffmpeg -i MVI_6654.MOV firsttry.gif

We’re calling the ffmpeg program and telling it that MVI_6654.MOV is our input file with the -i flag. the filename at the end defines the conversion and creates the new file


git

Install Bash git completion

How to install git completion on different platforms…


graph

Graphviz - Graph Visualization Software

Graphviz is open source graph visualization software. It has several main layout programs. See the gallery for sample layouts. It also has web and interactive graphical interfaces, and auxiliary tools, libraries, and language bindings. We’re not able to put a lot of work into GUI editors but there are quite a few external projects and even commercial tools that incorporate Graphviz. You can find some of these in the Resources section.


html

GitHub - audreyr/favicon-cheat-sheet

Obsessive cheat sheet to favicon sizes/types. Please contribute! (Note: this may be in flux as I learn new things about favicon best practices.) - audreyr/favicon-cheat-sheet


Dive Into HTML5

Dive Into HTML5 elaborates on a hand-picked selection of features from the HTML5 specification and other fine standards.


html5

Dive Into HTML5

Dive Into HTML5 elaborates on a hand-picked selection of features from the HTML5 specification and other fine standards.


integration-testing

Arquillian Home Page

An innovative testing platform for the Java Virtual Machine (JVM). Open source. Highly extensible.


java

Reactor vs. RxJava

Was spricht für und gegen Reactor und RxJava?


javascript

Simplify your JavaScript – Use .map(), .reduce(), and .filter()

Simplify the way you write your JavaScript by using .map(), .reduce() and .filter() instead of for() and forEach() loops. You’ll end up with clearer, less clunky code!


mermaid docs

Generation of diagrams and flowcharts from text in a similar manner as markdown.

Ever wanted to simplify documentation and avoid heavy tools like Visio when explaining your code?

This is why mermaid was born, a simple markdown-like script language for generating charts from text via javascript.


junit

JUnit 5 Articles and source code from Baeldung


jvm

Project Reactor Home Page

Reactor is a fourth-generation Reactive library for building non-blocking applications on the JVM based on the Reactive Streams Specification


kotlin

Reactive Spring - Josh Long, Mark Heckler - YouTube

Spring Framework 5.0 is here! One of the most exciting introductions in this release is support for reactive programming, building on the Pivotal Reactor project to support message-driven, elastic, resilient and responsive services. Spring Framework 5 integrates an MVC-like component model adapted to support reactive processing and a new type of web endpoint, functional reactive endpoints. In this talk, we’ll look at the net-new Netty-based web runtime, how existing Servlet code can run on the new world, and how to integrate it with existing Spring-stack technologies.


latex

Pandoc home page

Pandoc is a Haskell library for converting from one markup format to another, and a command-line tool that uses this library.


linux

command line - How to list all symbolic links in a directory - Ask Ubuntu

find . -type l -ls

To only process the current directory:

find . -maxdepth 1 -type l -ls

Install Bash git completion

How to install git completion on different platforms…


markdown

Pandoc home page

Pandoc is a Haskell library for converting from one markup format to another, and a command-line tool that uses this library.


microservices

API Infrastructure at Knewton: What’s in an Edge Service?

In this post, we will pull back the covers of our API to explain how we handle user requests. You will first learn how to build an edge service with Netflix Zuul, the framework we chose for its simplicity and flexibility. Then, we’ll dive into the Knewton edge service to show you how it improves API simplicity, flexibility, and performance.

What’s in an Edge Service

An edge service is a component which is exposed to the public internet. It acts as a gateway to all other services, which we will refer to as platform services. For example, consider an Nginx reverse proxy in front of some web resource servers. Here, Nginx acts as an edge service by routing public HTTP requests to the appropriate platform service.


middleware

Connect home page

Connect is a middleware layer for Node.js.


mocha

Modern Node.js: async/await based testing with Mocha & Chai

Mocha is a JavaScript test framework running on Node.js and in the browser. It can run both asynchronous and synchronous code serially. Test cases are created using describe() and it() methods, the former is used to provide a structure by allowing to put various tests cases in logical groups while the latter is where the tests are written.

In order to perform actual tests, there is a need for an assertion library: a runtime mechanism which can be used to verify assumptions made by the program and print a diagnostic message if this assumption is false. Node.js comes with a built-in assert library. Chai is another popular assertion library that provides both the BDD and TDD styles of programming for testing the code. BDD stands for Behavior-driven development while TDD stands for Test-driven development. In a nutshell, Chai provides a should keyword for BDD style which allows to chain assertions and an expect() method for TDD style. Choosing between one and another is a matter of personal preference.


mongodb

Build Reactive APIs with Spring WebFlux

You’ve heard that reactive programming can help you scale? But how do you implement it? Using Spring WebFlux, of course! This article shows you how.


How do you rename a MongoDB database? - Stack Overflow

//copy the database
> db.copyDatabase("db_to_rename","db_renamed")

//drop the old database
> use db_to_rename
> db.dropDatabase();

monitoring

Sentry home page

Open-source error tracking that helps developers monitor and fix crashes in real time. Iterate continuously. Boost workflow efficiency. Improve user experience.

Error Tracking Software — JavaScript, Python, PHP, Ruby, more…


nginx

Understanding Nginx Server and Location Block Selection Algorithms

  • published on:  2014-11-17
  • tags:   nginx

Nginx is one of the most popular web servers in the world. In this guide, we will discuss how Nginx selects the server and location block that will handle a given client’s request. We will go over the algorithm in place, as well as the directives and


API Infrastructure at Knewton: What’s in an Edge Service?

In this post, we will pull back the covers of our API to explain how we handle user requests. You will first learn how to build an edge service with Netflix Zuul, the framework we chose for its simplicity and flexibility. Then, we’ll dive into the Knewton edge service to show you how it improves API simplicity, flexibility, and performance.

What’s in an Edge Service

An edge service is a component which is exposed to the public internet. It acts as a gateway to all other services, which we will refer to as platform services. For example, consider an Nginx reverse proxy in front of some web resource servers. Here, Nginx acts as an edge service by routing public HTTP requests to the appropriate platform service.


nodejs

Connect home page

Connect is a middleware layer for Node.js.


oidc

Identity, Claims, & Tokens – An OpenID Connect Primer, Part 1 of 3

In this post, we learned some basics about OpenID Connect, its history, and a bit about the various flow types, scopes, and tokens involved.


online-tools

Online SQLite browser

SQLite Browser is a online SQL interpreter for SQLite database. Open and execute queries from a SQLite file. Neither download nor installation.


open-source

Contributor Covenant: A Code of Conduct for Open Source Projects

Open Source has always been a foundation of the Internet, and with the advent of social open source networks this is more true than ever. But free, libre, and open source projects suffer from a startling lack of diversity, with dramatically low representation by women, people of color, and other marginalized populations.

Often it is the unintentional assumptions and actions of project maintainers and participants that make open source projects unwelcoming (or even hostile) to marginalized people: making assumptions about gender or race, reinforcing stereotypes, using sexualized or otherwise inappropriate language, or demonstrating a lack of regard for the safety and well-being of vulnerable people.

One way to begin addressing this problem is to be overt in our openness, welcoming all people to contribute, and pledging in return to value them as whole human beings and to foster an atmosphere of kindness, cooperation, and understanding.

Adopting the Contributor Covenant can be one way to express and codify these values and signal your intention to make your open source community welcoming, diverse, and inclusive.


openid-connect

Build Reactive APIs with Spring WebFlux

You’ve heard that reactive programming can help you scale? But how do you implement it? Using Spring WebFlux, of course! This article shows you how.


Identity, Claims, & Tokens – An OpenID Connect Primer, Part 1 of 3

In this post, we learned some basics about OpenID Connect, its history, and a bit about the various flow types, scopes, and tokens involved.


OpenID Connect Scopes

Understand scopes and claims used with the OpenID Connect (OIDC) protocol.


osx

Install Bash git completion

How to install git completion on different platforms…


pandoc

Pandoc home page

Pandoc is a Haskell library for converting from one markup format to another, and a command-line tool that uses this library.


podcast

Podcasts – React

Podcasts dedicated to React and individual podcast episodes with React discussions.

Podcasts

Episodes


promise

GitHub - domenic/chai-as-promised

Extends Chai with assertions about promises. Contribute to domenic/chai-as-promised development by creating an account on GitHub.


reactive

Reactor vs. RxJava

Was spricht für und gegen Reactor und RxJava?


Reactive Spring - Josh Long, Mark Heckler - YouTube

Spring Framework 5.0 is here! One of the most exciting introductions in this release is support for reactive programming, building on the Pivotal Reactor project to support message-driven, elastic, resilient and responsive services. Spring Framework 5 integrates an MVC-like component model adapted to support reactive processing and a new type of web endpoint, functional reactive endpoints. In this talk, we’ll look at the net-new Netty-based web runtime, how existing Servlet code can run on the new world, and how to integrate it with existing Spring-stack technologies.


Project Reactor Home Page

Reactor is a fourth-generation Reactive library for building non-blocking applications on the JVM based on the Reactive Streams Specification


reactive-programming

Build Reactive APIs with Spring WebFlux

You’ve heard that reactive programming can help you scale? But how do you implement it? Using Spring WebFlux, of course! This article shows you how.


Spring 5 WebClient

Discover Spring 5’s WebClient - a new reactive RestTemplate alternative.


reactjs

Podcasts – React

Podcasts dedicated to React and individual podcast episodes with React discussions.

Podcasts

Episodes


redis

Reactive Spring - Josh Long, Mark Heckler - YouTube

Spring Framework 5.0 is here! One of the most exciting introductions in this release is support for reactive programming, building on the Pivotal Reactor project to support message-driven, elastic, resilient and responsive services. Spring Framework 5 integrates an MVC-like component model adapted to support reactive processing and a new type of web endpoint, functional reactive endpoints. In this talk, we’ll look at the net-new Netty-based web runtime, how existing Servlet code can run on the new world, and how to integrate it with existing Spring-stack technologies.


rest

API Blueprint home page

API Blueprint is simple and accessible to everybody involved in the API lifecycle. Its syntax is concise yet expressive. With API Blueprint you can quickly design and prototype APIs to be created or document and test already deployed mission-critical APIs.


rxjs

rx-book RxJS - Javascript library for functional reactive programming.

Reactive Extensions (Rx) is a library for composing asynchronous and event-based programs using observable sequences and LINQ-style query operators.


shell

command line - How to list all symbolic links in a directory - Ask Ubuntu

find . -type l -ls

To only process the current directory:

find . -maxdepth 1 -type l -ls

spring

Spring 5 WebClient

Discover Spring 5’s WebClient - a new reactive RestTemplate alternative.


Guide to Spring 5 WebFlux

A brief guide to using WebFlux with annotations, in Spring 5.


Project Reactor Home Page

Reactor is a fourth-generation Reactive library for building non-blocking applications on the JVM based on the Reactive Streams Specification


spring-boot

Identity, Claims, & Tokens – An OpenID Connect Primer, Part 1 of 3

In this post, we learned some basics about OpenID Connect, its history, and a bit about the various flow types, scopes, and tokens involved.


spring-cloud-gateway

Reactive Spring - Josh Long, Mark Heckler - YouTube

Spring Framework 5.0 is here! One of the most exciting introductions in this release is support for reactive programming, building on the Pivotal Reactor project to support message-driven, elastic, resilient and responsive services. Spring Framework 5 integrates an MVC-like component model adapted to support reactive processing and a new type of web endpoint, functional reactive endpoints. In this talk, we’ll look at the net-new Netty-based web runtime, how existing Servlet code can run on the new world, and how to integrate it with existing Spring-stack technologies.


spring-security

Build Reactive APIs with Spring WebFlux

You’ve heard that reactive programming can help you scale? But how do you implement it? Using Spring WebFlux, of course! This article shows you how.


spring-webflux

Build Reactive APIs with Spring WebFlux

You’ve heard that reactive programming can help you scale? But how do you implement it? Using Spring WebFlux, of course! This article shows you how.


Spring 5 WebClient

Discover Spring 5’s WebClient - a new reactive RestTemplate alternative.


Guide to Spring 5 WebFlux

A brief guide to using WebFlux with annotations, in Spring 5.


Reactive Spring - Josh Long, Mark Heckler - YouTube

Spring Framework 5.0 is here! One of the most exciting introductions in this release is support for reactive programming, building on the Pivotal Reactor project to support message-driven, elastic, resilient and responsive services. Spring Framework 5 integrates an MVC-like component model adapted to support reactive processing and a new type of web endpoint, functional reactive endpoints. In this talk, we’ll look at the net-new Netty-based web runtime, how existing Servlet code can run on the new world, and how to integrate it with existing Spring-stack technologies.


sql

Online SQLite browser

SQLite Browser is a online SQL interpreter for SQLite database. Open and execute queries from a SQLite file. Neither download nor installation.


testing

Dredd — HTTP API Testing Framework — Dredd latest documentation

Dredd is a language-agnostic command-line tool for validating API description document against backend implementation of the API.

Dredd reads your API description and step by step validates whether your API implementation replies with responses as they are described in the documentation.


Modern Node.js: async/await based testing with Mocha & Chai

Mocha is a JavaScript test framework running on Node.js and in the browser. It can run both asynchronous and synchronous code serially. Test cases are created using describe() and it() methods, the former is used to provide a structure by allowing to put various tests cases in logical groups while the latter is where the tests are written.

In order to perform actual tests, there is a need for an assertion library: a runtime mechanism which can be used to verify assumptions made by the program and print a diagnostic message if this assumption is false. Node.js comes with a built-in assert library. Chai is another popular assertion library that provides both the BDD and TDD styles of programming for testing the code. BDD stands for Behavior-driven development while TDD stands for Test-driven development. In a nutshell, Chai provides a should keyword for BDD style which allows to chain assertions and an expect() method for TDD style. Choosing between one and another is a matter of personal preference.


GitHub - domenic/chai-as-promised

Extends Chai with assertions about promises. Contribute to domenic/chai-as-promised development by creating an account on GitHub.


Arquillian Home Page

An innovative testing platform for the Java Virtual Machine (JVM). Open source. Highly extensible.


tools

MX Lookup Tool - Check your DNS MX Records online - MxToolbox

MxToolbox supports global Internet operations by providing free, fast and accurate network diagnostic and lookup tools. Millions of technology professionals use our tools to help diagnose and resolve a wide range of infrastructure issues.


X-Icon Editor

X-Icon Editor, create high resolution icons from your own browser


video-processing

High Quality Gifs with FFMPEG

After getting FFMPEG installed, let’s try it out on a MOV downloaded from my google photos account:

ffmpeg -i MVI_6654.MOV firsttry.gif

We’re calling the ffmpeg program and telling it that MVI_6654.MOV is our input file with the -i flag. the filename at the end defines the conversion and creates the new file


FFmpeg

A complete, cross-platform solution to record, convert and stream audio and video.


visualization

Graphviz - Graph Visualization Software

Graphviz is open source graph visualization software. It has several main layout programs. See the gallery for sample layouts. It also has web and interactive graphical interfaces, and auxiliary tools, libraries, and language bindings. We’re not able to put a lot of work into GUI editors but there are quite a few external projects and even commercial tools that incorporate Graphviz. You can find some of these in the Resources section.


web

GitHub - audreyr/favicon-cheat-sheet

Obsessive cheat sheet to favicon sizes/types. Please contribute! (Note: this may be in flux as I learn new things about favicon best practices.) - audreyr/favicon-cheat-sheet


websocket

Build Reactive APIs with Spring WebFlux

You’ve heard that reactive programming can help you scale? But how do you implement it? Using Spring WebFlux, of course! This article shows you how.


windows

Install Bash git completion

How to install git completion on different platforms…


zuul

API Infrastructure at Knewton: What’s in an Edge Service?

In this post, we will pull back the covers of our API to explain how we handle user requests. You will first learn how to build an edge service with Netflix Zuul, the framework we chose for its simplicity and flexibility. Then, we’ll dive into the Knewton edge service to show you how it improves API simplicity, flexibility, and performance.

What’s in an Edge Service

An edge service is a component which is exposed to the public internet. It acts as a gateway to all other services, which we will refer to as platform services. For example, consider an Nginx reverse proxy in front of some web resource servers. Here, Nginx acts as an edge service by routing public HTTP requests to the appropriate platform service.


Adrian Matei

Adrian Matei
Life force expressing itself as a coding capable human being

A cleaner multi-stage continuous deployment on Kubernetes of a Create React App with kustomize, helm and skaffold

This blog posts presents a clean way to make a multi-stage deployment of a Create React App on a Kubernetes Cluster. Deployments with kubectl, helm charts, kustomize and skaffold are presented. Continue reading