Computer Science/Programming General
- Type System (Wikipedia)
- Overview of Graphs
- Canonical form
- Closure (Wikipedia)
- URL Template
- Software Architecture (Wikipedia)
- Concurrent computing
- Distributed computing
- MVVM(Model View ViewModel)
- Memory Management Reference
- Wikibooks/Computing
- GrepCode.com
- a code search engine built by developers for developers to search and browse open source Java projects.
Data Structure and Algorithm
- Algorithms by S. Dasgupta, C.H. Papadimitriou, and U.V. Vazirani
- Semaphore (Wikipedia)
- Compare-and-swap (Wikipedia)
- How to code a URL shortener? (Apr 12 '09)
Tree
- Tree traversal (Wikipedia)
- Tree traversal
- Java Data Structure: A Generic Tree
- vivin / tree
- vivin / GenericTree
- Problem with Generics and sub-typing in my generic Tree implementation
- Generic tree implementation in Java
- Binary Search Tree Implementation in Java
- API of javax.swing.tree.TreeModel
- API of javax.swing.tree.TreeNode
- API of javax.swing.tree.DefaultTreeModel
- API of javax.swing.tree.DefaultMutableTreeNode
Metasyntax
- ASN.1 (Abstract Syntax Notation One)
- a standard and notation that describes rules and structures for representing, encoding, transmitting, and decoding data in telecommunications and computer networking
Programming Language
- TIOBE Programming Community Index
- Programming Language Popularity(Oct 25 2013)
- 10 Most Popular Programming Languages Today(Jun 1, 2015)
- Learn X in Y minutes
- Take a whirlwind tour of your next favorite language. Community-driven!
- Lambda
- What is the difference between a 'closure' and a 'lambda'? (Oct 21 '08)
- Loop Recognition in C++/Java/Go/Scala (2011)
- a well specified, compact benchmark in four programming languages, namely C++, Java, Go, and Scala.
- What Will Kill Java? (Sep. 30, 17)
Erlang
- http://www.erlang.org/
- Desc. : a programming language used to build massively scalable soft real-time systems with requirements on high availability.
- References
- Readings
Haskell
- http://www.haskell.org/
- Desc. : an advanced purely-functional programming language.
CoffeeScript
- http://coffeescript.org/
- Desc. : a little language that compiles into JavaScript.
- Sources : https://github.com/jashkenas/coffeescript
TypeScript
- http://www.typescriptlang.org/
- Desc. : a typed superset of JavaScript that compiles to plain JavaScript.
- Readings
ActionScript
- http://www.adobe.com/devnet/actionscript.html
- Desc. : the programming language for the Adobe Flash Player and Adobe AIR runtime
- References
- Readings
- ActionScript tutorials and articles
- Performance
- Understanding Memory Leaks in ActionScript (May 7, 2008)
- Incorrect use of EventListners are the number one cause of memory leaks in ActionScript.
- Understanding Memory Leaks in ActionScript (May 7, 2008)
- ANE
Security
- Cryptographic Concepts
- Block cipher mode of operation
- ECB, CBC, PCBC, CFB, OFB, ...
Coding Convention
- What is Coding Convention
- Google Style Guide
- C++, Objective-C, Java, Python, R, Shell, HTML/CSS, JavaScript, AngularJS, Common, XML
- FreeBSD kernel source file style guide
- Java
- Scala
- C, C++
- JavaScript
- HTML/CSS
Glossary
Java SE
- Java SE 9
- Java SE 8
- Java SE 7
- Java SE 6
- Java SE 5
- The Java Tutorials
- Java Language and Virtual Machine Specifications
- Java Object Serialization Specification
- Primitive Types and Values
- Java Literals
- Constants and Literals
- Format String Syntax
- Decimal Format
- Date and Time Patterns (
java.text
package) - Date and Time Patterns (
java.time
package)- ISO 8601(Wikipedia)
- Message Format (
java.text.MessageFormat
) - Regular Expression
- Properties File Format
- Java HotSpot VM Options
- Getting Started with the G1 Garbage Collector
- The Garbage-First Garbage Collector
- Java command line debug options
- JDWP (Java Debug Wire Protocol) : the protocol used for communication between a debugger and the Java VM.
- JPDA (Java Platform Debugger Architecture)
-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8000
- Javadoc Tags in Java SE 6
- Javadoc Options in Java SE 6
- 9 Things Java Programmers Should Learn in 2018 (Jan. 19, 18)
API Documentation and Source
Java SE
- Java SE 9 API Specification
- Java SE 8 API Specification
- Java SE 7 API Specification
- Java SE 6 API Specification
- J2SE 5.0 API Specification
- J2SE v1.4.2 API Specification
java.lang.Object
APIjava.lang.Runtime
APIjavax.annotation
package APIjavax.validation
package APIjava.util.Optional<T>
API (since 1.8)
- JavaFX 2.2 API
javafx.scene.image
package API Image Ops API
- JavaFX 8 API
Java EE
- Java EE 7 Specification APIs
- J2EE 6 API Specification
- J2EE v5.0 API Specifications
- J2EE v1.4 API Specification
Apache Commons
- Commons Lang
- Commons Lang 3.3.2 API
org.apache.commons.lang3.builder.EqualsBuilder
org.apache.commons.lang3.builder.ReflectionToStringBuilder
org.apache.commons.lang3.Validate
- assists in validating arguments or states via
exclusiveBetween
,inclusiveBetween
,isTrue
,notBlank
,notEmpty
, orvalidState
methods
- assists in validating arguments or states via
- Commons Lang 3.3.2 API
- Commons Collections
- Commons Validator
- Commons Compress
- Commons Math
- Commons Configuration
- Commons DBCP
- Commons Imaging
JSRs
- JSR 94: Java Rule Engine API
- defines a Java runtime API for rule engines.
- Jess 7 API documentation includes JSR94 API
- Getting Started With the Java Rule Engine API (JSR 94): Toward Rule-Based Applications
- JSR 303: Bean Validation
- define a meta-data model and API for JavaBean validation based on annotations, with overrides and extended meta-data through the use of XML validation descriptors.
- JSR 349: Bean Validation 1.1
- standardizes constraint definition, declaration and validation for the Java platform.
- http://beanvalidation.org
- Bean Validation specification 1.1 Final
- Bean Validation API 1.1.0.Final
- Annotations in Hibernate Validator 5.2
@CreditCardNumber, @Email, @NotBlank, @NotEmpty, @Range, @URL
- Maven repository » javax.validation » validation-api
- Declaring bean constraints (in the reference manual of Hibernate Validator)
- JSR 305: Annotations for Software Defect Detection
- work to develop standard annotations (such as
@NonNull
) that can be applied to Java programs to assist tools that detect software defects. - JSR305 API
- Maven repository » com.google.code.findbugs » jsr305
- work to develop standard annotations (such as
- JSR 308: Annotations on Java Types
- extends the Java annotation syntax to permit annotations on any occurrence of a type.
- Type Annotations Specification
- Type Annotations (JSR 308) and the Checker Framework
- Checker Framework API
- The Checker Framework Manual
- Maven repository » edu.washington.cs.types.checker » checker-framework
Basic
- Why should I use the keyword “final” on a method parameter in Java?
- Does JVM/GC call '
finalize()
' on program/thread exit?(Oct 24 '11) - Implementing in-memory compression for objects in Java
NULL
is the Worst Mistake in Computer Science (Feb. 08, 16)
- Why am I getting unreported exception when the super class default constructor has a 'throws' clause?(Apr 4 '13)
- What is the difference between
NoClassDefFoundError
andClassNotFoundException
?(Sep 22 '09) java.lang.Error
API- That is,
Error
and its subclasses are regarded as unchecked exceptions for the purposes of compile-time checking of exceptions.
- That is,
- Integer.valueOf() vs. Integer.parseInt()
- What is String literal pool? How to create a String
- What is the Java's internal represention for String? Modified UTF-8? UTF-16?
- Java uses UTF-16 for the internal text representation and supports a non-standard modification of UTF-8 for string serialization.](Mar 14 '12)
String.format
vs.MessageFormat.format
vs. String.+ vs.StringBuilder.append
(September 30, 2009)- How to convert a byte array to a hex string in Java? (Mar 11 '12)
- Use
static String Hex.encodeHexString(byte[] data)
in Apache Commons Codec
- Use
- Calculating the difference between two Java date instances(Oct 12 '09)
d2.getTime() - d1.getTime()
- Benchmarking JDK
String.replace()
vs Apache CommonsStringUtils.replace()
(2017/10/11)
- Setup ShutdownHook and exit application (Jan 17 '12)
- How to redirect Process Builder's output to a string? (May 23 '13)
Process.destroy()
and shutdown hook platform specific behavior (2001-07-29)- Using Process.destroy() is the last resort, and there is no garantee that shutdown hooks will be run in the case when the process is another VM instance.
- Understanding
sun.misc.Unsafe
(Jan/14/14) - Is there a way to create a direct
ByteBuffer
from a pointer solely in Java?(May 9 '13)- Using unsafe reflection on non-public filed.
- canonical file path in java - optimization problem?(Sep 20 '11)
sun.io.useCanonCaches
,sun.io.useCanonPrefixCache
- Argue against
Pair
class
JVM
- The JVM Architecture Explained (Sep. 02, 16)
Concurrency
- Doug Lea's Home Page
- Atomicity, Visibility and Ordering
- How Synchronization works in Java ? Example of synchronized block
- Concurrency series
- Java theory and practice: Introduction to nonblocking algorithms
- Performance of ReentrantLock and Synchronized
- Concurrency in JDK 5.0 (23 Nov 2004)
- Be Lazy With Java 8 (Jan. 26, 16)
final
,synchronized
,volatile
and visibility
- Java Memory Model From a Programmer's Point-of-View (Jul. 27, 10)
- Java Memory Model (2014-12-18)
- What operations in Java are considered atomic? (Jan 21 '11)
- Non-Atomic Treatment of
double
andlong
- a single write to a non-volatile long or double value is treated as two separate writes
- Writes and reads of volatile long and double values are always atomic.
- Writes to and reads of references are always atomic, regardless of whether they are implemented as 32-bit or 64-bit values.
- 5 Tips on Concurrency (Sep. 01, 17)
- Valueable classes
Classes | Description |
---|---|
java.util.concurrent.locks.Condition
|
Condition factors out the Object monitor methods (wait, notify and notifyAll) into distinct objects to give the effect of having multiple wait-sets per object, by combining them with the use of arbitrary Lock implementations.
|
com.google.common.util.concurrent.Monitor
|
A synchronization abstraction supporting waiting on arbitrary boolean conditions. |
java.util.concurrent.atomic.LongAdder
|
usually preferable to AtomicLong when multiple threads update a common sum that is used for purposes such as collecting statistics |
Annotation
- Package net.jcip.annotations
- Package org.apache.http.annotation : Thread-safety annotations based on JCIP-ANNOTATIONS
- Java 6: Unsupported
@SuppressWarnings("rawtypes")
warning (Sep 5 '10)- lists valid warning types by cases
Annotations | Description | Included |
---|---|---|
java.lang.annotation package
|
@Documented, @Inherited, @Repeatable, @Retention, @Target
| |
Dependency Injection Annotations in Java EE 7 | @Inject, @Named, @Qualifier
| |
JSR 305 Annotations for Software Defect Detection 3.0.1 API | @Nonnull, @Nullable, @Immutable, @ThreadSafe, @NotThreadSafe, @GuardedBy
| |
Bean Validation API 1.1.0 Annotations | @Min, @Max, @Size, @Pattern
| |
Bean Validation API 2.0 Annotations | ||
Hibernate Validator 5.2.4.Final Annotations | ||
Hibernate Validator 6.0.0.Alpha1 Annotations | ||
Swagger 1.5 Annotations | @Api, @ApiOperation, @ApiParam, @ApiModel, @ApiModelProperty
|
- Setting dynamic data to min and max attributes of @Range annotation - hibernate validators (Jun 26 '15)
- The value for annotation attribute must be a constant expression
- Is it possible for class to inherit the annotaions of the super class (May 15 '12)
Class.getAnnotations()
,Class.getDeclaredAnnotations()
,@Inherited
- Is there something like Annotation Inheritance in java? (Oct 13 '11)
- Why is not possible to extend annotations in Java? (Oct 26 '09)
Reflection
Collection
- Outline of the Collections Framework
- How much memory does a Hashtable use?
- String array Initialization in JAVA(Jul 7 '13)
Generic
- Generics from Java SE 1.5 documentation
- Lesson: Generics from The Java Tutorials
- Lesson: Generics from The Java Tutorials (old)
- Reflecting generics
- Java theory and practice: Generics gotchas
- Diagnosing Java code: Java generics without the pain, Part 1
- How to: generic array creation
- Generic array in ArrayList implimentation
- “Cannot create generic array of ..” - how to create an Array of Map<String, Object>?(Feb 17 '13)
- How do I make the method return type generic? (Jan 16 '09)
Enum
- Enums in Java Language Specification, Third Edition
- An enum type is implicitly
final
. - Nested enum types are implicitly
static
. - Attempting to explicitly instantiate an enum type : compile-time error
- Reflective instantiation of enum types : prohibited
- Declaring abstract enum type : compile-time error
- Declaring a finalizer for an enum : compile-time error
- Using the == operator in place of the equals method when comparing two object references if it is known that at least one of them refers to an enum constant : permissible
- An enum type is implicitly
- Typesafe Enums from Java SE 1.5 documentation
- Draft spec for a Typesafe Enum Facility
- Bootstrapping static fields within enums
- static fields cannot be accessed within the enum constructor
- Nested Java enum definition - does declaring as static make a difference?
Lambda
- Java Tutorial > Lambda Expressions
- Java SE 8: Lambda Quick Start
- State of the Lambda (September 2013)
- Are Java 8 Lambdas Closures? (11/25/2015)
IO and Networking
- Serialization
java.io.Serializable
API- "A no-arg constructor must be accessible to the subclass that is serializable."
- "it is strongly recommended that all serializable classes explicitly declare serialVersionUID values, ..."
- Java Object Serialization Specification
- "Serialization of inner classes (i.e., nested classes that are not static member classes), including local and anonymous classes, is strongly discouraged for several reasons."
org.apache.commons.lang3.SerializationUtils
API
byte
array to file in Java(Dec 3 '10)org.apache.commons.io.FileUtils.writeByteArrayToFile(), org.apache.commons.io.FileUtils.readFileToByteArray()
- HttpURLConnection’s Dark Secrets
- Java HttpURLConnection (how to open and read a url with Java)
- Java URL and URLConnection example - how to read content from a URL)
- Setting the default Java character encoding?
- Compressing and Decompressing Data Using Java APIs (February 2002)
- Java Compression and Decompression Tutorial (20-09-2014)
- Apache Commons Compress Examples
Caching
- Cache Abstraction from reference documentation of Spring Framework 3.1
- Explanation for how to use Guava caches.
XML
- Saxon - Configuration Features
- Parser Features - Apache XML
- 'Processing XML with Java' (Book written by Elliotte Rusty Harold)
- Always explicitly specify which XML parser to use
- Is it a good idea to share a single DocumentBuilder instance accross multiple threads?
DocumentBuilder
is NOT thead-safe
- XML Parser Benchmarks: Part 1 (May 2007)
- Make DocumentBuilder.parse ignore DTD references
- Using Xalan alongside Saxon
- Using Saxons S9API Interface
- How to Validate XML using Java
- The Java XML Validation API from developerWorks (08 Aug 2006)
- XPath 1.0 queries on JAXB objects? (Jun 2010)
- TagSoup and XPath
- Parsing an XML Document with XPath(01/12/2005)
- Using the Java language NamespaceContext object with XPath(19 May 2009)
- XPath and Default Namespace handling
- sample Java codes using Jaxen, JAXP XPathFactory, or XSLT.
JDBC
- JDK and JDBC
JDK | JDBC | JSR |
---|---|---|
J2SE 1.4 | JDBC 3.0 | JSR 54: JDBC 3.0 Specification |
Java SE 6 | JDBC 4.0 | JSR 221: JDBC 4.0 API Specification |
Java SE 7 | JDBC 4.1 | |
Java SE 8 | JDBC 4.2 | JSR-000221 JDBC API Specification 4.2 Maintenance Release 2 |
Database | Connection URL | Connection Properties | Drivers | Remarks |
---|---|---|---|---|
Oracle Database | OracleDataSource.setConnectionProperties(java.util.Properties value)
|
|||
DB2 | Properties for the IBM Data Server Driver for JDBC and SQLJ | |||
Microsoft SQL Server | jdbc:sqlserver://[serverName[\instanceName][:portNumber]][;property=value[;property=value]]
|
Setting the Connection Properties - SQL Server 2008 R2 | ||
MySQL | Driver/Datasource Class Names, URL Syntax and Configuration Properties for Connector/J from MySQL 5.0 Reference | |||
HSQLDB | Connection properties |
Enum org.springframework.integration.jdbc.config.JdbcTypesEnum
API- What's New in JDBC 4.0?(April 10, 2007)
- Plug memory leaks in enterprise Java applications (Mar 13, 2006)
Oracle Database
- JDBC driver : http://www.oracle.com/technetwork/database/features/jdbc/index-091264.html
- Connection properties
- Diagnosability
IBM DB2
- JDBC driver : http://www-01.ibm.com/support/docview.wss?rs=71&uid=swg21363866
- Connection properties
Microsoft SQL Server
- Connection properties
- Readings
- Microsoft JDBC Driver for SQL Server documentation(MSDN)
- Working with Statements and Result Sets
- ...Limit the Size of Your Result Sets, Use the Appropriate Fetch Size...
- Improving Performance and Reliability with the JDBC Driver
- API
MySQL
- Connection properties
- Driver/Datasource Class Names, URL Syntax and Configuration Properties for Connector/J 5.1
- Note properties such as
maxRows
,serverTimezone
,useAffectedRows
.
- Note properties such as
- Driver/Datasource Class Names, URL Syntax and Configuration Properties for Connector/J 5.1
HSQLDB
- JDBC Driver
- hsqldb » hsqldb : 1.6.x ~ 1.8.x
- org.hsqldb : 2.0.x ~
- Connection URL
- Connection properties
Access
- Connecting to MS Access Files via JDBC in 64-bit Java (July 26th, 2011)
- Microsoft Access Database Engine 2010 Redistributable
jdbc:odbc:Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=...
- connection string of jdbc odbc with MS access (Jan 11 '13)
Security
- Java Cryptography Architecture(JCA) Reference Guide
- JCA Standard Algorithm Name Documentation
- Cryptographic Concepts
- Java SE 7 Security Documentation
- JCA Oracle Providers in JDK 7
- Java SE 6 Security Documentation
- JCA Sun Providers in JDK 6
- J2SE 1.5 Security
Internationalization
- Java Tutorial > i18n
- Internationalization: Understanding Locale in the Java Platform (September 20, 2005)
user.language
,user.country
,user.variant
- Java's
java.util.TimeZone
(2014-06-23) - Change time zone (Jun 08, 2014)
Formatting
- Java Tutorial > i18n > Formatting > Messages
- Spring Framework's Internationalization using
MessageSource
- Spring Resource bundle with
ResourceBundleMessageSource
example (August 30, 2012)
- API
JMX
- Java SE 7 - Monitoring and Management Using JMX Technology
com.sun.management.jmxremote
,com.sun.management.jmxremote.port
,com.sun.management.jmxremote.ssl
,com.sun.management.jmxremote.authenticate
, ...
- Java SE 1.5 - Monitoring and Management Using JMX
- JMX Specification, version 1.4
- Java Dynamic Management Kit 5.1 Tutorial
- JMX Best Practices > Open MBeans
- Authentication and Authorization in JMX RMI connectors
- Object name and object name pattern
JNI
jni_md.h
jni.h
- JNI Functions
typedef const struct JNINativeInterface *JNIEnv;
- Type Signatures
- JNI Type Mapping
- Visual C++ Fundamental Types
- NIO Support
- Java Programming Tutorial - Java Native Interface (JNI)
- Never miss
--add-stdcall-alias
to preventUnsatisfiedLinkError
- Never miss
- Java programming with JNI(developerWorks, 26 March 2002)
- Advanced topics
- Local vs. global references, JNI's exception handling functions, Multithreading in native methods, Synchronization in native methods
- Advanced topics
- Get object from an object with JNI in C(Apr 3 '13)
- "The final semicolon is part of the signature!"
- NoSuchMethodError on JNI with ArrayList(Apr 19 '13)
- "You're missing a semi-colon on the end of the type signature, ..."
- JNI Tips
- Best practices for using the Java Native Interface(developerWorks, 07 July 2009)
- In JNI, how do I cache the class, methodID, and fieldIDs per IBM's performance recommendations?(May 16 '12)
- Troubles with JavaCpp on Windows
- for R6034 error
- solution : How to: Embed a Manifest Inside a C/C++ Application
- JNI system.loadlibrary problem - native C++ dll using C library(Apr 12 '11)
- NEVER use
'/MDd'
compiler option to preventjava.lang.UnsatisfiedLinkError
caused bymsvcr90d.dll
.
- NEVER use
- jni not support types as void*, unsigned int*, … What to do?(May 27 '11)
- use
jlong
to pass a pointer (or a pointer to pointer, or whatever) back to Java
- use
- JNI Performance - Welcome to the dark side(January 7, 2014)
- Caching jmethodID, jfieldID and jclass
- JNI ASYNCHRONOUS CALLBACKS (January 11, 2012)
- How to obtain JNI interface pointer (JNIEnv *) for asynchronous calls (Oct 15 '12)
- calling java method from c++ using JNI (Mar 12 '12)
- Convert char* to jstring in JNI, when char* is passed using va_arg(Jun 5 '13)
- Memory leak when calling java code from C using JNI (Aug 27 '09)
- ... when you are creating object from a native java-attached thread, it becomes bound to this thread stack frame, which will be destroyed only with this thread. ...
- debugging
- Debugging JNI C and Java code in Eclipse
- Debugging integrated Java and C C++ code
- Failed to execute MI command(13 June 2011)
- Don't forget to toggle on Non-stop mode
- performance
JavaFX
Javadoc
- Automatic Copying of Method Comments
{@inheritDoc}
tag - Java Doclet and Javadoc information presented by Zentech
- Javadocs and UML class diagrams with UMLGraphDoc
- Doclet.Com
Diagnostics
- Remote debugging a Java application (Jun 10 '09)
- Debug Java applications remotely with Eclipse (09 December 2008)
- Java Mission Control (Finally) Released!(September 10, 2013)
- Java Performance Checklist (Jan. 15, 16)
misc
- Top 10 JavaCodeGeeks posts for 2010
- Twitter drops Ruby - The Bullshit (Sep 18, 2013)
- Twitter’s Shift from Ruby to Java Helps it Survive US Election (Nov 09, 2012)
- Dynamically change classpath at runtime
- JAR Manifest Specification
- Load properties file in JAR?(May 12 '10)
- Open Source Code Analyzers in Java
- Redistribution of JDK 6
- Silent installation of JDK and JRE
- Silent installation of JRE
- Protect Your Java Code — Through Obfuscators And Beyond(20-Feb-2015)
- How can I set the process name for a Java-program?(Jun 29 '09)
- how to change the name of a Java application process? (May 19 '09)
- Run Console Applications & Batch Files, without any Window, in the background (April 21, 2011)
- Start a java program without the console (Apr 19 '11)
- 4 Techniques for Writing Better Java (Jul. 18, 17)
- Yet 4 More Techniques for Writing Better Java (Feb. 22, 18)
Java EE
- Java EE 7 Technologies
- Java EE 6 Technologies
- Java EE 5 Technologies
- Java EE 5 Schemas
- J2EE 1.4 Technologies
- The Java EE 6 Tutorial
- J2EE Transaction Propagation Attributes
Required
,RequiresNew
,NotSupported
, ...
- J2EE Transaction Propagation Attributes
- JSP Tutorial
- Be careful with Singleton Session Bean (01/31/2010)
- J2EE Transaction Frameworks: Building the Framework (04/26/2001)
- OpenEjb, Jetty and Maven - Transaction Management
- OpenEjb - Embedded Configuration
Expression Language (EL)
- JSR 341: Expression Language 3.0
- The Java EE 6 Tutorial > Expression Language
- Unified Expression Language for JSP and JSF(March 7, 2006)
JAX-RS
- JSR 311: JAX-RS: The Java API for RESTful Web Services
- JSR 339: JAX-RS 2.0: The Java API for RESTful Web Services
Batch
- An Overview of Batch Processing in Java EE 7.0(June 2013)
- JSR 352: Batch Applications for the Java Platform
- API
javax.batch.api
packageBatchlet
,AbstractBatchlet
javax.batch.api.chunk
packageItemProcessor
,ItemReader
,ItemWriter
javax.batch.api.chunk.listener
packageItemProcessListener
,ItemReadListener
,ItemWriteListener
javax.batch.api.listener
packageJobListener
,StepListener
javax.batch.api.partition
packagejavax.batch.operations
packagejavax.batch.runtime
packageJobExecution
,JobInstance
,StepExecution
,BatchStatus
javax.batch.runtime.context
packageJobContext
,StepContext
Java Programming
Logging
AOP
Testing
- Open-source test management tools
- Is there a way to ignore a single FindBugs warning? - edu.umd.cs.findbugs.annotations.SuppressWarnings
- JUnit 4 Vs TestNG -- Comparison
Debugging
Scala
Python
Go
- References
- Documentation
- Command Documentation
go get
: download and install packages and dependencies
- Package Documentation
- Sources
Readings
- Learn Concurrency
- Network programming with Go
- The GOPATH environment variable
- cmd/go: assume
GOPATH=$HOME/go
if not set
- 10 open source projects proving the power of Go (Nov 11, 2014)
Profiling
- Profiling Go Programs (24 June 2011)
- The output of
go tool pprof --help
- Profiling Go programs with pprof
- Profiling and optimizing Go web applications (March 13, 2017)
- Profiling and creating call graphs for Go programs with "go tool pprof" (2013-08-08)
- Profiling Golang
Frameworks
Libraries
Gorilla WebSocket
- https://github.com/gorilla/websocket
- Desc. : A WebSocket implementation for Go.
- Readings
Viper
- https://github.com/spf13/viper
- Desc. : a complete configuration solution for go applications including 12 factor apps.
- License : The MIT License
- Readings
- Using Viper for some Go basics (Oct 29, 2014)
- Configuration management in Go (using Viper) (Jan 14, 2017)
Cobra
- https://github.com/spf13/cobra
- Desc. : both a library for creating powerful modern CLI applications as well as a program to generate applications and command files.
- License : Apache License Version 2.0
Golang logging library
- https://github.com/op/go-logging
- implements a logging infrastructure for Go
Tools
Gocode
- https://github.com/nsf/gocode
- Desc. : An autocompletion daemon for the Go programming language
- License : MIT
Delve
- https://github.com/derekparker/delve
- Desc. : a debugger for the Go programming language.
- License : MIT
- Readings
pprof
- https://github.com/google/pprof
- Desc. : a tool for visualization and analysis of profiling data
- License
- Written in : Go
- Sources : https://github.com/google/pprof
- Readings
- End-user documentation
Ruby
- Ruby programming language
- RailsInstaller
- the quickest way to go from zero to developing Ruby on Rails applications.
- RubyGems Guide/Pattern
- 'Ruby Essentials' (a free on-line book)
- API
Readings
- What is
attr_accessor
in Ruby? (Dec 6 '10) - Ruby String Interpolation :
#{expression}
Metaprogramming
Design Pattern
misc
- SSL CERTIFICATE UPDATES
- to solve errors with SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed
Libraries
Rouge
- http://rouge.jneen.net/
- Desc. : An elegant, extendable code highlighter written in pure Ruby
- License : MIT license
- Sources : https://github.com/jneen/rouge
C, C++
C
- ISO/IEC 9899:TC3 Programming languages — C
- ISO/IEC 9899:201x Programming languages — C
- ANSI C Specification
- The C Library Reference Guide by Eric Huss
- C Library Reference
printf
functionwcstombs
function : Convert wide-character string to multibyte stringwcscat
function : Concatenate wide strings
- The C Book
- C Programming Tutorial
- C standard library (Wikipedia)
- C data types (Wikipedia)
- Wide character,
wchar_t
(Wikipedia)
- C project avoiding naming conflicts(Jun 20 '13)
- C library naming conventions(Jan 1 '10)
- Recursive Make Considered Harmful
- Why is abs(0x80000000) == 0x80000000?(Mar 29 '10)
- Include guard
- Multiple definition of a global variable(Jan 25 '13)
- What
extern
andstatic
mean ?
- What
- Effects of the extern keyword on C functions(May 13 '09)
- How do I use extern to share variables between source files in C? (Sep 16 '09)
- includes 'Best way to declare and define global variables' and 'Guidelines'
- In C++ source, what is the effect of
extern "C"
? (Jun 25 '09) - Get the length of
char
array orwchar_t
array at runtime - Efficient Compilation
- Understanding lvalues and rvalues in C and C++(December 15, 2011)
- Lvalues and Rvalues(MSDN)
- Pointer
- C pointer operator
&
: address operator,*
: indirection operator
- Programs as Data: Function Pointers
- What is a “callback” in C and how are they implemented?(Sep 27 '08)
- C pointer operator
- Concurrency
C++
- C++ Standard Library (Wikipedia)
- Standard Template Library (STL) (Wikipedia)
- provides four components called algorithms, containers, functional, and iterators.
- containers include
vector
,list
,deque
,set
,map
,hash_map
- GNU compiler toolchain (UNIX only)
- Microsoft compiler toolchain (Windows native)
- Library Reference of Wireshark Build Environment
- C++ dlopen mini HOWTO(2006-03-16)
- using
extern "C"
- using
- Header files(June 3rd, 2007)
cstdio
stdio.h
namespace (May 5 '12)- What do
__STDC_LIMIT_MACROS
and__STDC_CONSTANT_MACROS
mean? (Jun 12 '09) - Parameter-Passing Modes
- Value Parameters, Reference Parameters, vs. Const-Reference Parameters
- 'Passing arguments'/'Returning values' by reference, address, and value
- Passing arguments by reference(July 24th, 2007)
- Passing arguments by address(July 25th, 2007)
- Returning values by value, reference, and address(February 25th, 2008)
- Concatenate char arrays in C++(Jun 17 '14)
GCC
- The GNU C Reference Manual
- GNU C Library master sources
- GCC Predefined Macros
- GCC 5.1 Standard C++ Library API
- GCC 5.1 Standard C++ Library Manual
- GNU Coding Standards/Making The Best Use of C
- HOWTO Create and Deploy a Sample DLL using MinGW(November 20th, 2009)
- building C/C++ sources containing
__declspec(dllexport)
and__declspec(dllimport)
using MinGW
- building C/C++ sources containing
- How to suppress warnings about unused variables in C++?(Aug 6 '12)
- The
-Wno-__
options turn off the options set by-W__
.
- The
Visual C++
- Visual C++ Language Reference
- Fundamental Types
- Ranges of Integer Types
- Windows Data Types
LPBYTE
,LPVOID
,WCHAR
, ...
- Visual C++ Predefined Macros
- Visual C++ Function Reference(alphabetical list)
- Visual C++ Libraries Reference
- C++ Standard Library Reference
- MFC Reference
- MFC(Microsoft Foundation Class) : provides an object-oriented wrapper over much of the Win32 and COM APIs.
- AFX(Application Framework eXtensions) : an old name for MFC
- STL/CLR Library Reference
- STL/CLR Library : a packaging of the Standard Template Library (STL), a subset of the Standard C++ Library, for use with C++ and the .NET Framework common language runtime (CLR).
- ATL Reference
- ATL(Active Template Library) : a set of template-based C++ classes that simplify the programming of Component Object Model (COM) objects.
- File Types Created for Visual C++ Projects
- Visual C++ Building Reference
- Visual C++ LIB Reference
- Resource Compiler
- C Run-time Library(CLR) and Standard C++ Library
MSVCR100.DLL, MSVCP110.dll
, ...
- CRT Library Features (Visual Studio 2015)
- CRT Library Features (Visual Studio 2008)
- DLLs in Visual C++
- CRT Debugging Techniques
- Windows System Error Codes
- Visual C++ Deployment
- Choosing a Deployment Method
- Central deployment by using redistributable packages, Central deployment by using merge modules, Local deployment
- INF File Architecture
- INF Files
- Setup Information (.inf) Files
- Setup Information File (.inf) Definition
- Choosing a Deployment Method
- Visual Studio 6.0 Glossary - Nonalphabetic Terms
- definitions of
.DEF, .MAP, .LIB, .PCH, .PDB ...
- definitions of
- Locale ID (LCID) Values as Assigned by Microsoft
- Language Identifier Constants and Strings
- Code Page Identifiers
- Windows Programming
Language
- Using
extern
to Specify Linkage(MSDN) - MACRO Revisited(MSDN, 12 Aug 2011)
_UNICODE, UNICODE, _DEBUG, DEBUG, _WIN32, WIN32, _WINDOWS
- Using MFC as Part of a DLL
_WINDLL, _USRDLL, _AFXDLL
dllexport, dllimport
(MSDN)- What does
__declspec(dllimport)
really mean?(Jan 14 '12) - Microsoft Multilingual User Interface (MUI) and Visual Studio 2008
- Difference between LPVOID and void*(Jan 1 '10)
- Using Insertion Operators(<<) and Controlling Format
- Dynamic-link library(Wikipedia)
- Load-Time Dynamic Linking
- Run-Time Dynamic Linking
- Using Dynamic-Link Libraries
- Load-time dynamic linking, Run-time dynamic linking, Shared memory in a dynamic-link library, Thread local storage in a dynamic-link library
- Microsoft Visual C++ Static and Dynamic Libraries(26 Jul 2010)
- Working with Import Libraries and Export Files
- String
wchar_t
Is Native Type- Win32 Character Encodings
WCHAR
,LPSTR
,LPCSTR
(Constant Pointer),LPWSTR
(Wide Pointer),LPCWSTR
(Constant Wide Pointer),TCHAR
,LPTSTR
(TCHAR Pointer),LPCTSTR
(Constant TCHAR Pointer)
- Wide Characters and Windows
TEXT
macro- Using
CString
- Unicode and Character Set Functions
- String Functions
- Strsafe Functions
StringCbCopy
functionStringCbCopy
,StringCbCopyA
, andStringCbCopyW
StringCchPrintf
function
- Format Specification Syntax:
printf
andwprintf
Functions strlen, wcslen, _mbslen, _mbslen_l, _mbstrlen, _mbstrlen_l
: Gets the length of a stringwcstombs, _wcstombs_l
: Converts a sequence of wide characters to a corresponding sequence of multibyte characters.strcat, wcscat, _mbscat
: Appends a stringatoi, _atoi_l, _wtoi, _wtoi_l
: Convert a string to integer.
- Concurrency
Libraries
windows.h
windows.h
(in MinGW)winbase.h
(in MinGW)windef.h
(in MinGW)sdkddkver.h
(in MinGW)- Microsoft Windows library files(Wikipedia)
KERNEL32.DLL
,GDI32.DLL
,USER32.DLL
,MSVCRT.DLL
,MSVCPP.DLL
- Windows Dynamic-Link Library Functions
- Process and Thread Functions
- Error Handling Functions
Build
- Do-It-Yourself Solution for msvcp90d.dll Problems
- seems to be incorrect but informative
- How to: Set Debug and Release Configurations
- Project Settings for a C++ Debug Configuration
- HowTo: Export C++ classes from a DLL (13 Nov 2012)
- Exporting from a DLL Using DEF Files
- Module-Definition (.Def) Files
- DLL Module-Definition Files
- Creating Precompiled Header Files
- The Visual C++ Linker best practices: Developer Iteration(29 Oct 2013)
- How to use precompiled headers efficiently (using /Yc and Yu options)?(Mar 3 '11)
- Dynamic-Link Library Search Order
- IExpress Technology and the IExpress Wizard
- Working with Setup Information (.inf) Files
- INF + SED
- How to detect the presence of the Visual C++ 9.0 runtime redistributable package(29 Jan 2009)
- Preparing a Test Machine To Run a Debug Executable
- Debug versions of an application are not redistributable, and debug versions of the Visual C++ library DLLs are not redistributable.
- Build Macro
- Macros for Build Commands and Properties
$(Configuration), $(ProjectDir), $(TargetDir), $(TargetPath), $(TargetName), $(VSInstallDir), $(VCInstallDir), $(FrameworkDir), $(FrameworkVersion)
- Add User Macro Dialog Box
- Macros for Build Commands and Properties
- Link
- Resource Script
- PE (Portable Executable)
- Portable Executable(Wikipedia)
- Peering Inside the PE: A Tour of the Win32 Portable Executable File Format(March 1994)
- PDB
- Program Database Files (C++)(MSDN, March 2011)
- PDB Files: What Every Developer Must Know(8 MAR , 2014)
- Where the debugger looks for the PDB files. How the source file information is stored in a PDB file.
- Do PDB Files Affect Performance?(8 MAR , 2014)
- Correctly Creating Native C++ Release Build PDBs(8 MAR , 2014)
Testing
- Unit Tests and C++
- Unit testing existing C++ applications with Test Explorer
- Writing Unit tests for C/C++ with the Microsoft Unit Testing Framework for C++
Debugging
- Diagnosing SideBySide failures(14 Apr 2006)
- Part 1: Troubleshooting VC++ Side by Side Problems(7 Aug 2008)
- Part 2: Troubleshooting VC++ Side by Side Problems(7 Aug 2008)
- Getting Started with Windows Debugging
Monitoring
C#
- Interpolated Strings
- Arrays Tutorial
- C# Catching and Throwing Standard Exception Types
- Best Practices for Exceptions
- Structuring Solutions and Projects (January 2002)
- .NET project structure
- General Structure of a C# Program
- C# Coding Standards and Naming Conventions
- C# Coding Style Guide
- .NET Framework Naming Guidelines
- .NET Framework 1.1 Naming Guidelines
- C# Coding Conventions
- The Fine Art of Commenting
- Recommended Tags for Documentation Comments
- Strings in C# and .NET
- Cleaning Up Unmanaged Resources
- Using Objects That Implement
IDisposable
- How to create Microsoft Access database in C# programmatically?(Jan 24 '11)
- C# documentation generator? (Mar 13 '09)
- Collections :
List
,Dictionary
,ArrayList
,Hashtable
,ConcurrentDictionary
, ... - Does C# 6.0 work for .NET 4.0? (Mar 8 '15) : Yes (mostly)
R
HTML
- W3C HTML Current Status
- HTML 4.01 Specification
- XHTML 1.0 Specification
- HTML5 Specification
- HTML syntax
- HTML events
- URL Encoding (Wikipedia)
- HTML 4 Reference at WDG
- HTML Tutorial at W3Schools
- HTML5 Tutorial at W3Schools
- Compatibility tables for support of HTML5, CSS3, SVG and more in desktop and mobile browsers
- HTTP Gallery
- Is it possible to change width of tab symbol in textarea?
- Why must we still close SCRIPT elements?
- Comparison of HTML parsers
- Parsing HTML Table using Java XPath
- Void elements of HTML5
area, base, br, col, command, embed, hr, img, input, keygen, link, meta, param, source, track, wbr
- a "/" character, which may be present only if the element is a void element.
- Void elements only have a start tag; end tags must not be specified for void elements.
- HTML5 Custom Data Attributes (data-*) (May 27th, 2010)
Named Entity
Entity | Name | Remarks |
---|---|---|
• | •
|
bullet |
· | ·
|
middle dot |
∑ | ∑
|
summation |
- HTML 4 Entities
- HTML ISO-8859-1 Reference
- HTML Symbol Entities Reference
- List of XML and HTML character entity references
- Character entity references in HTML 4 (in HTML 4.01 Specification)
- Named character references in HTML5 Working Draft
Form
- Form (HTML) (Wikipedia)
- HTML 4.01 Spec
application/x-www-form-urlencoded
- HTML 4.01 Spec
multipart/form-data
- The
application/x-www-form-urlencoded
type (Wikipedia)
MIME
SVG
- SVG 1.1 Specification
- SVG Tutorial at W3Schools
- SVG Essentials (J. David Eisenberg, 2002, O'Reilly)
- SVG Tutorial at PrinceXML
- Box model properties (margin, padding) for SVG element. Are they supported?
- CSS padding property for svg elements
- SVG Viewport and View Box
Canvas
- HTML 5 Draft/The canvas element
- HTML Canvas Reference
- WebKit DOM Programming Topics > Using the Canvas
- Canvas tutorial at MDN
- HTML5 canvas - the basics
Schema.org
CSS
- References and Tutorials
- Articles
- Vendor-specific CSS Properties
- CSS Rounded Corners In All Browsers (With No Images)
- Writing efficient CSS for use in the Mozilla UI
- The 100% Easy-2-Read Standard (17. November 2006)
- A Complete Guide to the Table Element(SEPTEMBER 19, 2013)
- Selector
- The CSS3 :Not() Selector
- CSS combinator precedence?
- CSS Target All H Tags (Sep 24 '11)
- The answer is None with CSS standard.
- Are parentheses allowed in CSS selectors? (Mar 29 '11)
- The answer is No with CSS standard.
- Box model
- Positioning
- Font
- CSS Font-Size: em vs. px vs. pt vs. percent
- The Perfect Paragraph (November 29th, 2011)
- How to Size Text in CSS (November 20, 2007)
- Design for Developers
- What’s The Best Font & Font Size To Use In Website Design? (December 23rd, 2007)
- Pseudo-classes/Pseudo-elements
- Collections
- Fonts
- Consolas
- ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz 0123456789
- Consolas
JavaScript
- References and Guides
- ECMAScript Language Specification 5.1 Edition
- Annotated ECMAScript 5.1
- JavaScript at Mozilla Developer Network(MDN)
- JavaScript Reference at Mozilla Developer Network
- Global Objects - Value properties and Function properties
- Standard built-in objects
null
: only literal not a property of the global objectObject.preventExtensions()
,Object.seal()
,Object.freeze()
,Object.defineProperty()
Object.prototype.constructor
Object.prototype.__proto__
- API of
Array
object - API of
RegExp
object
- JavaScript Guide at Mozilla Developer Network
- JavaScript Tutorial at W3Schools
- The JavaScript Tutorial
- Books
- Speaking JavaScript (by Dr. Axel Rauschmayer, February 2014, O'Reilly)
- Articles
- Douglas Crockford's Javascript
- Learn Advanced JavaScript Programming
- JavaScript. The core
- Learning Advanced JavaScript
- Google JavaScript Style Guide
- How to insert <script> with Prototype?
- Multiline string literals in JavaScript
- Google Libraries API - Developer's Guide
- Principles of Writing Consistent, Idiomatic JavaScript
- Memory Management in JavaScript
- Web-Drawing Throwdown: Paper.js Vs. Processing.js Vs. Raphael
- Wiki visualisations with JavaScript: Processing.js and Raphaël
- ECMAScript 5 Strict Mode, JSON, and More
- ECMAScript 5 Objects and Properties
- Global Domination (June 1st, 2006)
- Optional parameters in Javascript
- Unicode and JavaScript
- Object
- Self-references in object literal declarations
- Javascript - How to clone an object? (Nov 1 '11)
- Most elegant way to clone a JavaScript object
- Enums in Javascript (January 26, 2014)
- Javascript redefine and override existing function body (Aug 29 '12)
- What's wrong with extending the DOM (5 April 2010)
- Using Prototype Property in JavaScript
- The "constructor" property
- Some Javascript constructor patterns, and when to use them (November 14, 2013)
- JavaScript:
prototype
vs__proto__
(Jun-18/2012) - __proto__ VS. prototype in JavaScript (Mar 31 '12)
- Scope
- JavaScript Scoping and Hoisting (2010-02-08)
- Hoisting
- JavaScript “this” keyword
- An Introduction to JavaScript’s “this”
- Can't understand yet. --;
- Scope in JavaScript
- Closure
- IIFE
- Immediately-invoked function expression (Wikipedia)
- Immediately-Invoked Function Expression (IIFE) (By "Cowboy" Ben Alman on November 15, 2010)
- I Love My IIFE (Jan 5th, 2013)
- An Introduction to IIFEs(25 August 2013)
- How does this JavaScript/JQuery Syntax work: (function( window, undefined ) { })(window)? (Apr 26 '10)
- How I Introduced JsDoc into a JavaScript project – and found my Eclipse Outline (February 1, 2012)
- Modulization
- Performance
- JavaScript Array.push Performance (15 Oct 2010)
- Why is array.push sometimes faster than array[n = value? (Mar 5 '09)
- Array
Array.prototype.slice.call
([].slice.call(arguments)
)
- RegExp
- Collections
- jswiki - indexes libraries and resources available for JavaScript
- List of JavaScript libraries
- Cool Javascripts
- 16 Javascript Libraries for Visualizations
- 20 Best JavaScript Charting and Plotting Libraries
- 20 Fresh JavaScript Data Visualization Libraries
- Fastest Growing JavaScript Libraries
- 6 JavaScript Date Libraries for Developers
- Samples for JavaScript library packaging
XML
- W3C XML Current Status
- XML 1.1 Specification
- XML 1.0 Specification
- Namespaces in XML 1.1 Specification
- Namespaces in XML 1.0 Specification
- xml:id Version 1.0
- Uniform Resource Identifier (URI) Schemes
- XML Tutorial at W3Schools
- DTD tutorial
- Excerpt from 'The XML Bible' 2nd edition
- Concepts
- character reference
- a specific character in the ISO/IEC 10646 character set, for example one not directly accessible from available input devices.
CharRef ::= '&#' [0-9]+ ';' | '&#x' [0-9a-fA-F]+ ';'
- entity reference
- the content of a named entity.
EntityRef ::= '&' Name ';'
- character reference
- Hide (Localize) Versus Expose Namespaces
- Make DocumentBuilder.parse ignore DTD references
- Attribute-Value Normalization
- What does normative and non-normative mean in reference to XML(Jun 21 '11)
- XML comments and "--"(May 31 '12)
DOM
- W3C DOM Technical Reports
- DOM Level 3 Core Specification
- DOM Level 3 Events Specification
- DOM Reference at MDN
- DOM Objects and Events at MSDN
- DOM configuration parameters
- pseudo code for namespace normalization
SAX
XML Pull Parsing
XML Schema
- XML Schema Part 0: Primer Second Edition
- XML Schema Part 1: Structures Second Edition
- XML Schema Part 2: Datatypes Second Edition
- W3C XML Schema Definition Language (XSD) 1.1 Part 1: Structures
- W3C XML Schema Definition Language (XSD) 1.1 Part 2: Datatypes
- XML Schema Tutorial at W3Schools
- XML Schemas: Best Practices
- Develop effective XML documents using structural design patterns
- An introduction to XML Schema 1.1
- XML Schema 1.1 Tutorial
- What's the best way to version schemas?
- XML Schemas: Best Practices ? Versioning
- Sample schema - Purchase Order schema from XML Schema specification
- Difference between xsd:key and xsd:unique
- Enforcing Association Cardinality (June 26, 2002)
- XML Schema 1.1 Assertions
- How Xerces-J uses an XPath 2.0 engine for XML Schema 1.1 assertions and type alternatives?
- Composition versus Subclassing
- Creating a Unique Constrant with an XSD
- XML schema unique validation is not working
- Best Practices- XSD
minOccurs
andmaxOccurs
insidechoice
(Oct 14 '13)- XML Schema -
maxOccurs
withinchoice
element(Nov 8 '13)
- XML Schema samples
XSLT
- XSLT 2.0 Specification
- XSLT 2.0 and XQuery 1.0 Serialization Parameters
- XSLT 1.1 Specification
- XSLT DTD
- Re-using nested XSL templates
- How to Transform the Results from Findbugs, Checkstyle and PMD to HTML Report with XSLT 2.0 and Java?
XPath
- 3.0
- 2.0
- XPath 2.0 Specification (Second Edition)
- Matching an ItemType and an Item
- Path Expressions
- Unabbreviated Syntax
node()
: all the children of the context node (no attribute nodes are returned, because attributes are not children.)*
: all element children of the context nodetext()
: all text node children of the context node@*
: all the attributes of the context node
- Operator Mapping
- Sequence Expressions
- For expression (
for
~in
expression is in XPath not XQuery !)
- For expression (
- XQuery 1.0 and XPath 2.0 Data Model (Second Edition)
- XQuery 1.0 and XPath 2.0 Functions and Operators (Second Edition)
- XPath 2.0 Specification (Second Edition)
- XPath Syntax and Semantics (at Wikipedia)
- XPath Tutorial at W3Schools
- XSLT, XPath, and XQuery Functions
- XPath tutorial - basics
- XPath Function Library of Saxon
- Location Steps and Paths in XPath
- XPath Expression Syntax
- How to retrieve namespaces in XML files using Xpath
- How do I use XPath with a default namespace with no prefix?(Mar 26 '10)
- XPath 2.0 Gems: Find all duplicate values in a sequence (Part 2)
XQuery
- XQuery 3.0 Specification (W3C Candidate Recommendation)
- XQuery 1.0 Specification
- XML Query Implementations
- XQuery Tutorial at W3Schools
- XQuery tutorial - basics
- Get Started With XQuery
- XQuery on Wikibooks
- FunctX XQuery Function Library
- An XQJ Tutorial: Introduction to the XQuery API for Java
- Blooming FLWOR - An Introduction to the XQuery FLWOR Expression
- Saxon XQuery Extensions
XML Catalogs
- XML Catalogs 1.1 Specification (7 October 2005)
- XML Entity and URI Resolvers
- How to write an XML catalog file
- Apache XML Commons/Resolver/Overview
RELAX NG
- RELAX NG home page
- RELAX NG Specification
- RELAX NG Compact Syntax
- RELAX NG Compact Syntax Tutorial
- 'RELAX NG'(Book written by Eric van der Vlist)
- RELAX NG Samples
Schematron
- Schematron introduction
- An Introduction to Schematron(November 12, 2003)
- ISO Schematron tutorial
- Discover the flexibility of Schematron abstract patterns(08 October 2004)
- Combining Schematron with other XML Schema languages(2010)
- Combining Schematron with W3C XML Schema Validation(MSDN, September 2004)
Web Services Notification
- Web Services Notification : a set of specifications that standardise the way Web services interact using "Notifications" or "Events".
- OASIS Web Services Notification (WSN) TC
- WS-BaseNotification 1.3
- WS-BrokeredNotification 1.3
- WS-Topics 1.3
DocBook
- "DocBook 5.1: The Definitive Guide" by Norman Walsh
- "DocBook: The Definitive Guide" by Norman Walsh and Leonard Muellner
- "DocBook XSL: The Complete Guide 4th Edition" by Bob Stayton
- DocBook XSL Stylesheets: Reference Documentation
Dublin Core Metadata
- Dublin Core at Wikipedia
- The Dublin Core Schema is a small set of vocabulary terms that can be used to describe web resources (video, images, web pages, etc.), as well as physical resources such as books or CDs, and objects like artworks.
- DCMI Metadata Terms
- Dublin Core Metadata Element Set, Version 1.1
- Dublin Core User Guide
- Guidelines for implementing Dublin Core in XML
- Expressing Dublin Core metadata using HTML/XHTML meta and link elements
- Simple Dublin Core
GraphML
WADL
- WADL(Web Application Description Language) : a XML description of a deployed RESTful web application.
XAML
- XAML(eXtensible Application Markup Language) : a declarative XML-based language developed by Microsoft that is used for initializing structured values and objects.
Code
- ASCII (
US-ASCII
,ISO646-US
128 characters) ISO/IEC 8859-1
(ISO-8859-1
,ISO-LATIN-1
, 256 characters)- Unicode (more than 120,000 characters)
- Universal Coded Character Set (
ISO/IEC 10646
)- positions 0 through 255 of ISO/IEC 10646 and Unicode are the same as in ISO-8859-1, alias ISO Latin 1.
- positions 0 through 127 of ISO/IEC 10646 and Unicode are the same as in ISO/IEC 646.
- the 128 ASCII and 256 ISO-8859-1 (Latin 1) characters are assigned Unicode/UCS code points that are the same as their codes in the earlier standards.
- Character Sets
- Windows Code Page Identifiers
- ISO 639 : Codes for the representation of names of languages
- ISO 3166-1 : Codes for the representation of names of countries and their subdivisions – Part 1: Country codes
- UNSPSC(United Nations Standard Products and Services Code)
- a taxonomy of products and services for use in eCommerce
- US Airports Code
- Unicode code point
- "U+" followed by its hexadecimal number.
- e.g. U+0058, U+E0001, U+10FFFD
- HTML numeric character reference
- "&#" + decimal number + ";" or "&#x" + hexadecimal number + ";"
- e.g. ¨, ¨, ♠, ♠
- Naming References
- Infinity Stones : six immensely powerful objects tied to different aspects of the universe, created by the Cosmic Entities
- Gemstone Type List
- 15 Constellations Every Man Should Know
- List of brightest stars
Punctuation
- Punctuation(Wikipedia)
- Portable Character Set in Single UNIX Specification, Version 2
- ASCII Punctuation and Number Characters
- POSIX punctuation character (
!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~
)
Name | Symbol | HTML 4.0 Entity | Remarks |
---|---|---|---|
parentheses | ( ) | round brackets, curved brackets, oval brackets | |
square brakets | [ ] | brakets | |
braces | { } | curly brackets, flower brackets | |
guillemets | « » | « » | |
single quotation mark | ‘ ’ | ‘ ’ | |
double quotation mark | “ ” | “ ” | |
period | . | full stop, dot, point | |
ellipses | … | … | |
question mark | ? | ||
exclamation mark | ! | ||
comma | , | ||
colon | : | ||
semicolon | ; | ||
dash | – — | – — | |
hyphen | ‐ | ||
apostrophe | ' | ||
slash | / |
Typography
Name | Symbol | HTML 4.0 Entity | Remarks |
---|---|---|---|
tilde | ~ | ˜ | |
grave accent | ` | ||
at sign | @ | ||
number sign | # | pound sign, hash mark | |
percent | % | ||
caret | ^ | ||
circumflex | ˆ | ˆ | |
ampersand | & | & | |
asterisk | ∗ | ∗ | star |
underscore | _ | understroke | |
backslash | \ | ||
vertical bar | pipe, stick, vertical slash, thick colon | ||
pilcrow | ¶ | ¶ | paragraph mark, paragraph sign |
bullet | • | • | |
section sign | § | § | |
prime | ′ | ′ | minutes, feet |
double prime | ″ | ″ | seconds, inches |
therefore sign | ∴ | ∴ |
Unicode
- Unicode and JavaScript
- Kind explain of important unicode concepts
- Unicode Character Encoding Model
- Unicode 8.0.0(Released: 2015 June 17)
Date Time
- ISO 8601
- Internet Date/Time Format
- RFC 3339 - Date and Time on the Internet: Timestamps
- RFC 5546 - Internet Calendaring and Scheduling Core Object Specification (iCalendar)
foo
must be an RFC 3339 date-time- What's the difference between ISO 8601 and RFC 3339 Date Formats? (Feb 6 '09)
- Unix time (aka POSIX time or epoch time)
Timezone
- Java
java.util.TimeZone
APIjava.time.ZoneId
APIjava.util.Date
API- explains difference between GMT and UTC
Locale
- List of ISO 639-1 codes : a standardized nomenclature used to classify languages
- ISO 15924 : codes for the representation of names of scripts
- ISO 3166-1 alpha-2 : two-letter country codes
java.util.Locale
APIgithub.com/go-playground/locales
package
Color Space
- Color space (Wikipedia)
- RGB (MultimediaWiki)
- Color Formats
Codec
- Codec(Wikipedia)
- a device or computer program capable of encoding or decoding a digital data stream or signal.
- coder-decoder or compressor-decompressor
- List of codecs
javax.imageio
pacakge info
JPEG
PNG
GIF
BMP
FLV and F4V
- Flash Video(Wikipedia)
- a container file format used to deliver video over the Internet using Adobe Flash Player version 6 and newer.
- FLV and F4V File Format Specification
Data Format
- Fielded Text
- TLV (Type-Length-Value)
- Schema evolution in Avro, Protocol Buffers and Thrift
- Thrift vs Protocol Buffers vs Avro - Biased Comparison (Sep 17, 2012)
JSON
- Can I comment a JSON file?
- Converting a JSON Text to a JavaScript Object
- The answer is No.
- JSON configuration file format(2011/05/08)
- Comparison of Protobuff, Thrift, Avro, etc (27 May 2011)
JSON Schema
- The home of JSON Schema
- JSON Schema : A Media Type for Describing JSON Documents
- JSON Schema Validation : A Vocabulary for Structural Validation of JSON
- JSON Schema Implementations
- Internet-Draft : JSON Schema: core definitions and terminology
- Internet-Draft : JSON Reference
- JSON Schema Core/Validation Meta-Schema
- Understanding JSON Schema
- JSON Schema Schema
- JSON Schema Store : A collection of JSON schemas
- JSON - Schema
- JSON Schema: specifying and validating JSON data structures
- Validating JSON with Schemas
- Recursive entity representation in JSON schema
JSON Path
JSON Pointer
JMESPath
- http://jmespath.org/
- Desc. : a query language for JSON
- Sources : https://github.com/jmespath
- Readings
YAML
- YAML on Wikipedia
- The official YAML web site
- YAML 1.2 Specification
- Language-Independent Types for YAML Version 1.1
!!map !!omap !!pairs !!set !!seq !!binary !!bool !!float !!int !!merge !!null !!str !!timestamp !!value !!yaml
- The YAML Format
- Strings : single-quoted string, double-quoted string, unquoted string
- Learn X in Y minutes Where X=yaml
- YAML - Anchors, References, Extend (21 Feb 2016)
- YAML Multiline
|, |-, |+, |-2, >, >-, >+, >+2
Protocol Buffers
- Protocol Buffers - Google's data interchange format
- Protocol Buffers homepage
- a language-neutral, platform-neutral extensible mechanism for serializing structured data.
HOCON
TOML
- TOML : Tom's Obvious, Minimal Language
- TOML (on Wikipedia)
- TOML Wiki
Multimedia
Video
- Video compression picture types (Wikipedia)
- I-frame, P-frame, B-frame
- H.264/MPEG-4 AVC
- Internet Connection Speed Recommendations
- SD : 3.0Mbps, HD : 5.0Mbps, UHD : 25Mbps
- What is the bandwidth requirement to stream a 1080p HD movie off a remote server? (Oct 20, 2013)
Architecture and Model
- Manifesto for Agile Software Development(2001)
- Manifesto for Software Craftsmanship(2009)
- The Reactive Manifesto
- The Death of the Architect (Dec. 24, 17)
Architecture
- REST(REpresentational State Transfer) (Wikipedia)
- HATEOAS(Hypermedia As The Engine Of Application State) (Wikipedia)
- Microservices (Wikipedia)
- One codebase tracked in revision control, many deploys
- Explicitly declare and isolate dependencies
- Store config in the environment
- Treat backing services as attached resources
- Strictly separate build and run stages
- Execute the app as one or more stateless processes
- Export services via port binding
- Scale out via the process model
- Maximize robustness with fast startup and graceful shutdown
- Keep development, staging, and production as similar as possible
- Treat logs as event streams
- Run admin/management tasks as one-off processes
Pattern
- Software design pattern
- Design Patterns
- GRASP (General Responsibility Assignment Software Patterns)
- SOLID (Single responsibility, Open-closed, Liskov substitution, Interface segregation and Dependency inversion)
- P of EAA(Patterns of Enterprise Application Architecture)
- DRY (Don't Repeat Yourself)
- Divide and Conquer
- Design Patterns: Elements of Reusable Object-Oriented Software (by Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides)
- Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development (by Craig Larman)
- Builder pattern(Wikipedia)
- The freeze thaw pattern
- The Singleton Pattern, 20 Years Later (Apr. 06, 16)
UML
- UML Tutorial by Sparx Systems
- UML 2 Tutorial by Sparx Systems
- UML 2.5 Diagrams Overview
- Allen Holub's UML Quick Reference
- UML basics: An introduction to the Unified Modeling Language
- UML basics: The class diagram
- UML basics: The sequence diagram
- UML basics: The component diagram
- A Quick Introduction to UML Sequence Diagrams
- Business Modelling: UML vs. IDEF
- UML Association Reference
Data Modeling
- Database normalization (Wikipedia)
- Database Normalization Basics
- Database Normalization (Mar 22, 2000)
- A Universal Person and Organization Data Model (July 1, 2002)
- Party domain model
- Party Data Model
- Data Model for Parties, Roles and Customers (January 24th. 2014)
Process Modeling
CORBA
- The CORBA Component Model (September 01, 2004)
REST
- Representational state transfer (Wikipedia)
- Representational State Transfer (REST)
- HATEOAS(Hypermedia As The Engine Of Application State) (Wikipedia)
- List of HTTP header fields (Wikipedia)
- List of HTTP status codes (Wikipedia)
- HTTP ETag (Wikipedia)
- OpenAPI Specification Ver. 2.0
- OpenAPI Specification Ver. 3.0.0-rc0
- OData (Open Data Protocol)
- an OASIS standard that defines a set of best practices for building and consuming RESTful APIs.
- OData Documentations
- RESTful Web Services Cookbook (Subbu Allamaraju, O'Reilly, March 2010)
- Best Practices for Designing a Pragmatic RESTful API (4 Jun 2013)
- REST API Syntax (24 Oct 2014)
- GitHub API Overview
- Schema, Parameters, Client Errors, Authentication, Rate Limiting, User Agent Required, Conditional requests, Cross Origin Resource Sharing, Timezones
- Twitter API > Things Every Developer Should Know
- Twitter API > Security
- Twitter API > Error Codes Responses
- New v2 API: What’s Not There Is Just As Important As What Is
- Imgur API Version 3 > Error Handling
- Understanding REST Parameters
- Resource Parameters, QUERY Parameters, HEADER parameters, TEMPLATE Parameters, MATRIX Parameters
- REST API Best practices: Where to put parameters? (Oct 26 '10)
- Understanding REST Headers and Parameters
- When and How to Use Custom HTTP Headers
Accept-Language
used for locale setting- The 5 laws of API dates and times (March 20, 2013)
- GitHub API > Timezones
- GitHub API > Traversing with Pagination
- API Rate Limits of Twitter API
- Examples of HTTP API Rate Limiting HTTP Response headers (Apr 15 '13)
- Google Drive APIs > REST > Batching Requests
- Batch Processing (OData Version 3.0)
- Examples
Software Development Process
- Rational Unified Process
- RUP (Wikipedia)
- Four project life-cycle phases
- Inception phase
- Elaboration phase
- Construction phase
- Transition phase
- Six engineering disciplines
- Business modelling
- Requirements
- Analysis and design
- Implementation
- Test
- Deployment
- Three supporting disciplines
- Configuration and change management
- Project management
- Environment
UI, UX
- List of common generic widgets
- button, check box, radio, list box, drop-down list, combo box, spinner, slider, text box, tree, grid, menu, menu bar, toolbar, label, tooltip, balloon help, status bar, progress bar, inforbar
- Media controls
- Basic Timeline Elements
- Off-Canvas Top
Real-time graph
- D3.js/Path Transitions (January 19, 2012)
- Create Real-Time Graphs with PubNub and D3.js
- D3 Real-Time streamgraph (Graph Data Visualization)
Data Warehouse and Business Intelligence
- Data Warehousing Overview
- Data Warehouse Architectures
- Staging Area, Enterprise Warehouse, Data Marts
- Data Warehouse reference architecture(September 26, 2011)
- Data warehouse architectures and development strategy(PDF)
Software Configuration Management
- Semantic Versioning
- Public/Project Versioning - Best Practices
- Working with conflicting changes
- 'Override and Update' and 'Mark as Merged' in Eclipse's Team CVS plug-in are clearly explained with simple case.
- M2E updatesite and gittags
- Best practice on version control policies
- Making Subversion Releases
- Eclipse Version Numbering
major.minor.service.qualifier
- .NET Framework Assembly Versioning
<major version>.<minor version>.<build number>.<revision>
- Maven Project Versions
<major version>.<minor version>.<incremental version>-<qualifier>
- APR's Version Numbering
Versions are denoted using a standard triplet of integers: MAJOR.MINOR.PATCH. The basic intent is that MAJOR versions are incompatible, large-scale upgrades of the API. MINOR versions retain source and binary compatibility with older minor versions, and changes in the PATCH level are perfectly compatible, forwards and backwards.
- Looking for free Github (enterprise/FI edition) alternative for private installation
Issue Tracking
- Life Cycle of a Bug in Bugzilla 4.0
- The Trac Ticket Workflow System
- Working with workflows in JIRA 7.0
Contents Management
Wiki
- MediaWiki
- Markdown
- MultiMarkdown
- a tool to help turn minimally marked-up plain text into well formatted documents, including HTML, PDF (by way of LaTeX), OPML, or OpenDocument (specifically, Flat OpenDocument or ‘.fodt’, which can in turn be converted into RTF, Microsoft Word, or virtually any other word-processing format).
- AsciiDoc
- a text document format for writing notes, documentation, articles, books, ebooks, slideshows, web pages, man pages and blogs.
- Comparison of wiki hosting services
- Lightweight markup conversion using Eclipse WikiText.
WikiText provides Ant tasks to convert markups to HTML, DocBook, Eclipse help or XSL-FO - Restarting Redmine without restarting Apache
- Technical Writing in a Wiki -- Single Source Publishing
- CSV Converter
- allows you to enter a table in CSV-format and convert it to HTML or the WikiMedia format for tables.
Textile
- TxStyle · Textile Documentation
- Official reference manual for Textile 2
- Online form for trying out Textile 2 syntax
- Original Textile
- Textile Reference
- Textile Reference Manual for RedCloth 4
MediaWiki Markup
- Markup spec
- Help Contents
- Help:Formatting
- Help:Links
- Help:List
- Help:Images
- Help:Tables
- Help:Templates
- Real-world examples of Wikipedia
Markdown
- Markdown Syntax
- SourceForge Markdown Syntax Guide
- Markdown tutorial at CommonMark
- Markdown quick reference
- Mastering Markdown
Confluence
UNIX, Linux
Windows
- Microsoft DOS and command prompt
- An A-Z Index of the Windows CMD command line
- Windows CMD Shell Command Line Syntax
- An A-Z Index of Windows VBScript commands
- An A-Z Index of Windows PowerShell 2.0 commands
- "Pushing the Limits of Windows" series
- Windows 7 Usage Guides, How-To Hacks, Tips and Tricks (Complete List)
- Windows Installer Command-Line Options
- Windows Installer Property Reference
- Windows Confidential: The hidden variables
- You can use any System environment variable to help define a User environment variable.
- You can use a predefined per-user environment variable to help define a User environment variable.
- But you can’t use a per-user environment variable to help define a System environment variable.
- Administering the offline address book in Outlook
- Advanced tips for searching in Windows
- For Windows 7 or higher
- Make Windows Search a Million Times More Useful with These Simple Tweaks(2/23/12)
- No buffer space available (maximum connections reached?)(Feb 10 2012)
MaxUserPort
, non-paged pool exhaustion
- x86 and ia64 and x64, oh my!(17 Feb 2005)
x86
: support only 32-bit,x64
: support both 32-bit and 64-bit (amd64
,em64t
),ia64
: support only 64-bit
- Download Internet Explorer 11 Offline installer
- Change security and privacy settings for Internet Explorer 11
- Do Not Track, InPrivate Browsing, Tracking Protection
- Thinkpad T440P no option to disable touchpad when external mouse is connected (11-08-2014)
Batch Programming
- Batch Guide
- Windows Batch Scripting
- Using batch parameters
- parameter modifier, percent tilde,
%~1, %~f1, %~d1, %~p1, %~n1, %~t1, %~z1, %~dp0
- parameter modifier, percent tilde,
- What does %~dp0 mean, and how does it work?(Feb 17 '11)
- String processing
- Windows cmd.exe Variable Substitutions
- Parsing file or string
- using
FOR /F
command
- using
- DOS - String Operations
- DOS - String Manipulation
- substring(left, mid, right), replace, trim, lookup, concatenation
- Escape Characters, Delimiters and Quotes
- Delayed Expansion (
EnableDelayedExpansion
) - windows batch files: setting variable in for loop (Apr 10 '11)
- Usage of delayed expansion
- BAT file to create Java CLASSPATH(Feb 7 '09)
- Logical operators (“and”, “or”) in DOS batch(Jan 26 '10)
IF
statement does not support logical operators (AND and OR)
- Long commands split over multiple lines in Vista/DOS batch (.bat) file(Sep 16 '08)
- Batch - Compare variable with regular expression (Apr 19 '14)
Command
- What does
cmd /C
mean? - Windows equivalent of the Linux command
touch
? (Jan 25 '10) setx
Set environment variables permanently- How do I change my cmd.exe to English?(Oct 14 '11)
C:\>chcp 437
: for EnglishC:\>chcp 949
: for Korean
- Complete Guide to Symbolic Links (symlinks) on Windows or Linux
Disk Partitioning
- A Description of the Diskpart Command-Line Utility
DiskPart
command- Basic and Dynamic Disks
- How Basic Disks and Volumes Work
- What Are Dynamic Disks and Volumes?
- Change a Master Boot Record Disk into a GUID Partition Table Disk
- Hack to Remove 100 MB System Reserved Partition When Installing Windows 7
- When not to convert basic disks to dynamic disks
- How to extend a data volume in Windows Server 2003, in Windows XP, in Windows 2000, and in Windows Server 2008
- Resizing an extended partition
Hyperthreading
- How to determine if your system is hyperthreaded on Windows
- When HyperThreading hurts (May 2015)
- Disable Hyperthreading when Windows 7 already installed. Possible without reinstallation? (6/29/2010)
Process
Networking
ROUTE.exe
- Manipulate network routing tables.
Route
(TechNet)PATHPING
- Trace route and provide network latency and packet loss for each router and link in the path.
- Using the pathping command(January 21, 2005)
- Pathping (TechNet)
- PathPing (Wikipedia)
TRACERT
- Find the IP address of any remote host.
- Listen on a TCP port using Powershell
- Windows: Get the interface number of a NIC (May 24 '13)
- what is the meaning of 0.0.0.0 as a gateway?(Oct 8 '130)
Net use
(TechNet)- Connects a computer to or disconnects a computer from a shared resource
- Error: '1219 Multiple connections to a server or shared resource by the same user, using more than one user name, are not allowed' when attempting to connect to a server
- Process Explorer > Find > Find Handle
Netsh
Netsh
(network shell) (Wikipedia)- command-line scripting utility that allows you to, either locally or remotely, display or modify the network configuration of a computer that is currently running.
- Using
Netsh
(TechNet) Netsh
Command Reference (TechNet)- About the Wireless Hosted Network
- How to: Create Wireless Hosted Networks in Windows 7(November 24, 2009)
Configuration
- MSConfig the System Configuration Tool(
msconfig
)] - MSConfig(Wikipedia)
Msinfo32
- Microsoft Diagnostics (MSD,
MSINFO32.EXE
) - How to check which version of DirectX is installed (for Windows XP, Vista, 7, 8 or 8.1) :
dxdiag
- Which version of DirectX is on your computer? (Windows 7)
- Check Windows Installer Version (Nov 13 '12)
- How to Enable “Open Command Window Here” Option in Context Menu in Windows Vista and Later
- ‘Bluetooth Settings’ link missing in Windows 7 Control Panel
- Make sure the status for service ‘Bluetooth Support Service’ is ‘Started’ and the startup type is ‘Automatic’.
Security
- Running with Administrator Privileges
- What's the best way to see logged in users on Windows Server 2012?(May 26 '14)
query user
command
GDI
- Debugging a GDI Resource Leak(23 Apr 2013)
Debugging
- Debugging Tools for Windows (WinDbg, KD, CDB, NTSD)
- Getting Started with Windows Debugging
- Symbols for Windows debugging (WinDbg, KD, CDB, NTSD)
- Debugging with Symbols
- Symbol Servers : Microsoft Symbol Server,
_NT_SYMBOL_PATH
- Symbol Servers : Microsoft Symbol Server,
- DbgHelp Versions
- Varieties of Kernel-Mode Dump Files
- Complete Memory Dump, Kernel Memory Dump, Small Memory Dump
- How to get a Windows memory dump (09-OCT-15)
- Analyzing a Kernel-Mode Dump File
- Debugger Commands
SymChk
- a program that compares executable files to symbol files to verify that the correct symbols are available.
Performance Tuning
- Windows Performance Monitor
- Performance and Reliability Monitoring Getting Started Guide for Windows Server 2008
- Monitoring general system activity using Resource View
- Monitoring specific system activity using Performance Monitor
- Create a Data Collector Set from Performance Monitor
- Create and schedule logs from a Data Collector Set
- View log data in Performance Monitor
- View a diagnosis report
- View system stability with Reliability Monitor
- Operating System and Process Monitoring Tools
- How to Record CPU and Memory Usage Over Time in Windows? (March 06, 2012)
- Audit process tracking
- to audit detailed tracking information for events such as program activation, process exit, handle duplication, and indirect object access.
- How to Use Process Tracking Events in the Windows Security Log (March 13, 2013)
Counters
- Typical performance counter collection
Counter | Meaning | Remarks |
---|---|---|
\Memory\Available Bytes |
available bytes | |
\Memory\Committed Bytes |
the private bytes committed to processes | |
\Process(process_name)\% Processor Time |
Processor Time = User Time + Privileged Time | |
\Process(process_name)\% Privileged Time |
the percentage of non-idle processor time spent executing code in privileged mode | |
\Process(process_name)\% User Time |
the percentage of time that the processor spent executing code in user mode | |
\Process(process_name)\Private Bytes |
bytes allocated exclusively for a specific process | can be paged to disk or in the standby page list |
\Process(process_name)\Working Set |
the shared and private bytes allocated to a process | suddenly drop when you minimize an application |
\Process(process_name)\Pool Nonpaged Bytes |
the number of bytes in the nonpaged pool, an area of system memory for objects that cannot be written to disk | |
\Process(process_name)\Pool Paged Bytes |
the number of bytes in the paged pool, an area of system memory for objects that can be written to disk | |
\Process(process_name)\Handle Count |
the total number of handles currently open by this process | |
\Process(process_name)\Thread Count |
the number of threads that were active in this process | |
\Process(process_name)\IO Read Bytes/sec |
the rate at which the process was reading bytes from I/O operations | |
\Process(process_name)\IO Write Bytes/sec |
the rate at which the process was writing bytes to I/O operations | |
\Network Interface(card_name)\Bytes Received/sec |
||
\Network Interface(card_name)\Bytes Sent/sec |
- Windows Server 2003 Performance Counters by Object
- Performance Counters
- Performance Monitoring Part 3 - Processor (06.08.2009)
Processor Time
=User Time
+Privileged Time
- Evaluating Memory and Cache Usage
- What is private bytes, virtual bytes, working set? (Dec 31 '09)
- Windows Performance Monitor Disk Counters Explained (March 16, 2012)
- SQL Server Performance Counters
Networking
- Cisco DocWiki
- Internetworking Technology Handbook
- Network Security Technologies and Solutions (Google eBook)
TCP/IP
- TCP Connection establishment
- a three-way handshake :
SYN
,SYN-ACK
,ACK
- a three-way handshake :
- TCP Connection termination
- a four-way handshake :
FIN
,ACK
,FIN
,ACK
- a four-way handshake :
- TCP/IP Fundamentals for Windows (TechNet, November 02, 2004)
- Buckets of Sockets
- UDP Sockets, TCP Sockets, Sockserv
- When is a TCP connection considered idle?
TCP_USER_TIMEOUT
: The maximum amount of time in milliseconds that transmitted data may remain unacknowledged before TCP will forcibly close connection.
- RFC5482 - TCP User Timeout Option
- TCP_USER_TIMEOUT: a new socket option to specify max timeout before a TCP connection is aborted (Aug. 28, 2010)
HTTP
- Hypertext Transfer Protocol -- HTTP/1.1
- HTTP/1.1 Status Code Definitions
- Request Header Fields
- Response Header Fields
- General Header Fields
- Entity Header Fields
MQTT
RTSP
RTMP
- Real Time Messaging Protocol
- RTMP Specification
- RTMP (Wikipedia)
- Flash Video Structure
- RTMP (MultimediaWiki)
- RTMP packet header and packet types
org.red5.codec.VideoCodec.java
- Javacv: Decoding H.264 “live” stream coming from red5 server on android device (Mar 19 '14)
JSON-RPC
- a stateless, light-weight remote procedure call (RPC) protocol.
- JSON-RPC 2.0 Specification
Security
- Key concepts of information security : Confidentiality, Integrity, Availability, (and Non-repudiation)
- Password policy
- The best way to completely wipe your Android device (July 8, 2014)
- How To Securely Erase Your SSD Without Destroying It (April 11, 2014)
SHA
- Implementations
Category | Implementation | Remarks |
---|---|---|
Java | java.security.MessageDigest class
|
JDK |
Java | org.apache.commons.codec.digest.Sha2Crypt class
|
Apache Commons, static String sha256Crypt(byte[] keyBytes, String salt) , static String sha512Crypt(byte[] keyBytes, String salt)
|
MySQL | SHA1() function, SHA2() function
|
SSH
- concepts
- passphrase : password for the private key.
~/.ssh/authorized_keys
- a list of public keys to allow to in-access into this account from outside
- used when accepting others
~/.ssh/known_hosts
- a list of public keys to allow for current user to out-access
- used when accessing outer server
~/.ssh/id_dsa, ~/.ssh/id_rsa
- a private key of current account.
~/.ssh/id_dsa.pub, ~/.ssh/id_rsa.pub
- a public key of current account.
- commands
- ssh
- A few ways to execute commands remotely using SSH
- To authenticate using SSH keys, a user must have an SSH key pair on their local computer. On the remote server, the public key must be copied to a file within the user's home directory at ~/.ssh/authorized_keys. This file contains a list of public keys, one-per-line, that are authorized to log into this account.
- How have both local and remote variable inside an SSH command(Dec 11 '12)
- Using while loop to ssh to multiple servers
- Don't miss
-n
option ofssh
when used inside while loop to avoid eating all stdin at the fist iteration.
- Don't miss
- A few ways to execute commands remotely using SSH
- scp
HTTP Basic Authentication
- Basic access authentication (Wikipedia)
- How to define the basic HTTP authentication using cURL correctly? (Sep 22 '14)
- JMeter HTTP Authorization Manager
PKI
- Public Key Infrastructure
- Public key certificate
- Certificate = Key + Subject + Digital Signature
- Digital signature
- key generation algorithm : generates a private key and a corresponding public key
- signing algorithm : given a message and a private key, produces a signature
- signature verifying algorithm : given the message, public key and signature, either accepts or rejects the message's claim to authenticity
TLS
Business Solutions
SAP R/3
misc
Documentation Convention
HP Notebook
- Using System Recovery, Factory Reset and Minimized Image Recovery Options
- Performing an HP System Recovery (Windows 7)
- HP Unified Extensible Firmware Interface (UEFI) Support Environment
- To get files in HP_TOOLS partition.
Desktop Tools
Software Licenses
Examples
- Adobe
Hardware
- Open Compute Project
- to develop servers and data centers following the model traditionally associated with open source software projects.