<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[whitehack的专栏]]></title><description><![CDATA[小白一个]]></description><link>https://blog.youkuaiyun.com/whitehack</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; whitehack]]></copyright><item><title><![CDATA[go c nodejs csharp 可能不太准确的性能测试]]></title><link>https://blog.youkuaiyun.com/whitehack/article/details/103090802</link><guid>https://blog.youkuaiyun.com/whitehack/article/details/103090802</guid><author>whitehack</author><pubDate>Fri, 15 Nov 2019 18:55:04 +0800</pubDate><description><![CDATA[title: go c nodejs csharp 可能不太准确的性能测试
comments: true
subtitle: 用斐波那契对 go c nodejs csharp 做性能测试对比，可能不太准确
author:
nick: smallwhite
link: ‘https://github.com/whtiehack’
date: 2019-11-15 18:28:44
tags:

...]]></description><category></category></item><item><title><![CDATA[简单方法管理go多版本]]></title><link>https://blog.youkuaiyun.com/whitehack/article/details/100608433</link><guid>https://blog.youkuaiyun.com/whitehack/article/details/100608433</guid><author>whitehack</author><pubDate>Sat, 07 Sep 2019 21:57:41 +0800</pubDate><description><![CDATA[官方文档上的方法
https://golang.org/doc/install#extra_versions
Installing extra Go versions
It may be useful to have multiple Go versions installed on the same machine, for example, to ensure that a package's...]]></description><category></category></item><item><title><![CDATA[docker 突然不能被外网访问]]></title><link>https://blog.youkuaiyun.com/whitehack/article/details/93474528</link><guid>https://blog.youkuaiyun.com/whitehack/article/details/93474528</guid><author>whitehack</author><pubDate>Mon, 24 Jun 2019 11:52:33 +0800</pubDate><description><![CDATA[参考文章1: https://www.cnblogs.com/yudongdong/p/10984246.html
参考文章2: https://www.cnblogs.com/zl1991/p/10531726.html
根据大佬们的方法，找到了原因  sysctl net.ipv4.ip_forward.  腾讯云提示修复漏洞，执行完他们的脚本， ip转发就被关掉了。
后来研究了一下，可以通过...]]></description><category></category></item><item><title><![CDATA[nodejs和js里的gbk与utf8编码转换]]></title><link>https://blog.youkuaiyun.com/whitehack/article/details/93472507</link><guid>https://blog.youkuaiyun.com/whitehack/article/details/93472507</guid><author>whitehack</author><pubDate>Mon, 24 Jun 2019 11:27:23 +0800</pubDate><description><![CDATA[js 与 nodejs 都有  TextEncoder TextDecoder ，可以进行编码之间的转换

nodejs 版本需要 &gt;=8.3.0 才支持    util.TextEncoder,util.TextDecoder 


gbk 转 utf8

new TextDecoder('gbk').decode(new Uint8Array([ 47, 63, 214, 208, 20...]]></description><category></category></item><item><title><![CDATA[用 goproxy.io 自建 go modules 代理，部署到 heroku]]></title><link>https://blog.youkuaiyun.com/whitehack/article/details/89714484</link><guid>https://blog.youkuaiyun.com/whitehack/article/details/89714484</guid><author>whitehack</author><pubDate>Tue, 30 Apr 2019 18:36:58 +0800</pubDate><description><![CDATA[github 仓库 : https://github.com/whtiehack/goproxy

用 goproxy 自建 go modules 代理，部署到 heroku

点击下面这个按钮（或者先fork再点，这样可以自己修改部署脚本）


用 goproxy 在 heroku 自建 go modules 代理。


App name  是一个唯一的 app名字


Choose a reg...]]></description><category></category></item><item><title><![CDATA[解决nodejs报错TypeError: ParserIncomingMessage is not a constructor.]]></title><link>https://blog.youkuaiyun.com/whitehack/article/details/82849215</link><guid>https://blog.youkuaiyun.com/whitehack/article/details/82849215</guid><author>whitehack</author><pubDate>Wed, 26 Sep 2018 10:02:30 +0800</pubDate><description><![CDATA[当前最新的  node v8.12,  v10.11, 在 http模块里有一个bug.
bug报错如下：
TypeError: ParserIncomingMessage is not a constructor
at HTTPParser.parserOnHeadersComplete (_http_common.js:81:21)
at socketOnData (_http_server....]]></description><category></category></item><item><title><![CDATA[javascript 简单检查数组是否有重复值(nodejs )]]></title><link>https://blog.youkuaiyun.com/whitehack/article/details/81353563</link><guid>https://blog.youkuaiyun.com/whitehack/article/details/81353563</guid><author>whitehack</author><pubDate>Thu, 02 Aug 2018 10:10:11 +0800</pubDate><description><![CDATA[
TS 版


