Laravel5 和 Vue.js 优雅的 Nginx 重写规则

本文总结常用重写规则。 Laravel 5 location / { try_files $uri $uri/ /index.php?$query_string; } Vue.js https://router.vuejs.org/zh-cn/essentials/history-mode.html location / { try_files $uri $uri/ /index.

September 26, 2017 · Wi1dcard

macOS 打开自带 NTFS 写文件功能

打开 terminal 执行如下命令: diskutil list 可查看全部分区的名字,MAC 系统默认挂载全部分区到 /Volumes 目录, 执行如下命令: sudo vim /etc/fstab 编辑 fstab 文件,添加如下一行并保存:

September 22, 2017 · Wi1dcard

服务器源码同步:rsync 配置过程小记

9.20 updated: 今天检查多家公司的管理端页面时发现,居然其他公司可以看到我们的测试数据,遂检查数据库,并不存在测试数据,又去翻配置 env 文件,数据库配置正常,又排除 rsync 同步了 config 缓存的可能之后,最终发现是 nginx 配置引起的反向代理全部进了 demo 服务器。。。 不过这也引起了我的重视:由于 laravel cache 驱动为 file,而 rsync 同步列表并没有排除bootstrap/cache/config.php,这样会导致执行php artisan config:cache缓存命令后,全部公司都连接同一个数据库!

September 20, 2017 · Wi1dcard

How to Read UIDs of IC Cards in C#

今天沈同学来问 c# 读 ic 卡的问题,我第一反应是想到了 windows 提供的智能卡驱动 API,之前用 c++实现过一套。 reference:https://docs.microsoft.com/zh-cn/previous-versions/windows/desktop/secsmart/smart-card-api-portal 可只有英语,对于没有阅读过原版 MSDN 的实习生来说有一定难度,即便有复杂的 c++源码参照,估计也要研究个几天。 so,用 c# 写 windows,要的就是它的轮子多。遇到这种情况,果断网上搜一下先,但结果不尽人意,大多都是专门用于某个型号读卡器的厂家提供的 SDK。 于是果断去微软官方的包管理器 nuget 里找,(keyword:smart card)……

September 7, 2017 · Wi1dcard

MySQL 批量更新所有字段 Collation

今天项目部署遇到个坑,之前建数据库的时候,把所有的 collation 都写成了 utf8,在测试服务器上也没怎么注意,部署正式服务器果断用 mb4,故需要修改上百个字段的 collation。 根据一次可以,两次能忍,三次绝对不行的懒人原则 orz,决定写个脚本实现一键修改,废话不多说先去网上找了个轮子。 referer: https://my.oschina.net/xuqiang/blog/507629 经过一番修改和摸索,总结出如下存储过程: begin declare f_name varchar(100); declare b int default 0; /*是否达到记录的末尾控制变量*/ -- 注意修改下面的数据库名称 wsm_aliyun  declare table_name cursor for SELECT TABLE_NAME FROM information_schema.

September 6, 2017 · Wi1dcard

实验室技术方案解析

此处不考虑硬件,我们做 PaaS。 首先云服务,负载均衡 + 2 到 3 台服务器,其中文件上传下载采用对象存储,这样可以大量节省服务器带宽,外面再套一层 CDN,可以保证秒开;数据库采用独立的数据库服务器,云服务提供商大多在底层实现了热备,出问题的概率很小;另外,在上面的基础上再加上前后端分离,前端代码也全部跑在对象存储里,Web 服务器可以达到只“计算”的目的,也就是说只提供接口服务。 另外为了防止攻击,可以套三层防御,一层在 DNS 解析,挂掉了立马解析到第二台,第二层在云服务提供商,购买单独的防御服务,第三层在 WEB,监测到攻击的时候自动对某一个 IP 返回 502。 然后再来说数据库、语言和框架。 数据库采取优势互补,MongoDB 适合日志,但是不适合关键数据的存储,Redis 适合做某些数据的缓存,例如消息队列、热度 Top10 等,而 MySQL/MariaDB 则是作为最终的数据存储,为啥我前面直接把 MyISAM 砍掉了,就是因为 MySQL 在这个架构里本身就是做为“最终 boss”存一些关键数据的,要尽最大可能保证不出问题,而要追求效率、数据一致性相对来说无关紧要的日志这些就交给 MongoDB 去做吧。 前面说的数据库采用单独的服务器,也是为了这个原因,不同的需求采用不同的数据库,跑在不同服务器。

August 28, 2017 · Wi1dcard

最初的起点

诞生——2017/08/24 团队初期遇到了一些问题。 技术能力良莠不齐; 知识面太窄,只了解自己所学的领域; 同一问题需要重复讲解、培训; 问题得不到总结,无法加深印象; …… 于是,本站前身诞生——椒图技术博客。

August 24, 2017 · Wi1dcard