New codingmarks published in week 52 of 2018


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 dev bookmarks added in week 52 of 2018. Hot topics include:

api

5 Protocols For Event-Driven API Architectures

We define and compare five ways to design event-driven APIs; WebSockets, Webhooks, REST Hooks, Server Sent Events (SSE), and Pub-Sub.


api-design

The GitHub GraphQL API

GitHub announced a public API one month after the site launched. We’ve evolved this platform through three versions, adhering to RFC standards and embracing new design patterns to provide a clear and consistent interface. We’ve often heard that our REST API was an inspiration for other companies; countless tutorials refer to our endpoints. Today, we’re excited to announce our biggest change to the API since we snubbed XML in favor of JSON: we’re making the GitHub API available through GraphQL.


When to Use What: REST, GraphQL, Webhooks, & gRPC

Real world, specific use cases for REST, GraphQL, gRPC, and Webhooks to help API developers make sense of which API design style to use for what situation.


awesome

awesome-nodejs-security

Awesome Node.js Security resources. Contribute to lirantal/awesome-nodejs-security development by creating an account on GitHub.


awesome-lua

A curated list of quality Lua packages and resources. - LewisJEllis/awesome-lua


Awesome Postgres

A curated list of awesome PostgreSQL software, libraries, tools and resources, inspired by awesome-mysql


awesome-microservices

A curated list of Microservice Architecture related principles and technologies. - mfornos/awesome-microservices


awesome-graphql

Awesome list of GraphQL & Relay.


awesome-list

awesome-nodejs-security

Awesome Node.js Security resources. Contribute to lirantal/awesome-nodejs-security development by creating an account on GitHub.


awesome-lua

A curated list of quality Lua packages and resources. - LewisJEllis/awesome-lua


Awesome Postgres

A curated list of awesome PostgreSQL software, libraries, tools and resources, inspired by awesome-mysql


awesome-microservices

A curated list of Microservice Architecture related principles and technologies. - mfornos/awesome-microservices


awesome-graphql

Awesome list of GraphQL & Relay.


zachflower/awesome-open-source-supporters

⭐️ A curated list of companies that offer their services for free to Open Source projects - zachflower/awesome-open-source-supporters


awesome-courses

:books: List of awesome university courses for learning Computer Science! - prakhar1989/awesome-courses


awesome-java

A curated list of awesome frameworks, libraries and software for the Java programming language. - akullpp/awesome-java


awesome-nodejs

:zap: Delightful Node.js packages and resources.


awesome-mysql

A curated list of awesome MySQL software, libraries, tools and resources - shlomi-noach/awesome-mysql


Awesome-macOS

 A curated list of awesome applications, softwares, tools and shiny things for macOS. - iCHAIT/awesome-macOS


Awesome vue.js

🎉 A curated list of awesome things related to Vue.js - vuejs/awesome-vue


Awesome grpc

A curated list of useful resources for gRPC.


blog

2ality – JavaScript and more

2ality is a blog about JavaScript, web development and mobile computing (but other topics are covered, too, occasionally). This blog was started in March 2005. From the author of exploringjs


cli

12 Factor CLI Apps – Jeff Dickey – Medium

  • published on:  2018-10-04
  • tags:   cli

Set of 12 principles for building CLI apps


computer-science

awesome-courses

:books: List of awesome university courses for learning Computer Science! - prakhar1989/awesome-courses


course

awesome-courses

:books: List of awesome university courses for learning Computer Science! - prakhar1989/awesome-courses


distributed-tracing

Dapper, a Large-Scale Distributed Systems Tracing Infrastructure

##Abstract Modern Internet services are often implemented as complex, large-scale distributed systems. These applications are constructed from collections of software modules that may be developed by different teams, perhaps in different programming languages, and could span many thousands of machines across multiple physical facili- ties. Tools that aid in understanding system behavior and reasoning about performance issues are invaluable in such an environment.


OpenZipkin · A distributed tracing system

Zipkin is a distributed tracing system. It helps gather timing data needed to troubleshoot latency problems in microservice architectures. It manages both the collection and lookup of this data. Zipkin’s design is based on the Google Dapper paper.

This project includes a dependency-free library and a spring-boot server. Storage options include in-memory, JDBC (mysql), Cassandra, and Elasticsearch.


event-driven-design

5 Protocols For Event-Driven API Architectures

We define and compare five ways to design event-driven APIs; WebSockets, Webhooks, REST Hooks, Server Sent Events (SSE), and Pub-Sub.


git

How to change the URI (URL) for a remote Git repository? - Stack Overflow

You can