// 有重复返回true
export function checkDuplicationNormal&amp;lt;T&amp;gt;(arr: T[]) {
    return arr.some((val, idx) =&amp;gt; {
        return arr.includes(val, idx + 1);
    });
}


js 版




function checkDu...]]></description><category></category></item><item><title><![CDATA[webstorm或 idea 隐藏不想看到的文件或文件夹 如（.meta, node_modules)]]></title><link>https://blog.youkuaiyun.com/whitehack/article/details/80974350</link><guid>https://blog.youkuaiyun.com/whitehack/article/details/80974350</guid><author>whitehack</author><pubDate>Mon, 09 Jul 2018 17:17:53 +0800</pubDate><description><![CDATA[

在 最底部添加你想忽略的文件类型或者文件夹就好了。]]></description><category></category></item><item><title><![CDATA[bluebird还有替代原生 promise的必要吗]]></title><link>https://blog.youkuaiyun.com/whitehack/article/details/79023784</link><guid>https://blog.youkuaiyun.com/whitehack/article/details/79023784</guid><author>whitehack</author><pubDate>Wed, 10 Jan 2018 14:52:55 +0800</pubDate><description><![CDATA[测试代码





// global.Promise = require('bluebird').Promise;

console.log('node version:',process.version);
const co = require('co');
function* testfun_co(){
    let total = 0;
    for(let i = 0;i10000;]]></description><category></category></item><item><title><![CDATA[程序员，你为什么值这么多钱]]></title><link>https://blog.youkuaiyun.com/whitehack/article/details/53422865</link><guid>https://blog.youkuaiyun.com/whitehack/article/details/53422865</guid><author>whitehack</author><pubDate>Thu, 01 Dec 2016 16:13:29 +0800</pubDate><description><![CDATA[听说一段时间不加薪，人就会开始思考起和工资有关的问题。消费水平又提升了，能力也进步了，经验也更多了，怎么还没涨工资呢？近两年，有了点余钱就开始考虑起投资来，比如：投资股票首先需要判断的就是关于公司价值和价格的关系。回到个人身上，似乎工资也就是个人价值在市场上的一个价格。那我们的工资是如何被定义或确定的？因为我的程序员职业背景，下面就以这个职业为例来分析下这个问题。表象与实质工资的高低给我们的感觉似乎]]></description><category></category></item><item><title><![CDATA[OSX 黑苹果 ps 2 键盘 驱动]]></title><link>https://blog.youkuaiyun.com/whitehack/article/details/52777832</link><guid>https://blog.youkuaiyun.com/whitehack/article/details/52777832</guid><author>whitehack</author><pubDate>Mon, 10 Oct 2016 14:58:39 +0800</pubDate><description><![CDATA[驱动下载:https://github.com/whtiehack/hello-world/raw/master/RehabMan-Voodoo-2016-0616.zip驱动安装工具下载:https://github.com/whtiehack/hello-world/raw/master/kw.zip安装步骤:
