V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  cloudzhou  ›  全部回复第 39 页 / 共 54 页
回复总数  1061
1 ... 35  36  37  38  39  40  41  42  43  44 ... 54  
@killme2008
我以前设计 API 的时候,对所有 API 请求拦截 Time-Zone 参数,然后输出的时候 json 对 Date Field 进行处理,输出对应的 Time-Zone 时间,这样请求者就不用做这样的事情了。
2014-09-17 23:18:41 +08:00
回复了 shyrock 创建的主题 MySQL MySQL 的 like %关键字怎么优化?
如果对 lucene 比较熟悉,可以直接使用 lucene 来做
2014-09-13 00:39:00 +08:00
回复了 simo 创建的主题 分享发现 除了 yeelink 还有哪些免费物联网云平台?
iot.espressif.cn 我就是开发者
2014-08-28 10:22:34 +08:00
回复了 kokdemo 创建的主题 程序员 作为程序员,能不能拒绝这样的开发需求?
这是你要做的,这样的需求使用脚本语言等等快速自动生成。要把手工的事情变自动化。
2014-08-23 09:55:18 +08:00
回复了 huaiyinhou 创建的主题 Linux tcp 三次握手的奇葩问题
考虑一下防火墙和路由
2014-08-22 14:38:04 +08:00
回复了 Livid 创建的主题 职场话题 大家会去关注自己的老板的星座么?
@Livid 难道你相信星座?
2014-08-14 19:54:48 +08:00
回复了 jsonline 创建的主题 程序员 二线城市招聘的感想
我觉得面试官就应该问这些问题,如果只是名词不懂,可以讲解一下,但是代码一定自己能写出来。
如果我是应聘者,我会说我看一下wiki,然后就能给你写出来。

高级一点可以问问实际遇到的问题,比如我最近问人的面试题目:
对于注册的用户,如果希望限制一定的访问频率,比如每小时最多访问1000次网站,你准备怎么做?

可以有很多讨论空间:
1 具体语言、web框架的拦截器
2 怎么限定一定时间内访问次数
3 如何更加经济环保(比如利用 cache?因为访问是很频繁的一个操作)
4 如果自己设计一个小小的系统呢,怎么定义数据结构、算法

这是一个开放的题目。

现在好多程序员都觉得百度、google就搞定所有问题了,那只是代码的搬运工。
算法和数据结构就是计算机的核心,体现在你编程的很多细微之处。
2014-08-01 17:57:22 +08:00
回复了 xiparos 创建的主题 问与答 关于一个消息提醒的功能实现,请各位 V2Exer 帮忙解释一下
如果要求及时性不那么高,简单的 ajax 按照时间轮讯就可以了,比如每一分钟。
最好使用类似 redis 来做这种状态的保存。
2014-07-25 09:23:25 +08:00
回复了 subpo 创建的主题 电影 没有人开一个帖子讨论后会无期?
没有看 无人区 那样的震撼,总之,小清新 + 搞笑,适合休闲看。
2014-07-11 11:54:30 +08:00
回复了 isno 创建的主题 职场话题 工作中,我最讨厌的几种人
@jok3r
@ddzz
我不大了解为什么对别人看着你写代码那么敏感,尤其是如果对方水平不错的话。
话说以前在阿里的时候,习惯相互之间 review 代码,是比较好的一种学习方式。
如果比较闲,有时候也会静静站别人后面看着怎么写代码。写代码是一门手艺活,并且每个人又有自己小喜好,看别人写代码相互能提高。对我个人来说,完全不介意别人在看我写代码。
2014-06-30 11:21:57 +08:00
回复了 Livid 创建的主题 Redis 关于 V2EX 在 2014 年 6 月初遇到的性能问题
@geew
@Livid
按照我的观点,那就是根本不要在线上使用 keys 这个指令,哪怕为了未来考虑,这是定时炸弹。
按照你上面的例子,解决方法其实很简单,两种策略:

1 外部引用,举个例子来说,就是添加值的时候做一次引用:
对 namespace.xx.yy 设值,同时把这个 namespace.xx.yy 放入 sets (以 namespace 划分的 sets),当要批量引用 namespace 开头的值时,从 sets 里面遍历,然后第二次访问。
同理,删除的时候对应删除。
缺点,有时候很难保证一致性,需要做一些补偿方案,内存使用会增加。

