# 异度部落格 > 核动力蜗牛的技术博客,记录 AI 大模型、Agent、分布式系统、大数据与机器学习等领域的学习与思考。 作者是一名 Data + AI 领域的工程师,专注于 AI 训练平台和智能体的研发。 - 作者:核动力蜗牛 - 网站:https://www.yidoo.xyz - 语言:zh-CN ## 页面 - [关于我](https://www.yidoo.xyz/about/) - [tags](https://www.yidoo.xyz/tags/) - [categories](https://www.yidoo.xyz/categories/) ## 文章 - [Coding Agent Is All You Need - 从 OS 到 OpenClaw](https://www.yidoo.xyz/coding-agent-is-all-you-need) (2026-03-13): 为什么一个通用智能体要用 Coding Agent 做内核?从 OS 架构的视角拆解 OpenClaw 的设计逻辑与 Agentic AI 生态的演化路径。 [Markdown](https://www.yidoo.xyz/coding-agent-is-all-you-need.md) - [S3-FIFO缓存淘汰算法](https://www.yidoo.xyz/s3fifo) (2025-09-28): S3-FIFO 通过三个静态 FIFO 队列与 2-bit 频率位组合,在保持高吞吐和低元数据成本的前提下淘汰“one-hit wonder”对象。其命中率大幅优于 LRU,可在偏斜访问场景中显著降低缓 存未命中与资源浪费。 [Markdown](https://www.yidoo.xyz/s3fifo.md) - [深入解析AI Gateway:AI 时代的流量管控核心](https://www.yidoo.xyz/ai-gateway) (2025-09-17): AI Gateway 的兴起源于大模型在混合云环境下广泛应用所带来的数据安全、成本与多模型调度挑战,传统 API Gateway 难以满足需求。它通过基于 Token 的计量与限流、智能路由、流式传输支持、上下文管理等能力,重构了网关架构。如今,Envoy、APISIX、Kong 等产品正推动 AI Gateway 成为企业级 AI 应用的关键基础设施,兼顾合规、安全与成本优化。 [Markdown](https://www.yidoo.xyz/ai-gateway.md) - [SGLang推理引擎技术解析](https://www.yidoo.xyz/sglang) (2025-03-16): SGLang是一款高性能LLM推理框架,结合创新的RadixAttention前缀缓存技术与灵活的前端编程接口,显著提升大模型推理效率。本文深入解析其架构设计与核心技术,包括高效后端运行时、受限解码加速及推测执行等先进特性。 [Markdown](https://www.yidoo.xyz/sglang.md) - [使用LLM反编译二进制程序](https://www.yidoo.xyz/llm4decompile) (2025-03-16): 本文介绍如何使用大型语言模型(LLM)对二进制程序进行反编译,并通过一个简单的实验展示了具体步骤。 [Markdown](https://www.yidoo.xyz/llm4decompile.md) - [深入解析模型上下文协议(MCP)](https://www.yidoo.xyz/mcp) (2025-03-12): 本文介绍了模型上下文协议(MCP)的核心概念,探讨了MCP的整体架构和关键组成部分。 [Markdown](https://www.yidoo.xyz/mcp.md) - [DeepSeek-R1中的关键技术和误解澄清](https://www.yidoo.xyz/deepseek-r1-key-technologies-and-misunderstandings) (2025-02-12): DeepSeek-R1模型通过创新性的强化学习技术显著提升了大语言模型的推理能力,其中R1-Zero无需SFT数据即实现了稳健的推理表现,R1在引入少量冷启动数据后进一步优化了性能,而R1-Distill则将推理能力成功蒸馏至小模型。尽管外界对其训练成本和CUDA依赖性存在误解,但DeepSeek在算法与硬件协同优化上的技术突破具有重要意义。 [Markdown](https://www.yidoo.xyz/deepseek-r1-key-technologies-and-misunderstandings.md) - [AI Agent 记忆技术浅析](https://www.yidoo.xyz/agent-memory) (2025-01-19): Agent记忆是AI在任务中存储和管理信息的能力,能够实现个性化交互、保持上下文连贯性并降低运营成本。与RAG不同,记忆侧重于用户信息而非知识检索,优化多轮会话体验。不同的记忆机制各有特点,适用于不同场景。 [Markdown](https://www.yidoo.xyz/agent-memory.md) - [Constrained Decoding - 让大模型100%生成符合schema的结构化输出](https://www.yidoo.xyz/constrained-decoding) (2024-12-26): 本文介绍了结构化生成(Structured Outputs)和受限解码(Constrained Decoding)技术,重点探讨如何通过约束规则确保大语言模型(LLM)生成符合预定格式的输出。文章分析了几种常见的受限解码实现方法,包括有限状态机(FSM)、交错解码(Interleaved Decoding) 、压缩有限状态机跳跃式解码方法(Jump-Forward Decoding With a Compressed Finite State Machine)和基于上下文无关语法(CFG)的解码。 [Markdown](https://www.yidoo.xyz/constrained-decoding.md) - [LLM推理优化 - KVCache压缩](https://www.yidoo.xyz/kvcache-compression) (2024-12-25): KV Cache 压缩技术是优化 LLM 推理性能的关键方向,主要分为**稀疏化**和**量化**两类。稀疏化通过选取关键 token 减少存储需求,而量化通过降低数据精度压缩 KV Cache 空间。 [Markdown](https://www.yidoo.xyz/kvcache-compression.md) - [LLM推理优化 - Chunked prefills](https://www.yidoo.xyz/chunked-prefills) (2024-12-24): Chunked Prefills 是一种优化大型语言模型推理 Prefill 阶段的技术,通过将 Prefill 请求分块并与 Decode 请求组合成批次,提升 GPU 资源利用率和推理吞吐量。该方法基于合理的分块大小与动态调度策略,兼顾了计算效率与一致性需求,显著改善了推理性能。 [Markdown](https://www.yidoo.xyz/chunked-prefills.md) - [LLM推理优化 - Speculative Decoding](https://www.yidoo.xyz/speculative-decoding) (2024-12-19): 投机解码(Speculative Decoding)是一种通过引入小型的 Draft Model 来加速大型语言模型(LLM)推理的技术。它通过先预测后验证的方式,实现了验证过程的并行执行,从而显著提高解码速度。该方法能够在保证解码质量的同时,提升推理效率,是加速 LLM 推理的有效方案。 [Markdown](https://www.yidoo.xyz/speculative-decoding.md) - [LLM推理优化 - Prefix Caching](https://www.yidoo.xyz/prefix-caching) (2024-12-18): Prefix Caching 是一种推理优化方法,通过缓存历史对话中的 KV Cache 来提升多轮对话中的首次 Token 计算效率。文章介绍了在 SGLang、vLLM 和 Deepseek 等大型模型推理系统中如何实现 Prefix Caching。 [Markdown](https://www.yidoo.xyz/prefix-caching.md) - [LLM推理优化 - Continuous Batching](https://www.yidoo.xyz/continuous-batching) (2024-12-17): Continuous Batching(持续批处理)是一种动态调度请求的推理方法,旨在提高大规模语言模型(LLM)推理的效率。与静态批处理不同,它通过在每次迭代中动态调整批次大小,最大化GPU资源利用率,减少计算浪费。这种方法能够显著提高吞吐量并降低延迟,是LLM推理中的优化标准。 [Markdown](https://www.yidoo.xyz/continuous-batching.md) - [Agent框架分析 - AutoGen](https://www.yidoo.xyz/autogen) (2024-12-03): AutoGen 是一个开源框架,用于构建自主协作的 AI Agent 应用,支持事件驱动、分布式和弹性架构。通过 Actor 模型和层次化的 API 设计,AutoGen 简化了多智能体系统的开发,提供了高效的通信和任务管理机制。它的分层结构使得开发者可以灵活选择底层或高层接口,满足不同复杂度的需求。 [Markdown](https://www.yidoo.xyz/autogen.md) - [LLM推理优化 - Prefill-Decode分离式推理架构](https://www.yidoo.xyz/llm-inference-pd-separation-architecture) (2024-11-26): Prefill-Decode 分离式架构将大模型推理的 Prefill 和 Decode 阶段拆分到不同的 GPU 上独立运行,以优化计算密集型和存储密集型任务的资源利用率。实验表明,该架构能显著降低首 token 延迟(TTFT)并提升整体吞吐量(TPOT),适合通过独立优化算力、存储和并行策略提升推理效率。 [Markdown](https://www.yidoo.xyz/llm-inference-pd-separation-architecture.md) - [LLM推理优化 - PagedAttention](https://www.yidoo.xyz/paged-attention) (2024-11-20): 大模型推理过程分为 Prefill 和 Decoding 阶段,利用 KV Cache 技术显著提高计算效率。然而,传统固定显存分配方式显存利用率低。PagedAttention 动态分配显存,借鉴操作系统虚拟内存分页技术,通过逻辑块与物理块的映射灵活管理 KV Cache。同时,vLLM 在调度中引入抢占机制和分布式管理策略,实现显存资源的高效利用与多卡协作。 [Markdown](https://www.yidoo.xyz/paged-attention.md) - [LLM推理优化 - KV Cache](https://www.yidoo.xyz/kv-cache) (2024-11-04): KVCache 是一种优化大语言模型(LLM)推理效率的技术,通过缓存之前计算得到的键值对(Key-Value),减少每次推理过程中的重复计算,从而显著提升推理速度和降低计算开销。本文介绍了 KVCache 的基本概念、内存占用及其实现细节。 [Markdown](https://www.yidoo.xyz/kv-cache.md) - [LLM推理优化 - Flash Attention](https://www.yidoo.xyz/flash-attention) (2024-10-19): 传统自注意力机制的计算复杂度为 O(N²),对于长序列的处理效率低下,显著增加内存和计算负担。Flash Attention 通过分块计算和重计算优化,将复杂度降为 O(N),减少显存占用,提升计算速度,并保持与标准注意力等效。它的改进主要体现在减少显存访问次数、提高计算效率,使其在大型模型训练中表现更优。 [Markdown](https://www.yidoo.xyz/flash-attention.md) - [Transformer 101](https://www.yidoo.xyz/transformer-101) (2024-09-29): Transformer 是一种由 Google 于 2017 年提出的深度学习架构,最初用于解决自然语言处理中的长期依赖问题,现已广泛应用于计算机视觉和大语言模型(如 GPT-3 和 Llama),其核心结构包括编码器和解码器,并利用自注意力机制和位置编码提高了处理效率。 [Markdown](https://www.yidoo.xyz/transformer-101.md) - [LLM Agent设计模式 - Reflection](https://www.yidoo.xyz/llm-agent-design-pattern-reflection) (2024-08-10): Reflexion 是一种通过语言反馈增强语言模型学习能力的框架,不依赖于模型参数的更新。该方法通过反思和反馈循环,持续优化模型的决策过程。 [Markdown](https://www.yidoo.xyz/llm-agent-design-pattern-reflection.md) - [LLM Agent设计模式 - LATS](https://www.yidoo.xyz/llm-agent-design-pattern-lats) (2024-08-09): LATS(Language Agent Tree Search)是一种结合推理、行动和规划的框架,旨在增强语言模型的决策能力,主要通过蒙特卡罗树搜索算法实现。该方法利用预训练语言模型评估状态,生成反思,并通过环境反馈提高模型适应性和问题解决能力。 [Markdown](https://www.yidoo.xyz/llm-agent-design-pattern-lats.md) - [LLM Agent设计模式 - ReWOO](https://www.yidoo.xyz/llm-agent-design-pattern-rewoo) (2024-08-08): ReWOO(Reasoning WithOut Observation)是一种新型增强语言模型提示方法,通过将推理过程与外部观察分离,显著减少令牌消耗。其核心在于将复杂任务分解为多个计划,由工作者获取证据,求解器整合生成最终答案。ReWOO 的模块化设计提升了效率和扩展性,同时在工具失效时表现出更高的鲁棒性。 [Markdown](https://www.yidoo.xyz/llm-agent-design-pattern-rewoo.md) - [LLM Agent设计模式 - Plan-and-Solve](https://www.yidoo.xyz/llm-agent-design-pattern-plan-and-solve) (2024-08-07): Plan-and-Solve (PS) 设计模式通过将任务分解为子任务并按计划执行,提升了大型语言模型在多步推理任务上的表现。 [Markdown](https://www.yidoo.xyz/llm-agent-design-pattern-plan-and-solve.md) - [LLM Agent设计模式 - ReAct](https://www.yidoo.xyz/llm-agent-design-pattern-react) (2024-08-06): ReAct 设计模式通过交替使用推理和行动步骤,让大型语言模型(LLM)在解决复杂任务时更加可靠和准确。它有效减少了错误传播,提升了模型的可解释性和决策成功率。 [Markdown](https://www.yidoo.xyz/llm-agent-design-pattern-react.md) - [LLM模型推理入门](https://www.yidoo.xyz/llm-inference-introduction) (2024-07-27): 随着生成式 AI 的迅速发展,大语言模型(LLM)的推理性能和成本成为关键障碍。本文从Transformer介绍入手,探讨了 LLM 推理的推理过程,并介绍了通过算法创新和系统优化提升推理效率的方法。 [Markdown](https://www.yidoo.xyz/llm-inference-introduction.md) - [Rockset技术架构解析](https://www.yidoo.xyz/rockset-technology-architecture) (2024-07-20): Rockset是一家专注于实时分析和混合检索的数据管理公司,提供高效的实时查询和分析功能。其核心技术包括融合索引和云原生架构,支持多种数据类型的混合检索,并且在实时数据更新和查询性能方面表现优异。2024年,Rockset被OpenAI收购,进一步提升了其在大规模数据分析和管理领域的应用潜力。 [Markdown](https://www.yidoo.xyz/rockset-technology-architecture.md) - [如何利用提示词攻破ChatGPT](https://www.yidoo.xyz/how-to-use-prompts-to-crack-chatgpt) (2024-06-30): 提示词攻击利用大语言模型的特性,通过特定提示词诱导模型生成特定输出,包括恶意攻击、数据提取等。越狱技术旨在绕过模型限制,泄露机密信息或执行不当逻辑。两者都利用模型的脆弱性进行操控。 [Markdown](https://www.yidoo.xyz/how-to-use-prompts-to-crack-chatgpt.md) - [提示词工程简介](https://www.yidoo.xyz/prompt-engineering-introduction) (2024-06-29): 提示词工程(Prompt Engineering)是一种优化和设计提示词的技术,旨在更好地引导和控制生成式人工智能(如 GPT-4)的输出。通过调整参数如 temperature、top_p、max length 等,提示词工程能够显著提升生成模型的表现和输出质量。 [Markdown](https://www.yidoo.xyz/prompt-engineering-introduction.md) - [AI大模型:技术变革与行业思考](https://www.yidoo.xyz/ai-large-model-technology-transformation-and-industry-reflections) (2024-06-21): 本文探讨了人工智能大模型的技术变革以及其对行业上下游影响。同时,记录了个人对AI大模型的一些思考。 [Markdown](https://www.yidoo.xyz/ai-large-model-technology-transformation-and-industry-reflections.md) - [MLSys技术内幕系列 -NVIDIA GPU原理详解](https://www.yidoo.xyz/nvidia-gpu-principles) (2024-06-07): 本文从AI芯片的基础知识入手,介绍了GPU的基本概念和工作原理,重点解析了NVIDIA GPU的核心架构及其从Fermi到Hopper的演进历程。通过阅读本文,您将全面了解GPU在现代计算中的重要性及NVIDIA在图形处理和并行计算领域的技术创新。 [Markdown](https://www.yidoo.xyz/nvidia-gpu-principles.md) - [MLSys技术内幕系列 - MLSys概述与学习资料](https://www.yidoo.xyz/mlsys-overview) (2024-06-05): MLSys 是机器学习(Machine Learning)和系统科学(Systems)的交叉领域,旨在优化和增强机器学习算法和应用的系统性能、效率与可用性。该领域涉及的关键研究方向包括系统架构与硬件优化、数据管理与处理、模型训练与优化、推理与部署、系统自动化与自适应,以及利用机器学习优化传统系统问题。 [Markdown](https://www.yidoo.xyz/mlsys-overview.md) - [投资的“四笔钱”](https://www.yidoo.xyz/the-four-moneys-of-investment) (2024-05-26): “四笔钱”是对标准普尔家庭资产配置的改进方案,解决了如何合理分配投资资金的问题。该方法将资金分为四类:活钱管理、稳健理财、长期投资和保险保障。 [Markdown](https://www.yidoo.xyz/the-four-moneys-of-investment.md) - [I.P.A.L.A 信息管理方法](https://www.yidoo.xyz/ipala-information-management) (2024-05-24): IPALA 信息管理方法是对 Tiago Forte 的 P.A.R.A 方法的优化,包含收集箱(Inbox)、项目(Projects)、领域(Areas)、资料库(Library)和归档(Archives)。该方法适用于笔记和各类资料的整理,帮助提高信息管理的效率和有序性。 [Markdown](https://www.yidoo.xyz/ipala-information-management.md) - [如何给自己和家人配置保险](https://www.yidoo.xyz/comprehensive-guide-to-insurance) (2024-05-24): 这篇文章详细介绍了如何通过购买商业保险来保障自己和家人。它首先解释了保险的基本作用和可靠性,接着分别介绍了医疗险、意外险、重疾险和定期寿险的功能和选择策略。最后,文章根据不同年龄段(未成年人、青壮年、中年和老年)的需求,提供了具体的保险配置建议,帮助读者合理规划保险购买。 [Markdown](https://www.yidoo.xyz/comprehensive-guide-to-insurance.md) - [Readwise Reader迁移到Omnivore指南](https://www.yidoo.xyz/how-to-migrate-readwise-reader-to-omnivore) (2024-05-17): 如何导出数据 在 Readwise Reader 中,“Preference” -> “Export account data” 导入链接 Readwise Reader 导出的数据格式与 Omniovre 并不兼容。数据格式的转换可… [Markdown](https://www.yidoo.xyz/how-to-migrate-readwise-reader-to-omnivore.md) - [个人知识管理体系 - 工具篇](https://www.yidoo.xyz/personal-knowledge-management-tools) (2024-05-12): 本文介绍了作者多年构建的独特知识获取与管理方法论,旨在帮助读者优化日常工作和学习。文中详细介绍了一系列实用工具,如微信读书、Readwise和Obsidian等,用于阅读、笔记同步、信息管理和回顾,以及如何利用这些工具提高学习和信息管理的效率。 [Markdown](https://www.yidoo.xyz/personal-knowledge-management-tools.md) - [个人知识管理体系 - 方法论篇](https://www.yidoo.xyz/personal-knowledge-management-princples) (2024-05-11): 本文介绍了作者多年构建的独特知识获取与管理方法论,旨在帮助读者优化日常工作和学习。文中首先介绍了关键的工具和技术,如笔记软件和任务管理工具,以及如何使用这些工具来捕捉灵感、整理思路和管理待办事项。知识管理工作流被分为三个主要阶段:输入、内化和输出。输入阶段涉及从多个信息源采集信息;内化阶段则是通过个人理解转化这些信息;输出阶段则是通过撰写、演讲等方式验证并分享所学知识。作者还强调了费曼学习法的重要性,即通过教学来加深理解和发现知识盲点。 [Markdown](https://www.yidoo.xyz/personal-knowledge-management-princples.md) - [LLM微调优化 - QLoRA](https://www.yidoo.xyz/qlora) (2023-11-11): 引言 QLoRA(Quantized Low-Rank Adapter)是一种高效的微调方法,是 LoRA 的量化版本(什么是 LoRA?)。该调优方法由华盛顿大学发表于论文《QLORA: Efficient Finetuning of Q… [Markdown](https://www.yidoo.xyz/qlora.md) - [如何将微信读书导入Readwise](https://www.yidoo.xyz/import-wereader-hightlights-into-readerwise) (2023-07-16): 第一步:复制读书标注 第二步:将格式转换为 Readwise 导入格式 访问:https://notepal.randysoft.org/ [Markdown](https://www.yidoo.xyz/import-wereader-hightlights-into-readerwise.md) - [我的GTD实践之路](https://www.yidoo.xyz/my-road-to-gtd) (2023-05-13): 经过8年的探索和尝试不同工具和方法,我终于总结出了一套适合自己的 GTD 实践方法,并在过去半年成功应用于日常生活。 [Markdown](https://www.yidoo.xyz/my-road-to-gtd.md) - [【论文精读】Hidden Technical Debt in Machine Learning Systems](https://www.yidoo.xyz/Hidden-Technical-Debt-in-Machine-Learning-Systems) (2020-10-11): 论文原文:Hidden Technical Debt in Machine Learning Systems 在文章的开篇,Google 工程师们就指出:虽然开发和部署机器学习系统相对快速并且成本低廉,但是持续的维护比较困难且成本高昂。这是… [Markdown](https://www.yidoo.xyz/Hidden-Technical-Debt-in-Machine-Learning-Systems.md) - [【论文精读】A Berkeley View of Systems Challenges for AI](https://www.yidoo.xyz/A-Berkeley-View-of-Systems-Challenges-for-AI) (2020-08-16): 论文原文:A Berkeley View of Systems Challenges for AI 这又是篇不涉及过多技术的一篇论文,不过其中提到的 Challenges 确是目前 AI Systems 一直在努力解决的。 文中提到的几点关… [Markdown](https://www.yidoo.xyz/A-Berkeley-View-of-Systems-Challenges-for-AI.md) - [【论文精读】A Berkeley View of Systems Challenges for AI](https://www.yidoo.xyz/MLSys-The-New-Frontier-of-Machine-Learning-Systems-Alexander) (2020-07-19): 论文原文:MLSys: The New Frontier of Machine Learning Systems 这是一篇发表意义大于内容本身的一篇论文,它是一个全新的会议 MLSys 的开篇。所谓 MLSys,顾名思义就是 Machine… [Markdown](https://www.yidoo.xyz/MLSys-The-New-Frontier-of-Machine-Learning-Systems-Alexander.md) - [Kerberos认证流程](https://www.yidoo.xyz/kerberos-authentication) (2019-10-10): 术语解释 AD: Active Directory。 Service Session Key: 服务会话密钥。 Logon Session Key: 登录会话密钥。 KDC: Key Distribution Center。 KAS: Ke… [Markdown](https://www.yidoo.xyz/kerberos-authentication.md) - [分布式系统理论 - 两段式提交(2PC)和三段式提交(3PC)](https://www.yidoo.xyz/2pc-and-3pc) (2019-05-07): 之前BASE 理论中提到,分布式系统对一致性做出了权衡。因此涌现出很多分布式协议。其中比较著名的是:两段式提交(Two Phase Commit)和三段式提交(Three Phase Commit)。 两段式提交 定义 每个参与者将操作成败… [Markdown](https://www.yidoo.xyz/2pc-and-3pc.md) - [分布式系统理论 - BASE理论](https://www.yidoo.xyz/base-theorem) (2019-04-21): BASE定理简介 BASE理论是Basically Available(基本可用),Soft State(软状态)和Eventually Consistent(最终一致性)三个短语的缩写,由eBay架构师Dan Pritchett提出来的。… [Markdown](https://www.yidoo.xyz/base-theorem.md) - [Spark常见问题(持续更新)](https://www.yidoo.xyz/spark-troubleshooting-guide) (2019-04-21): 综述 这篇文章记录了 Spark 应用开发过程遇到的各种问题及解决方案。主要来自于个人开发的实践,也有部分解决方案来自互联网,如有不足之处欢迎批评指正。本人会持续更新转载请保留原文地址 问题描述及解决方案 java.lang.OutOfMe… [Markdown](https://www.yidoo.xyz/spark-troubleshooting-guide.md) - [分布式系统理论 - CAP定理](https://www.yidoo.xyz/cap-theorem) (2019-02-28): CAP 定理简介 在理论计算机科学中,CAP 定理(CAP theorem),又被称作布鲁尔定理(Brewer’s theorem),指的是在一个分布式系统中,Consistency(一致性)、 Availability(可用性)、Part… [Markdown](https://www.yidoo.xyz/cap-theorem.md) - [Spark Troubleshooting - Task not serializable问题分析](https://www.yidoo.xyz/spark-task-not-serializable-analysis) (2018-08-19): 问题描述 出现“org.apache.spark.SparkException: Task not serializable”这个错误,一般是因为在 map、filter 等的参数使用了外部的变量,但是这个变量不能序列化。其中最普遍的情形是… [Markdown](https://www.yidoo.xyz/spark-task-not-serializable-analysis.md) - [Spark基本概念](https://www.yidoo.xyz/spark-basic-concepts) (2018-08-05): 概述 在我们编写 Spark Application 的的过程中,会涉及到很多概念,下面会介绍一些基本概念用于更好地理解 Spark 的设计以及应用开发。 RDD(Resillent Distributed Dataset) 弹性数据集。它… [Markdown](https://www.yidoo.xyz/spark-basic-concepts.md) - [Spark内存管理模型详解](https://www.yidoo.xyz/spark-memory-management) (2018-07-28): 引言 Spark 作为一个基于内存的分布式计算引擎,其内存管理模块在整个系统中扮演着非常重要的角色。理解 Spark 内存管理的基本原理,有助于更好地开发 Spark 应用程序和进行性能调优。 一个 Spark Application 一般… [Markdown](https://www.yidoo.xyz/spark-memory-management.md) - [Spark架构简介](https://www.yidoo.xyz/spark-architecture) (2018-07-28): Spark 架构简介 Spark 是一个 master/slave 架构的分布式系统,它的架构主要包含有 Spark Driver Spark Executor Cluster%201.png) 一个 Spark 集群一般拥有单个的 Dri… [Markdown](https://www.yidoo.xyz/spark-architecture.md) - [Java中的设计模式](https://www.yidoo.xyz/design-pattern-in-java-core-libraires) (2018-06-07): 《设计模式:可复用面向对象软件的基础》一书中提出了 24 中经典的设计模式,这些设计模式被广泛地运用于项目实战之中。这篇博客的重点并不在于讲解这些设计模式以及使用,而主要列举了在 Java Core Libraries 中间所用到的设计模式… [Markdown](https://www.yidoo.xyz/design-pattern-in-java-core-libraires.md) - [Java ClassLoader分析](https://www.yidoo.xyz/java-classload-analysis) (2017-06-10): 什么是 ClassLoader 一个 Java 程序是由若干个 class 文件组成。当程序在运行时,即会调用该程序的一个入口函数来调用系统的相关功能,而这些功能都被封装在不同的 class 文件当中,所以经常要从这个 class 文件中要… [Markdown](https://www.yidoo.xyz/java-classload-analysis.md) - [Sublime Text的Markdown写作](https://www.yidoo.xyz/setup-markdown-editor) (2015-08-29): Sublime Text是一个十分强大的文本编辑器,它支持Windows,Linux和Mac。Sublime Text在默认情况下就支持Markdown格式,本文想介绍的是如何增强Sublime Text使其更好的Markdown写作。 P… [Markdown](https://www.yidoo.xyz/setup-markdown-editor.md) - [Octopress-installation](https://www.yidoo.xyz/octopress-installation) (2014-10-30): Octopress是一个基于Jekyll静态页面生成器,多数用于Github Pages的生成。本文主要介绍Octopress在Windows以及Linux平台下的安装,本文的安装步骤基于Window 7以及Ubuntu 14.04。 Gi… [Markdown](https://www.yidoo.xyz/octopress-installation.md) - [Zookeeper源码分析-一致性协议Zab](https://www.yidoo.xyz/zab) (2014-10-22): Zookeeper 使用了一种称为 Zab(Zookeeper Atomic Broadcast)的协议作为其一致性的核心。Zab 协议是 Paxos 协议的一种变形,下面将展示一些协议的核心内容。 考虑到 Zookeeper 的主要操作数… [Markdown](https://www.yidoo.xyz/zab.md) - [Zookeeper源码分析-Zookeeper Leader选举算法](https://www.yidoo.xyz/zookeeper-leader-election) (2014-10-17): 当 Leader 崩溃或者 Leader 失去大多数的 Follower,这时候 zk 进入恢复模式,恢复模式需要重新选举出一个新的 Leader,让所有的 Server 都恢复到一个正确的状态。Zookeeper 中 Leader 的选举… [Markdown](https://www.yidoo.xyz/zookeeper-leader-election.md) - [Zookeeper源码分析-Zookeeper角色](https://www.yidoo.xyz/zookeeper-server-roles) (2014-10-17): 在 Zookeeper 集群中,主要分为三者角色,而每一个节点同时只能扮演一种角色,这三种角色分别是: Leader:接受所有 Follower 的提案请求并统一协调发起提案的投票,负责与所有的 Follower 进行内部的数据交换(同步)… [Markdown](https://www.yidoo.xyz/zookeeper-server-roles.md) - [Zookeeper源码分析-Zookeeper Server启动分析](https://www.yidoo.xyz/zookeeper-server-startup) (2014-09-21): Zookeeper Server 的启动入口为 org.apache.zookeeper.server.quorum.QuorumPeerMain。Zookeeper 的启动模式分为两种:一种为 standalone mode;另一种为 c… [Markdown](https://www.yidoo.xyz/zookeeper-server-startup.md) - [Zookeeper源码分析-数据模型](https://www.yidoo.xyz/zookeeper-data-model) (2014-09-13): 本文主要介绍 Zookeeper 的数据模型,包括 Zookeeper 的数据视图,节点类型以及节点所包含的信息。 节点 Zookeeper 的数据视图采用的是类似 Unix 的数据视图,但是并没有引入文件系统的相关概念:目录和文件,而是引… [Markdown](https://www.yidoo.xyz/zookeeper-data-model.md) - [Zookeeper源码分析-源码编译](https://www.yidoo.xyz/zookeeper-source-code-build) (2014-08-30): 源码下载 git clone https://github.com/apache/zookeeper.git 源码编译 Zookeeper 的代码构建采用的是,所以可以直接使用 ant 命令进行编译。 ant Unit Tests ant … [Markdown](https://www.yidoo.xyz/zookeeper-source-code-build.md) - [Ant 设置代理](https://www.yidoo.xyz/ant-proxy) (2014-06-11): 最简单的方式就是在 build.xml 里面加入下面代码: <setproxy proxyhost="proxy_host" proxyport="proxy_port"/> 更多细节可以… [Markdown](https://www.yidoo.xyz/ant-proxy.md) - [解决Github网站CSS无法加载问题](https://www.yidoo.xyz/resolve-github-css-cannot-be-loaded) (2014-05-09): 最近在Linux使用GoAgent+SwitchySharp下,Github无法加载CSS。 在Chrome中按下F12进行调试,重新加载页面显示如下: 由此可见,CSS无法加载的原因就在于,GoAgent无法连接到github.globa… [Markdown](https://www.yidoo.xyz/resolve-github-css-cannot-be-loaded.md) - [华丽的数据结构之SkipList](https://www.yidoo.xyz/skiplist) (2014-04-04): SkipList 介绍 SkipList(跳跃表)是一种随机化数据结构,基于并联的链表,实现简单,插入、删除、查找的复杂度均为O(logN)。 SkipList 是对有序的链表增加上附加的前进链接,增加是以随机化的方式进行的,所以在列表中的… [Markdown](https://www.yidoo.xyz/skiplist.md) - [Hadoop源代码编译](https://www.yidoo.xyz/hadoop-source-compile) (2013-11-23): Environment OS: Ubuntu 12.04 LTS Kernel Version: 3.8.0-33-generic Hadoop: 2.2.0 Pre-Compile 官方的 BUILDING.txt 给出的安装需求 安装 … [Markdown](https://www.yidoo.xyz/hadoop-source-compile.md) - [tools.jar is not in IDEA classpath 解决方法](https://www.yidoo.xyz/tools-jar-is-not-in-idea-classpath-soluation) (2013-11-23): 在 Ubuntu 中,启动 IntelliJ IDEA 时出错,错误如下: 解决方法: 修改 idea.sh 文件,添加一行在开头 JAVA_HOME=/home/killua/Dev/jdk1.7.0_45 [Markdown](https://www.yidoo.xyz/tools-jar-is-not-in-idea-classpath-soluation.md) - [浅谈Hadoop NameNode、SecondaryNameNode、CheckPoint Node和BackupNode](https://www.yidoo.xyz/hadoop-namenode-secondarynamenode-checkpointnode-backupnode) (2013-11-15): NameNode Hadoop NameNode 管理着文件系统的 Namespace,它维护着整个文件系统树(FileSystem Tree)以及文件树中所有的文件和文件夹元数据(Metadata)。 Namenode Metadata … [Markdown](https://www.yidoo.xyz/hadoop-namenode-secondarynamenode-checkpointnode-backupnode.md) - [一致性Hash算法(Consistent Hashing)](https://www.yidoo.xyz/consistent-hashing) (2013-11-08): 一致性 Hash 算法(Consistent hashing)早在 1997 年就在论文 Consistent hashing and random trees 中被提出,目前在 cache 系统中应用越来越广泛。 应用场景 假设有 N 个… [Markdown](https://www.yidoo.xyz/consistent-hashing.md) - [Apache Hive安装及配置](https://www.yidoo.xyz/apache-hive-installation) (2013-11-05): 安装前 在安装 Hive 之前,请保证已经安装了 Hadoop。Hadoop 安装参考:Hadoop 2.2.0 安装及配置 安装 Mysql 本文选用 mysql 作为 Hive 的 metastore。 sudo yum install… [Markdown](https://www.yidoo.xyz/apache-hive-installation.md) - [华丽的数据结构之Bloom Filter](https://www.yidoo.xyz/bloom-filter) (2013-11-02): Bloom Filter 简介 Bloom Filter(中文译作:布隆过滤器)是 1970 年由 Bloom 提出的。它实际上是由一个很长的二进制位数组和一系列 Hash 函数组成。 Bloom Filter 是一种空间效率很高的随机数据… [Markdown](https://www.yidoo.xyz/bloom-filter.md) - [Hadoop 2.2.0安装及配置](https://www.yidoo.xyz/hadoop-2-2-0-installation-and-configuration) (2013-10-29): Pre-installation 保证所有主机上已经安装 JDK 1.6+和 ssh。 添加主机名到/etc/hosts 修改/etc/hosts sudo vi /etc/hosts 添加 192.168.56.101 zhenlong-… [Markdown](https://www.yidoo.xyz/hadoop-2-2-0-installation-and-configuration.md) - [Hadoop 2.2.0新特性简介](https://www.yidoo.xyz/hadoop-2-2-0-new-features) (2013-10-29): 2013 年 10 月 15 日,Apache Hadoop 发布了 2.2.0 版本。这个是里程碑式的版本,它是 Hadoop 2.0 的第一个 stable 版本,它标志着 Hadoop 从此进入了 2.0 时代。 YARN YARN(… [Markdown](https://www.yidoo.xyz/hadoop-2-2-0-new-features.md) - [Hadoop Family](https://www.yidoo.xyz/hadoop-family) (2013-10-13): Hadoop 作为目前炙手可热的大数据计算平台,以其稳定性和良好的可扩展性深得业界喜爱。目前 Hadoop 发展迅速,已经形成了一个以 Hadoop 为中心的生态圈。 Apache Hadoop: 是 Apache 开源组织的一个分布式计算… [Markdown](https://www.yidoo.xyz/hadoop-family.md) - [Hive中in包含子查询](https://www.yidoo.xyz/in-the-hive-contains-a-subquery) (2013-08-10): 目前 HIVE 不支持 not in 中包含查询子句的语法,因此需要使用 left semi join 或者 left outer join 来实现这一功能。 SQL: SELECT a.key, a.value FROM a WHERE … [Markdown](https://www.yidoo.xyz/in-the-hive-contains-a-subquery.md) - [Cloudera Hadoop安装及配置](https://www.yidoo.xyz/cloudera-hadoop-installation-and-configuration) (2013-08-03): Cloudera Manager 安装 1)安装 Postgresql 具体安装及配置参见:Postgresql 安装及配置 修改 yum.conf 由于 Cloudera 的服务器在国外,网络连接较慢,经常在安装过程中包下载失败,进而导致… [Markdown](https://www.yidoo.xyz/cloudera-hadoop-installation-and-configuration.md) - [Postgresql 安装及配置](https://www.yidoo.xyz/postgresql-installation-and-configuration) (2013-07-28): 安装 sudo yum install postgresql postgresql-server 初始化数据库 service postgresql initdb 配置 postgresql.conf sudo vi /var/lib/pg… [Markdown](https://www.yidoo.xyz/postgresql-installation-and-configuration.md) - [虚拟机Host-Only网络配置](https://www.yidoo.xyz/host-only-virtual-machine-network-configuration) (2013-07-28): 主机系统:Windows 7 Professional 虚拟系统:Oracle Linux 6 虚拟机:VirtualBox 步骤: 1)开启主机网卡网络共享 2)虚拟机选择网卡 3)虚拟机内系统网卡配置 此处 Gateway:192.16… [Markdown](https://www.yidoo.xyz/host-only-virtual-machine-network-configuration.md) - [修改受保护的Word文档](https://www.yidoo.xyz/modify-protected-word-document) (2013-05-16): 1)将 Word 文档另存为 XML 格式的文件。 2)修改 XML 文件,删去 w:documentProtection 的一段标签。 3)使用 Word 打开 XML 文件,将文件再转成 Word 文件。 [Markdown](https://www.yidoo.xyz/modify-protected-word-document.md) - [Java Equals方法完美实现](https://www.yidoo.xyz/java-equals-method) (2013-05-15): Equals: Object 类中的 equals 方法用于检测一个对象是否等于另一个对象。 实现: public class MyClass { private Integer field1; private String fi… [Markdown](https://www.yidoo.xyz/java-equals-method.md) - [Unable to find vcvarsall.bat解决办法](https://www.yidoo.xyz/unable-to-find-vcvarsall-bat-solution) (2013-05-14): Windows 版的 python2.7 是由 Visual Studio 2008 生成,而本机所安装的 visual studio 不是 2008,这时候需要新建环境变 VS90COMNTOOLS,使其指向已安装 VS 版本的路径,如 … [Markdown](https://www.yidoo.xyz/unable-to-find-vcvarsall-bat-solution.md) - [Python Challenge攻略之Level 5](https://www.yidoo.xyz/python-challenge-level-5) (2013-05-12): 攻略: 在网页源码中有着这么一段话 <peakhell src="banner.p"> <!-- peak hell sounds familiar ? --></peakhell> … [Markdown](https://www.yidoo.xyz/python-challenge-level-5.md) - [Python Challenge攻略之Level 0](https://www.yidoo.xyz/python-challenge-level-0) (2013-05-09): 攻略: 计算 2 的 38 次方 代码: #!/usr/bin/env/python#coding:utf8'''Created on May 2, 2013@author: killua@url: http:… [Markdown](https://www.yidoo.xyz/python-challenge-level-0.md) - [Python Challenge攻略之Level 1](https://www.yidoo.xyz/python-challenge-level-1) (2013-05-09): 攻略: K + 2 = MO + 2 = QE + 2 = G也就是译码问题,将所有字母的ASC码加2 代码: #!/usr/bin/env/python#coding:utf8'''Created on Ma… [Markdown](https://www.yidoo.xyz/python-challenge-level-1.md) - [Python Challenge攻略之Level 2](https://www.yidoo.xyz/python-challenge-level-2) (2013-05-09): 攻略: 查看网页源代码,你就可以看到一堆字符,只要在里面找出 rare characters(出现次数最少的字符)就可以了。 代码: #!/usr/bin/env/python#coding:utf8'''Cr… [Markdown](https://www.yidoo.xyz/python-challenge-level-2.md) - [Python Challenge攻略之Level 3](https://www.yidoo.xyz/python-challenge-level-3) (2013-05-09): 攻略: 一个小写字母两边各站着三个保镖 => 也就是说一个小写字母旁边有且仅有 3 个大写字母 PS:数据在 page source 里面 代码: #!/usr/bin/env/python#coding:utf8'… [Markdown](https://www.yidoo.xyz/python-challenge-level-3.md) - [Python Challenge攻略之Level 4](https://www.yidoo.xyz/python-challenge-level-4) (2013-05-09): 攻略: 首先根据提示从 linkedlist.html 转到 linkedlist.php,进入 level4 点击图片得到链接:http://www.pythonchallenge.com/pc/def/linkedlist.php?no… [Markdown](https://www.yidoo.xyz/python-challenge-level-4.md) - [Ubuntu GoAgent: "the site security certificate is not trusted"解决办法](https://www.yidoo.xyz/ubuntu-chrome-the-sites-security-certificate-is-not-trusted) (2013-04-29): 今天在 Ubuntu 下面安装 GoAgent 遇到出现“the site"s security certificate is not trusted”的问题,根据提示发现是证书错误造成的,解决方法如下。 1)安装 libnss3… [Markdown](https://www.yidoo.xyz/ubuntu-chrome-the-sites-security-certificate-is-not-trusted.md) - [NLPIR(ICTCLAS 2013)分词工具Python封装](https://www.yidoo.xyz/nlpir-python-version) (2013-04-18): 本文只适用于 python-nlpir V1.0 版本,有关 V2.0 版本详情参照项目源代码。 python-nlpir 是 NLPIR 中文分词工具的 Python 封装,利用 SWIG 完成 C++到 python 的接口转换。 项目… [Markdown](https://www.yidoo.xyz/nlpir-python-version.md) - [基于贝叶斯推断的拼写检查](https://www.yidoo.xyz/spelling-corrector-based-on-bayesian-inference) (2013-04-14): 拼写检查 所谓拼写检查,就是在使用 Google 的时候,输入错误的时候,系统对其自动纠正,如下图所示: 目前有很多方法可以实现这样的技术,这里使用的是贝叶斯推断的方法。 贝叶斯推断 有关贝叶斯推断的相关理论和背景知识,可以参考<hr… [Markdown](https://www.yidoo.xyz/spelling-corrector-based-on-bayesian-inference.md) - [Ubuntu上PySide安装](https://www.yidoo.xyz/ubuntu-pyside-installation) (2013-04-13): PySide 是跨平台的应用程式框架 Qt 的 Python 绑定版本 。在 2009 年 8 月,PySide 首次发布。提供和 PyQt 类似的功能,并相容 API。但与 PyQt 不同处为使用 LGPL 授权。 安装命令: sudo … [Markdown](https://www.yidoo.xyz/ubuntu-pyside-installation.md) - [JVM学习笔记 垃圾回收](https://www.yidoo.xyz/jvm-garbage-collection) (2013-04-07): 判断对象是否存活 1)引用计数算法(Reference Counting) 给对象中添加一个引用计数器,每当一个地方引用它时计数器+1,;当引用失效时,计数器-1;任何时刻计数器为 0 的对象就是不可能再被使用。 举例:Python,Fla… [Markdown](https://www.yidoo.xyz/jvm-garbage-collection.md) - [【JVM学习笔记】运行时数据区域](https://www.yidoo.xyz/jvm-runtime-data-area) (2013-03-31): JVM 运行时数据区域示意图如下所示: 共享数据区域:Method Area、Heap 私有数据区域:VM Stack、Native Method Stack、Program Counter Register 1)方法区(Method Ar… [Markdown](https://www.yidoo.xyz/jvm-runtime-data-area.md) - [Java查看系统默认字符集编码](https://www.yidoo.xyz/java-view-the-system-default-character-set-encoding) (2012-12-15): public class EchoDefaultSystemEncoding{ public static void main(String[] args) { String encoding = System.getP… [Markdown](https://www.yidoo.xyz/java-view-the-system-default-character-set-encoding.md) - [hadoop-eclipse-plugin编译及安装](https://www.yidoo.xyz/hadoop-eclipse-plugin-compiled) (2012-11-25): OS: Ubunut 12.04 Hadoop: 1.0.4 JDK: OpenJDK 1.6 1.修改 hadoop/src/contrib/build-contrib.xml 在下面添加 <property name=”eclip… [Markdown](https://www.yidoo.xyz/hadoop-eclipse-plugin-compiled.md) - [Hadoop安装及部署](https://www.yidoo.xyz/hadoop-install-and-configuration) (2012-10-28): OS: Ubuntu 12.04 Hadoop: Hadoop 1.0.4 1.安装集群所需软件 sudo apt-get install install sshsudo apt-get install rsync 配置ssh免密码登录 s… [Markdown](https://www.yidoo.xyz/hadoop-install-and-configuration.md) - [ICTCLAS分词工具Python封装](https://www.yidoo.xyz/ictclas-segmentation-tool-for-python-packages) (2012-10-07): ICTCLAS(Institute of Computing Technology,Chinese Lexical Analysis System),由中国科学院计算技术研究开发,功能包括中文分词;词性标注;命名实体识别;新词识别;同时支持… [Markdown](https://www.yidoo.xyz/ictclas-segmentation-tool-for-python-packages.md) - [【IT笔试面试题整理】不用加减乘除做加法](https://www.yidoo.xyz/do-not-add-subtract-multiply-additions) (2012-10-05): 【试题描述】写一个函数,求两个整数的和,要求在函数体内不得使用加减乘除四则运算符合。 【试题来源】未知 【参考代码】 int add(int num1, int num2) { int sum; int carry; do … [Markdown](https://www.yidoo.xyz/do-not-add-subtract-multiply-additions.md) - [【IT笔试面试题整理】丑数](https://www.yidoo.xyz/number-of-ugly) (2012-10-05): 【试题描述】我们把只包含因子2、3和5的数称作丑数。求按从到大的顺序的第1500个丑数。例如6,8是丑数,而14不是,因为它包含因子7.习惯上把1当作第一个丑数。 【试题来源】未知 【参考代码】 int Min(int a, int b, … [Markdown](https://www.yidoo.xyz/number-of-ugly.md) - [【IT笔试面试题整理】二叉树中和为某一值的路径](https://www.yidoo.xyz/sum-for-a-value-in-the-binary-tree-path) (2012-10-05): 【试题描述】输入一个二叉树和一个整数,打印出二叉树中节点值的和为输入整数的所有路径。从树的根节点开始往下一直到叶节点所经过的节点形成的一条路径。 【试题来源】未知 【参考代码】 void findPath(BinaryTreeNode* r… [Markdown](https://www.yidoo.xyz/sum-for-a-value-in-the-binary-tree-path.md) - [【IT笔试面试题整理】二叉树的深度](https://www.yidoo.xyz/depth-of-a-binary-tree) (2012-10-05): 【试题描述】输入一棵二叉树的根结点,求该树的深度。从根结点到叶子结点依次经过的结点(含根、叶子节点)形成树的一条路径,最长路径的长度为树的深度。 【试题来源】未知 【参考代码】 int treeDepth(BinaryTreeNode* r… [Markdown](https://www.yidoo.xyz/depth-of-a-binary-tree.md) - [【IT笔试面试题整理】字符串的排列](https://www.yidoo.xyz/string-permutations) (2012-10-05): 【试题描述】输入一个字符串,打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab,cba。 【试题来源】未知 【参考代码】 #include <iost… [Markdown](https://www.yidoo.xyz/string-permutations.md) - [【IT笔试面试题整理】数字在排序数组中出现的次数](https://www.yidoo.xyz/occurrences-of-the-number-in-the-sorted-array) (2012-10-05): 【试题描述】统计一个数字在排序数组中出现的次数。例如输入的排序数组{1, 2, 3, 3, 3, 3, 4, 5} 和数字3,由于3在这个数组中出现了4次,因此输出4。 【试题来源】未知 【参考代码】 int GetFirstK(int a… [Markdown](https://www.yidoo.xyz/occurrences-of-the-number-in-the-sorted-array.md) - [【IT笔试面试题整理】数组中出现次数超过一半的数字](https://www.yidoo.xyz/appears-more-than-half-of-the-numbers-in-the-array) (2012-10-05): 【试题描述】数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。 【试题来源】未知 【试题分析】时间复杂度O(n),空间复杂度O(1) 【参考代码】 int findMoreThanHalf(int array[], int n)… [Markdown](https://www.yidoo.xyz/appears-more-than-half-of-the-numbers-in-the-array.md) - [【IT笔试面试题整理】最小K个数](https://www.yidoo.xyz/smallest-number-k) (2012-10-05): 【试题描述】输入n个整数,找出其中最小的k个数。 【试题来源】未知 【参考代码】 void leastKNum(int array[], int n, int k) { if(array == NULL || n < k |… [Markdown](https://www.yidoo.xyz/smallest-number-k.md) - [【IT笔试面试题整理】连续子数组的最大和](https://www.yidoo.xyz/most-of-contiguous-subarray-yamato) (2012-10-05): 【试题描述】输入一个整型数组,数组里有正数也有负数。数组中一个或连续的多个整数组成一个子数组。 求所有子数组的和的最大值。要求时间复杂度O(n)。 【试题来源】未知 【参考代码】 int findGreastestSumOfSubArray… [Markdown](https://www.yidoo.xyz/most-of-contiguous-subarray-yamato.md) - [【IT笔试面试题整理】二叉排序树的后序遍历](https://www.yidoo.xyz/binary-sort-tree-in-postorder-traversal) (2012-09-22): 【试题描述】输入一个整数数组,判断该数组是不是某二叉排序树的后序遍历结果。如果是则返回true,否则返回false。假设输入的数组的任意两个数字互不相同。 【试题来源】未知 【参考代码】 #include <iostream>u… [Markdown](https://www.yidoo.xyz/binary-sort-tree-in-postorder-traversal.md) - [【IT笔试面试题整理】二叉树镜像](https://www.yidoo.xyz/binary-tree-mirror) (2012-09-22): 【试题描述】完成一个函数,输入一个二叉树输出它的镜像。 【试题来源】未知 【参考代码】 #include <iostream>using namespace std;struct BinaryTreeNode{ int… [Markdown](https://www.yidoo.xyz/binary-tree-mirror.md) - [【IT笔试面试题整理】从上往下打印二叉树](https://www.yidoo.xyz/from-the-top-print-binary-tree) (2012-09-22): 【试题描述】从上往下打印二叉树 【试题来源】未知 【参考代码】 void printBinaryTree(const BinaryTreeNode* rootNode) { if(rootNode == NULL) { … [Markdown](https://www.yidoo.xyz/from-the-top-print-binary-tree.md) - [【IT笔试面试题整理】包含min函数的栈](https://www.yidoo.xyz/contains-the-min-functions-stack) (2012-09-22): 【试题描述】定义的数据结构,请在类型中实现一个能够得到栈的最小元素的函数。 在该栈中,调用min、push、pop的时间复杂度都是O(1)。 【试题来源】未知 【参考代码】 #include <iostream>#include… [Markdown](https://www.yidoo.xyz/contains-the-min-functions-stack.md) - [【IT笔试面试题整理】合并两个排序的链表](https://www.yidoo.xyz/merges-two-sorted-lists) (2012-09-22): 【试题描述】合并两个递增排序的链表,合并这两个链表使得新链表的节点也是按递增的顺序拍列的。 【试题来源】未知 【参考代码】 #include <iostream>using namespace std;struct ListNo… [Markdown](https://www.yidoo.xyz/merges-two-sorted-lists.md) - [【IT笔试面试题整理】栈的压入、弹出序列](https://www.yidoo.xyz/sequence-of-push-and-pop-stack) (2012-09-22): 【试题描述】输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出序列。 【试题来源】未知 【参考代码】 #include <iostream>#include <stack>using na… [Markdown](https://www.yidoo.xyz/sequence-of-push-and-pop-stack.md) - [【IT笔试面试题整理】反转链表](https://www.yidoo.xyz/reverse-link-list) (2012-09-19): 【试题描述】定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点 【试题来源】未知 【参考代码】 #include <iostream>using namespace std;struct ListNode &… [Markdown](https://www.yidoo.xyz/reverse-link-list.md) - [【IT笔试面试题整理】在O(1)时间删除链表节点](https://www.yidoo.xyz/o-1-time-to-delete-the-linked-list-nodes) (2012-09-10): 【试题描述】给定单向链表的头指针和一个节点指针,定义一个函数在O(1)时间删除该节点。 【试题来源】 未知 【试题分析】按照常规删除链表节点的方法没有办法在O(1)复杂度内完成,因此需要转换思路,将后面一个节点的内容复制过来,然后删除其后面… [Markdown](https://www.yidoo.xyz/o-1-time-to-delete-the-linked-list-nodes.md) - [【IT笔试面试题整理】调整数组顺序使得奇数位于偶数前面](https://www.yidoo.xyz/to-resize-an-array-makes-an-odd-number-in-the-order-even-before) (2012-09-10): 【试题描述】 输入一个整数数组,实现一个函数来调整该数组中数字的顺序。使得所有奇数位于数组的前半部分,所有偶数位于数组后半部分。 【试题来源】未知 【参考代码】 #include <iostream>using namespac… [Markdown](https://www.yidoo.xyz/to-resize-an-array-makes-an-odd-number-in-the-order-even-before.md) - [【IT笔试面试题整理】旋转数组的最小数字](https://www.yidoo.xyz/rotate-the-arrays-minimum-number) (2012-09-05): 【试题描述】把一个数组最开始的若干个元素搬到末尾,我们称之为数组的旋转。输入一个递增排序的数组的一个旋转,输出旋转数组的小元素。例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小元素为1. 【试题来源】未知 【参… [Markdown](https://www.yidoo.xyz/rotate-the-arrays-minimum-number.md) - [【IT笔试面试题整理】用两个栈实现队列](https://www.yidoo.xyz/implemented-using-two-stacks-queues) (2012-09-05): 【试题描述】用两个栈实现一个队列。队列声明如下,请实现它的两个函数appendTail,deleteHead,分别完成在队列尾部插入节点和在头部删除节点。 【试题来源】未知 【参考代码】 #include <iostream>#… [Markdown](https://www.yidoo.xyz/implemented-using-two-stacks-queues.md) - [C++类定义空间占用研究](https://www.yidoo.xyz/c-class-definition-space-research) (2012-09-03): 最近准备重温 C++,正好看到有关类和占用空间的问题,于是整理了下。先上代码 #include <iostream>using namespace std;//空类型,没有任何成员class ClassA {}… [Markdown](https://www.yidoo.xyz/c-class-definition-space-research.md) - [【IT笔试面试题整理】替换空格](https://www.yidoo.xyz/replace-spaces) (2012-09-03): 【试题描述】请实现一个函数,把字符串中的每个空格替换成%20。例如输入"We are happy.“,则输出"We%20are%20happy.”。(不能使用任何字符串操作函数) 【试题来源】未知 【试题分析】由于不能使… [Markdown](https://www.yidoo.xyz/replace-spaces.md) - [【IT笔试面试题整理】重建二叉树](https://www.yidoo.xyz/reconstruction-of-binary-trees) (2012-09-03): 【试题描述】输入二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设遍历结果中都不包含重复数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历{4,7,2,1,5,3,8,6},则重建出该二叉树,并以后续遍历输出。 【… [Markdown](https://www.yidoo.xyz/reconstruction-of-binary-trees.md) - [【集体智慧编程 学习笔记】统计订阅源中的单词数](https://www.yidoo.xyz/statistics-number-of-words-in-the-subscription-source) (2012-07-13): 几乎所有的博客都可以在线阅读,或者通过 RSS 订阅源进行阅读。RSS 订阅源是一个包含博客及其所有文章条目信息的简单的 XML 文档。 程序中使用了 feedparser 第三方模块,可以轻松地从任何 RSS 或 Atom 订阅源中得到标… [Markdown](https://www.yidoo.xyz/statistics-number-of-words-in-the-subscription-source.md) - [2012微软暑期实习生笔试题](https://www.yidoo.xyz/2012-summer-intern-of-microsoft-test-questions) (2012-07-04): 2012 Microsoft Intern Hiring Written Test 1. Suppose that a Selection Sort of 80 items has completed 32 iterations of th… [Markdown](https://www.yidoo.xyz/2012-summer-intern-of-microsoft-test-questions.md) - [Linux下三国杀聊天窗口乱码 解决方法](https://www.yidoo.xyz/three-killed-under-linux-chat-windows-garbled-solution) (2012-07-03): Ubuntu: sudo apt-get install ttf-arphic-uming Fedora:sudo yum install cjkuni-uming-fonts 然后打开http://web.sanguosha.com/ 测… [Markdown](https://www.yidoo.xyz/three-killed-under-linux-chat-windows-garbled-solution.md) - [【集体智慧编程 学习笔记】 协同过滤技术](https://www.yidoo.xyz/the-collective-wisdom-of-programming-study-notes-collaborative-filtering-technology) (2012-06-29): 协同过滤技术可以分为三类:基于用户(User-based)的协同过滤;基于项目(Item-based)的协同过滤;基于模型(Model-based)的协同过滤。 基于用户(User-based)的协同过滤 用相似统计的方法得到具有相似爱好或… [Markdown](https://www.yidoo.xyz/the-collective-wisdom-of-programming-study-notes-collaborative-filtering-technology.md) - [【集体智慧编程 学习笔记】 推荐系统构建](https://www.yidoo.xyz/recommender-systems-building) (2012-06-29): 本文构建了一个简单的推荐系统,使用的数据是真实的数据,叫作MovieLens,来自University of Minnesota‘s GroupLens项目组。代码以Python作为实现语言,使用版本为Python2.7。 loadMovi… [Markdown](https://www.yidoo.xyz/recommender-systems-building.md) - [【集体智慧编程 学习笔记】 Euclidean距离和Pearson相关系数](https://www.yidoo.xyz/the-euclidean-distance-and-the-pearson-correlation-coefficient) (2012-06-23): Euclidean 距离 定义:欧几里得空间中点 x = (x1,…,xn) 和 y = (y1,…,yn) 之间的距离为 两个变量之间的相关系数越高,从一个变量去预测另一个变量的精确度就越高,这是因为相关系数越高,就意味着这两个变量的共变… [Markdown](https://www.yidoo.xyz/the-euclidean-distance-and-the-pearson-correlation-coefficient.md) - [【IT笔试面试题整理】笔试和面试中常见的智力题](https://www.yidoo.xyz/common-written-examination-and-the-interview-puzzles) (2012-06-20): 【试题描述】 你让工人为你工作7天,给工人的回报是一根金条。金条平分成相连的7段,你必须在每天结束时给他们一段金条,如果只许你两次把金条弄断,你如何给你的工人付费? 分为1、2、4 三段。 Day1:给1 Day2:给2,还1 Day3:给… [Markdown](https://www.yidoo.xyz/common-written-examination-and-the-interview-puzzles.md) - [【IT笔试面试题整理】海盗分宝石](https://www.yidoo.xyz/pirate-gem) (2012-06-17): 【试题描述】 5个海盗抢到了100颗宝石,每一颗都一样的大小和价值连城。 他们决定这么分: 1.抽签决定自己的号码(1,2,3,4,5) 2.首先,由1号提出分配方案,然后大家5人进行表决,当且仅当超过半数的人同意时,按照他的提案进行分配,… [Markdown](https://www.yidoo.xyz/pirate-gem.md) - [adobe flash player设置时无法点击允许的解决方法](https://www.yidoo.xyz/adobe-flash-player-does-not-click-on-allow-solution) (2012-06-04): 解决方法 1)右键点击进行“全局设置” 2)自动进入网址:http://www.macromedia.com/support/documentation/en/flashplayer/help/settings_manager.html 3… [Markdown](https://www.yidoo.xyz/adobe-flash-player-does-not-click-on-allow-solution.md) - [Cannot retrieve metalink for repository: fedora. Please verify its path and try again 解决方法](https://www.yidoo.xyz/fedora-cannot-retrieve-metalink-for-repository-solving) (2012-06-03): 执行如下命令: su -c "sed -i 's|^#baseurl|baseurl| ; s|^mirrorlist|#mirrorlist|' /etc/yum.repos.d/*" 参考资料:h… [Markdown](https://www.yidoo.xyz/fedora-cannot-retrieve-metalink-for-repository-solving.md) - [Error importing repomd.xml for updates: Damaged repomd.xml file 解决方法](https://www.yidoo.xyz/error-importing-repomd-xml-for-updates-solving) (2012-06-03): yum 执行时出现错误:Error importing repomd.xml for updates: Damaged repomd.xml file 解决方法: 重新下载http://mirrors.sohu.com/fedora/rel… [Markdown](https://www.yidoo.xyz/error-importing-repomd-xml-for-updates-solving.md) - [Fedora 常用软件推荐](https://www.yidoo.xyz/fedora-software-recommended) (2012-06-03): 系统工具 1)安装自动选择最快镜像插件 安装插件 fastestmirror,可以让 yum 管理器自动搜索最快源下载 sudo yum -y install yum-fastestmirror 2)添加 rpmfusion 源 sudo … [Markdown](https://www.yidoo.xyz/fedora-software-recommended.md) - [JavaScript 小数取整函数](https://www.yidoo.xyz/javascript-decimal-rounding-functions) (2012-05-23): 1)Math.round(x) round() 方法可把一个数字四舍五入。 2)Math.floor(x) floor() 方法执行的是向下取整计算,它返回的是小于或等于函数参数,并且与之最接近的整数。 3)Math.ceil(x) cei… [Markdown](https://www.yidoo.xyz/javascript-decimal-rounding-functions.md) - [JavaScript 删除字符串空格](https://www.yidoo.xyz/javascript-delete-string-space) (2012-05-22): 1)删除左右两端的空格 function trim(str){return str.replace(/(^\s*)|(\s*$)/g, ""); 2) 删除左边的空格 function ltrim(str) &… [Markdown](https://www.yidoo.xyz/javascript-delete-string-space.md) - [Fedora 16 安装后配置](https://www.yidoo.xyz/fedora-16-installation-and-configuration) (2012-02-06): 安装自动选择最快镜像插件 安装插件 fastestmirror,可以让 yum 管理器自动搜索最快源下载 sudo yum -y install yum-fastestmirror 添加 rpmfusion 源 sudo yum rpm -… [Markdown](https://www.yidoo.xyz/fedora-16-installation-and-configuration.md) - [Fedora TexLive安装及中文环境配置](https://www.yidoo.xyz/the-fedora-texlive-install-and-chinese-environment-configuration) (2012-02-06): *OS:Fedora 16 TexLive Version: TexLive 2011 1)添加 rpm 源* sudo rpm -i http://jnovy.fedorapeople.org/texlive/2011/packages.… [Markdown](https://www.yidoo.xyz/the-fedora-texlive-install-and-chinese-environment-configuration.md) - [Subclipse启动出现unable to load default svn client的解决办法](https://www.yidoo.xyz/the-subclipse-start-unable-to-load-default-svn-client-the-solution) (2012-02-06): 安装SVNKit http://svnkit.com/download.php Window > Preferences, Team > SVN and change there the JavaHL client to SVN… [Markdown](https://www.yidoo.xyz/the-subclipse-start-unable-to-load-default-svn-client-the-solution.md) - [系统上未找到用于创建 RPM 包的 RPM 工具 (rpmbuild)解决方法](https://www.yidoo.xyz/was-not-found-on-the-system-used-to-create-the-rpm-package-rpm-tools-the-rpmbuild-solution) (2012-02-06): 安装 rpm-build 包 yum install rpm-build [Markdown](https://www.yidoo.xyz/was-not-found-on-the-system-used-to-create-the-rpm-package-rpm-tools-the-rpmbuild-solution.md) - [解决Fedora安装Virtualbox后无法运行](https://www.yidoo.xyz/resolve-can-not-run-after-fedora-install-virtualbox) (2012-02-06): 在 Fedora 下安装了 Virtualbox,发现运行时出现以下问题: Kernel driver not installed (rc=-1908) The VirtualBox Linux kernel driver (vboxdrv… [Markdown](https://www.yidoo.xyz/resolve-can-not-run-after-fedora-install-virtualbox.md) - [【IT笔试题面试题整理】n是一个奇数,求证n(n^2-1)能被24整除](https://www.yidoo.xyz/n-is-an-odd-prove-that-n-n-2-1-can-be-divisible-by-24) (2012-01-27): 【试题描述】 n 是一个奇数,求证 n(n^2-1)能被 24 整除 【试题来源】网易 【试题分析】 令 n=2k + 1,则 n(n^2 - 1) = (2k + 1)((2k + 1)^2 - 1) = 4k(k + 1)(2k + 1… [Markdown](https://www.yidoo.xyz/n-is-an-odd-prove-that-n-n-2-1-can-be-divisible-by-24.md) - [编辑距离算法 Levenshtein Distance](https://www.yidoo.xyz/the-levenshtein-distance-edit-distance-algorithm) (2012-01-07): 编辑距离,又称 Levenshtein 距离(也叫做 EditDistance),是指两个字串之间,由一个转成另一个所需的最少编辑操作次数,如果它们的距离越大,说明它们越是不同。许可的编辑操作包括将一个字符替换成另一个字符,插入一个字符,删… [Markdown](https://www.yidoo.xyz/the-levenshtein-distance-edit-distance-algorithm.md) - [Windows Server 2008 IIS 7.0 安装 (图解)](https://www.yidoo.xyz/windows-server-2008-iis-70-installation-diagrams) (2012-01-06): 1)点击“服务器管理器” 2)点击“角色”->“添加角色” 3)点击“下一步” 4)选中“Web 服务器(IIS)” 5)点击“添加必需的功能”,点击下一步 6)点击“下一步” 7)选中“应用程序开发”->“ASP.NET”以及… [Markdown](https://www.yidoo.xyz/windows-server-2008-iis-70-installation-diagrams.md) - [Windows Server 2008 安装(图解)](https://www.yidoo.xyz/windows-server-2008-installation-diagrams) (2012-01-05): 1)语言选择,点击“下一步” 2)点击“现在安装” 3)选择所要安装的版本,点击“下一步” 4)勾起“我接受许可条款”,点击“下一步” 5)点击“自定义(高级)” 6)选择安装位置,点击“下一步” 7)开始安装 8)首次登录需修改密码 9)… [Markdown](https://www.yidoo.xyz/windows-server-2008-installation-diagrams.md) - [【IT笔试面试题整理】有序矩阵查找值](https://www.yidoo.xyz/ordered-matrix-to-find-the-value) (2011-12-28): 【试题描述】 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。(PS:数组的不一定是n*n的矩阵) 【试题来源】未知 【试… [Markdown](https://www.yidoo.xyz/ordered-matrix-to-find-the-value.md) - [将优酷视频订阅到Google Reader的方法](https://www.yidoo.xyz/youku-video-subscribe-to-google-reader) (2011-11-27): 1 、搜索订阅 优酷中进行“视频搜索”的,如排行榜里的种种是是非非,如成龙等人的优酷,非本人视频空间,而是大量网友的上传后进行的视频搜索整合得到,都可通过复制网址订阅。 2、专辑订阅 进入专辑首页,网址里后缀中为 id_*。直接复制网址到 … [Markdown](https://www.yidoo.xyz/youku-video-subscribe-to-google-reader.md) - [ORACLE SQL 前端补“0”](https://www.yidoo.xyz/oracle-sql-front-end-complement-quot0quot) (2011-11-26): 1)LPAD 方法: SELECT LPAD(sal,8,'0') FROM 2)TO_CHAR 方法 SELECT TO_CHAR(sal,'00000000') From 3)SUBSTR 方法 … [Markdown](https://www.yidoo.xyz/oracle-sql-front-end-complement-quot0quot.md) - [Oracle查询结果自动生成序号](https://www.yidoo.xyz/oracle-query-results-automatically-generate-a-serial-number) (2011-11-26): 一般情况下,可以如下: select rownum, a from A; 但是当后面有多表关联,order by 排序的时候, select rownum, a from A,B where A.a=B.b order by A.a; ro… [Markdown](https://www.yidoo.xyz/oracle-query-results-automatically-generate-a-serial-number.md) - [PyLucene学习笔记 文件索引及检索](https://www.yidoo.xyz/pylucene-study-notes-document-indexing-and-retrieval) (2011-11-20): 一、使用 Indexer 建立文本文件索引 这里简化为对某一目录下面的所有后缀为“.py”的文件建立索引。 '''Created on 2011-11-16@author: killua@E-mail:kill… [Markdown](https://www.yidoo.xyz/pylucene-study-notes-document-indexing-and-retrieval.md) - [【IT笔试面试题整理】连翻7张日历之和为138](https://www.yidoo.xyz/lianfan-the-seven-calendar-of-138) (2011-10-17): 【试题描述】 有一名员工发现日历已经7天没有翻了,于是他连着翻了7页,7天的总和刚好是138,问这一天是几号? 【试题分析】 1)假设7天在同一个月,设第一天为X,那么应该满足等差数列之和(2X+6)*7/2 = 138,得到的X不为整数,… [Markdown](https://www.yidoo.xyz/lianfan-the-seven-calendar-of-138.md) - [【IT笔试面试题整理】由随机函数rand7构造rand10](https://www.yidoo.xyz/rand7-constructed-by-the-random-function-rand10) (2011-10-08): 【试题描述】 已知有个rand7()的函数,返回1到7随机自然数,让利用这个rand7()构造rand10()随机1~10。 【试题分析】 1)要保证rand10()在整数1-10的均匀分布,可以构造一个1-10n的均匀分布的随机整数区间(… [Markdown](https://www.yidoo.xyz/rand7-constructed-by-the-random-function-rand10.md) - [VirtualBox 虚拟机主机时间不同步设置](https://www.yidoo.xyz/virtualbox-virtual-machine-host-time-synchronization-settings) (2011-08-31): 用 dos 进入到 VirtualBox 的安装目录下,找到 VBoxManage.exe 执行: VBoxManage.exe setextradata WinXP_JP "VBoxInternal/Devices/VMMDev… [Markdown](https://www.yidoo.xyz/virtualbox-virtual-machine-host-time-synchronization-settings.md) - [Python学习笔记 OS.Path模块](https://www.yidoo.xyz/python-learning-the-notes-ospath-module) (2011-08-02): '''Created on 2011-8-3@author: Killua@E-mail:killua_hzl@163.com@Description:'''#!/usr/bin/… [Markdown](https://www.yidoo.xyz/python-learning-the-notes-ospath-module.md) - [Python学习笔记 OS模块](https://www.yidoo.xyz/python-study-notes-os-modules) (2011-08-02): '''Created on 2011-8-1@author: Killua@E-mail:killua_hzl@163.com@Description:'''#!/usr/bin/… [Markdown](https://www.yidoo.xyz/python-study-notes-os-modules.md) - [Sub 与 Function 在VB程序设计中的区别](https://www.yidoo.xyz/sub-and-function-in-the-difference-between-vb-programming) (2011-07-16): Private Sub 与 Function 在 VB 程序设计中的区别 function 是函数,sub 是子程序,都可以传递参数,但函数有返回值,子程序没有 function 可以用自身名字返回一个值,sub 需定义别的变量,用传址方式… [Markdown](https://www.yidoo.xyz/sub-and-function-in-the-difference-between-vb-programming.md) - [VB类与模块的区别](https://www.yidoo.xyz/the-difference-between-vb-classes-and-modules) (2011-07-16): 类可以实例化为对象,而模块则不能。由于模块的数据只有一个副本,因此当程序的一部分更改模块中的公共变量时,如果程序的其他任何部分随后读取该变量,都会获取同样的值。与之相反,每个实例化对象的对象数据则单独存在。 类可以被继承,也可以实现接口,模… [Markdown](https://www.yidoo.xyz/the-difference-between-vb-classes-and-modules.md) - [PyLucene安装](https://www.yidoo.xyz/pylucene-installation) (2011-05-15): 1.安装 Python sudo apt-get install pythonsudo apt-get install python-dev 2.安装 Ant sudo apt-get install ant 3.安装 setuptools… [Markdown](https://www.yidoo.xyz/pylucene-installation.md) - [【IT笔试面试题整理】二进制序列](https://www.yidoo.xyz/binary-sequence) (2011-04-16): 【试题描述】 给你一个二进制序列比如10100,进行左循环移位n 次,n是二进制序列的长度,每移位一次产生一个新二进制序列 序列1 10100 01001 10010 00101 01010 然后把这些序列进行排序,变成序列2 序列2 00… [Markdown](https://www.yidoo.xyz/binary-sequence.md) - [Ubuntu下django安装](https://www.yidoo.xyz/django-install-ubuntu) (2011-04-13): 系统版本:Ubuntu 10.10 Python 安装 sudo apt-get install python Apache 安装 sudo apt-get install apache2 mod_python 模块安装 sudo apt-… [Markdown](https://www.yidoo.xyz/django-install-ubuntu.md) - [各种内排序算法(Python实现)](https://www.yidoo.xyz/a-variety-of-sorting-algorithms-implemented-in-python) (2011-04-12): #-------------------------------------------------------------------------------# Name: Sort.py# Purpose:## Author: Kill… [Markdown](https://www.yidoo.xyz/a-variety-of-sorting-algorithms-implemented-in-python.md) - [【IT笔试面试题整理】求1+2+…+n](https://www.yidoo.xyz/add-one-to-n) (2011-04-05): 【题目描述】 求1+2+…+n 要求不能使用乘除法、for、while、if、else、switch、case 等关键字以及条件判断语句 【题目来源】未知 【题目分析】 一般求1+2+…n,是使用循环或者阶乘,这边加限制条件可以考虑用递归。… [Markdown](https://www.yidoo.xyz/add-one-to-n.md) - [Excel单元格自动变色](https://www.yidoo.xyz/automatically-change-color-of-cells-in-excel) (2011-03-27): 单击单元格,点"格式"->“条件格式” 设定条件 点"格式"->“字体”->“颜色”,选中你喜欢的颜色 点"确定"。 [Markdown](https://www.yidoo.xyz/automatically-change-color-of-cells-in-excel.md) - [【IT笔试面试题整理】连续整数之和为1000](https://www.yidoo.xyz/consecutive-integers-is-1000) (2011-03-20): 【题目描述】连续整数之和为1000可分为几组 【题目来源】Microsoft 【题目分析】 假设连续的整数之和为从n到m。那么n累加到m的和为(n+m)(m-n+1)/2=1000。 即(n+m)(m-n+1) = 2000。也就是说要将2… [Markdown](https://www.yidoo.xyz/consecutive-integers-is-1000.md) - [无法登录到Windows Live Messenger的服务,错误为80048820 解决方法](https://www.yidoo.xyz/unable-to-log-into-windows-live-messenger-service-error-80048820-solution) (2011-03-16): 变更 Internet Explorer 的安全设置: 开启Internet Explorer。 单击[工具] -> [Internet 选项],单击[高级]标签。 向下滚动到[安全]部分,确保下面的复选框设置正确: 清除[检查服务器… [Markdown](https://www.yidoo.xyz/unable-to-log-into-windows-live-messenger-service-error-80048820-solution.md) - [VS2008 下安装 AjaxControlToolkit](https://www.yidoo.xyz/install-ajaxcontroltoolkit-under-vs2008) (2011-01-23): 1)下载 AjaxControlToolkit http://ajaxcontroltoolkit.codeplex.com/releases/view/11121 建议下载 AjaxControlToolkit-Framework3.5-… [Markdown](https://www.yidoo.xyz/install-ajaxcontroltoolkit-under-vs2008.md) - [CSS控件居中](https://www.yidoo.xyz/css-control-center) (2010-12-12): 在 IE 里大家都习惯使用 text-align: center; 来把整个页面居中,然后在其包含的 DIV 里使用。而在其他的浏览器中(比如说 FireFox 和 Chrome),大家都喜欢用 margin:0 auto;height:a… [Markdown](https://www.yidoo.xyz/css-control-center.md) - [【资料整理】JavaScript中getElementsByName()和getElementById()的区别和用法](https://www.yidoo.xyz/documentation-differences-and-usage--getelementbyid--javascript-getelementsbyname) (2010-12-12): getElementsByName()定义和用法 getElementsByName() 方法可返回带有指定名称的对象的集合。 语法 document.getElementsByName(name); 该方法与 getElementById… [Markdown](https://www.yidoo.xyz/documentation-differences-and-usage--getelementbyid--javascript-getelementsbyname.md) - [【资料整理】JavaScript中isNaN 函数](https://www.yidoo.xyz/documentation-javascript-isnan-function) (2010-12-12): isNaN 函数 isNaN(expression:Object) : Boolean 计算参数,如果值为 NaN(非数字),则返回 true。此函数可用于检查一个数学表达式是否成功地计算为一个数字。 参数 expression:Objec… [Markdown](https://www.yidoo.xyz/documentation-javascript-isnan-function.md) - [java.lang.ClassNotFoundException异常处理办法](https://www.yidoo.xyz/the-javalangclassnotfoundexception-abnormal-approach) (2010-12-12): 异常:java.lang.ClassNotFoundException 引入外部数据库驱动 jar,即添加对应数据库的驱动。 [Markdown](https://www.yidoo.xyz/the-javalangclassnotfoundexception-abnormal-approach.md) - [java.sql.SQLException: Before start of result set异常及处理办法](https://www.yidoo.xyz/javasqlsqlexception-before-the-start-of-result-set-exception-approach) (2010-12-12): **异常:**java.sql.SQLException: Before start of result set **解决方法:**使用 rs.getString();前一定要加上 rs.next(); **原因:**ResultSet 对… [Markdown](https://www.yidoo.xyz/javasqlsqlexception-before-the-start-of-result-set-exception-approach.md) - [EJB开发配置](https://www.yidoo.xyz/ejb-development-configuration) (2010-11-21): 要是感觉配置麻烦的娃,就直接装装个 MyEclipse 好了,这个就不多说了。 下面的安装步骤所涉及的软件版本都是比较低的,可以换用新版本的,反正不影响效果。 一、JDK 的安装 1、下载 Java 开发工具包(JDK1.4 及以上:Jav… [Markdown](https://www.yidoo.xyz/ejb-development-configuration.md) - [机器学习 支持向量机(SVM)](https://www.yidoo.xyz/machine-learning-support-vector-machine-svm) (2010-10-22): SVM 方法的基本思想是:定义最优线性超平面,并把寻找最优线性超平面的算法归结为求解一个凸规划问题。进而基于 Mercer 核展开定理,通过非线性映射 φ,把样本空间映射到一个高维乃至于无穷维的特征空间(Hilbert 空间),使在特征空间… [Markdown](https://www.yidoo.xyz/machine-learning-support-vector-machine-svm.md) - [【IT笔试面试题整理】最大间隔问题](https://www.yidoo.xyz/the-maximum-interval) (2010-10-16): **【题目描述】**给定n个实数x1,x2,…,xn,求这n个实数在实轴上相邻2个数之间的最大差值,要求设计线性的时间算法 **【题目来源】**百度 【题目分析】 由于要求要线性时间,所以不能使用排序,于是使用了一种类似桶排序的变形 【算法… [Markdown](https://www.yidoo.xyz/the-maximum-interval.md) - [【资料整理】fixed()和setprecision()函数的用法](https://www.yidoo.xyz/fixed-and-setprecision-function-usage) (2010-10-13): 使用setprecision(n)可控制输出流显示浮点数的数字个数。C++默认的流输出数值有效位是 6。 如果setprecision(n)与setiosflags(ios::fixed)合用,可以控制小数点右边的数字个数。setiosfl… [Markdown](https://www.yidoo.xyz/fixed-and-setprecision-function-usage.md) - [微软面试题](https://www.yidoo.xyz/microsoft-interview-questions) (2010-10-12): 有一个整数数组,保存 1 到 100 个整数。然后取出任意一个数字,让你用最快的办法找到取出的是哪个数字? 答案: 5050 减去 99 个数字的和即可得出结果. PS:答案并不固定,只是本人举得老师的想法挺巧妙的,所以记录的说 [Markdown](https://www.yidoo.xyz/microsoft-interview-questions.md) - [错误:在建立与服务器的连接时出错。在连接到 SQL Server 2005 时,在默认的设置下 SQL Server 不允许进行远程连接可能会导致此失败。 (provider: SQL 网络接口, error: 26 - 定位指定的服务器/实例时出错) 解](https://www.yidoo.xyz/error-an-error-occurred-when-establishing-a-connection-to-the-server) (2010-09-28): 在建立与服务器的连接时出错。在连接到 SQL Server 2005 时,在默认的设置下 SQL Server 不允许进行远程连接可能会导致此失败。 (provider: SQL 网络接口, error: 26 - 定位指定的服务器/实例时… [Markdown](https://www.yidoo.xyz/error-an-error-occurred-when-establishing-a-connection-to-the-server.md) - [将Excel导入SQL Server](https://www.yidoo.xyz/the-excel-into-sql-server) (2010-09-28): 将 Excel 导入 SQL Server 1)外围应用配置器的设置。 从"功能外围应用配置器"中选择"启动 OPENROWSET 和 OPENDATASOURCE 支持"选项。 2) 接受数据导入的… [Markdown](https://www.yidoo.xyz/the-excel-into-sql-server.md) - [错误:[IM002] [Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序 解决方法](https://www.yidoo.xyz/error-im002-microsoft-odbc-driver-manager-did-not-find-the-data-source-name-is-not-specified-the-default-driver-solution) (2010-09-28): 错误:[IM002] [Microsoft][odbc 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序 解决方法: 在管理工具里面->点数据源 ODBC-> 系统 DSN->添加 选 SQL 然后找到你要连接的数… [Markdown](https://www.yidoo.xyz/error-im002-microsoft-odbc-driver-manager-did-not-find-the-data-source-name-is-not-specified-the-default-driver-solution.md) - [【IT笔试面试题整理】小狗试药](https://www.yidoo.xyz/dog-reagent) (2010-09-18): 【题目描述】1000瓶药水,其中至多有1瓶剧毒,现在给你10只小狗在24小时内通过小狗试药的方式找出哪瓶药有毒或者全部无毒(小狗服完药20小时后才能判断是否中毒) 【题目来源】08腾讯 【题目分析】 方法一: 将药水进行二进制编号,比如第一… [Markdown](https://www.yidoo.xyz/dog-reagent.md) - [【IT笔试面试题整理】1到N自然数排序](https://www.yidoo.xyz/the-sort-of-from-1-to-n-of-natural-numbers) (2010-09-15): 【题目描述】1到N自然数排序。要求时间复杂度为O(n),空间复杂度为O(1) 【题目来源】华为 【题目分析】 【代码】 /** 1到N自然数排序(华为面试题) 要求:时间复杂度为O(n),空间复杂度为O(1)*/#include <i… [Markdown](https://www.yidoo.xyz/the-sort-of-from-1-to-n-of-natural-numbers.md) - [【资料整理】MEF](https://www.yidoo.xyz/documentation-mef) (2010-09-04): 什么是 MEF? Managed Extensibility Framework(MEF)可以很容易的构造可扩展性的应用程序。MEF 提供了发现和组合能力,因此你可以选择来加载插件。 MEF 解决了什么问题? MEF 赠送了一种简单的在运行… [Markdown](https://www.yidoo.xyz/documentation-mef.md) - [C++头文件大全](https://www.yidoo.xyz/cpp-header-files-daquan) (2010-08-24): C & 传统 C++ #include //设定插入点#include //字符处理#include //定义错误码#include //浮点数处理#include //文件输入/输出#include //参数化输入/输出#incl… [Markdown](https://www.yidoo.xyz/cpp-header-files-daquan.md) - [Python 学习 PyQt Hello World](https://www.yidoo.xyz/python-learning-pyqt-the-hello-world) (2010-08-04): Qt 开发库是一个使用广泛的跨平台 GUI 开发库,可用于 Windows、Linux、Mac OSX 和许多手持平台。QT 具有良好结构化(但灵活)的面向对象的结构、清晰的文档以及直观的 API。自 Trolltech 公司被 Nokia… [Markdown](https://www.yidoo.xyz/python-learning-pyqt-the-hello-world.md) - [Python学习 多线程编程 生产者-消费者问题](https://www.yidoo.xyz/python-learning-multithreaded-programming-producer-consumer-problem) (2010-08-04): 生产者-消费者问题是系统进程里面的一个经典问题,这里用 Python 简单模拟一下。 #!/usr/bin/env python#生产者-消费者问题import threadingfrom random import randintfrom… [Markdown](https://www.yidoo.xyz/python-learning-multithreaded-programming-producer-consumer-problem.md) - [Python学习 文件遍历](https://www.yidoo.xyz/python-learning-file-traversal) (2010-08-04): Python 的文件遍历主要使用的 os 这个模块,这里为了方便显示同时使用了一个图形化的库 Tkinter。Tkinter 是 Python 自带的一个 GUI 开发库,虽然没有 PyQt 或 wxPython 那么强大,但是基本的使用绝… [Markdown](https://www.yidoo.xyz/python-learning-file-traversal.md) - [Python学习 猜数字游戏](https://www.yidoo.xyz/python-learning-the-number-guessing-game) (2010-08-04): 这里的程序并不复杂,下面主要对随机数据的生成部分进行分析 def randNumGen(self) : numStr = '0123456789' randNum = '' for i in rang… [Markdown](https://www.yidoo.xyz/python-learning-the-number-guessing-game.md) - [Python学习 网络编程(二) UDP连接](https://www.yidoo.xyz/python-learning-network-programming-b-of-the-udp-connection) (2010-08-04): 这里定义了一个 UDPServer 和 UDPClient。这里创建一个 TCP 服务程序,服务器会把客户发送过来的字符串加上一个时间戳,然后显示,并返回客户端。 UDPServer.py #!/usr/bin/env pythonfrom… [Markdown](https://www.yidoo.xyz/python-learning-network-programming-b-of-the-udp-connection.md) - [Python学习 网络编程(五) FTP连接](https://www.yidoo.xyz/python-learning-network-programming-5-ftp-connection) (2010-08-04): Python 里面的 FTP 连接,主要依赖 ftplib 这个模块,具体请看帮助文档。 #!/usr/bin/env python#FTP下载程序import ftplibimport osimport socketHOST = … [Markdown](https://www.yidoo.xyz/python-learning-network-programming-5-ftp-connection.md) - [Python学习 网络编程(六) 网络爬虫](https://www.yidoo.xyz/python-learning-network-programming-6-web-crawler) (2010-08-04): 所谓的网络爬虫就是利用程序抓取想要的网页或者数据。 下面对程序中所使用模块进行简单分析: 网络方面涉及 Python 的三个模块 htmllib,urllib,urlparse。 1)htmllib这个模块定义了一个可以担当在超文本标记语言… [Markdown](https://www.yidoo.xyz/python-learning-network-programming-6-web-crawler.md) - [Python学习 随机数据生成器](https://www.yidoo.xyz/learning-random-data-generator-in-python) (2010-08-04): 这里主要使用了一个 random 随机模块中的 randint 和 choice。Python 的随机模块还是很强大的。 #!/usr/bin/env python#随机数据生成from random import randint,choi… [Markdown](https://www.yidoo.xyz/learning-random-data-generator-in-python.md) - [Python学习 面向对象编程](https://www.yidoo.xyz/python-learning-object-oriented-programming) (2010-08-04): 这里自行定义了一个 MyTime 的类,继承于系统类 object。在 Python 里面默认的情况的下都要继承于这个类。类里面对init,str,add,iadd函数进行了重载。其实严格上讲不能叫重载,因为 Python 不支持重载,确切… [Markdown](https://www.yidoo.xyz/python-learning-object-oriented-programming.md) - [Python学习 面向对象编程(二) 随机序列迭代器](https://www.yidoo.xyz/learning-python-object-oriented-programming-b-random-sequence-iterator) (2010-08-04): 这里代码很简单,实现了一个随机序列迭代器 #!/usr/bin/env python#随机迭代器from random import choiceclass RandSeqIterator(object) : def __init__(se… [Markdown](https://www.yidoo.xyz/learning-python-object-oriented-programming-b-random-sequence-iterator.md) - [Python学习 网络编程(一) TCP连接](https://www.yidoo.xyz/python-learning-network-programming-a-tcp-connection) (2010-08-04): 这里定义了一个 TCPServer 和 TCPClient。这里创建一个 TCP 服务程序,服务器会把客户发送过来的字符串加上一个时间戳,然后显示,并返回客户端。主要后面无论如何都要记得 close()关上连接,虽然基本上不会执行那一句。 … [Markdown](https://www.yidoo.xyz/python-learning-network-programming-a-tcp-connection.md) - [Python学习 网络编程(三) NNTP连接](https://www.yidoo.xyz/python-learning-network-programming-c-the-nntp-connection) (2010-08-04): NNTP 连接主要是用在新闻组的消息上面,下面的代码演示了 NNTP 连接的建立,不过显然下面的那个新闻组客户端程序是不能用的。 #!/usr/bin/env python#新闻组客户端程序import nntplibimport sock… [Markdown](https://www.yidoo.xyz/python-learning-network-programming-c-the-nntp-connection.md) - [Python学习 网络编程(四) E-Mail](https://www.yidoo.xyz/python-learning-network-programming-d-e-mail) (2010-08-04): E-Mail 的收发涉及到 STMP 和 POP3 两个协议。下面的代码演示了 STMP 和 POP3 连接的建立 #!/usr/bin/env python#E-Mail客户端from smtplib import SMTPfrom po… [Markdown](https://www.yidoo.xyz/python-learning-network-programming-d-e-mail.md) - [PyQt 使用Qt Designer ui文件](https://www.yidoo.xyz/pyqt-with-qt-designer-ui-files) (2010-07-31): 首先用 Qt Designer 创建窗体后,保存为 form.ui 然后再 cmd 中输入 pyuic4 -o ui_form.py form.ui 之后对应目录下生成 ui_form.py 的文件 附上 pyuic4 的帮助 NAME p… [Markdown](https://www.yidoo.xyz/pyqt-with-qt-designer-ui-files.md) - [C# 学习笔记之 Hello World](https://www.yidoo.xyz/c-to-learn-the-notes-of-the-hello-world) (2010-07-06): 晚上无聊看了点 C#,随便写了个 Hello World 做纪念 using System;namespace MyNamespace{ class MyClass { static void Main() {… [Markdown](https://www.yidoo.xyz/c-to-learn-the-notes-of-the-hello-world.md) - [Python核心编程 练习 第六章](https://www.yidoo.xyz/core-python-programming-exercise-chapter-vi) (2010-05-30): #!/usr/bin/env python#-*- coding:utf-8 -*-#6&ndash;2. 字符串标识符.修改例6-1 的idcheck.py 脚本,使之可以检测长度为一的标识符,并且#可以识别Python 关键字,… [Markdown](https://www.yidoo.xyz/core-python-programming-exercise-chapter-vi.md) - [Ubuntu 下安装ibus日语输入法](https://www.yidoo.xyz/ubuntu-install-ibus-japanese-input-method) (2010-05-27): ibus 是一个很强大的输入,现在主要用于手机和 Linux 平台上。 下面是 ibus 日语输入法 ibus-anthy 的安装方法 sudo apt-get install ibus-anthy 然后在 ibus 的首选项里面添加日语-… [Markdown](https://www.yidoo.xyz/ubuntu-install-ibus-japanese-input-method.md) - [Ubuntu 天书棋谈 AI增强方法](https://www.yidoo.xyz/ubuntu-bible-chess-talk-ai-enhancement-method) (2010-05-26): 本人一直感觉天书棋谈这个游戏很2,感觉电脑很是弱智。今天把一个增强库装了以后,一把都没赢过…悲剧了 增强库安装方法如下: sudo apt-get install libeval0-dev [Markdown](https://www.yidoo.xyz/ubuntu-bible-chess-talk-ai-enhancement-method.md) - [使用Google的Https加密搜索的简单方法](https://www.yidoo.xyz/the-simplest-way-to-use-google-the-https-encrypted-search) (2010-05-21): https://www.google.com/ncr 然后在 https://www.google.com/ ncr 加在后面就不会自动跳转了… [Markdown](https://www.yidoo.xyz/the-simplest-way-to-use-google-the-https-encrypted-search.md) - [Python核心编程 练习 第五章](https://www.yidoo.xyz/core-python-programming-exercise-chapter) (2010-05-18): 下面的代码是这两天看 Python 核心编程的时候做的部分课后练习 #!/usr/bin/env python# -*- coding: utf-8 -*-#5-2 运算符#(a) 写一个函数,计算并返回两个数的乘积#(b) 写一段代码调用… [Markdown](https://www.yidoo.xyz/core-python-programming-exercise-chapter.md) - [Qt编程技巧 多个信号连接一个槽](https://www.yidoo.xyz/qt-programming-skills-multiple-signals-connected-to-a-slot) (2010-05-14): 多个signals连接一个slot的时候,可以使用QObject::sender()函数进行读取所产生的对象,之后只要加一个强制类型转换就ok了 实例如下: 连接部分: connect(ui->button0, SIGNAL(clic… [Markdown](https://www.yidoo.xyz/qt-programming-skills-multiple-signals-connected-to-a-slot.md) - [Python中int()函数的用法](https://www.yidoo.xyz/the-use-of-python-int-function) (2010-05-10): int()是 Python 的一个内部函数 Python 系统帮助里面是这么说的 >>> help(int)Help on class int in module __builtin__:class int(object)… [Markdown](https://www.yidoo.xyz/the-use-of-python-int-function.md) - [Python学习笔记之二 文本文件合并](https://www.yidoo.xyz/python-learning-the-notes-text-file-merge) (2010-05-08): 今天写的这个文本文件合并,基本上是把昨天写的那个两个脚本合并起来了,详见代码 #!/usr/bin/env python# -*- coding: utf-8 -*-'mergeTextFile--用于合并两个文本文件'… [Markdown](https://www.yidoo.xyz/python-learning-the-notes-text-file-merge.md) - [Python学习笔记之一 文本文件的创建与显示](https://www.yidoo.xyz/python-learning-the-notes-one-text-file-to-create-and-display) (2010-05-07): 这个程序主要可以实现创建一个文本文件 makeTextFile.py #!/usr/bin/env python# -*- coding: utf-8 -*-'makeTextFile.py--创建一个文本文件'impo… [Markdown](https://www.yidoo.xyz/python-learning-the-notes-one-text-file-to-create-and-display.md) - [Python核心编程 练习 第二章](https://www.yidoo.xyz/core-python-programming-exercise-chapter-ii) (2010-05-02): #2-2启动交互解释器,使用Python对两个数值(任意类型)进行加、减、乘、除运算。然后使用取余运算符来#得到两个数相除的余数, 最后使用乘方运算符求A 数的B 次方。#!/usr/bin/pythona = 8b = 5print &#… [Markdown](https://www.yidoo.xyz/core-python-programming-exercise-chapter-ii.md) - [Python学习笔记之零](https://www.yidoo.xyz/python-learning-the-notes-of-the-zero) (2010-04-27): 今天终于拿出 Python 核心编程开始学习 Python,一切语言都是由 helloworld 开始的,下面这个就是 Python 版本的 print 'Hello World!' 这语法…要多简单有多简单,要多暴力有… [Markdown](https://www.yidoo.xyz/python-learning-the-notes-of-the-zero.md) - [Windows下Eric4安装](https://www.yidoo.xyz/under-windows-eric4-installation) (2010-04-27): 1)安装 Python Python 下载地址: http://www.python.org/download/ 下载 Python 2.6.5 Windows installer 2)PyQt 安装 pyqt 下载地址:http://ww… [Markdown](https://www.yidoo.xyz/under-windows-eric4-installation.md) - [关于Qt 程序Release后不能找到输入点的问题解决](https://www.yidoo.xyz/problem-solving-can-not-find-entry-point-in-the-qt-application-release) (2010-04-18): 程序在 Qt Creator 的 Release 下运行得好好的,可是一拿出来就不行了,之后我也拷了相应的库还是不行,加了环境变量也不行。提示说:程序找不到输入点 XXX QtCore4.dll。 解决方法: 库是肯定要拷的,关键是考哪个库… [Markdown](https://www.yidoo.xyz/problem-solving-can-not-find-entry-point-in-the-qt-application-release.md) - [PHP Hello World](https://www.yidoo.xyz/php-hello-world) (2010-04-12): <html><head><title>Test for PHP</title></head><body><?php echo "<h1>He… [Markdown](https://www.yidoo.xyz/php-hello-world.md) - [Ubuntu LAMP环境搭建](https://www.yidoo.xyz/ubuntu-the-lamp-environment-to-build) (2010-04-11): 安装 Apache sudo apt-get install apache2 安装 PHP5 sudo apt-get install php5 安装 MySQL sudo apt-get install mysql-server mysq… [Markdown](https://www.yidoo.xyz/ubuntu-the-lamp-environment-to-build.md) - [C++读取本地时间,用数码形式输出](https://www.yidoo.xyz/cpp-reads-the-local-time-in-digital-form-output) (2010-03-07): 这个要是用 Qt 或者 MFC 等图形库估计很容易就实现了,可是用字符界面还是很麻烦的,具体看代码 #include <iostream>#include <string>#include <ctime>… [Markdown](https://www.yidoo.xyz/cpp-reads-the-local-time-in-digital-form-output.md) - [Qt编程技巧 Qt 国际化](https://www.yidoo.xyz/qt-programming-skills-qt-internationalization) (2010-03-07): 1)首先要修改 XX.pro 工程文件,加入一句 TRANSLATIONS += XXX.ts 2)然后在终端中运行 lupdate XX.pro 生成 ts 文件 3)然后用 Qt Linguist 翻译 4)Qt Linguist 里面… [Markdown](https://www.yidoo.xyz/qt-programming-skills-qt-internationalization.md) - [【IT笔试面试题整理】查找问题苹果](https://www.yidoo.xyz/find-the-problem-apple) (2010-03-06): 【试题描述】 问题:10个苹果,有一个苹果有问题,可能轻可能重,用三次找到问题苹果 **【试题来源】**未知 【试题分析】 先分组3 3 4,设第一组为A,第二组为B,第三组为C,然后拿3和3放天枰上 if (A ==B) { 问题苹果在C… [Markdown](https://www.yidoo.xyz/find-the-problem-apple.md) - [构造函数与析构函数研究](https://www.yidoo.xyz/constructor-and-destructor) (2010-03-05): 首先先贴代码 #include <iostream>using namespace std;class A{public: A() { cout << "class A is const… [Markdown](https://www.yidoo.xyz/constructor-and-destructor.md) - [Qt编程技巧 QTextBrowser显示文件内容](https://www.yidoo.xyz/qt-programming-skills-qtextbrowser-display-the-contents-of-the-file) (2010-02-19): QTextBrowser是一个文本显示类,功能还是很强大的 下面的代码简单的实现了,QTextBrowser显示文本 QFile file("file.html");if(!file.open(QFile::ReadOn… [Markdown](https://www.yidoo.xyz/qt-programming-skills-qtextbrowser-display-the-contents-of-the-file.md) - [Ubuntu 9.10安装sopcast](https://www.yidoo.xyz/ubuntu-910-install-sopcast) (2010-02-14): 用下面命令安装Sopcast播放器的PPA. sudo add-apt-repository ppa:jason-scheunemann/ppa 更新源列表 sudo apt-get update 用下面的命令安装Sopcast播放器 su… [Markdown](https://www.yidoo.xyz/ubuntu-910-install-sopcast.md) - [Qt编程技巧 右键菜单](https://www.yidoo.xyz/qt-programming-skills-right-click-menu) (2010-02-03): QMenu *menu = new QMenu(tr("Right Contex Menu"),this);menu->setStyleSheet("background-color : normal&q… [Markdown](https://www.yidoo.xyz/qt-programming-skills-right-click-menu.md) - [Qt编程技巧 窗口置顶](https://www.yidoo.xyz/top-of-qt-programming-skills-window) (2010-02-03): 一般来是说窗体置顶和取消只要 setWindowFlags(Qt::WindowStaysOnTopHint); setWindowFlags(Qt::Widget); 要是开始不设置这个,后面要再设置就不可以了所以要加以改进,可以先 hi… [Markdown](https://www.yidoo.xyz/top-of-qt-programming-skills-window.md) - [Qt编程技巧 系统托盘设置](https://www.yidoo.xyz/qt-programming-skills-system-tray-set) (2010-02-03): trayIcon = new QSystemTrayIcon(this); //系统托盘 trayMenu = new QMenu(this); //托盘菜单trayMenu->addAction(Action1);......tra… [Markdown](https://www.yidoo.xyz/qt-programming-skills-system-tray-set.md) - [Qt编程技巧 菜单栏多选项问题](https://www.yidoo.xyz/qt-programming-skills-menu-bar-options) (2010-02-03): 菜单多选有两种,一种是单选,一种是多选 多选简单,只要将 Action,setCheckable(true) 单选的话,也要将 Action,setCheckable(true),之后还要建立一个 QActionGroup,将 Action… [Markdown](https://www.yidoo.xyz/qt-programming-skills-menu-bar-options.md) - [mplayer [ao_alsa] unable to find simple control pcm , 0问题解决](https://www.yidoo.xyz/mplayer-ao-alsa-unable-to-find-simple-control-pcm-0-solve-the-problem) (2010-02-03): mplayer问题 [ao_alsa] unable to find simple control pcm , 0 播放器->右键->Preferences->Audio->Normalize Sound、 Enab… [Markdown](https://www.yidoo.xyz/mplayer-ao-alsa-unable-to-find-simple-control-pcm-0-solve-the-problem.md) - [使用wget递归下载某目录下的所有文件](https://www.yidoo.xyz/using-wget-to-download-all-the-files-in-a-directory-recursively) (2010-02-03): wget -c -r -nd -np -k -L -p -A c,h www.xxx.org/path/ -c 断点续传 -r 递归下载,下载指定网页某一目录下(包括子目录)的所有文件 -nd 递归下载时不创建一层一层的目录,把所有的文件下… [Markdown](https://www.yidoo.xyz/using-wget-to-download-all-the-files-in-a-directory-recursively.md) - [我的第一个MFC程序...](https://www.yidoo.xyz/my-first-mfc-program) (2010-02-01): #include <windows.h>LRESULT CALLBACK WinProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam){ switch(uMsg… [Markdown](https://www.yidoo.xyz/my-first-mfc-program.md) - [mplayer slave 模式文档翻译](https://www.yidoo.xyz/mplayer-slave-mode-document-translation) (2010-01-21): slave模式协议 在关于slave模式,MPlayer为后台运行其他程序。不再截获键盘事件,MPlayer会从标准输入读一个换行符(/n)分隔开的命令。 要动手尝试slave模式,运行 mplayer -slave -quiet 并在控制… [Markdown](https://www.yidoo.xyz/mplayer-slave-mode-document-translation.md) - [Qt编程技巧 窗口关闭时释放内存](https://www.yidoo.xyz/qt-programming-skills-to-free-memory-when-the-window-is-closed) (2010-01-19): 当用户关闭也窗口时,其默认行为是隐藏,所以还会保留在内存中,解决方法是在构造函数中加入这个一句 setAttribute(Qt::WA_DeleteOnClose); Qt::WA_DeleteOnClose属性是可以在QWidget上进行… [Markdown](https://www.yidoo.xyz/qt-programming-skills-to-free-memory-when-the-window-is-closed.md) - [Qt编程技巧 Q_OBJECT宏的作用](https://www.yidoo.xyz/the-role-of-qt-programming-skills-q-object-macro) (2010-01-18): 对于所有定义了 signal 和 slot 的类,在类定义的开始处都要加上 Q_OBJECT 宏 PS:复习备忘… [Markdown](https://www.yidoo.xyz/the-role-of-qt-programming-skills-q-object-macro.md) - [grub2 配置](https://www.yidoo.xyz/grub2-configuration) (2010-01-18): 最近 Ubuntu 内核老是升级,搞得启动项茫茫多,现在修改下 grub2 的配置,顺便发个配置方法 #grub2默认的是只读的,要修改的话,执行这个命令sudo chmod +w /boot/grub/grub.cfg 加上写的权限# A… [Markdown](https://www.yidoo.xyz/grub2-configuration.md) - [ubuntu 开机自动开启数字小键盘](https://www.yidoo.xyz/ubuntu-boot-automatically-turn-on-the-numeric-keypad) (2009-12-08): 首先,需要安装一个小软件,在终端中执行以下: sudo apt-get install numlockx 然后编辑: sudo gedit /etc/gdm/Init/Default 把下面的内容添加到最后那行的前面,("exit… [Markdown](https://www.yidoo.xyz/ubuntu-boot-automatically-turn-on-the-numeric-keypad.md) - [Ubuntu 9.10 Qt程序字体问题](https://www.yidoo.xyz/ubuntu-910-qt-program-fonts) (2009-11-27): 最近升级到 Ubuntu 9.10 感觉不是那个好用,最新的文件系统果然快了好多,但是,感觉跟程序的兼容性不是那么好,哎… 升级后的系统 Qt 程序字体变得好抽象,怎么看也不舒服…orz 解决方案:在终端中打入 qtconfig 命令,要是… [Markdown](https://www.yidoo.xyz/ubuntu-910-qt-program-fonts.md) - [Qt出错信息”Basic XLib functionality test failed!”解决](https://www.yidoo.xyz/qt-error-message-quotbasic-xlib-functionality-test-failedquot-to-solve) (2009-11-18): 缺少了 libX11 的开发库 解决方案:sudo apt-get install libX11-dev libXext-dev libXtst-dev [Markdown](https://www.yidoo.xyz/qt-error-message-quotbasic-xlib-functionality-test-failedquot-to-solve.md) - [Qt Embedded 开发环境搭建](https://www.yidoo.xyz/qt-embedded-development-environment-to-build) (2009-11-05): 具体步骤与说明: 下载源码包 qt-x11-opensource-src-4.5.3.tar.bz2 qt-embedded-linux-opensource-src-4.5.3.tar.bz2 2.编译及安装 qt-x11-opensou… [Markdown](https://www.yidoo.xyz/qt-embedded-development-environment-to-build.md) - [Qt编程技巧 QFileDialog自动添文件后缀的方法](https://www.yidoo.xyz/qt-programming-skills-the-qfiledialog-automatically-add-the-file-suffix) (2009-10-25): QString filename;filename = QFileDialog::getSaveFileName(this, tr("保存图片"),QDir::currentPath(), tr("Images… [Markdown](https://www.yidoo.xyz/qt-programming-skills-the-qfiledialog-automatically-add-the-file-suffix.md) - [Qt编程技巧 QLCDNumber与QSpinBox链接](https://www.yidoo.xyz/qt-programming-skills-qlcdnumber-and-qspinbox-link) (2009-10-25): connect(spinBox, SIGNAL(valueChanged(QString)), lcdNumber, SLOT(display(QString))); [Markdown](https://www.yidoo.xyz/qt-programming-skills-qlcdnumber-and-qspinbox-link.md) - [Qt编程技巧 Qt图片翻转](https://www.yidoo.xyz/qt-programming-skills-qt-image-rotation) (2009-10-25): /** 水平翻转 */void ImageViewer::horFilp(){ image = image.mirrored(true, false); imageLabel->setPixmap(QPixmap::from… [Markdown](https://www.yidoo.xyz/qt-programming-skills-qt-image-rotation.md) - [Qt编程技巧 Qt资源文件模板](https://www.yidoo.xyz/qt-programming-skills-qt-resource-file-template) (2009-10-25): <RCC> <qresource prefix="/" > <file>XXXX.XXX</file> <file>XXXX.XXX</file> … [Markdown](https://www.yidoo.xyz/qt-programming-skills-qt-resource-file-template.md) - [Qt编程技巧 Qt随机数的产生](https://www.yidoo.xyz/qt-programming-skills-qt-random-number-generation) (2009-10-25): 首先调用函数 qsrand(QTime(0,0,0).secsTo(QTime::currentTime())); 产生一个进程, 然后调用函数 n = qrand(); n就是所差生的随机数 [Markdown](https://www.yidoo.xyz/qt-programming-skills-qt-random-number-generation.md) - [Qt编程技巧 延时](https://www.yidoo.xyz/qt-programming-skills-delay) (2009-10-25): 延时可以使用这个函数 void QTimer::singleShot ( int msec, QObject * receiver, const char * member ) [static] Example: #include <… [Markdown](https://www.yidoo.xyz/qt-programming-skills-delay.md) - [Qt编程技巧 程序中文乱码解决](https://www.yidoo.xyz/chinese-garbled-solve-qt-programming-skills-program) (2009-10-25): 加上这两句,修改程序的编码方式 QTextCodec::setCodecForCStrings(QTextCodec::codecForLocale());QTextCodec::setCodecForTr(QTextCodec::code… [Markdown](https://www.yidoo.xyz/chinese-garbled-solve-qt-programming-skills-program.md) - [Qt编程技巧 窗体居中显示](https://www.yidoo.xyz/qt-programming-skills-form-center) (2009-10-25): this->resize(150,150); //窗体大小//窗体居中 QDesktopWidget* desktop = QApplication::desktop();int width = desktop->width()… [Markdown](https://www.yidoo.xyz/qt-programming-skills-form-center.md) - [Qt编程技巧 设置Widget窗口的按钮(最大化,最小化,关闭)](https://www.yidoo.xyz/qt-programming-skills-to-set-the-widget-window-buttons-maximize-minimize-close) (2009-10-25): setWindowFlags方法 Qt::WindowMinimizeButtonHintQt::WindowMaximizeButtonHintQt::WindowCloseButtonHint [Markdown](https://www.yidoo.xyz/qt-programming-skills-to-set-the-widget-window-buttons-maximize-minimize-close.md) - [Qt编程技巧 返回文件列表](https://www.yidoo.xyz/qt-programming-skills-to-return-to-the-list-of-files) (2009-10-25): QStringList QDir::entryList ( Filters filters = NoFilter, SortFlags sort = NoSort ) const 实例: QString path = QFileInfo(f… [Markdown](https://www.yidoo.xyz/qt-programming-skills-to-return-to-the-list-of-files.md) - [微软的面试题及答案(09.10.22)](https://www.yidoo.xyz/microsoft-interview-questions-and-answers-091022) (2009-10-21): 第一组 1.烧一根不均匀的绳,从头烧到尾总共需要1个小时。现在有若干条材质相同的绳子,问如何用烧绳的方法来计时一个小时十五分钟呢? 2.你有一桶果冻,其中有黄色、绿色、红色三种,闭上眼睛抓取同种颜色的两个。抓取多少个就可以确定你肯定有两个同… [Markdown](https://www.yidoo.xyz/microsoft-interview-questions-and-answers-091022.md) - [Firefox占用CPU、内存太高解决办法](https://www.yidoo.xyz/firefox-cpu--memory-is-too-high-solution) (2009-10-05): CPU 解决: 首先解决 CPU 占用率高,打开网页停顿的问题。 很简单,在"工具"/“选项”/"内容"里,找到"启用 Java"这一项,去掉前面的勾,然后确认,重启即可解决问题 … [Markdown](https://www.yidoo.xyz/firefox-cpu--memory-is-too-high-solution.md) - [Ubuntu 下安装Prism](https://www.yidoo.xyz/ubuntu-install-prism) (2009-10-05): Prism 的前身就是我们先前所介绍的 WebRunner。WebRunner 现在已经是 Mozilla Labs 中的一个项目,并更名成了 Prism。Prism 支持直接为 Web 应用程序创建快捷方式,允许 Web 应用程序处理特定… [Markdown](https://www.yidoo.xyz/ubuntu-install-prism.md) - [shell学习笔记四 循环](https://www.yidoo.xyz/shell-study-notes-four-cycle) (2009-09-26): shell 常见的循环语句有 for 循环、while 循环、until 循环 for 循环 语法:for 变量 in 列表 do 操作 done 注:变量是要在循环内部用来指代当前所指代的列表中的那个对象的。 列表是在 for 循环的内部… [Markdown](https://www.yidoo.xyz/shell-study-notes-four-cycle.md) - [shell学习笔记三 分支结构](https://www.yidoo.xyz/shell-study-notes-three-branch-structure) (2009-09-25): 分支结构主要是 if…else 和 case 这两种,下面用简单的练习代码说明下好了 #!/bin/shecho "Input two number A and B"read Aread Becho "A=$A… [Markdown](https://www.yidoo.xyz/shell-study-notes-three-branch-structure.md) - [shell学习笔记二 参数和环境变量](https://www.yidoo.xyz/shell-study-notes-two-parameters-and-environment-variables) (2009-09-25): 这次要学习一下,参数和环境变量 #!/bin/shecho "The program's name is $0"echo "The first parameter is $1"echo &q… [Markdown](https://www.yidoo.xyz/shell-study-notes-two-parameters-and-environment-variables.md) - [shell学习笔记一 变量](https://www.yidoo.xyz/shell-study-notes-a-variable) (2009-09-24): 虽然知道 shell 好久,今天才开始好好学习 shell,鄙视下自己,下面都是练习代码写得不好大牛不要鄙视阿… #!/bin/shvar="Hello World"echo $varecho "$var&qu… [Markdown](https://www.yidoo.xyz/shell-study-notes-a-variable.md) - [firefox 在线收藏夹](https://www.yidoo.xyz/firefox-line-favorites) (2009-09-15): 今天 csdn 的个人空间升级了,恭喜下… firefox 的在线收藏问题,其实就是一个插件http://download.xmarks.com/download/all 貌似这个插件还支持,IE 和 Safari 什么时候支持下 chro… [Markdown](https://www.yidoo.xyz/firefox-line-favorites.md) - [QT学习笔记之十八 Threads Qt多线程练习](https://www.yidoo.xyz/qt-study-notes-by-18-threads-the-qt-multi-threaded-practice) (2009-08-04): 多线程这个部分看得晕晕的… 随便搞了段代码… =================================================================== 部分代码如下: threads.h #ifndef THR… [Markdown](https://www.yidoo.xyz/qt-study-notes-by-18-threads-the-qt-multi-threaded-practice.md) - [Firefox搭配Multiget下载工具](https://www.yidoo.xyz/firefox-with-multiget-download-tool) (2009-08-03): Multiget 安装 sudo apt-get install multiget 把 Multiget 和 Firefox 连接起来的方法很简单,通过 Flashgot 插件完成 打开 Flashgot 选项,点击"常规&quo… [Markdown](https://www.yidoo.xyz/firefox-with-multiget-download-tool.md) - [ThunderBird配置](https://www.yidoo.xyz/thunderbird-configuration) (2009-08-03): thunderbird邮件提醒设置 如果你使用 Ubuntu 9.04,给 ThunderBird 安装Mozilla Notification Extensions就可以让它使用 LibNotify 新通知系统 下载地址:https://… [Markdown](https://www.yidoo.xyz/thunderbird-configuration.md) - [Ubuntu 添加开机启动程序](https://www.yidoo.xyz/ubuntu-to-add-the-boot-process) (2009-08-03): 方法一:添加命令到rc.local 方法二:系统->首选项->启动程序(会话) Ubuntu 运行程序不用密码的方法,其实就是修改权限 sudo chmod 4577 XXX [Markdown](https://www.yidoo.xyz/ubuntu-to-add-the-boot-process.md) - [QtSql:没有该文件或目录 解决方案](https://www.yidoo.xyz/the-qtsql-no-such-file-or-directory-solutions) (2009-07-30): 显然 include 是没错的,可是怎么也找不到这个文件,程序编译不过… 解决方案如下: 在 XXX.pro 文件中添加一行 QT += sql 就可以了,这个方法还可以用再其他场合…要是找不到什么头文件可以考虑试试 [Markdown](https://www.yidoo.xyz/the-qtsql-no-such-file-or-directory-solutions.md) - [QT学习笔记之十七 StudentManage](https://www.yidoo.xyz/qt-study-notes-of-seventeen-studentmanage) (2009-07-28): 这里利用 Qt4+MySQL 做一个简单的例子 不会连接 MySQL 的,参考这里:http://blog.csdn.net/killua_hzl/archive/2009/07/29/4391956.aspx 代码如下: studentm… [Markdown](https://www.yidoo.xyz/qt-study-notes-of-seventeen-studentmanage.md) - [QT学习笔记之十五 BooleanParser 基于Qt4的逻辑表达式分析工具](https://www.yidoo.xyz/the-qt-learning-the-notes-of-15-booleanparser-logical-expression-analysis-tool-based-on-qt439s) (2009-07-28): 貌似好久没写了,最近比较忙的说,这个主要练习 Model 的设计,部分代码是参考别人的,大牛们不要鄙视啊… 源码最后附上。 部分核心代码如下: booleanmodel.h #ifndef BOOLEANMODEL_H#define BOO… [Markdown](https://www.yidoo.xyz/the-qt-learning-the-notes-of-15-booleanparser-logical-expression-analysis-tool-based-on-qt439s.md) - [QT学习笔记之十六 ImageSpaceCompute](https://www.yidoo.xyz/qt-study-notes-of-sixteen-imagespacecompute) (2009-07-28): 这个软件用于计算文件夹中图片所占空间大小 程序很短,直接看代码吧 main.cpp #include <QtGui>#include <iostream>#include <string>/** 计算文件… [Markdown](https://www.yidoo.xyz/qt-study-notes-of-sixteen-imagespacecompute.md) - [用Qt4 连接MySQL](https://www.yidoo.xyz/connection-with-qt4-mysql) (2009-07-28): 最近学习 Qt4 的数据库编程方面,早上安装了下 MySQL,这里写 Qt4 连接 MySQL 的方法 首先,自己先去建立一个数据库名为,DB_Name 然后,自己可以尝试下连接,利用 mysql-admin 是个很好用的工具,保证数据连接… [Markdown](https://www.yidoo.xyz/connection-with-qt4-mysql.md) - [QT学习笔记之十一 SymbolPicker](https://www.yidoo.xyz/qt-study-notes-the-eleven-symbolpicker) (2009-07-17): 最近太忙了,都没怎么看 Qt 鄙视下自己… 不说了,放代码 symbolpicker.h #ifndef SYMBOLPICKER_H#define SYMBOLPICKER_H#include <QtGui/QDialog>#… [Markdown](https://www.yidoo.xyz/qt-study-notes-the-eleven-symbolpicker.md) - [QT学习笔记之十三 DirectoryViewer](https://www.yidoo.xyz/qt-study-notes-of-13-directoryviewer) (2009-07-17): 这个还是练习项视图,用于浏览目录,可以添加新文件夹和删除文件或文件夹 directoryviewer.h #ifndef DIRECTORYVIEWER_H#define DIRECTORYVIEWER_H#include <QtGu… [Markdown](https://www.yidoo.xyz/qt-study-notes-of-13-directoryviewer.md) - [QT学习笔记之十二 ListViewer](https://www.yidoo.xyz/qt-study-notes-of-12-listviewer) (2009-07-17): 这个主要练习项视图的显示并设置了 insert 和 delete 功能 listviewer.h #ifndef LISTVIEWER_H#define LISTVIEWER_H#include <QtGui/QDialog>c… [Markdown](https://www.yidoo.xyz/qt-study-notes-of-12-listviewer.md) - [QT学习笔记之十四 StringMatch](https://www.yidoo.xyz/qt-study-notes-of-fourteen-stringmatch) (2009-07-17): 用于正则表达式,通配符,完整匹配三种方式 stringmatch.h #ifndef STRINGMATCH_H#define STRINGMATCH_H#include <QtGui/QDialog>class QComboB… [Markdown](https://www.yidoo.xyz/qt-study-notes-of-fourteen-stringmatch.md) - [Qt4程序中文乱码解决方案](https://www.yidoo.xyz/qt4-program-chinese-garbled-solution) (2009-07-17): 这个主要是编码的问题,我用的 Ubuntu,貌似 XP 就没有这个问题,蛮发下… 只要在程序种加上这两句: QTextCodec::setCodecForCStrings(QTextCodec::codecForLocale()); QTe… [Markdown](https://www.yidoo.xyz/qt4-program-chinese-garbled-solution.md) - [MDI Editor 部分功能修正](https://www.yidoo.xyz/mdi-editor-part-of-the-function-of-correction) (2009-07-09): 今天晚上突然想到,前几天写那个 MDI Editor 少了拖拽功能支持,这里补充一下… 主要是对 Editor 类进行补充 在 editor.h 添加 //拖放void dragEnterEvent(QDragEnterEvent *eve… [Markdown](https://www.yidoo.xyz/mdi-editor-part-of-the-function-of-correction.md) - [重装xp后恢复wubi安装的Ubuntu启动菜单](https://www.yidoo.xyz/reinstall-xp-restore-wubi-installation-of-ubuntu-boot-menu) (2009-07-06): 1,把 ubuntu->winboot 文件夹下 wubidr 和 wubidr.mbr 两个文件拷到 C 盘根目录下 2,打开 boot.ini 文件,添加 c:/wubildr.mbf= “Ubuntu”,保存修改 PS:boot… [Markdown](https://www.yidoo.xyz/reinstall-xp-restore-wubi-installation-of-ubuntu-boot-menu.md) - [Ubuntu安装飞信](https://www.yidoo.xyz/ubuntu-installation-fetion) (2009-07-05): 下载地址:http://www.libfetion.cn/Linux_demoapp_download.html 如果不能运行安装依赖 sudo apt-get install libcurl3sudo apt-get install au… [Markdown](https://www.yidoo.xyz/ubuntu-installation-fetion.md) - [单片机a51汇编 Vim语法脚本](https://www.yidoo.xyz/the-microcontroller-a51-compile-vim-syntax-scripts) (2009-07-05): 这个脚本以前就写好了,一直没有时间放上来,由于没有学过 Vim 的脚本语法,可能写得有点 ws,大牛们不要鄙视啊… 不过这个脚本依然存在 bug,就是跳转指令后面的标号不能高亮,这个应该是正则表达式的问题,由于没学过,自己看了资料还是没办法… [Markdown](https://www.yidoo.xyz/the-microcontroller-a51-compile-vim-syntax-scripts.md) - [QT学习笔记之十一 Timer](https://www.yidoo.xyz/qt-study-notes-the-eleven-timer) (2009-07-04): 系统:Ubuntu 9.04 Qt 版本:4.5.1 开发工具:Qt Creator 1.1 该软件,主要实现一个定时器的功能,最多可以定时一个小时,界面有点丑,大家不要鄙视阿… 部分代码如下: timer.h #ifndef TIMER_… [Markdown](https://www.yidoo.xyz/qt-study-notes-the-eleven-timer.md) - [QT学习笔记之九 SpliterEditor](https://www.yidoo.xyz/qt-study-notes-the-nine-splitereditor) (2009-07-02): 没话说…直接贴代码 splitereditor.h #ifndef SPLITEREDITOR_H#define SPLITEREDITOR_H#include <QtGui/QWidget>class QSplitter;cl… [Markdown](https://www.yidoo.xyz/qt-study-notes-the-nine-splitereditor.md) - [QT学习笔记之十 Ticker](https://www.yidoo.xyz/qt-study-notes-of-ten-ticker) (2009-07-02): 无聊学习着… 写一个 Ticker,练习下事件触发 部分代码如下: ticker.h #ifndef TICKER_H#define TICKER_H#include <QtGui/QWidget>namespace Ui… [Markdown](https://www.yidoo.xyz/qt-study-notes-of-ten-ticker.md) - [QT学习笔记之八 MDIEditor](https://www.yidoo.xyz/qt-study-notes-eight-mdieditor) (2009-07-01): 这个程序由于期末考试搁置很久了,下午由于下大雨没出去,就把他完成了哈…主要实现多文档编辑功能,测试了下,基本上没有 bug,由于整体设计思路参考书上的,大牛们不要 BS 我阿… 等下次有时间将他改成简易的代码编辑器好了,貌似国外网站上有相关… [Markdown](https://www.yidoo.xyz/qt-study-notes-eight-mdieditor.md) - [scim,ibus,fcitx我忍不住有话要说......](https://www.yidoo.xyz/of-scim-ibus-fcitx-i-could-not-help-but-have-something-to-say-) (2009-06-10): 这三种输入法是Linux平台下,相当知名的的输入法,本人也都用过,这里就用过后的一点经验分享下……. 一般默认都是安装scim,scim就像MS的智能ABC一样,够用而不好用…我是一上来都把它给删了,不然貌似其他输入法很难启动了。不过sci… [Markdown](https://www.yidoo.xyz/of-scim-ibus-fcitx-i-could-not-help-but-have-something-to-say-.md) - [wine中文乱码的解决方法](https://www.yidoo.xyz/the-solution-of-the-wine-chinese-garbled) (2009-06-02): 操作系统:Ubuntu 9.04 sudo gedit ~/.wine/system.reg搜索: LogPixels找到的行应该是:[System//CurrentControlSet//Hardware Profiles//Curren… [Markdown](https://www.yidoo.xyz/the-solution-of-the-wine-chinese-garbled.md) - [QT学习笔记之七 FindFileDialog](https://www.yidoo.xyz/qt-study-notes-the-seven-findfiledialog) (2009-05-28): 好久没写,最近东搞搞西搞搞都没怎么看 Qt,惭愧… 这里主要练习 Qt 控件的布局问题,用了三种布局方式写了个 FindFile 操作系统:Ubuntu 9.04 Qt 版本:4.5 FindFile1 #ifndef FINDFILE_H… [Markdown](https://www.yidoo.xyz/qt-study-notes-the-seven-findfiledialog.md) - [VirtualBox的数据空间使用方法,解决客户机和主机共享问题](https://www.yidoo.xyz/virtualbox39s-data-space-using-the-method-to-solve-the-problems-of-the-client-and-host-sharing) (2009-05-28): 启动虚拟windows xp安装VirtualBox Guest Addition。在你点击了设备菜单下面的安装增强功能后进入虚拟机系统去把光驱里面的软件安装好吧。 点击设备菜单下面的分配数据空间,添加你需要共享的文件夹路径 .进入你的虚拟… [Markdown](https://www.yidoo.xyz/virtualbox39s-data-space-using-the-method-to-solve-the-problems-of-the-client-and-host-sharing.md) - [Ubuntu 安装ibus](https://www.yidoo.xyz/ubuntu-install-ibus) (2009-05-26): 1.添加 ibus 源 加入:deb http://ppa.launchpad.net/ibus-dev/ppa/ubuntu jaunty main 这个源即可 sudo apt-get update 更新一下。 然后安装 ibus su… [Markdown](https://www.yidoo.xyz/ubuntu-install-ibus.md) - [Amarok安装及配置](https://www.yidoo.xyz/amarok-installation-and-configuration) (2009-05-21): 安装 sudo apt-get install amarok 中文界面 如果安装的 Amarok 是显示英文菜单,需要安装 KDE 的中文包才能显示中文菜单。 sudo apt-get install language-pack-kde-z… [Markdown](https://www.yidoo.xyz/amarok-installation-and-configuration.md) - [Java安装及配置](https://www.yidoo.xyz/java-installation-and-configuration) (2009-05-21): 系统:Ubuntu 9.04 Java 版本:java 6 安装 jre sudo apt-get install sun-java6-jre 如果空间富裕,建议安装一个 JDK。 sudo apt-get install sun-java… [Markdown](https://www.yidoo.xyz/java-installation-and-configuration.md) - [Ubuntu 下SMplayer安装与配置](https://www.yidoo.xyz/ubuntu-the-next-smplayer-installation-and-configuration) (2009-05-21): 安装 sudo apt-get install smplayer 中文设置 options -> preferences -> interface -> language-zh_CN [Markdown](https://www.yidoo.xyz/ubuntu-the-next-smplayer-installation-and-configuration.md) - [Ubuntu 多媒体应用环境设置](https://www.yidoo.xyz/ubuntu-multimedia-applications-environment-settings) (2009-05-21): 加入 Medibuntu 源 sudo wget http://www.medibuntu.org/sources.list.d/jaunty.list -O /etc/apt/sources.list.d/medibuntu.listsu… [Markdown](https://www.yidoo.xyz/ubuntu-multimedia-applications-environment-settings.md) - [Ubuntu 终端设置小技巧](https://www.yidoo.xyz/ubuntu-terminal-settings-tips) (2009-05-21): 把终端加到右键菜单: sudo apt-get install nautilus-open-terminal 以root权限打开文件夹 sudo apt-get install nautilus-gksu [Markdown](https://www.yidoo.xyz/ubuntu-terminal-settings-tips.md) - [Ubuntu 软件包备份与清理](https://www.yidoo.xyz/backup-and-clean-up-of-the-ubuntu-package) (2009-05-21): 备份 sudo tar cizvf backup.tar.gz /var/cache/apt/archives --exclude=/var/cache/apt/archives/partial/* --exclude=/var/cache… [Markdown](https://www.yidoo.xyz/backup-and-clean-up-of-the-ubuntu-package.md) - [Ubuntu下 mp3信息乱码问题解决](https://www.yidoo.xyz/mp3-information-garbled-problem-solving-in-ubuntu) (2009-05-21): 系统:Ubuntu 9.04 方案一: 需要有软件包 mid3iconv sudo apt-get install python-mutagen 进入 mp3 目录在终端输入 mid3iconv -e GBK *.mp3mid3iconv … [Markdown](https://www.yidoo.xyz/mp3-information-garbled-problem-solving-in-ubuntu.md) - [Ubuntu下Qt Creator安装](https://www.yidoo.xyz/ubuntu-under-the-qt-creator-installation) (2009-05-21): 首先先去官网下载一个 qt-sdk-linux-x86-opensource,然后安装 配置 Qt4 开发环境 sudo apt-get install libqt4-dev qt4-designer qt4-doc [Markdown](https://www.yidoo.xyz/ubuntu-under-the-qt-creator-installation.md) - [Ubuntu安装中文支持](https://www.yidoo.xyz/ubuntu-install-chinese-support) (2009-05-21): 系统:Ubuntu 9.04 安装中文环境 系统-> 系统管理 -> 语言支持 或者 sudo apt-get install xpdf-chinese-simplified xpdf-chinese-traditional p… [Markdown](https://www.yidoo.xyz/ubuntu-install-chinese-support.md) - [firefox配置](https://www.yidoo.xyz/firefox-configuration) (2009-05-21): 系统:Ubuntu 9.04 浏览器:Firefox 3 加速 DNS 解析 地址栏中输入:about:config 忽略警告 在页面最上部的 Filter(过滤器)中输入:network.dns.disableIPv6 页面自动刷新显示。… [Markdown](https://www.yidoo.xyz/firefox-configuration.md) - [Ubuntu 9.04 wubi安装](https://www.yidoo.xyz/ubuntu-904-wubi-installation) (2009-05-20): 本来是将硬盘分成两块,然后装双系统的。可是最近grub老师挂掉,然后就又要修复xp的启动实在太麻烦了 所以改用wubi来装,可是安装的过程中出现一直停留在creating the virual disks那里,无法进行下去。 解决方法如下:… [Markdown](https://www.yidoo.xyz/ubuntu-904-wubi-installation.md) - [解决Qt Creator No valid Qt version set. Set one in Tools/Options 问题](https://www.yidoo.xyz/solve-the-qt-creator-no-valid-qt-version-the-set-set-one-in-to-the-tools--options) (2009-05-18): 安装完以后编译 Qt 程序出现错误: No valid Qt version set. Set one in Tools/Options 查看 Tools/Options 重装也是这样的…. 解决方案如下: 安装时关闭杀毒软件,我用的是 K… [Markdown](https://www.yidoo.xyz/solve-the-qt-creator-no-valid-qt-version-the-set-set-one-in-to-the-tools--options.md) - [ubuntu 9.04 gedit/VIM 打开文本乱码问题](https://www.yidoo.xyz/ubuntu-904-the-gedit--the-vim-to-open-a-text-garbled) (2009-05-16): 在终端中运行 gconf-editor 在apps->gedit-2->preferences->encodings在右边的auto-detected中双击会弹出一个对话框添加一个GB18030。 然后把GB18030移动到最上… [Markdown](https://www.yidoo.xyz/ubuntu-904-the-gedit--the-vim-to-open-a-text-garbled.md) - [Firefox 双击关闭标签栏插件](https://www.yidoo.xyz/firefox-double-click-to-close-tab-bar-plug) (2009-05-13): 咱习惯用遨游了,所以习惯双击标签栏,firefox 默认是没有这个功能的,需要一个插件, 下载插件:Tab Mix Plus 首选项-> 鼠标点击 -> 双击左键 设置如下: 标签页上:关闭标签页 标签栏上:打开新标签页 或者 … [Markdown](https://www.yidoo.xyz/firefox-double-click-to-close-tab-bar-plug.md) - [QT学习笔记之六 IconEditor](https://www.yidoo.xyz/qt-study-notes-six-iconeditor) (2009-04-30): 这次写了一个简单的 Icon 编辑器,功能很简单的说…详见代码 ================================================================= iconeditor.h #ifndef I… [Markdown](https://www.yidoo.xyz/qt-study-notes-six-iconeditor.md) - [QT学习笔记之五 HexSpinBox](https://www.yidoo.xyz/qt-study-notes-five-hexspinbox) (2009-04-27): 这个程序主要为了,练习自定义 Qt 窗体部件,HexSpinBox 实现了一个 16 进制的 SpinBox,所以只要重载 SpinBox 就可以了…详见代码 ========================================… [Markdown](https://www.yidoo.xyz/qt-study-notes-five-hexspinbox.md) - [QT学习笔记之四 Sort](https://www.yidoo.xyz/qt-study-notes-the-four-sort) (2009-04-14): 这几次主要练习 Qt Designer 的设计,所以就做了对话框,没有去做具体的实现,以后有空再写吧….哇哈哈 主要代码如下: sortdialog.h #ifndef SORTDAILOG_H#define SORTDAILOG_H#in… [Markdown](https://www.yidoo.xyz/qt-study-notes-the-four-sort.md) - [QT学习笔记之三 GoToCell](https://www.yidoo.xyz/qt-study-notes-three-gotocell) (2009-04-13): 先用 Qt Designer 设计,窗体的基本框架,然后进行编译 ,以下是相关代码: gotocell.h #ifndef GOTOCELL_H#define GOTOCELL_H#include <QtGui/QDialog>… [Markdown](https://www.yidoo.xyz/qt-study-notes-three-gotocell.md) - [QT学习笔记之一 Age](https://www.yidoo.xyz/qt-study-notes-the-two-finddialog) (2009-04-11): 主要学习简单的 Wdiget 的添加问题… main.cpp #include <QtGui/QApplication>#include<QSpinBox>#include<QSlider>#includ… [Markdown](https://www.yidoo.xyz/qt-study-notes-the-two-finddialog.md) - [QT学习笔记之二 FindDialog](https://www.yidoo.xyz/qt-study-notes-the-zero-hello-world) (2009-04-11): 创建一个 FindDialog,功能还没有添加…以后再搞吧 代码: findDialog.h #ifndef FINDDIALOG_H#define FINDDIALOG_H#include <QtGui/QDialog>#in… [Markdown](https://www.yidoo.xyz/qt-study-notes-the-zero-hello-world.md) - [QT学习笔记之零 Hello World](https://www.yidoo.xyz/qt-study-notes-one-of-the-age) (2009-04-11): 之所以从零开始,这个也是 C++的习惯吧,第一个 QT 程序啊,纪念一下,还是经典的 Hello World main.cpp #include <QtGui/QApplication>#include<QLabel>… [Markdown](https://www.yidoo.xyz/qt-study-notes-one-of-the-age.md) - [matlab自动关闭问题解决](https://www.yidoo.xyz/matlab-turn-off-automatically-solve-the-problem) (2009-03-10): 这是由于 AMD 的 CPU 的问题,貌似 Intel 的没有这个问题,只要在系统的环境变量中添加对 AMD 支持就可以了. 1、右击我的电脑,选择属性. 2、在"高级"选项卡中点击"环境变量" 3、… [Markdown](https://www.yidoo.xyz/matlab-turn-off-automatically-solve-the-problem.md) - [windows下netbeans 6.5 C/C++的配置](https://www.yidoo.xyz/windows-under-netbeans-65-c-cpp-configuration) (2009-02-25): (1)首先下载最新版本的 netbeans6.5,下载后选择全部安装,还要下载一个 C++编译器.我们选择 Cygwin. (2)Cygwin 配置如下 1.运行 setup.exe 程序。接受缺省设置,直至转入 “Select Your … [Markdown](https://www.yidoo.xyz/windows-under-netbeans-65-c-cpp-configuration.md) - [解决netbeans 安装乱码问题](https://www.yidoo.xyz/address-netbeans-installation-garbled) (2009-02-12): 测试环境:Ubuntu 8.10 软件:Netbeans 6.5 在 Linux 操作系统中安装 netbeans 中文版出现了乱码,显示为一些方框。 这个问题不是 netbeans 的问题而是 JDK 的中文显示出了问题… 解决方法是把/… [Markdown](https://www.yidoo.xyz/address-netbeans-installation-garbled.md) - [IES4Linux安装](https://www.yidoo.xyz/ies4linux-installation) (2008-12-16): 1)添加源:sudo gedit /etc/apt/sources.list,增加 deb http://us.archive.ubuntu.com/ubuntu edgy universedeb http://wine.budgetded… [Markdown](https://www.yidoo.xyz/ies4linux-installation.md) - [Ubuntu 解决flash方块字问题](https://www.yidoo.xyz/ubuntu-solve-the-problem-of-flash-chinese-character) (2008-12-15): sudo cp /etc/fonts/conf.d/49-sansserif.conf /etc/fonts/conf.d/49-sansserif.conf_bak (备份)sudo gedit /etc/fonts/conf.d/49-… [Markdown](https://www.yidoo.xyz/ubuntu-solve-the-problem-of-flash-chinese-character.md) - [fctix安装及美化](https://www.yidoo.xyz/linux-can-not-be-restarted-solution) (2008-12-10): 字体安装: 文泉驿点阵宋体 sudo aptitude install xfonts-wqy 文泉驿正黑体 sudo aptitude install ttf-wqy-zenhei 安装 fcitx sudo apt-get install… [Markdown](https://www.yidoo.xyz/linux-can-not-be-restarted-solution.md) - [linux 不能重启解决办法](https://www.yidoo.xyz/fctix-installation-and-landscaping) (2008-12-10): 今天我搞输入法,后来突然发现系统不能重启了。。。。重启就变成注销,然后输入命令 reboot 也提示说没有这个命令。 解决办法如下: 去网上下一个:sysvinit 包,然后安装,因为 reboot 命令依耐这个包。。ORZ [Markdown](https://www.yidoo.xyz/fctix-installation-and-landscaping.md) - [右键复制下载解析迅雷协议的地址脚本](https://www.yidoo.xyz/right-to-copy-the-download-resolve-thunder-agreement-address-script) (2008-12-01): 需要 xsel、zenity 和 base64 sudo apt-get install xselsudo apt-get install aelsudo apt-get install zenitysudo apt-get install… [Markdown](https://www.yidoo.xyz/right-to-copy-the-download-resolve-thunder-agreement-address-script.md) - [破解vmware与锐捷冲突](https://www.yidoo.xyz/crack-vmware-and-ruijie-conflict) (2008-11-27): 用 UltraEdit 打开锐捷的 8021x.exe 将60EA00006A06替换为60EAFFFF6A06 这个就 OK 了。。。。O(∩_∩)O [Markdown](https://www.yidoo.xyz/crack-vmware-and-ruijie-conflict.md) - [Linux 安装google-gadgets](https://www.yidoo.xyz/linux-install-google-gadgets-that) (2008-11-26): 我的系统是 Ubuntu8.04 的 安装方法: 编辑源文件: sudo gedit /etc/apt/sources.list 加入下面两行: deb http://ppa.launchpad.net/googlegadgets/ubun… [Markdown](https://www.yidoo.xyz/linux-install-google-gadgets-that.md) - [Ubtuntu 8.04回收站清空不了解决方案](https://www.yidoo.xyz/804-ubtuntu-empty-the-recycle-bin-can-not-solve-the-program) (2008-11-26): 这条命令可以用来清空回收站的东西。。 sudo rm -fr $HOME/.local/share/Trash/files/* [Markdown](https://www.yidoo.xyz/804-ubtuntu-empty-the-recycle-bin-can-not-solve-the-program.md) - [Linux netbeans C++头文件找不到解决办法](https://www.yidoo.xyz/ubuntu-804-netbeans-c---header-files-can-not-find-a-solution) (2008-11-23): 有些时候装完 netbeans,当你写完一个程序的时候,发现 IDE 提示说“找不到 XXX.h” 解决办法如下: 工具 -》 选项 -》 C/C++ -》 C++编译器 -》 添加 -》/usr/include/c++/4.2.4(你的可… [Markdown](https://www.yidoo.xyz/ubuntu-804-netbeans-c---header-files-can-not-find-a-solution.md) - [Ubuntu 8.04安装OpenOffice 3.0](https://www.yidoo.xyz/ubuntu-804-install-openoffice-30) (2008-11-21): 先去OpenOffice网站下载一个OOo_3.0.0_LinuxIntel_install_zh-cn_deb.tar.gz 进入DEBS文件夹,执行 sudo dpkg -i *.deb sudo apt-get autoremove … [Markdown](https://www.yidoo.xyz/ubuntu-804-install-openoffice-30.md) - [Ubuntu 8.04耳机有杂音解决办法](https://www.yidoo.xyz/ubuntu-804-headphones-noise-solution) (2008-11-21): 最近也不知道怎么搞的,耳机里面有杂音。。。好囧。 后来把声卡驱动搞了又搞也没用,后来发现貌似是声音设置有问题。。 解决办法如下: 双击左上的喇叭按钮,打开声音控制; 选择首选项,在弹出的窗口中把所有选项都选上; 关闭Front Mic、Fo… [Markdown](https://www.yidoo.xyz/ubuntu-804-headphones-noise-solution.md) - [J2ME作业,手机用户管理系统](https://www.yidoo.xyz/j2me-operations-management-system-for-mobile-phone-users) (2008-11-19): 又是个作业。。当时搞到两天多。。有个问题一直没解决。。得 YOYO 大牛指点。顿悟。。 定义一个 User 类,保存用户字段。 import java.util.Date;public class User { private S… [Markdown](https://www.yidoo.xyz/j2me-operations-management-system-for-mobile-phone-users.md) - [我的第二个J2ME程序,手机备忘录](https://www.yidoo.xyz/my-second-procedures-for-j2me-mobile-phone-memorandum-of-understanding) (2008-11-14): 中兴实训的第一个作业,一个简单的手机备忘录。。 由于没学过 JAVA,所以写得十分的 ws,大牛勿鄙。。。。 作业题目:制作一个备忘录要求(用 TextBox 进行信息录入,长度限定为 50 个汉字,录入完毕后将信息保存到内存中,保存后跳转… [Markdown](https://www.yidoo.xyz/my-second-procedures-for-j2me-mobile-phone-memorandum-of-understanding.md) - [Ubuntu 8.04配置J2ME问题解决](https://www.yidoo.xyz/ubuntu-804-configuration-j2me-solve-the-problem) (2008-11-12): 装完Eclipse +WTK2.5.2后运行j2me程序发现编译错误,如下 Exception in thread “AWT-EventQueue-0″ java.lang.NullPointerException at com.sun.j… [Markdown](https://www.yidoo.xyz/ubuntu-804-configuration-j2me-solve-the-problem.md) - [Ubuntu下安装网络电视sopcast](https://www.yidoo.xyz/ubuntu-install-internet-tv-sopcast) (2008-11-04): 下载地址:http://forum.ubuntu.org.cn/download/file.php?id=28580 首先需要到“配置”页,把“频道地址”改为”http://channel.sopcast.com/gchlxml,把”播放器… [Markdown](https://www.yidoo.xyz/ubuntu-install-internet-tv-sopcast.md) - [编译Mysql时configure: error: No curses/termcap library found 的错误解决方法](https://www.yidoo.xyz/configure-error-no-the-curses-the-termcap-the-library-found-error-when-compile-mysql-solution) (2008-11-01): OS:Ubuntu 8.04 在编译 Mysql 时 sudo ./configure 如果出现了以下错误: checking for tgetent in -ltermcap… no checking for termcap functi… [Markdown](https://www.yidoo.xyz/configure-error-no-the-curses-the-termcap-the-library-found-error-when-compile-mysql-solution.md) - [Ubuntu 8.04安装锐捷客户端xrgsu](https://www.yidoo.xyz/ubuntu-804-installation-ruijie-client-xrgsu) (2008-10-31): myxrgsu程序下载地址 http://forum.ubuntu.org.cn/download.php?id=16889 libpcap-0.6.2下载地址 http://forum.ubuntu.org.cn/download.php… [Markdown](https://www.yidoo.xyz/ubuntu-804-installation-ruijie-client-xrgsu.md) - [在Linux中安装QQ2008](https://www.yidoo.xyz/linux-installation-qq2008) (2008-10-31): 第一步,安装wine, sudo apt-get install wine 第三步,下载以下文件:mfc42.dll,msvcp60.dll,riched20.dll,riched32.dll 然后拷贝到 /home/killua/.win… [Markdown](https://www.yidoo.xyz/linux-installation-qq2008.md) - [解决Ubuntu 播放器中乱码问题](https://www.yidoo.xyz/to-solve-the-garbage-problem-in-ubuntu-player) (2008-10-31): Linux 系统:Ubuntu 8.04 播放器:Amarok 第一步:先安装 python-mtagen 输入: sudo apt-get install python-mtagen 第二步:修改 mid3iconv 输入:sudo ge… [Markdown](https://www.yidoo.xyz/to-solve-the-garbage-problem-in-ubuntu-player.md) ## Optional - [全部文章全文](https://www.yidoo.xyz/llms-full.txt) - [RSS](https://www.yidoo.xyz/rss.xml) - [Sitemap](https://www.yidoo.xyz/sitemap.xml)