<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Articles on 赵裕的博客</title>
    <link>https://vimerzhao.top/articles/</link>
    <description>Recent content in Articles on 赵裕的博客</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>zh-cn</language>
    <lastBuildDate>Mon, 03 Aug 2026 11:24:16 +0800</lastBuildDate>
    <atom:link href="https://vimerzhao.top/articles/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>IMA 笔记中 Markdown 图片引用的两条隐含规则</title>
      <link>https://vimerzhao.top/articles/ima-markdown-image-reference-rules/</link>
      <pubDate>Mon, 03 Aug 2026 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/ima-markdown-image-reference-rules/</guid>
      <description>write by ai 起因：一篇明明有图却一张也显示不出来的笔记 我在 IMA 的“外部阅读”知识库中保存了一篇带有大量配图的 Markdown 笔记。原始文件的目录结构很简单：Markdown 文件和 assets/ 文件夹位于同一目录，图片通过标准的相对路径</description>
    </item>
    <item>
      <title>从一次 OOPIF Touch Bug 到 Chromium 合入：我的首次上游协作复盘</title>
      <link>https://vimerzhao.top/articles/2026-first-chromium-contribution-oopif-touch/</link>
      <pubDate>Thu, 30 Jul 2026 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2026-first-chromium-contribution-oopif-touch/</guid>
      <description>&lt;blockquote&gt;&#xA;&lt;p&gt;write by ai&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;这是一次完整的 Chromium 上游贡献记录：从一个跨 OOPIF 的触摸模拟问题开始，经过可复现 demo、Chromium Bug、Gerrit 评审、坐标契约重构、CQ 验证，最后由提交队列自动合入 &lt;code&gt;main&lt;/code&gt;。最终 CL 是 &lt;a href=&#34;https://chromium-review.googlesource.com/c/chromium/src/+/8128317&#34;&gt;Fix injected touch coordinates for OOPIF touch emulation&lt;/a&gt;，上游提交是 &lt;a href=&#34;https://chromium.googlesource.com/chromium/src/+/ec8beb01845b094c40f503eea848a0a7c7d4843c&#34;&gt;&lt;code&gt;ec8beb01845b094c40f503eea848a0a7c7d4843c&lt;/code&gt;&lt;/a&gt;。&lt;/p&gt;&#xA;&lt;p&gt;它不是“写完代码、发一个 PR”就结束的过程。对我而言，更重要的收获是：上游协作的核心并不是说服 reviewer 接受一个补丁，而是共同把问题的边界、可复现证据和设计契约解释清楚。&lt;/p&gt;</description>
    </item>
    <item>
      <title>初探OpenClaw</title>
      <link>https://vimerzhao.top/articles/2026-first-research-on-openclaw/</link>
      <pubDate>Sun, 22 Mar 2026 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2026-first-research-on-openclaw/</guid>
      <description>本文纯手打，如有AI生成内容，会予以标注 前一篇文章还在说要考虑参与AI的浪潮，最近工作上就有了一些契机，得以投入一周多时间，专注研究OpenClaw，并做了一个分享 比起平时琐碎零星的学习，这种长时间、</description>
    </item>
    <item>
      <title>2025年回顾及后面的一些想法</title>
      <link>https://vimerzhao.top/articles/2025-retrospective-and-some-thoughts/</link>
      <pubDate>Tue, 03 Mar 2026 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2025-retrospective-and-some-thoughts/</guid>
      <description>本文纯手打，如有AI生成内容，会予以标注 本文想分享的：过去1.6年工作和思考 好久没有写公众号，如前一篇所言，原因有很多。今天突然思绪万千，兴之所至，故写一篇，把过往的一段记忆存档。 【离开腾讯文档】 20</description>
    </item>
    <item>
      <title>Webkit在嵌入式设备渲染卡死现象的分析</title>
      <link>https://vimerzhao.top/articles/wpewebkit-become-unresponsive-on-wpe-drm-platform/</link>
      <pubDate>Tue, 16 Dec 2025 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/wpewebkit-become-unresponsive-on-wpe-drm-platform/</guid>
      <description>零、引言 所有乍见诡异、无法理解的现象背后，都有一系列我们尚未了解的细节，以及一个合理自洽的解释。 一、问题背景 我们的项目之前使用的上屏方式是基于LVGL改进的一套DRM封装，支持3缓冲，性能尚可，但通过</description>
    </item>
    <item>
      <title>一笔糊涂帐的清算</title>
      <link>https://vimerzhao.top/articles/clearing-up-a-messy-debt/</link>
      <pubDate>Fri, 14 Nov 2025 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/clearing-up-a-messy-debt/</guid>
      <description>去年开始接触一个项目，这个项目编出来后运行时出现权限问题(Permission Denied)，于是就用sudo运行. 因此，基于VSCode调试时就要先用sudo code --no-sandbox --user-data-dir vscode-root启动VSCo</description>
    </item>
    <item>
      <title>编译wpe-webkit-android的问题记录</title>
      <link>https://vimerzhao.top/articles/process-of-build-wpe-webkit-android/</link>
      <pubDate>Sat, 08 Nov 2025 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/process-of-build-wpe-webkit-android/</guid>
      <description>最近打算研下 GitHub - Igalia/wpe-android: WPE WebKit for Android。 git clone之后，对应的是main分支，commit id为: commit 53b3e13ef2c330e9335d9fdd542e5c42a559ca15 (HEAD -&amp;gt; main, tag: latest-preview, origin/main, origin/HEAD) Author: Adrian Perez de Castro &amp;lt;aperez@igalia.com&amp;gt; Date: Fri Sep 26 16:22:54 2025 +0300 [wpe] Update to WPE WebKit 2.50.0 Even when this is an update to a new release series, there are no differences from the packaging point of view, so</description>
    </item>
    <item>
      <title>嵌入式开发备忘录</title>
      <link>https://vimerzhao.top/articles/embedded-development-memo/</link>
      <pubDate>Sat, 08 Nov 2025 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/embedded-development-memo/</guid>
      <description>命令行 # 设置宽高，方便htop这样的工具显示(嵌入式设设备通过adb登陆，terminal不和设备宽高是不匹配的) # stty 是 Set Teletype 的缩写。它是一个用于显示和修改终端行设置（Terminal Line Settings</description>
    </item>
    <item>
      <title>CMake使用Protobuf的正确姿势</title>
      <link>https://vimerzhao.top/articles/use-protobuf-in-cmake/</link>
      <pubDate>Mon, 27 Oct 2025 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/use-protobuf-in-cmake/</guid>
      <description>工程上有一个非常基础的原则，就是: 关联度越高的逻辑应该越靠近 。 但实践中，往往容易忽视，导致的结果就是：出了问题，我们要从一个非常遥远的错误，慢慢回溯，找到最根本的原因。 近来研究如何在cmake中使用P</description>
    </item>
    <item>
      <title>Linux开发机问题汇总</title>
      <link>https://vimerzhao.top/articles/pitfalls-about-using-linux-as-dev-machine/</link>
      <pubDate>Mon, 20 Oct 2025 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/pitfalls-about-using-linux-as-dev-machine/</guid>
      <description>DNS解析问题 在不同场景下遇到过几次，具体表现： 不连接有线，只Wifi连接热点 iOA无法加载扫码，网页无法加载 ping www.baidu.com 失败 原因其实是DNS解析失败了，查看这个文件 cat /etc/resolv.conf # This is /run/systemd/resolve/stub-resolv.conf managed by man:systemd-resolved(8). # Do not edit. # This file might be symlinked as /etc/resolv.conf.</description>
    </item>
    <item>
      <title>Windows虚拟机内的企微聊天记录迁移</title>
      <link>https://vimerzhao.top/articles/migrate-wxwork-chat-history-in-windows-vm/</link>
      <pubDate>Mon, 20 Oct 2025 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/migrate-wxwork-chat-history-in-windows-vm/</guid>
      <description>背景是： 由于工作场景原因，主机安装的是Linux,于是安装了VirtualBox,通过Windows虚拟机使用企微 后面申请了MacBook,加上VirtualBox带个Windows比较拖累性能，就打</description>
    </item>
    <item>
      <title>rk1126尝试运行chromium和webkit</title>
      <link>https://vimerzhao.top/articles/try-install-chromium-and-webkit-on-rk1126/</link>
      <pubDate>Mon, 15 Sep 2025 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/try-install-chromium-and-webkit-on-rk1126/</guid>
      <description>rk1126上跑着一个apt都没有的linux，由于一些研究需要，想让其运行下chromium和webkit,但最终失败了，简单记录下其过程： 大致有3个思路： 安装apt，再配置安装源，用apt安装 使用</description>
    </item>
    <item>
      <title>WPEWebKit2.46调试环境</title>
      <link>https://vimerzhao.top/articles/setup-wpewebkit-2.46-debug-environment/</link>
      <pubDate>Tue, 01 Jul 2025 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/setup-wpewebkit-2.46-debug-environment/</guid>
      <description>以下讨论均基于`https://github.com/WebPlatformForEmbedded/WPEWebKit的 commit 38067c965fd39dbc4294c1be8f9394fb4c39d90c (HEAD -&amp;gt; wpe-2.46, origin/wpe-2.46, origin/HEAD) Author: Philippe Normand &amp;lt;philn@igalia.com&amp;gt; Date: Tue Nov 1 15:51:24 2022 +0000 pointer-lock WIP 编译 之前已经编过几次，最近一次：WebK</description>
    </item>
    <item>
      <title>Debug实录</title>
      <link>https://vimerzhao.top/articles/debug-records/</link>
      <pubDate>Tue, 18 Feb 2025 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/debug-records/</guid>
      <description>2025 指定远程调试链接页面不显示 Older 工位升降台失效 电脑键盘无响应</description>
    </item>
    <item>
      <title>配置一个Linux开发环境</title>
      <link>https://vimerzhao.top/articles/configure-a-linux-development-environment/</link>
      <pubDate>Wed, 12 Feb 2025 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/configure-a-linux-development-environment/</guid>
      <description>原始记录 由于iMac到期，加上工作内容的改变，申请更换成了高级开发机，主要配置如下：9950X + 32Gx2内存 + 4T硬盘，比之前的iMac(2020年申请的)配置提高了不少。 设备到手后，进行了一番配置</description>
    </item>
    <item>
      <title>WebKit调试环境配置</title>
      <link>https://vimerzhao.top/articles/setup-webkit-debug-environment/</link>
      <pubDate>Sat, 04 Jan 2025 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/setup-webkit-debug-environment/</guid>
      <description>Overview 之前构建过一次WebKit，详见小记WebKit的构建，当时刚刚接触WebKit，很多做法不对，这次重新进行了构建，并搭建了一个调试环境，因此再次简单记录一下。 依赖 之前是在自己的远程开发机（Cent</description>
    </item>
    <item>
      <title>小记WebKit的构建</title>
      <link>https://vimerzhao.top/articles/review-webkit-build-process/</link>
      <pubDate>Mon, 30 Sep 2024 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/review-webkit-build-process/</guid>
      <description>由于工作需要，计划研究下WebKit的Skia渲染后端，分析cmake容易发现，只有GTK/WPE这两个PORT会开启Skia的渲染后端。 之前从https://github.com/WebKit/We</description>
    </item>
    <item>
      <title>Skia下SK_DEBUG内联的坑</title>
      <link>https://vimerzhao.top/articles/skia-debug-inline-pitfall/</link>
      <pubDate>Thu, 19 Sep 2024 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/skia-debug-inline-pitfall/</guid>
      <description>以下代码可能出现看起来诡异的错误 { auto data = image-&amp;gt;encodeToData(); std::stringstream ss; ss &amp;lt;&amp;lt; count++ &amp;lt;&amp;lt; &amp;#34;_output.png&amp;#34;; if (data) { SkFILEWStream out(ss.str().c_str()); out.write(data-&amp;gt;writable_data(), data-&amp;gt;size()); } } 错误如下： * thread #3, name = &amp;#39;RasterThread&amp;#39;, stop reason = signal SIGILL: illegal operand * frame #0: 0x000000000c02edd4 Sxxxx`sk_abort_no_print() at SkMemory_malloc.cpp:51:5 frame #1: 0x000000000bbbee39 Sxxxx`SkNVRefCnt&amp;lt;SkData&amp;gt;::~SkNVRefCnt(this=0x00007fffafdff530)::&amp;#39;lambda&amp;#39;()::operator()() const at SkRefCnt.h:165:9 frame #2: 0x000000000bbbec35 Sxxxx`SkNVRefCnt&amp;lt;SkData&amp;gt;::~SkNVRefCnt(this=0x00007fffa8006090) at SkRefCnt.h:165:9 frame #3: 0x000000000bbbd8ba Sxxxx`SkData::~SkData(this=0x00007fffa8006090) at SkData.cpp:37:1 具体是因为这个ASSERT: ~SkNVRefCnt() { #ifdef SK_DEBUG int</description>
    </item>
    <item>
      <title>webkit生成clang索引</title>
      <link>https://vimerzhao.top/articles/generate-clangd-index-for-webkit/</link>
      <pubDate>Mon, 26 Aug 2024 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/generate-clangd-index-for-webkit/</guid>
      <description>今天开始接触一个新的项目(基于webkit)，第一步自然是搭建源码开发环境。 整个项目通过CMake组织，默认是生成VS工程，再用VS打开sln工程进行构建。这一步OK。 为了生成compile_comm</description>
    </item>
    <item>
      <title>记录一个Android构建错误</title>
      <link>https://vimerzhao.top/articles/record-android-build-error-20240816/</link>
      <pubDate>Fri, 16 Aug 2024 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/record-android-build-error-20240816/</guid>
      <description>今天发现个人Devcloud可以升级到32核，于是升级了下（+重启），升级完成后Android就构建失败了，错误日志如下： * What went wrong: Execution failed for task &amp;#39;:app:processDebugResources&amp;#39;. &amp;gt; A failure occurred while executing com.android.build.gradle.internal.res.LinkApplicationAndroidResourcesTask$TaskAction &amp;gt; Android resource linking failed /data/work/****App/****App/build/app/intermediates/packaged_manifests/debug/AndroidManifest.xml:245: error: resource attr/??? (aka com.tencent.docs:attr/???) not found. error: failed processing manifest. 打开这个文件</description>
    </item>
    <item>
      <title>Mac&amp;Windows&amp;Linux使用备忘录</title>
      <link>https://vimerzhao.top/articles/mac_windows_linux_usage_memo/</link>
      <pubDate>Tue, 06 Aug 2024 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/mac_windows_linux_usage_memo/</guid>
      <description>Mac 1.不要同时编译两个大型C++项目，之前同时使用XCode和Ninja编译两个不同的项目，但底层都使用了clang，结果就是Mac的内核态CPU特别高（超过50%，主要是来自kernal_task这</description>
    </item>
    <item>
      <title>Mac与Windows混合开发体验优化</title>
      <link>https://vimerzhao.top/articles/optimize-mac-with-windows-development/</link>
      <pubDate>Tue, 06 Aug 2024 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/optimize-mac-with-windows-development/</guid>
      <description>后面的工作中，可能要经常使用Windows开发，而过去一段时间，主要使用iMac开发，个人还是更习惯用iMac作为主力开发设备： 屏幕大且清晰 键盘组合更科学，Windows的Win键比较影响，Mac的C</description>
    </item>
    <item>
      <title>C&#43;&#43;升级之殇</title>
      <link>https://vimerzhao.top/articles/the-tragedy-of-cpp-upgrade/</link>
      <pubDate>Mon, 01 Jul 2024 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/the-tragedy-of-cpp-upgrade/</guid>
      <description>是否应该从公司级统一升级Android NDK版本? 如果我们的引擎SDK升级到NDK25，那么调用我们的app都要升级NDK25. 我们的SDK也要给微信，手Q使用，如果让他们也去升级NDK25，不太现实</description>
    </item>
    <item>
      <title>vcpkg源码之install流程</title>
      <link>https://vimerzhao.top/articles/vcpkg-source-code-of-install/</link>
      <pubDate>Mon, 17 Jun 2024 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/vcpkg-source-code-of-install/</guid>
      <description>简介 vcpck install的主要工作是&amp;quot;构建(如果需要)和安装依赖包&amp;quot;，是vcpkg中最关键、也是使用者感知最明显的环节，有必要对其流程有一个更底层的理解，这样对一些问题的理解也将更加深</description>
    </item>
    <item>
      <title>vcpkg简介</title>
      <link>https://vimerzhao.top/articles/vcpkg-introduction/</link>
      <pubDate>Thu, 13 Jun 2024 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/vcpkg-introduction/</guid>
      <description>vcpkg要解决什么问题 C++语言的历史非常悠久，导致其在某些方面的使用体验非常差，比如三方库的依赖。 比如要引入一个skia库，我们大概有以下办法： 源码集成，会有几个问题 但Skia的构建是GN组织的，</description>
    </item>
    <item>
      <title>通过vcpkg构建icu-for-android问题一则</title>
      <link>https://vimerzhao.top/articles/an-error-about-building-icu-for-android-via-vcpkg/</link>
      <pubDate>Thu, 13 Jun 2024 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/an-error-about-building-icu-for-android-via-vcpkg/</guid>
      <description>我们的项目通过vcpkg依赖了icu，但在构建Android平台的icu制品时，却失败了。 Installing 15/45 icu:arm-neon-android@73.1#1... Building icu:arm-neon-android@73.1#1... /root/.cache/vcpkg/registries/git-trees/eaccfc7689fb55d4badf3d2321a8be62ae5be84e: info: installing overlay port from here -- Downloading https://github.com/unicode-org/icu/releases/download/release-73-1/icu4c-73_1-src.tgz -&amp;gt; icu4c-73_1-src.tgz... -- Extracting source /data/landun/workspace/tdf_build_env/.vcpkg/downloads/icu4c-73_1-src.tgz -- Applying patch disable-escapestr-tool.patch -- Applying patch remove-MD-from-configure.patch -- Applying patch fix_parallel_build_on_windows.patch -- Applying patch fix-extra.patch -- Applying patch mingw-dll-install.patch -- Applying patch disable-static-prefix.patch -- Applying patch fix-win-build.patch -- Using source at /data/landun/workspace/tdf_build_env/.vcpkg/buildtrees/icu/src/c-73_1-src-72ff750ba0.clean --</description>
    </item>
    <item>
      <title>CMake Cookbook</title>
      <link>https://vimerzhao.top/articles/cmake-cookbook/</link>
      <pubDate>Thu, 09 May 2024 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/cmake-cookbook/</guid>
      <description></description>
    </item>
    <item>
      <title>CMake Details</title>
      <link>https://vimerzhao.top/articles/cmake-details/</link>
      <pubDate>Thu, 09 May 2024 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/cmake-details/</guid>
      <description>CMAKE_BUILD_TYPE的Debug, Release, RelWithDebInfo and MinSizeRel有什么区别? Debug: -g(默认-O0) Rlease: -O3 -DNDEBUG RleWithDebInfo: -O2 -g -DNDEBUG</description>
    </item>
    <item>
      <title>CMake Pitfalls</title>
      <link>https://vimerzhao.top/articles/cmake-pitfalls/</link>
      <pubDate>Thu, 09 May 2024 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/cmake-pitfalls/</guid>
      <description></description>
    </item>
    <item>
      <title>如何利用ReleaseApk辅助排查性能问题</title>
      <link>https://vimerzhao.top/articles/how-to-use-release-apk-to-find-performance-issue/</link>
      <pubDate>Tue, 30 Apr 2024 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/how-to-use-release-apk-to-find-performance-issue/</guid>
      <description>背景 最近收到反馈，同样的场景，Android打开明显比iOS卡顿，实际打开也确实如此。故此要进一步排查这个问题。 我们的业务工程非常庞大，之前全量编一次竟然花了快2h。 此外，我负责的是底层渲染模块，此类</description>
    </item>
    <item>
      <title>无妄之灾：记录一个奇怪的codelldb问题</title>
      <link>https://vimerzhao.top/articles/record-a-strange-issue-about-codelldb/</link>
      <pubDate>Wed, 20 Mar 2024 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/record-a-strange-issue-about-codelldb/</guid>
      <description>背景：最近打算为项目增加一些测试，重构后的项目比较适合用VSCode + codelldb调试，因为编译适合放在命令行(有一些环境变量依赖)，VSCode直接启动产物并调试就行了，launch.json也</description>
    </item>
    <item>
      <title>Skia升级小记m104-&gt;m122</title>
      <link>https://vimerzhao.top/articles/review-skia-upgrade-m104-to-m122/</link>
      <pubDate>Tue, 12 Mar 2024 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/review-skia-upgrade-m104-to-m122/</guid>
      <description>最近需要把Skia进行一次升级，首先查看下接口变动，See： RELEASE_NOTES.md 大部分都是接口的小调整，基本没什么难度，但注意m122的一个改动: SkFontMgr::RefDefault() has been deleted. Clients should instantiate and manage their own SkFontMgrs and use them to explicitly create SkTypefaces 找到这个改动的原因： Remove default SkFontMgr [305780908] - Skia 是</description>
    </item>
    <item>
      <title>常识决定效率</title>
      <link>https://vimerzhao.top/articles/common-sense-determines-efficiency/</link>
      <pubDate>Tue, 23 Jan 2024 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/common-sense-determines-efficiency/</guid>
      <description>这周帮同事解决了一个编译问题，如果不是我“多管闲事”，这个问题可能要以重装系统的方式处理了。 这一两年解决的类似疑难杂症其实挺多，大多有着不同的表象和相同的本质。如果想要总结下，为什么最终都是我发现了原</description>
    </item>
    <item>
      <title>VCPKG如何支持WASM多线程</title>
      <link>https://vimerzhao.top/articles/support-wasm-multithread-in-vcpkg/</link>
      <pubDate>Tue, 16 Jan 2024 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/support-wasm-multithread-in-vcpkg/</guid>
      <description>工作中遇到的一个问题，如果没有多VCPKG比较深入的理解，处理这个问题还是会比较棘手的。 本身来说，开启多线程在emscripten体系下还比较简单的，开启-pthread即可。详见Pthreads support 问</description>
    </item>
    <item>
      <title>Android Gradle使用自定义的CMake</title>
      <link>https://vimerzhao.top/articles/custom-cmake-in-android-gradle/</link>
      <pubDate>Thu, 14 Dec 2023 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/custom-cmake-in-android-gradle/</guid>
      <description>背景 最近重构项目的CMake后，开始了Android平台的适配，踩了些坑，简单记录下。 Cmake版本过低 test 重构后的CMake使用了一些高版本的特性，比如： CMP0135: New in version 3.24. -&amp;gt; https://cmake.org/cmake/help/latest/policy/CMP0135.html FILE_SET &amp;lt;set-name&amp;gt;: New in version 3.23 -&amp;gt; https://cmake.org/cmake/help/latest/command/install.html 但Android</description>
    </item>
    <item>
      <title>从Vim到VSCode</title>
      <link>https://vimerzhao.top/articles/from-vim-to-vscode-2023/</link>
      <pubDate>Mon, 23 Oct 2023 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/from-vim-to-vscode-2023/</guid>
      <description>我和Vim的故事还是挺长的，之前的一些博客： 现阶段（2021年10月）对于Vim和Emacs的思考 - 赵裕的博客 Vim键盘布局的起源 - 赵裕的博客 借助Vim宏处理重复工作 - 赵裕的博客 Vim的哲学 - 赵裕的博</description>
    </item>
    <item>
      <title>配置一个Flutter的远程Android调试环境</title>
      <link>https://vimerzhao.top/articles/configure-android-debug-environment-for-flutter-on-a-remote-server/</link>
      <pubDate>Sun, 22 Oct 2023 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/configure-android-debug-environment-for-flutter-on-a-remote-server/</guid>
      <description>1.构建制品 之前已经构建过：Flutter源码剖析(一):源码获取与构建 - 赵裕的博客 新遇到一些错误，记录下： $ ../flutter/bin/flutter build --local-engine-src-path ../src --local-engine=android_debug_unopt android ...... You are using a locally built engine (--local-engine) but have not specified --local-engine-host. You may be building with a different engine than the one you are running with. See https://github.com/flutter/flutter/issues/132245 for details. &amp;lt;&amp;n</description>
    </item>
    <item>
      <title>配置一个Mac/iOS平台的Flutter源码调试环境</title>
      <link>https://vimerzhao.top/articles/set-up-flutter-debug-env-for-mac-and-ios/</link>
      <pubDate>Wed, 27 Sep 2023 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/set-up-flutter-debug-env-for-mac-and-ios/</guid>
      <description>背景 最近，由于工作需要，想系统理解下Flutter是如何在MacOS/iOS平台使用OpenGL的。因为Apple早早放弃了对OpenGL的支持，导致这块坑不少，故此希望看看Flutter是怎么处理的</description>
    </item>
    <item>
      <title>使用VSCode作为Chromium的调试前端</title>
      <link>https://vimerzhao.top/articles/use-vscode-as-debug-frontend-of-chromium-project/</link>
      <pubDate>Mon, 24 Jul 2023 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/use-vscode-as-debug-frontend-of-chromium-project/</guid>
      <description>之前试过VSCode作为C++工程的开发工具，但如果工程过于庞大，每次打开都会卡死在索引阶段。 总的来说，NeoVim+Clangd是我认为通用性、性能、开发体验综合最好的选择。 但有一个问题，怎么调试？</description>
    </item>
    <item>
      <title>iOS异常弹窗溯源</title>
      <link>https://vimerzhao.top/articles/traceability-of-ios-exception-pop-up/</link>
      <pubDate>Thu, 13 Jul 2023 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/traceability-of-ios-exception-pop-up/</guid>
      <description>业务接入我们的框架后，反馈一个问题：iOS首次安装启动时，会在业务的协议弹窗前触发一个系统弹窗(访问本地网络的权限)。即：如果有 App 要连接到本地网络上的设备 - 官方 Apple 支持 (中国)。 不太熟悉iOS，一开始看</description>
    </item>
    <item>
      <title>北京之行：技术与人生的思考</title>
      <link>https://vimerzhao.top/articles/trip-to-beijing-reflections-on-technology-and-life/</link>
      <pubDate>Sun, 18 Jun 2023 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/trip-to-beijing-reflections-on-technology-and-life/</guid>
      <description>桃李春风一杯酒，江湖夜雨十年灯。 就着参加WOT技术大会的机会，和一些朋友约了饭，也是第一次来北京，感想颇多，记录一下。 饭局1 周五下午到北京，晚上约了几个高中同学一起吃饭，总体感想： 高中班上，县城的同学</description>
    </item>
    <item>
      <title>关于一次课后反馈的思考</title>
      <link>https://vimerzhao.top/articles/thoughts-on-feedback-after-a-class/</link>
      <pubDate>Sun, 11 Jun 2023 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/thoughts-on-feedback-after-a-class/</guid>
      <description>最近，在公司内开讲了一门课程：《软件Bug的排查与解决》。看到课后的学员反馈，感觉是第一次收到如此矛盾的评价，所以觉得有必要思考一下。 以下是原文： 四、学员反馈 在整个培训过程中，什么地方您感到最满意，收</description>
    </item>
    <item>
      <title>五月空档期与一些思考</title>
      <link>https://vimerzhao.top/articles/summarize-of-202305/</link>
      <pubDate>Sat, 03 Jun 2023 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/summarize-of-202305/</guid>
      <description>五月没有写文章，一方面是五一假期后错峰去了趟重庆，游玩强度有点大。月中有一些输出，但感觉没有特别好的笔记/文章管理手段，写好了也没能高效地同步发表。下旬则因工作和一些思想的懈怠而停滞。 应该是这个月，又</description>
    </item>
    <item>
      <title>关于专栏“速记”的说明</title>
      <link>https://vimerzhao.top/articles/about-quick-note/</link>
      <pubDate>Tue, 16 May 2023 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/about-quick-note/</guid>
      <description>最近发现一个问题，自己经常会有一些探索性的实践（或者说踩坑），在此过程会沉淀出一些记录，这些记录如果作为文章发表，会有些随意和不成体系，甚至有些地方是错误的；但这些记录其实还是非常有价值的： 一方面，它</description>
    </item>
    <item>
      <title>在服务器上搭建Android开发调试环境的尝试</title>
      <link>https://vimerzhao.top/articles/configure-android-dev-environment-on-a-remote-server/</link>
      <pubDate>Tue, 16 May 2023 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/configure-android-dev-environment-on-a-remote-server/</guid>
      <description>1. 背景说明 当前的开发工作特点： 项目代码C++为主，编译任务重，最大的工程全量编一次80min+，小的改动增量10min+，更新一下增量构建30min+。而且编译期间CPU全部占用，无法进行其他工作 涉及</description>
    </item>
    <item>
      <title>修理一个电池老化的按摩枕</title>
      <link>https://vimerzhao.top/articles/repairing-a-massage-pillow-with-a-dead-battery/</link>
      <pubDate>Sat, 29 Apr 2023 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/repairing-a-massage-pillow-with-a-dead-battery/</guid>
      <description>之前在用的一个按摩枕，最近感觉明显不好用了。具体表现为：充电一晚上，按摩十分钟。 主观猜测，可能是电池老化。 于是，我就想：能不能不用电池，直接连电源就能用！ 具体实施分以下几个步骤： 拆外包装（上图中下）：</description>
    </item>
    <item>
      <title>移动客户端的时代过去了吗？</title>
      <link>https://vimerzhao.top/articles/is-the-era-of-mobile-clients-over/</link>
      <pubDate>Wed, 12 Apr 2023 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/is-the-era-of-mobile-clients-over/</guid>
      <description>一 刚进公司的时候（2018年）我的职位还叫作“移动客户端工程师”，后来公司做了一次通道（工种）合并，把这个职位和“PC客户端”做了合并，统一归类为“客户端开发”。个人感觉，可能是由于当时PC端的式微，</description>
    </item>
    <item>
      <title>色彩空间与取色器错误</title>
      <link>https://vimerzhao.top/articles/color-picker-bug-on-imac/</link>
      <pubDate>Fri, 07 Apr 2023 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/color-picker-bug-on-imac/</guid>
      <description>背景 同事反馈，用我们的框架绘制了一个纯红色（RGB为#FF0000）的区域，使用取色器却无法取到正确的值，其他颜色也基本都会有一定程度的误差。 我尝试了一下，确实会出现这个情况，这里的取色器可以是： ph</description>
    </item>
    <item>
      <title>工作五年，重新出发</title>
      <link>https://vimerzhao.top/articles/start-again-after-working-five-years/</link>
      <pubDate>Sat, 01 Apr 2023 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/start-again-after-working-five-years/</guid>
      <description>赵裕的第 201 篇文章。 一、前情回顾 最近在整理之前的博客,粗略统计了下,之前写过的文章大概200篇左右。最近一年没怎么更新，故而本篇计作第201篇，算是一个新阶段的开始吧！ 1.1 写作初心 第一次写作是在2015年</description>
    </item>
    <item>
      <title>关于自我介绍的一点感想</title>
      <link>https://vimerzhao.top/articles/impression-on-self-introduction/</link>
      <pubDate>Sat, 20 Aug 2022 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/impression-on-self-introduction/</guid>
      <description>最近半年，因为参加一些活动，经常需要写个自我介绍，不由生发出一些感想。 其时自我介绍也是有分类的，比如刚上大学，又或者加入新的团队，自我介绍更多是让别人 了解 自己。 而在校期间的社团选拔、工作后的各种面试，</description>
    </item>
    <item>
      <title>小米6刷机记录</title>
      <link>https://vimerzhao.top/articles/upgrade-xiaomi6-rom-manually/</link>
      <pubDate>Fri, 17 Jun 2022 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/upgrade-xiaomi6-rom-manually/</guid>
      <description>手头的开发机是小米6，升级到MIUI11（Android9）之后，官方貌似也停止了对其的升级。 另一方面，也想为将来真机调试积累点经验，于是研究了下如何刷机。 刷机这种行为，最佳选择自然是Google Pi</description>
    </item>
    <item>
      <title>GoogleIO活动后记</title>
      <link>https://vimerzhao.top/articles/record-of-goolge-io-06-12/</link>
      <pubDate>Sun, 12 Jun 2022 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/record-of-goolge-io-06-12/</guid>
      <description>一、 前几周，收到了Google I/O Extended的分享邀请，也没多想就答应了，一是自己之前没有此类经历，想着去体验下肯定是不亏的； 二是自认为在Flutter（乃至跨平台这个领域），我还是相对有不少经验</description>
    </item>
    <item>
      <title>AndroidStudio使用Cmake3.18.1的坑</title>
      <link>https://vimerzhao.top/articles/use-cmake-3.18.1-in-android-studio/</link>
      <pubDate>Tue, 07 Jun 2022 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/use-cmake-3.18.1-in-android-studio/</guid>
      <description>Android Studio的SDK Manager默认支持的Cmake版本只有3个： 但是，使用3.18版本的Cmake时，大概率遇到 Invalid revision 的错误： 这个错误的原因是Google官方提供的Cmake制品不规范，而低版本G</description>
    </item>
    <item>
      <title>无限风光在险峰</title>
      <link>https://vimerzhao.top/articles/infinite-scenery-in-the-dangerous-peak/</link>
      <pubDate>Sun, 08 May 2022 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/infinite-scenery-in-the-dangerous-peak/</guid>
      <description>夫夷以近，则游者众；险以远，则至者少。 而世之奇伟、瑰怪，非常之观，常在于险远， 而人之所罕至焉，故非有志者不能至也 王安石《游褒禅山记》 最近读了一本书：《筚路维艰》，豆瓣9.6分。读完很受震憾，也开始决定</description>
    </item>
    <item>
      <title>如何高效阅读书籍</title>
      <link>https://vimerzhao.top/articles/how-to-read/</link>
      <pubDate>Wed, 04 May 2022 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/how-to-read/</guid>
      <description>一、导语 为什么要读书?一般来说动机可以分为以下3类： 纯粹获取信息 在获取信息的基础上内化为自己的能力，比如：修正自己的思想、应用在实践中 陶冶情操、消遣，多适用于文学类书籍 二、如何读书 在探讨这个问题之前，</description>
    </item>
    <item>
      <title>在疫情与裁员的阴影下继续生长</title>
      <link>https://vimerzhao.top/articles/under-epidemic-and-layoffs/</link>
      <pubDate>Sat, 16 Apr 2022 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/under-epidemic-and-layoffs/</guid>
      <description>遇到什么困难也不要怕，微笑着面对它，消除恐惧的最好办法就是面对恐惧，坚持就是胜利，奥利给！ 最近由于各种原因（工作、练习五笔、懒）没有持续写作，想想这样还是不好，以后还是每周拿出一些时间进行自省。 对于一</description>
    </item>
    <item>
      <title>C&#43;&#43;函数调用栈回溯初探</title>
      <link>https://vimerzhao.top/articles/cpp-function-callstack-backtrace-1/</link>
      <pubDate>Sun, 10 Apr 2022 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/cpp-function-callstack-backtrace-1/</guid>
      <description>背景 之前在解决一个Flutter Engine的C++ Crash问题时，就曾受困于一个问题：如何回溯C++的 函数调用栈？最近频繁使用C++的过程中，这个诉求日益突出。 遂下定决心彻底解决之。 过程 在stac</description>
    </item>
    <item>
      <title>从ReactNative到Flutter：跨平台技术的黄金时代与七年之痒</title>
      <link>https://vimerzhao.top/articles/from-reactnative-to-flutter/</link>
      <pubDate>Sun, 16 Jan 2022 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/from-reactnative-to-flutter/</guid>
      <description>零、黎明的前夜 2007年，苹果公司推出了第一代 iPhone，其搭载的 iPhone OS1.0 即是日后 iOS 系统 的前身。次年，谷歌也推出了其酝酿已久的智能手机操作系统 Android 1.0。也就是在这一 年的 8 月，PhoneGap 诞生了。Ph</description>
    </item>
    <item>
      <title>一本书的诞生</title>
      <link>https://vimerzhao.top/articles/the-born-of-a-book/</link>
      <pubDate>Sat, 15 Jan 2022 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/the-born-of-a-book/</guid>
      <description>零、背景 今天(2022-01-12)对我来说应该算是一个特别的日子，自己花了小半年撰写的《Flutter内核源码剖析》终于出版了。 思来想去，还是应该写点什么。毕竟，这件事情倾注了自己不少心血，一条简简</description>
    </item>
    <item>
      <title>关于笔记软件的比较研究</title>
      <link>https://vimerzhao.top/articles/research-about-note-software/</link>
      <pubDate>Sun, 19 Dec 2021 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/research-about-note-software/</guid>
      <description>一、引言 工作以来，如何高效地整理自己的信息这个问题一直困扰着我。经常会遇到这种情况， 自己需要记录一个信息，但依稀记得自己记录过类似的信息，却又半天找不到。 举个例子，我发现一个学习C++不错的网站，于是</description>
    </item>
    <item>
      <title>定制Mac的输入法切换按键为左Shift</title>
      <link>https://vimerzhao.top/articles/change-input-method-with-left-shift/</link>
      <pubDate>Mon, 08 Nov 2021 12:56:59 +0800</pubDate>
      <guid>https://vimerzhao.top/articles/change-input-method-with-left-shift/</guid>
      <description>目前，自己用的是搜狗输入法和Spacemacs，发现高概率偶现一个问题： 每次都要重启Emacs才能解决，十分蛋疼！！！ 于是，想着是不是只有搜狗+Emacs才会有这个问题，因为： 其他场景（包括Vim）都</description>
    </item>
    <item>
      <title>Android Sutdio开发C&#43;&#43;项目踩坑记录</title>
      <link>https://vimerzhao.top/articles/developing-cpp-with-android-sutdio/</link>
      <pubDate>Mon, 01 Nov 2021 18:32:39 +0800</pubDate>
      <guid>https://vimerzhao.top/articles/developing-cpp-with-android-sutdio/</guid>
      <description>背景 由于工作性质关系，后面主要是基于C++开发，日常构建、运行、调试的宿主是Android设备。 由于example工程的设计，可以方便地通过Android Studio构建这个工程并运行在Android</description>
    </item>
    <item>
      <title>如何提高中文输入的效率</title>
      <link>https://vimerzhao.top/articles/improve-efficiency-by-shuangpin/</link>
      <pubDate>Mon, 11 Oct 2021 16:57:09 +0800</pubDate>
      <guid>https://vimerzhao.top/articles/improve-efficiency-by-shuangpin/</guid>
      <description>最近写文章和文档的频率比较高，发现常规的全拼输入法的打字速度完全跟不上大脑想表达的速度。于是，想着要不要学一学五笔，调研尝试一番之后发现不太理想，原因有二： 五笔的学习成本比较高 五笔最具优势的场景是看着</description>
    </item>
    <item>
      <title>日常开发尽量使用英文</title>
      <link>https://vimerzhao.top/articles/try-to-use-english-everywhere/</link>
      <pubDate>Mon, 11 Oct 2021 10:49:57 +0800</pubDate>
      <guid>https://vimerzhao.top/articles/try-to-use-english-everywhere/</guid>
      <description>以后在日常开发中尽量使用英文，主要包括： 使用英文命名目录 使用英文写代码注释 为什么要这么做？ 主要是为了提高操作和编辑效率。举例： 在切换目录的时候，有的工具能自动在多个目录间跳转（比如zsh下的cd命令）</description>
    </item>
    <item>
      <title>现阶段（2021年10月）对于Vim和Emacs的思考</title>
      <link>https://vimerzhao.top/articles/thinking-about-vim-and-emacs/</link>
      <pubDate>Sun, 10 Oct 2021 22:24:00 +0800</pubDate>
      <guid>https://vimerzhao.top/articles/thinking-about-vim-and-emacs/</guid>
      <description>最近由于在工作调整，加上国庆节，时间稍微宽裕一点，于是重新启动了对Emacs的学习，这次稍微找到了点感觉：包括使用的感觉和对Emacs的理解。 为什么一直对Emacs念念不忘？作为一个使用了多年Vim的</description>
    </item>
    <item>
      <title>关于过去一年的思考（2020/9～2021/9）</title>
      <link>https://vimerzhao.top/articles/thinking-about-past-one-year/</link>
      <pubDate>Tue, 05 Oct 2021 17:39:41 +0800</pubDate>
      <guid>https://vimerzhao.top/articles/thinking-about-past-one-year/</guid>
      <description>去年这个时候，刚刚活水（即公司内部的岗位调动）到新的部门，当时写了一篇《自我奋斗与历史进程》，里面提到了接下来一年的目标： 交付更有价值的工作成果 成体系地输出自己的影响力 对周遭的变化有更强的控制和适应能</description>
    </item>
    <item>
      <title>抽丝剥茧：Flutter Engine隐藏的一个惊天Bug</title>
      <link>https://vimerzhao.top/articles/fix-a-serious-flutter-engine-multithread-bug/</link>
      <pubDate>Sun, 08 Aug 2021 15:53:53 +0800</pubDate>
      <guid>https://vimerzhao.top/articles/fix-a-serious-flutter-engine-multithread-bug/</guid>
      <description>零、背景介绍 Flutter技术在微视内经过大半年的探索，已经从存量业务的改造尝试阶段，开始进入增量业务的承接阶段。横版视频的为你推荐就是这样一个场景，原Native体验如下： 使用Flutter完成新业</description>
    </item>
    <item>
      <title>大道至简：Flutter嵌套滑动冲突解决之路</title>
      <link>https://vimerzhao.top/articles/flutter-nested-scroll-conflict/</link>
      <pubDate>Thu, 27 May 2021 19:22:48 +0800</pubDate>
      <guid>https://vimerzhao.top/articles/flutter-nested-scroll-conflict/</guid>
      <description>背景与挑战 为了充分验证Flutter在UI开发上的完备性（能Cover住足够复杂的场景），我们选择了微视端内最复杂的页面之一的个人页进行改造，其UI形态如下。 用户1: 用户2: 观察可以发现，对于UI层面</description>
    </item>
    <item>
      <title>Flutter PlatformView大小异常导致闪退锁屏</title>
      <link>https://vimerzhao.top/articles/record-a-flutter-platform-view-bug/</link>
      <pubDate>Wed, 26 May 2021 09:54:17 +0800</pubDate>
      <guid>https://vimerzhao.top/articles/record-a-flutter-platform-view-bug/</guid>
      <description>最近在Flutter中嵌入WebView的时候，遇到一个奇怪的Bug，不仅闪退，还会导致应用锁屏，现状如下（在当前页面卡顿很久，然后黑屏、锁屏……）： 抓到的错误日志如下： + 分析之后发现是使用Virtu</description>
    </item>
    <item>
      <title>Hugo&#43;Asciidoc配置记录</title>
      <link>https://vimerzhao.top/articles/configure-hugo-asciidoc-blog/</link>
      <pubDate>Sat, 08 May 2021 19:41:53 +0800</pubDate>
      <guid>https://vimerzhao.top/articles/configure-hugo-asciidoc-blog/</guid>
      <description>【2021-05-08】今天参考几篇文章，完成了Hugo博客的配置，特此记录一下： 搭建教程 Blogging with Asciidoctor and Hugo | Gabriel Arazas Better Hugo/AsciiDoc HTML - ratfactor diguage/www.diguage.com: &amp;ldquo;地瓜哥&amp;quot;博客网 使用 Hugo 搭建博客 - &amp;ldquo;地瓜哥&amp;quo</description>
    </item>
    <item>
      <title>拿来主义与实证精神</title>
      <link>https://vimerzhao.top/articles/all-takenism-and-positivism/</link>
      <pubDate>Sun, 20 Dec 2020 19:49:29 +0800</pubDate>
      <guid>https://vimerzhao.top/articles/all-takenism-and-positivism/</guid>
      <description>由于工作原因，最近经常需要调研业界方案，因为很多很多东西没有必要重复造轮子，如果别人已经把问题解决了，那么直接使用是没啥问题的，这大概就是所谓的拿来主义。 其实纵观历史，尤其是近代，拿来主义其实不少，马</description>
    </item>
    <item>
      <title>做工具要有&#34;码德&#34;</title>
      <link>https://vimerzhao.top/articles/moral-of-developing-tools/</link>
      <pubDate>Thu, 10 Dec 2020 19:47:27 +0800</pubDate>
      <guid>https://vimerzhao.top/articles/moral-of-developing-tools/</guid>
      <description>最近在搞别的事情，没时间写公众号了，不过遇到值得写的，还是要草草记录一下的。 这周经历了一件比较奇葩的事情，大致时间线如下： 周四下午的时候，发现自己一个脚本使用的maven发布功能有一个奇怪的问题：正常</description>
    </item>
    <item>
      <title>AndroidStudio-Profile工具导致的一个奇怪问题</title>
      <link>https://vimerzhao.top/articles/android-profile-tool-bug-record/</link>
      <pubDate>Thu, 10 Dec 2020 12:36:32 +0800</pubDate>
      <guid>https://vimerzhao.top/articles/android-profile-tool-bug-record/</guid>
      <description>在使用AndroidStudio里面的Profile查看内存占用时，发现一个奇怪的现象： 应用启动后Native内存猛增，即使一个空的App也是如此，按理说不应该。于是用adb工具导出了一次内存： adb shell dumpsys</description>
    </item>
    <item>
      <title>Flutter源码剖析(四):flutter run流程解析</title>
      <link>https://vimerzhao.top/articles/flutter-source-code-analyze-4/</link>
      <pubDate>Sun, 22 Nov 2020 12:23:18 +0800</pubDate>
      <guid>https://vimerzhao.top/articles/flutter-source-code-analyze-4/</guid>
      <description>关于flutter run flutter run负责执行构建一个flutter工程，输出产物到对应设备，并负责提供基本的交互控制，使用效果如下： $ flutter run Launching lib/main.dart on COL AL10 in debug mode... Running Gradle task &amp;#39;assembleDebug&amp;#39;... Running Gradle task &amp;#39;assembleDebug&amp;#39;... Done 23.8s ✓ Built build/app/outputs/flutter-apk/app-debug.apk. Installing build/app/outputs/flutter-apk/app.apk... 13.7s Waiting for COL AL10 to report its views... 7ms Syncing files</description>
    </item>
    <item>
      <title>谈小步快跑</title>
      <link>https://vimerzhao.top/articles/thinking-on-sprint/</link>
      <pubDate>Wed, 18 Nov 2020 19:45:41 +0800</pubDate>
      <guid>https://vimerzhao.top/articles/thinking-on-sprint/</guid>
      <description>突然觉得需要好好理解一下小步快跑的含义，因为最近的工作就是一个需要小步快跑的工作。 经过一段时间的摸索之后，我觉得当前工作可以分为四个阶段： 接入，踩一遍可能遇到的坑，积累开发经验，证明性能和跨平台的可行</description>
    </item>
    <item>
      <title>Flutter源码剖析(三):Flutter-Android-Embedder启动流程</title>
      <link>https://vimerzhao.top/articles/flutter-source-code-analyze-3/</link>
      <pubDate>Sun, 15 Nov 2020 12:23:15 +0800</pubDate>
      <guid>https://vimerzhao.top/articles/flutter-source-code-analyze-3/</guid>
      <description>概述 Flutter的启动包括Embedder、Engine、Framework三部分，本文仅描述Android平台的Embdder模块的启动流程。Flutter通常通过启动一个FlutterActiv</description>
    </item>
    <item>
      <title>gitbook安装中的一些问题</title>
      <link>https://vimerzhao.top/articles/gitbook-install-record/</link>
      <pubDate>Fri, 13 Nov 2020 15:50:24 +0800</pubDate>
      <guid>https://vimerzhao.top/articles/gitbook-install-record/</guid>
      <description>在新的iMac上安装gitbook后，一直无法使用，提示错误如下： Installing GitBook 3.2.3 if (cb) cb.apply(this, arguments) TypeError: cb.apply is not a function at /usr/local/lib/node_modules/gitbook-cli/node_modules/npmi/node_modules/npm/node_modules/graceful-fs/polyfills.js:267:18 at FSReqCallback.oncomplete (fs.js:169:5) 查找诸多问题后，最终确定是新版本的问题，可以通过nvm这个工具控制node的版本，npm不需要关心</description>
    </item>
    <item>
      <title>最好的Android投屏工具</title>
      <link>https://vimerzhao.top/articles/best-android-projector/</link>
      <pubDate>Thu, 12 Nov 2020 15:48:51 +0800</pubDate>
      <guid>https://vimerzhao.top/articles/best-android-projector/</guid>
      <description>背景 之前一直用Chrome的Vysor插件做投屏，最近这个插件无法使用了 手机连着USB，放在桌子里面，拿起来操作很不方便，胳膊肘疼 于是调研了下可选的投屏方案 AirDroid过于庞大，还要收费，而且公司</description>
    </item>
    <item>
      <title>Flutter源码剖析(二):源码的阅读与调试环境配置</title>
      <link>https://vimerzhao.top/articles/flutter-source-code-analyze-2/</link>
      <pubDate>Thu, 05 Nov 2020 12:23:13 +0800</pubDate>
      <guid>https://vimerzhao.top/articles/flutter-source-code-analyze-2/</guid>
      <description>综述 Flutter从架构上来说有3部分： 用Dart写的Framework层，面向开发者 用Java/Kotlin写的Embdder层（For Android，iOS是OC/Swift），纯Flutter A</description>
    </item>
    <item>
      <title>Mac外接显示器问题处理记录</title>
      <link>https://vimerzhao.top/articles/macbook-external-display/</link>
      <pubDate>Thu, 29 Oct 2020 15:46:57 +0800</pubDate>
      <guid>https://vimerzhao.top/articles/macbook-external-display/</guid>
      <description>背景 最近双十一，买了一台AOC的外接显示器，4K分辨率。为了达到最大的使用体验，处理了一些问题，在此记录。 睡眠唤醒 一开始用type-c的线连接，发现每次电脑睡眠后，重新唤醒时外接屏幕无法唤醒，打开显示</description>
    </item>
    <item>
      <title>Flutter源码剖析(一):源码获取与构建</title>
      <link>https://vimerzhao.top/articles/flutter-source-code-analyze-1/</link>
      <pubDate>Thu, 29 Oct 2020 12:23:10 +0800</pubDate>
      <guid>https://vimerzhao.top/articles/flutter-source-code-analyze-1/</guid>
      <description>概述 本文介绍了Flutter源码的获取与构建，后面会另有文章介绍Flutter源码的版本管理、开发环境搭建等主题。 准备工作 Flutter源码分为两个部分： flutter/flutter是框架层，为开发</description>
    </item>
    <item>
      <title>毛选精读（一）内核：《实践论》与《矛盾论》</title>
      <link>https://vimerzhao.top/articles/maoxuan-kernel/</link>
      <pubDate>Sat, 17 Oct 2020 23:44:11 +0800</pubDate>
      <guid>https://vimerzhao.top/articles/maoxuan-kernel/</guid>
      <description>概述 个人认为，读毛选应该先读《实践论》和《矛盾论》，这两篇发表于1937年下旬的文章，上承土地革命战争（1927～1937），下启启抗日战争和解放战争。在过往的十年里，共产党先后经历了右倾机会主义和左</description>
    </item>
    <item>
      <title>为什么读毛选以及怎么读毛选</title>
      <link>https://vimerzhao.top/articles/why-and-how-read-maoxuan/</link>
      <pubDate>Sat, 10 Oct 2020 23:41:01 +0800</pubDate>
      <guid>https://vimerzhao.top/articles/why-and-how-read-maoxuan/</guid>
      <description>为什么读 领袖发家史、中国近代史 首先，《毛选》可以说是领袖的一本自传，也从侧面反映了近代中国从第一次国内革命战争时期到文化大革命时期，70年波澜壮阔的历史。 领袖曾在17岁作诗： 《七绝·改诗赠父亲》 孩儿立</description>
    </item>
    <item>
      <title>自我奋斗与历史进程</title>
      <link>https://vimerzhao.top/articles/self-struggle-and-historical-itinerary/</link>
      <pubDate>Fri, 09 Oct 2020 20:18:33 +0800</pubDate>
      <guid>https://vimerzhao.top/articles/self-struggle-and-historical-itinerary/</guid>
      <description>一 人生的道路虽然漫长，但要紧处常常只有几步，特别是当人年轻的时候。 没有一个人的生活道路是笔直的，没有岔道的，有些岔道口譬如政治上岔道口，个人生活上的岔道口，你走错一步，可以影响人生的一个时期，也可以影</description>
    </item>
    <item>
      <title>Android系统服务的注册缓存机制分析</title>
      <link>https://vimerzhao.top/articles/android-system-service-cache-analyze/</link>
      <pubDate>Fri, 21 Aug 2020 12:18:22 +0800</pubDate>
      <guid>https://vimerzhao.top/articles/android-system-service-cache-analyze/</guid>
      <description>本文说明 本文虽名为《Android系统服务的注册缓存机制分析》，但主要记录的是笔者最近解决一个单机型Bug的经历。在解决这个Bug的过程中，我对于Android系统服务的注册缓存机制也有了更深入的了解</description>
    </item>
    <item>
      <title>如何在业务开发中实现自我成长</title>
      <link>https://vimerzhao.top/articles/how-to-achieve-self-growth-in-business-development/</link>
      <pubDate>Tue, 28 Jul 2020 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/how-to-achieve-self-growth-in-business-development/</guid>
      <description>笔者按 悟已往之不谏，知来者之可追。 从初入职场到现在，已经两年有余，看起来还是前途有限、后患无穷。写罢此文，聊以自慰，勉过往而励将来。 长久以来，我一直在思考两件事情：怎么把过往的经历抽象成可复用的经验，</description>
    </item>
    <item>
      <title>技术人员的写作指南</title>
      <link>https://vimerzhao.top/articles/the-technician_s-guide-to-writing/</link>
      <pubDate>Mon, 20 Jul 2020 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/the-technician_s-guide-to-writing/</guid>
      <description>本文详细论述了3个问题： 为什么技术人员需要坚持写作？–动机篇。 需要做哪些准备？–准备篇。 写作的长期实践中应该注意哪些问题？–技巧篇。 一、动机篇 有人说费曼学习法的本质就是：“通过向别人清楚地解说一件事，</description>
    </item>
    <item>
      <title>拾屋记</title>
      <link>https://vimerzhao.top/articles/clean-my-room/</link>
      <pubDate>Sun, 21 Jun 2020 20:16:53 +0800</pubDate>
      <guid>https://vimerzhao.top/articles/clean-my-room/</guid>
      <description>最近要搬家，周末收拾了下，记录一点感悟。 破窗效应 本来整洁有序的房间，因为一两次松懈，或是没有及时把用过的物品归回原位，或是没有及时清理产生的垃圾，就形成了一扇破窗。破窗的产生导致了自己对周围环境要求的</description>
    </item>
    <item>
      <title>读书:《吃掉那只青蛙》</title>
      <link>https://vimerzhao.top/articles/eat-that-frog/</link>
      <pubDate>Sat, 20 Jun 2020 09:44:18 +0800</pubDate>
      <guid>https://vimerzhao.top/articles/eat-that-frog/</guid>
      <description>笔记 C01 明确目标 第一步：明确你究竟想要什么 第二步：把你的目标写下来 第三步：为你的目标设定一个完成的最后期限 第四步：为了实现目标，把你所能想到的、所有要完成的事项都列在一个清单上 第五步：进一步梳理整个清单</description>
    </item>
    <item>
      <title>Android客户端远程调试方法</title>
      <link>https://vimerzhao.top/articles/android-remote-debug-method/</link>
      <pubDate>Mon, 25 May 2020 12:16:13 +0800</pubDate>
      <guid>https://vimerzhao.top/articles/android-remote-debug-method/</guid>
      <description>在最近的需求开发中，会遇到一些兼容性问题，经常只能在特定ROM和Android版本上复现。由于测试和开发不在同一区域办公，往往需要通过物资穿梭车送手机。由此带来两点不便： 使用成本大，调试效率低，因为物</description>
    </item>
    <item>
      <title>读书:《时间管理：如何充分利用你的24小时》</title>
      <link>https://vimerzhao.top/articles/the-skinny-on-time-management/</link>
      <pubDate>Sat, 23 May 2020 09:43:08 +0800</pubDate>
      <guid>https://vimerzhao.top/articles/the-skinny-on-time-management/</guid>
      <description></description>
    </item>
    <item>
      <title>解决MacBook2018过热问题</title>
      <link>https://vimerzhao.top/articles/macbook-over-hot/</link>
      <pubDate>Tue, 19 May 2020 10:21:13 +0800</pubDate>
      <guid>https://vimerzhao.top/articles/macbook-over-hot/</guid>
      <description>最近搬工位后给MacBook接了一个外接显示器，放在正中间，但是发现发热很严重。在查阅资料和尝试之后，发现把充电口和显示器接口放在右边比较好。左边好像有个Bug，能不用还是不要用了。 参考： Mac过热降</description>
    </item>
    <item>
      <title>插件化技术的演进之路</title>
      <link>https://vimerzhao.top/articles/evolution-of-plugin-framework/</link>
      <pubDate>Wed, 13 May 2020 12:14:43 +0800</pubDate>
      <guid>https://vimerzhao.top/articles/evolution-of-plugin-framework/</guid>
      <description>序言 关于本次分享 今天要和大家分享的是Android的插件化技术，这在Android中其实是一个相对来说比较复杂，历史悠久，内容庞杂的知识，不是今天一个小时能讲完的，所以我今天也是有选择地分享一些我认为</description>
    </item>
    <item>
      <title>设置Android全局可调试</title>
      <link>https://vimerzhao.top/articles/android-make-debuggable/</link>
      <pubDate>Thu, 07 May 2020 12:13:23 +0800</pubDate>
      <guid>https://vimerzhao.top/articles/android-make-debuggable/</guid>
      <description>背景 最近要看一些系统打印的日志，发现需要开启debuggable标志，于是调研了一下。 实现 参考Android修改ro.debuggable 华为真机adb调试所有进程 — 全栈笔记使用mprop这个工具成功</description>
    </item>
    <item>
      <title>不气盛叫年轻人吗？</title>
      <link>https://vimerzhao.top/articles/2020-youth-day/</link>
      <pubDate>Mon, 04 May 2020 20:16:02 +0800</pubDate>
      <guid>https://vimerzhao.top/articles/2020-youth-day/</guid>
      <description>这两天，被bilibili献给新一代的演讲《后浪》刷屏了，其实这是我们的老传统了，在这样一个意义重大的节日，讲一部分的真话，来刻意迎合一部分人的爽点。作为一个B站的中度用户，其实我是有点不喜欢的，但不</description>
    </item>
    <item>
      <title>Mac OSX配置记录</title>
      <link>https://vimerzhao.top/articles/mac-osx-config-record/</link>
      <pubDate>Mon, 04 May 2020 12:33:35 +0800</pubDate>
      <guid>https://vimerzhao.top/articles/mac-osx-config-record/</guid>
      <description>浏览器 下载Chrome 按键映射 下载Karabiner-Elements，按照 配置，就是自己习惯的键位了。 禁用大写锁定: “System Preferences” -&amp;gt; “Keyboard” -&amp;gt; “Modifier K</description>
    </item>
    <item>
      <title>老版《三国演义》中的曹操</title>
      <link>https://vimerzhao.top/articles/sanguo-caocao/</link>
      <pubDate>Sat, 02 May 2020 20:14:57 +0800</pubDate>
      <guid>https://vimerzhao.top/articles/sanguo-caocao/</guid>
      <description>近来看了一篇鲍国安先生在拍摄《三国演义》期间的创作手记，不禁感慨这才是一个演员的自我修养呀，比现在这些小鲜肉不知道高到哪里去了。这篇手记如果湮没在各种混杂的信息中实在太可惜，故此整理出来，也可警示自己</description>
    </item>
    <item>
      <title>记一个博客刷新的Bug</title>
      <link>https://vimerzhao.top/articles/blog-refresh-bugfix/</link>
      <pubDate>Thu, 30 Apr 2020 10:20:44 +0800</pubDate>
      <guid>https://vimerzhao.top/articles/blog-refresh-bugfix/</guid>
      <description>之前通过教程草草建立了一个博客，后来申请到了备案号，于是更新了代码，但是Gunicorn操作不是很熟悉，导致重启服务后出现了如下问题： 备案号时有时无，今天又要添加公安备案号，于是打算查查这个问题，发现</description>
    </item>
    <item>
      <title>Android P源码构建记录</title>
      <link>https://vimerzhao.top/articles/android-p-source-code-build/</link>
      <pubDate>Wed, 29 Apr 2020 12:11:29 +0800</pubDate>
      <guid>https://vimerzhao.top/articles/android-p-source-code-build/</guid>
      <description>缘由 最近在追查一个dex2oat的问题时，看源码觉得有些地方不单步调试或者加些日志，实在是不方便，另外由于最近的工作和Framework层打交道比较多，也有必要搞个源码环境，趁机深入学习一下。 虚拟机 一</description>
    </item>
    <item>
      <title>表达的世界观基础与方法论建设</title>
      <link>https://vimerzhao.top/articles/base-and-skill-of-presentation/</link>
      <pubDate>Sat, 25 Apr 2020 20:13:50 +0800</pubDate>
      <guid>https://vimerzhao.top/articles/base-and-skill-of-presentation/</guid>
      <description>编号004。 核心内容。 为什么想讲这个主题，起因之一就是自己第一次做技术分享时效果就很差，后面自己对此进行了一些反思。除此之外，自己也听过不少其他人（主要是技术同学）的分享，也会发现一些不足之处。所以我</description>
    </item>
    <item>
      <title>Android P内联优化导致的一个诡异Bug</title>
      <link>https://vimerzhao.top/articles/solve-of-android-p-inline-opt/</link>
      <pubDate>Fri, 24 Apr 2020 23:51:25 +0800</pubDate>
      <guid>https://vimerzhao.top/articles/solve-of-android-p-inline-opt/</guid>
      <description>问题背景 最近，我们的业务在动态加载一款第三方游戏时出现了奇怪的现象，本地开发测试体验良好，但是使用CI构建的正式包体验时会出现启动闪退。 问题分析 分析日志 首先，我们自然而然看了下Crash日志，如下： ---------</description>
    </item>
    <item>
      <title>Windows10下VirtualBox不支持64位</title>
      <link>https://vimerzhao.top/articles/virtualbox-lose-64-bit/</link>
      <pubDate>Mon, 20 Apr 2020 10:20:21 +0800</pubDate>
      <guid>https://vimerzhao.top/articles/virtualbox-lose-64-bit/</guid>
      <description>参考解决Windows10中Virtualbox安装虚拟机没有64位选项(N种情形盘点)-四个空格，除了关闭HyperV，还需要卸载雷电模拟器等，这些软件都有可能占用虚拟驱动。 Mark一下</description>
    </item>
    <item>
      <title>代码相似性检测工具</title>
      <link>https://vimerzhao.top/articles/software-similarity-tester/</link>
      <pubDate>Tue, 14 Apr 2020 12:33:16 +0800</pubDate>
      <guid>https://vimerzhao.top/articles/software-similarity-tester/</guid>
      <description>背景 最近由于工作需要，想找一个能够检查代码相似性的工具。这种工具主要有两个应用： 代码自身的冗余检查 查重，例如检查学生的编程作业是否有抄袭 工具 最后找到了两个工具sim和moss，具体实现算法还没有研究，</description>
    </item>
    <item>
      <title>记一次诡异的Bug</title>
      <link>https://vimerzhao.top/articles/a-weird-bug-record/</link>
      <pubDate>Mon, 13 Apr 2020 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/a-weird-bug-record/</guid>
      <description>背景 上周四的时候，发了一个maven，结果报ExceptionInInitializerError错误： java.lang.ExceptionInInitializerError at repackage.aw.̍(ProGuard:43) at com.tencent.sandbox.PluginHelper.applicationAttachBaseContext(ProGuard:160) ...... Caused by: java.lang.IllegalArgumentException: Illegal pattern character &#39;V&#39; at java.text.SimpleDateFormat.compile(SimpleDateFormat.java:870) at java.text.SimpleDateFormat.initialize(SimpleDateFormat.java:684) at java.text.SimpleDateFormat.&amp;lt;init&amp;gt;(SimpleDateFormat.java:623) at java.text.SimpleDateFormat.&amp;lt;init&amp;gt;(SimpleDateFormat.java:598) at</description>
    </item>
    <item>
      <title>twint源码阅读笔记</title>
      <link>https://vimerzhao.top/articles/read-twint/</link>
      <pubDate>Sun, 05 Apr 2020 23:48:26 +0800</pubDate>
      <guid>https://vimerzhao.top/articles/read-twint/</guid>
      <description>介绍 twint全称Twitter Intelligence Tool，是一个twitter爬虫工具。官方介绍如下： Twint is an advanced Twitter scraping tool written in Python that allows for scraping Tweets from Twitter profiles without using Twitter’s API. Twint utilizes Twitter’s search operators to let you scrape Tweets from specific users, scrape Tweets relating to certain</description>
    </item>
    <item>
      <title>我的tmux使用手册</title>
      <link>https://vimerzhao.top/articles/my-tmux-manual/</link>
      <pubDate>Sun, 05 Apr 2020 12:33:00 +0800</pubDate>
      <guid>https://vimerzhao.top/articles/my-tmux-manual/</guid>
      <description>基础概念 Session：用来概括一个任务，是一组窗口的集合。通过在任务开始前创建一个Session，在该Session中进行任务，之后通过断开Session来暂时中断任务，此时与任务相关的状态都会保存</description>
    </item>
    <item>
      <title>读书:《演说之禅》</title>
      <link>https://vimerzhao.top/articles/presentation-zen/</link>
      <pubDate>Sun, 05 Apr 2020 09:32:45 +0800</pubDate>
      <guid>https://vimerzhao.top/articles/presentation-zen/</guid>
      <description>概览 这本书的副标题叫做“职场必知的幻灯片秘技”，但感觉有点不合适，在我看来，书里提倡的思想只有真正的大师才能用，但是在职场，很多时候还是要按照规矩来。如果不是绝对的权利压制，还是不要妄用这本书的全部思</description>
    </item>
    <item>
      <title>给DroidPlugin添加概览屏幕</title>
      <link>https://vimerzhao.top/articles/add-recent-task-for-droidplugin/</link>
      <pubDate>Thu, 02 Apr 2020 09:59:32 +0800</pubDate>
      <guid>https://vimerzhao.top/articles/add-recent-task-for-droidplugin/</guid>
      <description>背景 DroidPlugin默认不支持多任务： VirtualApp是支持的： 方案 其实参考的就是VirtualApp的实现，它的核心代码是： // com.lody.virtual.client.hook.proxies.am.HCallbackStub IBinder token = ActivityThread.ActivityClientRecord.token.get(r); ...... int taskId = IActivityManager.getTaskForActivity.call( ActivityManagerNative.getDefault.call(), token, false); 其实就是反射调用ActivityMa</description>
    </item>
    <item>
      <title>读书:《运动饮食1:9》</title>
      <link>https://vimerzhao.top/articles/sports-and-diet/</link>
      <pubDate>Sun, 29 Mar 2020 09:31:36 +0800</pubDate>
      <guid>https://vimerzhao.top/articles/sports-and-diet/</guid>
      <description>疫情期间基本荒废了之前的锻炼成果，最近要开始恢复锻炼了，所以选了一本书温习下基本知识。 纯运动无法减肥 胖的本质是吃的太多，摄入&amp;gt;消耗 有氧运动会促进食欲，影响减肥效果 不要神化基础代谢 运动如果以减肥为</description>
    </item>
    <item>
      <title>Android混淆问题一则</title>
      <link>https://vimerzhao.top/articles/android-proguard-problem/</link>
      <pubDate>Tue, 24 Mar 2020 09:56:45 +0800</pubDate>
      <guid>https://vimerzhao.top/articles/android-proguard-problem/</guid>
      <description>问题 dex包里面的build.gradle通过api引用了一个包，同事主工程调用dex包里面的方法抛出ClassNotFoundException。 分析 使用AS的Analyze APK发现该类其实是存在</description>
    </item>
    <item>
      <title>记一次AbstractMethodError</title>
      <link>https://vimerzhao.top/articles/abstractmethoderror-solve/</link>
      <pubDate>Tue, 24 Mar 2020 09:55:46 +0800</pubDate>
      <guid>https://vimerzhao.top/articles/abstractmethoderror-solve/</guid>
      <description>最近在灰度的时候发现了一个Error： 详细信息如下： 结合机型分布，可以判断是部分ROM自己的修改导致的问题(因为已经走到系统Api里面了)。 最后直接catch住了，因为触发的机型其实很少，灰度15w，</description>
    </item>
    <item>
      <title>读书:《俞军产品方法论》</title>
      <link>https://vimerzhao.top/articles/yujun-product-methodology/</link>
      <pubDate>Sun, 22 Mar 2020 09:30:19 +0800</pubDate>
      <guid>https://vimerzhao.top/articles/yujun-product-methodology/</guid>
      <description>正文 这两周利用零散时间粗读了《俞军产品方法论》一书，在查阅资料的时候发现这本书的豆瓣评分从一开始的8.8(2019-12-24)变成了现在(2020-03-22)的7.9，也是比较符合我自己的阅读感受</description>
    </item>
    <item>
      <title>Proguard导致的NoSuchMethodException问题排查</title>
      <link>https://vimerzhao.top/articles/proguard-inline-optimieze-make-stacktrace-loss/</link>
      <pubDate>Mon, 16 Mar 2020 09:54:14 +0800</pubDate>
      <guid>https://vimerzhao.top/articles/proguard-inline-optimieze-make-stacktrace-loss/</guid>
      <description>背景 最近在处理异常时遇到一个诡异的问题：自己的Demo里面混淆一个类后，打印Crash堆栈时这个类里面的调用点直接失踪了！ 下面用测试代码说明。 测试代码 // MainActivity.java public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); new Test().fun1(); } } // Test.java public class Test</description>
    </item>
    <item>
      <title>Proguard导致的NoSuchMethodException问题排查</title>
      <link>https://vimerzhao.top/articles/proguard-result-in-nosuchmethodexception/</link>
      <pubDate>Mon, 16 Mar 2020 09:54:14 +0800</pubDate>
      <guid>https://vimerzhao.top/articles/proguard-result-in-nosuchmethodexception/</guid>
      <description>背景 之前项目的混淆配置一直没开启Proguard的优化选项 -dontoptimize 最近为了做安装包优化，把这行注释掉了 #-dontoptimize 问题 于是项目里的各种优化配置开始生效了，但是测试反馈了一个Bug：悬浮窗的搜索框点击之后没有反应了。 排</description>
    </item>
    <item>
      <title>博客往事</title>
      <link>https://vimerzhao.top/articles/history-of-my-blog/</link>
      <pubDate>Sun, 15 Mar 2020 19:41:05 +0800</pubDate>
      <guid>https://vimerzhao.top/articles/history-of-my-blog/</guid>
      <description>周末花了点时间，把废置了的域名 www.vimerzhao.top 重新折腾了一下，同时将之前写过的博客迁移到了自己的服务器上。 借此机会，也以博客为脉络谈谈最近几年的技术经历吧。 CSDN 我大概是15年开始接触编程的，现在能找到的最早的博客是1</description>
    </item>
    <item>
      <title>客户端调试日志编码之道</title>
      <link>https://vimerzhao.top/articles/zen-of-android-debug-log/</link>
      <pubDate>Thu, 05 Mar 2020 12:09:38 +0800</pubDate>
      <guid>https://vimerzhao.top/articles/zen-of-android-debug-log/</guid>
      <description>日志分很多种了，这里针对的是客户端的、开发调试用的日志，为什么要加这两个限制呢？ 后台日志都在服务器，开发容易操作，客户端日志大部分在本机，有的测试甚至不会捞日志，开发想帮忙都鞭长莫及 开发调试的日志，其</description>
    </item>
    <item>
      <title>基于Android签名机制的文件安全下发方法</title>
      <link>https://vimerzhao.top/articles/secure-file-transfer-base-on-android-signature/</link>
      <pubDate>Thu, 05 Mar 2020 12:05:39 +0800</pubDate>
      <guid>https://vimerzhao.top/articles/secure-file-transfer-base-on-android-signature/</guid>
      <description>问题背景 Android中存在大量需要动态下发文件的场景： 下发布局资源文件实现UI动态化 下发Dex文件、lua文件，实现局部功能的动态化 下发Android插件 下发多媒体资源等 等等 对于其中一些文件，如De</description>
    </item>
    <item>
      <title>B站2月份创作者分析</title>
      <link>https://vimerzhao.top/articles/bilibili-report-2020-02/</link>
      <pubDate>Sun, 01 Mar 2020 19:57:34 +0800</pubDate>
      <guid>https://vimerzhao.top/articles/bilibili-report-2020-02/</guid>
      <description>Welcome Star and Issues: vimerzhao/BilibiliReport 各区投稿比例 前三： 游戏 生活 影视 头部区域细分比例 Top1000视频分布 稿件时长分布 每日投稿趋势 24小时投稿分布 结论 超过60%的创作发生在游戏区和生活区 播放最多的是代表视听的音乐区和娱乐区 但是收</description>
    </item>
    <item>
      <title>UnsatisfiedLinkError...is32-bit instead of 64-bit问题解决</title>
      <link>https://vimerzhao.top/articles/solve-unsatisfiedlinkerror-is-32-bit-instead-of-64-bit/</link>
      <pubDate>Fri, 28 Feb 2020 09:52:52 +0800</pubDate>
      <guid>https://vimerzhao.top/articles/solve-unsatisfiedlinkerror-is-32-bit-instead-of-64-bit/</guid>
      <description>背景 在做沙箱动态化时遇到一个问题： 请假其他同事之后发现是因为Android高版本上，默认是64-bit的方式运行，而某些游戏是32-bit的，所以出现了冲突，解决办法就是强制使用32-bit的，而不是</description>
    </item>
    <item>
      <title>读书:《小岛经济学》</title>
      <link>https://vimerzhao.top/articles/how-an-economy-grows-and-why-it-crashes/</link>
      <pubDate>Sun, 16 Feb 2020 09:27:34 +0800</pubDate>
      <guid>https://vimerzhao.top/articles/how-an-economy-grows-and-why-it-crashes/</guid>
      <description>如果将这本书仅仅看作经济学的入门读物，我觉得有失公允，因为这本书对于当下的很多经济现象做了深刻的剖析，且非常鲜明的表达了自己的观点。 + From:推荐序 概览 一开始以为这本书是入门读物，读完有三点感受： 前</description>
    </item>
    <item>
      <title>防止WebView因为GC被回收</title>
      <link>https://vimerzhao.top/articles/keep-webview-from-gc/</link>
      <pubDate>Tue, 11 Feb 2020 09:47:55 +0800</pubDate>
      <guid>https://vimerzhao.top/articles/keep-webview-from-gc/</guid>
      <description>今天遇到一个问题，前端反映说我们共同约定的一个隐藏WebView无法调试，现象如下： 可以看到，小测试这个Tab一出现就消失了，但是同样的代码放在测试Demo里面就没问题，分析之后发现是实际工程里面产生</description>
    </item>
    <item>
      <title>Android安装包优化</title>
      <link>https://vimerzhao.top/articles/apk-size-opt-summary/</link>
      <pubDate>Tue, 11 Feb 2020 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/apk-size-opt-summary/</guid>
      <description>背景 安装包膨胀的原因 业务的增加、产品的演进是安装包大小增加的本质原因。但是在演进之路上，由于一些所谓的技术债务，如： 使用的资源未经裁剪（如全量字体文件、分辨率过大的图片） 不合理的大资源（如大的视频、音</description>
    </item>
    <item>
      <title>红利永远都在的</title>
      <link>https://vimerzhao.top/articles/there-are-chances-somewhere/</link>
      <pubDate>Mon, 10 Feb 2020 20:12:59 +0800</pubDate>
      <guid>https://vimerzhao.top/articles/there-are-chances-somewhere/</guid>
      <description>今天有个同事在群里分享了一件事情，他面试的一个人独立开发了一个多开app的应用（一种能让某台手机同时打开多个相同app技术，常见的如微信双开），去年年底已经实现了日入1000~2000的水平，实属让人</description>
    </item>
    <item>
      <title>成为一个完整的社会人</title>
      <link>https://vimerzhao.top/articles/base-ability/</link>
      <pubDate>Thu, 06 Feb 2020 20:11:55 +0800</pubDate>
      <guid>https://vimerzhao.top/articles/base-ability/</guid>
      <description>引言 本文是笔者的一些自我反思，工作一年半以来，不足之处的复盘。整理成文，以告过往，以警将来，希望对别人亦有所帮助。 本文将一个完整的社会人应该具备的能力分成了两大类：必修和选修。和大学里面的课程类似，必</description>
    </item>
    <item>
      <title>读书:《娱乐至死》</title>
      <link>https://vimerzhao.top/articles/amusing-ourselves-to-death/</link>
      <pubDate>Sat, 01 Feb 2020 09:24:31 +0800</pubDate>
      <guid>https://vimerzhao.top/articles/amusing-ourselves-to-death/</guid>
      <description>今天要和大家分享的书是尼尔·波兹曼的《娱乐至死》。娱乐至死，这个词我们或多或少都有耳闻，虽然这本书出版于1985年，并且讨论的目标主要是电视机娱乐，但直到互联网时代，这个观念才逐渐为人所熟知。用书中的</description>
    </item>
    <item>
      <title>Android安装包极限优化</title>
      <link>https://vimerzhao.top/articles/opt-apk-size-by-remove-debuginfo/</link>
      <pubDate>Fri, 17 Jan 2020 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/opt-apk-size-by-remove-debuginfo/</guid>
      <description>背景 目前Android安装包的优化方法论比较成熟，比如 混淆代码（Proguard、AndResGuard） 移除不在使用的代码和资源 对于音频、图片等使用更轻量的格式 等等 这些方法都比较常规，在项目成熟后优</description>
    </item>
    <item>
      <title>读书:《学会写作》</title>
      <link>https://vimerzhao.top/articles/learn-writing-by-zhouzuoluo/</link>
      <pubDate>Thu, 16 Jan 2020 09:21:10 +0800</pubDate>
      <guid>https://vimerzhao.top/articles/learn-writing-by-zhouzuoluo/</guid>
      <description>最近利用两个周末的时间读完了一本书，叫《学会写作》，豆瓣信息如下： 作者: 粥左罗 + 出版社: 人民邮电出版社 + 出品方: 智元微库 OPEN MIND + 副标题: 自我进阶的高效方法 + 出版年: 2019-5 + 页数: 280 + 定价: 59元 + 装帧: 平装</description>
    </item>
    <item>
      <title>研究|2019鬼畜区热点事件分析</title>
      <link>https://vimerzhao.top/articles/2019-vichiku-summary-2/</link>
      <pubDate>Sat, 11 Jan 2020 19:53:53 +0800</pubDate>
      <guid>https://vimerzhao.top/articles/2019-vichiku-summary-2/</guid>
      <description>不小心把markdown删了，看公众号吧： 研究 | 2019鬼畜区热点事件分析</description>
    </item>
    <item>
      <title>通过7万条视频数据看2019年B站鬼畜区发生了什么</title>
      <link>https://vimerzhao.top/articles/2019-vichiku-summary/</link>
      <pubDate>Sun, 05 Jan 2020 19:51:58 +0800</pubDate>
      <guid>https://vimerzhao.top/articles/2019-vichiku-summary/</guid>
      <description>前言 鬼畜就是通过对严肃正经话题进行解剖后通过重复，再创作等形式用以达到颠覆经典、解构传统、张扬个性、强化焦点、讽刺社会的一种艺术形式。 引自百度百科 作为常年混迹于B站鬼畜区的潜水怪，今天心血来潮，趁着周</description>
    </item>
    <item>
      <title>2019年终总结</title>
      <link>https://vimerzhao.top/articles/2019-end/</link>
      <pubDate>Wed, 01 Jan 2020 20:02:29 +0800</pubDate>
      <guid>https://vimerzhao.top/articles/2019-end/</guid>
      <description>水逆的上半年 上半年其实是相当平淡的，回头想想，有很多事情可以去做，只是当时囿于那个环境和心态，不能下定决心去做。工作上经历了很多变动，很多老同事离开了团队，甚至组织架构也发生了变动，自己也在一次次的动</description>
    </item>
    <item>
      <title>读书:《刻意练习》</title>
      <link>https://vimerzhao.top/articles/pead/</link>
      <pubDate>Sat, 28 Dec 2019 09:19:39 +0800</pubDate>
      <guid>https://vimerzhao.top/articles/pead/</guid>
      <description>这本书豆瓣评分7.9，最大的问题就是信息密度太低，大概就是一篇几千字的公众号文章能讲明白的事情，作者却用了大量篇幅去举例，导致这个命题的信息量膨胀成了一本书。此外，这本的结构划分也不是很合理，导致很多</description>
    </item>
    <item>
      <title>读书:《乡土中国》</title>
      <link>https://vimerzhao.top/articles/earthbound-china/</link>
      <pubDate>Sun, 22 Dec 2019 09:18:06 +0800</pubDate>
      <guid>https://vimerzhao.top/articles/earthbound-china/</guid>
      <description>概览 本书是费孝通1937年在云南教书时，从《乡村社会学》这门课的讲义中整理而来，书中的观点都是作者实地考察和教学思考的结果，充分分析了乡村社会的特点及其成因，豆瓣评分9.2，当之无愧的大师之作。不同于</description>
    </item>
    <item>
      <title>文档编写的术与道</title>
      <link>https://vimerzhao.top/articles/tao-and-art-of-writing-tech-docs/</link>
      <pubDate>Thu, 19 Dec 2019 19:38:07 +0800</pubDate>
      <guid>https://vimerzhao.top/articles/tao-and-art-of-writing-tech-docs/</guid>
      <description>文档的范围很广，本文特指 开发人员撰写的包含基本产品背景和主要技术设计的文档 。 世界观 为什么要写技术文档 对于这个问题，我个人觉得很容易回答，写技术文档可以帮助团队完成 当前的信息共享和长期的知识传承 。对于个</description>
    </item>
    <item>
      <title>Git工程化最佳实践</title>
      <link>https://vimerzhao.top/articles/git-practice/</link>
      <pubDate>Fri, 13 Dec 2019 12:32:25 +0800</pubDate>
      <guid>https://vimerzhao.top/articles/git-practice/</guid>
      <description>本文导读 本文对应的 git-standardize 项目地址 https://github.com/vimerzhao/git-standardize 问题背景 大部分程序员对于Git的理解还停留在 git add . git commit -m &amp;quot;update&amp;quot; git pull git push 的阶段，但这在实际项目开发中是远远不够的。 + 举一个简单的例子，现在我们需要过滤所有修复bug的提交，该怎</description>
    </item>
    <item>
      <title>修改遗留代码的艺术</title>
      <link>https://vimerzhao.top/articles/working-effectively-with-legacy-code/</link>
      <pubDate>Mon, 02 Dec 2019 19:35:55 +0800</pubDate>
      <guid>https://vimerzhao.top/articles/working-effectively-with-legacy-code/</guid>
      <description>导语 之前内部的一次技术分享，为了防止PPT弄丢，特意整理成了文章，由于我的PPT风格比较简洁，所以额外加了一些批注。 + 注意这里图片缩小了，可以 新标签页打开图片 查看高清图。 正文 1. 2. 3. 4. 5. 6. 7 这页其实还内</description>
    </item>
    <item>
      <title>Git内部原理剖析</title>
      <link>https://vimerzhao.top/articles/git-internals/</link>
      <pubDate>Tue, 26 Nov 2019 12:31:51 +0800</pubDate>
      <guid>https://vimerzhao.top/articles/git-internals/</guid>
      <description>导读 为什么写这篇文章 写这篇文章的本意有二: 工作安排原因，常有同事询问我一些关于 Git 的问题，总觉得自己解释的不够透彻，因此觉得有必要深入了解一下。 目前中文的 Git 教程往往本末倒置， 一味从版本管理工具的角度去堆</description>
    </item>
    <item>
      <title>信息、思考、知识</title>
      <link>https://vimerzhao.top/articles/model-of-thinking/</link>
      <pubDate>Mon, 25 Nov 2019 20:01:28 +0800</pubDate>
      <guid>https://vimerzhao.top/articles/model-of-thinking/</guid>
      <description>最近在思考的一个问题，当一件热点事件发生的时候，如何能够透过各种声音看到问题的本质，并给出客观、全面的评价，这其实是一件非常困难的事情，我觉得必须具备三要素。 知识 知识就像机器学习里面的训练集。放到具体</description>
    </item>
    <item>
      <title>网易裁员碎碎念</title>
      <link>https://vimerzhao.top/articles/about-netease-staff/</link>
      <pubDate>Sun, 24 Nov 2019 19:59:50 +0800</pubDate>
      <guid>https://vimerzhao.top/articles/about-netease-staff/</guid>
      <description>这两天被一篇文章刷屏了，即 网易裁员，让保安把身患绝症的我赶出公司。我在网易亲身经历的噩梦！ 。 + 正好这周上了一门课叫《独立思考》，里面提到了认识真相的五大阻力： 从众心理 认知偏见 情绪干扰 思维局限 逻辑谬误 这</description>
    </item>
    <item>
      <title>YouGlish介绍</title>
      <link>https://vimerzhao.top/articles/introduction-of-youglish/</link>
      <pubDate>Sat, 23 Nov 2019 12:31:31 +0800</pubDate>
      <guid>https://vimerzhao.top/articles/introduction-of-youglish/</guid>
      <description>YouGlish是干嘛的呢？它的官网已经说的很清楚了: Use YouTube to improve your English pronunciation. Real people, real situations. 发现这个网站的起因是笔者在准备技术分享的时候涉及到一个专业名词 VSync ，这个词是 Vertical Sync的缩写，算是一个技术专有名词，用 YouGlish 一搜就</description>
    </item>
    <item>
      <title>Flutter:移动端跨平台技术演进之路</title>
      <link>https://vimerzhao.top/articles/cross-platform-mobile-ui-development-evolution/</link>
      <pubDate>Wed, 06 Nov 2019 12:21:29 +0800</pubDate>
      <guid>https://vimerzhao.top/articles/cross-platform-mobile-ui-development-evolution/</guid>
      <description>导读 本文约4688字，阅读可能需要15分钟。 最早的跨平台开发(摘自《Apache Cordova移动应用开发实战》王亚飞，王洪飞编著). 从广义上来说，跨平台技术早于移动端的出现。因此，本文标题前面也加上</description>
    </item>
    <item>
      <title>小白的理财入门课</title>
      <link>https://vimerzhao.top/articles/financing-introduction/</link>
      <pubDate>Sat, 02 Nov 2019 09:16:19 +0800</pubDate>
      <guid>https://vimerzhao.top/articles/financing-introduction/</guid>
      <description>发刊词:未来穷人更穷,富人更富 钱背后的含义?贫富差距(基尼系数) 教育 寒门再难出贵子 概率学显示,85%状元都是城镇户口 父母的资源决定了子女的眼界等 医疗 有钱能让人获得更多的“隐形福利” 医疗保险意识 投资观念</description>
    </item>
    <item>
      <title>LinuxMint配置指南</title>
      <link>https://vimerzhao.top/articles/linuxmintpei-zhi-zhi-nan/</link>
      <pubDate>Thu, 02 May 2019 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/linuxmintpei-zhi-zhi-nan/</guid>
      <description>LinuxMint配置指南 LinuxMint使用记录 工具集 图像编辑 Pinta基本够用，可在软件管理器下载。 配置 添加图标 以百度脑图为例，在/home/username/.local/share/appl</description>
    </item>
    <item>
      <title>重新认识Markdown</title>
      <link>https://vimerzhao.top/articles/zhong-xin-ren-shi-markdown/</link>
      <pubDate>Thu, 02 May 2019 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/zhong-xin-ren-shi-markdown/</guid>
      <description>重新认识Markdown 最近在调研文档写作工具，对 Markdown 有了一些新的思考。 Markdown 的优势 毫无疑问，Markdown 是流行的，个人认为有以下几个原因： 容易上手，设计得对新手非常友好，把最常用的十几个样式抽离出来，</description>
    </item>
    <item>
      <title>Hexo配置指南</title>
      <link>https://vimerzhao.top/articles/hexopei-zhi-zhi-nan/</link>
      <pubDate>Sun, 21 Apr 2019 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/hexopei-zhi-zhi-nan/</guid>
      <description>Hexo配置指南 本文记录了笔者的Hexo配置，持续更新中～ 功能增强 文章加密 对于部分隐私文章，进行加密。使用插件hexo-blog-encrypt 在Hexo根目录的package.json中添加&amp;quo</description>
    </item>
    <item>
      <title>有哪些值得坚持的好习惯</title>
      <link>https://vimerzhao.top/articles/you-na-xie-zhi-de-jian-chi-de-hao-xi-guan/</link>
      <pubDate>Sun, 21 Apr 2019 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/you-na-xie-zhi-de-jian-chi-de-hao-xi-guan/</guid>
      <description>有哪些值得坚持的好习惯 唯有自律，才能自由。 每天Check 七点之前起床，理想时间是6点 早起喝一杯水，白开水、一整杯。 出门之前倒垃圾 时间充裕就去锻炼，然后洗个澡，开始一天 坚持吃早点，不要油腻辛辣，要五谷杂</description>
    </item>
    <item>
      <title>健身是一场修行</title>
      <link>https://vimerzhao.top/articles/jian-shen-shi-yi-chang-xiu-xing/</link>
      <pubDate>Sun, 07 Apr 2019 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/jian-shen-shi-yi-chang-xiu-xing/</guid>
      <description>健身是一场修行 如题 健身是一场修行 是向过往决裂 凡不能坚持者 皆是有所贪图或是担忧 是渴望八块腹肌的优越 又或者内疚于一杯奶茶的热量 但能坚持下来的 都是发自内心的需要 把健身当成人生的一部分 去认识自己 认识每一块肌肉</description>
    </item>
    <item>
      <title>程序员健身指南</title>
      <link>https://vimerzhao.top/articles/cheng-xu-yuan-jian-shen-zhi-nan/</link>
      <pubDate>Sun, 24 Feb 2019 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/cheng-xu-yuan-jian-shen-zhi-nan/</guid>
      <description>程序员健身指南 坚持健身一个半月，虽然时间不算长，但按照目前的感觉来说，这次应该不会半途而废了，而且这一段时间，利用周末时间学习了不少关于健身的知识，因此觉得有必要整理沉淀一波了，都是入门级知识，适合想</description>
    </item>
    <item>
      <title>&#39;android:excludeFromRecents踩坑指南&#39;</title>
      <link>https://vimerzhao.top/articles/android-excludefromrecentscai-keng-zhi-nan/</link>
      <pubDate>Sun, 30 Dec 2018 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/android-excludefromrecentscai-keng-zhi-nan/</guid>
      <description>&amp;lsquo;android:excludeFromRecents踩坑指南&amp;rsquo; 工作中遇到的一个小问题，记录一下。 现象 从Activity A跳转到B，B的launchMode设置为singleI</description>
    </item>
    <item>
      <title>自己动手写事件总线(EventBus)</title>
      <link>https://vimerzhao.top/articles/zi-ji-dong-shou-xie-shi-jian-zong-xian-eventbus/</link>
      <pubDate>Sun, 23 Dec 2018 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/zi-ji-dong-shou-xie-shi-jian-zong-xian-eventbus/</guid>
      <description>自己动手写事件总线(EventBus) 事件总线核心逻辑的实现。 EventBus的作用 Android中存在各种通信场景，如Activity之间的跳转，Activity与Fragment以及其他组件之间的</description>
    </item>
    <item>
      <title>【小程序&#43;云开发】实战：一天搭建小型论坛</title>
      <link>https://vimerzhao.top/articles/xiao-cheng-xu-yun-kai-fa-shi-zhan-yi-tian-da-jian-xiao-xing-lun-tan/</link>
      <pubDate>Sun, 25 Nov 2018 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/xiao-cheng-xu-yun-kai-fa-shi-zhan-yi-tian-da-jian-xiao-xing-lun-tan/</guid>
      <description>【小程序+云开发】实战：一天搭建小型论坛 笔者最近涉猎了小程序相关的知识，于是利用周末时间开发了一款类似于同事的小程序，深度体验了小程序云开发模式提供的云函数、数据库、存储三大能力。关于云开发，可参考文</description>
    </item>
    <item>
      <title>自己动手写Android插件化框架</title>
      <link>https://vimerzhao.top/articles/zi-ji-dong-shou-xie-androidcha-jian-hua-kuang-jia/</link>
      <pubDate>Thu, 04 Oct 2018 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/zi-ji-dong-shou-xie-androidcha-jian-hua-kuang-jia/</guid>
      <description>自己动手写Android插件化框架 最近在工作中接触到了Android插件内的开发，发现自己这种技术还缺乏最基本的了解，以至于在一些基本问题上浪费不少时间，如插件Context和主工程Context的区</description>
    </item>
    <item>
      <title>源码阅读环境OpenGrok搭建</title>
      <link>https://vimerzhao.top/articles/yuan-ma-yue-du-huan-jing-opengrokda-jian/</link>
      <pubDate>Sun, 23 Sep 2018 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/yuan-ma-yue-du-huan-jing-opengrokda-jian/</guid>
      <description>源码阅读环境OpenGrok搭建 工欲善其事，必先利其器。 导语 阅读源码最常见操作的就是在函数/方法的调用与定义之间跳转，对于只有大部分源码来说，都可以通过ctags+vim获得比较好的体验，但对于And</description>
    </item>
    <item>
      <title>bat批处理简介：Windows自动化之道</title>
      <link>https://vimerzhao.top/articles/batpi-chu-li-jian-jie-windowszi-dong-hua-zhi-dao/</link>
      <pubDate>Sun, 09 Sep 2018 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/batpi-chu-li-jian-jie-windowszi-dong-hua-zhi-dao/</guid>
      <description>bat批处理简介：Windows自动化之道 重复的工作交给代码。 导语 最近在工作中遇到一些纯粹重复的工作，最终都通过脚本方式达到了自动化，大大提高效率。比如之前每次发布zip包都需要手动编译lua文件、替</description>
    </item>
    <item>
      <title>新手程序员的恶习：不了解自己调用的API</title>
      <link>https://vimerzhao.top/articles/xin-shou-cheng-xu-yuan-de-e-xi-bu-liao-jie-zi-ji-diao-yong-de-api/</link>
      <pubDate>Mon, 20 Aug 2018 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/xin-shou-cheng-xu-yuan-de-e-xi-bu-liao-jie-zi-ji-diao-yong-de-api/</guid>
      <description>新手程序员的恶习：不了解自己调用的API 记录了自己在第一个需求灰度后的一些感受。 在自己的第一个需求灰度后，发现Crash率严重超标，虽然排查之后发现主要是其他人合入的需求导致的，但也确实发现了两个自己</description>
    </item>
    <item>
      <title>【Android开发】TextView中getText()方法踩坑指南</title>
      <link>https://vimerzhao.top/articles/androidkai-fa-textviewzhong-gettext-fang-fa-cai-keng-zhi-nan/</link>
      <pubDate>Fri, 03 Aug 2018 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/androidkai-fa-textviewzhong-gettext-fang-fa-cai-keng-zhi-nan/</guid>
      <description>【Android开发】TextView中getText()方法踩坑指南 本文记录了在使用TextView的getText()方法时，由于编码不规范导致的诡异问题。 问题背景 大意可以描述为以下一段代码： public class</description>
    </item>
    <item>
      <title>在腾讯实习一年，我学到了什么</title>
      <link>https://vimerzhao.top/articles/zai-teng-xun-shi-xi-yi-nian-wo-xue-dao-liao-shi-yao/</link>
      <pubDate>Tue, 12 Jun 2018 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/zai-teng-xun-shi-xi-yi-nian-wo-xue-dao-liao-shi-yao/</guid>
      <description>在腾讯实习一年，我学到了什么 去年大概也是这个时候，我有幸拿到了去腾讯实习的offer。 6月底，我欣然前去，到现在刚好一年时间，马上要回学校了，我觉得该写点什么，因为这是一个很特殊的时间点，我站在学校和</description>
    </item>
    <item>
      <title>四年前写的《大学规划》</title>
      <link>https://vimerzhao.top/articles/si-nian-qian-xie-de-da-xue-gui-hua/</link>
      <pubDate>Wed, 09 May 2018 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/si-nian-qian-xie-de-da-xue-gui-hua/</guid>
      <description>四年前写的《大学规划》 四年前刚进大学的时候，辅导员要我们每个人写一篇对大学的规划，找了好久才找到，为了避免以后遗失，在此留个备份吧！ 九月，余辞桑梓，求学大工。朝辞渡口，夕至大连。经陆空之周折，历亲友之</description>
    </item>
    <item>
      <title>区块链招聘信息爬取与分析</title>
      <link>https://vimerzhao.top/articles/qu-kuai-lian-zhao-pin-xin-xi-pa-qu-yu-fen-xi/</link>
      <pubDate>Wed, 18 Apr 2018 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/qu-kuai-lian-zhao-pin-xin-xi-pa-qu-yu-fen-xi/</guid>
      <description>区块链招聘信息爬取与分析 最近在研究区块链，闲来无事抓取了拉勾网上450条区块链相关的招聘信息。过程及结果如下。 拉勾网爬取 首先是从拉勾网爬取数据，用的requests库。拉勾网的反爬虫做的还是比较好的，</description>
    </item>
    <item>
      <title>你真的需要单元测试吗?</title>
      <link>https://vimerzhao.top/articles/ni-zhen-de-xu-yao-dan-yuan-ce-shi-ma/</link>
      <pubDate>Sat, 07 Apr 2018 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/ni-zhen-de-xu-yao-dan-yuan-ce-shi-ma/</guid>
      <description>你真的需要单元测试吗? 博主最近在接触一些Android单元测试方面的工作，发现自己并没有体会到大多数文章所宣传的“单元测试会带来工作效率的巨大提升”之类的诸多好处，于是本着批判与自我批判的精神对单元测</description>
    </item>
    <item>
      <title>【译】自己动手写区块链</title>
      <link>https://vimerzhao.top/articles/yi-zi-ji-dong-shou-xie-qu-kuai-lian/</link>
      <pubDate>Sun, 01 Apr 2018 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/yi-zi-ji-dong-shou-xie-qu-kuai-lian/</guid>
      <description>【译】自己动手写区块链 目前大多数对于区块链的文章都是停留在概念性的描述，大肆宣扬其颠覆性，本文则反其道行之，以一个程序员的视角，通过300行代码，快速实现了一个区块链原型。虽然没有覆盖区块链的全部内容</description>
    </item>
    <item>
      <title>计算机程序中 Bug 的类型大全与历史</title>
      <link>https://vimerzhao.top/articles/ji-suan-ji-cheng-xu-zhong-bug-de-lei-xing-da-quan-yu-li-shi/</link>
      <pubDate>Thu, 08 Mar 2018 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/ji-suan-ji-cheng-xu-zhong-bug-de-lei-xing-da-quan-yu-li-shi/</guid>
      <description>计算机程序中 Bug 的类型大全与历史 美国计算机科学家、图灵奖获得者詹姆斯·尼古拉·格雷(Jim Gray)，在他的著名的论文“Why do computers stop and what can be done about it?”中首次提出了程序bug的类型，比如玻尔bug(Bo</description>
    </item>
    <item>
      <title>杂记：初到深圳</title>
      <link>https://vimerzhao.top/articles/za-ji-chu-dao-shen-zhen/</link>
      <pubDate>Thu, 08 Mar 2018 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/za-ji-chu-dao-shen-zhen/</guid>
      <description>杂记：初到深圳 雄关漫道真如铁，而今迈步从头越。 其实是再来深圳 去年6月底，第一次来深，有同学一起，和批量入职的实习生同住中转酒店，然后又稀里糊涂和别人合租，住的离公司颇远，每次上下班40分钟，熬了三个月</description>
    </item>
    <item>
      <title>每日一题：A Regular Expression Matcher</title>
      <link>https://vimerzhao.top/articles/mei-ri-yi-ti-a-regular-expression-matcher/</link>
      <pubDate>Fri, 09 Feb 2018 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/mei-ri-yi-ti-a-regular-expression-matcher/</guid>
      <description>每日一题：A Regular Expression Matcher 选自Beautiful Code第一章：A Regular Expression Matcher。 Task &amp;amp; Background (节选自Beautiful Code) In 1998, Rob Pike and I were writing The Practice of Programming (Addison-Wesley). The last chapter of the book, “Notation,” collected a number of examples where good notation led to better programs and better</description>
    </item>
    <item>
      <title>每日一题：100 doors</title>
      <link>https://vimerzhao.top/articles/mei-ri-yi-ti-100-doors/</link>
      <pubDate>Wed, 07 Feb 2018 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/mei-ri-yi-ti-100-doors/</guid>
      <description>每日一题：100 doors 选自100 doors - Rosetta Code Task There are 100 doors in a row that are all initially closed.You make 100 passes by the doors.The first time through, visit every door and toggle the door (if the door is closed, open it;if it is open, close it).The second time, only visit every 2nd door(door #2, #4, #6, &amp;hellip;),and toggle it.The third time, visit every 3rd door(door #3, #6, #9, &amp;hellip;), etc,until you only visit the 100th door. Answer the question: what state are the doors in after the</description>
    </item>
    <item>
      <title>对于成长瓶颈的思考</title>
      <link>https://vimerzhao.top/articles/dui-yu-cheng-chang-ping-jing-de-si-kao/</link>
      <pubDate>Wed, 24 Jan 2018 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/dui-yu-cheng-chang-ping-jing-de-si-kao/</guid>
      <description>对于成长瓶颈的思考 初学编程，感觉每天都有新的收获，每天都有新的目标。可是一段时间后，掌握了几门语言，实现了几个项目，开始认识到代码是写不完的，很多工作都是重复的或者已经有人做过的。简单的已经会了，想要</description>
    </item>
    <item>
      <title>Android6.0源码编译教程</title>
      <link>https://vimerzhao.top/articles/android6-0yuan-ma-bian-yi-jiao-cheng/</link>
      <pubDate>Wed, 17 Jan 2018 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/android6-0yuan-ma-bian-yi-jiao-cheng/</guid>
      <description>Android6.0源码编译教程 第一次成功编译了Android的源码，记录一下。 回忆 这是我第二次尝试去编译Android的源码，第一次是半年前，当时刚刚拿到去腾讯实习的Offer，虽然当时会一些And</description>
    </item>
    <item>
      <title>2017年终总结</title>
      <link>https://vimerzhao.top/articles/2017nian-zhong-zong-jie/</link>
      <pubDate>Sun, 31 Dec 2017 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2017nian-zhong-zong-jie/</guid>
      <description>2017年终总结 12月31日，宜批判一番。 在去年的年终总结里，我给2017年定了一些目标，但后来系统坏了，当时备份做的不好，于是那份总结也丢了。虽然今天找回来，但上面的小目标算是基本没实现。不过现在看</description>
    </item>
    <item>
      <title>Java URL类踩坑指南</title>
      <link>https://vimerzhao.top/articles/java-urllei-cai-keng-zhi-nan/</link>
      <pubDate>Sun, 26 Nov 2017 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/java-urllei-cai-keng-zhi-nan/</guid>
      <description>Java URL类踩坑指南 java.net.URL类的几个细节问题。 背景介绍 最近再做一个RSS阅读工具给自己用，其中一个环节是从服务器端获取一个包含了RSS源列表的json文件，再根据这个json文件下载、解</description>
    </item>
    <item>
      <title>Android RSS阅读器开发记录</title>
      <link>https://vimerzhao.top/articles/android-rssyue-du-qi-kai-fa-ji-lu/</link>
      <pubDate>Sat, 18 Nov 2017 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/android-rssyue-du-qi-kai-fa-ji-lu/</guid>
      <description>Android RSS阅读器开发记录 本文的时间跨度比较长，全程记录了我完成一个RSS阅读器的经历，包括踩过的坑以及自己的一些思考。 背景介绍 大概大一的时候我就见过RSS，但一直没明白这东西是干嘛的。很长一段时间自己都</description>
    </item>
    <item>
      <title>LinuxMint修改程序图标分类</title>
      <link>https://vimerzhao.top/articles/linuxmintxiu-gai-cheng-xu-tu-biao-fen-lei/</link>
      <pubDate>Fri, 10 Nov 2017 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/linuxmintxiu-gai-cheng-xu-tu-biao-fen-lei/</guid>
      <description>LinuxMint修改程序图标分类 本文记录了如何修改开始菜单中图标的分类。 问题 平时一般用lantern翻墙，但是每次安装之后在开始菜单这个程序都没被归类，而是单独分类到其他这个目录,如下： 十分别扭。 修</description>
    </item>
    <item>
      <title>Android音视频播放器开发（二）：MVP模式实践</title>
      <link>https://vimerzhao.top/articles/androidyin-shi-pin-bo-fang-qi-kai-fa-er-mvpmo-shi-shi-jian/</link>
      <pubDate>Mon, 16 Oct 2017 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/androidyin-shi-pin-bo-fang-qi-kai-fa-er-mvpmo-shi-shi-jian/</guid>
      <description>Android音视频播放器开发（二）：MVP模式实践 本文主要针对上一篇博客的代码进行重构，并简单阐述了使用MVP模式的好处。 以音乐播放部分为例，下图是未重构的代码结构： 虽然还算清晰，但是拓展性很差。经</description>
    </item>
    <item>
      <title>Android音视频播放器开发（一）：功能实现</title>
      <link>https://vimerzhao.top/articles/androidyin-shi-pin-bo-fang-qi-kai-fa-yi-gong-neng-shi-xian/</link>
      <pubDate>Mon, 16 Oct 2017 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/androidyin-shi-pin-bo-fang-qi-kai-fa-yi-gong-neng-shi-xian/</guid>
      <description>Android音视频播放器开发（一）：功能实现 本文主要介绍了一个简单的Android音视频播放器的功能模块实现。 概述 本文主要介绍开发一个Android音视频播放器的功能实现，包括4个模块：音乐列表，视</description>
    </item>
    <item>
      <title>Android划词翻译</title>
      <link>https://vimerzhao.top/articles/androidhua-ci-fan-yi/</link>
      <pubDate>Tue, 10 Oct 2017 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/androidhua-ci-fan-yi/</guid>
      <description>Android划词翻译 通过复制实现单词查找，更加节省时间。 问题背景 个人经常用BCC News这个APP看新闻，但是遇到陌生词汇时总需要在APP内复制单词，再到另外一个词典应用内查找，如下： 十分不方便。 在</description>
    </item>
    <item>
      <title>LinuxMint Mate中WiFi自动关闭问题</title>
      <link>https://vimerzhao.top/articles/linuxmint-matezhong-wifizi-dong-guan-bi-wen-ti/</link>
      <pubDate>Fri, 22 Sep 2017 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/linuxmint-matezhong-wifizi-dong-guan-bi-wen-ti/</guid>
      <description>LinuxMint Mate中WiFi自动关闭问题 在安装了LinuxMint Mate后，发现WiFi经常自动关闭，花了一点时间发现了解决办法，记录下来以防再次掉坑。 LinuxMint主流的桌面版本有Cinnamon、M</description>
    </item>
    <item>
      <title>阿里、360校招面试总结</title>
      <link>https://vimerzhao.top/articles/a-li-360xiao-zhao-mian-shi-zong-jie/</link>
      <pubDate>Sat, 16 Sep 2017 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/a-li-360xiao-zhao-mian-shi-zong-jie/</guid>
      <description>阿里、360校招面试总结 背景：笔者八月份处于实习考核阶段时投了阿里和360的Android开发，虽然九月初已确定实习留用，但仍然抱着丰富经历的心态参加了阿里和360的面试，虽然结果平平，但也有不少收获</description>
    </item>
    <item>
      <title>全面了解Android热修复技术</title>
      <link>https://vimerzhao.top/articles/quan-mian-liao-jie-androidre-xiu-fu-ji-zhu/</link>
      <pubDate>Sun, 10 Sep 2017 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/quan-mian-liao-jie-androidre-xiu-fu-ji-zhu/</guid>
      <description>全面了解Android热修复技术 引言:本文全面地探讨了Android热修复技术的发展脉络，现状及其未来。 热修复技术概述 热修复技术在近年来飞速发展，尤其是在InstantRun方案推出之后，各种热修复技</description>
    </item>
    <item>
      <title>Presentation的一个误区</title>
      <link>https://vimerzhao.top/articles/presentationde-yi-ge-wu-qu/</link>
      <pubDate>Mon, 28 Aug 2017 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/presentationde-yi-ge-wu-qu/</guid>
      <description>Presentation的一个误区 做技术分享的一次事故及其中得到的教训。 今天做了一个技术分享，感觉效果不是很好。我思考了一下，排除分享的主题是自己无法决定的。一个很大的错误在于自己把需要展示的内容分散</description>
    </item>
    <item>
      <title>Dalvik之类加载源码分析</title>
      <link>https://vimerzhao.top/articles/dalvikzhi-lei-jia-zai-yuan-ma-fen-xi/</link>
      <pubDate>Sat, 26 Aug 2017 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/dalvikzhi-lei-jia-zai-yuan-ma-fen-xi/</guid>
      <description>Dalvik之类加载源码分析 基于Kitkat源码粗线条地分析了Dalvik虚拟机类的加载过程。 Java类加载 在Java的世界里，所有类的加载，都由java.lang.ClassLoader来负责。Cl</description>
    </item>
    <item>
      <title>热补丁：Qzone方案在Dalvik虚拟机上的实现</title>
      <link>https://vimerzhao.top/articles/re-bu-ding-qzonefang-an-zai-dalvikxu-ni-ji-shang-de-shi-xian/</link>
      <pubDate>Mon, 21 Aug 2017 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/re-bu-ding-qzonefang-an-zai-dalvikxu-ni-ji-shang-de-shi-xian/</guid>
      <description>热补丁：Qzone方案在Dalvik虚拟机上的实现 详细分析了Qzone热修复方案在Dalvik平台的实现，包括插桩的由来及其实现。 Qzone热修复原理分析 Qzone热修复方案基于的是android de</description>
    </item>
    <item>
      <title>Andfix源码解析</title>
      <link>https://vimerzhao.top/articles/andfixyuan-ma-jie-xi/</link>
      <pubDate>Sun, 20 Aug 2017 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/andfixyuan-ma-jie-xi/</guid>
      <description>Andfix源码解析 本文介绍了Andfix热修复框架的原理及实现代码。 Andfix概述 Andfix是阿里开源的一套热修复框架，效果如下 （注意我一直在点击，下发补丁后发生了变化&amp;hellip;&amp;hell</description>
    </item>
    <item>
      <title>匿名内部类导致热补丁Crash</title>
      <link>https://vimerzhao.top/articles/ni-ming-nei-bu-lei-dao-zhi-re-bu-ding-crash/</link>
      <pubDate>Sun, 20 Aug 2017 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/ni-ming-nei-bu-lei-dao-zhi-re-bu-ding-crash/</guid>
      <description>匿名内部类导致热补丁Crash 本文记录了匿名内部类可能导致的热补丁Crash及其原因。 问题描述 新建工程 新建一个工程，集成Andfix（设置权限、添加gradle、自定义Application），同时在</description>
    </item>
    <item>
      <title>InstantRun原理浅析</title>
      <link>https://vimerzhao.top/articles/instantrunyuan-li-qian-xi/</link>
      <pubDate>Thu, 17 Aug 2017 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/instantrunyuan-li-qian-xi/</guid>
      <description>InstantRun原理浅析 本文从宏观上简要介绍了InstantRun的实现原理。 InstantRun概述 InstantRun是Android Studio2.0推出的新功能，旨在加快构建编译速度，提升</description>
    </item>
    <item>
      <title>热修复之资源更新的实现</title>
      <link>https://vimerzhao.top/articles/re-xiu-fu-zhi-zi-yuan-geng-xin-de-shi-xian/</link>
      <pubDate>Thu, 17 Aug 2017 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/re-xiu-fu-zhi-zi-yuan-geng-xin-de-shi-xian/</guid>
      <description>热修复之资源更新的实现 本文分析了InstantRun的部分源码，并由此得出资源热修复的一种实现方法。 资源热修复 所谓资源热修复就是在不重新安装APP的情况下修改其资源，包括音频、图片，也包括布局、文字等</description>
    </item>
    <item>
      <title>20行代码搭建微信聊天机器人</title>
      <link>https://vimerzhao.top/articles/20xing-dai-ma-da-jian-wei-xin-liao-tian-ji-qi-ren/</link>
      <pubDate>Thu, 03 Aug 2017 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/20xing-dai-ma-da-jian-wei-xin-liao-tian-ji-qi-ren/</guid>
      <description>20行代码搭建微信聊天机器人 介绍了如何用20行Python搭建一个微信聊天机器人，并讨论了其可能的拓展方向。 引子 在之前一边文章中介绍客服机器人：AI实战:搭建客服机器人，本文将在此基础上制作一个聊天机</description>
    </item>
    <item>
      <title>热补丁：Tinker方案实现</title>
      <link>https://vimerzhao.top/articles/re-bu-ding-tinkerfang-an-shi-xian/</link>
      <pubDate>Thu, 03 Aug 2017 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/re-bu-ding-tinkerfang-an-shi-xian/</guid>
      <description>热补丁：Tinker方案实现 本文简单分析了Tinker的实现原理并对dex文件更新做了演示Demo。 Qzone方案与Tinker 在之前的博客里简单介绍了Qzone超级热补丁的原理与实现，本文介绍了腾讯</description>
    </item>
    <item>
      <title>如何关闭网页悬浮窗</title>
      <link>https://vimerzhao.top/articles/ru-he-guan-bi-wang-ye-xuan-fu-chuang/</link>
      <pubDate>Mon, 31 Jul 2017 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/ru-he-guan-bi-wang-ye-xuan-fu-chuang/</guid>
      <description>如何关闭网页悬浮窗 如何巧妙关闭网页的悬浮窗。 最近在查找资料时发现一个网页，需要注册才能查看，我记得豆瓣也有类似的悬浮窗，但是可以点击右上角的小叉号关闭，但这个竟然不能关闭！！ 作为一个程序员此时当然应该</description>
    </item>
    <item>
      <title>热补丁：Qzone方案在Art虚拟机上的实现</title>
      <link>https://vimerzhao.top/articles/re-bu-ding-qzonefang-an-zai-artxu-ni-ji-shang-de-shi-xian/</link>
      <pubDate>Sun, 30 Jul 2017 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/re-bu-ding-qzonefang-an-zai-artxu-ni-ji-shang-de-shi-xian/</guid>
      <description>热补丁：Qzone方案在Art虚拟机上的实现 本文对Qzone的超级热补丁方案做了一个简单实现。 引子 当一个App发布之后，突然发现了一个严重bug需要进行紧急修复，这时候公司各方就会忙得焦头烂额：重新打</description>
    </item>
    <item>
      <title>&#39;AI实战:搭建客服机器人&#39;</title>
      <link>https://vimerzhao.top/articles/aishi-zhan-da-jian-ke-fu-ji-qi-ren/</link>
      <pubDate>Sat, 29 Jul 2017 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/aishi-zhan-da-jian-ke-fu-ji-qi-ren/</guid>
      <description>&amp;lsquo;AI实战:搭建客服机器人&amp;rsquo; 本文简要介绍了但前客服机器人的发展情况，并实际开发了一个Demo作为演示。 客服机器人 随着科技发展，廉价劳动力正在不断被淘汰。客服机器人就是这样一个例</description>
    </item>
    <item>
      <title>掌上大工第二版（一）：竞品分析与草图</title>
      <link>https://vimerzhao.top/articles/zhang-shang-da-gong-di-er-ban-yi-jing-pin-fen-xi-yu-cao-tu/</link>
      <pubDate>Tue, 25 Jul 2017 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/zhang-shang-da-gong-di-er-ban-yi-jing-pin-fen-xi-yu-cao-tu/</guid>
      <description>掌上大工第二版（一）：竞品分析与草图 对于掌上大工这个APP最近的思考以及重写的规划。 为何重写 掌上大工这个APP是我在学习Android三个月之后的第一个实战项目，在过去一段时间也算帮了我不少忙，我首先</description>
    </item>
    <item>
      <title>Activity直接退出应用现象</title>
      <link>https://vimerzhao.top/articles/activityzhi-jie-tui-chu-ying-yong-xian-xiang/</link>
      <pubDate>Fri, 14 Jul 2017 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/activityzhi-jie-tui-chu-ying-yong-xian-xiang/</guid>
      <description>Activity直接退出应用现象 Activity的退出顺序应该类似一个栈，但最近一次开发中却发现Activity直接退出了应用，这是为什么呢？ 开发Android应用时，系统一般会维护一个回退栈，比如从</description>
    </item>
    <item>
      <title>&#39;Python爬虫实战:妹子图&#39;</title>
      <link>https://vimerzhao.top/articles/pythonpa-chong-shi-zhan-mei-zi-tu/</link>
      <pubDate>Sun, 02 Jul 2017 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/pythonpa-chong-shi-zhan-mei-zi-tu/</guid>
      <description>&amp;lsquo;Python爬虫实战:妹子图&amp;rsquo; 本文记录了一些爬虫的基础知识，并实现了一个50行左右的爬虫脚本。 前言 看了一些Python的语法后打算做一个小项目练手，打发一下时间。爬虫比较容易</description>
    </item>
    <item>
      <title>Vim键盘布局的起源</title>
      <link>https://vimerzhao.top/articles/vimjian-pan-bu-ju-de-qi-yuan/</link>
      <pubDate>Sun, 25 Jun 2017 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/vimjian-pan-bu-ju-de-qi-yuan/</guid>
      <description>Vim键盘布局的起源 谈了一些关于键盘布局的东西。 Vim的键盘布局 用过Vim编辑器的人都知道，要从插入模式转到正常模式需要用Esc键，并且两种模式的切换在编辑文本时大量存在。但奇怪的是，Esc的位置在键</description>
    </item>
    <item>
      <title>VirtualBox下Debian增强功能的安装</title>
      <link>https://vimerzhao.top/articles/virtualboxxia-debianzeng-qiang-gong-neng-de-an-zhuang/</link>
      <pubDate>Wed, 14 Jun 2017 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/virtualboxxia-debianzeng-qiang-gong-neng-de-an-zhuang/</guid>
      <description>VirtualBox下Debian增强功能的安装 本文记录了如何为VirtualBox里面的Debian虚拟机安装增强功能。 问题记录 之前写过一篇博客记录了VirtualBox下安装增强功能的问题，是在U</description>
    </item>
    <item>
      <title>Linux下配置JDK版本教程</title>
      <link>https://vimerzhao.top/articles/linuxxia-pei-zhi-jdkban-ben-jiao-cheng/</link>
      <pubDate>Mon, 12 Jun 2017 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/linuxxia-pei-zhi-jdkban-ben-jiao-cheng/</guid>
      <description>Linux下配置JDK版本教程 记录了Linux配置JDK版本的方法。 最近，在自己的Ubuntu虚拟及上发现一个奇怪的问题，Java源文件可以编译但不能运行，检查发现原来是编译出来的版本高于JRE的版本</description>
    </item>
    <item>
      <title>关于应届生项目经验的思考</title>
      <link>https://vimerzhao.top/articles/guan-yu-ying-jie-sheng-xiang-mu-jing-yan-de-si-kao/</link>
      <pubDate>Sat, 03 Jun 2017 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/guan-yu-ying-jie-sheng-xiang-mu-jing-yan-de-si-kao/</guid>
      <description>关于应届生项目经验的思考 关于应届生找实习、找工作时项目经验的一些思考。 为什么要有项目经验 功利地说，去面试的时候，如果你一个项目也没有，面试官会觉得你并不是很喜欢编程这份工作，导致面试的时候无话可谈，如</description>
    </item>
    <item>
      <title>2017阿里实习生面试总结</title>
      <link>https://vimerzhao.top/articles/2017a-li-shi-xi-sheng-mian-shi-zong-jie/</link>
      <pubDate>Fri, 02 Jun 2017 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2017a-li-shi-xi-sheng-mian-shi-zong-jie/</guid>
      <description>2017阿里实习生面试总结 阿里面试记录的整理以及一些自己的总结。 5-18 晚上突然接到短信，叫我去预约面试时间。真是一脸蒙蔽，真不知道自己那个笔试怎么过的。。。不过既然拿到面试机会了，就作为一次锻炼自己、了解</description>
    </item>
    <item>
      <title>借助Vim宏处理重复工作</title>
      <link>https://vimerzhao.top/articles/jie-zhu-vimhong-chu-li-zhong-fu-gong-zuo/</link>
      <pubDate>Mon, 29 May 2017 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/jie-zhu-vimhong-chu-li-zhong-fu-gong-zuo/</guid>
      <description>借助Vim宏处理重复工作 记录了一个用Vim宏处理重复操作的例子。 最近写博客时遇到一个问题： 我有一些图片，它们除了图片名的序号不同，比如 launcher-01-debug.png launcher-02-debug.png launcher-03-debug.png launcher-04-debug.png &amp;hellip; 其余都相同 现在我需要把这些图片写在博客里，我该怎么做呢？</description>
    </item>
    <item>
      <title>学习HotSpot（一）：Launcher</title>
      <link>https://vimerzhao.top/articles/xue-xi-hotspot-yi-launcher/</link>
      <pubDate>Mon, 29 May 2017 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/xue-xi-hotspot-yi-launcher/</guid>
      <description>学习HotSpot（一）：Launcher 《Java虚拟机精讲》学习笔记：剖析HotSpot的Launcher。 HotSpot源码目录 可以用tree命令查看源码层次，对源码层次有一定印象有助于学习每个</description>
    </item>
    <item>
      <title>与VirtualBox下Linux虚拟机共享文件</title>
      <link>https://vimerzhao.top/articles/yu-virtualboxxia-linuxxu-ni-ji-gong-xiang-wen-jian/</link>
      <pubDate>Mon, 29 May 2017 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/yu-virtualboxxia-linuxxu-ni-ji-gong-xiang-wen-jian/</guid>
      <description>与VirtualBox下Linux虚拟机共享文件 记录了如何与VirtualBox下的Linux虚拟机共享文件。 最近，需要在Ubuntu虚拟机里面调试HotSpot，截了些图需要在本机上处理一下，所以需</description>
    </item>
    <item>
      <title>OpenJDK7u40编译与调试实战</title>
      <link>https://vimerzhao.top/articles/openjdk7u40bian-yi-yu-diao-shi-shi-zhan/</link>
      <pubDate>Sun, 28 May 2017 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/openjdk7u40bian-yi-yu-diao-shi-shi-zhan/</guid>
      <description>OpenJDK7u40编译与调试实战 记录了第一次编译调试OpenJDK的经过。 JDK与OpenJDK的关系 简单来说，OpenJDK是OracleJDK（也就是我们平时用的Java JDK，由Oracle</description>
    </item>
    <item>
      <title>VirtualBox下虚拟电脑没有光驱</title>
      <link>https://vimerzhao.top/articles/virtualboxxia-xu-ni-dian-nao-mei-you-guang-qu/</link>
      <pubDate>Sun, 28 May 2017 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/virtualboxxia-xu-ni-dian-nao-mei-you-guang-qu/</guid>
      <description>VirtualBox下虚拟电脑没有光驱 记录了VirtualBox虚拟电脑安装增强功能时提示没有光驱的问题。 由于编译openjdk的需要，安装了Ubuntu12.04，但是在安装增强功能时候却遇到了以下</description>
    </item>
    <item>
      <title>操作系统上机总结</title>
      <link>https://vimerzhao.top/articles/cao-zuo-xi-tong-shang-ji-zong-jie/</link>
      <pubDate>Mon, 22 May 2017 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/cao-zuo-xi-tong-shang-ji-zong-jie/</guid>
      <description>操作系统上机总结 记录了操作系统上机的内容以及一点小小的思考。 题目 如下图： 解答 所有的代码都放在CodeBin/OS-Lab目录下。 实验一：进程管理 关于fork的概念理解之后代码不难写，CSAPP讲的很清</description>
    </item>
    <item>
      <title>2017腾讯实习生面试总结</title>
      <link>https://vimerzhao.top/articles/2017teng-xun-shi-xi-sheng-mian-shi-zong-jie/</link>
      <pubDate>Fri, 19 May 2017 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2017teng-xun-shi-xi-sheng-mian-shi-zong-jie/</guid>
      <description>2017腾讯实习生面试总结 之前腾讯面试的记录，明天要参加阿里远程面试了，今天整理一下，以防积压！ 4-23 昨晚收到面试通知，明天面。之前一直没消息，还以为挂了。也给自己提了个醒，时刻准备才能占据主动，所以要高</description>
    </item>
    <item>
      <title>GVim中GLib-GObject-WARNING问题的解决办法</title>
      <link>https://vimerzhao.top/articles/gvimzhong-glib-gobject-warningwen-ti-de-jie-jue-ban-fa/</link>
      <pubDate>Sat, 29 Apr 2017 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/gvimzhong-glib-gobject-warningwen-ti-de-jie-jue-ban-fa/</guid>
      <description>GVim中GLib-GObject-WARNING问题的解决办法 本文记录了一个在命令行启动GVim时遇到的问题及其解决办法。 问题 今天发现在命令行模式下启动GVim会出现一个小问题： zhaoyu@Dell ~ $ vim .vim (gvim:12853): GLib-GObject-WARNING **: cannot retrieve</description>
    </item>
    <item>
      <title>纪念一个：博客全自动管理</title>
      <link>https://vimerzhao.top/articles/ji-nian-yi-ge-bo-ke-quan-zi-dong-guan-li/</link>
      <pubDate>Sat, 29 Apr 2017 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/ji-nian-yi-ge-bo-ke-quan-zi-dong-guan-li/</guid>
      <description>纪念一个：博客全自动管理 本文记录了我的博客使用进阶之路。 首先感慨一下自己两年以来使用博客的经历。最初，我在CSDN上注册了帐号，并开始写一些中二的技术博客： 后来又转战博客园，因为CSDN的强行植入广告</description>
    </item>
    <item>
      <title>大端（Big Endian）与小端（Little Endian）</title>
      <link>https://vimerzhao.top/articles/da-duan-big-endian-yu-xiao-duan-little-endian/</link>
      <pubDate>Thu, 27 Apr 2017 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/da-duan-big-endian-yu-xiao-duan-little-endian/</guid>
      <description>大端（Big Endian）与小端（Little Endian） 本文记录了计算机中存在的两种数据存储模式及其对网络编程的影响。 内存抽象 在较高层次上，可以把内存抽象成一个很大的数组。唯一不同的是，一个元素(</description>
    </item>
    <item>
      <title>TCP连接的建立与释放</title>
      <link>https://vimerzhao.top/articles/tcplian-jie-de-jian-li-yu-shi-fang/</link>
      <pubDate>Fri, 21 Apr 2017 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/tcplian-jie-de-jian-li-yu-shi-fang/</guid>
      <description>TCP连接的建立与释放 本文通过实际抓包验证了TCP连接建立与释放的方式。 关于计算机网络 我在大三上修了计算机网络这门课，这门课真是我大学最差的记忆之一。教授这门课的老师水平很低，以至于辅导员安排另一位老</description>
    </item>
    <item>
      <title>C语言实现IPv6抓包程序</title>
      <link>https://vimerzhao.top/articles/cyu-yan-shi-xian-ipv6zhua-bao-cheng-xu/</link>
      <pubDate>Wed, 19 Apr 2017 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/cyu-yan-shi-xian-ipv6zhua-bao-cheng-xu/</guid>
      <description>C语言实现IPv6抓包程序 本文记录了如何借助libpcap实现一个简单的抓包程序。 准备 对于实现一个抓包程序，最重要的是熟悉每种协议。熟悉协议包括两部分：每个协议具体字段的意义和每个协议在C语言中对应的</description>
    </item>
    <item>
      <title>笔试总结：LINE2018实习生（软件工程师）</title>
      <link>https://vimerzhao.top/articles/bi-shi-zong-jie-line2018shi-xi-sheng-ruan-jian-gong-cheng-shi/</link>
      <pubDate>Tue, 18 Apr 2017 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/bi-shi-zong-jie-line2018shi-xi-sheng-ruan-jian-gong-cheng-shi/</guid>
      <description>笔试总结：LINE2018实习生（软件工程师） 2018LINE实习生笔试题总结。 今晚LINE和头条的笔试时间冲突，还是选了LINE，因为打算体验一次笔试答题。 简答题 第一题问的是中断是什么，为什么要有中</description>
    </item>
    <item>
      <title>Vim的哲学</title>
      <link>https://vimerzhao.top/articles/vimde-zhe-xue/</link>
      <pubDate>Thu, 13 Apr 2017 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/vimde-zhe-xue/</guid>
      <description>Vim的哲学 本文记录了我在现阶段对Vim的一些思考。 我用过的开发工具 回想起来，我大概是在大一的寒假快要结束的时候接触了编程语言，我还记得自己按照教程，用gcc编译并输出了HelloWorld。当时，我</description>
    </item>
    <item>
      <title>笔试总结：携程2018实习生（安卓开发工程师）</title>
      <link>https://vimerzhao.top/articles/bi-shi-zong-jie-xi-cheng-2018shi-xi-sheng-an-zhuo-kai-fa-gong-cheng-shi/</link>
      <pubDate>Tue, 11 Apr 2017 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/bi-shi-zong-jie-xi-cheng-2018shi-xi-sheng-an-zhuo-kai-fa-gong-cheng-shi/</guid>
      <description>笔试总结：携程2018实习生（安卓开发工程师） 时间：2017-4-11，19：00～21：00。 选择题 10个数学智力题，10个Android题。数学智力题花了半个钟头，感觉还是有几题没把握，结果没想到</description>
    </item>
    <item>
      <title>Build Your Own Lisp中的闲言碎语</title>
      <link>https://vimerzhao.top/articles/build-your-own-lispzhong-de-xian-yan-sui-yu/</link>
      <pubDate>Sat, 08 Apr 2017 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/build-your-own-lispzhong-de-xian-yan-sui-yu/</guid>
      <description>Build Your Own Lisp中的闲言碎语 Build Your Own Lisp中的一些摘录。 前不久，读完了Build Your Own Lisp。作者用C语言写了一个简单的Lisp解释器，代码之精妙、设计之优雅确实让我受益匪浅！ 不过，除了跟着作者写代码，</description>
    </item>
    <item>
      <title>关于C/C&#43;&#43;中指针自增运算符的思考</title>
      <link>https://vimerzhao.top/articles/guan-yu-c-c-zhong-zhi-zhen-zi-zeng-yun-suan-fu-de-si-kao/</link>
      <pubDate>Thu, 06 Apr 2017 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/guan-yu-c-c-zhong-zhi-zhen-zi-zeng-yun-suan-fu-de-si-kao/</guid>
      <description>关于C/C++中指针自增运算符的思考 本文记录了C/C++中指针自增运算的一些微妙特性。 问题引入 C代码： #include &amp;lt;stdio.h&amp;gt; int main(int argc, char const* argv[]) { int a = 1, *p = &amp;amp;a; ++++p; ++p++; return 0; } C++代码： #include &amp;lt;bits/stdc++.h&amp;gt; int main(int argc, char const* argv[]) { int a = 1, *p = &amp;amp;a; ++++p; ++p++; return 0; } 编</description>
    </item>
    <item>
      <title>踩坑记：LinuxMint18字体变为楷体的修复</title>
      <link>https://vimerzhao.top/articles/cai-keng-ji-linuxmint18zi-ti-bian-wei-kai-ti-de-xiu-fu/</link>
      <pubDate>Sat, 25 Mar 2017 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/cai-keng-ji-linuxmint18zi-ti-bian-wei-kai-ti-de-xiu-fu/</guid>
      <description>踩坑记：LinuxMint18字体变为楷体的修复 本文记录了一次修复系统字体的经历。 起因 起因很奇怪，本来打算今天把动态规划算法好好研究一番，结果一大早起来发现中文输入法消失了！因为之前有次发生这种情况是</description>
    </item>
    <item>
      <title>时间复杂度计算类题目两则</title>
      <link>https://vimerzhao.top/articles/shi-jian-fu-za-du-ji-suan-lei-ti-mu-liang-ze/</link>
      <pubDate>Sat, 25 Mar 2017 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/shi-jian-fu-za-du-ji-suan-lei-ti-mu-liang-ze/</guid>
      <description>时间复杂度计算类题目两则 本文记录了两则具有代表性的算法复杂度计算题目。 题目1 分析以下代码的时间复杂度: for (int i = 0; i &amp;lt; n; i++) { for (int j = 0; j &amp;lt; i; j++) { for (int k = 0; k &amp;lt; j; k++) { // operations } } } 注：以上代码只作示意，未详细</description>
    </item>
    <item>
      <title>踩坑记：从C&#43;&#43;变量到Java引用</title>
      <link>https://vimerzhao.top/articles/cai-keng-ji-cong-c-bian-liang-dao-javayin-yong/</link>
      <pubDate>Fri, 24 Mar 2017 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/cai-keng-ji-cong-c-bian-liang-dao-javayin-yong/</guid>
      <description>踩坑记：从C++变量到Java引用 本文介绍了Java和C++中变量名（对象类型）的细微差别。 问题引入 问题的产生自另一个题目: 请实现一种数据结构SetOfStacks，由多个栈组成，其中每个栈的大小为s</description>
    </item>
    <item>
      <title>外排序</title>
      <link>https://vimerzhao.top/articles/wai-pai-xu/</link>
      <pubDate>Mon, 20 Mar 2017 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/wai-pai-xu/</guid>
      <description>外排序 初探如何对大规模数据进行排序。 问题 问题描述很简单，如何对大规模数据进行排序，比如说一个30G的文件。 分析 解决这个问题主要要解决两件事。第一件就是大文件显然无法一次读入内存，所以只能一次读入一部分</description>
    </item>
    <item>
      <title>&#39;C语言中不带{}的代码块&#39;</title>
      <link>https://vimerzhao.top/articles/cyu-yan-zhong-bu-dai-de-dai-ma-kuai/</link>
      <pubDate>Thu, 16 Mar 2017 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/cyu-yan-zhong-bu-dai-de-dai-ma-kuai/</guid>
      <description>&amp;lsquo;C语言中不带{}的代码块&amp;rsquo; 本文讨论了C99中的一个新特性：不带{}的代码块。以及阅读编程语言教程的一种新思路。 问题 在阅读C Primer Plus325页时遇到以下一句话： 先前曾提到C99</description>
    </item>
    <item>
      <title>C语言宏展开的顺序问题</title>
      <link>https://vimerzhao.top/articles/cyu-yan-hong-zhan-kai-de-shun-xu-wen-ti/</link>
      <pubDate>Tue, 14 Mar 2017 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/cyu-yan-hong-zhan-kai-de-shun-xu-wen-ti/</guid>
      <description>C语言宏展开的顺序问题 本文记录了作者遇到的一个关于C语言宏展开顺序的问题及其解释。 问题 这是我在阅读The C Puzzle Book一书中遇到的一个问题，为了简化问题，我写了以下一段代码 #include &amp;lt;stdio.h&amp;gt; #define TEST(x) x*5 #define PR(x) printf(#x &amp;#34; = %d&amp;#34;, x) #define PRINT1(x) PR(x);printf(&amp;#34;\n&amp;#34;)</description>
    </item>
    <item>
      <title>git 每次提交需要输入密码</title>
      <link>https://vimerzhao.top/articles/2017-git-requires-a-password-for-each-commit/</link>
      <pubDate>Mon, 06 Mar 2017 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2017-git-requires-a-password-for-each-commit/</guid>
      <description>亲测可行（第一种） 原文：git每次提交都要输入密码怎么办 ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝COPY＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ 不少用户反映在使用Git时，经常会遇到需要频繁输入</description>
    </item>
    <item>
      <title>hexo &#43; next 搭建博客时Cannot GET /tags/问题处理</title>
      <link>https://vimerzhao.top/articles/2017-hexo-next-cannot-get-tags-problem-handling-when-building-a-blog/</link>
      <pubDate>Sun, 05 Mar 2017 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2017-hexo-next-cannot-get-tags-problem-handling-when-building-a-blog/</guid>
      <description>原来是要修改新建的index.md文件，不仔细。 此外，愈发觉得百度和谷歌搜索同一问题的差距，谷歌更适合程序员！ https://www.zhihu.com/question/29017171 这个可以解决。但是github的issue里面也有很多有益讨论。</description>
    </item>
    <item>
      <title>wc命令统计目录下所有文件行数</title>
      <link>https://vimerzhao.top/articles/2017-the-wc-command-counts-the-number-of-lines-in-all-files-in-a-directory/</link>
      <pubDate>Wed, 01 Mar 2017 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2017-the-wc-command-counts-the-number-of-lines-in-all-files-in-a-directory/</guid>
      <description>想统计一下最近一个项目的代码行数，一个一个文件统计显然不是程序员的思维，wc命令可以统计一个文本的行数，结合find命令可以实现我的需求（注意符号）：</description>
    </item>
    <item>
      <title>《Android项目实战－－手机安全卫士》读后感</title>
      <link>https://vimerzhao.top/articles/2017-thoughts-after-reading-android-project-practice-mobile-security-guard/</link>
      <pubDate>Sat, 25 Feb 2017 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2017-thoughts-after-reading-android-project-practice-mobile-security-guard/</guid>
      <description>上学期在学校图书馆看到此书，觉得比较贴近实践，于是寒假研究了一番，也算是体会了一把社会培训机构的模式。 由于时间关系，最后两章还没弄完，但感觉每章节的流程相似，加之马上要回学校了，所以打算在家的最后一天</description>
    </item>
    <item>
      <title>LinuxMint自定义快捷键</title>
      <link>https://vimerzhao.top/articles/2017-linuxmint-custom-shortcut-keys/</link>
      <pubDate>Fri, 24 Feb 2017 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2017-linuxmint-custom-shortcut-keys/</guid>
      <description>如图</description>
    </item>
    <item>
      <title>Java逆向之UML查看工具（检索记录）</title>
      <link>https://vimerzhao.top/articles/2017-uml-viewing-tool-for-java-reverse-engineering-retrieval-records/</link>
      <pubDate>Thu, 23 Feb 2017 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2017-uml-viewing-tool-for-java-reverse-engineering-retrieval-records/</guid>
      <description>花了几个钟头时间，搜索了一下，如何从源代码得到UML,因为WCI（Writing Compilers and Interpreters,下同）越往后代码越多，必须得借助工具才能把握整个工程了。初次涉猎此方面，花了不少时间，感觉</description>
    </item>
    <item>
      <title>ClassNotFoundException------IDEA下的一种原因</title>
      <link>https://vimerzhao.top/articles/2017-classnotfoundexception-a-reason-under-idea/</link>
      <pubDate>Tue, 21 Feb 2017 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2017-classnotfoundexception-a-reason-under-idea/</guid>
      <description>由于直接复制文件而未经过IDE造成次异常，需要修改程序入口：</description>
    </item>
    <item>
      <title>ClassNotFoundException------我有一句妈卖批一定要讲</title>
      <link>https://vimerzhao.top/articles/2017-classnotfoundexception-i-have-a-saying-that-i-must-say-when-i-sell-batches/</link>
      <pubDate>Tue, 21 Feb 2017 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2017-classnotfoundexception-i-have-a-saying-that-i-must-say-when-i-sell-batches/</guid>
      <description>最近在写《Writing Compilers and Interpreters》一书的代码，本来打算用vim敲代码，一来每个字母都要自己敲，而来就当练习vim，但是感觉真是太不方便了，各种小错误，而且更奇怪的是放在这个目录不报</description>
    </item>
    <item>
      <title>diff命令的妙用</title>
      <link>https://vimerzhao.top/articles/2017-the-wonderful-use-of-diff-command/</link>
      <pubDate>Tue, 21 Feb 2017 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2017-the-wonderful-use-of-diff-command/</guid>
      <description>在读《Writing compilers and Interpreters》一书时需要按章节修改代码，由于实在一行一行比对实在难受，于是想了个办法，利用diff命令比较两章之间代码的修改位置，大大提高效率！ 此外，还可以利用该命</description>
    </item>
    <item>
      <title>如何申请一个谷歌账号</title>
      <link>https://vimerzhao.top/articles/2017-how-to-apply-for-a-google-account/</link>
      <pubDate>Fri, 10 Feb 2017 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2017-how-to-apply-for-a-google-account/</guid>
      <description>最近想把之前那个十分中二的谷歌邮箱账号（zhaoyu1995.com@gmail.com）换掉，但是发现电脑注册总是无法验证（也不记得之前是怎么申请到账号的）: 经过一番搜索，发现了一个可以解决的办法，</description>
    </item>
    <item>
      <title>《两周自制脚本语言》读后感</title>
      <link>https://vimerzhao.top/articles/2017-thoughts-after-reading-two-weeks-of-homemade-scripting-language/</link>
      <pubDate>Tue, 07 Feb 2017 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2017-thoughts-after-reading-two-weeks-of-homemade-scripting-language/</guid>
      <description>粗略读完了本书，说实话比我想象的好。之前在学校就把基础部分（1-10章）过了一遍，回家之后比较懒，但终于看完了，代码也很好，可惜很多自己都没亲手敲。从消化程度来说，打算回学校之前再精读一遍，并敲完说有</description>
    </item>
    <item>
      <title>Java开发图片浏览器－－记录</title>
      <link>https://vimerzhao.top/articles/2017-java-development-picture-browser-record/</link>
      <pubDate>Fri, 03 Feb 2017 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2017-java-development-picture-browser-record/</guid>
      <description>效果 设计思路 需求分析 图片浏览，上/下一张，放大缩小等基本功能。可以继续拓展的功能：缩略图、旋转，画笔修改等。此外，缩放实现较为简单，所以会出现失真。设计此类软件功能可参考ACDSee或irfanvie</description>
    </item>
    <item>
      <title>spf13-vim 显示neocomplete requires ...th Lua support</title>
      <link>https://vimerzhao.top/articles/2017-spf13-vim-show-neocomplete-requires-th-lua-support/</link>
      <pubDate>Sat, 28 Jan 2017 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2017-spf13-vim-show-neocomplete-requires-th-lua-support/</guid>
      <description>安装spf13-vim的时候下载了许多插件，neocomplete应该是比较重要的一个，毕竟自动补全。但是在使用时却一直有：neocomplete requires &amp;hellip;th Lua support的警告。据说要在编译时加入相关选项</description>
    </item>
    <item>
      <title>spf13-vim安装成功</title>
      <link>https://vimerzhao.top/articles/2017-spf13-vim-installed-successfully/</link>
      <pubDate>Sat, 28 Jan 2017 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2017-spf13-vim-installed-successfully/</guid>
      <description>之前安装好像都没有出现这个画面，说明我安装得不完整吧！有一个html括号匹配的插件要求输入username和password，不知所以然，没安装上，其他应该一切正常。纪念一个！</description>
    </item>
    <item>
      <title>记Linux下一次乱码事件</title>
      <link>https://vimerzhao.top/articles/2017-remember-the-next-garbled-code-incident-in-linux/</link>
      <pubDate>Thu, 26 Jan 2017 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2017-remember-the-next-garbled-code-incident-in-linux/</guid>
      <description>近来需要对着教程敲代码，但是之前在Windows上的压缩包在Linux解压后发生了乱码，主要是文件内乱码，文件名还是正常的。搜索“Linux rar解压乱码“试了一圈也没解决。不过到是发现了winrar</description>
    </item>
    <item>
      <title>Common Lisp学习资源整理</title>
      <link>https://vimerzhao.top/articles/2017-common-lisp-learning-resources-collection/</link>
      <pubDate>Tue, 24 Jan 2017 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2017-common-lisp-learning-resources-collection/</guid>
      <description>Lisp Hackers: Interviews with 100x More Productive Programmers Posted on June 26th, 2013 Lisp Hackers: Interviews with 100x More Productive Programmers, by Vsevolod Dyomkin, is available for free in multiple formats from Leanpub. Let Over Lambda Posted on November 18th, 2009 Free online book “Let Over Lambda” is one of the most hardcore computer programming books out there. Lisp Primer Posted on March 24th, 2006 This text has been written to provide a quick introduction to the basic elements of Common Lisp for both experienced and novice programmers. It is not</description>
    </item>
    <item>
      <title>Linux下如何编辑pdf文件目录</title>
      <link>https://vimerzhao.top/articles/2017-how-to-edit-pdf-file-directory-under-linux/</link>
      <pubDate>Tue, 24 Jan 2017 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2017-how-to-edit-pdf-file-directory-under-linux/</guid>
      <description>目前，我使用的是系统LinuxMint,之前硬盘没坏时都是用Foxit Reader和Okular查看pdf文件，可是后来发现Foxit Reader十分吃CPU，而且现在换了固态硬盘之后只有120G可用</description>
    </item>
    <item>
      <title>安装lispbox出现：error while loading shared libraries: libjpeg.so.62: cannot open shared object file: No such file or directory</title>
      <link>https://vimerzhao.top/articles/2017-installing-lispbox-appears-error-while-loading-shared-libraries-libjpeg-so-62-cannot-open-shared-obj/</link>
      <pubDate>Thu, 19 Jan 2017 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2017-installing-lispbox-appears-error-while-loading-shared-libraries-libjpeg-so-62-cannot-open-shared-obj/</guid>
      <description>如下图，运行lispbox出现如下报错（第一个命令）： 检索之后发现解决办法：Solution to libjpeg.so.62 输入一下两条命令（第二条也必须执行）： sudo apt-get upgrade sudo apt-get install libjpeg62-dev // if not 62-dev, the apt will tell you it can not locate the package libjpeg62 解决问题： 蛤蛤蛤！抓</description>
    </item>
    <item>
      <title>Linux下修改键盘映射</title>
      <link>https://vimerzhao.top/articles/2017-modify-keyboard-mapping-under-linux/</link>
      <pubDate>Mon, 16 Jan 2017 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2017-modify-keyboard-mapping-under-linux/</guid>
      <description>一篇关于修改键盘映射比较靠谱的文章，收藏一下！ 原文地址：http://www.07net01.com/2016/04/1436249.html 最近把可乐倒进键盘把，把 ctl 变得阻力超大。。。所以把 ctrl 和 capslock 两</description>
    </item>
    <item>
      <title>记一次奇怪的电脑故障</title>
      <link>https://vimerzhao.top/articles/2017-remember-a-strange-computer-glitch/</link>
      <pubDate>Mon, 16 Jan 2017 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2017-remember-a-strange-computer-glitch/</guid>
      <description>一切都要从计原复习开始，因为老师给的PPT在Linux的WPS下看老乱码，于是我就换到了Windows（当时是双系统）。结果回来一看： 看了一会，还是0%，干脆强制关机了。结果，再次开机，出现了之前从未</description>
    </item>
    <item>
      <title>百度与谷歌的差别，英文检索的重要性</title>
      <link>https://vimerzhao.top/articles/2017-the-difference-between-baidu-and-google-the-importance-of-english-search/</link>
      <pubDate>Tue, 10 Jan 2017 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2017-the-difference-between-baidu-and-google-the-importance-of-english-search/</guid>
      <description>小记 其实这种差距对普通人来说并不重要，但对于程序员来说，学会Google和英文检索实在是太重要了。我一个建艺的同学在我推荐谷歌（我教她翻墙）之后，说她经常能找到很多其他同学搜索不到的图片（专业需要）。</description>
    </item>
    <item>
      <title>你今天的习惯决定了你将来的位置</title>
      <link>https://vimerzhao.top/articles/2017-your-habits-today-determine-where-you-will-be-in-the-future/</link>
      <pubDate>Fri, 06 Jan 2017 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2017-your-habits-today-determine-where-you-will-be-in-the-future/</guid>
      <description>一个不错的视频，部分截图，借以自勉（当然啦，我说的是编程&amp;hellip;&amp;hellip;..）：</description>
    </item>
    <item>
      <title>Coursera上一个不错的Java课</title>
      <link>https://vimerzhao.top/articles/2017-a-good-java-class-on-coursera/</link>
      <pubDate>Thu, 05 Jan 2017 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2017-a-good-java-class-on-coursera/</guid>
      <description>地址：https://www.coursera.org/learn/java-chengxu-sheji/home/welcome 复习天昏地暗，看点视频调剂一下。发现这个讲的还是很不错的。北大毕竟比我</description>
    </item>
    <item>
      <title>无限制使用ppt转pdf功能</title>
      <link>https://vimerzhao.top/articles/2017-unlimited-use-of-ppt-to-pdf-function/</link>
      <pubDate>Mon, 02 Jan 2017 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2017-unlimited-use-of-ppt-to-pdf-function/</guid>
      <description>https://smallpdf.com/cn是一个pdf处理网站，十分好用，可是非注册用户有很多限制，比如用两次ppt转pdf就要等待： 于是就想如何让服务器认为我没有用过这个功能呢，感觉应该是用co</description>
    </item>
    <item>
      <title>2016年终总结</title>
      <link>https://vimerzhao.top/articles/2016nian-zhong-zong-jie/</link>
      <pubDate>Sat, 31 Dec 2016 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2016nian-zhong-zong-jie/</guid>
      <description>2016年终总结 2016年的最后一天，按照惯例，我该写点什么。 嗯，时间过得真快。刚刚把自己的空间、朋友圈、微博翻了一遍。发现这一年确实是最平淡的一年了，没用一会功夫就看完了。其实，我自己也感受到了，这</description>
    </item>
    <item>
      <title>Linux下使用Hexo搭建github博客</title>
      <link>https://vimerzhao.top/articles/2016-using-hexo-to-build-a-github-blog-under-linux/</link>
      <pubDate>Sat, 31 Dec 2016 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2016-using-hexo-to-build-a-github-blog-under-linux/</guid>
      <description>找到一篇靠谱的博客，备份一下： －－－－－－－－－以下原文－－－－－－－－－－－－－－－－－－ Nodejs安装 因为hexo是基于nodejs的应用，所以要先安装nodejs才可以。我这里以Ubuntu为</description>
    </item>
    <item>
      <title>一件小事，一点感慨</title>
      <link>https://vimerzhao.top/articles/2016-a-little-thing-a-little-emotion/</link>
      <pubDate>Thu, 29 Dec 2016 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2016-a-little-thing-a-little-emotion/</guid>
      <description>大概昨晚，同学找我说大作业遇到点困难，想找我过去帮忙调调代码： 确实，很多细节都忘了。而且他们做的什么利用传感器，传输数据我之前也没接触过。但还是去了，花了3个多钟头基本解决问题。其实浪费时间较多的就是</description>
    </item>
    <item>
      <title>Linux创建WiFi热点</title>
      <link>https://vimerzhao.top/articles/2016-create-wifi-hotspot-in-linux/</link>
      <pubDate>Tue, 27 Dec 2016 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2016-create-wifi-hotspot-in-linux/</guid>
      <description>手机流量用完，需要开WiFi,由于是LinuxMint,感觉配置还算容易，找到一个不错的教程，收藏一下，以备后用。除了修改配置文件那步在我的电脑不需要外其他基本正确，而且Mint本来就衍生自Ubunt</description>
    </item>
    <item>
      <title>Linux下几款好用的录屏软件</title>
      <link>https://vimerzhao.top/articles/2016-several-useful-screen-recording-software-under-linux/</link>
      <pubDate>Mon, 26 Dec 2016 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2016-several-useful-screen-recording-software-under-linux/</guid>
      <description>最近需要在Linux环境下录制一段视频，自己的Linux是LinuxMint Xfce 18,网上搜了一圈发现都不太顺手。尤其是VLC,感觉不是很易用，幸好最后在Linux自带的软件管理器找到了两个不错的软件。</description>
    </item>
    <item>
      <title>《黑客反汇编揭秘》(2e)推荐书单</title>
      <link>https://vimerzhao.top/articles/2016-secrets-of-hacker-disassembly-2e-recommended-book-list/</link>
      <pubDate>Wed, 21 Dec 2016 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2016-secrets-of-hacker-disassembly-2e-recommended-book-list/</guid>
      <description>Must-Read Books and Other References Books on C/C++: The C Programming Language by Brian W. Kernighan and Dennis M. Ritchie. Prentice Hall, 1988. The author’s description of C as defined by American National Standard Institute (ANSI), also called the “Old Testament.” It is old-fashioned but remains a must-read. This book also has a home page: http://cm.bell-labs.com/cm/cs/cbook/index.html. 1001 Visual C++ Programming Tips, first edition, by Kris Jamsa. Muska &amp;amp; Lipman, 2001. Not the “Old Test</description>
    </item>
    <item>
      <title>PL/0编译器实践---后记</title>
      <link>https://vimerzhao.top/articles/2016-pl-0-compiler-practice-postscript/</link>
      <pubDate>Tue, 20 Dec 2016 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2016-pl-0-compiler-practice-postscript/</guid>
      <description>花了几天时间，把清华版的《编译原理》一书中的PL/0编译器实践了一遍。颇有收获，记录如下： 理解代码的技巧，如何理解一份代码，比如这个程序，其逻辑相对于一般程序就比较复杂了，如何翻译，虚拟机代码执行时数</description>
    </item>
    <item>
      <title>《Just for Fun》读后感</title>
      <link>https://vimerzhao.top/articles/2016-thoughts-after-reading-just-for-fun/</link>
      <pubDate>Sun, 11 Dec 2016 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2016-thoughts-after-reading-just-for-fun/</guid>
      <description>这本书有一个长长的中文名字：《只是为了好玩：Linux之父林纳斯自传》，所以博客标题我就用英文书名了。 读罢此书，不禁想起一位长者的名言：“一个人的成功当然要靠自我奋斗，但也要考虑历史的进程”。可以说L</description>
    </item>
    <item>
      <title>编程的美妙</title>
      <link>https://vimerzhao.top/articles/2016-the-beauty-of-programming/</link>
      <pubDate>Sun, 11 Dec 2016 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2016-the-beauty-of-programming/</guid>
      <description>摘自Linus自传《Just for fun》 为什么对编程这么狂热，我自己也解释不来。我姑且说说看吧：在编程的人看来，编程是世上最有意思的事情了。它要比国际象棋之类的游戏复杂得多，你想要什么规则都可以自己设定</description>
    </item>
    <item>
      <title>《C编译器剖析》后记</title>
      <link>https://vimerzhao.top/articles/2016-postscript-to-analysis-of-a-c-compiler/</link>
      <pubDate>Wed, 07 Dec 2016 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2016-postscript-to-analysis-of-a-c-compiler/</guid>
      <description>这本书的序言、后记写的都让我很有感触！mark： 后 记 总有曲终人散时，不知不觉我们已经完成了对UCC 编译器的剖析，一路走来，最深的体会仍然是“纸上得来终觉浅，绝知此事要躬行”。按这个道理，理解UCC 编译</description>
    </item>
    <item>
      <title>VirtualBox安装MS-DOS6.22（图文教程）</title>
      <link>https://vimerzhao.top/articles/2016-virtualbox-installation-ms-dos6-22-graphic-tutorial/</link>
      <pubDate>Tue, 06 Dec 2016 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2016-virtualbox-installation-ms-dos6-22-graphic-tutorial/</guid>
      <description>最近在读一些计算机发展史之类的文献，总感觉的纸上得来终觉浅，所以打算自己装一个MS-DOS，体验一下远古的操作系统！可以google到MS-DOS的安装文件： 为什么要分成三个呢？可以看到，每个大小都是</description>
    </item>
    <item>
      <title>windows使用git时出现：warning: LF will be replaced by CRLF</title>
      <link>https://vimerzhao.top/articles/2016-when-using-git-in-windows-warning-lf-will-be-replaced-by-crlf/</link>
      <pubDate>Mon, 05 Dec 2016 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2016-when-using-git-in-windows-warning-lf-will-be-replaced-by-crlf/</guid>
      <description>windows中的换行符为 CRLF， 而在linux下的换行符为LF，所以在执行add . 时出现提示： 执行以下代码 $ rm -rf .git // 删除.git $ git config --global core.autocrlf false //禁用自动转换 $ git init $ git add . OK</description>
    </item>
    <item>
      <title>使用hexo，如果换了电脑怎么更新博客？</title>
      <link>https://vimerzhao.top/articles/2016-using-hexo-how-do-i-update-my-blog-if-i-change-my-computer/</link>
      <pubDate>Mon, 05 Dec 2016 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2016-using-hexo-how-do-i-update-my-blog-if-i-change-my-computer/</guid>
      <description>自己今天想到这个问题，于是去知乎搜索了一番，发现不甚理想。没找到合适的，题目就是知乎原题。只好自己解决了。以下直接把自己的答案粘贴过来 今天我突然想到这个问题，想来参考参考，却发现都不太适合我。首先，我</description>
    </item>
    <item>
      <title>LinuxMint配置GitHub（图文教程）</title>
      <link>https://vimerzhao.top/articles/2016-linuxmint-configuration-github-graphic-tutorial/</link>
      <pubDate>Sat, 03 Dec 2016 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2016-linuxmint-configuration-github-graphic-tutorial/</guid>
      <description>1.生成秘钥（直接回车，秘钥存放路径看命令行信息） ２．打开秘钥，需要注意的是**.ssh可能是隐藏的，这时需要Ctrl+H**显示隐藏文件夹 ３．复制秘钥，添加到GitHub(Settings)， 4.添</description>
    </item>
    <item>
      <title>Linux问题处理： stdio.h: No such file or directory linux</title>
      <link>https://vimerzhao.top/articles/2016-linux-problem-handling-stdio-h-no-such-file-or-directory-linux/</link>
      <pubDate>Sat, 03 Dec 2016 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2016-linux-problem-handling-stdio-h-no-such-file-or-directory-linux/</guid>
      <description>本来打算编译一下《自制编程语言》一书的代码，结果提示错误： 其实说的还是很清楚的，一般出现这种情况都是没有安装相应的库，所以： 再次编译，成功： 测试代码： # comment print(&amp;#34;hoge\tpiyo\n\\zn&amp;#34;); print(&amp;#34;abc\n&amp;#34;); print(&amp;#34;3 + 5..&amp;#34; + (3 + 5) + &amp;#34;\n&amp;#34;); print(&amp;#34;3 - 5..&amp;#34; + (3 - 5) + &amp;#34;\n&amp;#34;); print(&amp;#34;3 + -5..&amp;#34;</description>
    </item>
    <item>
      <title>浅谈日系技术书籍</title>
      <link>https://vimerzhao.top/articles/2016-a-brief-discussion-on-japanese-technical-books/</link>
      <pubDate>Fri, 02 Dec 2016 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2016-a-brief-discussion-on-japanese-technical-books/</guid>
      <description>最近正在读**《C程序性能优化&amp;mdash;20个实验与达人技巧》**，真是又大开眼界了一次。不禁想起最近读过的几本日系技术书籍。 首先不得不说的就是这本书和很像的很早之前看过的一本叫**《短码之美》的</description>
    </item>
    <item>
      <title>UEFI模式安装Win10和Linux双系统</title>
      <link>https://vimerzhao.top/articles/2016-install-win10-and-linux-dual-systems-in-uefi-mode/</link>
      <pubDate>Thu, 01 Dec 2016 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2016-install-win10-and-linux-dual-systems-in-uefi-mode/</guid>
      <description>最近心血来潮，想装一个Linux、Windows双系统，吸取上次安装的经验，这次一定都要使用UEFI模式启动，需要注意的是必须是支持此种启动模式的系统（一般解压之后都有efi文件夹不需要刻录），这次遇</description>
    </item>
    <item>
      <title>编译原理实践:计算器</title>
      <link>https://vimerzhao.top/articles/2016-compilation-principles-in-practice-calculator/</link>
      <pubDate>Tue, 29 Nov 2016 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2016-compilation-principles-in-practice-calculator/</guid>
      <description>概述 本博客主要讲述如何利用编译原理的知识实现一个控制台计算器.如果之前利用栈(在学数据结构的时候)实现过计算器,一定会有所印象,写一个计算器程序最重要的就是把握运算优先级了.而本文换一个角度,利用文法</description>
    </item>
    <item>
      <title>DOSBOX 自动挂载技巧</title>
      <link>https://vimerzhao.top/articles/2016-dosbox-automatic-mounting-skills/</link>
      <pubDate>Wed, 16 Nov 2016 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2016-dosbox-automatic-mounting-skills/</guid>
      <description>DOSBOX下载之后，win10已经不支持debug了（win-XP虚拟机有！），所以需要单独下载，每次使用都需要挂载上去，十分不方便。 解决办法是修改属性文件，每次挂载都自动执行: 把编写好的汇编文件放</description>
    </item>
    <item>
      <title>JS写小游戏（一）：游戏框架</title>
      <link>https://vimerzhao.top/articles/2016-writing-small-games-with-js-1-game-framework/</link>
      <pubDate>Tue, 15 Nov 2016 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2016-writing-small-games-with-js-1-game-framework/</guid>
      <description>前言 前一阵发现一个不错的网站，都是一些用html5+css+js写的小游戏，于是打算学习一番，写下这个系列博客主要是为了加深理解，当然也有一些个人感悟，如果英文好可以直接Click Here. 概述 一般，小游戏都</description>
    </item>
    <item>
      <title>写给程序员的《醒世恒言》(更....)</title>
      <link>https://vimerzhao.top/articles/2016-eternal-words-to-awaken-the-world-written-for-programmers-more/</link>
      <pubDate>Sun, 13 Nov 2016 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2016-eternal-words-to-awaken-the-world-written-for-programmers-more/</guid>
      <description>1.《C编译器剖析》序（节选）： 能写出工业水准的操作系统和编译器的人绝对是大牛，而写出来的操作系统和编译器能被业界普遍接受，则需要命运和机遇的垂青。大部分程序员注定是成为高级或低级的“码农”，成为软件</description>
    </item>
    <item>
      <title>短语、直接短语与句柄</title>
      <link>https://vimerzhao.top/articles/2016-phrases-direct-phrases-and-handles/</link>
      <pubDate>Wed, 09 Nov 2016 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2016-phrases-direct-phrases-and-handles/</guid>
      <description>问题背景 定义 举例 直观解释：</description>
    </item>
    <item>
      <title>一点牢骚------关于所谓的“不必要知识”</title>
      <link>https://vimerzhao.top/articles/2016-a-little-complaint-about-the-so-called-unnecessary-knowledge/</link>
      <pubDate>Tue, 08 Nov 2016 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2016-a-little-complaint-about-the-so-called-unnecessary-knowledge/</guid>
      <description>今天看书，读到一节，如下： 这是LL(1)分析的提取左公共因子啊！但我觉得没有系统学过编译原理的人就算是看懂，理解大概也不深刻，很容易忘记吧！而这本书的前言却如是写到： 不知道是作者对自己的讲解有多自信！</description>
    </item>
    <item>
      <title>字符串匹配------回顾大一时的一份代码</title>
      <link>https://vimerzhao.top/articles/2016-string-matching-reviewing-a-code-from-my-freshman-year/</link>
      <pubDate>Tue, 08 Nov 2016 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2016-string-matching-reviewing-a-code-from-my-freshman-year/</guid>
      <description>说明 这是大一下的一份代码，当时不会用github，所以一直没妥善保存，直到最近清理360云盘时才重见天日，现在看来，这份代码水平很低，毕竟的当时也是刚刚接触C语言，当时作为一个非CS专业，指针甚至都不</description>
    </item>
    <item>
      <title>Git初级实践教程（图文）</title>
      <link>https://vimerzhao.top/articles/2016-git-basic-practical-tutorial-picture-and-text/</link>
      <pubDate>Sun, 06 Nov 2016 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2016-git-basic-practical-tutorial-picture-and-text/</guid>
      <description>关于Git Git的由来 Linux 的创始人 Linus Torvalds 在 2005 年开发了 Git 的原型程序。当时，由于在 Linux 内核开发中使用的既有版本管理系统的开发方许可证发生了变更，为了更换新的版本管理系统， Torvalds 开发了Git。 说在前面 Linux和Ma</description>
    </item>
    <item>
      <title>程序员的自我修养</title>
      <link>https://vimerzhao.top/articles/2016-programmer-s-self-cultivation/</link>
      <pubDate>Sun, 30 Oct 2016 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2016-programmer-s-self-cultivation/</guid>
      <description>个人的一些总结，个人的一些看法。 工作篇 拒绝重复劳动 比如，如何合并多个ppt。 生活篇 爱装逼 比如，有没有记录读书进度的APP&amp;mdash;赵裕的回答。 不局限于专业知识 比如，看课外书 坚持运动 比如，篮球 有其他</description>
    </item>
    <item>
      <title>如何合并多个PPT</title>
      <link>https://vimerzhao.top/articles/2016-how-to-merge-multiple-ppts/</link>
      <pubDate>Sun, 30 Oct 2016 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2016-how-to-merge-multiple-ppts/</guid>
      <description>事情的起因大概是这样的： 于是我接收了文件 15个ppt，手动合并，我脑子有病吗，作为一个程序员，最基本的修养之一就是：超过三分钟的工作全部给电脑。 于是乎找到了pptjoin（一听名字就知道干嘛的）这个工</description>
    </item>
    <item>
      <title>优秀小工具集锦</title>
      <link>https://vimerzhao.top/articles/2016-collection-of-excellent-gadgets/</link>
      <pubDate>Tue, 25 Oct 2016 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2016-collection-of-excellent-gadgets/</guid>
      <description>这里我对小工具的定义安装包&amp;lt;10M 1.GifCam(1.56M,无需安装) 官网，小巧而功能强大的录屏软件。 2.window-on-top(665KB) 官网，Windows On Top 是一个可以让任意 Windows 窗口置于顶层的小软件。 3.pptjoin(2KB) 下载地址，ppt合并</description>
    </item>
    <item>
      <title>VS2015链接错误一则</title>
      <link>https://vimerzhao.top/articles/2016-vs2015-link-error/</link>
      <pubDate>Sun, 23 Oct 2016 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2016-vs2015-link-error/</guid>
      <description>以前天真的以为C是C++的子集，.c文件直接.cpp命名没什么影响： 后缀一改 链接器工具错误 LNK2019</description>
    </item>
    <item>
      <title>VisualStudio配色方案</title>
      <link>https://vimerzhao.top/articles/2016-visualstudio-color-scheme/</link>
      <pubDate>Sat, 22 Oct 2016 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2016-visualstudio-color-scheme/</guid>
      <description>最近发现一个很神奇的网站，可以方便的为VisualStudio配色：Studio Styles - Visual Studio color schemes 可以下载一份自己喜欢的配色方案 如果还不满意，可以在此配色方案的基础上进行修改，而不必从0开始。用文本编辑器打</description>
    </item>
    <item>
      <title>AI贪吃蛇（二）</title>
      <link>https://vimerzhao.top/articles/2016-ai-snake-2/</link>
      <pubDate>Fri, 21 Oct 2016 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2016-ai-snake-2/</guid>
      <description>前言 之前写过一篇关于贪吃蛇AI的博客，当时虽然取得了一些成果，但是也存在许多问题，所以最近又花了三天时间重新思考了一下。以下是之前博客存在的一些问题： 策略不对，只要存在找不到尾巴的情况就可能失败，所以</description>
    </item>
    <item>
      <title>Win7上安装Linux双系统</title>
      <link>https://vimerzhao.top/articles/2016-install-linux-dual-system-on-win7/</link>
      <pubDate>Sat, 08 Oct 2016 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2016-install-linux-dual-system-on-win7/</guid>
      <description>今天帮同学在Win7上安装Linux，感觉一篇教程很不错，mark一下 原地址：Win7下U盘安装Ubuntu14.04双系统步骤详解 一、前期准备 1、大于2G的U盘一个(我的系统盘制作完成后大约占1个多</description>
    </item>
    <item>
      <title>做一个阅读管理APP</title>
      <link>https://vimerzhao.top/articles/2016-make-a-reading-management-app/</link>
      <pubDate>Fri, 07 Oct 2016 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2016-make-a-reading-management-app/</guid>
      <description>背景 由于最近在看的书有点多，所以一直想找一个能够管理阅读进度的书（鄙人记性不是很好，两天不看就忘了）可惜Android平台上一直找不到合适的APP： 有没有读书进度管理的网站或软件啊？ 有没有记录读书进度</description>
    </item>
    <item>
      <title>Processing基础之绘画</title>
      <link>https://vimerzhao.top/articles/2016-processing-basics-of-painting/</link>
      <pubDate>Wed, 05 Oct 2016 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2016-processing-basics-of-painting/</guid>
      <description>图形 //在(x, y)绘制点 point(x, y); //(x1, y1)到(x2, y2)的一条线 line(x1, y1, x2, y2); rect(x, y, weight, height); //Constant有三个值: //默认CORNER:rect(左上x, 左上y, 宽, 高) //CENTER:rect(中心x,</description>
    </item>
    <item>
      <title>掌上大工开发过程中收集的资源整理</title>
      <link>https://vimerzhao.top/articles/2016-compilation-of-resources-collected-during-the-development-of-pocket-work/</link>
      <pubDate>Tue, 04 Oct 2016 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2016-compilation-of-resources-collected-during-the-development-of-pocket-work/</guid>
      <description>之前做掌上大工时用到的一些资源，都是对每个知识点讲解得比较符合我的口味的，故此备份： 【Android】ImageView顯示網路圖片(Converting Image URL to Bitmap) Android精美登录界面设计 黑大助手</description>
    </item>
    <item>
      <title>大二在CSDN的博客整理</title>
      <link>https://vimerzhao.top/articles/2016-compilation-of-sophomore-year-s-blogs-on-csdn/</link>
      <pubDate>Mon, 03 Oct 2016 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2016-compilation-of-sophomore-year-s-blogs-on-csdn/</guid>
      <description>001我为什么想写博客 控制台版2048 version_1.0总结 022 囚徒困境中的均衡&amp;mdash;&amp;ndash;从一篇经典论文说起 021 模拟退火算法学习（一）&amp;mdash;&amp;ndash;求解最短连通路径 020 小</description>
    </item>
    <item>
      <title>Android利用HttpURLConnection实现模拟登录</title>
      <link>https://vimerzhao.top/articles/2016-android-uses-httpurlconnection-to-implement-simulated-login/</link>
      <pubDate>Fri, 23 Sep 2016 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2016-android-uses-httpurlconnection-to-implement-simulated-login/</guid>
      <description>最近在做一个APP，需要模拟登录教务处，之前曾经用HttpClient做过，点这里，但是发现最新的Android SDK已经不支持Httpclient了，所以只好在琢磨一下HttpURLConnecti</description>
    </item>
    <item>
      <title>AndroidStudio不能解析R的一种可能</title>
      <link>https://vimerzhao.top/articles/2016-one-possibility-that-androidstudio-cannot-parse-r/</link>
      <pubDate>Tue, 20 Sep 2016 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2016-one-possibility-that-androidstudio-cannot-parse-r/</guid>
      <description>最近在做一个APP，突然就无法编译了，提示信息： 查了半天也没找到好的解决办法，最后想起来误删了一个文件，然后Ctrl+Z回退了事，结果不知为何，那个图片文件损坏了，倒是R无法编译出来，方才报错。 记之。</description>
    </item>
    <item>
      <title>Android登录界面实现</title>
      <link>https://vimerzhao.top/articles/2016-android-login-interface-implementation/</link>
      <pubDate>Mon, 19 Sep 2016 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2016-android-login-interface-implementation/</guid>
      <description>花了一些时间实现了一个还算可以等登陆界面，主要是对这两天工作的一个总结：自定义按钮、编辑框、布局、全屏等。 效果如下： 获取代码：点这里</description>
    </item>
    <item>
      <title>博客园自定义模板</title>
      <link>https://vimerzhao.top/articles/2016-blog-park-custom-template/</link>
      <pubDate>Fri, 16 Sep 2016 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2016-blog-park-custom-template/</guid>
      <description>第一次 之前一直用的rivercast这个模板，虽然比较符合我的风格，但是感觉屏幕空间利用太不充分，两边留出了很多空白（只看模板预览还看不出这个问题！），于是想找一个空间安排比较充分的模板，但是又感觉风</description>
    </item>
    <item>
      <title>HttpClient &#43; Jsoup模拟登录教务处并获取课表</title>
      <link>https://vimerzhao.top/articles/2016-httpclient-jsoup-simulates-logging-into-the-academic-affairs-office-and-obtaining-the-class-schedule/</link>
      <pubDate>Thu, 15 Sep 2016 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2016-httpclient-jsoup-simulates-logging-into-the-academic-affairs-office-and-obtaining-the-class-schedule/</guid>
      <description>1、概述 最近想做一个校园助手类的APP，由于第一次做，所以打算先把每个功能单独实现，防止乱了阵脚。利用教务处登录获取课表和成绩等是一个基本功能，所以以获取课表为例实现了这个功能。完整代码点这里，尝试了</description>
    </item>
    <item>
      <title>Java学习路线图</title>
      <link>https://vimerzhao.top/articles/2016-java-learning-roadmap/</link>
      <pubDate>Wed, 14 Sep 2016 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2016-java-learning-roadmap/</guid>
      <description>参考《疯狂Java实战演义》制作，觉得可以做一参考（放大网页看）</description>
    </item>
    <item>
      <title>sublime编写markdown文件中Ctrl&#43;B的作用</title>
      <link>https://vimerzhao.top/articles/2016-the-role-of-ctrl-b-in-sublime-writing-markdown-files/</link>
      <pubDate>Wed, 14 Sep 2016 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2016-the-role-of-ctrl-b-in-sublime-writing-markdown-files/</guid>
      <description>今天，手残，用markdown编辑是按了Ctrl+B，结果发现直接在同一文件夹目录下编译生成了html文件，之前都是Alt+m，可以直接预览，可是后来由于系统更新还是什么，Alt+m只会在用户目录（而</description>
    </item>
    <item>
      <title>数学建模比赛论文的基本结构</title>
      <link>https://vimerzhao.top/articles/2016-the-basic-structure-of-mathematical-modeling-competition-papers/</link>
      <pubDate>Thu, 08 Sep 2016 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2016-the-basic-structure-of-mathematical-modeling-competition-papers/</guid>
      <description>一、常用的三种结构 一 二 三 1.摘要 1.摘要 1.摘要 2.问题重述 2.问题的提出与重述、问题的分析 2.问题的叙述、背景的分析 3.问题的分析 3.变量假设 3.模型的假设、符号说明 4.模型假设 4.模型建立 4.模型</description>
    </item>
    <item>
      <title>GitBash上传代码不计入贡献的问题处理</title>
      <link>https://vimerzhao.top/articles/2016-handling-the-problem-of-gitbash-uploading-code-not-being-counted-as-contribution/</link>
      <pubDate>Sun, 04 Sep 2016 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2016-handling-the-problem-of-gitbash-uploading-code-not-being-counted-as-contribution/</guid>
      <description>发现最近写的代码，通过GitBash上传到github，但是格子确一个都没亮，今天通过一番检索解决了此问题，特做记录： 通过这篇文章找到了原因所在： GitHub 更新代码到底怎样才算贡献？ 通过这篇文章顺利完成了用户</description>
    </item>
    <item>
      <title>Android知识体系图</title>
      <link>https://vimerzhao.top/articles/2016-android-knowledge-system-diagram/</link>
      <pubDate>Wed, 31 Aug 2016 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2016-android-knowledge-system-diagram/</guid>
      <description>网上看到，不知哪位大神总结的，存个档（需要放大网页才能看清）</description>
    </item>
    <item>
      <title>Java文件处理：分离全国省市县ID（数据来自和风天气）</title>
      <link>https://vimerzhao.top/articles/2016-java-file-processing-separating-national-province-city-and-county-ids-data-from-zefeng-weather/</link>
      <pubDate>Tue, 30 Aug 2016 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2016-java-file-processing-separating-national-province-city-and-county-ids-data-from-zefeng-weather/</guid>
      <description>最近，在做第一行代码上的酷欧天气APP，但是发现书中的API已经用不了了，所以选择了和风天气的API，但是，在遍历省市县数据是遇到了麻烦，之前中国天气网是有个省市对应下一级行政区列表的，像这样： 但是，</description>
    </item>
    <item>
      <title>poj3484 Showstopper 二分</title>
      <link>https://vimerzhao.top/articles/2016-poj3484-showstopper-two-points/</link>
      <pubDate>Sun, 21 Aug 2016 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2016-poj3484-showstopper-two-points/</guid>
      <description>题目地址 二分用的很是巧妙！关键是抽象出问题本质。 1 #include &amp;lt;cstdio&amp;gt; 2 #include &amp;lt;string&amp;gt; 3 #include &amp;lt;cstring&amp;gt; 4 const int maxn = 100000; 5 #define ull unsigned long long 6 ull X[maxn], Y[maxn], Z[maxn], C[maxn]; 7 ull N; 8 ull judge(const ull &amp;amp;mid) { 9 ull sum = 0; 10 for (int i = 0; i &amp;lt; N; i++) { 11 if (mid &amp;gt;= Y[i]) { 12 sum += C[i]; 13 } else if (mid &amp;gt;= X[i]) { 14 sum += ((mid-X[i])/Z[i]+1); 15 }</description>
    </item>
    <item>
      <title>UVA1555-- Garland(推导&#43;二分)</title>
      <link>https://vimerzhao.top/articles/2016-uva1555-garland-derivation-two-points/</link>
      <pubDate>Sun, 21 Aug 2016 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2016-uva1555-garland-derivation-two-points/</guid>
      <description>题意：有n个灯，给定第一盏灯A的高度，接下去每盏灯的高度按照公式计算，求使所有灯都不会落在地上（允许碰触）的B的最低高度。 uva 输出 double 用 %f，这一波坑的！ 1 #include &amp;lt;cstdio&amp;gt; 2 int n; 3 double A, B, a[1005]; 4 //h2的值 5 bool check(double x) { 6 a[2]</description>
    </item>
    <item>
      <title>POJ 3662 Telephone Lines(二分&#43;最短路)</title>
      <link>https://vimerzhao.top/articles/2016-poj-3662-telephone-lines-two-points-shortest-path/</link>
      <pubDate>Sat, 20 Aug 2016 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2016-poj-3662-telephone-lines-two-points-shortest-path/</guid>
      <description>查看题目 最小化第K大值。 让我怀疑人生的一题目，我有这么笨？ 1 #include &amp;lt;cstdio&amp;gt; 2 #include &amp;lt;queue&amp;gt; 3 #include &amp;lt;cstring&amp;gt; 4 #include &amp;lt;vector&amp;gt; 5 #include &amp;lt;functional&amp;gt; 6 using namespace std; 7 #define maxv 1010 8 #define maxl 1000000 9 struct edge 10 { 11 int to, cost; 12 edge(){} 13 edge(int to, int cost) : to(to), cost(cost){} 14 }; 15 typedef pair&amp;lt;int, int&amp;gt; P; 16 vector&amp;lt;edge&amp;gt; G[maxv]; 17 int d[maxv]; 18 int V, E; 19 int dij(int s, int x) { 20</description>
    </item>
    <item>
      <title>POJ2010 Moo University - Financial Aid(二分法)</title>
      <link>https://vimerzhao.top/articles/2016-poj2010-moo-university-financial-aid-dichotomy/</link>
      <pubDate>Fri, 19 Aug 2016 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2016-poj2010-moo-university-financial-aid-dichotomy/</guid>
      <description>题目地址 分析：如果用二分法，关键是score和aid分开排序，score排序是为了充分利用中位数的性质，这样就可以确定m左右必须各选N/2个，到这之后有人是用dp求最优解，可以再次按照aid排序一次，</description>
    </item>
    <item>
      <title>MATLAB自定义配置</title>
      <link>https://vimerzhao.top/articles/2016-matlab-custom-configuration/</link>
      <pubDate>Tue, 16 Aug 2016 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2016-matlab-custom-configuration/</guid>
      <description>1.设置默认工作路径 一般来说MATLAB的默认工作路径是安装目录下的bin目录，但是，把这个作为自己的工作目录很不方便，以为里面已经有很多安装文件了，容易混淆： 每次打开再更改路径又太麻烦，所以最好的办</description>
    </item>
    <item>
      <title>POJ 2976 Dropping tests（最大化平均值 or 01整数规划）</title>
      <link>https://vimerzhao.top/articles/2016-poj-2976-dropping-tests-maximizing-the-mean-or-01-integer-programming/</link>
      <pubDate>Mon, 15 Aug 2016 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2016-poj-2976-dropping-tests-maximizing-the-mean-or-01-integer-programming/</guid>
      <description>题目链接 忽略运算符逻辑导致奇怪的错误（代码中指明位置了） 输出没加0.5，WA。 还有，注意特殊情况k=0,所以scanf(&amp;quot;%d%d&amp;quot;, &amp;amp;n, &amp;amp;k)&amp;amp;n就够了， scanf(&amp;quot;%d%d&amp;quot;, &amp;amp;n, &amp;am</description>
    </item>
    <item>
      <title>POJ3258 River Hopscotch</title>
      <link>https://vimerzhao.top/articles/2016-poj3258-river-hopscotch/</link>
      <pubDate>Sat, 13 Aug 2016 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2016-poj3258-river-hopscotch/</guid>
      <description>地址 别人的代码，自己边界总是控制不好，还不知道哪里错了！思维！这种问题代码越简洁反而越不容易错吧。。 1 #include&amp;lt;stdio.h&amp;gt; 2 #include&amp;lt;algorithm&amp;gt; 3 typedef long long ll; 4 using namespace std; 5 ll n,m,L,a[100010]; 6 bool bi(ll x){ 7 ll i,cnt=0,now=0; 8 for(i=1;i&amp;lt;=n;i++){ 9 if(a[i]-a[now]&amp;lt;=x)cnt++; 10 else now=i; 11 } 12 if(L-a[now]&amp;lt;x)return 0; 13 return cnt&amp;lt;=m; 14 } 15 int main(){ 16 ll i,l,r,mi; 17 while(~scanf(&amp;#34;%lld%lld%lld&amp;#34;,&amp;amp;L,&amp;amp;n,&amp;amp;m)){ 18 l=0;r=L;</description>
    </item>
    <item>
      <title>POJ3273  Monthly Expense</title>
      <link>https://vimerzhao.top/articles/2016-poj3273-monthly-expense/</link>
      <pubDate>Sat, 13 Aug 2016 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2016-poj3273-monthly-expense/</guid>
      <description>查看原题 边界，就是边界和思维，怎么有效的判断中间值是大了还是小了，以及准确的找到边界！一个&amp;lt;写成&amp;lt;=就前功尽弃，还特别难找到错误！ 1 #include &amp;lt;cstdio&amp;gt; 2 #include &amp;lt;algorithm&amp;gt; 3 const int maxN = 100005; 4 int N, M; 5 int A[maxN]; 6 using namespace std; 7 int main(void) { 8 while</description>
    </item>
    <item>
      <title>“此主机不支持64位客户机操作系统”问题记录</title>
      <link>https://vimerzhao.top/articles/2016-this-host-does-not-support-64-bit-guest-operating-systems-problem-record/</link>
      <pubDate>Fri, 12 Aug 2016 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2016-this-host-does-not-support-64-bit-guest-operating-systems-problem-record/</guid>
      <description>由于昨天把系统玩坏了，得重装虚拟机，可是在向导阶段阶段就出现了“此主机不支持64位客户机操作系统&amp;hellip;”的提示，于是网上查了一下解决方法：无非都是Enable VT之类，可是设置这些之后还是有</description>
    </item>
    <item>
      <title>POJ 2457 Part Acquisition</title>
      <link>https://vimerzhao.top/articles/2016-poj-2457-part-acquisition/</link>
      <pubDate>Fri, 12 Aug 2016 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2016-poj-2457-part-acquisition/</guid>
      <description>第一反应是BFS,比较直观，但是输出路径写的不是很熟练，此外，习惯不好，“==”写成了“=”，所以常量一定放前面！ 1 #include &amp;lt;cstdio&amp;gt; 2 #include &amp;lt;queue&amp;gt; 3 #include &amp;lt;cstring&amp;gt; 4 using namespace std; 5 int N, K; 6 typedef struct node 7 { 8 int in, out; 9 int pos; 10 }Link; 11 const int maxn = 50005; 12 bool vis[maxn]; 13 Link</description>
    </item>
    <item>
      <title>POJ2456 Aggressive cows</title>
      <link>https://vimerzhao.top/articles/2016-poj2456-aggressive-cows/</link>
      <pubDate>Fri, 12 Aug 2016 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2016-poj2456-aggressive-cows/</guid>
      <description>Aggressive cows 二分，关键是转化为二分！ 1 #include &amp;lt;cstdio&amp;gt; 2 #include &amp;lt;algorithm&amp;gt; 3 const int maxn = 1000000005; 4 const int maxN = 100005; 5 6 int N, C; 7 int a[maxN]; 8 using namespace std; 9 bool judge(int x) { 10 int s = 0; 11 for (int i = 1; i &amp;lt; C;i++) { 12 int ctr = s+1; 13 while (ctr &amp;lt; N &amp;amp;&amp;amp; (a[ctr]-a[s] &amp;lt; x)) { 14 ctr++; 15 } 16 if (ctr==N) { 17 return false; 18 } 19 s = ctr; 20 } 21 return</description>
    </item>
    <item>
      <title>GCD XOR, ACM/ICPC Dhaka 2013, UVa12716</title>
      <link>https://vimerzhao.top/articles/2016-gcd-xor-acm-icpc-dhaka-2013-uva12716/</link>
      <pubDate>Tue, 09 Aug 2016 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2016-gcd-xor-acm-icpc-dhaka-2013-uva12716/</guid>
      <description>不同的枚举方法，效率完全不同。值得记录一下！ 1 #include &amp;lt;cstdio&amp;gt; 2 #include &amp;lt;cstring&amp;gt; 3 int t, a, b, c, n, cas = 0, count = 0; 4 int cnt[30000000]; 5 void pre() { 6 count = 0; 7 memset(cnt, 0, sizeof(cnt)); 8 9 for (a = 1; a &amp;lt;= 30000000; a++) { 10 for (c = 1; c &amp;lt; a; c++) { 11 if (a%c == 0 &amp;amp;&amp;amp; ((a-c)^a)==c) { 12 count++; 13 } 14 } 15 cnt[a-1] = count; 16 } 17 18 }</description>
    </item>
    <item>
      <title>Irrelevant Elements, ACM/ICPC NEERC 2004, UVa1635</title>
      <link>https://vimerzhao.top/articles/2016-irrelevant-elements-acm-icpc-neerc-2004-uva1635/</link>
      <pubDate>Tue, 09 Aug 2016 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2016-irrelevant-elements-acm-icpc-neerc-2004-uva1635/</guid>
      <description>这种题目最重要的是思路了清晰 1 #include &amp;lt;cstdio&amp;gt; 2 #include &amp;lt;cstring&amp;gt; 3 const int maxn = 100005;//sqrt(n)+1 is enough 4 5 int fac[100][2]; 6 int fac_c[100]; 7 int a[maxn]; 8 void factor(int m) { 9 int&amp;amp; num = fac[0][0]; 10 num = 0; 11 for (int i = 2; i*i &amp;lt;= m; i++) { 12 if(m%i == 0) { 13 fac[++num][0] = i; 14 fac[num][1] = 0; 15 do { 16 fac[num][1]++; 17 m/= i; 18 } while(m%i == 0); 19 } 20 } 21 if (m &amp;gt; 1) { 22</description>
    </item>
    <item>
      <title>Java命名约定</title>
      <link>https://vimerzhao.top/articles/2016-java-naming-conventions/</link>
      <pubDate>Tue, 09 Aug 2016 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2016-java-naming-conventions/</guid>
      <description>类名 类名应该是名词， 描述对象。应该按照驼峰式写法，即只有每个单词首字母大写。 接口名称 接口名称应该是形容词，描述功能。应该以“able”、“ible”结尾，否则应该是名词。通常遵循和类名写相同的大小约定</description>
    </item>
    <item>
      <title>快捷键的大一统-------开发工具使用总结</title>
      <link>https://vimerzhao.top/articles/2016-unification-of-shortcut-keys-summary-on-the-use-of-development-tools/</link>
      <pubDate>Tue, 09 Aug 2016 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2016-unification-of-shortcut-keys-summary-on-the-use-of-development-tools/</guid>
      <description>使用多个开发工具自后，会发现，每个开发工具的快捷键或多或少有些差异。但是幸好快捷键一般都是可以定制的。所以决定以Sublime为参照，来设置如Eclipse之类的IDE，当然了，不是全部修改，遇到一个</description>
    </item>
    <item>
      <title>Java多线程实践</title>
      <link>https://vimerzhao.top/articles/2016-java-multithreading-practice/</link>
      <pubDate>Fri, 05 Aug 2016 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2016-java-multithreading-practice/</guid>
      <description>1.实现Runnable接口 1 import java.util.Random; 2 3 4 public class PrintTask implements Runnable{ 5 private final int sleepTime; 6 private final String taskName; 7 private final static Random generator = new Random(); 8 9 10 public PrintTask(String name) { 11 taskName = name; 12 sleepTime = generator.nextInt(5000); 13 } 14 15 @Override 16 public void run() { 17 try { 18 System.out.printf(&amp;#34;%s going to Sleep for %d milliseconds.\n&amp;#34;, 19 taskName, sleepTime); 20 Thread.sleep(sleepTime); 21 } catch (InterruptedException e) { 22 System.out.printf(&amp;#34;%s %s\n&amp;#34;, taskName, &amp;#34;terminated prematurely&amp;#34; + 23 &amp;#34;</description>
    </item>
    <item>
      <title>Eclipse 代码自动补全配置方法</title>
      <link>https://vimerzhao.top/articles/2016-eclipse-code-auto-completion-configuration-method/</link>
      <pubDate>Tue, 26 Jul 2016 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2016-eclipse-code-auto-completion-configuration-method/</guid>
      <description>Eclipse默认只有在出现 “.”时才进行代码提示，更改方法为： 即把“.”改为“.abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ”，表示输入任</description>
    </item>
    <item>
      <title>紫书第七章例题（暴力求解法）</title>
      <link>https://vimerzhao.top/articles/2016-examples-of-chapter-7-of-the-purple-book-violent-solution-method/</link>
      <pubDate>Tue, 26 Jul 2016 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2016-examples-of-chapter-7-of-the-purple-book-violent-solution-method/</guid>
      <description>1.除法（Division, UVa 725） #include &amp;lt;cstdio&amp;gt; #include &amp;lt;cstring&amp;gt; bool isOk(int a, int b){ char buff[20]; int visited[15]; memset(visited, 0, sizeof(visited)); sprintf(buff, &amp;#34;%05d%05d&amp;#34;, a, b); for (int i =0; i &amp;lt; 10; i++){ int temp = buff[i] - &amp;#39;0&amp;#39;; if (0 == visited[temp]){ visited[temp]++; } else { return false; } } return true; } int main(void){ int N, cnt = 0; bool flag = false; for (;scanf(&amp;#34;%d&amp;#34;, &amp;amp;N) &amp;amp;&amp;amp; N;){ if (cnt &amp;gt; 0){ printf(&amp;#34;\n&amp;#34;); } cnt++; flag = false; for (int i = 1234; i&amp;lt;</description>
    </item>
    <item>
      <title>Linux下pdf阅读器推荐</title>
      <link>https://vimerzhao.top/articles/2016-recommended-pdf-readers-under-linux/</link>
      <pubDate>Sat, 23 Jul 2016 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2016-recommended-pdf-readers-under-linux/</guid>
      <description>由于需要在pdf文件上做标记，所以自带的文档查看器根本满足了需求，之前去网上查了查，Okular评价挺高，就安装了一个，确实能基本满足我的需求，但是 1.界面感觉还是不太友好，书签栏一直在那。 2.而且，</description>
    </item>
    <item>
      <title>Android虚拟机Classic qemu does not support SMP问题记录</title>
      <link>https://vimerzhao.top/articles/2016-android-virtual-machine-classic-qemu-does-not-support-smp-problem-record/</link>
      <pubDate>Thu, 21 Jul 2016 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2016-android-virtual-machine-classic-qemu-does-not-support-smp-problem-record/</guid>
      <description>不及之前重装了一次系统，导致要重新搭建android开发环境，但是在启动AVD时queue遇到了这个问题 androidstudio中看到的是这个样子 大概查了一下，应该是创建虚拟机是选择的cpu构架与有</description>
    </item>
    <item>
      <title>Android开发环境搭建中的一些小问题记录</title>
      <link>https://vimerzhao.top/articles/2016-records-of-some-minor-problems-in-building-android-development-environment/</link>
      <pubDate>Sun, 17 Jul 2016 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2016-records-of-some-minor-problems-in-building-android-development-environment/</guid>
      <description>1.由于市场上大多数教程是基于Eclipse，而AndroidStudio显然是大势所趋，所有我在电脑上同时搭建了两个IDE，直接在官网下载AndroidStudio比较好，因为SDK，AVD都集成了</description>
    </item>
    <item>
      <title>浅析初等贪吃蛇AI算法</title>
      <link>https://vimerzhao.top/articles/2016-a-brief-analysis-of-the-elementary-snake-ai-algorithm/</link>
      <pubDate>Thu, 14 Jul 2016 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2016-a-brief-analysis-of-the-elementary-snake-ai-algorithm/</guid>
      <description>作为小学期程序设计训练大作业的一部分，也是自己之前思考过的一个问题，终于利用小学期完成了贪吃蛇AI的一次尝试，下作一总结。 背景介绍： 首先，我针对贪吃蛇AI这一关键词在百度和google上尽心了检索，大</description>
    </item>
    <item>
      <title>将博客搬至CSDN</title>
      <link>https://vimerzhao.top/articles/2016-moving-my-blog-to-csdn/</link>
      <pubDate>Tue, 12 Jul 2016 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2016-moving-my-blog-to-csdn/</guid>
      <description>write by ai 原文：CSDN 链接 `n为整理博客，搬家</description>
    </item>
    <item>
      <title>数据结构算法C语言实现（三十二）--- 9.1静态查找表</title>
      <link>https://vimerzhao.top/articles/2016-data-structure-algorithm-c-language-implementation-32-9-1-static-lookup-table/</link>
      <pubDate>Tue, 12 Jul 2016 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2016-data-structure-algorithm-c-language-implementation-32-9-1-static-lookup-table/</guid>
      <description>一、简述 静态查找表又分为顺序表、有序表、静态树表和索引表。以下只是算法的简单实现及测试，不涉及性能分析。 二、头文件 1 /** 2 author：zhaoyu 3 date:2016-7-12 4 */ 5 #include &amp;#34;6_3_part1_for_chapter9.h&amp;#34; 6 typedef struct { 7 int key; 8 }SElemType; 9 //静态查找表的顺序</description>
    </item>
    <item>
      <title>机器博弈中的数据结构与基本方法（二）-----递归及回溯法实例</title>
      <link>https://vimerzhao.top/articles/2016-data-structures-and-basic-methods-in-machine-games-2-examples-of-recursion-and-backtracking-methods/</link>
      <pubDate>Mon, 04 Jul 2016 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2016-data-structures-and-basic-methods-in-machine-games-2-examples-of-recursion-and-backtracking-methods/</guid>
      <description>1、跳马问题：从左上角开始，按照象棋中马的行走规则（但是不考虑马脚，只需要按日字走），要求每个点走一次且仅一次，并且所有的点走走到，求解所有可行走法。 思路及代码： 1 #include &amp;lt;cstdio&amp;gt; 2 int a[9][9]; //包含边界拓展 3 int S = 0;</description>
    </item>
    <item>
      <title>机器博弈中的数据结构与基本方法（三）-----博弈树的搜索之九宫重排问题</title>
      <link>https://vimerzhao.top/articles/2016-data-structure-and-basic-methods-in-machine-games-3-nine-palace-rearrangement-problem-of-game-tree-s/</link>
      <pubDate>Mon, 04 Jul 2016 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2016-data-structure-and-basic-methods-in-machine-games-3-nine-palace-rearrangement-problem-of-game-tree-s/</guid>
      <description>九宫重排问题，如下图所示，九宫重排（或称八数码问题）是人工智能中一个经典问题，这里利用DFS解决这个问题。 通过设置一个OPEN表和一个CLOSE表记录尚未遍历和遍历过的状态，直至找到目标状态或遍历完所</description>
    </item>
    <item>
      <title>机器博弈中的数据结构与基本方法（一）-----总结</title>
      <link>https://vimerzhao.top/articles/2016-data-structure-and-basic-methods-in-machine-games-1-summary/</link>
      <pubDate>Mon, 04 Jul 2016 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2016-data-structure-and-basic-methods-in-machine-games-1-summary/</guid>
      <description>一、基本概念 博弈分类：单人博弈（华容道）、双人博弈（象棋、围棋）、多人博弈（麻将、桥牌）；完全信息博弈（象棋、围棋）、不完全信息博弈（麻将、桥牌、三国杀等）。 注：大一曾选修过一门课：博弈论，也在数模班</description>
    </item>
    <item>
      <title>浅析基本AI五子棋算法</title>
      <link>https://vimerzhao.top/articles/2016-a-brief-analysis-of-the-basic-ai-backgammon-algorithm/</link>
      <pubDate>Sun, 03 Jul 2016 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2016-a-brief-analysis-of-the-basic-ai-backgammon-algorithm/</guid>
      <description>五子棋是所有棋类博弈中比较简单的了，这里介绍的也只是一种非常基本的AI策略。其实，包括之前的AI贪吃蛇，感觉这两个AI其实体现的都是一种建模思想，把一个现实中的问题模型化，抽象化，得到其一般特征，再设</description>
    </item>
    <item>
      <title>数据结构算法C语言实现（二十八）--- 7.4图的连通性问题</title>
      <link>https://vimerzhao.top/articles/2016-data-structure-algorithm-c-language-implementation-28-7-4-graph-connectivity-issues/</link>
      <pubDate>Sun, 19 Jun 2016 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2016-data-structure-algorithm-c-language-implementation-28-7-4-graph-connectivity-issues/</guid>
      <description>一.简述 coding</description>
    </item>
    <item>
      <title>数据结构算法C语言实现（二十二）--- 6.4树和森林</title>
      <link>https://vimerzhao.top/articles/2016-data-structure-algorithm-c-language-implementation-22-6-4-trees-and-forests/</link>
      <pubDate>Sun, 19 Jun 2016 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2016-data-structure-algorithm-c-language-implementation-22-6-4-trees-and-forests/</guid>
      <description>一.简述 coding</description>
    </item>
    <item>
      <title>数据结构算法C语言实现（二十九）--- 7.5有向无环图及其应用</title>
      <link>https://vimerzhao.top/articles/2016-data-structure-algorithm-implementation-in-c-language-29-7-5-directed-acyclic-graph-and-its-applicat/</link>
      <pubDate>Sun, 19 Jun 2016 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2016-data-structure-algorithm-implementation-in-c-language-29-7-5-directed-acyclic-graph-and-its-applicat/</guid>
      <description>一.简述</description>
    </item>
    <item>
      <title>数据结构算法C语言实现（二十六）--- 7.2图的存储结构</title>
      <link>https://vimerzhao.top/articles/2016-data-structure-algorithm-c-language-implementation-26-7-2-storage-structure-of-graph/</link>
      <pubDate>Sun, 19 Jun 2016 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2016-data-structure-algorithm-c-language-implementation-26-7-2-storage-structure-of-graph/</guid>
      <description>一.简述 coding</description>
    </item>
    <item>
      <title>数据结构算法C语言实现（二十七）--- 7.2图的遍历</title>
      <link>https://vimerzhao.top/articles/2016-data-structure-algorithm-c-language-implementation-27-7-2-graph-traversal/</link>
      <pubDate>Sun, 19 Jun 2016 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2016-data-structure-algorithm-c-language-implementation-27-7-2-graph-traversal/</guid>
      <description>一.简述 栈与队列，DFS与BFS。仅以连接表为例实现。 二.头文件 BFS要用到的头文件 1 //3_4_part1.h 2 /** 3 author:zhaoyu 4 email:zhaoyu1995.com@gmail.com 5 date:2016-6-9 6 2016-6-25修改版，针对第七章 7 note:realize my textbook &amp;lt;&amp;lt;数据结构（C语言版）&amp;gt;&amp;gt</description>
    </item>
    <item>
      <title>数据结构算法C语言实现（二十三）--- 6.5树与等价问题</title>
      <link>https://vimerzhao.top/articles/2016-implementation-of-data-structure-algorithm-in-c-language-twenty-three-6-5-trees-and-equivalence-prob/</link>
      <pubDate>Sun, 19 Jun 2016 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2016-implementation-of-data-structure-algorithm-in-c-language-twenty-three-6-5-trees-and-equivalence-prob/</guid>
      <description>一.简述</description>
    </item>
    <item>
      <title>数据结构算法C语言实现（二十四）--- 6.6赫夫曼树及其应用</title>
      <link>https://vimerzhao.top/articles/2016-data-structure-algorithm-c-language-implementation-24-6-6-huffman-tree-and-its-application/</link>
      <pubDate>Sun, 19 Jun 2016 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2016-data-structure-algorithm-c-language-implementation-24-6-6-huffman-tree-and-its-application/</guid>
      <description>一.简述 coding</description>
    </item>
    <item>
      <title>数据结构算法C语言实现（二十五）--- 6.7回溯法与树的遍历</title>
      <link>https://vimerzhao.top/articles/2016-data-structure-algorithm-c-language-implementation-25-6-7-backtracking-method-and-tree-traversal/</link>
      <pubDate>Sun, 19 Jun 2016 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2016-data-structure-algorithm-c-language-implementation-25-6-7-backtracking-method-and-tree-traversal/</guid>
      <description>一.简述 coding</description>
    </item>
    <item>
      <title>数据结构算法C语言实现（二十一）--- 6.3.2线索二叉树</title>
      <link>https://vimerzhao.top/articles/2016-data-structure-algorithm-c-language-implementation-21-6-3-2-clue-binary-tree/</link>
      <pubDate>Sun, 19 Jun 2016 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2016-data-structure-algorithm-c-language-implementation-21-6-3-2-clue-binary-tree/</guid>
      <description>一.简述 coding</description>
    </item>
    <item>
      <title>数据结构算法C语言实现（三十）--- 7.6最短路径</title>
      <link>https://vimerzhao.top/articles/2016-data-structure-algorithm-c-language-implementation-30-7-6-shortest-path/</link>
      <pubDate>Sun, 19 Jun 2016 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2016-data-structure-algorithm-c-language-implementation-30-7-6-shortest-path/</guid>
      <description>一.简述</description>
    </item>
    <item>
      <title>数据结构算法C语言实现（三十一）--- 8.3边界标识法</title>
      <link>https://vimerzhao.top/articles/2016-data-structure-algorithm-c-language-implementation-31-8-3-boundary-marking-method/</link>
      <pubDate>Sun, 19 Jun 2016 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2016-data-structure-algorithm-c-language-implementation-31-8-3-boundary-marking-method/</guid>
      <description>一.简述</description>
    </item>
    <item>
      <title>数据结构算法C语言实现（二十）--- 6.3.1遍历二叉树</title>
      <link>https://vimerzhao.top/articles/2016-data-structure-algorithm-implemented-in-c-language-20-6-3-1-traversing-the-binary-tree/</link>
      <pubDate>Sat, 18 Jun 2016 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2016-data-structure-algorithm-implemented-in-c-language-20-6-3-1-traversing-the-binary-tree/</guid>
      <description>一.简述 二叉树的遍历主要是先序、中序、后序及对应的递归和非递归算法，共3x2=6种，其中后序非递归在实现上稍复杂一些。二叉树的遍历是理解和学习递归及体会栈的工作原理的绝佳工具！ 此外，非递归所用的栈及相</description>
    </item>
    <item>
      <title>数据结构算法C语言实现（十八）--- 5.3矩阵的压缩存储</title>
      <link>https://vimerzhao.top/articles/2016-data-structure-algorithm-c-language-implementation-18-5-3-compressed-storage-of-matrices/</link>
      <pubDate>Fri, 17 Jun 2016 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2016-data-structure-algorithm-c-language-implementation-18-5-3-compressed-storage-of-matrices/</guid>
      <description>一.简述 【coding】</description>
    </item>
    <item>
      <title>数据结构算法C语言实现（十九）--- 5.5&amp;5.6&amp;5.7广义表</title>
      <link>https://vimerzhao.top/articles/2016-data-structure-algorithm-c-language-implementation-19-5-5-5-6-5-7-generalized-table/</link>
      <pubDate>Fri, 17 Jun 2016 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2016-data-structure-algorithm-c-language-implementation-19-5-5-5-6-5-7-generalized-table/</guid>
      <description>一.简述 传说Lisp的基本数据结构就是广义表，广义表也是具有典型递归属性的数据结构，此外，由于建表要处理字符串，用C语言处理起来也是一脸懵逼&amp;hellip;..最后自己还想写一个将广义表还原成字符串的</description>
    </item>
    <item>
      <title>数据结构算法C语言实现（十七）--- 5.1&amp;5.2数组：定义、顺序表示及实现</title>
      <link>https://vimerzhao.top/articles/2016-data-structure-algorithm-c-language-implementation-seventeen-5-1-5-2-array-definition-sequential-rep/</link>
      <pubDate>Wed, 15 Jun 2016 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2016-data-structure-algorithm-c-language-implementation-seventeen-5-1-5-2-array-definition-sequential-rep/</guid>
      <description>一.简述 理解数组位置的计算公式 LOC(j1, j2, ···, jn) = LOC(0, 0, ..., 0) + (b2x ··· x bnx j1 + b3x ··· x bnx j2 + ··· + bnx jn-1 + jn)L 化简为 可以缩写成 其中 cn = L,ci-1 = bi x ci, 1&amp;lt;i≤n。 二.头文件 1 //5_2.h 2 /** 3 author:zhaoyu 4 date:2016-6-15 5 */ 6 //----</description>
    </item>
    <item>
      <title>数据结构算法C语言实现（十六）--- 4.3串的应用举例</title>
      <link>https://vimerzhao.top/articles/2016-implementation-of-data-structure-algorithm-in-c-language-16-4-3-application-examples-of-strings/</link>
      <pubDate>Fri, 10 Jun 2016 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2016-implementation-of-data-structure-algorithm-in-c-language-16-4-3-application-examples-of-strings/</guid>
      <description>一.简述 【coding】</description>
    </item>
    <item>
      <title>数据结构算法C语言实现（十三）--- 3.5离散事件模拟</title>
      <link>https://vimerzhao.top/articles/2016-data-structure-algorithm-c-language-implementation-13-3-5-discrete-event-simulation/</link>
      <pubDate>Fri, 10 Jun 2016 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2016-data-structure-algorithm-c-language-implementation-13-3-5-discrete-event-simulation/</guid>
      <description>一.简述 【coding】</description>
    </item>
    <item>
      <title>数据结构算法C语言实现（十四）--- 4.1&amp;4.2串的类型定义、表示及实现</title>
      <link>https://vimerzhao.top/articles/2016-data-structure-algorithm-c-language-implementation-14-4-1-4-2-string-type-definition-representation/</link>
      <pubDate>Fri, 10 Jun 2016 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2016-data-structure-algorithm-c-language-implementation-14-4-1-4-2-string-type-definition-representation/</guid>
      <description>一.简述 【暂无】 二.头文件 1 //4_2_part1.h 2 /** 3 author:zhaoyu 4 */ 5 //2016-6-10 6 //----串的定长顺序存储表示---- 7 #include &amp;#34;head.h&amp;#34; 8 #define MAXSTRLEN 255//用户可以在255以内定义最大串长 9 //这语法还不是很熟悉 10 typedef unsigned char SString[MAXSTRLEN+1];//0 号单元存放串的长度 11 int StrLength(SString</description>
    </item>
    <item>
      <title>数据结构算法C语言实现（十五）---4.3 串的模式匹配算法</title>
      <link>https://vimerzhao.top/articles/2016-data-structure-algorithm-implementation-in-c-language-15-4-3-string-pattern-matching-algorithm/</link>
      <pubDate>Fri, 10 Jun 2016 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2016-data-structure-algorithm-implementation-in-c-language-15-4-3-string-pattern-matching-algorithm/</guid>
      <description>一.简述 【coding】</description>
    </item>
    <item>
      <title>数据结构算法C语言实现（十二）--- 3.4循环队列&amp;队列的顺序表示和实现</title>
      <link>https://vimerzhao.top/articles/2016-data-structure-algorithm-c-language-implementation-12-3-4-sequential-representation-and-implementati/</link>
      <pubDate>Thu, 09 Jun 2016 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2016-data-structure-algorithm-c-language-implementation-12-3-4-sequential-representation-and-implementati/</guid>
      <description>一.简述 空队列的处理方法：1.另设一个标志位以区别队列是空还是满；2.少用一个元素空间，约定以队列头指针在队尾指针下一位置上作为队列呈满的状态的标志。 二.头文件 1 //3_4_part1.h 2 /** 3 author:zhaoyu 4 email:zhaoyu1995.com@gmail.com 5 date:2016-6-9 6 note:realize my textbook &amp;lt;&amp;l</description>
    </item>
    <item>
      <title>数据结构算法C语言实现（十一）--- 3.4队列的链式表示和实现</title>
      <link>https://vimerzhao.top/articles/2016-data-structure-algorithm-c-language-implementation-11-3-4-chain-representation-and-implementation-of/</link>
      <pubDate>Thu, 09 Jun 2016 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2016-data-structure-algorithm-c-language-implementation-11-3-4-chain-representation-and-implementation-of/</guid>
      <description>一.简介 FIFO。 二.头文件 1 //3_4_part1.h 2 /** 3 author:zhaoyu 4 email:zhaoyu1995.com@gmail.com 5 date:2016-6-9 6 note:realize my textbook &amp;lt;&amp;lt;数据结构（C语言版）&amp;gt;&amp;gt; 7 */ 8 //Page 61 9 #include &amp;lt;cstdio&amp;gt; 10 #include &amp;#34;head.h&amp;#34; 11 #define QElemType int 12 //----单链队列：队列的链式存储结构---- 13 typedef struct QNode{ 14 QElemType</description>
    </item>
    <item>
      <title>数据结构算法C语言实现（八）--- 3.2栈的应用举例：迷宫求解与表达式求值</title>
      <link>https://vimerzhao.top/articles/2016-data-structure-algorithm-c-language-implementation-8-3-2-stack-application-examples-maze-solving-and/</link>
      <pubDate>Wed, 08 Jun 2016 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2016-data-structure-algorithm-c-language-implementation-8-3-2-stack-application-examples-maze-solving-and/</guid>
      <description>一.简介 迷宫求解：类似图的DFS。具体的算法思路可以参考书上的50、51页，不过书上只说了粗略的算法，实现起来还是有很多细节需要注意。大多数只是给了个抽象的名字，甚至参数类型，返回值也没说的很清楚，所</description>
    </item>
    <item>
      <title>数据结构算法C语言实现（九）--- 拓展：由迷宫问题引申的AI贪吃蛇</title>
      <link>https://vimerzhao.top/articles/2016-data-structure-algorithm-c-language-implementation-9-expansion-ai-snake-derived-from-the-maze-proble/</link>
      <pubDate>Wed, 08 Jun 2016 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2016-data-structure-algorithm-c-language-implementation-9-expansion-ai-snake-derived-from-the-maze-proble/</guid>
      <description>一.简述 【开发中】由于期末时间有限，而且要用到后面的最短路径（可能），所以打算小学期在实现这一部分</description>
    </item>
    <item>
      <title>数据结构算法C语言实现（十）--- 3.3栈与递归的实现</title>
      <link>https://vimerzhao.top/articles/2016-data-structure-algorithm-c-language-implementation-10-3-3-implementation-of-stack-and-recursion/</link>
      <pubDate>Wed, 08 Jun 2016 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2016-data-structure-algorithm-c-language-implementation-10-3-3-implementation-of-stack-and-recursion/</guid>
      <description>一.简介 汉诺塔问题是递归的一个典型例子，而且书上的讲解很详细，对理解C语言函数及函数传参的工作机制很有帮助，值得一看。而且，递归在我看来和分治、DP、贪心等一样是十分优美的思想，值得学习！！！ 二.CP</description>
    </item>
    <item>
      <title>Subime学习记录</title>
      <link>https://vimerzhao.top/articles/2016-subime-learning-record/</link>
      <pubDate>Tue, 07 Jun 2016 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2016-subime-learning-record/</guid>
      <description>一.快捷键 注：快捷键这种东西没有必要刻意去记，自己需要就去查查，经常用的自然熟了，关键是时刻保持提高效率的意识，才会主动去发现快捷键。 1.Ctrl + F:查找 2.F12：根据函数定位函数声明（定义）。 3.Alt+</description>
    </item>
    <item>
      <title>数据结构算法C语言实现（六）---2.4一元多项式的表示及相加</title>
      <link>https://vimerzhao.top/articles/2016-data-structure-algorithm-c-language-implementation-6-2-4-representation-and-addition-of-one-variable/</link>
      <pubDate>Tue, 07 Jun 2016 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2016-data-structure-algorithm-c-language-implementation-6-2-4-representation-and-addition-of-one-variable/</guid>
      <description>一.简述 利用链表表示稀疏多项式，并基于之前的一些操作（编程实现上还是有所不同的）组合新的操作实现一元多项式的表示及相加。 二.ADT 1 抽象数据类型一元多项式的定义 2 ADT Polyomail{ 3 数据对象：D = {a[i]|a[i</description>
    </item>
    <item>
      <title>数据结构算法C语言实现（七）--- 3.1栈的线性实现及应用举例</title>
      <link>https://vimerzhao.top/articles/2016-data-structure-algorithm-c-language-implementation-7-3-1-linear-implementation-and-application-examp/</link>
      <pubDate>Tue, 07 Jun 2016 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2016-data-structure-algorithm-c-language-implementation-7-3-1-linear-implementation-and-application-examp/</guid>
      <description>一.简述 栈，LIFO。是操作受限的线性表，和线性表一样有两种存储表示方法。下面以顺序存储为例，实现。 二.ADT 暂无。 三.头文件 1 //3_1.h 2 /** 3 author:zhaoyu 4 email:zhaoyu1995.com@gmail.com 5 date:2016-6-7 6 note:realize my textbook &amp;lt;&amp;lt;数据结构（C语言版）&amp;gt;&amp;</description>
    </item>
    <item>
      <title>数据结构算法C语言实现（三）---2.3线性表的链式表示之静态链表</title>
      <link>https://vimerzhao.top/articles/2016-data-structure-algorithm-c-language-implementation-3-2-3-static-linked-list-of-linked-representation/</link>
      <pubDate>Mon, 06 Jun 2016 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2016-data-structure-algorithm-c-language-implementation-3-2-3-static-linked-list-of-linked-representation/</guid>
      <description>一.简述 【】</description>
    </item>
    <item>
      <title>数据结构算法C语言实现（四）---2.3循环链表与双向链表</title>
      <link>https://vimerzhao.top/articles/2016-implementation-of-data-structure-algorithm-in-c-language-4-2-3-circular-linked-list-and-doubly-linke/</link>
      <pubDate>Mon, 06 Jun 2016 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2016-implementation-of-data-structure-algorithm-in-c-language-4-2-3-circular-linked-list-and-doubly-linke/</guid>
      <description>一.简述 【工作中&amp;hellip;】</description>
    </item>
    <item>
      <title>数据结构算法C语言实现（五）---2.3重新定义线性链表及其基本操作</title>
      <link>https://vimerzhao.top/articles/2016-data-structure-algorithm-c-language-implementation-5-2-3-redefining-linear-linked-lists-and-their-ba/</link>
      <pubDate>Mon, 06 Jun 2016 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2016-data-structure-algorithm-c-language-implementation-5-2-3-redefining-linear-linked-lists-and-their-ba/</guid>
      <description>一.简述 &amp;hellip;由于链表在空间的合理利用上和插入、删除时不需要移动等的优点，因此在很多场合下，它是线性表的首选存储结构。然而，它也存在着实现某些基本操作，如求线性表的长度时不如顺序存储结构的缺</description>
    </item>
    <item>
      <title>数据结构算法C语言实现（二）---2.3线性表的链式表示和实现之单链表</title>
      <link>https://vimerzhao.top/articles/2016-data-structure-algorithm-c-language-implementation-2-2-3-linked-representation-of-linear-list-and-im/</link>
      <pubDate>Sun, 05 Jun 2016 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2016-data-structure-algorithm-c-language-implementation-2-2-3-linked-representation-of-linear-list-and-im/</guid>
      <description>一.简述 【暂无】 二.头文件 1 #ifndef _2_3_part1_H_ 2 #define _2_3_part1_H_ 3 //2_3_part1.h 4 /** 5 author:zhaoyu 6 email:zhaoyu1995.com@gmail.com 7 date:2016-6-4 8 note:realize my textbook &amp;lt;&amp;lt;数据结构（C语言版）&amp;gt;&amp;gt; 9 */ 10 //----线性表的单链表存储结构---- 11 /** 12 My Code 13 to make the paragram run correctlly 14 */ 15 #define ElemType</description>
    </item>
    <item>
      <title>数据结构算法C语言实现---序言</title>
      <link>https://vimerzhao.top/articles/2016-data-structure-algorithm-c-language-implementation-preface/</link>
      <pubDate>Sat, 04 Jun 2016 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2016-data-structure-algorithm-c-language-implementation-preface/</guid>
      <description>期末考试即将到来，打算花两周时间实现书上所有的算法。巩固学习成果（其实之前也没怎么听课&amp;hellip;&amp;hellip;）毕竟考前突击，背背，ppt刷个90+是没多大意义的。 没错，就是下面这本 毕竟书也是</description>
    </item>
    <item>
      <title>数据结构算法C语言实现（一）---2.2线性表的顺序表示和实现</title>
      <link>https://vimerzhao.top/articles/2016-data-structure-algorithm-c-language-implementation-1-2-2-sequential-representation-and-implementatio/</link>
      <pubDate>Sat, 04 Jun 2016 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2016-data-structure-algorithm-c-language-implementation-1-2-2-sequential-representation-and-implementatio/</guid>
      <description>注意： 虽然是用C语言实现，但是考虑到使用了一个C++的特性&amp;mdash;-引用以简化代码，所以所有的代码均以cpp作为后缀，用g++编译（以后不做说明）。 g++版本： 一.简述 本节主要讲述线性表的顺序实</description>
    </item>
    <item>
      <title>C语言实现penna模型</title>
      <link>https://vimerzhao.top/articles/2016-c-language-to-implement-penna-model/</link>
      <pubDate>Fri, 03 Jun 2016 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2016-c-language-to-implement-penna-model/</guid>
      <description>一年前写的代码，偶然翻出来。发现自己当时水平还不赖吗。 1 # include &amp;lt;stdio.h&amp;gt; 2 # include &amp;lt;stdlib.h&amp;gt; 3 # include &amp;lt;time.h&amp;gt; 4 # include &amp;lt;stdbool.h&amp;gt; 5 # include &amp;lt;windows.h&amp;gt; 6 7 # define N0 1000 //初始时刻种群数量为1000 8 # define Nmax 100000 //种群最大数量为100000 9 # define R 6 //最低繁殖年</description>
    </item>
    <item>
      <title>编程碎碎念</title>
      <link>https://vimerzhao.top/articles/2016-random-thoughts-on-programming/</link>
      <pubDate>Sun, 29 May 2016 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2016-random-thoughts-on-programming/</guid>
      <description>2016-5-29： 选择一款适合编程的字体，一款且仅一款。我用的是Consolas，因为微软自带，一般的编辑器都会自带，配置简单。而且编程本来就不需要什么特别的字体，满足等宽等要求就足够了。具体介绍可</description>
    </item>
    <item>
      <title>提高效率的Matlab使用方式</title>
      <link>https://vimerzhao.top/articles/2016-how-to-use-matlab-to-improve-efficiency/</link>
      <pubDate>Sun, 29 May 2016 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2016-how-to-use-matlab-to-improve-efficiency/</guid>
      <description>1.花一点时间学习一些提高效率的技巧永远是值得的； 2.总结和记录永远是必要的。 Command窗口： Editor窗口： 1、Tab自动补全</description>
    </item>
    <item>
      <title>C语言用面向对象的思想写贪吃蛇</title>
      <link>https://vimerzhao.top/articles/2016-c-language-uses-object-oriented-thinking-to-write-greedy-snake/</link>
      <pubDate>Fri, 29 Apr 2016 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2016-c-language-uses-object-oriented-thinking-to-write-greedy-snake/</guid>
      <description>大概一年前这时候，接触C语言一个月，那时候知之甚少，对面向对象只觉”可远观而不可亵玩“，而且会看到很多言论说C语言就是面向过程的语言，C++就是面向对象的语言。不过，不记得什么时候在网上看到过一篇博文</description>
    </item>
    <item>
      <title>编程习惯与代码风格总结之C/C&#43;&#43;篇（更新······）</title>
      <link>https://vimerzhao.top/articles/2016-summary-of-programming-habits-and-coding-style-c-cpp-updated/</link>
      <pubDate>Sun, 17 Apr 2016 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2016-summary-of-programming-habits-and-coding-style-c-cpp-updated/</guid>
      <description>1、使用“==”做比较判断时常量放在前面，如果错写成了赋值“=”则编译器会报错。 if (&amp;#39;a&amp;#39; == direction)//这是一个判断键盘输入并执行相应操作的比较，如果变量在后面并错写成赋值则会出现不可预料的错误</description>
    </item>
    <item>
      <title>各操作系统系统快捷键（更新）</title>
      <link>https://vimerzhao.top/articles/2016-system-shortcut-keys-for-each-operating-system-updated/</link>
      <pubDate>Fri, 15 Apr 2016 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2016-system-shortcut-keys-for-each-operating-system-updated/</guid>
      <description>Windows 10 一、常用 二、奇淫技巧 1.Alt + Ctrl + 方向键：屏幕旋转至指定方向。 LinuxMint 17.3 一、常用 1.Ctrl + Alt +鼠标左键：以立方体形式拖动工作区间。（前提是配置了Compiz） 2.Ctrtl + Alt + 左右方向键 ： 切换工作区间。 3.Ctrl + Alt + 上方向键 ： 展示</description>
    </item>
    <item>
      <title>深入学习 memset 函数</title>
      <link>https://vimerzhao.top/articles/2016-learn-more-about-the-memset-function/</link>
      <pubDate>Fri, 15 Apr 2016 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2016-learn-more-about-the-memset-function/</guid>
      <description>最近，和同学讨论了一下memset函数，趁着周五空闲做一总结。 memset函数最常用的功能就是初始化数组了（主要是置零），如 #include &amp;lt;iostream&amp;gt; #include &amp;lt;cstring&amp;gt; using namespace std; int main(int argc, char const *argv[]) { int A[10]; memset(A, 0, sizeof(A)); cout &amp;lt;&amp;lt; A[0] &amp;lt;&amp;lt; &amp;#39;\t&amp;#39; &amp;lt;&amp;lt; A[1] &amp;lt;&amp;lt; endl; return 0; } 输出 0 0 但是，</description>
    </item>
    <item>
      <title>简单二维元胞自动机 MATLAB实现</title>
      <link>https://vimerzhao.top/articles/2016-simple-two-dimensional-cellular-automaton-matlab-implementation/</link>
      <pubDate>Fri, 08 Apr 2016 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2016-simple-two-dimensional-cellular-automaton-matlab-implementation/</guid>
      <description>20世纪50年代，乌尔姆和冯·诺依曼（对此人真是崇拜的五体投地）为了研究机器人自我复制的可能性，提出了一种叫做元胞自动机（Cellular Automaton,CA）的算法。该算法采用局相互作用规则，最</description>
    </item>
    <item>
      <title>开学一个多月来，第一次低落</title>
      <link>https://vimerzhao.top/articles/2016-first-low-mood-after-a-month-of-school/</link>
      <pubDate>Mon, 04 Apr 2016 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2016-first-low-mood-after-a-month-of-school/</guid>
      <description>开学一个多月来，第一次低落，或许其直接原因是因为放假了，想玩却因为孤身一人无处愿去，昨天去徒步了星海湾大桥，一路上除了倒腾那自己尚不能完全驾驭的单反外也没多太多思考，反倒是发现自己只是在工作学习的时候</description>
    </item>
    <item>
      <title>koch曲线与koch雪花的MATLAB实现</title>
      <link>https://vimerzhao.top/articles/2016-matlab-implementation-of-koch-curve-and-koch-snowflake/</link>
      <pubDate>Sun, 03 Apr 2016 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2016-matlab-implementation-of-koch-curve-and-koch-snowflake/</guid>
      <description>代码 1 % 2016-4-3 2 function koch(Ax, Ay, Bx, By) 3 % 控制递归深度 4 Deepth = 20; 5 % 控制图画大小 6 Size = 100; 7 if ((Bx-Ax)^2 + (By-Ay)^2) &amp;lt; Deepth 8 plot([Ax, Bx], [Ay, By], &amp;#39;-r&amp;#39;) 9 hold on 10 axis([0 Size 0 Size]); 11 else 12 Cx = Ax + (Bx-Ax)/3; 13 Cy = Ay + (By-Ay)/3; 14 Dx = Bx - (Bx-Ax)/3; 15 Dy = By - (By-Ay)/3; 16 17 koch(Ax, Ay, Cx, Cy); 18 koch(Dx, Dy, Bx, By); 19 20 L = sqrt((Dx-Cx)^2 + (Dy-Cy)^2);</description>
    </item>
    <item>
      <title>cantor三分集</title>
      <link>https://vimerzhao.top/articles/2016-cantor-three-episodes/</link>
      <pubDate>Fri, 01 Apr 2016 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2016-cantor-three-episodes/</guid>
      <description>值得一提的是，第一次听说cantor三分集是在数字电路课上，然而数电是我最不喜欢的课程之一。。。。。。 分形大都具有自相似、自仿射性质，所以cantor三分集用递归再合适不过了，本来不想用matlab的</description>
    </item>
    <item>
      <title>控制台版2048 version_1.0总结</title>
      <link>https://vimerzhao.top/articles/2016-console-2048-version-1-summary/</link>
      <pubDate>Wed, 23 Mar 2016 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2016-console-2048-version-1-summary/</guid>
      <description>write by ai 原文：CSDN 链接 `n这两天大概花了3~4个钟头写了一个简单的控制台版的2048。之前简单的思考过这个游戏，感觉实现逻辑比较简单，适合练手，所以简单构思一下就开始写了。结果真是惨不忍睹。因为总有</description>
    </item>
    <item>
      <title>POJ  题目分类（转载）</title>
      <link>https://vimerzhao.top/articles/2016-poj-question-classification-reprinted/</link>
      <pubDate>Mon, 21 Mar 2016 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2016-poj-question-classification-reprinted/</guid>
      <description>Log 2016-3-21 网上找的POJ分类，来源已经不清楚了。百度能百度到一大把。贴一份在博客上，鞭策自己刷题，不能偷懒！！ 初期: 一.基本算法: (1)枚举. (poj1753,poj2965) (2)贪心(poj1328,poj2109,poj2586) (</description>
    </item>
    <item>
      <title>C语言实现贪吃蛇源码</title>
      <link>https://vimerzhao.top/articles/2016-c-language-to-implement-snake-source-code/</link>
      <pubDate>Sun, 20 Mar 2016 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2016-c-language-to-implement-snake-source-code/</guid>
      <description>先放效果 源代码 //2016-2-12 //zhaoyu //Gmail:zhaoyu1995.com@gmail.com //Language: C //Platform:Code::Blocks #include &amp;lt;stdio.h&amp;gt; #include &amp;lt;windows.h&amp;gt; #include &amp;lt;stdlib.h&amp;gt; #include &amp;lt;time.h&amp;gt; typedef struct snake { int x; int y; struct snake *next; }Snake; int X, Y; enum STATUS{Up = 1, Down, Left, Right}; Snake *pHead, *pBody;//the head of the snake enum STATUS Direction; int score=0, scorePerFood=10; int gameStatus = 0; int timeInterval = 200; void gameEnd(void); void setPosition(int x, int y) { COORD pos; HANDLE hOutput; pos.X = x; pos.Y = y; hOutput = GetStdHandle(STD_OUTPUT_HANDLE); SetConsoleCursorPosition(hOutput, pos); } void hideCursor() { CONSOLE_CURSOR_INFO cursor_info = { 1, 0 }; SetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE), &amp;amp;cursor_info);</description>
    </item>
    <item>
      <title>囚徒困境中的均衡-----从一篇经典论文说起</title>
      <link>https://vimerzhao.top/articles/2016-prisoners-dilemma-equilibrium/</link>
      <pubDate>Fri, 18 Mar 2016 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2016-prisoners-dilemma-equilibrium/</guid>
      <description>write by ai 原文：CSDN 链接 `n## 1.囚徒困境 囚徒困境（Prisoner’s Dilemma）是博弈论的非零和博弈中具代表性的例子，反映个人最佳选择并非团体最佳选择。或者说在一个群体中，个人做出理性选择却往往导</description>
    </item>
    <item>
      <title>模拟退火算法学习（一）-----求解最短连通路径</title>
      <link>https://vimerzhao.top/articles/2016-simulated-annealing-shortest-connected-path/</link>
      <pubDate>Thu, 17 Mar 2016 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2016-simulated-annealing-shortest-connected-path/</guid>
      <description>write by ai 原文：CSDN 链接 `n#### 1.模拟退火算法概述 模拟退火是一种通用概率算法，用来在固定时间内寻求在一个大的搜寻空间内找到的最优解。模拟退火是S. Kirkpatrick, C. D. Gelatt和M. P. Vecchi在1983年所发明。</description>
    </item>
    <item>
      <title>小记一次网络故障处理</title>
      <link>https://vimerzhao.top/articles/2016-network-failure-troubleshooting-note/</link>
      <pubDate>Mon, 29 Feb 2016 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2016-network-failure-troubleshooting-note/</guid>
      <description>write by ai 原文：CSDN 链接 `n回家换了一台新电脑，但是回学校后发现连宿舍的网线之后，总是显示无法识别的网络，经过一番排查之后发现是在之前申请开通网络服务的时候，是用之前的电脑，所以账号上还是之前的mac</description>
    </item>
    <item>
      <title>virtualbox虚拟机无法上网的一种情况</title>
      <link>https://vimerzhao.top/articles/2016-virtualbox-vm-cannot-access-network/</link>
      <pubDate>Sun, 21 Feb 2016 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2016-virtualbox-vm-cannot-access-network/</guid>
      <description>write by ai 原文：CSDN 链接 `n今天用XP虚拟机突然不能上网了，但是主机能上，google了半下午都没找到解决方案，最后在知乎上一个点赞为0的回答上找到了灵感，原来是硬件的问题，只需要更改控制芯片就可以啦</description>
    </item>
    <item>
      <title>virtualbox上安装Mac OS Mavericks</title>
      <link>https://vimerzhao.top/articles/2016-installing-mac-os-mavericks-on-virtualbox/</link>
      <pubDate>Sun, 14 Feb 2016 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2016-installing-mac-os-mavericks-on-virtualbox/</guid>
      <description>write by ai 原文：CSDN 链接 `n之前安装了virtualbox后，顺利在上面搭建了Ubuntu、Windows XP操作系统。而Mac OS则因为诸多原因，比较难以安装（比如镜像不好找、安装步骤复杂、设计硬件</description>
    </item>
    <item>
      <title>QtCreator生成美观的可执行文件</title>
      <link>https://vimerzhao.top/articles/2016-qtcreator-packaging-executable/</link>
      <pubDate>Thu, 11 Feb 2016 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2016-qtcreator-packaging-executable/</guid>
      <description>write by ai 原文：CSDN 链接 `n最近，在极客学院跟着视频教程学习制作了一格简单的计算器，在此做一些加工，使其可以以一个美观的exe文件运行。包括更改图标以及动态编译。 以下是具体步骤： 1、下载一个好看的IC</description>
    </item>
    <item>
      <title>记一次失败的Visual Stdio安装经历</title>
      <link>https://vimerzhao.top/articles/2016-failed-visual-studio-installation/</link>
      <pubDate>Thu, 04 Feb 2016 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2016-failed-visual-studio-installation/</guid>
      <description>write by ai 原文：CSDN 链接 `n121寒假打算从C++开始认真补一补编程，加之又新换了一台电脑，于是乎一个想法油然而生，开始学习VS;因为打算学习多种语言和一些应用开发，而用VC++6.0这种所谓经典的I</description>
    </item>
    <item>
      <title>win10是使用优化两则</title>
      <link>https://vimerzhao.top/articles/2016-two-windows-10-usage-optimizations/</link>
      <pubDate>Mon, 01 Feb 2016 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2016-two-windows-10-usage-optimizations/</guid>
      <description>write by ai 原文：CSDN 链接 `n1.如何去除回收站图标 桌面&amp;mdash;&amp;mdash;-&amp;gt;右键&amp;mdash;&amp;mdash;&amp;gt;个性化&amp;mdash;&amp;mdash;&amp;gt;主题&amp;mdash;&amp;mda</description>
    </item>
    <item>
      <title>关于matlab更改默认路径的方法</title>
      <link>https://vimerzhao.top/articles/2016-changing-matlab-default-path/</link>
      <pubDate>Mon, 01 Feb 2016 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2016-changing-matlab-default-path/</guid>
      <description>write by ai 原文：CSDN 链接 `n1、如果你是通过桌面快捷方式（大多数人的选择） 一个比较简单的办法就是将快捷方式的属性中的起始位置更改为你指定的路径。但是这样只能在你通过快捷方式打开matlab时才会奏效。</description>
    </item>
    <item>
      <title>《完全用Linux工作》作者：王垠</title>
      <link>https://vimerzhao.top/articles/2016-working-completely-with-linux-author-wang-yin/</link>
      <pubDate>Fri, 01 Jan 2016 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2016-working-completely-with-linux-author-wang-yin/</guid>
      <description>注：本文是清华“牛仔”王垠的“成名作”，在网上引起很大的争议。对他崇拜地五体投地者有，对他嗤之以鼻者也有，总之成了一年多以前Linux 爱好者的圈子里的一个很有意思的现象。之后他对这篇文章进行了很大的修</description>
    </item>
    <item>
      <title>Windows键盘映射注册表备忘</title>
      <link>https://vimerzhao.top/articles/2016-windows-keymap-registry-memo/</link>
      <pubDate>Fri, 01 Jan 2016 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2016-windows-keymap-registry-memo/</guid>
      <description>http://xyztony1985.blog.163.com/blog/static/3611782011752420104/ Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout] &amp;#34;Scancode Map&amp;#34;=hex: 00,00,00,00, 00,00,00,00, 04,00,00,00, 3A,00,1D,00, 1D,00,01,00, 01,00,3A,00, 00,00,00,00</description>
    </item>
    <item>
      <title>Windows装机必备软件列表</title>
      <link>https://vimerzhao.top/articles/2016-list-of-essential-software-for-windows-installation/</link>
      <pubDate>Fri, 01 Jan 2016 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2016-list-of-essential-software-for-windows-installation/</guid>
      <description>经常装系统，列个List，以后装完之后安装软件直接参照使用!windows版： 输入法： 搜狗输入法（由于长期使用导致此输入法十分熟悉我的输入习惯，以无法自拔）。支持Linux、Windows（太穷还没碰</description>
    </item>
    <item>
      <title>最小生成树问题---Prim算法与Kruskal算法实现（MATLAB语言实现）</title>
      <link>https://vimerzhao.top/articles/2015-minimum-spanning-tree-problem-prim-algorithm-and-kruskal-algorithm-implementation-matlab-language-im/</link>
      <pubDate>Fri, 18 Dec 2015 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2015-minimum-spanning-tree-problem-prim-algorithm-and-kruskal-algorithm-implementation-matlab-language-im/</guid>
      <description>2015-12-17晚，复习，甚是无聊，阅《复杂网络算法与应用》一书，得知**最小生成树问题（Minimum spanning tree）**问题。记之。 何为树：连通且不含圈的图称为树。 图T=(V,E),|V|=n,|</description>
    </item>
    <item>
      <title>一百行写小世界网络和无标度网络</title>
      <link>https://vimerzhao.top/articles/2015-one-hundred-lines-to-write-small-world-network-and-scale-free-network/</link>
      <pubDate>Mon, 14 Dec 2015 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2015-one-hundred-lines-to-write-small-world-network-and-scale-free-network/</guid>
      <description>曾经觉得能写很长的代码就是厉害的表现，随着学习的深入，对于好的代码有了更加深刻的认识，一个好的代码应该： 1、可读性。好的代码不仅能让机器读懂，更要让看代码的人读懂&amp;mdash;-合理布局，逻辑清晰。 2</description>
    </item>
    <item>
      <title>MATLAB for循环优化三例</title>
      <link>https://vimerzhao.top/articles/2015-three-examples-of-matlab-for-loop-optimization/</link>
      <pubDate>Sun, 13 Dec 2015 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2015-three-examples-of-matlab-for-loop-optimization/</guid>
      <description>最近一周，对MATLAB有进行了新一轮的学习，对其矩阵化编程的思维有了更深入的了解。确实精妙！ 例1： 将矩阵A= [1 2 3; 2 4 3; 3 4 5]中所有的数字3替换为33. 如果还停留在C语言的思维可能就是 &amp;gt;&amp;gt; for i=1:3 for j=1:3 if</description>
    </item>
    <item>
      <title>MATLAB复杂网络处理入门</title>
      <link>https://vimerzhao.top/articles/2015-matlab-complex-network-introduction/</link>
      <pubDate>Sun, 13 Dec 2015 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2015-matlab-complex-network-introduction/</guid>
      <description>write by ai 原文：CSDN 链接 `n最近一周花了一些时间在一个所谓的亚太数学建模竞赛上，其实自己主要有两点考虑，一是当做美赛之前的一个热身；二是自己刚刚接触MATLAB编程，希望能锻炼一下。 下面是题目： Identifyingthe error connections</description>
    </item>
    <item>
      <title>MATLAB进阶笔记：告别for循环，走向新巅峰</title>
      <link>https://vimerzhao.top/articles/2015-matlab-for-loop-optimization/</link>
      <pubDate>Tue, 08 Dec 2015 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2015-matlab-for-loop-optimization/</guid>
      <description>write by ai 原文：CSDN 链接 `n2015-12-8 最近在参加一个数学建模比赛，关于复杂网络的（ 002C语言 验证无标度网络的幂律定律、004C语言 实现小世界网络）。想到之前已经对复杂网络有所接触，这次虽不敢说胸有成竹，但至少努</description>
    </item>
    <item>
      <title>MATLAB奇淫技巧之实现图片扫描</title>
      <link>https://vimerzhao.top/articles/2015-matlab-image-scanning-techniques/</link>
      <pubDate>Mon, 07 Dec 2015 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2015-matlab-image-scanning-techniques/</guid>
      <description>write by ai 原文：CSDN 链接 `n最近，由于需要补电路实验，所以把同学的书借来了，还有一个大实验没做，可是同学也要开始做了，所以在还回去之前只好全部拍下来，但是799的手机拍出来的渣渣像素可想而知，于是乎，</description>
    </item>
    <item>
      <title>matlab语言实现一点到对角的路径PART2--优化与升级</title>
      <link>https://vimerzhao.top/articles/2015-matlab-path-to-diagonal-part-2/</link>
      <pubDate>Sat, 05 Dec 2015 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2015-matlab-path-to-diagonal-part-2/</guid>
      <description>write by ai 原文：CSDN 链接 `n之前一篇blog已经说明了最基本的情况，这里不再罪赘述（008 matlab语言实现一点到对角的路径PART1） 最近，对这个问题做了一些改进与优化。 1、改进：增加了不可到达点</description>
    </item>
    <item>
      <title>matlab语言实现一点到对角的路径PART1</title>
      <link>https://vimerzhao.top/articles/2015-matlab-path-to-diagonal-part-1/</link>
      <pubDate>Thu, 03 Dec 2015 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2015-matlab-path-to-diagonal-part-1/</guid>
      <description>write by ai 原文：CSDN 链接 `n昨天，同学在群里发了一个数据结构及算法方面的题目（如下图），由于最近在学习MATLAB，所以突发奇想，能不能借助MATLAB强大的绘图功能把所有路径画出来。经过几次失败的探</description>
    </item>
    <item>
      <title>算法:从单链表中删除一个中间节点</title>
      <link>https://vimerzhao.top/articles/2015-delete-middle-node-from-singly-linked-list/</link>
      <pubDate>Fri, 13 Nov 2015 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2015-delete-middle-node-from-singly-linked-list/</guid>
      <description>write by ai 原文：CSDN 链接 `n原文连接：http://www.pixelstech.net/article/1446199844-Algorithm-%3A-Delete-middle-node-fro</description>
    </item>
    <item>
      <title>近期-总结</title>
      <link>https://vimerzhao.top/articles/2015-recent-summary/</link>
      <pubDate>Sun, 08 Nov 2015 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2015-recent-summary/</guid>
      <description>write by ai 原文：CSDN 链接 `n一直很想写一下最近的学习生活总结，奈何一直在考试的泥淖中挣扎，没有时间梳理梳理。 首先，学习到中期发现之前没跟上的现在还是没跟上，模电之烦难自不必多说，前两天刚刚期中考试，而</description>
    </item>
    <item>
      <title>C语言 实现小世界网络</title>
      <link>https://vimerzhao.top/articles/2015-c-language-small-world-network/</link>
      <pubDate>Sat, 24 Oct 2015 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2015-c-language-small-world-network/</guid>
      <description>write by ai 原文：CSDN 链接 `n## 1简介： 小世界网络最早由Watts和Strogtz在1998年提出，小世界网络存在于数学、物理学和社会学中，是一种数学图的模型。在这种图中大部份的结点不与彼此邻接，但大部份结</description>
    </item>
    <item>
      <title>用LabVIEW和Arduino开发一个温度采集系统</title>
      <link>https://vimerzhao.top/articles/2015-labview-arduino-temperature-acquisition-system/</link>
      <pubDate>Thu, 15 Oct 2015 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2015-labview-arduino-temperature-acquisition-system/</guid>
      <description>write by ai 原文：CSDN 链接 `n### 1背景 其实满打满算，今天是自己接触LabVIEW的第四天，只是是由于国庆节之前报名参加了一个比赛，国庆节期间又没有引起足够的重视，所以当比赛只剩下四天的时候才开始研究LabV</description>
    </item>
    <item>
      <title>C语言 验证无标度网络的幂律定律</title>
      <link>https://vimerzhao.top/articles/2015-c-language-scale-free-network-power-law/</link>
      <pubDate>Tue, 06 Oct 2015 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2015-c-language-scale-free-network-power-law/</guid>
      <description>write by ai 原文：CSDN 链接 `n1复杂网络发展史 几乎每个人都听说过大数学家欧拉和哥尼斯堡七桥的故事，而1736年29岁的欧拉向圣彼得堡科学院递交了《哥尼斯堡的七座桥》的论文，也正式标志着数学的一个新的分支</description>
    </item>
    <item>
      <title>我为什么想写博客</title>
      <link>https://vimerzhao.top/articles/2015-why-i-want-to-write-a-blog/</link>
      <pubDate>Thu, 01 Oct 2015 00:00:00 +0000</pubDate>
      <guid>https://vimerzhao.top/articles/2015-why-i-want-to-write-a-blog/</guid>
      <description>write by ai 原文：CSDN 链接 `n我已经大二了，大一的时候我读的是一个机械类的专业，说实话我很不适合也很不喜欢，但这也是我后来才发现的，也是后来我才发现自己有多么喜欢我现在的专业。这里不得不吐槽一下自己的高</description>
    </item>
    <item>
      <title>转专业纪</title>
      <link>https://vimerzhao.top/articles/change-major-record/</link>
      <pubDate>Sat, 11 Jul 2015 20:05:57 +0800</pubDate>
      <guid>https://vimerzhao.top/articles/change-major-record/</guid>
      <description>人生的道路虽然漫长，但紧要处常常只有几步，特别是当年轻的时候。没有一个人的生活道路是笔直的，没有岔道的，有些岔道口，比如政治上的岔道口，事业上的岔道口，个人生活上的岔道口，你走错一步，可以影响人生的一</description>
    </item>
  </channel>
</rss>
