Dev's Logging

Welcome to my blog !


shadowsocks-go源码阅读

Published at February 27, 2019 ·  1 min read

shadowsocks 源码分析,其中关键的部分 handleconnection 函数中通过 go ss.PipeThenClose(conn, remote) 和 ss.PipeThenClose(remote, conn) 进行 client 和 server 之间的数据交换,在之前的阅读源码中,并没有很好的理解其作用。 shadowsocks-go源码阅读...

Cannot download Docker images behind a proxy

Published at February 26, 2019 ·  1 min read

如何为 docker 配置 proxy,最初以为在 env 中配置即可,结果测试后不知为何不行,按照此方法确实可用。 Cannot download Docker images behind a proxy...

Cross-Origin Resource Sharing (CORS)

Published at February 25, 2019 ·  1 min read

CORS 跨域资源访问的详细介绍,域(origin)的定义为域名、协议和端口,也就是说三者其中之一发生改变则需要面临 CORS 问题。服务端需要根据请求的 origin 来判断是否在允许的范围内而决定是放行还是拒绝。在目前较多的 web 框架中,prefilighted requests 则逐渐成为主流,由客户端先通过 “OPTION” 方法发送一个请求,将请求的方法和头放到 header 中发送,服务器端则返回相应的结果,并交由浏览器判断。 Cross-Origin Resource Sharing (CORS)...

Why is Redis So Fast

Published at February 23, 2019 ·  1 min read

redis 为何如此之快,除了将数据存储到内存外,其充分利用了Linux 中的 epoll/kqueue ,通过 i/o 上的多路复用以及事件驱动,达到了很高的并发 Why is Redis So Fast...

Async IO on Linux: select, poll, and epoll - Julia Evans

Published at February 23, 2019 ·  1 min read

作者在阅读 「The Linux Programming Interface」这本书后给出的在 Linux 中异步 IO 方案选择上的判断,对 select,poll, epoll 做对比,其中 epoll 为一种事件驱动的更为高效节省资源的方案 Async IO on Linux: select, poll, and epoll - Julia Evans...

Introducing Lemur – Netflix TechBlog – Medium

Published at February 18, 2019 ·  1 min read

Netflix 开源的 cert 管理软件,要好好学习下,在一个项目中或许能够用得上 Introducing Lemur – Netflix TechBlog – Medium...

How to install and use tmpreaper

Published at February 18, 2019 ·  1 min read

介绍如果使用 tmpreaper 实现定期清理 Linux 系统中的临时文件,防止文件爆盘当机 How to install and use tmpreaper...

Nginx中转Shadowsocks与负载均衡

Published at February 18, 2019 ·  1 min read

通过 nginx 在国内做负载均衡,连接海外的 ss 服务器,核心是将 ss 的 udp/tcp 做转发 Nginx中转Shadowsocks与负载均衡...

Tags

abcs accept acid activemq affinity algorithm allocation android array async aws b+tree b-tree backoff benchmark best-practices bfs big-o bigquery bind bitcount blog break broker bubble buffer cache cap cert cgroups channel citus class classmethod cluster concurrency config consumer container cookie cors crawler cronjob csrf ctr data-science data-structure database datadog dataflow datascience decorator defer dfs distributed django dns docker double-shipping drf ecosia elastic-search enumerate epoll extra facebook-pixel financial-report flask flutter forward-proxy freelance frp garbage-collector gc gcp generator get gil git golang goroutine graphql ha handbook haproxy hash hash-slot hashring hashtable hpa http http-auth http-proxy http_proxy https index innodb instagram intergration interview ios javascript jinja2 jobboard jwt k8s kafka kibana kqueue label lambda layer4 layer7 lean levels.io linked-list linux list listen loadbalancer logs long-tail lru marketing master matplotlib memory merge metaclass metaprogramming metrics metrics-server microservices mitm model mq myisam mysql namespace nat netflix network-extension nginx nodejs nomad nosql npm oodesign openssl optimization orm pandas parallelism parkinglot patroni permission pg pipeline pixelme post postgresql postresql prefetch_related prerender process proxy proxycommand put pvm python queue rabbitmq rbac react-native rebase redis redis-cluster replication resource rest restfulapi retargeting retry revenue reverse-proxy rocketmq saas scaleable search-engine security select seo serverless service session set shadosocks shadowsocks shard sharding shell shopify sigint signal sigterm slack slave slow-query sniper sns socket socks5 source-code spa sql sqlalchemy sqs ssh ssl ssl-pinning stack startup state stateful stateless staticmethod string struct swift switch syscall system-design systemctl tcp tcp-proxy thread tmpreaper token traefik trustkit tunning type typeform udp variable vc vpn vuejs web web-development where yarn zset 削峰 宽索引 异步 窄索引 解耦 跨域 跳板机


Archives

2019 (137)
0001 (1)