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

最新文章

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

IT 数据库/ 2012-04-09 13:42:24 / 累计浏览 2,356

Hint的常见错误使用方式

这篇讲的是Oracle数据库中Hint工具的常见错误使用方式。作者从实际运维经验出发,指出许多DBA在追求快速解决问题时,容易陷入过度依赖Hint的陷阱。例如,通过Hint强制指定执行计划可能短期内见效,但当数据分布或索引结构变化后,固定的计划反而会成为性能瓶颈。 文章分析了几个典型场景:比如用/*+ INDEX */ Hint覆盖优化器选择,却忽略了全表扫描可能更高效的时机;或者在Outline中错误绑定Hint,导致后续SQL无法适应硬件升级。作者强调,Hint本是精细调控的工具,滥用会破坏优化器的自主决策能力。 对于如何正确使用,文中建议将Hint作为最后手段,并配合Outline、Profile等工具进行计划管理。最终目的是让DBA理解优化器的工作逻辑,而非用Hint掩盖设计缺陷。

本机暂存
IT 数据库/ 2012-04-09 13:41:54 / 累计浏览 2,418

ASM的优点总结–关于日志文件调整

这篇讲的是ASM(Automatic Storage Management)在数据库日志文件调整中的实用优点。当数据库出现日志切换频繁、事务等待LGWR写入或归档延迟等问题时,调整日志组成为维护性能的关键。作者从这些日常挑战出发,展示了ASM如何通过规范日志成员命名和日志组编号,让管理变得简单直观。 文章结合具体场景,比如通过SQL查询v$logfile和v$log视图来监控日志状态(如出现STALE或CURRENT状态),并演示了使用alter database add logfile命令添加新日志组的操作。这些细节体现了ASM在自动化存储管理中的便利性,使得管理员能快速响应日志问题,避免系统阻塞。 总的来说,ASM不仅简化了日志文件的维护流程,还通过标准化命名和集中管理,提升了数据库的稳定性和可维护性。对于DBA来说,这是一种高效应对存储挑战的方法。

本机暂存
IT 数据库/ 2012-04-09 13:41:11 / 累计浏览 3,348

异构数据库复制解决方案-HVR

这篇文章讲的是一位曾深耕于Oracle Goldengate技术的作者,对另一款异构数据库复制工具HVR的评测与看法。 作者从自身经验出发,先梳理了当前异构复制的常见路径,如基于JDBC的程序同步或利用触发器、Oracle Stream等。随后重点聚焦于市场主流的Oracle Goldengate,肯定了其强大的日志解析与跨平台能力。但文章的核心笔墨,落在了另一款名为HVR的产品上。 作者指出,HVR在原理上与Goldengate类似,同样支持主流数据库的日志挖掘与实时同步。其最大的竞争优势在于:**更低的成本、更直观的操作界面,以及对DDL复制和双向复制提供了更便捷的支持**,无需像Goldengate那样进行复杂的脚本配置。文章也客观提到了HVR在国内案例较少(仅列举了广东公安的案例),可能与其市场布局有关。 最终,作者基于近期的亲自测试,给出了“还是不错的”这一结论,为有异构复制需求,特别是看重易用性和成本的团队,提供了一个值得关注的备选方案参考。

本机暂存
IT DevOps/ 2012-04-09 12:26:03 / 累计浏览 3,273

Linux下同时wget多个文件

这篇讲的是如何在Linux环境下,高效地批量下载多个文件。作者从实际运维或数据采集的场景出发,提供了一个简洁而实用的解决方案。 核心方法是先将所有需要下载的文件URL整理到一个文本文件(比如url.txt)中,一行一个。然后,利用wget命令的`-i`参数指定这个输入文件。作者推荐的关键组合是:`wget -b -i url.txt -P /下载目录`。其中,`-b`参数让wget在后台静默执行,下载日志会输出到`wget-log`文件,避免占用终端;`-P`则指定文件保存的路径,保持目录整洁。 此外,文章还提示了一些提升成功率的技巧,比如加入`-c`参数支持断点续传,以及用`--tries`设置重试次数。这种方法比逐个手动下载或编写复杂的循环脚本要直接得多,尤其适用于需要定期、可靠地拉取一批指定资源的场景。

本机暂存
IT 数据库/ 2012-04-09 12:25:19 / 累计浏览 1,540

