V2EX 首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  mdluo  ›  全部回复第 1 页 / 共 9 页
回复总数  177
1  2  3  4  5  6  7  8  9  
13 小时 43 分钟前
回复了 life1st 创建的主题 求职 [北京] 应届求职 web 前端
简历的技术部分不要吹、不要堆砌技术名词(尤其是那些你只接触过一两次根本没有踩过坑也没有详细研究过原理的)、不要参考着别人简历写了什么自己就跟着写什么。吹得越多面试官照着你的简历一条条打脸就不好看了。

照着你写的随便举几个例子,看看能不能不查资料就能答上来:

“熟悉 W3C 标准”,说说 script 元素的 async 和 defer 属性会对引用的脚本造成什么影响;
“熟练使用 Less ”,用 less 设计一套方便做响应式布局的媒体查询 mixins ;
“熟练使用原生 JS ”,说说 JS 里的 this 都有哪些绑定方式,各自有什么用途;
“熟悉 ES6 语法”,随便写个异步变同步的包装函数吧;
“可以不依赖第三方库完成基本 DOM 交互的编写”,随便写个 jQuery 里面的 wrap 函数吧;
“熟悉 Vue ”,vue 里的双向绑定是如何实现的;
“了解 NodeJs ”,说说 node.js 除了 JavaScript 语言之外有哪些常见的模块;
“重视代码可维护性”,用 eslint 吗?写单元测试吗?
“有 Git 和 SVN 的使用经验”,说说合并分支的时候冲突了怎么解决;
“了解 Web 常见攻击手段以及防护措施”,说说同源策略是怎么回事为什么会有这个东西。
3 天前
回复了 r9sky 创建的主题 微博 新浪微博无法修改登录 ID 是不是反人类啊
@johnnie502 #2 twitter、facebook、instagram、linkedin、medium、github、pinterest 等一票网站都能改 ID
不需要做单独的压缩,没有这个必要,常规的音频编码格式本身就考虑了压缩,更需要考虑的是跨平台兼容性。

语音为主的场景采样率可以足够低,人声的大部分信号都在 4KHz 以下,采样率设置成 8KHz 就行了,然后在根据选用的编码格式选择合适的比特率。但是听起来就是电话质感,声音会很单薄。这种音质的音频一分钟也就一百多 KB 的大小。
14 天前
回复了 yifeng1212 创建的主题 Node.js Nodejs 获取北京时间
Fingerprinting 是用来做精准匹配音频的,核心算法是特征提取和 Hash 累积匹配,跟你说的 “从开始一点一点的截取音频, 直到找到一个匹配” 相差挺远的。而且 FP 也不是用来做一个没有原始特征的这种模糊识别的算法,你这种需求直接从频谱里找竖向的峰值就好了。

这个 dejavu 只用了一个 local max 来找特征,算是最 naive 的方法了,实际的比如 Shazam 的 FP 算法要复杂的多。不过你只是找跳绳的声音参考这个的 get_2D_peaks 基本上也足够了。
15 天前
回复了 yifeng1212 创建的主题 Node.js Nodejs 获取北京时间
@julyclyde 我说的就是用 UTC 啊,我提 GMT 只是用来解释 toISOString() 的时间是 GMT+0 时区的时间为基准的时间,ISO 8601 格式最后结尾的 Z 也是代表 Zero 也就是 0 时区。

另外 JavaScript 本身的 toGMTString() 和 toUTCString() 输出结果是一毛一样的,而且还带 GMT,可见 toUTCString 这个名字里的 UTC 根本就不是真正的 UTC,应该用 toISOString() 才像是有 UTC 的样子。当然服务器通过网络同步的时间也是不够精确的,更精确的时间应该通过 GPS 设备从卫星去获得。
15 天前
回复了 yifeng1212 创建的主题 Node.js Nodejs 获取北京时间
多时区之间通信,一般用 ISO 8601 的 UTC 时间,像这样的格式:2018-02-08T12:51:00.936Z

统一用这个时间对应的 GMT +0 (格林威治时间)的时间来存储和传输,AWS 和 Azure 都是这么做的。

JavaScript 里把一个 date 对象转换成 ISO 8601 的时间,一个 toISOString() 就行了,然后把一个 ISO 8601 的时间转换成 date 对象的时候也会自动作用当前机器的时区。
https://sailsjs.com/documentation/reference/configuration/sails-config-session

> If left unspecified, Sails will use the default memory store bundled in the underlying session middleware. In production, you should specify the package name of a scalable session store instead (e.g. connect-redis). See below for details.

可见是跟你的配置有关系的,如果不配置默认是直接存内存里:

https://github.com/balderdashy/sails/blob/master/lib/hooks/session/index.js#L279

这里用到了 express-session,然后最终其实是存在了一个对象里:

https://github.com/expressjs/session/blob/master/session/memory.js#L42


推荐生产环境用 redis 来存,或者其实更好的方案是 cookie + jwt,当然这个文档里没提
19 天前
回复了 sunzongzheng 创建的主题 Node.js 求推荐好用的调试工具
网络用个抓包工具或者类似于这样的网络代理: http://anyproxy.io/

对象的深度查看,打断点然后在 devtool 里查看,不要直接 console.log , 打断点关键字:debugger
19 天前
回复了 okface 创建的主题 Node.js 读取 15075 行数据的时候栈溢出?
1. 能用循环做的事情就不要用递归,递归相比循环有相当大的性能差距。

