mirror of
https://github.com/wahyd4/knowledge.git
synced 2026-08-08 20:57:48 +10:00
Update the format
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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
|
||||
@@ -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
@@ -1,4 +1,4 @@
|
||||
## ES 6/ES 2015
|
||||
# ES 6/ES 2015
|
||||
|
||||
- Arrow function
|
||||
- Array function doesn’t 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
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
## Rabbitmq
|
||||
# Rabbitmq
|
||||
|
||||
## activeMQ
|
||||
# activeMQ
|
||||
|
||||
## Redis
|
||||
# Redis
|
||||
|
||||
# Kafka
|
||||
|
||||
+9
-9
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user