ⓘ This list is not meant to be exhaustive and is not guaranteed to be maintained. See the comments for updates and alternative options.
(Items in bold indicate possible concerns)
Keycloak | WSO2 Identity Server | Gluu | CAS | OpenAM | Shibboleth IdP | |
---|---|---|---|---|---|---|
OpenID Connect/OAuth support | yes | yes | yes | yes | yes | yes |
Multi-factor authentication | yes | yes | yes | yes | yes | yes |
Admin UI | yes | yes | yes | yes | yes | no |
OpenJDK support | yes | yes | partial² | yes |
pragma solidity ^0.4.18; | |
contract QuickSort { | |
function sort(uint[] data) public constant returns(uint[]) { | |
quickSort(data, int(0), int(data.length - 1)); | |
return data; | |
} | |
function quickSort(uint[] memory arr, int left, int right) internal{ |
Thank you everybody, Your comments makes it better
sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
The code here captures some of the patterns I used in the "real estate" demo app discussed in my talk End to End Apps with Polymer from Polymer Summit 2017.
There are many ways to connect Redux to custom elements, and this demonstrates just one pattern. The most important aspects are to try and lazily-load as much of the otherwise global state management logic along with the components that need them (as shown via the lazyReducerEnhancer
and addReducers
calls in the connected components), and to consider the tradeoffs you make in terms of coupling components to the store.
The pattern shown here of creating a stateless component and then a subclass that connects it to the store addresses a potential desire to reuse app-level stateless components between more than one application context, so the subclass provides a degree of decoupling from the concrete store, at the expense of more boilerplate. If app com
// Node 8+ | |
// -------------------------------------------------------------- | |
// No external dependencies | |
const { promisify } = require('util'); | |
const { resolve } = require('path'); | |
const fs = require('fs'); | |
const readdir = promisify(fs.readdir); | |
const stat = promisify(fs.stat); |
#!/usr/bin/env node | |
console.log('yay gist') |
set-option -g mouse on | |
bind -n WheelUpPane if-shell -F -t = "#{mouse_any_flag}" "send-keys -M" "if -Ft= '#{pane_in_mode}' 'send-keys -M' 'copy-mode -e'" | |
# Resize panes with arrow keys because alt-arrow keys doesn't work | |
bind-key -r Up resize-pane -U | |
bind-key -r Down resize-pane -D | |
bind-key -r Left resize-pane -L | |
bind-key -r Right resize-pane -R |
# install epel-release on centos | |
yum -y install epel-release | |
yum -y update | |
# install python-pip from epel | |
yum -y install python-pip | |
# Verify using: | |
pip -V |