2. node.js 只有特定几个版本有尾递归优化,而且需要 flag 来开启,最新版本是没有的( http://node.green/),函数调用的 Maximum call stack size 就是一个一万多的值。另外,ES6 里的尾递归优化是需要有 return 才可以的。

2. 大文件读取尽量用 Stream,可以指定分块的长度,而且不会一直阻塞 event loop.

3. 如果一定要用递归才能实现的逻辑,通过 setTimeout(func, 0)、setImmediate(func)、或者 process.nextTick(func) 把把递归的深度从 call stack 转移到 task queue.

4. 另外代码优化相关的,能在循环外通过局部变量存起来的值就不用在循环里用函数调用去读取。
宽松相等 ECMAScript 就是这么定义的,没什么好奇怪的

ECMAScript 标准原文: http://www.ecma-international.org/ecma-262/5.1/#sec-11.9

之前回答过的一个问题: https://www.zhihu.com/question/46943112/answer/122096589
37 天前
回复了 waiaan 创建的主题 Node.js 请教一个 nodejs 循环和异步的问题
@waiaan 不对,是包装成函数,函数参数里有一个对外的 callback,console.log 的地方调用这个 callback
37 天前
回复了 waiaan 创建的主题 Node.js 请教一个 nodejs 循环和异步的问题
@waiaan 包装成函数,return 就行了
37 天前
回复了 waiaan 创建的主题 Node.js 请教一个 nodejs 循环和异步的问题
以上只是基于你提供的代码的功能,只读取一层,如果想做递归遍历文件目录,直接用 https://github.com/isaacs/node-glob
37 天前
回复了 waiaan 创建的主题 Node.js 请教一个 nodejs 循环和异步的问题
把 readdir 的 callback 写到外面,加判断条件即可

```
let datas = [];

fs.readdir(path, function(err, data) {
const callback = (err, lists) => {
datas.push(lists);
if (datas.length === data.length) {
console.log(datas);
}
}
for (let i = 0; i < data.length; i++) {
fs.readdir(data[i], callback);
}
});

```
40 天前
回复了 mb135 创建的主题 程序员 猿们,还记得前几年火热的 nosql 吗?
@q397064399 #16

《高性能 MySQL 》作者写的这篇博文:

https://www.xaprb.com/blog/2014/12/08/eventual-consistency-simpler-than-mvcc/

(译文: http://www.jdon.com/forum/messageList.shtml?thread=46910

摘抄一下译者的个人评论:

现在进入多核时代,只要是运行在多核上多用户同时读写都回避不了分布式和并发这两个课题。我们不能因为我们熟悉关系数据库,就对之产生 100%信任,其实 MySQL 这些关系数据库在处理分布式 并发以及一致性上非常复杂,而且有问题在其中,会打折扣。

比如缺省设置 READ COMMITTED 隔离级别其实并不能带来真正高一致性,而 REPEATABLE READ 类似于串行序列化,拒绝并行计算,严重浪费多核资源。

所以,这些数据库其实要么是使用类似加锁技术实现事务,这种类似 Java 中同步锁等应用一样,这种锁的多线程并发很差;要么是使用一种类似最终一致性的 READ COMMITTED,也并不能给你真正高一致性。

与其接受传统关系数据库教廷式的洗脑,不如打开这个盒子,实现 Out-of-box,NoSQL 是这种尝试,DDD 和 CQRS 也是这种尝试,将分布式和并发主动权掌握在开发人员自己手里,而不是打破脑袋搜集各种关系数据库资料,拜山各种关系数据库牛人,这种行为才是真正封建迷信呢。

什么是真正封建迷信?就是自己无法或不愿主动研究自然的秘密,期待牛人大牛为自己指点迷路,迷信于一些牛人的神奇“智力”,缺乏对自己的自信。
40 天前
回复了 mb135 创建的主题 程序员 猿们,还记得前几年火热的 nosql 吗?
有的人,总觉得这个世界上一定要有一个造物主,制定好一切规则,绝不允许人打破。还喜欢嘲笑那些在创新路上摸爬滚打的人说,你看你们折腾这么半天最后还不是走了造物主制定好的老路...

看到上面有人提 CSS,想起《 CSS Secrets 》引言部分的一段话,大概意思是:你们以为 W3C 标准好像是一群研究员抓耳挠腮写出来的,然后浏览器厂商再根据这些标准去做实现。其实才不是呢,制定标准的人 88% 都是浏览器开发商、主流网站 的公司的人,他们在制定的过程中要不断的撕逼和妥协,标准也是要经历 6 个阶段最终定稿。

最近我在做浏览器内核里某个功能的移植,发现这一部分功能的 W3C API Specification 不过是 WebKit 内核里这部分功能的实现的 API 说明文档。所以哪有什么安排好一切的造物主、制定好一切细则的标准,而不断摸爬滚打的人们总结下来的经验而已。

倒置因果和幸存者偏差是我们经常犯的错误。
92 天前
回复了 wyan453351466 创建的主题 程序员 如何给自己的开源项目起名?
讲真,从印尼语或者马来语里找,大部分词汇都很容易拼读,全都是标准英文字母但是不容易和英文词汇重复,而且词汇本身都是有含义的不是强行拼凑的一个名字
130 天前
回复了 hackpro 创建的主题 问与答 中国移动 8 元 4G 飞享套餐现在不能办了?
@sky92682 #14 谢谢,很详细
1  2  3  4  5  6  7  8  9  
DigitalOcean
关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   鸣谢   ·   2822 人在线   最高记录 3541   ·  
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.0 · 122ms · UTC 06:25 · PVG 14:25 · LAX 22:25 · JFK 01:25
♥ Do have faith in what you're doing.
沪ICP备16043287号-1