ORA-1555错误解决一例

这篇文章从一个实际案例出发,探讨了如何解决 Oracle 数据库中经典的 ORA-01555 快照太旧错误。作者首先解释了这一问题的根源:它本质上是一个读一致性问题,通常发生在长查询尝试读取已经被其他事务修改并提交的数据时,而原数据所在的回滚段(undo segment)信息因空间压力或自动管理策略被覆盖。虽然从 Oracle 9i 引入自动 undo 管理后该错误已大幅减少,但在特定场景下仍会重现。文章没有停留在理论分析,而是详细记录了定位问题的排查过程——从分析报错时间点的系统负载、SQL 执行计划,到追溯特定长事务的 undo 生成量,并最终通过调整 undo 保留时间参数与优化特定批量作业的提交频率,给出了一个兼顾系统性能与稳定性的综合解决方案,对 DBA 日常维护具有直接的参考价值。

本机暂存
IT 数据库/ 2012-04-09 12:24:59 / 累计浏览 2,065

ORA-04031案例一则

这篇讲的是一个令DBA头疼的经典错误:ORA-04031。文章从几乎每位专业DBA都可能遭遇的这个现象切入,剖析了当Oracle进程向系统全局区(SGA)申请内存失败时触发该错误的机制,并指出绝大多数情况发生在共享池内存分配环节。 文章并未停留在理论,而是直接展示了一个真实的报错现场,包括精确到字节的申请失败记录、特定的对象与堆信息。这种从具体案例出发的叙事,为理解问题成因提供了清晰的锚点。作者通过这个实例,很可能深入探讨了导致共享池内存不足的常见原因,例如SQL解析负载、未绑定的游标或是池配置不当,并分享了相应的排查思路与优化方案。 对于需要维护Oracle数据库稳定性的读者来说,这篇文章的价值在于它从一个具体的“坑”出发,将抽象的错误代码转化为可观测、可分析的实际问题。

本机暂存
IT 数据库/ 2012-04-09 12:21:21 / 累计浏览 2,602

hint指定index的深入理解

这篇讲的是MySQL优化器在索引选择上的一个关键干预手段:hint指定index。作者没有停留在语法表面,而是从实际查询出发,演示了当优化器基于代价估算模型做出的自动选择并非最优时,如何通过hint“拨乱反正”。 文章深入对比了hint强制索引(FORCE INDEX)与建议索引(USE INDEX)的核心差异。前者是强制覆盖,无视其他更优路径;后者则是推荐,优化器仍可评估并拒绝。作者通过几个典型场景揭示了各自的利弊:在需要绝对保证特定索引被使用的高并发或复杂查询中,FORCE INDEX是利器,但也带来了后续索引维护或数据分布变化后可能失效的风险;而USE INDEX更像一种温和的建议,适用于探索性优化。 更巧妙的是,文章指出了hint的本质是“告诉优化器你所知道的信息”,比如数据倾斜的分布,从而弥补基于统计信息的代价估算可能存在的偏差。最终结论并非一味推崇hint,而是强调理解其适用边界——它是一把精准的手术刀,而非万能的锤子,用对地方才能让查询路径稳定可靠。

本机暂存
IT 安全/ 2012-04-09 12:20:30 / 累计浏览 3,009

数据安全防范 提升需从今日始 - 浅析数据安全

这篇讲的是在数据泄露事件频发的当下,为何“亡羊补牢”式的安全加固已远远不够,而必须转向“未雨绸缪”的主动防御。作者从企业常见但易被忽视的安全盲区出发,比如过度宽松的员工权限、未及时更新的加密算法、以及第三方合作中的数据流转漏洞,剖析了风险是如何从内部悄然滋生并最终导致外部危机的。 文章的核心观点在于,数据安全并非一次性的技术部署,而是一套需要持续运营的“免疫系统”。它强调了从数据分类分级、全生命周期监控到员工安全意识培养的立体化防线构建。文中特别指出了一个关键转变:安全建设的重心应从被动的边界防护,前移到对数据本身流转与使用的精细化管控。 最终,这篇文章将落脚点放在“今日始”的行动力上——无论是启动一次内部权限审计,还是升级关键系统的加密协议,立即着手微小的改进,就是构建长期安全韧性的开端。

