IT技术博客大学习 共学习 共进步

技术文章

精选技术长文、实践记录与系统化阅读

技术文章精选

低噪声、高可扫读;标题、摘要、来源、标签一目了然。

最新文章

采集自各技术站点的近期文章。

IT 算法/ 2011-06-20 13:47:24 / 累计浏览 3,688

json_encode数组出现unicode \uxxxx的解决方案

端午和上个周末做的微博应用送大礼中设计到ajax返回json的数据格式中,我没有完全使用PHP默认的json_encode来编码,因为这样编码出来的是unicode编码的,也就是\\\\u的编码,虽然unicode编码可以在不同的页面中编码不会出现乱码问题。但是一个汉字编码成unicode会变成\\\\u+4个字符,这样在字符长度上要比汉字多。因为我的php文件和html声明中都是使用的UTF-8,不会出现编码乱码问题,所以就放弃了直接使用json_encode的方法,而...

IT 算法/ 2011-06-20 13:46:22 / 累计浏览 5,151

附近地点搜索初探

附近地点搜索,顾名思义,就是搜索用户附近有哪些地点。随着GPS和带有GPS功能的移动设备的普及,附近地点搜索也变得炙手可热。不过在网上却很少有这方面的讨论。本文的方法并不算最好,但足以应付一般的应用了。本文中,数据库采用MySQL,语言采用python。理论上别的数据库和语言也没问题,但我们要在经纬度上设置两个索引,所以如果你的数据库不支持索引,或者不支持在一个查询中使用两个索引,那就只能想别的办法了。球面...

IT 其他/ 2011-06-20 13:45:33 / 累计浏览 2,807

锈规作图续篇:单用一个只能画单位圆的圆规如何作线段中点

    在这个 Blog 的一篇很老很老的文章里,我曾经讲过一个非常有趣的几何作图问题,这个问题最早是由 D. Pedoe 教授在 1983 年提出的:给定 A 、 B 两点,只用一个生锈的圆规(没有直尺),如何找出一个点 C ,使得 A 、 B 、 C 恰好构成一个等边三角形?所谓“生锈的圆规”,也就是一个被卡住的圆规,它的两脚张角不能改变。我们不妨假设,它只能画出单位大小的圆。1987 年,我国的侯晓荣等人成功地解决了这...

IT MySQL/ 2011-06-20 13:39:35 / 累计浏览 3,501

xtrabackup知多少

