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

最新文章

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

IT 算法/ 2012-08-27 13:51:33 / 累计浏览 3,900

一条微博被恶搞所引起的思考

这篇文章从一条在社交媒体上被网友“玩坏”的微博谈起,但作者没有停留在调侃或批判层面。它追踪了这条微博从发布、被解构、到衍生出各种二次创作(如梗图、改编段子)的全过程,分析了这次“恶搞”事件为何能迅速发酵。 作者指出,背后反映的是一种典型的网络文化参与模式:网友通过戏仿和再创作,解构了原微博可能带有的正式或严肃的语境,赋予了其全新的、娱乐化的含义。这个过程也暴露了信息在碎片化传播中容易脱离原始上下文的风险。 更核心的思考在于,作者将这种现象与技术社区的文化进行了类比——就像开源项目会被“分叉”(fork)一样,网络内容也在被大众不断地“分叉”与重构。文章最终引导读者思考,在参与或观察此类网络现象时,我们应如何辨别情绪表达与事实信息,并理解技术驱动下的内容传播新逻辑。

本机暂存
IT DevOps/ 2012-08-27 13:50:08 / 累计浏览 1,665

Ubuntu 下 mate-settings-daemon 无法启动的解决办法

这篇讲的是作者在安装了 Mate 1.4 桌面环境后,遭遇了一个烦人的问题:某些应用程序的图标莫名其妙地消失了,同时系统会闪现一个与 `mate-settings-daemon` 相关的错误提示。问题虽然看似不大,但足以破坏日常使用的体验。 为了揪出元凶,作者深入系统日志(`/var/log/syslog`)进行了排查。日志中明确的警告信息,最终将故障源头指向了负责管理桌面设置的 `mate-settings-daemon` 服务本身。文章详细记录了从发现问题、分析日志定位根因,到最终找到并实施解决方案的全过程。这个解决过程对于其他遇到类似 Mate 桌面环境稳定性问题的用户,具有直接的参考价值。

本机暂存
IT 安全/ 2012-08-27 12:41:37 / 累计浏览 5,671

几种极其隐蔽的XSS注入的防护

这篇讲的是几种极其隐蔽的XSS注入方式及其防护策略。文章开篇点明了XSS攻击的本质:网页因用户输入而生成了意料之外的、可执行的JavaScript代码,并被浏览器执行,导致恶意脚本在受害者上下文中运行。 作者接着聚焦于那些容易被开发者忽略的隐蔽注入点。这些注入路径往往隐藏在看似安全的HTML属性编码、JavaScript上下文内的动态拼接,甚至是自定义的事件处理函数中。它们的特点是能绕过常见的黑名单过滤或简单的转义机制,攻击载荷的构造与上下文环境紧密相关,使得检测和防护变得尤为困难。 针对这些“隐藏的角落”,文章提出了一套组合防护思路。核心并非依赖单一的过滤规则,而是强调基于语义的深度分析与上下文感知的输出编码。例如,在将数据放入JavaScript变量或函数参数时,需要使用不同于HTML属性的专用编码方法。同时,文章也提倡部署严格的 CSP 策略作为纵深防御,从根本上限制未授权脚本的执行权限,为开发者提供了从编码实践到架构加固的多层次防护参考。

本机暂存
IT 开发者/ 2012-08-27 12:40:54 / 累计浏览 2,321

翻译杂思

这篇讲的是作者从2009年半开玩笑地参与《ThoughtWorks文集》翻译开始,如何一脚踏进了图书翻译的河流,并持续沉浸其中的故事。文章没有泛泛而谈翻译理论,而是通过这段个人经历,引出了对技术翻译这一独特工作的真切感悟。 作者分享了从“玩票”到“入行”的心态转变,以及翻译过程中那些不足为外人道的细节——它远不止是语言转换,更像是在两种思维体系间搭建一座既精准又流畅的桥梁。这种沉浸式的工作,迫使译者对技术的理解必须掰开揉碎、再清晰重组,其收获往往超越了单纯的“完成一本书”。 对于从事技术写作、文档翻译,或是任何需要精准传递复杂信息的读者而言,这篇文章提供了一个内行人的视角:它揭示了这项工作背后的耐力、苛刻与独特的成就感。这种源于深度参与和反复锤炼的体会,或许比任何翻译技巧的条目都来得生动。