本机暂存
IT 后端/ 2012-04-09 12:19:48 / 累计浏览 2,324

读书:谣言

作者从微博这一社交场景出发,将《谣言》与《日常生活中的自我呈现》《脏话文化史》并置,揭示了社交网络信息生态的三大关键维度:个体的表演性呈现、公共话语的粗糙化,以及谣言的病毒式扩散。 这篇文章的核心观点在于,微博独特的转发机制极大地放大了谣言的传播效能。它并非简单地讨论谣言本身,而是将谣言的传播视为一种嵌入在特定技术架构(转发链)与社会行为(用户的自我呈现与语言习惯)中的现象。作者指出,正是“转发”这一功能,让未经核实的信息得以在社交网络中指数级传播,成为平台无法回避的突出特征。 这为我们理解当前的信息环境提供了一个生动的观察切片。它提醒读者,网络谣言不仅是内容真实性的问题,更是传播技术、用户心理与社会互动共同作用的结果。这种跨领域的思考方式,有助于我们更冷静地审视社交平台上的信息流动。

本机暂存
IT 安全/ 2012-04-09 12:17:59 / 累计浏览 2,952

谈谈数据安全和云存储

这篇讲的是云环境下数据安全的具体实践路径。作者从企业数据上云常见的安全顾虑切入,拆解了数据泄露、非法访问和合规风险三个典型问题。文章重点介绍了基于零信任模型的访问控制方案,如何结合客户端加密与服务端加密形成纵深防御,以及在多云环境下统一密钥管理的关键技术。通过某金融企业迁移案例,展示了在满足等保2.0要求的前提下,如何通过分层加密策略将存储成本控制在原有方案的1.1倍以内。文末对比了主流云服务商在数据安全服务上的差异点,给出了按业务敏感等级选择安全配置的实用建议。

本机暂存
IT 开发者/ 2012-04-09 12:17:24 / 累计浏览 9,182

最常被程序员们谎称读过的计算机书籍

马克·吐温式的讽刺在程序员的书架上找到了绝佳的例证:那些封皮崭新却常被声称“读过”的计算机经典。这篇文章以幽默而犀利的笔触,盘点了技术圈里心照不宣的“谎言清单”——从大部头的《算法导论》到深奥的《深入理解计算机系统》,它们常常是简历或谈资里的常客,却鲜有人真正啃完全书。 作者并未止步于调侃,而是剖析了现象背后的复杂动因:既有技术深度本身带来的阅读挑战,也有行业文化中“知识象征”带来的社交压力。文章指出,这些书籍的价值往往不在于通读,而在于它们构建了特定领域的知识地图与思维框架。真正的学习,或许始于诚实地面对自己的阅读进度,并根据实际工作需要,有针对性地深挖其中真正攸关的章节。 这提醒我们,在技术的海洋中,务实的渔夫比宣称征服过风暴的水手走得更远。与其追逐完美的阅读清单,不如在解决问题的过程中,与经典展开有针对性的对话。

本机暂存
IT 前端/ 2012-04-09 12:16:48 / 累计浏览 2,932

理解css中的长度单位

这篇文章把CSS里那些容易搞混的长度单位梳理了一遍。作者从“该用px还是rem”这个经典困惑出发,系统对比了px、em、rem、%、vw、vh等主流单位的核心机制。 文章重点解析了几个关键差异:比如`em`相对父元素字体大小,容易导致嵌套后尺寸失控;而`rem`统一基于根元素,更适合构建可整体缩放的布局系统。`vw`/`vh`直接关联视口尺寸,是做全屏或响应式设计的利器,但需注意在移动设备上可能引发的滚动条问题。 作者通过具体的代码示例和场景分析,说明了不同单位的最佳适用场合——用`rem`做全局样式基准,用`vw`适配视口,用`%`处理组件内部布局。最后,文章厘清了单位的选择逻辑,帮助开发者在实际项目中做出清晰决策。

本机暂存
IT 前端/ 2012-04-09 12:16:31 / 累计浏览 2,291

css3 calc()功能小窥

