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

技术文章

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

技术文章精选

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

最新文章

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

IT 奋斗/ 2012-09-10 23:12:54 / 累计浏览 4,346

几点学习经验

07年读研开始接触交互设计,09年工作之后才开始真正做项目,在学习过程中遇到过很多困难,每每克服理清思路,能感觉自己进入新的境界。 1.不要沉迷于理论。一般来说,书本知识落后实际应用3年左右的时间,读研期间读完基本交互经典书籍,还是一头雾水。当真正开始设计控件和界面布局时,才理解书本知识。掌握知识的标准不是你读过,而是会应用在实际的项目中。缺乏实践,看的资料越多越迷糊。 2.量力而行。09年翻译了iPhone的设计指南,一年时间内通读大部分交互设计资料和书籍。10年不自量力,自以为可以开始研究产品定位或者品牌等高阶问题,模仿之前的做法通读相关资料,但是没有任何成果,当时只经历了一个手机支付的项目,产品最终失败了。先多做项目,特别的百万用户量以上的产品,经验也能影响视野。 11年因团队需要着手研究数据分析,感觉是行业前沿性课题,但项目中可用的数据很少,通读网站数据分析资料之后无从下手。

IT MySQL/ 2012-09-10 23:12:39 / 累计浏览 2,409

MySQL命令行按Delete键输出”~”的问题

MySQL 默认用了一个叫 libedit 的东西来替代 libreadline, 如果按 Delete/Home/End 键, 就会输出 “~”, 非常不好用. 解决方法很简单, 只要换回 libreadline 就 OK 了.

IT MySQL/ 2012-09-10 23:11:40 / 累计浏览 2,509

给MySQL的show table status结果做过滤

MySQL中可以使用 show table status 查看表的状态,但是不能像select 语句选出结果那样做结果过滤。 有没有办法像select语句那样过滤呢,答案是有的,就是从information_schema库的tables表中查询。

IT 系统运维/ 2012-09-10 23:11:09 / 累计浏览 3,666

如何跳过服务器启动时候的fsck

好几次服务器重启,都被卡在了fsck磁盘自检,有时候几个小时都没法完成自检。 虽然说自检能够保证数据的安全性,但是对于生产环境,服务的可用性是第一位的,有时候重启服务器,几个小时访问不了真是急得让人双脚跳。 如何跳过这个恼人的fsck步骤呢?搜索了一下发现其实方法很简单,只要修改/etc/fstab中,最后的那一项,将它从2,修改成0就可以了。 官方文档上是这样写的: Controls the order in which fsck checks the device/partition for errors at boot time. The root device should be 1. Other partitions should be 2, or 0 to disable checking.

IT 系统架构/ 2012-09-10 23:06:44 / 累计浏览 2,346

MooC的一些设计思路

由于公司业务需要用C做一些实现,和C++不同的是,C并没有太多的库和方案供选择,所以我们只好自力更生,努力重复造车轮。 做技术十来年的时间,说实话底层技术框架自己也写过不少个,不管是个人业余作品,还是公司业务需要的,又或者是参加开源项目所实现的,底层技术框架面临着设计、解决、实现各个方面的问题。这次MooC的设计希望能够首先满足业务的诉求,同时解决技术拓展方面和技术实施方面的问题。

IT 奋斗/ 2012-09-10 22:58:53 / 累计浏览 7,428

聊聊ThoughtWorks面试

最近有几篇关于科技公司面试的新闻,这篇格外受瞩目,因为竟然有公司力压Google,成了面试最难的公司,而这个公司居然是ThoughtWorks。这个结果真的让我有些惊讶,作为一个面试过许多人的ThoughtWorker,我之前还真没想过我们的面试到底有多难。既然有人关心ThoughtWorks面试,我就不妨在此分享一下我的“面经”。先来说说,我们的招聘流程。

IT JavaScript/ 2012-09-06 23:59:27 / 累计浏览 8,911

JS如何实现响应滚轮(同时设置滚动条无效)