$ git remote set-url origin git://new.url.here

(see git help remote) or you can just edit .git/config and change the URLs there. You’re not in any danger of losing history unless you do something very silly (and if you’re worried, just make a copy of your repo, since your repo is your history.)


go

Meet Twirp! · Twirp

Twirp is a framework for service-to-service communication emphasizing simplicity and minimalism. It generates routing and serialization from API definition files and lets you focus on your application’s logic instead of thinking about folderol like HTTP methods and paths and JSON.


graphql

Lessons from 4 Years of GraphQL - YouTube

  • published on:  2016-11-03
  • tags:   graphql

Lee Byron, GraphQL/Facebook. GraphQL has been in use at Facebook for over four years and evolved a lot before it was open sourced. During that time we learned a lot about what works and why, and derived a series of best practices. Hopefully our best practices and lessons learned are relevant not only to your use of GraphQL, but how you design and build all sorts of software.


Nate Barbettini – API Throwdown: RPC vs REST vs GraphQL, Iterate 2018

Choosing an API design style can be downright daunting. The RPC vs. REST debate has raged for years, and now there’s a new kid on the block: GraphQL. Which is right for your application? I’ll demystify these API styles in clear terms and help you decide how to design your API.


The GitHub GraphQL API

GitHub announced a public API one month after the site launched. We’ve evolved this platform through three versions, adhering to RFC standards and embracing new design patterns to provide a clear and consistent interface. We’ve often heard that our REST API was an inspiration for other companies; countless tutorials refer to our endpoints. Today, we’re excited to announce our biggest change to the API since we snubbed XML in favor of JSON: we’re making the GitHub API available through GraphQL.


When to Use What: REST, GraphQL, Webhooks, & gRPC

Real world, specific use cases for REST, GraphQL, gRPC, and Webhooks to help API developers make sense of which API design style to use for what situation.


grpc

5 Protocols For Event-Driven API Architectures

We define and compare five ways to design event-driven APIs; WebSockets, Webhooks, REST Hooks, Server Sent Events (SSE), and Pub-Sub.


When to Use What: REST, GraphQL, Webhooks, & gRPC

Real world, specific use cases for REST, GraphQL, gRPC, and Webhooks to help API developers make sense of which API design style to use for what situation.


Awesome grpc

A curated list of useful resources for gRPC.


hibernate

Hibernate Logging Guide - Use the right config for dev and prod

How should you configure your Hibernate logging to find performance issues during development? What is the best configuration for production?


Ultimate Guide - Association Mappings with JPA and Hibernate

Explains one-to-one, many-to-one and many-to-many associations with examples.


java

awesome-java

A curated list of awesome frameworks, libraries and software for the Java programming language. - akullpp/awesome-java


Iterate over a Map in Java

Learn different ways of iterating through the entries of a Map in Java.


Ultimate Guide - Association Mappings with JPA and Hibernate

Explains one-to-one, many-to-one and many-to-many associations with examples.


javascript

A personal review of automated testing tools in the JavaScript world

In this post, I will talk about my experiences with test automation using tools that support JavaScript. In the first part of the post, I will talk about tools for test automation of the graphical user interface or GUI. In the second part of the post, I will talk about tools for integration test automation or API testing. In the third part of the post, I will talk about tools for unit testing. And in the last part, I’ll talk about tools for static code analysis.


Reading streams via async iteration in Node.js

Node.js 10 was released on April 24, 2018. This version provides experimental support for asynchronously iterating over readable streams. This blog post explains how that works.


2ality – JavaScript and more

2ality is a blog about JavaScript, web development and mobile computing (but other topics are covered, too, occasionally). This blog was started in March 2005. From the author of exploringjs


jpa

Hibernate Tip: What’s the Difference between JOIN, LEFT JOIN & JOIN FETCH

They are similar but there is an important difference between JOIN, LEFT JOIN and the JPA-specific JOIN FETCH statement.


Ultimate Guide - Association Mappings with JPA and Hibernate

Explains one-to-one, many-to-one and many-to-many associations with examples.


jpql

Hibernate Tip: What’s the Difference between JOIN, LEFT JOIN & JOIN FETCH

They are similar but there is an important difference between JOIN, LEFT JOIN and the JPA-specific JOIN FETCH statement.


json

Online JSON Formatter

Online JSON Formatter and JSON Validator will format JSON data, and helps to validate, convert JSON to XML, JSON to CSV. Save and Share JSON


json-api

JSON:API Home page

A specification for building APIs in JSON


logging

Using Winston, a versatile logging library for Node.js