2 版本号的概念,对于 redis,我一直还是推荐持久化数据的,并且严格控制数据的动态产生,也就是没有删除数据这个操作,但是如果你是作为 cache 使用并且数据本来就可以丢失的,那么就可以利用版本号。使用 EXPIRE ,也就是 KEY 是有一定生存周期的,并且命名是这样的: namespace.version.xx.yy 其中 version 是一个 hashes 的对应值 {namespace : version},当你要丢弃整个版本号的时候, version = version + 1,之前的 namespace version 版本全部不再使用,在过了一段时间之后(EXPIRE)自然回收。
缺点,只使用易失性数据,cache 使用,内存使用量在丢弃频繁的时候浪费过多。

总之,根据你的需求,有很多种方法,但是尽量不要使用 keys.
2014-06-30 10:36:34 +08:00
回复了 cloudzhou 创建的主题 程序员 和外包合作的事情
@hydyy web 开发,后台 api 其实已经都有了,需要把相关功能都在 web 实现,主要是 css 和 javascript 实现。 http://iot.espressif.cn/#/api/ http://iot.espressif.cn/#/help/
网站看起来简单,其实功能蛮多的,需要用进入才能发现。这是有邮箱,如果你有什么推荐的话麻烦联系: wuyunzhou # espressif.com
@rannnn @dangge , 如 @em70 所说,雷军毫无疑问是优秀的程序员,你们都太带有个人喜好了。话说我还是非常佩服雷军的,之前都不算顺利,属于一直都很努力,最后把小米带到一个高度,我个人觉得国产 android (各种系统,小米魅族锤子华为...)会做得越来越好,可以和三星比较的。
2014-06-11 18:37:48 +08:00
回复了 kafkakevin 创建的主题 程序员 知乎又挂了
知乎的可用性真的堪忧,我每天基本要看到一次“服务器提出一个问题...”
2014-06-10 16:52:52 +08:00
回复了 Livid 创建的主题 Redis 关于 V2EX 在 2014 年 6 月初遇到的性能问题
@Livid
"这次的解决方法是,需要用到 KEYS 的地方,其实是我们目前的在线人数统计,现在这个地方已经加上了缓存,所以对 KEYS 的调用就大大减少了。"
这么看起来,你只是减少了 KEYS 的调用次数,可能就是加入缓存,每3,5分钟 keys() 一次。

我认为这样的做法还不够优雅,对你现在说的这个需求,以下是我的做法:
引入 Sorted sets,创建一个名字叫: user:online
当用户 user(id: user_id),进行一次页面操作的时候,timestamp_now 就是当前时间戳:
> ZADD user:online timestamp_now user_id
对于每一个用户的页面操作都是做这样的操作

* 最新的用户在线列表(精确列出在线用户,以下统计前 1000 个在线用户,按照时间戳逆序)*:
> ZREVRANGE 0 1000
1) user_id_1
2) user_id_2
...

* 统计 5 分钟内的用户数(其实在线是个虚幻的概念,只能说 x 分钟内活跃认为在线)*
> ZCOUNT myzset (timestamp_5_minutes_ago timestamp_now

* 定期清除 x 分钟内没有活跃的用户,控制 Sorted sets 的长度 *
> ZREMRANGEBYSCORE myzset -inf (timestamp_10_minutes_ago

上面操作复杂度:O(log(N)+M) 这是可以控制的,并且数据非常及时和准确。

其实这是一个很好的面试题目。
广告:我需要前端工程师,设计师: http://v2ex.com/t/115602
2014-06-05 16:11:11 +08:00
回复了 cloudzhou 创建的主题 酷工作 [上海] 物联网 PaaS 平台招聘前端工程师
1 ... 35  36  37  38  39  40  41  42  43  44 ... 54  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1992 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 45ms · UTC 16:20 · PVG 00:20 · LAX 08:20 · JFK 11:20
Developed with CodeLauncher
♥ Do have faith in what you're doing.