本机暂存
IT 数据库/ 2012-08-27 12:40:32 / 累计浏览 4,505

rman备份对各种数据块操作

这篇讲的是,很多DBA对Oracle RMAN备份到底操作到数据文件的什么级别(比如是整个文件还是部分数据块)存有疑惑。作者在文章中以Oracle 10.2.0.4版本为例,通过设计测试实验,直观地展示了RMAN在备份时实际读取和备份的数据块范围。 文章没有停留在理论陈述,而是提供了一种可复现的验证方法。作者通过对比分析,澄清了在不同场景下RMAN的备份行为,这对于在实际运维中判断备份完整性、理解备份存储开销非常有帮助。其核心价值在于,它不仅给出了一个具体版本的结论,更教会了读者如何通过类似实验去验证自己环境中RMAN的具体功能,提供了解决这类模糊问题的实用思路。

本机暂存
IT 开发者/ 2012-08-27 12:39:57 / 累计浏览 4,489

“好奇号”火星车和它搭载的软件(来自Erlang程序员的观点)

这篇讲的是,地球到火星长达20分钟的通信延迟下,NASA的“好奇号”火星车如何依靠软件实现高度自主的故障应对。文章从一位Erlang程序员的视角出发,带我们审视这套“地外”软件系统的精妙设计。 作者重点剖析了火星车软件的核心挑战:在无法即时干预、硬件资源有限且环境极端恶劣的条件下,确保系统的长期可靠运行。他将目光投向了Erlang这门以并发、容错和分布式著称的语言,并非因为它被直接使用,而是其蕴含的“let it crash”哲学和热代码升级等思想,与火星车软件的设计理念不谋而合。例如,当遇到未预期的传感器故障时,系统需要能像Erlang的监督树那样,快速隔离问题、重启关键进程,而不是导致整体停摆。 文章没有停留在理论对比,而是具体到了“好奇号”如何管理自身的有限计算资源,以及如何将复杂的任务序列转化为能在不同威胁级别下执行的自主指令集。这种将高可靠性理论(如Erlang)与极端工程实践相结合的分析,为嵌入式系统、分布式开发乃至高可靠架构设计提供了宝贵的跨界启发。

本机暂存
IT 后端/ 2012-08-27 12:39:30 / 累计浏览 4,165

关于tcp-proxy的几个小问题

作者在本文中深入探讨了tcp-proxy在实际应用中遇到的几个典型小问题,这些经验源于作者的近期排查过程。文章首先提到了代理连接不稳定的故障,根因分析指向了TCP keepalive设置与后端服务超时不匹配,导致连接被意外终止;作者通过调整sysctl参数中的net.ipv4.tcp_keepalive_time和net.ipv4.tcp_keepalive_intvl值,并结合应用层心跳机制解决了这一问题。其次,针对代理转发时出现的随机

本机暂存
IT 安全/ 2012-08-27 12:38:56 / 累计浏览 2,474

文本的解构与结构:读《恶搞》

这篇文章以郭美美那条著名的中式英语微博为引子,讲述了一场迅速席卷社交媒体的“翻译狂欢”。作者观察到,在短短一夜之间,网友用诗经体、唐诗宋词、乃至元曲等数十种中国古典文学形式,对这段蹩脚英文进行了创造性翻译与重写,原帖转发量逾20万次。 文章剖析的正是这场网络事件背后的文本“解构与结构”。它对比了不同翻译版本在文体、韵律和用词上的关键差异:诗经版的古朴四言,唐诗的工整对仗,元曲的俚俗铺陈。这并非简单的语言转换,而是每种形式都基于自身的文学结构与规则,对原文进行了深度重塑。 作者认为,这场狂欢不仅是一次网络恶搞,更是一场大众自发的、关于文本形式可能性的集体实验。它生动地展现了同一语义内核在不同文体结构下的巨大表达潜力,也揭示了文本一旦脱离原初语境,便能激发出无限的再创造能量。