We explore how to use Winston, a versatile logging library for Node.js, including colorizing console output, logging timestamp entries, and rotating logs.


Hibernate Logging Guide - Use the right config for dev and prod

How should you configure your Hibernate logging to find performance issues during development? What is the best configuration for production?


lua

awesome-lua

A curated list of quality Lua packages and resources. - LewisJEllis/awesome-lua


macos

Postgres.app – the easiest way to get started with PostgreSQL on the Mac

Postgres.app is a full featured PostgreSQL installation packaged as a standard Mac app.


Awesome-macOS

 A curated list of awesome applications, softwares, tools and shiny things for macOS. - iCHAIT/awesome-macOS


microservices

awesome-microservices

A curated list of Microservice Architecture related principles and technologies. - mfornos/awesome-microservices


mysql

awesome-mysql

A curated list of awesome MySQL software, libraries, tools and resources - shlomi-noach/awesome-mysql


nodejs

Nodeenv - Manage multiple NodeJS versions.

Manage multiple NodeJS versions.


Node.js Everywhere with Environment Variables! – Node.js Collection – Medium

  • published on:  2018-10-29
  • tags:   nodejs

This post walks you through creating and using environment variables, leading to a Node.js app you can run anywhere.


Using Winston, a versatile logging library for Node.js

We explore how to use Winston, a versatile logging library for Node.js, including colorizing console output, logging timestamp entries, and rotating logs.


awesome-nodejs-security

Awesome Node.js Security resources. Contribute to lirantal/awesome-nodejs-security development by creating an account on GitHub.


Reading streams via async iteration in Node.js

Node.js 10 was released on April 24, 2018. This version provides experimental support for asynchronously iterating over readable streams. This blog post explains how that works.


awesome-nodejs

:zap: Delightful Node.js packages and resources.


open-source

zachflower/awesome-open-source-supporters

⭐️ A curated list of companies that offer their services for free to Open Source projects - zachflower/awesome-open-source-supporters


osx

Postgres.app – the easiest way to get started with PostgreSQL on the Mac

Postgres.app is a full featured PostgreSQL installation packaged as a standard Mac app.


Awesome-macOS

 A curated list of awesome applications, softwares, tools and shiny things for macOS. - iCHAIT/awesome-macOS


postgresql

Postgres.app – the easiest way to get started with PostgreSQL on the Mac

Postgres.app is a full featured PostgreSQL installation packaged as a standard Mac app.


Awesome Postgres

A curated list of awesome PostgreSQL software, libraries, tools and resources, inspired by awesome-mysql


programming

Things You Should Never Do, Part I – Joel on Software

Netscape 6.0 is finally going into its first public beta. There never was a version 5.0. The last major release, version 4.0, was released almost three years ago. Three years is an awfully long time in the Internet world. During this time, Netscape sat by, helplessly, as their market share plummeted.

It’s a bit smarmy of me to criticize them for waiting so long between releases. They didn’t do it on purpose, now, did they?

Well, yes. They did. They did it by making the single worst strategic mistake that any software company can make: They decided to rewrite the code from scratch.


protocol-buffers

Protocol Buffers

Protocol buffers are a language-neutral, platform-neutral extensible mechanism for serializing structured data.


reactjs

Relay Homepage

A JavaScript framework for building data-driven React applications


relay

Relay Homepage

A JavaScript framework for building data-driven React applications


rest

JSON:API Home page

A specification for building APIs in JSON


5 Protocols For Event-Driven API Architectures

We define and compare five ways to design event-driven APIs; WebSockets, Webhooks, REST Hooks, Server Sent Events (SSE), and Pub-Sub.


Nate Barbettini – API Throwdown: RPC vs REST vs GraphQL, Iterate 2018

Choosing an API design style can be downright daunting. The RPC vs. REST debate has raged for years, and now there’s a new kid on the block: GraphQL. Which is right for your application? I’ll demystify these API styles in clear terms and help you decide how to design your API.


The GitHub GraphQL API

GitHub announced a public API one month after the site launched. We’ve evolved this platform through three versions, adhering to RFC standards and embracing new design patterns to provide a clear and consistent interface. We’ve often heard that our REST API was an inspiration for other companies; countless tutorials refer to our endpoints. Today, we’re excited to announce our biggest change to the API since we snubbed XML in favor of JSON: we’re making the GitHub API available through GraphQL.


When to Use What: REST, GraphQL, Webhooks, & gRPC

Real world, specific use cases for REST, GraphQL, gRPC, and Webhooks to help API developers make sense of which API design style to use for what situation.


rpc

Meet Twirp! · Twirp

