Nginx解决跨域问题

Nginx 根据条件设置跨域访问权限


Golang与C++混合编译问题

use SWIG


Cursor 与 Page

分页是一个非常普通的业务需求。对于一个有大量数据的列表,我们必须分段查看数据。在API层面的设计上,一般会使用 page, limit 两个参数来控制分页。


频率限制算法

实现接口访问频率限制并不难,只要一些计数器,计时器就可以了。但接口频率限制的目的是减少IO,所以,如果能够在不增加IO的情况下做到频率限制才是完美的,但在集群环境下,这一算法并不精确,但我认为这种损失是值得的。


Nginx log 模版

记录 $upstream_addr $upstream_response_time 有助于定位请求,定位延迟,定位问题。

nginx


MySQL 优化

近期mysql 主从同步延迟过高,依次进行了如下优化。

mysql


Use Iterm2 Monitor Errors

Install terminal-notifier


Objective-C 代码质量分析

install oclint


MySQL cluster proxy

MySQL 的中间件

mysql


数据抽象层设计

数据层的封装


FlyRPC 协议设计

FlyRPC是适合高频率的通信框架。


compile ledis

ledis 很简单,安装leveldb比较麻烦


Redis事务

Redis不支持Rollback,但是redis有更轻量的方法满足常见的我们对事务需求。


幂等性和非幂等性操作

感谢hprose 作者 @andot 给我科普了幂等性和非幂等性的概念。这是由以下问题的讨论开始的。


What Is Crdt

原文


集群运维工具

17ce ip.cn


游戏服务器设计

近日看到一文章说起游戏数据库怎么设计,mysql?mongodb?这篇文章说,做游戏根本不需要数据库, 直接写一个文件save、load。回想我曾经做过的两个游戏服务器,基本上数据库承担的角色就是Save/Load。


入侵检测

fail2ban ufw enable git no password fcheck unattended-upgrade munin


全球部署要点

NSServer domain : 就近请求DNS NSServer IP 分布式 : 就近解析目标地址 Cloud Load Balance : Load Balance, DDoS Protection, Single-Point-Failure CDN 层: 静态资源的CDN, HTTP, OPEN的,非动态的 反向缓存层 : 动态结果的缓存, compress, etag, last-modified, 优化, 如 varnish Logic Node : Main Logic 数据路由层 :根据hash原则,分区标志,进行数据路由,在本地或远程获取数据。 数据缓存 : 本地热门数据缓存,远程数据缓存 Data Cluster : Distribution, Cluster, CAP理论和BASE思想,反ACID。


获取运营商IP段

转载,整理


DDoS 防御笔记

DDoS 意为分布式拒绝服务攻击


在Mac下编译protobuf-net遇到了很多问题,最终还是选择了下载预编译好的版本。


为测试而架构

软件架构的目标是什么?为了解耦?解耦的目标是为了什么?为了测试!


编译vim

lua, python, ruby, perl 都必须支持


Ubuntu安装pptp vpn 防火墙

打开ufw后,pptp无法连接。转载一篇文章。原文


桂糊涂的德州扑克AI

如何编写德州扑克的AI。


德州扑克策略心得

德州扑克是个概率的游戏,更是心理的游戏。

德州扑克


数学与直觉

数学与直觉到底哪个更可靠?


自己动手搭建VPN和Git仓库

工作中是否想过自己动手搭建VPN服务?如果你是码农,是否想过顺便搭建个git私有仓库?


Nginx 限制访问频率

使用Nginx http_limit_req可以限制访问的频率。


尽人事 听天命

从十几岁开始,思考人为什么要活着这个问题,很快这个问题的答案显得不那么重要,因为思考的结果直接导致我相信命中注定。因为我是单纯从哲学的角度思考这个问题,而不是因为自身经历而产生的厌世情绪,所以我觉得有必要说一下。注意不是宿命,不是命运,而是命中注定,我觉得这几个词之间是有微妙的差别的,宿命与命运是一个范畴,而命中注定,是对宿命观的一个具体定义。

哲学


web前端脏乱差及其解决之道

这是一个软件工程问题

web, 前端, 软件工程


redis的list类型控制随机性分布

有这样一个需求: 1. 随机的给用户1篇文章 2. 最新的文章有更大的几率被随机到 3. 被随机到之后,文章被随机到的几率降低 4. 同一文章大约可以被最多随机到5次 5. 在文章较少时,1操作很多时,系统依然可以正常运行

redis


修复mysql 1449 NO_SUCH_USER 错误

权限一律正常。原来是trigger或view需要在分配好权限后,重新生成一遍,改DEFINER=username

mysql


functional programming and sprite system

How to make a sprite system with functional programming.

game,html5,


小游戏1024的AI数学模型

游戏规则

algorithm, mathematics


程序員的自我管理

一位39歲的程序員在Stackexchange 上自爆隨著自己經驗的豐富,自己完成項目和任務的時間反而越來越長。 這引起了許多程序員的共鳴。

management


全端工程师一词出现的原因

晚间在微博上看到@左耳朵耗子 的一篇微博, 讽刺自称全端工程师的人,原文如下:

web


適合中國開發者的國外VPS

爲什麼我們需要一個國外VPS

VPS


Android UI 动画

UI动画不同于游戏动画。我们不能把全部精力放在动画上,因此必须要让开发动画的成本降到最低。作为一个懒人,必须要搜索一些现成的库了。

Android animation UI


Java包管理和構建工具

雖然不喜歡JAVA,但是想學Android,還是要重新撿起來它。但是已經習慣了npm如此方便的包管理工具的人已經無法適應沒有npm的生活了。

java build tools


About APK

APK是一種很不安全的格式,它很容易被反編譯和二次打包。

Android


Karam:多瀏覽器平臺的測試工具

nodejs讓js脫離了瀏覽器,它的包管理工具npm讓js代碼能夠更好的分享,此後前端開發因此產生了巨大的變革。

web, 前端


编写atom插件

Atom 是github开发的编辑器,号称21世纪hackable编辑器。近日对其hack了一下,增加了一个命令行。


靜態網站生成器

靜態網頁依然應用的很廣,但是開發一個靜態網站並不像想象的那麼簡單,快速,易於維護。

web


尼爾森F模型

尼爾森F模型,是根據眼球追蹤技術的實驗數據得出的結論,即人類在瀏覽網頁時通常遵循先橫向再縱向再橫向的模式。


开源语音识别引擎

大部分的语音识别引擎是收费的,或者是闭源的。google speech API不适合做语音控制系统,只适合识别日常语言。julius是一个日本人开发的语音识别引擎,GPL协议,看起来不错,决定研究一下。


遷移svn代碼到git

很多時候我們需要將svn代碼遷移到git。比如從visualsvn遷移到gitlab, 在此過程中你通常需要刪除一些垃圾文件,修改你的committer名字。

git, svn


LocalStorage的异常处理

当达到localStorage容量上限时,按照标准描述会抛出 QUOTA_EXCEEDED_ERR. 但这个 QUOTA_EXCEEDED_ERR 到底是什么?一个常量?一个字符串?各浏览器的实现却不一样.

web, html5


你需要知道的Linux命令

  • grep
  • find
  • sed
  • xargs
  • awk
  • tar
  • vi
  • shell and shell scripts
  • top
  • account and group management commands
    • /etc/passwd
    • /etc/shadow
    • /etc/group
    • /etc/gshadow
    • ...

linux


About


Recent


Tags