最近小弄下Percona Xtrabackup,写脚本做测试,对这个世界唯一的开源免费(the world’s only open-source free)MySQL(the world’s most popular open source databases这句我也很喜欢 lol:)热备工具有了一些懵懂的认识,对于付费的InnoDB Hot Backup我们有了更欢乐的选择。Percona Xtrabackup工具主要有两部分构成,一个就是c写的xtrabackup命令,它又有多个版本,分别对应不同版本(5.0及以上)的MySQL/XtraDB以及InnoDB的差别(bui...

IT 系统架构/ 2011-06-20 13:38:16 / 累计浏览 2,550

spinlock剖析与改进

spinlock又称自旋锁,线程通过busy-wait-loop的方式来获取锁,任何时刻时刻只有一个线程能够获得锁,其他线程忙等待直到获得锁。spinlock在多处理器多线程环境的场景中有很广泛的使用,一般要求使用spinlock的临界区尽量简短,这样获取的锁可以尽快释放,以满足其他忙等的线程。Spinlock和mutex不同,spinlock不会导致线程的状态切换(用户态->内核态),但是spinlock使用不当(如临界区执...

IT CSS/HTML/ 2011-06-20 13:36:51 / 累计浏览 3,798

CSS 忍者:安全的 CSS hacks 秘籍

你如何搞定 IE 这只难以驯服的怪兽?使用 CSS Hacks 或者条件注释么?恐怕没有什么解决方案是完美的。每个设计师或者前端码农都会有自己打败 IE 行之有效的方法。所有这些技术都各有利弊,让我们一起来看看。

IT 其他/ 2011-06-20 13:35:54 / 累计浏览 4,423

一个空格引发的惨剧

你是否相信如果你的程序里没有检查一个变量会导致怎么系统瘫痪?无论你相不相信,这是我一个亲身经历过的案例,你可以在本站的程序员那些悲催的事儿中找到很多这样的事。这样的事昨天在发生,今天同样在发生。Unix40多年了,在这40年里,程序员发生过各种各样的的惨剧,但是大多数的事情一而再再而三的重演。 今天的你,可能在开发者各种各样NB的系统,你会相信你的一个空格也能导致系统瘫痪吗?也许你可能很难相信这个事。不过,...

IT 用户研究/ 2011-06-20 13:35:20 / 累计浏览 2,521

调研问卷中多选题的分析方法探讨(1)

使用调研问卷的定量研究中,为了更全面地了解研究内容、更广泛地收集信息,经常会用到多选题,但由于多选题多指向性的特点,除了频数表和交叉表(只能与单选题做交叉),较少用到其他的分析方法,损失了很多有用的信息。其实,如果调研时能善用多选题,并在分析时选取适当的方法,就能够充分利用多选题包含的信息,得到更有价值的结论。 本篇主要探讨带有分类性质的多选题,如何进行深入分析,得出分类相关的结论。 带有分类性质...

IT JavaScript/ 2011-06-20 13:34:52 / 累计浏览 2,735

优化innerHTML操作

多数现代浏览器都实现了innerHTML操作,它的方便性让我们爱不释手,但如果使用不当,很容易出现效率问题,本文通过一个例子来说明如何优化innerHTML操作。 例子:我们要实现的大致效果是当用户点击鼠标的时候,就在旧数据上追加若干新数据。

IT 系统架构/ 2011-06-20 13:34:29 / 累计浏览 6,839

缓存设计的一些思考

互联网架构中缓存无处不在,某厂牛人曾经说过:”缓存就像清凉油,哪里不舒服,抹一下就好了”。高品质的存储容量小,价格高;低品质存储容量大,价格低,缓存的目的就在于”扩充”高品质存储的容量。本文探讨缓存相关的一些问题。 LRU替换算法 缓存的技术点包括内存管理和替换算法。LRU是使用最多的替换算法,每次淘汰最久没有使用的元素。LRU缓存实现分为两个部分:Hash表和LRU链表,Hash表用于查找缓存中的...

IT MySQL/ 2011-06-20 13:34:01 / 累计浏览 7,753

Mysql的随机读取

随机读取数据库记录,搜索发现很多人都使用 order by rand() 来达到该目的,这是mysql提供的功能。但是实际上存在非常严重的性能问题。 如果表里记录不多,偶尔用一下也可以。但是如果数据多的话,就会凸显出查询的性能问题。 随机查询5条记录: SELECT * FROM `table` ORDER BY RAND() LIMIT 5; 在数十万记录的表里,这样的查询大概要5-8秒,甚至更多时间。

IT 系统架构/ 2011-06-15 14:13:05 / 累计浏览 3,625

HBase性能调优

因官方Book Performance Tuning部分章节没有按配置项进行索引,不能达到快速查阅的效果。所以我以配置项驱动,重新整理了原文,并补充一些自己的理解,如有错误,欢迎指正。 配置优化 zookeeper.session.timeout 默认值:3分钟(180000ms) 说明:RegionServer与Zookeeper间的连接超时时间。当超时时间到后,ReigonServer会被Zookeeper从RS集群清单中移除,HMaster收到移除通知后,会对这台server负责的regions重新balance,让其他...

IT 发现/ 2011-06-15 14:12:25 / 累计浏览 2,351

Mac下如何添加开机启动后台Bash程序?

能让机器做的事情尽量让机器做。用了Mac这么就,我终于忍不了每天开机都手动执行某个文件,让它去SSH了,虽然不用输密码。 之所以忍了这么久,是因为我按照Ubuntu下一摸一样的方法,添加可执行文件,并且给了可执行权限,它启动的时候还是不去执行,还要打开那个XCode。 我知道,肯定有人这么干成功过,就我做不到肯定是我自己的问题。最近,我终于忍不住了,在SegmentFault问了下这个问题,在@gaosboy的帮助下,我终于搞定了它。 ...

IT 算法/ 2011-06-15 14:11:13 / 累计浏览 4,860

趣题:公司应该雇用多少员工?

    某大公司有这么一个规定:只要有一个员工过生日,当天所有员工全部放假一天。但在其余时候,所有员工都没有假期,必须正常上班。这个公司需要雇用多少员工,才能让公司一年内所有员工的总工作时间期望值最大?     假设一年有 365 天,每个员工的生日都概率均等地分布在这 365 天里。     你的第一感觉或许是,公司应该雇用 100 多人,或者 200 多人吧。答案或...

IT 系统架构/ 2011-06-14 14:09:59 / 累计浏览 3,571

存储方式与介质对性能的影响

数据的存储方式对应用程序的整体性能有着极大的影响。对数据的存取,是顺利读写还是随机读写?将数据放磁盘上还将数据放flash卡上?多线程读写对性能影响?面对着多种数据存储方式,我们如何选择?本文给大家提供了一份不同存储模式下的性能测试数据,方便大家在今后的程序开发过程中可以利用这份数据选择合适的数据存储模式。

IT 系统架构/ 2011-06-14 14:08:57 / 累计浏览 2,742

传统 MMORPG 通讯模式实现的一点想法

既然 MMORPG 都有千篇一律同质化的趋势,好歹我们技术人员也应该总结出点东西来,新项目开发可以用现成的模式。 一般来说,MMORPG 服务器要解决的问题无非是,同步玩家的位置,状态,把这些信息广播出去(细分的话,有非战斗环境和战斗环境);需要建立一个聊天服务,供玩家文字交流;有一个信息发布渠道;有任务 NPC 和玩家一对一交流;玩家调整自己的装备(也可以看成是和一特定 NPC 交流)。 以上,我们可以看到几个基本需求是可...

IT 网络系统/ 2011-06-14 14:08:13 / 累计浏览 4,415

超级负载均衡

超级负载均衡旨在为解决服务不断扩展、机器不断增多、机器性能差异等问题,以增强系统的稳定性,自动分配请求压力。算法实现了多个模型和均衡策略,能通过配置实现随机、轮询、一致hash等。同时也能实现跨机房的相关分配。现已经在多个系统中使用。 TAG 负载均衡内容 现有系统中存在的问题: 1. 慢连接、瞬时访问慢。场景一:如果后端新增加机器,cache命中率低,因此响应速度慢,但是能连接上且不超时。如果ui持续访...

IT 用户研究/ 2011-06-14 13:52:02 / 累计浏览 2,115

各年龄段儿童产品设计特点

2-3岁儿童产品的设计这个年龄段的儿童,刚刚脱离婴儿期,对外界有着极强的感知力,渴望接受视觉、触觉、听觉以及嗅觉等各方面的信息,并且也需要在诸多方面得到健全和发展。他们,对万物充满了好奇。一、动作和活动的发展可以初步进行独立的活动,随意的独立行走,手的动作可以准确的玩弄和操纵他所熟悉的物体。有了最初的游戏活动,还是以简单的模拟和自我服务性活动为主,语言能力较差。 l 活动能力受限,产品设计以...