3rdstage's Wiki
Advertisement

Computer Science/Programming General

Data Structure and Algorithm

Tree

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

Erlang

  • http://www.erlang.org/
  • Desc. : a programming language used to build massively scalable soft real-time systems with requirements on high availability.

Haskell

CoffeeScript

TypeScript

ActionScript

Security

Coding Convention

Glossary

Java SE

API Documentation and Source

Java SE

Java EE

Apache Commons

JSRs

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

Basic

JVM

Concurrency

  • 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

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

Reflection

Collection

Generic

Enum

Lambda

IO and Networking

Caching

XML

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


Oracle Database

IBM DB2

Microsoft SQL Server

MySQL

HSQLDB

Access

Security

Internationalization


Formatting

JMX

JNI

JavaFX

Javadoc

Diagnostics

misc

Java EE

Expression Language (EL)

JAX-RS

Batch

Java Programming

Logging

AOP

Testing

Debugging


Scala

On Scala

Python

On Python

Go

Readings

Profiling

Frameworks

Libraries

Gorilla WebSocket

Viper

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

Tools

Gocode

Delve

pprof

Ruby

Readings

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

C, C++

C

C++

GCC

Visual C++

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

Language

Libraries

Build

Testing

Debugging

Monitoring

C#

R

HTML

Named Entity

Entity Name Remarks
• bullet
· · middle dot
∑ summation

Form

MIME

SVG

Canvas

Schema.org

CSS

  • Fonts
    • Consolas
      • ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz 0123456789

JavaScript

  • Samples for JavaScript library packaging

XML

  • 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 ';'

DOM

SAX

XML Pull Parsing

XML Schema

XSLT

XPath

XQuery

XML Catalogs


RELAX NG

Schematron

Web Services Notification

DocBook

Dublin Core Metadata

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

  • 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. ¨, ¨, ♠, ♠

Punctuation

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

Date Time

Timezone

Locale

Color Space

Codec

JPEG

PNG

GIF

BMP

FLV and F4V

Data Format

JSON

JSON Schema

JSON Path

JSON Pointer

JMESPath

YAML

Protocol Buffers

HOCON

TOML

Multimedia

Video

Architecture and Model

Architecture

  1. One codebase tracked in revision control, many deploys
  2. Explicitly declare and isolate dependencies
  3. Store config in the environment
  4. Treat backing services as attached resources
  5. Strictly separate build and run stages
  6. Execute the app as one or more stateless processes
  7. Export services via port binding
  8. Scale out via the process model
  9. Maximize robustness with fast startup and graceful shutdown
  10. Keep development, staging, and production as similar as possible
  11. Treat logs as event streams
  12. Run admin/management tasks as one-off processes

Pattern

UML

Data Modeling

Process Modeling

CORBA

REST

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

Real-time graph

Data Warehouse and Business Intelligence

Software Configuration Management

Issue Tracking

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.
  • CSV Converter
    • allows you to enter a table in CSV-format and convert it to HTML or the WikiMedia format for tables.

Textile

MediaWiki Markup

Markdown

Confluence

UNIX, Linux

Windows

Batch Programming

Command

Disk Partitioning

Hyperthreading

Process

Networking

Configuration

Security

GDI

Debugging

  • Debugger Commands
  • SymChk
    • a program that compares executable files to symbol files to verify that the correct symbols are available.

Performance Tuning

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

Networking

TCP/IP

HTTP

MQTT

RTSP

  • Real Time Streaming Protocol
  • RTSP (Wikipedia)
  • RTSP (MultimediaWiki)

RTMP

JSON-RPC

Security

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.

HTTP Basic Authentication

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

Desktop Tools

Software Licenses

Examples

Hardware

  • Open Compute Project
    • to develop servers and data centers following the model traditionally associated with open source software projects.
Advertisement