Hierarchical data metrics that allows fast read operations on tree like structures.
Based on Left and Right fields that are set during tree traversal. When entered into node value is set to it's Left, when exiting node value is set to it's Right.
name: Build and push to Docker Hub | |
on: | |
push: | |
branches: | |
- main | |
jobs: | |
push_to_docker_hub: | |
runs-on: ubuntu-latest | |
steps: |
Hierarchical data metrics that allows fast read operations on tree like structures.
Based on Left and Right fields that are set during tree traversal. When entered into node value is set to it's Left, when exiting node value is set to it's Right.
--select ARRAY(select distinct unnest(array_agg(category.arr))) | |
select ARRAY(select distinct unnest(array[array[1,2,3], array[4,2,8]])) |
Resolving missing link to libcrypto openssl on OSX from: http://stackoverflow.com/questions/38670295/brew-refusing-to-link-openssl
brew update
brew install openssl
ln -s /usr/local/opt/openssl/lib/libcrypto.1.0.0.dylib /usr/local/lib/
ln -s /usr/local/opt/openssl/lib/libssl.1.0.0.dylib /usr/local/lib/
#!/bin/bash | |
# node-reinstall | |
# credit: http://stackoverflow.com/a/11178106/2083544 | |
## program version | |
VERSION="0.0.13" | |
## path prefix | |
PREFIX="${PREFIX:-/usr/local}" |
const { rxObserver, palette } = require('api/v0.3'); | |
const { merge, timer, Subject, from, empty } = require('rxjs'); | |
const { filter, startWith, bufferToggle, take, flatMap, zip, distinctUntilChanged, share, skip, map, windowToggle } = require('rxjs/operators'); | |
// stream for coloring | |
const palette$ = from(palette); | |
const source$ = timer(0, 10).pipe( | |
take(10), | |
// get color for each item |
If you're developing an application based on React it can be helpful if you don't need to develop all the basic UI components yourself. Here you can find a list with various components, component libraries and complete design systems developed with and for React.
Brands (official design systems by various companies and products)
// Add a 401 response interceptor | |
window.axios.interceptors.response.use(function (response) { | |
return response; | |
}, function (error) { | |
if (401 === error.response.status) { | |
swal({ | |
title: "Session Expired", | |
text: "Your session has expired. Would you like to be redirected to the login page?", | |
type: "warning", | |
showCancelButton: true, |
// based on Алексей Сердюков's answer at Stackoverflow (https://stackoverflow.com/a/50837219/1143392) | |
import { | |
Directive, | |
Input, | |
OnDestroy, | |
OnInit | |
} from '@angular/core'; | |
import { MediaObserver } from '@angular/flex-layout'; | |
import { MatGridList } from '@angular/material'; |