Twirp is a framework for service-to-service communication emphasizing simplicity and minimalism. It generates routing and serialization from API definition files and lets you focus on your application’s logic instead of thinking about folderol like HTTP methods and paths and JSON.


Nate Barbettini – API Throwdown: RPC vs REST vs GraphQL, Iterate 2018

Choosing an API design style can be downright daunting. The RPC vs. REST debate has raged for years, and now there’s a new kid on the block: GraphQL. Which is right for your application? I’ll demystify these API styles in clear terms and help you decide how to design your API.


security

awesome-nodejs-security

Awesome Node.js Security resources. Contribute to lirantal/awesome-nodejs-security development by creating an account on GitHub.


social-media

The dos and don’ts of hashtags

How to grow your reach and engagement with hashtags


software-development

Things You Should Never Do, Part I – Joel on Software

Netscape 6.0 is finally going into its first public beta. There never was a version 5.0. The last major release, version 4.0, was released almost three years ago. Three years is an awfully long time in the Internet world. During this time, Netscape sat by, helplessly, as their market share plummeted.

It’s a bit smarmy of me to criticize them for waiting so long between releases. They didn’t do it on purpose, now, did they?

Well, yes. They did. They did it by making the single worst strategic mistake that any software company can make: They decided to rewrite the code from scratch.


sql

Visual Representation of SQL Joins - CodeProject

  • published on:  2009-02-03
  • tags:   sql

I’m a pretty visual person. Things seem to make more sense as a picture. I looked all over the Internet for a good graphical representation of SQL JOINs, but I couldn’t find any to my liking. Some had good diagrams but lacked completeness (they didn’t have all the possible JOINs), and some were just plain terrible. So, I decided to create my own and write an article about it.


testing

A personal review of automated testing tools in the JavaScript world

In this post, I will talk about my experiences with test automation using tools that support JavaScript. In the first part of the post, I will talk about tools for test automation of the graphical user interface or GUI. In the second part of the post, I will talk about tools for integration test automation or API testing. In the third part of the post, I will talk about tools for unit testing. And in the last part, I’ll talk about tools for static code analysis.


tools

Nodeenv - Manage multiple NodeJS versions.

Manage multiple NodeJS versions.


A personal review of automated testing tools in the JavaScript world

In this post, I will talk about my experiences with test automation using tools that support JavaScript. In the first part of the post, I will talk about tools for test automation of the graphical user interface or GUI. In the second part of the post, I will talk about tools for integration test automation or API testing. In the third part of the post, I will talk about tools for unit testing. And in the last part, I’ll talk about tools for static code analysis.


Online JSON Formatter

Online JSON Formatter and JSON Validator will format JSON data, and helps to validate, convert JSON to XML, JSON to CSV. Save and Share JSON


twirp

Meet Twirp! · Twirp

Twirp is a framework for service-to-service communication emphasizing simplicity and minimalism. It generates routing and serialization from API definition files and lets you focus on your application’s logic instead of thinking about folderol like HTTP methods and paths and JSON.


vuejs

Awesome vue.js

🎉 A curated list of awesome things related to Vue.js - vuejs/awesome-vue


webhooks

What’s a Webhook?

  • published on:  2014-06-24
  • tags:   webhooks

Read about what a webhook is, how it can be used with your apps, and how to get started using webhook APIs.


When to Use What: REST, GraphQL, Webhooks, & gRPC

Real world, specific use cases for REST, GraphQL, gRPC, and Webhooks to help API developers make sense of which API design style to use for what situation.


websocket

5 Protocols For Event-Driven API Architectures

We define and compare five ways to design event-driven APIs; WebSockets, Webhooks, REST Hooks, Server Sent Events (SSE), and Pub-Sub.


winston

Using Winston, a versatile logging library for Node.js

We explore how to use Winston, a versatile logging library for Node.js, including colorizing console output, logging timestamp entries, and rotating logs.


xml

Online JSON Formatter

Online JSON Formatter and JSON Validator will format JSON data, and helps to validate, convert JSON to XML, JSON to CSV. Save and Share JSON


zipkin

OpenZipkin · A distributed tracing system

Zipkin is a distributed tracing system. It helps gather timing data needed to troubleshoot latency problems in microservice architectures. It manages both the collection and lookup of this data. Zipkin’s design is based on the Google Dapper paper.

This project includes a dependency-free library and a spring-boot server. Storage options include in-memory, JDBC (mysql), Cassandra, and Elasticsearch.


Adrian Matei

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

How to embed a youtube video in an angular material dialog

A simple solution to embed a youtube video in an angular material dialog, as currently used on bookmarks.dev Continue reading