IT技术博客大学习 共学习 共进步
全部 移动开发 后端 数据库 AI 算法 安全 DevOps 前端 设计 开发者

最新文章

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

IT 后端/ 2012-09-10 23:06:44 / 累计浏览 2,407

MooC的一些设计思路

这篇讲的是作者在设计 MooC(大规模开放在线课程)平台时的一些思考路径。作者从实际教学场景出发,直面传统在线课程单向灌输、完课率低的核心痛点,核心思路是将课程从“观看的视频”转变为“可交互的学习项目”。 具体设计上,文章拆解了几个关键模块:如何把知识体系切分成颗粒度适中、可独立完成的“任务单元”,每个单元都配备可验证的实践目标(比如一段可运行的代码或一份分析报告);如何利用轻量化的代码沙盒与即时反馈机制,让学习者能在“做中学”;以及后台如何通过学习行为数据,为助教提供干预依据。 最有趣的部分在于作者对“进度条”的重新定义——它不再只是视频的观看比例,而是综合了任务完成度、社区贡献与代码提交质量的动态学习画像。这种设计将评估点从“有没有看完”巧妙地转向了“能不能做到”,为提升在线学习的深度和留存率提供了一套扎实的实现方案。

本机暂存
IT 开发者/ 2012-09-10 22:58:53 / 累计浏览 7,646

聊聊ThoughtWorks面试

这篇分享的是一位应聘者亲历ThoughtWorks面试的全过程与深度思考。文章细致梳理了从技术笔试、一对一技术面、案例讨论到小组情景模拟的完整流程,清晰呈现了每个环节如何考察应聘者的不同维度。 作者特别指出,ThoughtWorks的面试并非单纯考察编码能力或特定技术栈的掌握程度。例如,现场编程题更注重思维过程的清晰与沟通,案例讨论则看重对业务价值的理解与权衡。整个流程被设计成一次综合性的职业能力评估,尤其侧重考察应聘者解决开放性问题的思路、协作沟通能力以及对软件工程价值观的理解。 这种面试设计的底层逻辑,实际上是将未来的工作场景前置,让面试官在真实互动的动态过程中判断候选人是否适合公司的文化与工作模式。对于读者而言,无论是否目标为ThoughtWorks,这篇文章都提供了关于现代技术公司面试趋势的洞察——即对综合思维与软性技能的重视正日益凸显。

本机暂存
IT 前端/ 2012-09-06 23:59:27 / 累计浏览 9,044

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

这篇讲的是如何让JavaScript精确控制滚轮事件,同时屏蔽浏览器默认滚动条行为,实现更纯粹的交互控制。 在开发全屏滚动、时间轴或自定义导航页时,开发者常需要响应鼠标滚轮来触发特定动画,但页面原有的滚动条会干扰这一过程,导致事件触发与页面滚动“打架”。文章作者从这个具体痛点出发,演示了通过监听 `mousewheel` 与 `DOMMouseScroll` 事件,并在事件处理器中调用 `preventDefault()` 方法来阻止浏览器的默认滚动行为。 值得注意的是,文章特别处理了兼容性问题,尤其是Firefox浏览器中需要监听 `DOMMouseScroll` 这一细节。通过这种方案,开发者能完全接管滚轮的控制权,将滚轮事件转化为自定义的交互指令,实现如平滑的锚点切换或序列化场景浏览等效果,确保交互体验的连贯与可控。

本机暂存
IT 前端/ 2012-09-06 23:54:43 / 累计浏览 4,786

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

这篇讲的是JavaScript里一个很实际的需求:如何准确判断用户鼠标滚轮是向上还是向下滚动。作者从实际开发中会遇到的交互场景出发,讲解了处理滚轮事件的现代方法。核心是监听 `wheel` 事件,并通过事件对象的 `deltaY` 属性值来判断方向——正值通常表示向下滚动,负值表示向上滚动。 文章指出,早期的 `mousewheel` 事件在不同浏览器间存在兼容性问题,而标准化的 `wheel` 事件提供了更统一和可靠的解决方案。作者还提醒了在实现时需要注意的一些细节,比如是否需要配合 `event.preventDefault()` 来阻止浏览器默认的页面滚动行为,这取决于你的具体交互设计。 虽然话题基础,但文章把一个常见功能的实现逻辑和注意事项讲清楚了,对于需要精确控制页面滚动交互的前端开发者来说,是一份清晰的快速参考。

本机暂存
IT 后端/ 2012-09-06 23:49:38 / 累计浏览 6,021

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