翻滚吧,javascript 我这个人记录东西有个习惯,就是想到的东西就尽量延伸。能想到的地方尽量都写出来。所以这篇文章还是围绕着js响应鼠标滚动来论述。在之前的一篇文章(JS(如何判断)鼠标滚轮事件解析)中,我已经说清楚了对于各个浏览器是如何来用js进行判断鼠标滚轮是向上滚动还是向下滚动。(主要是获取反馈回来的e.wheelDelta或者e.detail,不明白的看上文) 今天这里就写了一个小例子来进行小小的实战的一下。当然这个小例子有个不同的地方,就是当鼠标移动到固定的box(div盒子)上并滚动滚轮的时候,浏览器默认的滚动条会失效(当然不是什么bug,是js使得默认的滚动条无效。),当鼠标移出这个box的时候,浏览器滚动条才继续工作。此代码兼容各大浏览器,如有bug欢迎反馈。 当然看文字不如结合实例来看,下面给出实例代码供大家调戏...

IT JavaScript/ 2012-09-06 23:54:43 / 累计浏览 4,725

JS(如何判断)鼠标滚轮事件解析

我们都见到过这些效果,用鼠标滚轮实现某个表单内的数字增加减少操作,或者滚轮控制某个按钮的左右,上下滚动。这些都是通过js对鼠标滚轮的事件监听来实现的。今天这里介绍的是一点简单的js对于鼠标滚轮事件的监听。不同浏览器不同的事件首先,不同的浏览器有不同的滚轮事件。主要是有两种,onmousewheel(firefox不支持)和DOMMouseScroll(只有firefox支持)。。。。。

IT 网络系统/ 2012-09-06 23:49:38 / 累计浏览 5,847

计算机网络协议包头赏析-IP

任何一个IP数据报都是由首部和数据两部分组成,而且首部基本是固定长度的,长度为20字节。这一点很重要,其他都不记得了,这一点也要记得哦! 首部其实也分为两部分,即固定部分和可变部分,固定部分出的长度是20字节,可变部分的长度是可变的,但用的机会很少。 下面,我们就逐个域的来分析IP数据报: 【版本】- 4bit 用来标识IP协议的版本,最常见的就是4和6,分别代表IPv4和IPv6。 【首部长度】- 4bit 4bit所能表示的最大数值就是15了,而IP数据报标准规定,“首部长度”的单位是4字节(32bit),因此,我们在计算首部长度时,需要用其值乘以4字节,才是首部的实际长度。

IT 网络系统/ 2012-09-06 23:47:51 / 累计浏览 5,630

计算机网络协议包头赏析-以太网

说到以太网帧结构,它的历史演变稍显混乱。我们将介绍一下以太网标准的演变历史。 1980年那年,DEC、施乐和Intel共同制定了Ethernet I的标准,首次定义了以太网帧格式。 在1982年,三家公司对第一版本进行了更新,主要是修改了物理接口,帧格式没有变化。此更新版本被命名为Ethernet II标准。 与此同时,IEEE开始把目光转移到了Ethernet标准的制定上来,并计划推出以太网的802.3国际标准。

IT 算法/ 2012-09-06 23:46:40 / 累计浏览 3,229

空指针的解引用

空指针解引用是否导致异常应该是硬件设备和OS组合决定的。以前在VXwork下工作,空指针也可以解引用,可以访问内存0地址,还可以修改内容。这种情况下,为了便于程序员debug,印象中我们大概是采用了对于0地址内容监控,如果内容有改动则报告或者crash。

IT 发现/ 2012-09-06 23:41:20 / 累计浏览 3,808

敏捷开发者必读书籍

这是几本每个信仰敏捷开发的程序员都应该读一下的书籍,因为这几本书表达了跟我们相同的信念,并且内涵了极丰富的价值。

IT MySQL/ 2012-09-06 12:49:21 / 累计浏览 3,489

Transfer在MySQL数据库双主同步架构中的应用

有同学讨论到Transfer能否支持双主结构,答案是支持的,这里简要描述下。 Transfer既可以当作主从库之外的工具来用,也可以本身充当slave的角色。本文分别描述在这两种使用场景下的部署结构和切换动作。 

IT 信息和交互/ 2012-09-05 13:35:27 / 累计浏览 1,925

设计优秀的iPhone应用之五点建议

当用户在苹果应用商店里寻找新应用时,往往基于设计来考量是否购买。生活中,或许很多人告诫我们不要凭借封面去评判一本书;既然无法试用一款应用,那么截图成为我们评判一款应用质量好坏的重要依据。 既然用户无法通过浏览App Store来判断应用的易用性和代码健壮性,那么将设计作为评判依据是合理的,这意味着同类应用竞争时,往往具备优秀的体验设计的应用更受欢迎。 如何设计优秀的iPhone应用呢?有如下五点建议。

