V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  libook  ›  全部回复第 219 页 / 共 247 页
回复总数  4932
1 ... 215  216  217  218  219  220  221  222  223  224 ... 247  
2018-09-28 16:30:46 +08:00
回复了 lwd219 创建的主题 MongoDB mongoose 嵌套数组 update 的问题
MongoDB 官方的建议是:
操作的最小单元最好是 Document,而不是 SubDocument,如果你经常有对 SubDocument 进行操作的需求,请把它拆出来放到另外一个 Collection 里,在原 Collection 的数据结构里 Refrence 这些拆出来的 Document。
2018-09-27 11:26:46 +08:00
回复了 fajian 创建的主题 程序员 如何提高访问国外服务器的速度?
静态资源和前端网站可以用国内 CDN,后端服务 API 就不好办了。

要么就申请公司境外的服务器可以境内访问,但不清楚找谁申请,工信?
要么就国内外各部署一套服务器,产品上要么做国服和国际服两套系统,要么就用企业 VPN 进行连接,企业 VPN 的话需要备案审批,貌似也是找公信。
有一些运营商提供国际专线网络,比较贵。
2018-09-26 12:26:11 +08:00
回复了 fundebug 创建的主题 程序员 注释写得太多了会挨打吗?
寻其根本,写注释是为了什么?

对于这个问题,我的答案是:能让大多数人轻松看懂我的代码,简而言之就是提高可读性。

而提高可读性不一定就要靠尽可能多地写注释,甚至不一定要靠注释,不管你用什么办法,只要达到了“能让大多数人轻松看懂我的代码”的目标就可以了。

注释越多就越能越轻易看懂吗?
不一定,像《三傻大闹宝莱坞》里主角用了一大串“定义”来描述“书”的时候,教授完全没听懂是什么。
但有的时候算法真的非常复杂,少一点注释就解释不清楚,这时候不妨吧代码拆一拆,分段由浅及深写注释,可能效果会更好一些,想象一下如何才能给一个对物理学完全不了解的小学生讲明白相对论。
2018-09-26 12:05:32 +08:00
回复了 DongZhe93 创建的主题 Node.js 求助: Express 框架如何预防 cookie 劫持攻击?
@DongZhe93 为什么不用 HTTPS 呢?可以用 Let ’ s Encrypt 的免费证书,或者只有有限的人会用的话也可用自签证书,直接在代理服务器上部署证书还不需要改程序。自己 Hack 最终做到极致也是重做了个山寨版的 HTTPS。
2018-09-25 17:52:58 +08:00
回复了 DongZhe93 创建的主题 Node.js 求助: Express 框架如何预防 cookie 劫持攻击?
既然你提到了“劫持”,那就是前后端通信协议的锅; HTTPS 是专门被发明用来解决这个问题的;用 HTTP 是明文传输的,完全不可能杜绝中间人劫持。

HTTPS,再加上一系列 HSTS 处理就能满足你的需求,个人评估相比于其他各种 Hack 方案,无论从实施成本、复杂度、有效性还是用户体验上来说,这都是最佳方案。

如果因为各种原因坚持拒绝使用 HTTPS 的话,就只能用一些比较麻烦、效果又不见得好的方案。
楼主想解决的问题:
1. 杜绝中间人拦截 Cookie。这个不用 HTTPS 无解。
2. 杜绝中间人对拦截下来的 Cookie 进行修改。使用非对称加密,前端用公钥加密,后端用私钥解密,中间人没有私钥无法解密 Cookie 内容,也就无法篡改(但这实际上是自己实现了一个简陋版的 HTTPS )。
3. 杜绝已使用的 Cookie 被重复利用。在 Cookie 中包含一唯一识别码,后端查询这个识别码是否被使用过,如果被使用过就返回 403,未被使用过就记录下来并完成后续的业务。这个得搭配非对称加密才好用。

