Skip to content
This repository was archived by the owner on Sep 4, 2019. It is now read-only.

CodepediaOrg/dev-resources

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

214 Commits
 
 

Repository files navigation

It has much more bookmarks and better organised

dev-bookmarks (CTRL + F and relevant search tag)

Active Directory

AngularJS

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.

AngularJS 2

Arquillian

CSS

Database Design

  • 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.

Docker

Docker allows you to package an application with all of its dependencies into a standardized unit for software development.

###Facebook developer

###Functional programming

###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-Stashing
  • git 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 harmful
  • git 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 a git fetch before) - [ 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 message
  • git 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; -l to 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 system v1.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 tagname OR git 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 a git stash before [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

###Github

###Github Pages

###Gulp

  • 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]

###Html 5

###IntelliJ

###Ionic

###Java

###JavaScript

Jboss

  • Module descriptors - [jboss oficial docs, jboss docs, jboss module descriptors, jboss modules]

JMeter

JWT - JSON Web Tokens - [web-security, json]

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

Jekyll

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.

jquery

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 - [sso, idm, REST, oauth2, openid-connect, jwt, saml2]

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.

Linux/Unix

  • bash
  • Linux commands
    • mkdir -p folder/subfolder - the -p flag causes any parent directory to be created if necessary
    • namei -om /path/to/check - easily display all the permissions on a path
    • mv /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-link confirm the link; rm name-of-link OR unlink name-of-link remove 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; -i ignore-case - [linux grep, linux find text in directory]
    • grep -rli "text" /path/to/dir - -l show 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 automatically
    • zip -r data * - to zip up an entire directory (including all subdirectories)
    • unzip data.zip - unzip all files of the archive into the current directory & subdirectories
    • unzip data.zip file.doc - extracts only the file called file.doc from data.zip
    • unzip data.zip -d /tmp - extracts all files into the /tmp directory
    • unzip -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

Linux Mint/Ubuntu

Markdown

Maven

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

Mockito is a mocking framework for unit tests in Java

MyBatis

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.

MySQL

  • 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 - documentation
    • CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password'; - create newuser identifiey by password
    • GRANT ALL PRIVILEGES ON databaseName.* TO 'newuser'@'localhost' - grant all privileges fro the newuser on the database databaseName - documentation
    • SHOW 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 [web server, proxy server, load balancer ]

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.

NodeJS

OAuth 2.0 [web-security, sso]

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.

OpenID Connect [web-security, sso, json, identity-provision, oauth2, jwt]

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.

OracleDB

  • 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]

Postgresql

Python

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.

Regex

REST

  • 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 ]

RxJS

scp - secure copy

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

Scrum

Scrum is a management framework for incremental product development using one or more cross-functional, self-organizing teams of about seven people each.

Security

  • 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 - Search Engine Optimization

Shell scripting

Spring

Spring security

Scalable Vector Graphics (SVG)

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.

Tomcat

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.

Twitter

  • 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/vim

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]
  • :8 and 8G or 8gg or - 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]
  • gg or :1 or 1G or 1gg - go to beginng of file [vim navigation]
  • G or :$ - 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]

Web design

  • 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

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.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors