作者归档:苗 启源

关于苗 启源

Because we hava a dream,so it's easy!

Adodb.Stream 实现 ASP多线程下载大文件

有个朋友 做 某种小众音乐交换站的(他们那个行业的昵图网),需要用到付费下载。尝试过 防盗链,不太理想,最终使用了 Adodb.Stream 读取,直接输出。

解决了 盗版的问题,但是新的问题又来了。Adodb.Stream 这种方式 电脑还好说,大部分电脑浏览器都支持。移动端 很多 浏览器为了 加速读取,会多线程下载导致 文件无法正常读取。

抓包,发现增加了 HTTP头 HTTP_RANGE。隐约记得 之前读过 王大(王洪影)的 《深入解析 ASP核心技术》当中提到ASP多线程下载的问题,回家翻出来,最终还就真解决了。

为了 方便调用,直接写成了 一个 函数。没用王大的代码,感觉我自己的更美(自恋中…)。如有有需要的朋友需要,直接拿走即可,代码如下: 继续阅读

PHP 数字转字符串互换类

再次更新:发现尽然有现成的Base32方案,无奈已经写好了,还是继续分享出来吧。本方案比Base32相比还是有优势的。
1、自带校验功能
2、解码后可以和数据库中的生成项目对比进行二次验证
3、生成的邀请码是随机,相比Base32规律更难找

本类所在的项目,使用 ThinkPHP 搭建,把 IntConvert.php 放到 app\services 目录下,就可以直接使用app\services\IntConvert 自动调用。如果存放目录后,注意修改下 对应的明明空间。

—-分割线—–

最近 的APP上需要增加一个 邀请码功能,通过邀请码注册。因为内部使用,需要防止 外部用户 随便填写一个 邀请码注册成功。因为主要通过图片的方式进行传播,还不恩那个设计的太长。

初期考虑了两种方案: 最笨的方法是一次生成好,用时随机获取一个。另一个是通过Base64对用户ID进行转换下。分析之后,两种方案都不太理想。 继续阅读

PHP 实现 毫秒级读取大文件(千万行级别)

一同行朋友遇到奇葩的需求,需要在 一个 1000万行级别的 文件,随机读取一行。
几千行很好处理,直接 file(文件名),通过返回的数组 的索引既可获取。

尝试了 很多方法,超过50M的文件,打开速度都不理想。给朋友提供了 memcached 和 mysql 内存表的思路,因为后期维护比较麻烦,也都放弃了。

在 去 蹲坑时 灵光一闪,既然小文件打开很快,为什么不把数据分到多个文件呢? 继续阅读

一键修复 react-native-echarts 各种小问题

最近的一个项目,使用了 React Native。在使用之前感觉无限美好的 React Native,真正到开发时 可谓是 大坑一个接一个。经过近一个月的多月的循环采坑+百度,App基本总算是完成了。

虽然 Facebook 为 react-native 做了很多,但还是有无数的需求无法解决,好在还有海量的大神分享,有github,啥都不怕。

其中一个常用的 somonus 大神的 react-native-echarts,可以使用 react-native 调用 百度的 Echarts,啥图表都能实现。不过还有一点小小的不足:1、背景色非白色时,加载前会显示一个白屏幕;2、安卓正式版打包后,图表不显示。somonus 不仅解决了 图表的问题,也为 遇到 奇葩的、小众的需求,找不到库时 提供了一个解决思路。

有问题不怕,作为面向百度编程的神级程序员 继续阅读

在阿里云免费申请SSL证书

现在微信小程序需要使用HTTPS方式,百度一下发现大部分非常昂贵,最高的已经超过5位数了。

在阿里云,可以购买到 多家 证书厂商提供的证书。(阿里云证书服务:https://www.aliyun.com/product/cas)。

如果只有一个域名,或只是个人玩玩,可以使用 赛门铁克 的免费证书。 继续阅读