IT 设计思想/ 2012-09-03 23:33:05 / 累计浏览 3,276

微信公众平台的玩法

  看了“专家”评论,主要嫌推送容易泛滥,导致用户反感,微信设计失误。4.2功能上增加了公众号,但产品结构上几乎没有改变,用原有框架消化了新功能,推送消息和好友消息融合在一起,消息区分不够明显,公众号融入通讯录,其实这些问题都很容易被修正。 我认为一方面推送的内容质量不高,二是早期以业内人士为主,真正的用户或许还没有参与到公众平台中,关注了一批不需要的公众号,自然会被骚扰。现在还处在发展早期,下结论还为时过早。看用户如何玩这个公众平台,挖掘各种可能性,微信团队对这个平台的未来走势也会有不确定性,需要不断调整设计和运营思路。 商家把它当做类似微博和邮箱的宣传方式,而微信中需要的是精准、有趣、互动性强和符合移动设备特性的推送内容。 精准。移动互联网谈了很长时间的精准推送,但目前很少产品能做到。

IT Linux/ 2012-09-03 23:14:24 / 累计浏览 5,372

神探tcpdump第六招

第六招,仍然会讲解tcpdump的过滤表达式,这次思路很简单,就是直接举例子,其实就是man tcpdump中的例子,很直观,很受用。

IT 安全/ 2012-09-03 23:12:56 / 累计浏览 7,213

前端开发中Cookie那些事儿

前段时间做了项目,在前端实现中频繁的操作cookie,记录几点供大家参考! cookie操作在前端开发过程中经常遇到,当然如果只是用来存储一些简单用户数据,还是比较简单的,我们要做的可能只是设置cookie名,值,过期时间等,读取也只要根据cookie的名读取相应的cookie值就可以了。在复杂的应用中,光这些肯定就不够了。 cookie的属性 除了name(名)和value(值),cookie还有以下一些可选属性,用来控制cookie的有效期,作用域,安全性等: expires属性 指定了cookie的生存期,默认情况下cookie是暂时存在的,他们存储的值只在浏览器会话期间存在,当用户退出浏览器后这些值也会丢失,如果想让cookie存在一段时间,就要为expires属性设置为未来的一个用毫秒数表示的过期日期或时间点,expires默认为设置的expires的当前时间。

IT 系统架构/ 2012-09-03 23:12:17 / 累计浏览 2,909

Skynet 设计综述

经过一个月, 我基本完成了 skynet 的 C 版本的编写。中间又反复重构了几个模块,精简下来的代码并不多:只有六千余行 C 代码,以及一千多 Lua 代码。虽然部分代码写的比较匆促,但我觉得还是基本符合我的质量要求的。Bug 虽不可避免,但这样小篇幅的项目,应该足够清晰方便修正了吧。 花在 Github 上的这个开源项目上的实际开发实现远小于一个月。我的大部分时间花了和过去大半年的 Erlang 框架的兼容,以及移植那些不兼容代码和重写曾经用 Erlang 写的服务模块上面了。这些和我们的实际游戏相关,所以就没有开源了。况且,把多出这个几倍的相关代码堆砌出来,未必能增加这个开源项目的正面意义。感兴趣的同学会迷失在那些并不重要,且有许多接口受限于历史的糟糕设计中。 在整合完我们自己项目的老代码后,确定移植无误,我又动手修改了 skynet 的部分底层设计。

IT Linux/ 2012-09-03 13:54:15 / 累计浏览 4,631

神探tcpdump第五招

前四招都是围绕tcpdump的选项来介绍的,从这招起,我们会把目光转向更加常用的“过滤表达式”内容。 通过这几招的学习,你将具备“心无旁骛,潜心专注”的武功。 可以给tcpdump传送“过滤表达式”来起到网络包过滤的作用,而且可以支持传入单个或多个过滤表达式,从这一点来说tcpdump还是很大肚能容的。 当你传入的过滤表达式含有shell通配符时,别忘使用单引号把表达式括起来,以防shell自作主张的把含有通配符的表达式先进行了解释和通配。