snmoney@gmail.com 发布的文章

以前项目做过几次,过一段时间就记不住了。

所以,要说现在技术面试什么手写代码根本是扯淡。

压缩


<?php
$file_path = "/path/to/file2.txt";
$zip = new ZipArchive;
if ($zip->open('test.zip', ZipArchive::CREATE | ZipArchive::OVERWRITE) === TRUE) {
    $zip->addFile('/path/to/index.txt', 'newname.txt');
    $zip->addFile($file_path); //不用第二参数,直接把文件原本的目录结构打包进zip包
    $zip->close();
    echo 'ok';
} else {
    echo 'failed';
}
?>

解压

$zip = new ZipArchive;
if ($zip->open('test.zip') === TRUE) {
    $zip->extractTo('/my/destination/dir/');
    $zip->close();
    echo 'ok';
} else {
    echo 'failed';
}

文档: https://www.php.net/manual/en/class.ziparchive.php

够用主义,正则规则做得略微松散,不是非常非常非常严谨(知道有些特殊号段不存在)

/**
 * BASE::valid_phone()
 * 验证手机号有效性 (符合手机号码的组合规则)
 * @param string $phone
 * @return boolean $isPhone 
 */
function valid_phone($phone){
    $exp = "/^1[3-9]{1}[0-9]{9}$/";
    if(preg_match($exp,$phone)){
        return true;
    }else{
        $this->err = "请输入正确有效的手机号码";    
        return false;
    }
}

zcoin官方发推更新了他们的mtp ccminer, 考虑都我近半年一直在用 CryptoDredge 0.16 未曾更新,所以更新看看效果如何

测试设备
GTX 1070ti
24G DDR4 ECC 内存
驱动 nvidia CUDA 10.1 dev kit (由于ccminer仅支持10.1所以升级了)

不废话直接上结果

原数据

CryptoDredge v0.16.1

平均算力: 2.2M
TDP: 80%
温度: 73℃
fee: 2%
驱动要求: CUDA 9/10/10.1

现测试数据

CryptoDredge v0.20.1

链接 https://github.com/technobyl/CryptoDredge/releases

平均算力: 2.5M
TDP: 103%
温度: 78℃
fee: 2%
驱动要求: CUDA 9/10/**10.1**

mtp ccminer v1.1.19

链接 https://github.com/zcoinofficial/ccminer/releases

平均算力: 2.55M
TDP: 103%
温度: 78℃
fee: 0.25% (可以加 --no-donation 参数手动选择不给)
驱动要求:**10.1**

结论:性能差不多,但都是牺牲 温度提升 TDP 换取的 算力,自己取舍值不值得上。为了考虑寿命和安全,我决定继续跑在 80% TDP...

由于担心客户使用可能会造成未知兼容问题的远古旧版浏览器,没错说的是IE。所以略微贴心地在首页加上检测,针对IE提示页面不兼容(免得js出错)

JS代码如下:

function isIe() {
    var i = navigator.userAgent.toLowerCase().indexOf("msie"); //对旧版ie9及以前版本有效
    if(i!=-1){
        return true;
    }else{
        //ie11 userAgent:  Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; .NET4.0C; .NET4.0E; .NET CLR 2.0.50727; .NET CLR 3.0.30729; .NET CLR 3.5.30729; InfoPath.3; rv:11.0) like Gecko
        return (!!window.ActiveXObject || "ActiveXObject" in window); //兼容ie10/11
    }
}
  • 只要是safari/firefox/chrome(包括用它内核的其他国产浏览器),我都不怎么担心,没有用太刁钻独占的特性。
  • 真的不是我懒,连巨硬自己都放弃了 EDGE研发线,拥抱chrome了。