解压 RehabMan-Voodoo-2016-0616.zip
解压kw.zip]]></description><category></category></item><item><title><![CDATA[nodejs 捕获 promise 未处理的  reject]]></title><link>https://blog.youkuaiyun.com/whitehack/article/details/52636747</link><guid>https://blog.youkuaiyun.com/whitehack/article/details/52636747</guid><author>whitehack</author><pubDate>Fri, 23 Sep 2016 11:58:14 +0800</pubDate><description><![CDATA[正常情况下,对于没有捕获的 promise的reject 会直接静默的吃掉.而这不是我们想要的.复现一下看看function cb(){
    console.log('444');
    fdsaf.fdafdas = 777;
}new Promise((resolve,reject)=>{
    cb(1)
})解决:文档https://nodejs.org/dist/latest-v4]]></description><category></category></item><item><title><![CDATA[webstorm nodejs  ESLint   简单配置]]></title><link>https://blog.youkuaiyun.com/whitehack/article/details/52422873</link><guid>https://blog.youkuaiyun.com/whitehack/article/details/52422873</guid><author>whitehack</author><pubDate>Sat, 03 Sep 2016 13:54:38 +0800</pubDate><description><![CDATA[ESLint 简介在团队协作中，为避免低级 Bug、产出风格统一的代码，会预先制定编码规范。使用 Lint 工具和代码风格检测工具，则可以辅助编码规范执行，有效控制代码质量。在以前的项目中，我们选择 JSHint 和 JSCS 结合使用，WebStorm 等开发环境已经支持这些工具，使用起来很顺手。然而，最近使用 React JSX 语法时，却遇到了问题：JSHint 不支持 JSX 语法。虽然有]]></description><category></category></item><item><title><![CDATA[tj大神的 co库.优雅的解决 nodejs callback无限嵌套(回调地狱)问题]]></title><link>https://blog.youkuaiyun.com/whitehack/article/details/52133035</link><guid>https://blog.youkuaiyun.com/whitehack/article/details/52133035</guid><author>whitehack</author><pubDate>Fri, 05 Aug 2016 22:05:13 +0800</pubDate><description><![CDATA[github co 项目传送门https://github.com/tj/cotest code
'use strict';const co = require('co');
function sleep(ms) {
    return function(done){
        setTimeout(function(){
            done(0,1111,22222)]]></description><category></category></item><item><title><![CDATA[C++11新特性之新类型与初始化]]></title><link>https://blog.youkuaiyun.com/whitehack/article/details/51953964</link><guid>https://blog.youkuaiyun.com/whitehack/article/details/51953964</guid><author>whitehack</author><pubDate>Tue, 19 Jul 2016 11:01:15 +0800</pubDate><description><![CDATA[这是C++11新特性介绍的第一部分，比较简单易懂，但是也有一些有趣的地方。 
不想看toy code的读者可以直接拉到文章最后看这部分的总结。新类型long long类型C++11标准中新加入了long long类型属性，占用空间不小于long类型。测试代码如下：long large = LONG_MAX;
long long long_large = LLONG_MAX;
long long lo]]></description><category></category></item><item><title><![CDATA[构造干净的 Git 历史线索]]></title><link>https://blog.youkuaiyun.com/whitehack/article/details/51912345</link><guid>https://blog.youkuaiyun.com/whitehack/article/details/51912345</guid><author>whitehack</author><pubDate>Thu, 14 Jul 2016 19:49:00 +0800</pubDate><description><![CDATA[构造干净的 Git 历史线索
理想的历史线索 
不要产生多余的分支
避免线索“扭麻花”
线上分支合并一定要用 merge –no-ff
总结
多人协作规范 
分支基点
推送合并目标
代码评审
处理期限
用 Git 也有一段时间了，看过一些 Git 工作流的文章，加上工作和业余中参与一些项目开发，对 Git 的工作流有一些心得，写下来整理一下。如果你对 Git 并不是很熟悉，推荐两份阅读资料：
Pro]]></description><category></category></item><item><title><![CDATA[nodejs  javascript 实现随机数种子的几种方法]]></title><link>https://blog.youkuaiyun.com/whitehack/article/details/51901221</link><guid>https://blog.youkuaiyun.com/whitehack/article/details/51901221</guid><author>whitehack</author><pubDate>Wed, 13 Jul 2016 20:25:55 +0800</pubDate><description><![CDATA[最简单的方法http://stackoverflow.com/questions/521295/javascript-random-seeds
用 Math.sin
var seed = 1;
function random() {
    var x = Math.sin(seed++) * 10000;
    return x - Math.floor(x);
}简单封装下Math.seed]]></description><category></category></item><item><title><![CDATA[pm2 自定义log, pid 等日志文件位置]]></title><link>https://blog.youkuaiyun.com/whitehack/article/details/51769790</link><guid>https://blog.youkuaiyun.com/whitehack/article/details/51769790</guid><author>whitehack</author><pubDate>Mon, 27 Jun 2016 17:20:02 +0800</pubDate><description><![CDATA[方法一:直接引用 pm2官方的: 
http://pm2.keymetrics.io/docs/usage/log-management/Log configurationCLIExample:$ pm2 start echo.js --merge-logs --log-date-format="YYYY-MM-DD HH:mm Z"Options:--merge-logs]]></description><category></category></item><item><title><![CDATA[解决 ssh user@ip 'command' 出现 'command not found'的问题]]></title><link>https://blog.youkuaiyun.com/whitehack/article/details/51705974</link><guid>https://blog.youkuaiyun.com/whitehack/article/details/51705974</guid><author>whitehack</author><pubDate>Sat, 18 Jun 2016 15:20:15 +0800</pubDate><description><![CDATA[环境 centos6.5 
状况 A机器 ssh user@B机器 ‘command’ 执行命令(B机器添加了对A机器的信任) 
提示 'bash: node: command not found'使用 ssh user@B机器    手动执行命令是没有问题的  echo $PATH;node -v 也是正常的-bash-4.1$ ssh root@B机器IP
Last login: Sat Jun]]></description><category></category></item><item><title><![CDATA[ssh连接远程主机执行脚本的环境变量问题]]></title><link>https://blog.youkuaiyun.com/whitehack/article/details/51705889</link><guid>https://blog.youkuaiyun.com/whitehack/article/details/51705889</guid><author>whitehack</author><pubDate>Sat, 18 Jun 2016 15:04:05 +0800</pubDate><description><![CDATA[11 Nov 2014 • 6 min. read • 18 Comments



近日在使用ssh命令ssh user@remote ~/myscript.sh登陆到远程机器remote上执行脚本时，遇到一个奇怪的问题：

~/myscript.sh: line n: app: command not found



app是一个新安装的程序，安装路径明明已通过/etc/p]]></description><category></category></item></channel></rss>