Update the format

This commit is contained in:
2018-02-15 17:04:21 +11:00
parent d01b03e856
commit cc0e673fb8
10 changed files with 84 additions and 72 deletions
+5 -5
View File
@@ -1,20 +1,20 @@
## Search
# Search
- ElasticSearch
- Logstash
- Kibana
## APM
# APM
- Newrelic
- Pinpoint
## Monitor
# Monitor
- Bosun
- Prometheus
## API
# API
- RPC(remote procedure call)
- disadvantages
@@ -61,6 +61,6 @@
- call remote like local method, and support multiple language
- protobuf serialization and deserialization is faster than JSON
## Log and Error
# Log and Error
- Sentry
+7 -7
View File
@@ -1,11 +1,11 @@
## Relation
# Relation
- Mysql
- Postgres
- Microsoft SQL Server
- Oracle
- Sqlite
## NoSql
# NoSql
- Monodb
- Replica Set
- Primary
@@ -17,7 +17,7 @@
- Hbase
- Cassendra
## SQL
# SQL
- Index
- Index is unique but not mandatory
- join
@@ -32,10 +32,10 @@
- will impacted by time zone
- index by timestamp will be faster than datetime due to 4 bytes.
## Message Queue
# Message Queue
## Rabbitmq
# Rabbitmq
## activeMQ
# activeMQ
## Redis
# Redis
+9 -9
View File
@@ -1,16 +1,16 @@
## AWS
# AWS
- EC2
- EC2 container
- Cloudfront
- S3
- RDS
## CI
# CI
- Jenkins
- Gitlab CI
- Travis
## Docker
# Docker
- Orchestration
- Rancher
- Kubernetes
@@ -86,7 +86,7 @@
- docker daemon attack surface
- kernel security features
## Linux
# Linux
- ssh
- IP table
- Cron job
@@ -106,30 +106,30 @@
- mosh
- auto reconnect ssh
## Everything is code
# Everything is code
- infrastructure as code
- CI config as code
- Dockerfile
## CD
# CD
- Capistrano
- Ansible
- Puppet
## HA High Availability
# HA High Availability
- LB - haproxy
- Keepalived -- vrrp
- Nginx + Keepalived
- Heartbeat
## Network
# Network
- IP
- Private IP Addresses
- 10.0.0.0 10.255.255.255
- 172.16.0.0 172.31.255.255
- 192.168.0.0 192.168.255.255
## tools
# tools
- git
- cherrypick
- rebase
+13 -13
View File
@@ -1,4 +1,4 @@
## ES 6/ES 2015
# ES 6/ES 2015
- Arrow function
- Array function doesnt create new this, it grabs this from its surrounding instead.
@@ -90,7 +90,7 @@
}
getGithubUser('mbeaudru').then(user => console.log(user)); // logging user response - cannot use await syntax since this code isn't in async function
## Node.js
# Node.js
- Npm
@@ -100,7 +100,7 @@
- Stream
## This
# This
- Refers who calls
```javascript
@@ -125,9 +125,9 @@
```
- [http://yehudakatz.com/2011/08/11/understanding-javascript-function-invocation-and-this/](http://yehudakatz.com/2011/08/11/understanding-javascript-function-invocation-and-this/)
## Closure
# Closure
## Frameworks
# Frameworks
- Ionic
@@ -160,9 +160,9 @@
- Action
- Dispatch
## Use promise to avoid nested callbacks.
# Use promise to avoid nested callbacks.
## tips
# tips
- object literal
- ```javascript
@@ -172,22 +172,22 @@
});
```javascript
## Application
# Application
## Search
# Search
- ElasticSearch
- Logstash
- Kibana
## APM
# APM
- Newrelic
- Pinpoint
## Monitor
# Monitor
- Bosun
- Prometheus
## API
# API
- RPC(remote procedure call)
- disadvantages
@@ -237,6 +237,6 @@
- call remote like local method, and support multiple language
- protobuf serialization and deserialization is faster than JSON
## Log and Error
# Log and Error
- Sentry
+5 -3
View File
@@ -1,5 +1,7 @@
## Rabbitmq
# Rabbitmq
## activeMQ
# activeMQ
## Redis
# Redis
# Kafka
+9 -9
View File
@@ -1,4 +1,4 @@
## Background jobs
# Background jobs
- Resque
- Single threaded process
- Delayed Job
@@ -12,7 +12,7 @@
}
```
## Test
# Test
- Unit Test
- Mini Test
- RSpec
@@ -22,18 +22,18 @@
- Mock
- Mocha
## Auth
# Auth
- OmniAuth
- Devise
## Web Server
# Web Server
- Thin
- Unicorn
- Puma
- Passenger
- Pow
## Language
# Language
- Syntax
- lambda
- yield
@@ -57,15 +57,15 @@
- can't extend
- Class
## Code analysis
# Code analysis
- Rubocop
## GC
# GC
- Minor GC
- Major GC
- GC.stat
## Web frameworks
# Web frameworks
- Sintra
- Ruby on Rails
- ORM
@@ -75,6 +75,6 @@
- Assets pipeline
- Rails console
## Gem mirrors
# Gem mirrors
- [http://mirrors.aliyun.com/rubygems/](http://mirrors.aliyun.com/rubygems/)
- [https://gems.ruby-china.org](https://gems.ruby-china.org)
+19 -9
View File
@@ -1,5 +1,5 @@
## Refactoring
# Refactoring
- when to refactor
@@ -11,7 +11,7 @@
- temporary variable
- coupling
## Microservice
# Microservice
- benefits
@@ -28,7 +28,7 @@
- Deployment complexity
- To deploy different types of services
## OOP
# OOP
- Polymorphism
@@ -46,7 +46,7 @@
- Interface segregation
- Dependency inversion
## Functional programming
# Functional programming
- pure functions
@@ -59,29 +59,39 @@
- avoid side effects
## Serverless
# Serverless
- Lambda
- A **lambda** is just an anonymous function - a function defined with no name
## Closure
# Closure
- a function value that references variables from outside its body
- In Javascript, not all anonymous function are lamdba, and vise verse
## UML
# Event Sourcing and Command Query Responsibility Segregation (CQRS)
Every changes you made to the system is a event, events are been persisted and can be replayed to generate the materialized view.
In his book "Object Oriented Software Construction," Betrand Meyer introduced the term "Command Query Separation" to describe the principle that an object's methods should be either commands or queries. A query returns data and does not alter the state of the object; a command changes the state of an object but does not return any data. The benefit is that you have a better understanding what does, and what does not, change the state in your system.
**More**:
- [Reference 2: Introducing the Command Query Responsibility Segregation Pattern](https://msdn.microsoft.com/en-us/library/jj591573.aspx)
# UML
- many_to_many
- one to many
## Java Design pattern
# Java Design pattern
- [https://github.com/iluwatar/java-design-patterns](https://github.com/iluwatar/java-design-patterns)
## some tips
# some tips
- concurrency vs parallelism
+4 -4
View File
@@ -1,4 +1,4 @@
## Agile
# Agile
- Retrospective
- Iteration meeting
@@ -7,9 +7,9 @@
- Pair programming
- Instant feedback
## Kanban
# Kanban
## Tools
# Tools
- ThoughtWorks Tech Radar
- CI
@@ -41,7 +41,7 @@
- High spped
- Team members can address problems more quickly
## Test
# Test
- unit test
- integration test
+4 -4
View File
@@ -1,11 +1,11 @@
## A good scraper
# A good scraper
- content downloading, download images, contents and so on.
- links retrieve, find new links
- URL management, avoid endless loop
- content analysis and management, export as csv or chart.
## good frameworks
# good frameworks
- colly
- https://github.com/asciimoo/colly
@@ -14,7 +14,7 @@
- scrapy
- [https://github.com/scrapy/scrapy](https://github.com/scrapy/scrapy)
## anti scraper blocking
# anti scraper blocking
- multiple ips
- different headers
@@ -24,7 +24,7 @@
- verification code -> ocr
- fetch data from mobile webpage
## anti scraper
# anti scraper
- block ip
- http headers, such as user-agent
+9 -9
View File
@@ -1,4 +1,4 @@
## HTML
# HTML
- HTML5
- audio
@@ -15,7 +15,7 @@
- canvas
- HTTPS
## CSS3
# CSS3
- transition
- transaction
@@ -25,29 +25,29 @@
- box-shadow
- svg
## CORS
# CORS
- Nginx proxy
- Server add headers
## CDN
# CDN
- Reduce request amount
- Reduce server network traffic
- Speed up load
## Websocket
# Websocket
- Pusher
- Socket.IO
## json-schema
# json-schema
- Describe data format
- Clear, machine and human readable
- Complete structure validation
## Auth Related
# Auth Related
- session
- store session_id in cookie, server side has a map in memory
@@ -56,9 +56,9 @@
- cookie
- local storage
## Browser
# Browser
## CSS
# CSS
- tips