本机暂存
IT 开发者/ 2012-08-24 13:09:41 / 累计浏览 4,137

谈谈年度最佳代码“不管你们信不信,反正我信了”

这篇文章从一段在网络上广泛传播的代码入手,其灵感源于前铁道部发言人王勇平的一句经典名言:“不管你们信不信,反正我信了……这是生命的奇迹……它就是发生了”。尽管这段代码带有明显的调侃和幽默色彩,但它在技术圈内引发了一场关于代码风格和编程规范的实质性讨论。作者详细记录了这些讨论,深入探讨了代码的可读性、

本机暂存
IT 后端/ 2012-08-24 12:31:38 / 累计浏览 2,391

由eval生成的代码效率真的很差吗?

这篇讲的是作者从一次技术争论出发,深入探讨了eval生成的代码效率问题。争论的另一方是Node.js专家,他认为eval存在性能缺陷,开发时应当避免使用,并举例CoffeeScript采用额外进程监听改变的做法更优。作者则指出,Wind.js借助eval实现运行时动态转化,且生产环境中不会出现eval,而CoffeeScript是在构建时处理。争论的核心在于eval是否真的效率低下,甚至影响到开发实践。 为了验证这一点,作者设计了实验来量化eval生成代码的性能表现。对比对象主要是eval与其他编译或转化方式的代码效率。关键差异在于eval在运行时进行动态代码生成,可能带来额外开销,而像CoffeeScript这样的工具在构建阶段完成转化,避免了运行时开销。各自适合的场景也不同:eval适合需要高度动态性的场景,而预编译更适合性能敏感的生产环境。 通过试验,作者试图揭示eval效率的真实情况,而不是仅凭经验论断。文章不仅回顾了Wind.js和Jscex的历史背景,还聚焦于性能对比的实证分析。这为开发者提供了客观数据,帮助他们在选择技术方案时权衡动态灵活性与执行效率,而不是一味避开eval。

本机暂存
IT 开发者/ 2012-08-24 12:27:57 / 累计浏览 2,021

我对“语言之争”的看法:别随便拉我入场

这篇文章从近期围绕C++复杂度的新一轮“语言之争”切入,探讨了一个老话题却常被忽视的侧面。作者并未纠缠于技术细节的优劣辩论,而是借酷壳上一位同行对C++“又爱又恨”的感叹,折射出自己的核心感受:这场争论早已偏离了技术理性的探讨,沦为太多“不合格的人”宣泄情绪、滥用和凌辱语言本身的名利场。 作者指出,许多人对技术的“爱”与“恨”往往源于自身的认知局限或偏见,而非语言客观的能力边界。这种个人化的体验被放大后,就形成了充满偏见与攻击的“语言之争”,反而遮蔽了技术讨论的真正价值。文章并非要评判C++或其他语言的对错,而是呼吁技术人看清这场“争执”背后的情绪化本质,保持独立思考,别轻易被裹挟进无意义的口水战中。它提醒我们,技术讨论应当回归解决问题本身,而非成为证明自己正确或攻击他人的工具。

本机暂存
IT 算法/ 2012-08-24 12:27:27 / 累计浏览 3,575

我看面试时出(纯)算法题

作者读到左耳朵耗子关于反对纯算法面试题的新文章后,结合自身经验写下了回应。他认同面试不应只考察与实际工作脱节的纯算法题这一大方向,但也希望为这个讨论补上一些更细腻的视角。 文章首先温和地指出,原文对学术研究者的描述略有偏颇,但这不是重点。真正的核心在于,如何更准确地通过面试问题,来评估一个候选人在实际工程中解决问题的能力。作者认为,纯粹的算法题容易忽略工程实践中的权衡、沟通与协作,而一个更有效的面试环节,或许应当模拟真实场景,考察候选人分析需求、拆解问题、并在约束条件下做出合理技术选择的能力。 这篇短文像是一个冷静的“补丁”,将一场热门的技术讨论引向了更具体的实践层面,提醒我们在设计面试时,别忘了技术能力最终是为解决真实业务问题服务的。

本机暂存
IT 开发者/ 2012-08-23 00:05:26 / 累计浏览 2,248