这篇讲的是IP数据报的格式细节。作者延续上一篇对以太网帧的讨论,从数据链路层递进到网络层,具体解析IP协议头部的每一个字段。文章从IP版本号、头部长度、总长度这些基础字段说起,重点阐释了标识、标志和片偏移这三个与分片机制相关的字段如何协同工作,也解释了生存时间(TTL)、协议号、首部校验和等字段的设计逻辑与作用。 文中特别强调了IP头部中可变长度选项字段的处理方式,以及它如何影响数据报的解析。作者不是简单罗列字段,而是从协议设计的角度,分析这些字段如何在实际数据传输中承载控制信息、确保寻址、分片与重组,以及维持网络的健壮性。这种从基础协议格式出发的细致剖析,对于理解整个互联网的通信模型是很有价值的。

本机暂存
IT 后端/ 2012-09-06 23:47:51 / 累计浏览 5,763

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

这篇从校招面试官的视角切入,深入剖析了以太网数据帧的包头结构。作者发现许多求职者对底层协议的理解停留在理论层面,因此决定以最常见的以太网为例,逐个拆解其5个核心字段:从各占6字节的目标与源MAC地址如何定位设备,到2字节的类型字段如何区分上层协议(如IPv4或ARP),再到46至1500字节的数据载荷与4字节的CRC校验和如何保障传输的可靠性与完整性。 文章没有停留在枯燥的字段定义上,而是结合实际的网络通信场景,解释了每个字段在数据从网卡发出到交换机再到接收端的全过程中扮演的角色。比如,MAC地址如何在二层网络中实现精准投递,CRC校验如何帮助发现并丢弃传输中的错误帧。这种“赏析”方式,让原本生硬的协议头变得生动起来,清晰地展现了计算机网络分层模型中数据链路层的精巧设计。对于想扎实掌握网络基础、应对技术面试或进行网络编程的读者来说,这是一次非常透彻的底层探秘。

本机暂存
IT 后端/ 2012-09-06 23:46:40 / 累计浏览 3,322

空指针的解引用

这篇讲的是C语言中空指针解引用的一个反直觉现象——通常会导致程序崩溃的NULL指针访问,在某些特定情况下居然可以成功。 作者从C程序员最常遇到的“空指针访问异常”问题切入,但并未停留在常规的排查层面。文章通过几个具体的代码示例,揭示了在内存布局、编译器优化(如 `-fno-strict-aliasing`)以及特定系统内存映射等条件下,对地址 0(即 NULL)进行读写操作反而不会触发段错误。这些例子直观地说明了“空指针不可解引用”这一准则在实践中存在的灰色地带。 文章的核心价值在于,它并非鼓励滥用这一特性,而是引导读者深入理解指针、内存模型与底层硬件交互的复杂性。作者指出,这种“可解引用”的情况高度依赖于平台、编译器和运行时状态,具有不可移植性,因此在生产代码中必须严格避免。对于想夯实C语言功底、理解系统编程陷阱的开发者而言,这篇文章提供了一个从反例中学习规范的好视角。

本机暂存
IT 前端/ 2012-09-06 23:42:16 / 累计浏览 5,124

使用jQuery开发一个带有密码强度检验的超酷注册页面

这篇讲的是作者基于jQuery,手把手构建一个带有实时密码强度检验功能的前端注册页面。核心思路是监听用户在密码输入框中的每一次键入,并利用正则表达式对输入内容进行即时匹配与分析。 实现上,它巧妙地将密码强度划分为几个等级(比如“弱”、“中”、“强”),通过检查密码长度、是否包含数字、特殊字符等不同维度的规则来判定具体等级。页面则会根据判定结果,动态地改变强度指示条的颜色、长度或显示相应的文字提示,形成直观的视觉反馈。 整个过程没有复杂的后端交互,完全在前端通过jQuery的事件绑定和DOM操作完成,逻辑清晰且效果直观。这种设计不仅能引导用户创建更安全的密码,也通过动态的视觉效果增强了页面的交互感,是一个能切实提升注册表单的安全性和用户友好度的实用小案例。

本机暂存
IT 开发者/ 2012-09-06 23:41:20 / 累计浏览 3,943

敏捷开发者必读书籍

这篇整理了敏捷开发者在工程实践、团队协作与持续改进等不同维度上的核心书单。作者从“工具思维”和“系统思维”两个层面切入,推荐了涵盖估算规划、持续交付、测试驱动开发与团队协作的多部经典。 书中既讲解了《敏捷估算与规划》如何将故事点、燃尽图与发布计划落地,也剖析了《持续交付》中从代码提交到生产部署的完整流水线设计;《测试驱动开发》则通过红绿重构的循环,展示了如何在开发中内置质量防线。针对团队沟通痛点,《敏捷教练》一书提供了具体的引导技巧与反馈模型,而《重构》则从代码层面示范了如何通过小步修改维持系统健康度。 这份书单并非泛泛而谈,而是结合具体技术实践(如依赖管理、验收测试自动化)和团队场景(如远程协作、需求梳理),指明了每本书最能解决的典型问题。对于想在速度与质量间找到平衡的开发者,这些书籍构成了从个人编码到团队工程化升级的清晰路径。