这篇讲的是CSS3引入的calc()函数如何简化日常布局中的计算难题。作者从实现一个“完美宽度自适应的输入框”这一经典挑战出发,指出过去要达成“100%宽 + 固定边框”这类效果非常麻烦,开发者不得不小心翼翼地处理不同浏览器的兼容问题。 calc()的核心价值在于,它允许我们在CSS属性值中直接进行基本的数学运算(加、减、乘、除)。这意味着,我们可以用`width: calc(100% - 20px)`这样直观的方式,精确控制元素尺寸,告别了依赖复杂嵌套或JavaScript辅助计算的时代。它把布局控制权更清晰地交还给了CSS本身。 当然,文章也提到了在使用时需注意浏览器支持情况。总的来说,calc()是一个小而强大的工具,它把前端开发中一个常见的繁琐计算节点变得简洁而明确。

本机暂存
IT 开发者/ 2012-04-09 12:16:11 / 累计浏览 1,843

肉饼谈管理:改造团队的经验(2)

这篇讲的是一个技术管理者空降新团队后,度过关键期并开始扩张时的切身体会。 作者延续上篇,指出在通过解决急迫问题、找到根源并建立团队信任后,真正的挑战才刚刚开始:如何从现有核心团队出发,进行人员扩充。文章具体描述了从“维稳”转向“扩张”的心理和策略转变,认为此时管理者面临更复杂的平衡——既要吸纳新鲜血液,又要避免破坏已建立的信任和团队氛围,还要确保新人与团队文化的契合。它强调了这个阶段的招聘与融合,远比最初的“救火”更考验管理者的耐心与眼光。 对于即将带领团队扩张,或刚接手一个稳定团队并计划引入新成员的技术Leader而言,文中的阶段分析和具体困境描述,提供了切实的思考框架。

本机暂存
IT 设计/ 2012-04-07 21:51:16 / 累计浏览 2,089

平面设计如何影响交互的未来

这篇谈的是平面设计风潮如何悄然重塑交互设计的底层逻辑。作者从2012年左右的设计趋势切入,提到了百度无线MUX团队总结的“平面化视觉风格”以及同期微软在Windows 8中力推的Metro风格。这两个标志性事件,被看作是推动界面从拟物化走向扁平化的重要节点。 文章的核心观点在于,这种视觉上的“扁平化”远不止是好看与否的风格选择。它更深层次地,引导了交互设计从“模拟真实世界的物理控件”转向“强调信息结构与内容本身”。当图标、按钮去掉阴影和渐变,设计师的注意力便更多地聚焦在布局、排版、色彩和动态反馈上,这些恰恰是数字原生交互的核心要素。 从早期移动应用的趋势预测,到影响深远的操作系统设计语言变革,平面设计如同一股温和却坚定的潮流,为交互设计打开了新的可能性空间,让“形式追随功能”这一理念在数字界面中得到了更纯粹的体现。

本机暂存
IT 后端/ 2012-04-07 21:50:40 / 累计浏览 2,801

用vsftpd和mysql创建一个虚拟用户ftp服务器

这篇讲的是如何用vsftpd结合MySQL搭建一个虚拟用户FTP服务器,核心是为解决批量网站管理中的账号安全问题。作者从实际需求出发:当需要为每个网站(如foo.com)单独分配FTP管理账号时,创建系统账号存在数量膨胀和SSH登录风险。 文章详细介绍了通过vsftpd的虚拟用户功能,将FTP账号与系统账号解耦,并用MySQL作为后端存储来统一管理这些虚拟用户。具体技术点包括配置vsftpd认证插件、设计MySQL表结构存储用户名密码,以及设置用户与对应网站目录(如/web/foo.com)的权限映射。 这样做的最大好处是安全隔离——虚拟用户无法通过SSH登录系统,同时所有账号信息集中在数据库中,便于批量创建、修改和审计。作者不仅给出了可落地的配置步骤,也点明了这种架构在可维护性和安全性上的实际价值,适合有多站点文件管理需求的运维人员参考。

本机暂存
IT 设计/ 2012-04-07 21:48:54 / 累计浏览 2,380

Metro设计拾遗