动手好奇反叛的Hacker精神

这篇讲的是作者从一件小事出发,分享对Hacker精神的理解。背景很简单:为办公室新的WiFi路由器设置一个有趣的SSID,作者提议用“hacker”命名,还有一个能覆盖到整个交大大草坪的热点,叫“Free4Hacker”。这个“动手”去修改网络名字的行为本身,就是一次微型的黑客实践——不满足于默认设置,主动去探索和改造环境。 作者由此展开,探讨了Hacker精神的内核。在文中,它被诠释为一种动手实践、充满好奇心并带有适度反叛特质的状态。这与网络文化中常见的“破解”或“攻击”印象不同,更接近于早期技术社区中那种通过创造性劳动来理解、改进系统,并乐于共享的朴素理念。 文章的启发在于,它将一个看似过时的符号,拉回当下的技术生活中进行讨论。Hacker精神并非历史的遗物,而是可以在日常的技术实践中被重新激活——无论是给WiFi起个酷名字,还是探索代码的边界,那种主动“动手”、保持好奇、不盲从规则的状态,依然能给今天的开发者带来新鲜的活力。

本机暂存
IT 数据库/ 2012-08-23 00:04:55 / 累计浏览 4,050

尝试mysqlbinlog的flashback功能

这篇文章讲述了作者在实际项目中如何利用 mysqlbinlog 的 flashback 功能,实现对误操作数据的快速回滚。作者首先分享了在业务高峰期一次不慎的 DELETE 操作带来的风险,随后深入介绍了 flashback 功能的原理——它通过逆向解析 binlog,生成与原操作相反的 DML 语句,从而精准撤销错误操作。 文章不仅演示了具体的命令与参数配置,还对比了该功能与传统备份恢复方案的效率差异,特别强调了其在时间窗口和数据一致性上的优势。作者通过回滚一个包含数万行数据的表,验证了功能的有效性,并总结了适用场景与潜在限制。对于数据库运维人员而言,这篇实践分享提供了一个直接可用的数据恢复思路。

本机暂存
IT DevOps/ 2012-08-23 00:04:23 / 累计浏览 3,801

微博 还是 微信

作者观察到一个有趣的现象:短短一年间,许多企业从“开微博做客服”的共识,悄然转向了“开微信”。文章从这个变化切入,对比了微博与微信作为两大主流社交平台的特质差异。 文章指出,微博因其公开、广播式的传播属性,更适合品牌营销、公共话题讨论和信息扩散。而微信,尤其是其公众号与客服功能,凭借更私密、即时和一对一的沟通环境,天然契合客户服务、深度用户维护等场景。这种平台特性的分化,直接导致了企业策略的转变。 作者的发现揭示了企业在选择沟通渠道时,正变得更加务实和场景化。企业不再盲目追逐热点,而是开始思考:我的核心需求究竟是广而告之的声量,还是细腻深入的服务?这个选择背后,是对用户关系本质理解的深化。

本机暂存
IT DevOps/ 2012-08-23 00:02:38 / 累计浏览 5,842

nslookup通往DNS的桥梁

这篇讲的是网络排查中几乎人人都用过、却很少有人真正理解的工具——nslookup。作者从一次具体的故障场景切入,带出nslookup这个看似简单的命令行工具背后,其实是一座通往DNS世界的直接桥梁。文章详细拆解了nslookup的交互模式与非交互模式,展示了它如何帮助工程师清晰地看到本地DNS服务器的真实应答、查询特定类型的记录(如MX、CNAME),并巧妙利用它跳过系统缓存进行原始查询。 更关键的是,作者通过实际用例,对比了nslookup与dig、host等工具在不同场景下的适用性:nslookup的跨平台通用性和交互式调试的便捷性使其成为初学者和快速排查的首选,而dig在脚本化与详细输出上则更胜一筹。文章没有停留在工具介绍,而是指向了其核心价值——它让隐藏在命令行后的DNS解析流程变得可视化、可交互,是理解域名系统最直观的入口之一。

本机暂存
IT 数据库/ 2012-08-23 00:01:47 / 累计浏览 3,456

几种常见的NoSQL数据库关键特性列表

