New codingmarks published in week 50 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 50 of 2018. Hot topics include:

aop

AOP for JS

AOP for JS with before, around, on, afterReturning, afterThrowing, after advice, and pointcuts - cujojs/meld


azure-active-directory

Differences Between Azure Active Directory and Red Hat SSO v7.1

I recently finished implementing OAuth2 and OIDC support for Azure Active Directory in my OAuth2 + OIDC Debugger. Previously, we implemented support for Red Hat SSO v7.1 and 3Scale. This post compares the two product’s implementations of these protocols (OAuth2 and OIDC).


book

Programming, Motherfucker - Do you speak it?

We are a community of motherfucking programmers who have been humiliated by software development methodologies for years.

We are tired of XP, Scrum, Kanban, Waterfall, Software Craftsmanship (aka XP-Lite) and anything else getting in the way of…Programming, Motherfucker.


curl

How do I make curl ignore the proxy? - Stack Overflow

If your curl is at least version 7.19.4, you could just use the –noproxy flag.

$ curl --noproxy "*" http://www.stackoverflow.com

expressjs

Express routing

Routing refers to how an application’s endpoints (URIs) respond to client requests.

  • app routes, express.Router and more

Node Http Status Codes

Constants enumerating the HTTP status codes. All status codes defined in RFC1945 (HTTP/1.0, RFC2616 (HTTP/1.1), and RFC2518 (WebDAV) are supported. - prettymuchbryce/node-http-status


free-programming-books

Programming, Motherfucker - Do you speak it?

We are a community of motherfucking programmers who have been humiliated by software development methodologies for years.

We are tired of XP, Scrum, Kanban, Waterfall, Software Craftsmanship (aka XP-Lite) and anything else getting in the way of…Programming, Motherfucker.


functional-programming

Java Functional Programming

The term Java functional programming refers to functional programming in Java. Functional programming in Java has not been easy historically, and there were even several aspects of functional programming that were not even really possible in Java. In Java 8 Oracle made an effort to make functional programming easier, and this effort did succeed to some extent. In this Java functional programming tutorial I will go through the basics of functional programming, and what parts of it that are possible in Java. Addressed are pure functions, higher order functions, functional interfaces etc.


Finally Functional Programming in Java – Hacker Noon

In many post we have explored Functional Programming concept on different languages being F# and Scala the focus of the conversation. However, because I have been doing some Java on my workplace, exploring these same concept seems interesting and eyes opening because it has been a long time since last time I seriously used Java.


What’s Functional Programming All About?

This post is my own understanding of what is the “core” of “functional programming”, how it differs from “imperative” programming, and what the main benefits of the approach are. As a worked example, we will use a kitchen recipe as a proxy for the more-abstract kind of logic you find in program source code, to try and make concrete what is normally a very abstract topic. That recipe is one of my favorite recipes available online, Michael Chu’s Classic Tiramisu.

The core of Functional Programming is thinking about data-flow rather than control-flow. Although, by virtue of editing plain text, you are forced to order your code in a linear sequence of statements, those statements are a thin skin over what you really care about: the shape and structure of the data-flow graph within your program.


github-pages

Dependency versions

GitHub Pages uses the following dependencies and versions


http

Hypertext Transfer Protocol – HTTP/1.1


immutable

Refactoring to Immutability - Kevlin Henney - YouTube

It has been said that immutability changes everything. But what does that mean in practice? What does it mean for existing code that looks more like the muta…


jakartaee

Jakarta EE Software Homeage

Jakarta Enterprise Edition (EE) is the future of cloud native Java. Jakarta EE open source software drives cloud native innovation, modernizes enterprise applications and protects investments in Java EE.


java

Java Functional Programming

The term Java functional programming refers to functional programming in Java. Functional programming in Java has not been easy historically, and there were even several aspects of functional programming that were not even really possible in Java. In Java 8 Oracle made an effort to make functional programming easier, and this effort did succeed to some extent. In this Java functional programming tutorial I will go through the basics of functional programming, and what parts of it that are possible in Java. Addressed are pure functions, higher order functions, functional interfaces etc.


Finally Functional Programming in Java – Hacker Noon

In many post we have explored Functional Programming concept on different languages being F# and Scala the focus of the conversation. However, because I have been doing some Java on my workplace, exploring these same concept seems interesting and eyes opening because it has been a long time since last time I seriously used Java.


Understanding, Accepting and Leveraging Optional in Java

  • published on:  1999-09-14
  • tags:   java

Optional is a simple yet very significant addition in Java 8. See examples of how it can be useful both on its own, but also in functional code where it really shines.


javaee

Jakarta EE Software Homeage

Jakarta Enterprise Edition (EE) is the future of cloud native Java. Jakarta EE open source software drives cloud native innovation, modernizes enterprise applications and protects investments in Java EE.


javascript

AOP for JS

AOP for JS with before, around, on, afterReturning, afterThrowing, after advice, and pointcuts - cujojs/meld


Node Http Status Codes

Constants enumerating the HTTP status codes. All status codes defined in RFC1945 (HTTP/1.0, RFC2616 (HTTP/1.1), and RFC2518 (WebDAV) are supported. - prettymuchbryce/node-http-status


How to use module.exports in Node.js

Explains with examples how to use nodejs modules and in the end a comparison with JavaScript ES6 modules system


jvm

Eclipse Vert.x homepage

Eclipse Vert.x is a tool-kit for building reactive applications on the JVM.


jwt

Understanding ID Token

From an engineer’s point of view, an abstract explanation like “ID Token is a token issued as a result of user authentication” is not so valuable because engineers cannot imagine how to implement ID Token at all by the explanation. Instead, what engineers want to know first, at least what I should have known before diving into reading OpenID Connect Core 1.0, is what an ID token looks like.


mongodb

mongoose-unique-validator

mongoose-unique-validator is a plugin which adds pre-save validation for unique fields within a Mongoose schema.

This makes error handling much easier, since you will get a Mongoose validation error when you attempt to violate a unique constraint, rather than an E11000 error from MongoDB.


mongoose

mongoose-unique-validator

mongoose-unique-validator is a plugin which adds pre-save validation for unique fields within a Mongoose schema.

This makes error handling much easier, since you will get a Mongoose validation error when you attempt to violate a unique constraint, rather than an E11000 error from MongoDB.


nodejs

AOP for JS

AOP for JS with before, around, on, afterReturning, afterThrowing, after advice, and pointcuts - cujojs/meld


Restify Homepage

A Node.js web service framework optimized for building semantically correct RESTful web services ready for production use at scale. restify optimizes for introspection and perfromance, and is used in some of the largest Node.js deployments on Earth.


Node Http Status Codes

Constants enumerating the HTTP status codes. All status codes defined in RFC1945 (HTTP/1.0, RFC2616 (HTTP/1.1), and RFC2518 (WebDAV) are supported. - prettymuchbryce/node-http-status


How to use module.exports in Node.js

Explains with examples how to use nodejs modules and in the end a comparison with JavaScript ES6 modules system


mongoose-unique-validator

mongoose-unique-validator is a plugin which adds pre-save validation for unique fields within a Mongoose schema.

This makes error handling much easier, since you will get a Mongoose validation error when you attempt to violate a unique constraint, rather than an E11000 error from MongoDB.


npm

npm-check

Check for outdated, incorrect, and unused dependencies. Update npm dependencies


Resolving EACCES permissions errors when installing packages globally

If you see an EACCES error when you try to install a package globally, you can either:

  • Reinstall npm with a node version manager (recommended), or
  • Manually change npm’s default directory

oauth2

Understanding ID Token

From an engineer’s point of view, an abstract explanation like “ID Token is a token issued as a result of user authentication” is not so valuable because engineers cannot imagine how to implement ID Token at all by the explanation. Instead, what engineers want to know first, at least what I should have known before diving into reading OpenID Connect Core 1.0, is what an ID token looks like.


Welcome to OpenID Connect – OpenID Homepage

OpenID Connect 1.0 is a simple identity layer on top of the OAuth 2.0 protocol. It allows Clients to verify the identity of the End-User based on the authentication performed by an Authorization Server, as well as to obtain basic profile information about the End-User in an interoperable and REST-like manner.


User-Managed Access (UMA) Profile of OAuth 2.0

User-Managed Access (UMA) is a profile of OAuth 2.0. UMA defines how resource owners can control protected-resource access by clients operated by arbitrary requesting parties, where the resources reside on any number of resource servers, and where a centralized authorization server governs access based on resource owner policies.


The OAuth 2.0 Authorization Framework: Bearer Token Usage

This specification describes how to use bearer tokens in HTTP requests to access OAuth 2.0 protected resources. Any party in possession of a bearer token (a “bearer”) can use it to get access to the associated resources (without demonstrating possession of a cryptographic key). To prevent misuse, bearer tokens need to be protected from disclosure in storage and in transport.


The OAuth 2.0 Authorization Framework

The OAuth 2.0 authorization framework enables a third-party application to obtain limited access to an HTTP service, either of a behalf of a resource owner by orchestrating an approval interaction between the resource owner and the HTTP service, or by allowing the third-party application to obtain access on its own behalf. This specification replaces and obsoletes the OAuth 1.0 protocol described in RFC 5849.


openid-connect

Understanding ID Token

From an engineer’s point of view, an abstract explanation like “ID Token is a token issued as a result of user authentication” is not so valuable because engineers cannot imagine how to implement ID Token at all by the explanation. Instead, what engineers want to know first, at least what I should have known before diving into reading OpenID Connect Core 1.0, is what an ID token looks like.


Welcome to OpenID Connect – OpenID Homepage

OpenID Connect 1.0 is a simple identity layer on top of the OAuth 2.0 protocol. It allows Clients to verify the identity of the End-User based on the authentication performed by an Authorization Server, as well as to obtain basic profile information about the End-User in an interoperable and REST-like manner.


programming

Programming, Motherfucker - Do you speak it?

We are a community of motherfucking programmers who have been humiliated by software development methodologies for years.

We are tired of XP, Scrum, Kanban, Waterfall, Software Craftsmanship (aka XP-Lite) and anything else getting in the way of…Programming, Motherfucker.


reactive

Eclipse Vert.x homepage

Eclipse Vert.x is a tool-kit for building reactive applications on the JVM.


refactoring

Refactoring to Immutability - Kevlin Henney - YouTube

It has been said that immutability changes everything. But what does that mean in practice? What does it mean for existing code that looks more like the muta…


rest

Restify Homepage

A Node.js web service framework optimized for building semantically correct RESTful web services ready for production use at scale. restify optimizes for introspection and perfromance, and is used in some of the largest Node.js deployments on Earth.


rfc

The OAuth 2.0 Authorization Framework: Bearer Token Usage

This specification describes how to use bearer tokens in HTTP requests to access OAuth 2.0 protected resources. Any party in possession of a bearer token (a “bearer”) can use it to get access to the associated resources (without demonstrating possession of a cryptographic key). To prevent misuse, bearer tokens need to be protected from disclosure in storage and in transport.


Hypertext Transfer Protocol – HTTP/1.1


The OAuth 2.0 Authorization Framework

The OAuth 2.0 authorization framework enables a third-party application to obtain limited access to an HTTP service, either of a behalf of a resource owner by orchestrating an approval interaction between the resource owner and the HTTP service, or by allowing the third-party application to obtain access on its own behalf. This specification replaces and obsoletes the OAuth 1.0 protocol described in RFC 5849.


rh-sso

Differences Between Azure Active Directory and Red Hat SSO v7.1

I recently finished implementing OAuth2 and OIDC support for Azure Active Directory in my OAuth2 + OIDC Debugger. Previously, we implemented support for Red Hat SSO v7.1 and 3Scale. This post compares the two product’s implementations of these protocols (OAuth2 and OIDC).


scala

Finally Functional Programming in Java – Hacker Noon

In many post we have explored Functional Programming concept on different languages being F# and Scala the focus of the conversation. However, because I have been doing some Java on my workplace, exploring these same concept seems interesting and eyes opening because it has been a long time since last time I seriously used Java.


troubleshooting

Resolving EACCES permissions errors when installing packages globally

If you see an EACCES error when you try to install a package globally, you can either:

  • Reinstall npm with a node version manager (recommended), or
  • Manually change npm’s default directory

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