V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  mdluo  ›  全部回复第 5 页 / 共 14 页
回复总数  262
1  2  3  4  5  6  7  8  9  10 ... 14  
2018-02-25 11:16:08 +08:00
回复了 life1st 创建的主题 求职 [北京] 应届求职 web 前端
@z308114274 #13 感谢丰富黑名单
2018-02-25 11:01:13 +08:00
回复了 life1st 创建的主题 求职 [北京] 应届求职 web 前端
@Railgun4 #10 面试的时候面试官问起这些问题你说他是在装逼?楼主自己简历里写的“两年前端开发经验”问这些基础问题叫装逼?
2018-02-24 20:25:28 +08:00
回复了 imlink 创建的主题 问与答 一道编程题,可能是我想复杂了
@mdluo #17 上面这个代码处理边界条件有些问题,仅提供个思路,有时间你可以自己修复

p 表示当前在处理第几条边
nav 表示当前边( p%4 )的两个相邻元素之间的索引位置差值
count 用来记录当前边( p%2 )的剩余元素个数
2018-02-24 20:16:35 +08:00
回复了 imlink 创建的主题 问与答 一道编程题,可能是我想复杂了
一个循环就能搞定,帮你用 JavaScript 写了个 11 行的函数:

https://ws2.sinaimg.cn/large/82d0750dgy1forsfwbek6j21kw0geq6f.jpg

下面是在线版地址:

https://repl.it/@mdluo/clockwise-array
划重点:广州、天使轮、工资 6k、每周工作 6 天

后端技术栈:不明(有点像 PHP ?)

前端技术栈:bootstrap + jQuery
2018-02-24 00:42:01 +08:00
回复了 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 常见攻击手段以及防护措施”,说说同源策略是怎么回事为什么会有这个东西。
2018-02-21 10:47:07 +08:00
回复了 r9sky 创建的主题 微博 新浪微博无法修改登录 ID 是不是反人类啊
@johnnie502 #2 twitter、facebook、instagram、linkedin、medium、github、pinterest 等一票网站都能改 ID
2018-02-15 12:21:14 +08:00
回复了 Telegram 创建的主题 反馈 微信的语音话质是技术问题还是刻意劣化?
不需要做单独的压缩,没有这个必要,常规的音频编码格式本身就考虑了压缩,更需要考虑的是跨平台兼容性。

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

这个 dejavu 只用了一个 local max 来找特征,算是最 naive 的方法了,实际的比如 Shazam 的 FP 算法要复杂的多。不过你只是找跳绳的声音参考这个的 get_2D_peaks 基本上也足够了。
2018-02-09 09:31:47 +08:00
回复了 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 设备从卫星去获得。
2018-02-08 20:55:40 +08:00
回复了 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 对象的时候也会自动作用当前机器的时区。
2018-02-05 14:18:04 +08:00
回复了 KillThunder 创建的主题 问与答 nodejs 的 sails 框架是如何处理 session 的?
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,当然这个文档里没提
2018-02-05 13:47:31 +08:00
回复了 sunzongzheng 创建的主题 Node.js 求推荐好用的调试工具
网络用个抓包工具或者类似于这样的网络代理: http://anyproxy.io/

对象的深度查看,打断点然后在 devtool 里查看,不要直接 console.log , 打断点关键字:debugger
2018-02-05 12:36:45 +08:00
回复了 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. 另外代码优化相关的,能在循环外通过局部变量存起来的值就不用在循环里用函数调用去读取。
2018-01-23 10:48:35 +08:00
回复了 LeungJZ 创建的主题 JavaScript 如何实现 (a == 1 && a == 2 && a == 3) === true ?
宽松相等 ECMAScript 就是这么定义的,没什么好奇怪的

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

之前回答过的一个问题: https://www.zhihu.com/question/46943112/answer/122096589
2018-01-18 10:30:44 +08:00
回复了 waiaan 创建的主题 Node.js 请教一个 nodejs 循环和异步的问题
@waiaan 不对,是包装成函数,函数参数里有一个对外的 callback,console.log 的地方调用这个 callback
2018-01-18 10:29:01 +08:00
回复了 waiaan 创建的主题 Node.js 请教一个 nodejs 循环和异步的问题
@waiaan 包装成函数,return 就行了
2018-01-17 20:27:19 +08:00
回复了 waiaan 创建的主题 Node.js 请教一个 nodejs 循环和异步的问题
以上只是基于你提供的代码的功能,只读取一层,如果想做递归遍历文件目录,直接用 https://github.com/isaacs/node-glob
2018-01-17 20:18:29 +08:00
回复了 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);
}
});

```
1  2  3  4  5  6  7  8  9  10 ... 14  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3605 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 27ms · UTC 10:33 · PVG 18:33 · LAX 02:33 · JFK 05:33
Developed with CodeLauncher
♥ Do have faith in what you're doing.