随着Windows 8 Beta版即将发布,Nokia Lumia 800手机凭借其独特的设计获得市场认可,Metro UI开始进入更多人的视野。这篇讲的是作者从这个背景事件出发,重新审视Metro设计语言中一些常被忽略的细节和原则。文章并非简单复述Metro的流行,而是深入探讨了它如何从早期Windows Phone的“Metro”风格演变为Windows 8的系统级设计语言,强调其“内容为先、简洁流畅”的核心哲学。 作者从设计实践角度切入,指出Metro设计不仅仅是扁平化和大字体那么简单——它背后有一套严谨的网格系统、动态磁贴的交互逻辑,以及通过排版和色彩引导用户注意力的方法。例如,文章提到了Metro如何利用空白空间来提升可读性,以及磁贴更新如何提供实时信息而不打扰用户。这些细节揭示了Metro在效率与美学之间的平衡,对比了传统拟物化设计的冗余元素,说明了Metro更适合快节奏、信息密集的场景,如移动设备和生产力工具。 通过回顾Metro设计的发展历程和实际应用案例,作者分享了对现代UI设计的启发:好的设计应该像Metro一样,专注于内容本身,通过减少视觉噪音来增强用户体验。这不仅有助于理解Windows生态的设计逻辑,也为其他平台的界面设计提供了参考——比如如何利用动态元素保持界面鲜活,同时避免信息过载。

本机暂存
IT 设计/ 2012-04-07 21:48:27 / 累计浏览 3,130

设计Metro风格的应用

这篇文章聚焦于微软官方发布的《设计Metro风格的应用》指南,作者从Windows 8设计实践的角度切入,梳理了Metro设计语言的核心思路与操作规范。文中特别提到,该指南中许多关于信息呈现、交互逻辑和视觉层次的原则,对当前的应用设计仍有直接的参考价值。 有趣的是,作者撰写时发现腾讯CDC团队几乎同步发布了该指南的完整中文译文。这种快速响应不仅体现了国内设计团队对行业前沿的敏锐捕捉,也为中文读者降低了获取第一手技术资料的门槛。文章因此带有一丝“赛况播报”的意味——官方资料刚出,高质量译本已备好。 对于设计者而言,这类官方指南的价值在于提供了一套经过验证的思维框架,而非机械的视觉规则。作者通过对比两份资源,暗示了技术文档本地化与知识传播效率的重要性,也为读者指明了从权威源头学习、结合本土化解读的可行路径。

本机暂存
IT 设计/ 2012-04-07 21:47:51 / 累计浏览 2,702

什么是Metro风格的应用?

这篇文章讲的是 Windows 生态中一类非常特殊的软件形态——Metro 风格应用。它并非指一个具体的功能,而是一整套围绕“内容优先、直接交互”理念构建的设计哲学与产品形态。 与传统的窗口化桌面程序不同,Metro应用默认全屏运行,旨在消除干扰,让用户完全沉浸在当前任务中。它的设计语言极度简洁,大量使用版式、色块和动态磁贴来呈现信息,摒弃了复杂的按钮和边框。这种设计尤其为触控操作优化,交互直观直接。可以说,Metro应用是Windows为触屏设备、追求高效信息获取的场景量身打造的解决方案。 对于开发者而言,理解Metro风格意味着要转变思路:应用不再仅仅是桌面的一个附属,而是一个可以独立呈现、专注于核心功能的全屏体验。这种设计在提升信息传递效率和触控友好度的同时,也对应用的内容架构和导航设计提出了更高要求。

本机暂存
IT 前端/ 2012-04-07 21:46:19 / 累计浏览 1,445

javascript实现简单的链式调用

这篇讲的是如何用原生JavaScript实现类似jQuery那样的链式调用。文章从jQuery中流畅的`.addClass().css().fadeIn()`这类写法切入,点明了链式调用的核心价值:让代码更简洁易读,避免反复书写同一个对象变量。 作者没有停留在概念层面,而是直接展示了具体的实现思路。关键在于理解链式调用背后的设计模式——让对象的方法在执行操作后,最终都返回对象自身(通常是 `this`)。这样,每一个方法调用的结果依然是那个对象,自然就能继续在后面串联起其他方法。 文章通过构造函数和原型方法的例子,一步步搭建起这个结构。你会发现,实现起来并不复杂,但非常巧妙:它利用了JavaScript中 `this` 指向调用者的特性,在每个方法的末尾添加一句 `return this;`,就打通了整条链路。这种模式不仅用于jQuery,如今在很多前端库和Node.js模块中都能看到它的影子。 理解这个实现,不仅能帮你更好地使用现有工具,当你需要为自己的类设计流畅的API时,也能信手拈来,写出更优雅、更具表达性的代码。

本机暂存