这篇文章旨在帮助开发者快速把握主流NoSQL数据库的“脾气”与“专长”。作者从键值、文档、列族、图数据库等主要类型出发,没有停留在泛泛的概念介绍,而是直接列出了它们各自最核心的特性与设计哲学。 比如,文章会点明Redis作为键值存储的极速缓存能力、MongoDB文档模型在处理嵌套JSON时的灵活优势,以及Cassandra在分布式架构下如何保证高可用性。对于Neo4j这样的图数据库,则会强调其在关系密集查询中远超传统数据库的性能。这种横向对比,让不同数据库解决何种场景问题变得一目了然。 文章以列表形式呈现,方便读者按需查阅和快速比对。这不仅是一份特性清单,更像一张技术选型的“地图”,能帮你根据数据模型、扩展性要求及查询模式,在众多选择中找到最贴合业务需求的那把钥匙。

本机暂存
IT 前端/ 2012-08-23 00:00:44 / 累计浏览 5,004

CSS3入门——由点到面

这篇译文来自Smashing Magazine出品的《Mastering CSS for Web Developers》一书中的章节“CSS Three — Connecting the Dots”,作者是Trent Walton。文章并非一个面面俱到的体系化教程,而是从一个具体而精致的章节切入,试图梳理出CSS3中那些看似零散、却构成核心脉络的关键“连接点”。 作者从实践中体会到,许多CSS3的特性虽然单独来看点状知识,但它们之间存在深刻的联系。这篇内容正是要带领读者将这些点连成线、织成网,理解诸如过渡、变换、动画以及媒体查询等特性如何协同工作,从而构建出更具现代感与表现力的页面。它不同于入门手册的罗列,更侧重于揭示技术点之间的“连接”逻辑。 之所以分享这篇翻译,也是源于一个实际困境:许多技术资料虽然单篇质量很高,但内容零散,缺乏有机串联。这篇文章恰好提供了一个将离散知识系统化的视角,对于已经接触过CSS基础、希望建立更立体认知的前端开发者而言,是一个不错的梳理思路。

本机暂存
IT 前端/ 2012-08-22 23:53:20 / 累计浏览 3,810

让IE6支持min-width

这篇讲的是老版本IE浏览器对CSS属性支持不足的典型“坑”。文章直面一个具体痛点:IE6不支持min-width,这在需要保证元素最小宽度的布局中会造成显示异常。 作者的解决方案是巧妙利用IE特有的CSS `expression` 属性,通过一行JavaScript表达式(`width: expression(...)`)在运行时动态计算宽度,从而绕过浏览器的原生限制。核心思路是在CSS中嵌入简单的逻辑判断,如果元素宽度小于设定值,则强制应用最小宽度。 不过,文章也特别点明了这个方案的“副作用”:在IE7中,`expression`中的脚本依然会被执行。这意味着开发者在应用此技巧时,必须预先考虑好脚本的性能影响与兼容性,不能简单地认为“升级浏览器就能万事大吉”。它既提供了一个实用的应急修复方案,也提醒了这种方案背后的潜在风险与后续维护成本。

本机暂存
IT DevOps/ 2012-08-22 23:42:43 / 累计浏览 5,987

Linux下的一些I/O统计工具

这篇讲的是Linux系统中那些实用的I/O性能统计工具。作者从iostat这个“重量级”工具讲起,但它输出项太多,文章重心放在介绍其他同样好用、但可能不那么为人熟知的工具上。 比如,iodump这个Perl脚本可以通过开启内核消息来统计每个进程的I/O情况;iotop则提供了类似top的交互式界面,能直观看到哪个进程在读写磁盘;还有用C写的iopp,效率更高,输出项也更清晰。文章还提到了意图整合多种统计功能的dstat。 作者没有停留在单纯介绍工具,而是结合了具体的命令输出和字段解释,对比了它们各自的实现原理(如利用内核消息、任务IO统计等)、安装复杂度和输出信息的侧重点。这正好解答了管理员常见的一个疑问:当iostat的宏观统计不够用时,我该如何深入到进程级别去排查IO热点,又有哪些工具可以选择?

本机暂存