上面这个方案有很多漏洞,比如:
1. 拦截者拦截你的请求,这时候唯一识别码还没有发送到服务器上,拦截下来的 Cookie 是可以用于其他用途的。
2. 还有,拦截者可以不修改你的 Cookie,直接修改你的请求信息,往往也能达到自己的目的。
3. 前端 XSS 攻击连 HTTPS 都防不了,这个是发生在前端的,必须要前端代码上做好安全措施,防止攻击者将攻击程序注入到其他人可以访问到的页面里。
4. 现在好多浏览器都会强烈提示用户未使用 HTTPS 的网站是不安全的,谷歌浏览器会直接在地址栏上显示“不安全”,从某种程度上来说,如果不用 HTTPS,可能会导致用户体验不大好(用户看到提示缺乏安全感)。
2018-09-21 19:41:14 +08:00
回复了 XianyuFront 创建的主题 移动开发 闲鱼 app 技术讨论和体验反馈
网页版回来+1
我之前也遇到了这个问题
https://twitter.com/LiBook7/status/1032079898934820864
当时手机空间被吃满,卸载了
@xiaominglui photos calandar youtube gmail keep maps drive,都正常用,没感觉是阉割版的。不像以前非要刷 gapps,直接去 apk mirror 上下个 play store 就可以用了。
2018-09-14 11:04:12 +08:00
回复了 pizzamx 创建的主题 Android Pixel 续航被我用成这样,太尴尬了
国内国外应用生态完全不一样,国行 ROM 对国内应用优化做得好,压得住自启和后台进程,国际 ROM 对国际应用优化好。
十月份出 Pixel3 了,想观望一下,看了 Pixel3XL 的大刘海,有点想换三星国行。。。
Pie 在电量方面确实有挺多提升,但感觉还是不够用一天。。。
现在感觉,三星是一流硬件二流软件三流设计;国产大牌手机是二、三流硬件,二流软件,一流设计; Google 毕竟是一家软(guang)件(gao)公司,虽然软件是一流,但是硬件和设计都是三流。。。
用过 8 代三星,非常推荐:

