Tony老师的博客
  • 首页
  • 文章
  • 相册
  • 技术
  • 关于

文章

十一月 19, 2017

Golang 值传递与引用传递深度解析

在 Golang 中,函数之间传递变量时总是以值的方式传递的。无论是 int、string、bool、array 这样的内置类型,还是 slice、map、channel 这样的引用类型,在函数间传递变量时,都是以值的方式传递。

继续阅读
十一月 9, 2017

PHP-FPM、Nginx、FastCGI 之间的关系与配置详解

本文介绍 PHP-FPM、Nginx、FastCGI 三者之间的关系,以及 Nginx 反向代理和负载均衡的配置。

继续阅读
十月 14, 2017

使用 Docker 搭建 Laravel 本地开发环境

Laravel 官方提供 Homestead 和 Valet 作为本地开发环境,但 Docker 相比虚拟机占用体积更小、启动更快,是更好的选择。

继续阅读
十月 8, 2017

计算机概念在生活中的类比

计算机中有很多概念和思想看上去很抽象,但在生活中都可以找到对应的场景。当把计算机中的概念和生活联系起来,会发现解决问题的思路都很相似。

继续阅读
八月 11, 2017

Golang 使用接口实现类似泛型的排序功能

Golang 不支持 Java 那样的泛型,但没有泛型也可以实现类似功能,而且代码更简单直接。

继续阅读
四月 28, 2017

Linux netstat 统计 TCP 连接状态

在 Linux 服务器运维中,了解 TCP 连接状态对于排查网络问题非常重要。本文介绍如何使用 netstat 统计各状态的连接数量。

统计 TCP 各状态数量

netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'

输出结果示例:

继续阅读
二月 1, 2017

登录安全:重放攻击与防御策略

现在的应用系统中,大部分密码存储都是采用 md5 加密后存储,常用的登录基本流程如下:

  1. 前端 web 页面用户输入账号、密码,点击登录
  2. 请求提交之前,web 端首先通过客户端脚本对密码原文进行 md5 加密
  3. 提交账号、md5 之后的密码
  4. 后端验证账号与密码是否与数据库中的一致

这种流程看似安全,但实际上存在重放攻击风险!

继续阅读
一月 7, 2017

使用 Supervisor 管理 Laravel 队列进程

Supervisor 是一个 Python 写的进程管理工具,有时一个进程需要在后台运行,并且意外挂掉后能够自动重启,就需要这么一管理进程的工具。在 Laravel 开发中,也经常使用到队列监听,可以配合 Supervisor 来管理 Laravel 队列进程。

继续阅读
十二月 17, 2016

Nginx 基于 User-Agent 实现多环境测试

在团队开发中,经常会遇到多个需求同时需要测试的情况。假设只有一个测试服务器,如何让多个开发人员同时测试不同的 git 分支?

一个解决方案是:基于 User-Agent 进行分流。

继续阅读
十二月 5, 2016

阅读与心智的成长

以下摘自《如何阅读一本书》第二十一章。

我们已经完成了在本书一开始时就提出的内容大要。我们已经说明清楚,良好的阅读基础在于主动的阅读。

所谓主动的阅读,也就是能提出问题来。我们也指出在阅读任何一本书时该提出什么样的问题,以及不同种类的书必须怎样以不同的方式回答这些问题。

继续阅读
  • ««
  • «
  • 8
  • 9
  • 10
  • 11
  • 12
  • »
  • »»
© Tony老师的博客 2026