It has much more bookmarks and better organised
- Active Directory
- AngularJS
- AngularJS 2
- Arquillian
- CSS
- Database Design
- Dev Utilities & Power Tools
- Docker
- DNS
- Facebook Developers
- Functional programming
- Git
- Github
- Github Pages
- Gulp
- IntelliJ
- Ionic
- Html 5
- Java
- JavaScript
- JBoss
- JMeter
- JWT - JSON Web Tokens
- Jekyll
- jQuery
- Keycloak
- Linux/Unix
- Linux Mint/Ubuntu
- Markdown
- Maven
- Mockito
- MyBatis
- MySQL
- Nginx
- [NodeJS] (#nodejs)
- [OAuth2] (#oauth2)
- OpenID Connect
- [OracleDB] (#oracledb)
- Postgresql
- Python
- Regex
- REST
- RxJS
- scp
- Scrum
- Security
- SEO
- Shell scripting
- Spring
- Spring Security
- SVG
- Tomcat
- vi/vim
- Web design
- Wildfly
- Active Directory Terminology and Concepts [ad introduction]
- LDAP Object Classes [ad object classes definition, objectClasses]
AngularJS is a structural framework for dynamic web apps. It lets you use HTML as your template language and lets you extend HTML's syntax to express your application's components clearly and succinctly. Angular's data binding and dependency injection eliminate much of the code you would otherwise have to write. And it all happens within the browser, making it an ideal partner with any server technology.
- The Beginner’s Preemptive Guide To AngularJS 2 Alpha [introduction, tutorial, typescript, gulp]
- Angular2 seed - a seed project for Angular 2 apps. [github]
- The core components of Angular 2 - [angular2 core components]
- http://arquillian.org/ - an Innovative Testing Platform for the JVM.
- Arquillian Transaction Extension: Transaction Rollback for your Java EE Integration Tests
- TESTING KEYCLOAK INTEGRATION WITH ARQUILLIAN [arquillian keycloak]
- CSS Layout - The position Property (basics, w3schools)
- Single Table Inheritance - represents an inheritance hierarchy of classes as a single table that has columns for all the fields of the various classes. [db design table inheritance, design patterns, eaa]
- Class Table Inheritance - represents an inheritance hierarchy of classes with one table for each class. [db design table inheritance, design patterns, eaa]
- Concrete Table Inheritance - represents an inheritance hierarchy of classes with one table per concrete class in the hierarchy. [db design table inheritance, design patterns, eaa]
###Dev Utilities & Power Tools Collection of utilities
- Mac
- iTerm2 - iTerm2 is a replacement for Terminal and the successor to iTerm. It works on Macs with OS 10.5 (Leopard) or newer. iTerm2 brings the terminal into the modern age with features you never knew you always wanted.
- Alfred 2 for Mac - Alfred is an award-winning app for Mac OS X which boosts your efficiency with hotkeys and keywords. Search your Mac and the web effortlessly, and control your Mac using customised actions with the Powerpack.
- opendiff - opendiff is a command line utility that provides a convenient way to launch the FileMerge application from Terminal to graphically compare files or directories. If FileMerge is already running, opendiff will connect to that running instance for the new comparison. opendiff exits immediately after the comparison request has been sent to FileMerge.
- JSON Editor Online - [json, online, editor]
- JS Bin - JS Bin is a tool for experimenting with web languages. In particular HTML, CSS and JavaScript, but JS Bin also supports other languages too (like Markdown, Jade and Sass).
- PageSpeed Insights - With PageSpeed Insights you can identify ways to make your site faster and more mobile-friendly. [google, web performance, website tuning]
- Meld - Meld is a visual diff and merge tool targeted at developers. Meld helps you compare files, directories, and version controlled projects. It provides two- and three-way comparison of both files and directories, and has support for many popular version control systems. [ git mergetool ]
- regex101 - [ regex debugger, regex highlighting, regex error detection ]
- Memory Analyzer (MAT) - [ java heap analyzer, java heap dump ]
- Freeformatter - [ json formatter, html formatter, xml formatter, html escape, html unescape, code minifier, css minifier ]
- EditorConfig - editorConfig helps developers define and maintain consistent coding styles between different editors and IDEs. The EditorConfig project consists of a file format for defining coding styles and a collection of text editor plugins that enable editors to read the file format and adhere to defined styles. EditorConfig files are easily readable and they work nicely with version control system
###DNS Domain Name Servers (DNS) are the Internet's equivalent of a phone book. They maintain a directory of domain names and translate them to Internet Protocol (IP) addresses. This is necessary because, although domain names are easy for people to remember, computers or machines, access websites based on IP addresses.
- What Is DNS? | GoDaddy - [ dns introduction video, dns video ]
- An Introduction to Managing DNS - [ dns digitalocean, dns terminology, dns how to ]
- DNS Propagation Checker
Docker allows you to package an application with all of its dependencies into a standardized unit for software development.
- Docker user guide - [official, docker beginner]
- How To Install Wordpress and PhpMyAdmin with Docker Compose on Ubuntu 14.04 - [digitalocean, docker-compose]
- Docker MySQL Persistence - [2015.03, mysql, data volumes]
- Sharing Debugger - [facebook share debug]
- Facebook Social plugins
- What is functional programming - [ functional programming introduction, side effects, side causes, pure functions ]
- Don’t Be Scared Of Functional Programming - [ functional programming introduction, immutability, stateless, javascript map reduce, javascript examples ]
###Git Git is a widely-used source code management system for software development. It is a distributed revision control system with an emphasis on speed, data integrity, and support for distributed, non-linear workflows.
- Git commands
git stash- takes the dirty state of your working directory — that is, your modified tracked files and staged changes — and saves it on a stack of unfinished changes that you can reapply at any time. Link - https://git-scm.com/book/en/v1/Git-Tools-Stashinggit stash pop- takes a stashed change, removes it from the “stash stack”, and applies it to your current working tree; beware - ‘git stash pop’ considered harmfulgit checkout -b feature_branch_name- create new local branch - [ git branch, git new branch, git new local branch]git checkout -b feature_branch_name origin/feature_branch_name- create new local branch from remote branch (make sure you do agit fetchbefore) - [ git branch, git new branch, git new local branch from remote, git checkout ]git push -u origin feature_branch_name- push new branch remote - [ git push branch remote]git branch -d feature_branch_name- deletes local branch - [ git delete branch locally, git remove branch local]git push origin --delete feature_branch_name- deletes branch remote - [git delete remote branch, git delete branch remote, git remove branch remote]git log- the git log command displays committed snapshots. It lets you list the project history, filter it, and search for specific changes.git log --pretty=oneline- shows checksum with git commit messagegit fetch -p OR git fetch --prune- Automatic prune with git fetch or pull [git fetch remote branches, git fetch update branches]git tag- lists the available tags in Git [git tag]git tag OR git tag -l- display git tags for repository;-lto pass a search pattern to filter out tags [git tags list, git tag list, git show tags]git tag -l "v.1.8.5"- search for tags with a particular systemv1.8.5, v1.8.5-rc0, v1.8.5.1 etc[git tag]git tag -a v1.4 -m "my version 1.4"- create annotated tag; annotated tags are stored as full objects in git database; they are checksummed, contain the tagger name, eamil and date -git show v1.4[git tag, git show tag data]git tag v1.4-lw- commit a lightweight tag. This is basically the commit checksum stored in a file – no other information is kept. To create a lightweight tag, don’t supply the -a, -s, or -m option -git show v1.4-lw[git tag, git show tag data]git tag --delete tagnameORgit tag --delete tagname- delete local tag - (git tag delete, git delete tag, git remove tag)git push --delete origin tagname- delete remote tag - (git tag delete remote, git delete tag remote, git remove tag remote)git push origin v1.5"- by default, the git push command doesn’t transfer tags to remote servers. You will have to explicitly push tags to a shared server after you have created them. This process is just like sharing remote branches – you can run git push origin [tagname] [git push tag remote]git push origin --tags- you have a lot of tags that you want to push up at once, you can also use the --tags option to the git push command. This will transfer all of your tags to the remote server that are not already there. [git push tags remote]git reset --hard- discard all local cahnges; maybe consider doing agit stashbefore [git revert, git discard changes, git reset]git checkout tags/<tag_name>- check out tag; you can list them with the command above [git checkout tag, git tag checkout]- Git atlassion - become a git guru - [git tutorials, git atlassian]
- Git book - [ git beginner, git advanced, git videos, git introduction]
- Git stash
- .gitignore.io - [ .gitignore files ]
- A successful Git branching model - [ the git flow, gitflow, gitflow-github ]
- Resolving a merge conflict from the command line - [git resolve conflict, git merge conflict, github]
- How to Write a Git Commit Message
- Using pull requests - [github using pull requests, github pull request]
- Contributing to Open Source on GitHub - [github contributing, github guides]
- Introducing organization - (github organisations)
- The beginner's guide to contributing to a GitHub project - (github contributing)
- Creating and Hosting a Personal Site on GitHub - [github pages introduction, github pages example, github pages blog]
- Setting up your GitHub Pages site locally with Jekyll - [github help]
- User, Organization, and Project Pages - [github help]
- Sitemaps for GitHub Pages - [github help, github pages sitemaps]
- Using a custom domain with GitHub Pages - (github pages help, github help, github pages custom domain)
- Atom (RSS) feeds for GitHub Pages - (github pages help, github pages feed, github pages atom feed, github pages rss feed)
- GitHub Pages now faster and simpler with Jekyll 3.0 - (github pages jekyll 3.0)
- Getting started - [gulp getting started, gulp install, gulp install global]
- Gulp run-sequence runs a sequence of gulp tasks in the specified order. This function is designed to solve the situation where you have defined run-order, but choose not to or cannot use dependencies - [gulp run sequence, gulp run tasks sequential]
- Why Use Pump? When using pipe from the Node.js streams, errors are not propagated forward through the piped streams, and source streams aren’t closed if a destination stream closed. The pump module normalizes these problems and passes you the errors in a callback. - [gulp-uglify, gulp pump, gulp error]
- Get started with gulp Part 3: Uglify & environment variables - [gulp-if, gulp-uglify, gulp env variables, gulp environment variables]
- A Simple Gulp’y Workflow For Sass - [gulp sass workflow, sass source maps]
- Gulp sass Sass plugin for Gulp. - [gulp-sass github, gulp sass github]
- Using HTML5 audio and video - (html5 audio, html5 video, html5 mdn)
- How to Add a Favicon to your Site
- Is IntelliJ IDEA shining through Eclipse? - (eclipse, ide, keyboard shortcuts)
- JRebel Intellij quick start - (intellij jrebel)
- Configuring JVM options and platform properties - (intellij vm options, intellij configure vm options)
- core
- Trail: Learning the Java Language - [java-core, tutorial, oracle ]
- Java Tutorial - [2015.02, @jjenkov, java enums, java annotations, java inheritance, java beginner, java lambda expressions ]
- Java Exception Handling - [2014.06, @jjenkov]
- Java Annotations and Java Reflection - Tutorial - [2014.12, vogella]
- Difference between SPI and API - [stackoverflow, api, spi]
- jpa
- Java Persistence - [wikibooks, oneToMany, ManyToMany]
- JPA: persisting vs. merging entites - [jpa persist, jpa merge, rightfully explained]
- JPA EntityManager: Why use persist() over merge()? - [jpa persist, jpa merge, rightfully explained, stackoverflow]
- JPA and Enums via @Enumerated - [apache, tomee]
- java8
- javamail
- Javamail API FAQ - [oracle]
- keystore
- The Most Common Java Keytool Keystore Commands - [keytool commands, keystore]
- Import the Certificate as a Trusted Certificate - [ keytool import certificate ]
- profilers
- books
- Eloquent JavaScript by Marijn Haverbeke - [@marijnjh, beginner, basics, and more, book]
- Understanding ECMAScript 6 - [ecmascript6, book, js intermediate, js advanced]
- basics
- Javascript Logical Operators - [ javascript and, javascript or, javascript negation]
- JavaScript Guide The JavaScript Guide shows you how to use JavaScript and gives an overview of the language. If you want to get started with JavaScript or programming in general, consult the articles in the learning area. If you need exhaustive information about a language feature, have a look at the JavaScript reference. - [mdn, mozilla, basics]
- JavaScript for Cats - [beginner, programmer, callbacks, @denormalize]
- Closures - [mdn, mozilla, javascript-core]
- Promise - [mdn, javascript-core]
- Debugging JavaScript in Chrome - [chrome, devtools, google developers ]
- Introduction to JavaScript Source Maps - [javascript debug, javascript chrome debug]
- Module descriptors - [jboss oficial docs, jboss docs, jboss module descriptors, jboss modules]
- Getting started with JMeter - [jmeter official docs, jmeter docs, jmeter installation, jmeter proxy configuration]
JSON Web Token (JWT) is an open standard (RFC 7519) that defines a compact and self-contained way for securely transmitting information between parties as a JSON object. This information can be verified and trusted because it is digitally signed. JWTs can be signed using a secret (with HMAC algorithm) or a public/private key pair using RSA. https://tools.ietf.org/html/rfc7519
- JSON Web Token (JWT) - RFX - [rfc, ietf]
- Introduction to JSON Web Tokens - [intro, beginner, auth0]
Jekyll is a simple, blog-aware, static site generator. It takes a template directory containing raw text files in various formats, runs it through a converter (like Markdown) and our Liquid renderer, and spits out a complete, ready-to-publish static website suitable for serving with your favorite web server. Jekyll also happens to be the engine behind GitHub Pages, which means you can use Jekyll to host your project’s page, blog, or website from GitHub’s servers for free.
- Jekyll introduction - on jekyll boostrap
- Get the value in an input text box - [jquery select input value, jquery get input value]
- Jeykll Now Github - makes it easier to create a Jekyll blog, by eliminating a lot of the up front setup.
- Jekyll Syntax highlighting
- Improve Code Highlighting in a Jekyll-based Blog Sit
- How I Added Teaser and Read-more Functionality to My Jekyll Blog on GitHub Pages- [jekyll read more, jekyll teaser]
- Jekyll pagination
- Switching from pygments to hightlight.sj - [jekyll highlight.js, jekyll syntax highlight]
- Jekyll multiple authors gist
- Multiple Authors in Jekyll - (jekyll multiple authors)
- How I’m Using Jekyll in 2016 - (jekyll tips from made mistakes)
- Jekyll Themes - list of Jekyll themes on Github
- jekyllBasicBlog - a simple, minimal, responsive blog theme built using Jekyll
- JekyllOrg - a Jekyll theme for organizations & non-profits
- neo-hpstr-jekyll-theme - a Jekyll blog theme http://aronbordin.com/neo-hpstr-jekyll-theme/
- codeinventory
- Minimal mistakes - a flexible two-column Jekyll theme. Perfect for personal sites, blogs, and portfolios hosted on GitHub or your own server.
- Jekyll Front matter - (jekyll complex variable, jekyll tips)
jQuery is a fast, small, and feature-rich JavaScript library. It makes things like HTML document traversal and manipulation, event handling, animation, and Ajax much simpler with an easy-to-use API that works across a multitude of browsers. With a combination of versatility and extensibility, jQuery has changed the way that millions of people write JavaScript.
var bla = $('#txt_name').val();- [jquery select input value, jquery get input value]$('#txt_name').val('bla');- [jquery set input value]var selected_option = $('#mySelectBox option:selected');- [jquery get selected option]- Loading Scripts with jQuery - [jquery load scripts]
- How do I test whether an element exists? - [jquery test element exists]
Keycloak is an integrated SSO and IDM for browser apps and RESTful web services. Built on top of the OAuth 2.0, Open ID Connect, JSON Web Token (JWT) and SAML 2.0 specifications.
- Documentation - [user-guide, video-tutorials, basics]
- TESTING KEYCLOAK INTEGRATION WITH ARQUILLIAN [ keycloak arquillian ]
- SECURING JAX-RS: KEYCLOAK, CDI AND EJB CONFUSION [ keycloak jax-rs ]
- bash
- Configuring your login sessions with dot files - [.profile, .bash_profile, .bashrc, /etc/profile]
- Linux commands
mkdir -p folder/subfolder- the-pflag causes any parent directory to be created if necessarynamei -om /path/to/check- easily display all the permissions on a pathmv /home/user/oldname /home/user/newname- rename directory in linux [linux rename directory]ln -s path-to-actual-folder name-of-link- create symbolic link to folder;ls -ld name-of-linkconfirm the link;rm name-of-link OR unlink name-of-linkremove the link; - [linux symbolic link]touch "foo.backup.$(date +%F_%R)"- add time extension to file name, good for backup [linux backup]grep -ri "text" /path/to/dir- recursevily find text through all sub-directories;-iignore-case - [linux grep, linux find text in directory]grep -rli "text" /path/to/dir--lshow only file names - [linux grep filename, linux find text in directory]df -h- disaplay disk usage in human readable format - [linux disk usage, linux show disk usage, linux show free disk space]netstat -tulpn | grep 8443- verify which process listens on port 8443; [ linux listen port command, linux netstat]hostname- show or set the system's host name [show hostname]find . -name "*.bak" -type f- find recursively files with extension [linux find recursively]find . -name "*.bak" -type f -delete- delete recursively files with extension; use the previous function to make sure what you are deleting [linux delete recursively]cut -d: -f1 /etc/passwd- list all users [linux list all users, linux show all users]passwd username- as roote change password of the user username [linux change user password]cat /proc/cpuinfo |grep processor- verify number of processors [linux number processors, linux verify processors]- Zip/unzip [linux zip, linux unzip]
zip data *- creates data.zip and puts all files in the current directory; no need to add the .zip extension - is done automaticallyzip -r data *- to zip up an entire directory (including all subdirectories)unzip data.zip- unzip all files of the archive into the current directory & subdirectoriesunzip data.zip file.doc- extracts only the file called file.doc from data.zipunzip data.zip -d /tmp- extracts all files into the /tmp directoryunzip -l data.zip- lists all files from the data.zip- An A-Z Index of the Bash command line for Linux - [bash, ss64]
- Finding a File Containing a Particular Text String In Linux Server - [grep, egrep, search, find]
- Linux Users and Groups - [nixCraft]
- List the contents of a tar or tar.gz file - [nixCraft]
- Linux: Find Out Which Process Is Listening Upon a Port
- nohup Execute Commands After You Exit From a Shell Prompt - [nixCraft, ssh, nohup]
- 20 Command Line Tools to Monitor Linux Performance - [ linux monitoring]
- 12 TOP Command Examples in Linux - [ linux monitoring, linux top ]
- Kernel
- Use alias to create shortcuts for commands - [alias, shortcut, efficiency]
- Markdown Cheatsheet - [markdown github]
- Mastering Markdown - [markdown github]
Maven, a Yiddish word meaning accumulator of knowledge, was originally started as an attempt to simplify the build processes in the Jakarta Turbine project. There were several projects each with their own Ant build files that were all slightly different and JARs were checked into CVS. We wanted a standard way to build the projects, a clear definition of what the project consisted of, an easy way to publish project information and a way to share JARs across several projects.
The result is a tool that can now be used for building and managing any Java-based project. We hope that we have created something that will make the day-to-day work of Java developers easier and generally help with the comprehension of any Java-based project.
- Maven: The Complete Reference - [sonatype, reference book]
- Setting the -source and -target of the Java Compiler - [maven-compiler, plugin]
- Introduction to Build Profiles - [ maven profiles introduction, maven apache doc]
- Introduction to the Dependency Mechanism - currently, Maven 2.0 only supports using the "nearest definition" which means that it will use the version of the closest dependency to your project in the tree of dependencies - [maven dependency introduction, maven dependency management]
- Maven plugins
- Apache Maven Assembly Plugin - the Assembly Plugin for Maven is primarily intended to allow users to aggregate the project output along with its dependencies, modules, site documentation, and other files into a single distributable archive.
- Apache Maven Clean Plugin - the Clean Plugin is used when you want to remove files generated at build-time in a project's directory.
- Apache Maven Dependency Plugin - The dependency plugin provides the capability to manipulate artifacts. It can copy and/or unpack artifacts from local or remote repositories to a specified location. [ maven zip, maven unzip ]
- Exec Maven Plugin - The plugin provides 2 goals to help execute system and Java programs. [ maven execute shell scripts, maven execute java programs ]
- Properties Maven Plugin - the Properties Maven Plugin is here to make life a little easier when dealing with properties. It provides goals to read properties from files and URLs and write properties to files, and also to set system properties. It's main use-case is loading properties from files or URLs instead of declaring them in pom.xml, something that comes in handy when dealing with different environments.
- JBoss Maven Plugin - The jboss-as-maven-plugin is used to deploy, redeploy, undeploy or run your application. You can also deploy or undeploy artifacts, such as JDBC drivers, and add or remove resources. There is also the ability to execute CLI commands - [ maven jboss ]
- WildFly Maven Plugin - The jboss-as-maven-plugin is used to deploy, redeploy, undeploy or run your application. You can also deploy or undeploy artifacts, such as JDBC drivers, and add or remove resources. There is also the ability to execute CLI commands - [ maven jboss, maven wildfly ]
Mockito is a mocking framework for unit tests in Java
- An Easy Way to Test Abstract Classes with Mockito - [mockito abstract classes testing]
- Mockito annotations
- Mockito Verify Cookbook
- An example of behavior verification + argument capture with Mockito (on TestNG) - [mockito catpture, mockito captor, mockito gist]
MyBatis is a SQL mapper framework for Java; MyBatis is a first class persistence framework with support for custom SQL, stored procedures and advanced mappings. MyBatis eliminates almost all of the JDBC code and manual setting of parameters and retrieval of results. MyBatis can use simple XML or Annotations for configuration and map primitives, Map interfaces and Java POJOs (Plain Old Java Objects) to database records.
- MyBatis Migrations-a command line DataBase migrations tool
- myBatis Migrations and Oracle RDBMS - [ setup example for oracle ]
- MySQL commands
mysql -uuser -ppassword=mysql --user=user --password=password- connect the user with password to the mysql server - for security reasons it's advised to leave the password's value out (mysql -uuser -p)CREATE DATABASE podcast_db; USE podcast_db;- create database and use database - documentationCREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';- create newuser identifiey by passwordGRANT ALL PRIVILEGES ON databaseName.* TO 'newuser'@'localhost'- grant all privileges fro the newuser on the database databaseName - documentationSHOW COlUMNS from TABLE- shows columns for table;SHOW TABLES- shows tables for db;SELECT User FROM mysql.user- show mysql users;mysqldump _databaseName_ -u _user_ -p -h 127.0.0.1 --single-transaction > /target_path/2016-01-15.sql- export the databaseName to 2016-01-15.sql in a single transcation - documentation [mysql export]mysql --user=username --password database < dumpfile.sql- documentation [mysql import]
- MySQL Documentation - [official, documentation]
- How To Create a New User and Grant Permissions in MySQL - (mysql commandline, digitalocean)
- Optimizing MySQL server settings - (mysql-5.5, mysql optimization, codingpedia)
Nginx (pronounced "engine x") is a web server with a strong focus on high concurrency, performance and low memory usage. It can also act as a reverse proxy server for HTTP, HTTPS, SMTP, POP3, and IMAP protocols, as well as a load balancer and an HTTP cache.
- Nginx commands
(sudo) nginx -t- to determine where the nginx.conf configuration file is located and tests its validitynginx -c filename- if you don't want to use the default path of the nginx configuration file, you can pass with this command your own locationnginx -h- reference/help of nginx command optionsps aux | grep nginx- verify if nginx is running (will list the master and worker processes)
- Beginner's Guide - [beginner, tutorial, setting up]
- CommandLine - Starting, Stopping, and Restarting NGINX - [ official, nginx commandline, nginx start, nginx stop]
- Ubuntu Linux: Start / Restart / Stop Nginx Web Server - [2011.01, @nixcraft, nginx start, nginx stop]
- Tuning NGINX for Performance - [2014.10, official, setting up]
- Serving static content - [nginx official, nginx admin guide, nginx static content]
- Nginx ssl termination - [nginx official, nginx admin guide, nginx ssl termination, nginx ssl config]
- SSL Offloading, Encryption, and Certificates with NGINX - [nginx blog, nginx ssl termination, nginx ssl config]
- Compression and decompression - [ nginx official, nginx gzip, nginx admin guide, nginx tuning, nginx optimization]
- Pitfalls and Common Mistakes - [ nginx official, nginx mistakes, static content, Read all of this! ALL OF IT!]
- How nginx processes a request - [ nginx official, nginx functionality, nginx core ]
- Nginx reverse proxy - [ nginx official, nginx admin guide, nginx reverse proxy setup ]
- How To Run Nginx in a Docker Container on Ubuntu 14.04 - [nginx docker, nginx digital ocean, nginx ubuntu14.04]
- Understanding the Nginx Configuration File Structure and Configuration Contexts - [digitalocean]
- How to Configure Nginx - [nginx basic configuration explained, nginx linode, nginx configuration]
- NGINX PRIMER 2: FROM APACHE TO NGINX - [apache, migration]
- How To Create an SSL Certificate on Nginx for Ubuntu 14.04 - [2014.05, nginx ssl self signed, nginx digitalocean, generate ssl certificate]
- How To Secure Nginx with Let's Encrypt on Ubuntu 14.04 - [2015.12, nginx ssl letsencrypt, nginx digitalocean]
- How To Redirect HTTP to HTTPS in Nginx - [ nginx redirect http to https ]
- Nginx Serving Static Content and Java Application Server - [ nginx jboss, nginx wildfly ]
- Installing Nginx in Mac OS X Mountain Lion With Homebrew - [ nginx install mac, nginx installation mac ]
- Optimizing HTTPS on Nginx - [ nginx https optimization ]
- Increase file upload size limit in PHP-Nginx - [ nginx file upload size]
- Node Version Manager Simple bash script to manage multiple active node.js versions - [github, 10k+ stars, nodejs nvm]
- Frontend maven plugin This plugin downloads/installs Node and NPM locally for your project, runs NPM install, and then any combination of Bower, Grunt, Gulp, Jspm, Karma, or Webpack. It's supposed to work on Windows, OS X and Linux. - [github, node maven plugin]
- Using MySQL with Node.js & the node-mysql JavaScript Client - [node mysql module, node mysql tutorial]
- Node mysql module github - [node mysql module, node mysql tutorial]
- “NODE_ENV” is not recognized as an internal or external command, operable command or batch file - [node env variables, node stackoverflow]
OAuth 2.0 is the next evolution of the OAuth protocol which was originally created in late 2006. OAuth 2.0 focuses on client developer simplicity while providing specific authorization flows for web applications, desktop applications, mobile phones, and living room devices.
- OAuth 2.0 Tutorial - [oauth2 tutorial, oauth2 beginner, intro]
- Google Identity Platform - [google identity, google api, google developers, google]
- Using OAuth 2.0 to Access Google APIs - [google api, google developers, google]
- Using OAuth 2.0 for Web Server Applications - [google api, google developers, google]
- Securing Sign-in on Mobile: Best Practices for Native Apps - [oauth2 sso native apps video]
OpenID Connect is an interoperable authentication protocol based on the OAuth 2.0 family of specifications. It uses straightforward REST/JSON message flows with a design goal of “making simple things simple and complicated things possible”. It’s uniquely easy for developers to integrate, compared to any preceding Identity protocol.
- Welcome to OpenID Connect - [oficial, specifications]
- OpenID Connect FAQ and Q&As - [oficial, faq]
- OpenID Connect Explained - [intro, clear, oidc]
- Oracle commands
DROP TABLE table_name- [oracle drop table, oracle delete table]DESCRIBE table_name- [oracle show columsn from table]- ORACLE/PLSQL: ALTER TABLE STATEMENT - [oracle alter table statement]
- Introduction to VACUUM, ANALYZE, EXPLAIN, and COUNT - [postgresql documentation, postgresql performance]
- Tuning Your PostgreSQL Server - [postgresql documentation, postgresql performance]
- PostgreSQL formulae for the Homebrew package manager - running multiple postgresql versions
- PostgreSQL Joins
Python is an interpreted, object-oriented, high-level programming language with dynamic semantics. Its high-level built in data structures, combined with dynamic typing and dynamic binding, make it very attractive for Rapid Application Development, as well as for use as a scripting or glue language to connect existing components together.
- Python documentation - [python documentation, python official]
- Introduction to Python Programming in Ubuntu Linux - [2011.02, python beginner, python ubuntu, python introduction]
- Automate the Boring Stuff with Python - [python book, python beginner]
- How to install Python 3.4 on Ubuntu? - [python ubuntu, python3 ubuntu, python3-install, askubuntu]
- Regular Expressions Tutorial - [comprehensive]
- Regular Expressions - [brief, with examples, NewsWatcher]
- Best practices for API versioning? - [ rest api versioning, rest stackoverflow ]
- REST assured - [ rest assured, rest test api, rest java test api ]
- REST assured usage - [ rest assured examples]*
- swagger.io - the goal of Swagger™ is to define a standard, language-agnostic interface to REST APIs which allows both humans and computers to discover and understand the capabilities of the service without access to source code, documentation, or through network traffic inspection. - [ rest api design ]
- REST Easy - RESTEasy is a JBoss project that provides various frameworks to help you build RESTful Web Services and RESTful Java applications. It is a fully certified and portable implementation of the JAX-RS specification. JAX-RS is a new JCP specification that provides a Java API for RESTful Web Services over the HTTP protocol. - [ rest JAX-RS implementation, rest jboss ]
- Tutorial – REST API design and implementation in Java with Jersey and Spring - RESTEasy is a JBoss project that provides various frameworks to help you build RESTful Web Services and RESTful Java applications. It is a fully certified and portable implementation of the JAX-RS specification. JAX-RS is a new JCP specification that provides a Java API for RESTful Web Services over the HTTP protocol. - [ rest JAX-RS implementation, rest jboss ]
- [Jersey ](RESTful Web Services in Java) - Jersey RESTful Web Services framework is open source, production quality, framework for developing RESTful Web Services in Java that provides support for JAX-RS APIs and serves as a JAX-RS (JSR 311 & JSR 339) Reference Implementation. - [ rest JAX-RS implementation, rest jersey ]
- The introduction to Reactive Programming you've been missing - [reactive programming, RxJS, clear, 6k+ stars, github ]
- Reactive Programming - What is RxJS? - [video, egghead.io, observable, @andrestaltz]
- What Is RxJS? - [video, egghead.io, observable, async, @BenLesh]
- RxJS Observables vs Promises - [video, egghead.io, observable, promise, @BenLesh]
scp allows files to be copied to, from, or between different hosts. It uses ssh for data transfer and provides the same authentication and same level of security as ssh
- Example syntax for Secure Copy (scp) - [scp example]
Scrum is a management framework for incremental product development using one or more cross-functional, self-organizing teams of about seven people each.
- Scrum Reference Card - [short, concise, by Michael James]
- Keeping your secrets - [ security tls, security ssl, security java tls, security public key]
- Roles versus Groups - [ security roles and groups, security groups ]
- SSL Server Test - this free online service performs a deep analysis of the configuration of any SSL web server on the public Internet. [ssl testing, ssl web server, ssl test]
- SEO advice: url canonicalization - [ 2006.01, @mattcutts google]
- www. is not deprecated - [ yes www, redirect to www]
- Linux Shell Scripting Tutorial - [2002, beginner, handbook]
- Advanced Bash-Scripting Guide - [ 2014.03, shell scripting comprehensive, tldp.org ]
- Spring Framework Reference Documentation - [official, htmlsingle]
- Spring Security Reference - [official, htmlsingle]
Scalable Vector Graphics (SVG) is an XML-based vector image format for two-dimensional graphics with support for interactivity and animation. The SVG specification is an open standard developed by the World Wide Web Consortium (W3C) since 1999.
- SVG Tutorial W3schools - [svg basics]
- SVG Tutorial MDN - [svg basics]
Apache Tomcat™ is an open source software implementation of the Java Servlet, JavaServer Pages, Java Expression Language and Java WebSocket technologies. The Java Servlet, JavaServer Pages, Java Expression Language and Java WebSocket specifications are developed under the Java Community Process.
- Tomcat running configuration - [tomcat official, tomcat 8, tomcat environment variables, tomcat setenv]
- How To Install Apache Tomcat 8 on Ubuntu 14.04 - [2015.06, tomcat install, tomcat ubuntu, tomcat digitalocean]
- Tomcat JDBC Connection Pool configuration for production and development - [ 2013.08, tomcat jdbc, tomcat performance, tomcat codingpedia]
- Tweet button - [twitter sharing, twitter sharing button, twitter share, twitter add button website, twitter official]
- Tweet button parameter reference - [twitter sharing, twitter sharing button, twitter share, twitter add button website, twitter official, twitter data-*]
vi /ˈviːˈaɪ/ is a screen-oriented text editor originally created for the Unix operating system. The portable subset of the behavior of vi and programs based on it, and the ex editor language supported within these programs, is described by (and thus standardized by) the Single Unix Specification and POSIX.
- Commands
:set number- show line numbers in vi/vim - [vim show line number]:8and8Gor8ggor - moves the cursor to line number 8, first command beginning of the line, second to end of the line - [vim go to line number, vim navigation]0- go to beginning of the line &$- go to end of the line [vim navigation]ggor:1or1Gor1gg- go to beginng of file [vim navigation]Gor:$- go to end of file [vim navigation]- 130+ ESSENTIAL VIM COMMANDS - [2013.12, @catswhocode]
- Copy, cut and paste - [2002.13, wikia, vim copy, vim cut, vim paste]
- Moving around - [2001.01, wikia, vim moving, vim navigation]
- Search and replace - [2001.01, wikia, vim replace, vim search]
- vi/vim delete commands and examples - [2016.06, vim delete]
- Material Design is a concept which explains how apps for Android and web apps should look and how the user interface should work. It defines rules for animation, style, layout, components, patterns and usability etc.
WildFly, formerly known as JBoss AS, or simply JBoss, is an application server authored by JBoss, now developed by Red Hat. WildFly is written in Java, and implements the Java Platform, Enterprise Edition (Java EE) specification.
- Enable Wildfly remote access - [2015.04, wildfly 8.2.0, standalone]
- Install Mysql JDBC Driver on WildFly 8.2 - [2015.04, wildfly 8.2.0, standalone, mysql-connector, jdbc]
- WildFly 8.2.0 on Ubuntu 14.04 - [2015.02, wildfly 8.2.0, wildfly install, wildfly start, wildfly stop, wildfly service]