1. 因为 Note7 的问题,三星在第 8 代上下了真金白银的狠功夫,不光电池安全性上做了很多工作,为了挽回市场,软件研发上也投入了大量成本,以前和三星电子合作开发的时候觉得他们就是一流的硬件、三流的软件,但用了 8 代后觉得他们软件方面的设计有了惊人的提升。毕竟 8 代不一鸣惊人的话,三星的手机品牌基本上就完蛋了。
2. 推荐用国行,安卓 7.0 以后的系统都未阉割 Google,国行装 Play Store 可以激活 Google 服务框架,用起来也没什么问题。
3. 还是推荐国行,8 代中国本土化设计做得非常棒,三星和中国好多移动互联网企业合作搞了很多本土化设计,地铁公交直接刷、打开相机拍二维码就可以直接用移动支付和共享单车。
4. 国行 ROM 在电量方面对于国产应用优化很不错,电量比较持久,之前使用国际版 ROM 感觉对中国应用没有做优化,压不住自启和后台进程,导致耗电较高。
5. 用不到笔的话没必要买 Note 系列,但用得到或用过笔的话(比如用到美术的行业)确实是不错,据说是 Wacom 合作的技术。
6. Note8 用了 1 年多了,国内外应用都用,不卡不热。
7. 拍照比较符合女生的胃口。
8. 没有像为了做超薄或提升配置而砍功能和接口,Note8 做到了超薄,还具备 IP68 防水、耳机孔、双卡、存储卡,以及一根笔。
2018-09-14 10:31:09 +08:00
回复了 lucilfer 创建的主题 分享创造 前后端分离使用 Token 登录的解决方案
@qwx 如果是整个丢到 Redis 里就失去了 Token 的价值了,那样的话没必要用 Token,随机生成一串字符串完全就能满足要求。
Token 的价值在于内部可以加密储存信息,那你可以想想,在用户会话验证阶段都需要哪些信息,如用户 ID、角色、权限、会话过期时间等等,把这些信息加密生成的密文就是 Token,当用户发送请求的时候携带 Token,你的服务器就可以不依赖数据库及其他资源,直接解密 Token 取出里面的数据就可以完成用户会话验证。
这种 API 设计叫做“无状态 API ( Stateless API )”,这是个 REST API 设计风格的核心思想,有了这种设计后系统就会变得很简单,不需要考虑用户上一个请求是什么,也无需考虑用户是否把请求发给过集群里的其他服务器,每一台服务器的每一个线程都可以独立完成请求的处理。因为能够独立处理请求,所以不存在因为某一层是单节点处理而造成的性能瓶颈,你的服务就可以无限横向扩展,集群里加几倍的服务器就能有几倍的算力。
2018-09-13 01:23:04 +08:00
回复了 iamcookie 创建的主题 职场话题 招了一个同事,真是坑死人了
面试方式有问题,试用期内打发走呗。
2018-09-13 00:55:53 +08:00
回复了 allen945 创建的主题 程序员 你们怎么看待开源?开源项目被私自删除版权好无奈
ffmpeg 搞了个耻辱柱,把不遵守协议的都列在了上面。。。
2018-09-13 00:46:04 +08:00
回复了 abcbuzhiming 创建的主题 程序员 生成内容型的下载接口如何给前端友好提示?
请求的时候加上 query 参数,把当前页面的地址传给服务器,服务器鉴权,如果判定合法就返回真实内容,判断不合法就返回 307 的状态,重定向地址为原发起下载的页面地址,后面拼接状态参数,原页面上做一个常规检查,只要遇到这个状态参数就展示友好提示。
2018-09-13 00:31:00 +08:00
回复了 y_ding 创建的主题 Android Google 并未给 Android 下新版 Chrome 带来新的 UI
Beta 版在 chrome://flags 下搜 Layout 可以开启 Refresh Touch UI,已经用了挺长时间了,PC 版 Chrome 也是这么开。
2018-09-13 00:25:48 +08:00
回复了 lucilfer 创建的主题 分享创造 前后端分离使用 Token 登录的解决方案
既然 Token 内已经存了过期时间,就完全可以把 Redis 干掉,验证 Token 是否过期只需要解密 Token 比对过期时间就好了,这样对于分布式系统比较有利,鉴权阶段完全不依赖于数据库。除非需要做多端登录互踢,那样的话 Token 里要纪录一个 UUID,Redis 里纪录有效的 UUID,每次验证 Token 的时候去 Redis 里看一下是否 UUID 还在,一旦需要踢掉用户的登录状态,只需要在 Redis 里删掉这个 UUID 就可以了。
2018-09-13 00:07:33 +08:00
回复了 jiafaner 创建的主题 程序员 用什么样的方法防止图片被抓取?
puppeteer 项目了解一下,你就理解了什么是能见到就能抓到。

CDN Token 鉴权、Canvas 绘制、高频水印、IP 限流等等无非就是提升爬图的难度,但都是可破解的,防菜鸟不防大牛,之前新闻里说的阿里能在截图里藏匿截图者的信息,但这也只是为了事后调查保存证据。

牛 13 的公司从来都是通过法务手段来解决版权问题的,参见迪斯尼、甲骨文和微软。。。
2018-09-11 18:33:33 +08:00
回复了 iloveyouso 创建的主题 程序员 你们会在代码里面带粗话吗?
绝大数情况不会用脏话,除非要用作很强烈的状语,比如:
var theList - 列表
var theLongList - 长列表
var theFxxkingLongList - 超 TM 长列表

这个网站一直在统计 Linux Kernel 里的脏话数量。

https://www.vidarholen.net/contents/wordcount/

命名最重要的是语义明确,执行的话不管用什么单词,编译后都只是地址而已。
2018-09-11 18:23:21 +08:00
回复了 miniyao 创建的主题 Python pip 读 [pi:p] 还是读 [paip] ?
有没有人敢去官方 Repository 提 Issue 问一下
2018-06-07 19:53:23 +08:00
回复了 libook 创建的主题 git 清理废弃分支
@mcfog
@akillcool
你可以试一试,功能不大一样。脚本里也用了你们说的指令,但还有代码用来处理其他情况。
1 ... 215  216  217  218  219  220  221  222  223  224 ... 247  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2889 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 65ms · UTC 12:53 · PVG 20:53 · LAX 05:53 · JFK 08:53
Developed with CodeLauncher
♥ Do have faith in what you're doing.