本机暂存
IT 数据库/ 2012-09-06 12:49:21 / 累计浏览 3,591

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

在MySQL数据库的双主同步架构中,数据一致性和同步可靠性一直是关键挑战,尤其是当两个主库同时接受写入时容易引发冲突。这篇讲的是Transfer工具如何支持双主结构,作者从实际讨论出发,直接给出了肯定答案,并简

本机暂存
IT 设计/ 2012-09-05 13:35:27 / 累计浏览 2,045

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

这篇讲的是,如何让你的iPhone应用从众多竞品中脱颖而出。作者从应用商店的激烈竞争出发,给出了五条非常具体的设计建议。 首先,核心建议是“功能做减法”。与其堆砌复杂功能,不如聚焦于解决用户的一个核心痛点,并将其做到极致。文章强调,一个清晰、简单的主界面,往往比功能繁杂的设计更能赢得用户青睐。 其次,作者强烈建议开发者严格遵循苹果的《人机界面指南》。这不仅仅是为了让应用看起来“原生”,更是为了利用用户已经形成的肌肉记忆,降低学习成本,提升操作的直觉性和流畅感。 第三点聚焦于性能与响应的“即时反馈”。文章指出,任何让用户等待超过一秒的动画或加载,都会破坏体验。它提供了优化图片资源、利用后台线程等具体技术思路,确保界面始终保持跟手。 此外,作者还提到了要利用好iPhone的硬件特性,比如通过精细的触觉反馈(Haptic Feedback)来确认操作,或者利用多点触控设计出令人惊喜的交互手势,让应用拥有独特的“质感”。 最后,文章建议建立一套持续的设计验证流程。通过真机测试和收集早期用户反馈,在应用上架前就发现并修正那些纸面上看不见的体验断点,确保发布时是一个经过打磨的成熟产品。

本机暂存
IT 设计/ 2012-09-03 23:33:05 / 累计浏览 3,424

微信公众平台的玩法

这篇讲的是微信公众平台从基础功能到运营思路的全面解读。文章以一系列清晰的截图和讲解,带读者走了一遍公众号的注册、认证、功能配置乃至高级接口开发的流程。 它不只是罗列功能按钮,更侧重于拆解“玩法”的逻辑。比如,如何设置被关注后的自动回复来提升第一印象,怎样利用自定义菜单规划用户的交互路径,以及通过开发者模式(API)能解锁哪些更灵活的功能,比如定制查询、接入第三方服务等。这些细节对于刚接触公众号的运营者和技术人员来说,是非常具体的实操参考。 整篇文章覆盖了从零开始搭建一个微信公众号的核心环节,将界面操作与背后的运营思路结合起来。无论你是想了解公众号能做什么,还是计划动手搭建一个属于自己的账号,都能从中找到清晰的指引。

本机暂存
IT 安全/ 2012-09-03 23:14:24 / 累计浏览 5,573

神探tcpdump第六招

这篇讲的是tcpdump过滤表达式的实战技巧,作为系列文章的第六篇,作者这次思路非常直接——用例子说话。 文章精选了 `man tcpdump` 手册中的经典示例,逐个拆解。它不从复杂的语法规则讲起,而是告诉你“想抓取特定主机的HTTP流量,表达式怎么写”、“如何过滤TCP标志位”这类具体问题。每个例子都对应一个真实分析场景,直观展示了如何快速构建出有效的过滤器来定位目标数据包。 比起啃文档,这种从应用反推语法的方式更容易上手。读者能很快明白,一个好的过滤表达式是如何像精准的渔网,从海量网络包中只捞出自己关心的“鱼”。对于需要频繁进行网络抓包和问题定位的工程师来说,这套“例子库”提供了可立即套用的模板。

本机暂存
IT 前端/ 2012-09-03 23:12:56 / 累计浏览 7,391

前端开发中Cookie那些事儿

这篇讲的是前端开发中频繁操作Cookie的实战经验总结。作者从一个实际项目的开发经历出发,梳理了操作Cookie时容易被忽视的几个关键点。 文章没有停留在基础语法层面,而是聚焦于实践中的细节与陷阱。例如,详细解释了如何正确设置Cookie的`path`、`domain`等属性以避免作用域问题,剖析了`HttpOnly`、`Secure`等安全属性在防范XSS等攻击时的实际价值。此外,作者还结合项目场景,探讨了在现代前端框架下处理Cookie的跨域限制与同步更新问题。 这并非一篇简单的属性列表,而是将零散的知识点串联成了一个在项目中操作Cookie的“避坑”与最佳实践指南,对于经常需要处理会话与状态管理的前端开发者来说,其中的经验教训能直接帮助提升代码的健壮性与安全性。

