最新 | 最热门 | 最高评价

+0  从 MongoDB “赎金事件” 看安全问题

Tag: 技术新闻 | 网络安全 | Bitcoin | MongoDB | ransom | 安全
陈皓 发于 2017年01月07日 17:11 | 点击: 449 | 展开摘要
今天上午(2017年1月7日),我的微信群中同时出现了两个MongoDB被黑掉要赎金的情况,于是在调查过程中,发现了这个事件。这个事件应该是2017年开年的第一次比较大的安全事件吧,发现国内居然没有什么报道,国内安全圈也没有什么动静(当然,他们也许知道,只是不想说吧),Anyway,让我这个非安全领域的人来帮补补位。

事件回顾

这个事情应该是从2017年1月3日进入公众视野的,是由安全圈的大拿 Victor Gevers (网名:0xDUDE,GDI.foundation

查看全文: http://www.udpwork.com/item/16052.html

+0  了解并改变你的习惯

Tag: book | habit | reading | review
Cat Chen 发于 2017年01月02日 16:54 | 点击: 1331 | 展开摘要
最近看了一本书叫做《The Power of Habit》,觉得书本身写得超好,故事和道理穿插的写法让你好像追小说一样没办法把书(或者是 Kindle)放下来,最终你理解了书中所讲的道理,但却不会像阅读一本讲道理的书一样疲劳。这本书说了很多跟习惯有关的研究和案例,解释了习惯是如何形成的,讲述了商业社会如何利用习惯改变员工改变顾客,最后还讨论了一下习惯在社会层面的影响。
书的开头通过一个叫做 Eugene Pauly(简称 E.P.)的病人引入人类对习惯形成的研究。E.P.

查看全文: http://www.udpwork.com/item/11967.html

+0  正确的将浮点数转成整数的方法 – 避免强制类型转换

Tag: IT技术和评论
ideawu 发于 2016年12月08日 21:15 | 点击: 456 | 展开摘要
基于思维惯性, 一般我们会直接利用语言的强制类型转换, 将浮点数转成整数. 事实上, 强制转换在计算机内部的实现相当于直接抹零, 而浮点数经过运算后, 往往不能准确地表示整数, 这会导致严重的问题, 特别是涉及到钱的时候.

例如,

double f = 9.99999;
int a = (int)f;
printf("%f, %d\n", f, a);

输出:

9.999990, 9

不要纠结 f=9.99999 是怎么得来的, 你只要记住, 浮点数经过计算后, 很

查看全文: http://www.udpwork.com/item/15993.html

+0  知乎的手机短消息登录是个错误的决定

Tag: security
Difan Zhang 发于 2016年11月22日 08:48 | 点击: 421 | 展开摘要
这是 2016 年的年末。尽管国家标准技术协会已经在 Publication draft 800-63B 中将基于 POTS/SMS 的认证方式认为是不安全的,依然有人认为使用手机号作为登录验证的方式是个很好的决策。

不,手机号登录既不能提供额外的安全性——相反,他极大的 compromised 由强密码带来的额外安全度,而且手机号登录又不能作为一次性密码 (OTP) 使用。

SS7 Attack

SS7 (七号信令) 是美国国内运营商传输控制平面 (control p

查看全文: http://www.udpwork.com/item/15936.html

+0  关于高可用的系统

Tag: 技术管理 | 程序设计 | 系统架构 | Design | High Availability | Paxos | Programmer | 分布式 | 程序员
陈皓 发于 2016年08月21日 12:34 | 点击: 574 | 展开摘要
在《这多年来我一直在钻研的技术》这篇文章中,我讲述了一下,我这么多年来一直在关注的技术领域,其中我多次提到了工业级的软件,我还以为有很多人会问我怎么定义工业级?以及一个高可用性的软件系统应该要怎么干出来?这样我也可以顺理成章的写下这篇文章,但是没有人问,那么,我只好厚颜无耻的自己写下这篇文章了。哈哈。

另外,我在一些讨论高可用系统的地方看到大家只讨论各个公司的技术方案,其实,高可用的系统并不简单的是技术方案,一个高可用的系统其实还包括很多别的东西,所以,我觉得大家对高可用的

查看全文: http://www.udpwork.com/item/15755.html

+0  工作流系统的设计

Tag: Recommended | System Design & Architecture | SWF | 工作流 | 设计
四火 发于 2016年08月19日 15:28 | 点击: 444 | 展开摘要
几年前曾经写过一点点对于缓存框架设计的体会,这大半年和工作流系统打交道颇为丰富,因此想总结一点关于工作流系统的设计。

首先,明确工作流(workflow)系统的定义。维基百科上有极其简单的介绍。我记得以前在文章里面说过,作为大公司里面的小team,为了做一些有趣的东西,从而更好的招人,通常有几个众人皆知的突破口:比如一个更符合业务需求的storage,再比如一个自定义的工作流系统。在Amazon内部,我接触过好多个workflow,而且大多以Amazon SWF为原型(当时

查看全文: http://www.udpwork.com/item/15753.html

+0  如何用 Git 将代码恢复到一个历史的版本

Tag: Git
唐巧 发于 2016年08月09日 15:37 | 点击: 405 | 展开摘要
需求
有些时候,在一些特殊情况下,我们需要将代码恢复到一个历史的提交版本上。而这个历史提交版本,离最新的提交已经比较久远了。

比如,我希望将如下的仓库的提交,恢复到上上上上次提交。当然,我可以一次一次的 revert,但是有没有更快更简单的办法呢?

暴力的方式
如果你的仓库是自己在用(不影响别人),那么你可以使用 git reset --hard <target_commit_id> 来恢复到指定的提交,再用 git push -f 来强制更新远程的分支指针。

查看全文: http://www.udpwork.com/item/15716.html

+0  如何识别图像边缘?

Tag: Algorithm
阮一峰 发于 2016年07月22日 07:39 | 点击: 435 | 展开摘要
图像识别(image recognition)是现在的热门技术。

文字识别、车牌识别、人脸识别都是它的应用。但是,这些都算初级应用,现在的技术已经发展到了这样一种地步:计算机可以识别出,这是一张狗的照片,那是一张猫的照片。

这是怎么做到的?

让我们从人眼说起,学者发现,人的视觉细胞对物体的边缘特别敏感。也就是说,我们先看到物体的轮廓,然后才判断这到底是什么东西。

计算机科学家受到启发,第一步也是先识别图像的边缘。

加州大学的学生 Adit Deshpande 写了一

查看全文: http://www.udpwork.com/item/15689.html

+0  代码 Review 要点

Tag: IT技术和评论
ideawu 发于 2016年07月06日 12:42 | 点击: 415 | 展开摘要
1. 做代码 Review 的人的责任

给别人的代码做 Review 的人(Reviewer), 他的责任不仅在于保证代码质量, 更重要地是承担拼盘者角色. 当编写代码的人未来因忙于别的项目, 休假或者别的原因无法在岗时, Reviewer 将负责接手项目, 修复 bug, 增加新功能等. 所以, Reviewer 必须为自己着想, 认真负责地进行代码 Review, 以免日后自己接手一个逻辑不通, 代码混乱的项目(程序员俗话说的"一坨屎").

2. 做代码 Review

查看全文: http://www.udpwork.com/item/15651.html

+0  程序员, 不要过度封装!

Tag: IT技术和评论
ideawu 发于 2016年07月01日 17:10 | 点击: 450 | 展开摘要
过度封装是程序员最容易犯的错, 因为是否过度并没有固定的数值标准, 只能是有经验的程序员基于科学的判断. 过度封装的危害十分严重, 所以必须重视, 并且极力避免.

首先, 什么是"过度封装"? 我们知道, 计算机科学领域最称为经典也是最强大的思想便是递归, 分而治之. 但是, 递归本身最重要的因素是: 结束条件. 一生二, 二生三, 三生万物, 总要有终止的条件吧? 不然一辆车不停地急驰, 你怎样上车?

新手程序员, 特别是非科班出身的文科程序员, 最容易犯了过度封装的错

查看全文: http://www.udpwork.com/item/15626.html

+0  我与 InfoQ 的故事

Tag: writing | summary
唐巧 发于 2016年06月26日 21:28 | 点击: 454 | 展开摘要
如果你也喜欢写作,这个真实的故事或许能够帮助你继续坚持下去。

我最早听说 InfoQ ,是因为在上面发现了很多关于敏捷开发的文章。可以说,InfoQ 是最早推广敏捷软件开发的社区。之后 InfoQ 的内容范围开始扩展,除了敏捷外,服务器开发,移动开发的内容也都有了。

在我心目中,InfoQ 网站上的文章一直是「高大上」的,直到有一天,我的老大常圳看到我常常写博客,推荐我向 InfoQ 投稿时,我才发现,或许我可以把「向 InfoQ 投稿」作为一个长远的目标。

我最早的投

查看全文: http://www.udpwork.com/item/15618.html

+0  程序员眼中的无所不能与一无是处

Tag: IT技术和评论
ideawu 发于 2016年06月18日 13:47 | 点击: 416 | 展开摘要
程序员常见的思维是提供"可扩展性", 这个可扩展性是程序员根据其职业生涯遇到的泪与汗得出的原则, 是一种保护罩. 可是, 这种思维导致其在做产品时, 会有一些不好的经典效果.

例如, 程序员做的系统, 一般出发点就是做关系数据库表的增删改查. 不管做什么产品, 就是那几样 - 显示列表, 条件查询, 新增, 删除, 更改. 就这几招, 无所不能, 简直没有程序员做不了的系统. 如果你是程序员, 相信你有体会, 这种"无所不能"不会给你带来任何好处.

我经常见到一些婴儿型程

查看全文: http://www.udpwork.com/item/15583.html
|<<<1234567>>>| 一共69页, 825条记录