易栈网-膘叔

浏览模式: 标准 | 列表 | 图文
surface如何连接蓝牙键盘

surface如何连接蓝牙键盘

如题。看起来好简单的问题,但事实上,真的折腾我,在网上找了很久才找到。而且。。。尝试了N次才成功。。据说这还是官网给出的方案,你可以搜索:surface bluetooth keyword。可以到官网找答案。

知乎上也有,大意是这样的:用链接输入000000,鼠标点击连接,在点击的同时,在蓝牙键盘上同时输入000000,按回车,就连接上了。

按的太快。按的太慢都不一定OK。为了这个,我试了至少有10次以上。。。

win10中的连接蓝牙键盘很妖,让你输PIN码,但事实上并没有显示,只能用上面说的办法。。。。

aliyun:One or more of the sp....

aliyun:One or more of the sp....

Aliyun oss 报错: One or more of the specified parts could not be found or the specified entity tag might not have matched the part's entity tag.

报错是在multipartUpload方法中。如果要解决也很方便,在跨域设置中,暴露的headers中增加一个:ETag,即可,就是这么简单,但,真心花了不少时间处理(最后要看这里:https://help.aliyun.com/document_detail/32069.htm,如果用了分片,还是要再加一个:etag和x-oss-request-id)
有点小意外的是。AliOss的文档中有写:oss.put(name, object ),说是第二个参数支持File和Blob对象(嗯,在浏览器中)
file {String|Buffer|ReadStream|File(only support Browser)|Blob(only support Browser)} object local path, content buffer or ReadStream content instance use in Node, Blob and html5 File
然而在实际使用的时候,却是报错:TypeError: Must provide String/Buffer/ReadableStream for put.,这,简直是忽悠人啊。再比如说,multipartUpload,他说:
file {String|File(only support Browser)|Blob(only support Browser)} file path or HTML5 Web File or web Blob
这回就真实是支持的。
----
难道区别就在于上面写的是:object local path而下面写的是 file path??
不管了。已解决。就是有点渗的慌
apache记录nginx proxy后的 真实IP

apache记录nginx proxy后的 真实IP

1、 nginx的proxy_pass要加载默认的 proxy_params,里面配置了怎么传递 真实IP

2、apache默认的combine的logformat默认没有取有代理 情况下的IP,所以需要加一个:
LogFormat "\"%{x-forwarded-for}i\" %h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined2
然后CustomLog的时候就是使用 combined2,例如: CustomLog ${APACHE_LOG_DIR}/www.neatstudio.com.access.log combined2
上面那个logformat如果要全局使用,就放到apache.conf里。如果只是当前项目使用,则可以放到当前的hosts文件中
---EOF---
其实没啥,就是做个记录。老是会忘
IE的小笔记。。

IE的小笔记。。

虽然不用IE很多年了,但客户要用也没有办法

记录一下,原来写<!--[if lt IE 9]>之类的在 IE10以上就不能用了。所以 这样的用法,只 支持到IE9就结束了。再往后的正确用法是<![if lt IE 10]><![endif]>,看到没有,不再有类似HTML的注释写法了。
试了一下,在IE11的兼容模式(IE9)下,这个写法也OK。所以放弃以前的写法吧
COPY from 知乎:英文名中间那个点,不用输入法能打出来吗?老外是怎么做的?

COPY from 知乎:英文名中间那个点,不用输入法能打出来吗?老外是怎么做的?

先说一下,以前我都是用shift+`来进行输入的,但偶尔有些输入法不支持这样的做法。好象一段时间QQ输入法不支持。我现在用的是百度的(居然支持)。就象标题说的,我们是中文输入法,那老外怎么办呢?如果你的输入法正好不是shift+`怎么办?

以下内容复制自知乎:

如果题主说的是「乔治·布什」、「齐·宝力高」、「迪里拜尔·尤努斯」这样的名字里,中间的那个点,中国大陆事实上的规范字符是 Unicode 00B7 (middle dot)。和大陆常用的「间隔号」是同一个字符。

任何主流输入法都能输入(绝大多数输入法是数字「1」左边那个键「`」;微软拼音、智能 ABC 是「Shift-2」),Mac OS 里可以用 shift option 9 输入。iOS 7 里这样输入:cl.ly/image/1L1r1C44353

如果题主说的是 George W. Bush, J.K. Rowling 这样的名字里,中间的那个点,它就是英文的句点。键盘上直接按就行。另外,如果英文名字里没有缩写的字母,就不需要点啊,比如 Bill Gates。

关于各个地区对中间点的处理,参见@梁海的回答: zhihu.com/question/2027

附注:你们根本没法想象这个问题给多少人造成了麻烦: zhihu.com/question/2030


作者:小鹤同学
链接:https://www.zhihu.com/question/20330839/answer/21061085
来源:知乎
---EOF---
因为上述内容并非商业使用,所以就没有获得作者授权。还是感谢一下
browser.min.js 报错:Cannot read property 'keys' of undefined

browser.min.js 报错:Cannot read property 'keys' of undefined

在IE下,果然什么样的问题都会发生,为了兼容旧版浏览器,大家都知道要加载browser.min.js。然而。。。问题还是来了,就象标题那样。

查了一些资料,发现很多人都遇到过,原来。。。。居然是browser.min.js的版本太高了,降为 5.8.24 ,世界清静了
然而还是遇到一点问题,为了想用一些新的语法,用了<script type="text/babel">,但这样却导致vue 中的变量无法识别。尴尬 ,这一点还没有想到好办法
没办法用纯VUE进行开发,只能先PHP+VUE进行混写了
workerman 无限reload的问题

workerman 无限reload的问题

不喜用swoole,主要还是因为workerman是PHP版的,几乎不需要有什么额外的依赖。而Swoole则需要扩展。

调试阶段遇到和踩的一些坑在这里记录一下
1、因为reload不是重启,所以如果有一些文件需要reload,必须要onWorkStart里,不能在之前就include进来。否则无效
2、因为引入了Yii的queue,而Yii的queue,不是一个标准的controller,他只要调用过的Job,就会在内存里,所以只能通过exec(yii queue/run)之类的(当然,这本身也应该用supervisor或者systemd来进行管理)
3、无限reload:这个问题比较妖,我开始一直以为是官方例子里的last_time没有赋值或者赋值失败。所以测试了一些:
  1. $worker->reloadable = false,必须要为false
  2. 如果 Timer::add(3 , 'check_file_change'),如果这里是一个callable,那么死活就是无限reload(也可能是我方法不对?),直接我用Timer::add(3,function(){ ... })就正常了
4、官方有一个GlobalData的共享组件,如果你本身有redis之类的,就不要用了。当然他比较简单一些(反正他也不是什么分布式)
5、其他还有一些小坑,后续再说了
非专业前端做页面要注意的几个事项

非专业前端做页面要注意的几个事项

为了该死的IE,可能会需要这样

1、如果你的代码里用到了ES6的语法,比如:const a = 1;或者 a(){}等,记得 加载 browser.min.js ,如果还要支持 promise,那就加载browser-polyfill.min.js,下载地址:https://cdn.jsdelivr.net/npm/browser-polyfill@3.20.2/index.min.js,或者先npm install babel-core@7,然后复制其中的browser.min.js到你的项目里。如果文件中不含polyfill,还得 单独去下载一下
2、如果页面中引用了一些第三方的jQuery组件,记得加载1.x的版本。因为 从2开始不支持IE8了。如果IE9以下,那是无所谓
有些东西,还是需要记录一下。都是坑啊。。。然而直到IE11,都对ES6支持不好。所以。browser.js还是跑不 掉
vue in ie11

vue in ie11

几个小问题记录一下

1、如果IE11打不开F12控制面板,可能是因为你是从win7的IE8升上来的,如果是这样,下载这个更新包:
Install the latest cumulative IE update :

http://www.microsoft.com/en-us/download/details.aspx?id=45134 (32 bit)
http://www.microsoft.com/en-us/download/details.aspx?id=45154 (64 bit)
2、在IE11下面你会发现VUE居然不解析,报错内容是说:mount(){ 这一行缺少;,这个在官方论坛里介绍,IE11不认这种语法简写,还是乖乖的用mount:function(){}这种写法吧。同理。如果你的函数在methods中也是 a(){},b(){}这样写的。乘早换成a:function(){},b:function(){}吧
记录一下,不然的话,虽然 说VUE支持IE9+,但你在IE11下也不正常。。。
即使微软说未来EDGE要换chrome的核心,但老机器 怎么办啊!!XP最高只支持IE8好象。希望我都是接一些高端点的活(如果钱给够,IE8我也可以吐血支持)