本机暂存
IT 后端/ 2012-09-03 23:12:17 / 累计浏览 2,988

Skynet 设计综述

这篇讲的是知名游戏服务器框架Skynet的C版本从零构建过程。作者在一个月内完成了框架开发,期间对多个模块进行了反复重构,最终将代码精简至仅六千余行C代码与一千余行Lua代码。文章透露出作者对代码质量与可维护性的坚持:在紧凑的篇幅内保持清晰结构,以期后续Bug能够被快速定位与修正。这种对“小而精”设计目标的追求,展现了作者对底层框架工程化的深刻理解——用精炼的代码承载高并发的服务框架,本身就是一项充满挑战的设计实践。

本机暂存
IT 安全/ 2012-09-03 13:54:15 / 累计浏览 4,795

神探tcpdump第五招

在《神探tcpdump》系列的前四招中,作者集中讲解了tcpdump的各种选项配置,比如用-v控制详细输出、-n避免域名解析等基础操作。从第五招开始,教程的视角转向了过滤表达式——这正是tcpdump在实际应用中更常用

本机暂存
IT 后端/ 2012-09-03 13:53:05 / 累计浏览 2,450

7年之痒:读《谁偷了MySpace》

MySpace从如日中天到以3500万美元被甩卖,只用了七年。这篇讲的是这家社交网络巨头从2004年创立、2008年登顶,再到迅速陨落的完整历程。作者没有停留在表面的兴衰叙事,而是从这段商业兴衰史出发,深入探讨了一个核心问题:当技术优势面临商业决策失误、产品迭代停滞以及用户需求变迁的多重冲击时,究竟会发生什么? 文章剖析了MySpace在巅峰期后所犯的一系列关键错误,比如对开放平台的谨慎、对用户界面复杂化的放任,以及被新闻集团收购后可能出现的文化冲突与战略摇摆。这些细节共同勾勒出一家公司如何被时代抛弃的轨迹。它提醒我们,技术产品的生命周期远不止于代码和架构,更在于其能否持续洞察并响应一个动态变化的用户生态。对于所有技术从业者而言,这不仅是回顾一个商业案例,更是一面镜子。

本机暂存
IT 数据库/ 2012-09-03 13:49:15 / 累计浏览 2,502

布隆过滤(Bloom Filter)-必须了解的优化器算法

这篇讲的是一个因数据库小版本升级引发的性能雪崩事件。作者从一次真实的客户案例出发:将数据库从11.2.0.1升到11.2.0.3,看似无害的操作却导致SQL性能暴跌百倍。根因在于新版本优化器默认启用了布隆过滤(Bloom Filter)特性,这一原本用于优化的算法,在特定查询场景下反而生成了低效的执行计划。 文章核心揭示了优化器自动选择的“双刃剑”效应。作者没有停留在描述现象,而是深入剖析了布隆过滤器如何影响了SQL的执行路径,并给出了关键的应对策略——在版本升级后,必须进行严格的性能回归测试,其中比对SQL执行计划的变化是不可或缺的一环。这提醒我们,数据库升级绝非简单的版本号变动,底层行为的改变可能带来难以预料的后果。 对于DBA和后端开发者而言,这是一个极具参考价值的踩坑记录。它强调了在享受新特性带来便利的同时,必须对其潜在风险保持警惕,并将执行计划分析纳入标准的升级验收流程,以避免类似性能灾难的发生。

本机暂存
IT DevOps/ 2012-09-03 13:48:36 / 累计浏览 4,877

神探tcpdump第三招

这篇讲的是tcpdump实战教程的第三部分,作者从大家熟悉的网络抓包工具入手,把它的使用拆解成了三个核心部分:选项、过滤表达式和输出信息。文章没有停留在概念层面,而是聚焦在如何组合这些部分来精准捕获你想要的数据包。 尤其值得留意的是,它详细介绍了“过滤表达式”这一强大功能,比如如何用`host`、`port`和协议类型来缩小范围,以及如何通过逻辑运算符组合条件。这些技巧能让你在海量数据包中快速定位目标,而不是被无关信息淹没。 对于经常需要排查网络连接问题的工程师,或者想从“会用”进阶到“精通”的开发者来说,这篇文章把工具拆解得很细,给出的都是可以直接上手的操作思路,能有效提升日常排障的效率。

本机暂存