<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>IceHoney</title>
        <link>https://blog.icehoney.me/</link>
        <description>IceHoney是雪月秋水君的博客~ 记录秋水君生活的点点滴滴~</description>
        <lastBuildDate>Mon, 03 Nov 2025 09:55:21 GMT</lastBuildDate>
        <docs>http://blogs.law.harvard.edu/tech/rss</docs>
        <generator>https://github.com/webmasterish/vuepress-plugin-feed</generator>
        <atom:link href="https://blog.icehoney.me/feed.atom" rel="self" type="application/rss+xml"/>
        <item>
            <title><![CDATA[如何比较版本号]]></title>
            <link>https://blog.icehoney.me/posts/2024-07-02-compare-version/</link>
            <guid>https://blog.icehoney.me/posts/2024-07-02-compare-version/</guid>
            <pubDate>Tue, 02 Jul 2024 21:52:00 GMT</pubDate>
            <description><![CDATA[前端代码需要运行在客户的浏览器中，但是有些版本的浏览器不支持某些特性，所以我们需要比较浏览器的版本号，然后根据版本号来决定是否使用某些特性。这里就涉及到版本号的比较问题。]]></description>
        </item>
        <item>
            <title><![CDATA[编译 zbar 到 WebAssembly]]></title>
            <link>https://blog.icehoney.me/posts/2024-06-01-zbar-wasm/</link>
            <guid>https://blog.icehoney.me/posts/2024-06-01-zbar-wasm/</guid>
            <pubDate>Sat, 01 Jun 2024 16:06:00 GMT</pubDate>
            <description><![CDATA[我们需要将 C 语言的函数暴露出来，这样前端才能调用这些函数，这部分代码称为胶水函数。下面列举了一个简单的例子。]]></description>
        </item>
        <item>
            <title><![CDATA[前端的缓存策略]]></title>
            <link>https://blog.icehoney.me/posts/2024-03-13-cache-control/</link>
            <guid>https://blog.icehoney.me/posts/2024-03-13-cache-control/</guid>
            <pubDate>Wed, 13 Mar 2024 21:58:00 GMT</pubDate>
            <description><![CDATA[不缓存资源，每次都需要重新请求。]]></description>
        </item>
        <item>
            <title><![CDATA[macOS下运行红警2游戏]]></title>
            <link>https://blog.icehoney.me/posts/2023-12-17-macos-ra2/</link>
            <guid>https://blog.icehoney.me/posts/2023-12-17-macos-ra2/</guid>
            <pubDate>Sun, 17 Dec 2023 11:20:00 GMT</pubDate>
            <description><![CDATA[在 CrossOver 中，我们先创建一个 Bottle，然后在 Bottle 中复制安装好的游戏文件夹。之后再配置环境变量，让内部 OS 使用中文运行避免乱码问题，找到 Bottole 的 cxbottle.conf]]></description>
        </item>
        <item>
            <title><![CDATA[嵌套表格如何实现边框合并]]></title>
            <link>https://blog.icehoney.me/posts/2023-12-03-css-nested-table/</link>
            <guid>https://blog.icehoney.me/posts/2023-12-03-css-nested-table/</guid>
            <pubDate>Sun, 03 Dec 2023 10:20:00 GMT</pubDate>
            <description><![CDATA[margin: -1px;
}
`]]></description>
        </item>
        <item>
            <title><![CDATA[macOS下苹果手机刷机]]></title>
            <link>https://blog.icehoney.me/posts/2023-11-11-flash-ios/</link>
            <guid>https://blog.icehoney.me/posts/2023-11-11-flash-ios/</guid>
            <pubDate>Sat, 11 Nov 2023 20:03:00 GMT</pubDate>
            <description><![CDATA[苹果的刷机比安卓简单很多，但是苹果的手机刷机是不能降级的，所以需要注意固件的版本。]]></description>
        </item>
        <item>
            <title><![CDATA[macOS下编译C++文件]]></title>
            <link>https://blog.icehoney.me/posts/2023-10-09-macos-build-cpp/</link>
            <guid>https://blog.icehoney.me/posts/2023-10-09-macos-build-cpp/</guid>
            <pubDate>Mon, 09 Oct 2023 12:10:00 GMT</pubDate>
            <description><![CDATA[`]]></description>
        </item>
        <item>
            <title><![CDATA[正则表达式匹配信用卡]]></title>
            <link>https://blog.icehoney.me/posts/2023-07-09-credit-regex/</link>
            <guid>https://blog.icehoney.me/posts/2023-07-09-credit-regex/</guid>
            <pubDate>Sun, 09 Jul 2023 13:41:00 GMT</pubDate>
            <description><![CDATA[`]]></description>
        </item>
        <item>
            <title><![CDATA[无限滚动加载列表]]></title>
            <link>https://blog.icehoney.me/posts/2023-06-03-scroll-loader/</link>
            <guid>https://blog.icehoney.me/posts/2023-06-03-scroll-loader/</guid>
            <pubDate>Sat, 03 Jun 2023 12:55:00 GMT</pubDate>
            <description><![CDATA[observerRef.current.observe(loaderRef.current);
        }
      } else {
        setCompleted(true);
        updateCompleted?.(true);
      }
    });
  }, [inView, updateCompleted]);]]></description>
        </item>
        <item>
            <title><![CDATA[拖拽排序列表]]></title>
            <link>https://blog.icehoney.me/posts/2023-04-16-draggable-list/</link>
            <guid>https://blog.icehoney.me/posts/2023-04-16-draggable-list/</guid>
            <pubDate>Sun, 16 Apr 2023 12:31:00 GMT</pubDate>
            <description><![CDATA[copyData.current = deepClone(sortedData);
    recordRect();
    onDragStart?.();
  },
  [sortedData, recordRect, onDragStart]
);
const dragEnterHandler = useCallback(
  (index: number) => {
    if (dragItem.current !== index && dragOverItem.current !== index) {
      dragOverItem.current = index;
      const newData = deepClone(copyData.current);
      const dragData = newData[dragItem.current];
      newData.splice(dragItem.current, 1);
      newData.splice(dragOverItem.current, 0, dragData);
      setSortedData(newData);
      onDragEnter?.();
    }
  },
  [onDragEnter]
);
const dragEndHandler = useCallback(() => {
  updateData?.(sortedData);
  onDragEnd?.();
}, [sortedData, updateData, onDragEnd]);
`]]></description>
        </item>
        <item>
            <title><![CDATA[QR code 生成的相关参数]]></title>
            <link>https://blog.icehoney.me/posts/2023-03-03-qrcode-version/</link>
            <guid>https://blog.icehoney.me/posts/2023-03-03-qrcode-version/</guid>
            <pubDate>Fri, 03 Mar 2023 20:42:00 GMT</pubDate>
            <enclosure url="https://upload.wikimedia.org/wikipedia/commons/c/c8/QR_Code_Mask_Patterns.svg">
            </enclosure>
        </item>
        <item>
            <title><![CDATA[安卓逆向的经验记录]]></title>
            <link>https://blog.icehoney.me/posts/2023-01-14-android-reverse/</link>
            <guid>https://blog.icehoney.me/posts/2023-01-14-android-reverse/</guid>
            <pubDate>Sat, 14 Jan 2023 13:05:00 GMT</pubDate>
            <description><![CDATA[2023 年，博客也开通 10 年了。我都不敢看 10 年前自己写的东西。感觉全是黑历史，不过也记录了自己一点点的成长和心境的变化。今年也将继续写，记录自己技术上的各种折腾。]]></description>
        </item>
        <item>
            <title><![CDATA[网页调用摄像头读取QR code]]></title>
            <link>https://blog.icehoney.me/posts/2022-12-17-web-qr-reader/</link>
            <guid>https://blog.icehoney.me/posts/2022-12-17-web-qr-reader/</guid>
            <pubDate>Sat, 17 Dec 2022 17:29:00 GMT</pubDate>
            <description><![CDATA[而且有一个致命的 BUG 就是在开启摄像头之后无法关闭。必须重新刷新页面才行，这是不能接受的。]]></description>
        </item>
        <item>
            <title><![CDATA[如何使用TypeScript进行后端开发]]></title>
            <link>https://blog.icehoney.me/posts/2022-10-29-typescript-backend/</link>
            <guid>https://blog.icehoney.me/posts/2022-10-29-typescript-backend/</guid>
            <pubDate>Sat, 29 Oct 2022 11:47:00 GMT</pubDate>
            <description><![CDATA[我们使用 pnpm 进行包管理。]]></description>
        </item>
        <item>
            <title><![CDATA[如何编写Telegram Bot]]></title>
            <link>https://blog.icehoney.me/posts/2022-09-24-telegram-bot/</link>
            <guid>https://blog.icehoney.me/posts/2022-09-24-telegram-bot/</guid>
            <pubDate>Sat, 24 Sep 2022 11:07:00 GMT</pubDate>
            <description><![CDATA[输入， /newbot 就可以创建 Bot 了，通过对话模式可以设定 Bot 的名字。然后你可以得到一个属于这个 Bot 的 token，格式类似于 577XXXXX:AAEMUXqXrgRE9R2jPcOXXXXX。
拿到这个 token 就可以构建 Bot 了。]]></description>
        </item>
        <item>
            <title><![CDATA[使用MobX管理React的状态]]></title>
            <link>https://blog.icehoney.me/posts/2022-08-07-mobx-react/</link>
            <guid>https://blog.icehoney.me/posts/2022-08-07-mobx-react/</guid>
            <pubDate>Sun, 07 Aug 2022 14:43:00 GMT</pubDate>
            <description><![CDATA[@observable.shallow list: TodoItem[] = [];]]></description>
        </item>
        <item>
            <title><![CDATA[Git 提交规范]]></title>
            <link>https://blog.icehoney.me/posts/2022-07-23-git-commit-lint/</link>
            <guid>https://blog.icehoney.me/posts/2022-07-23-git-commit-lint/</guid>
            <pubDate>Sat, 23 Jul 2022 20:37:00 GMT</pubDate>
            <description><![CDATA[chore: 构建过程或辅助工具的变动
ci: 对CI配置文件或脚本进行了修改
docs: 对文档进行了修改
feat: 增加新功能
fix: 修复BUG
perf: 优化相关，比如提升性能，体验
refactor: 重构代码
revert: 回滚到上一个版本
style: 修改代码格式
test: 添加测试代码
`]]></description>
        </item>
        <item>
            <title><![CDATA[TypeScript中应该禁止使用enum]]></title>
            <link>https://blog.icehoney.me/posts/2022-07-04-typescript-enum/</link>
            <guid>https://blog.icehoney.me/posts/2022-07-04-typescript-enum/</guid>
            <pubDate>Mon, 04 Jul 2022 20:37:00 GMT</pubDate>
            <description><![CDATA[}
`]]></description>
        </item>
        <item>
            <title><![CDATA[JS中关于深拷贝和浅拷贝]]></title>
            <link>https://blog.icehoney.me/posts/2022-06-20-deep-copy/</link>
            <guid>https://blog.icehoney.me/posts/2022-06-20-deep-copy/</guid>
            <pubDate>Mon, 20 Jun 2022 19:37:00 GMT</pubDate>
            <description><![CDATA[export const isSet = (val: unknown): val is Set =>
  toTypeString(val) === '[object Set]';
export const isDate = (val: unknown): val is Date =>
  toTypeString(val) === '[object Date]';
export const isRegExp = (val: unknown): val is RegExp =>
  toTypeString(val) === '[object RegExp]';]]></description>
        </item>
        <item>
            <title><![CDATA[如何实现虚拟滚动条]]></title>
            <link>https://blog.icehoney.me/posts/2022-05-12-virtual-scroll/</link>
            <guid>https://blog.icehoney.me/posts/2022-05-12-virtual-scroll/</guid>
            <pubDate>Thu, 12 May 2022 19:25:00 GMT</pubDate>
            <description><![CDATA[}, [itemData, startIndex, visibleItemCount]);]]></description>
        </item>
        <item>
            <title><![CDATA[Mac M1系统配置C++环境]]></title>
            <link>https://blog.icehoney.me/posts/2022-04-13-m1-cpp/</link>
            <guid>https://blog.icehoney.me/posts/2022-04-13-m1-cpp/</guid>
            <pubDate>Wed, 13 Apr 2022 20:03:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[禁用页面滚动]]></title>
            <link>https://blog.icehoney.me/posts/2022-03-13-scroll-lock/</link>
            <guid>https://blog.icehoney.me/posts/2022-03-13-scroll-lock/</guid>
            <pubDate>Sun, 13 Mar 2022 15:11:00 GMT</pubDate>
            <description><![CDATA[在设计组件的时候，例如 Modal 弹窗组件，在显示组件的时候我们不希望页面可以滚动。这时候就需要临时禁用页面的滚动功能。接下来就讲解下禁用页面滚动的方法。]]></description>
        </item>
        <item>
            <title><![CDATA[Github 存储大文件]]></title>
            <link>https://blog.icehoney.me/posts/2022-02-10-github-lfs/</link>
            <guid>https://blog.icehoney.me/posts/2022-02-10-github-lfs/</guid>
            <pubDate>Thu, 10 Feb 2022 23:16:00 GMT</pubDate>
            <description><![CDATA[正常情况下，我们执行 add, commit 操作的时候都没啥问题。]]></description>
        </item>
        <item>
            <title><![CDATA[React 实现 Tabs 组件]]></title>
            <link>https://blog.icehoney.me/posts/2022-01-27-react-tabs/</link>
            <guid>https://blog.icehoney.me/posts/2022-01-27-react-tabs/</guid>
            <pubDate>Thu, 27 Jan 2022 20:16:00 GMT</pubDate>
            <description><![CDATA[Tabs 是复合组件。Tabs 组件封装逻辑和显示上部的导航栏。 TabPane 用来传递属性和展示要显示的内容。具体使用请看下面的代码：]]></description>
        </item>
        <item>
            <title><![CDATA[代理Sentry的请求]]></title>
            <link>https://blog.icehoney.me/posts/2021-12-30-sentry-proxy/</link>
            <guid>https://blog.icehoney.me/posts/2021-12-30-sentry-proxy/</guid>
            <pubDate>Thu, 30 Dec 2021 22:21:00 GMT</pubDate>
            <description><![CDATA[dsn: 'https://examplePublicKey@o0.ingest.sentry.io/0',
  tunnel: '/sentry'
});
`]]></description>
        </item>
        <item>
            <title><![CDATA[CSS如何处理固定Header哈希标记跳转的问题]]></title>
            <link>https://blog.icehoney.me/posts/2021-11-20-css-fixed-header/</link>
            <guid>https://blog.icehoney.me/posts/2021-11-20-css-fixed-header/</guid>
            <pubDate>Sat, 20 Nov 2021 21:21:00 GMT</pubDate>
            <description><![CDATA[}
`]]></description>
        </item>
        <item>
            <title><![CDATA[JS 关于颜色的相关处理]]></title>
            <link>https://blog.icehoney.me/posts/2021-10-02-js-color/</link>
            <guid>https://blog.icehoney.me/posts/2021-10-02-js-color/</guid>
            <pubDate>Sat, 02 Oct 2021 10:26:00 GMT</pubDate>
            <description><![CDATA[return brightness < 128;
  }
`]]></description>
        </item>
        <item>
            <title><![CDATA[如何瘦身docker镜像]]></title>
            <link>https://blog.icehoney.me/posts/2021-09-09-slim-docker-image/</link>
            <guid>https://blog.icehoney.me/posts/2021-09-09-slim-docker-image/</guid>
            <pubDate>Thu, 09 Sep 2021 21:44:00 GMT</pubDate>
            <description><![CDATA[WORKDIR /app
COPY . /app
ENV NODE_ENV production
RUN yarn build && yarn express:build
`]]></description>
        </item>
        <item>
            <title><![CDATA[如何检测用户启动广告屏蔽插件]]></title>
            <link>https://blog.icehoney.me/posts/2021-07-25-detect-ad-blocker/</link>
            <guid>https://blog.icehoney.me/posts/2021-07-25-detect-ad-blocker/</guid>
            <pubDate>Sun, 25 Jul 2021 14:32:00 GMT</pubDate>
            <description><![CDATA[广告屏蔽插件的原理基本有三种，第一是有列表黑名单，出现在列表黑名单的资源都会直接被中断网络请求，例如无法加载图片，JavaScript 文件等等。第二是关键字匹配，如果资源文件里面有 ad 之类的相关广告关键字，那这个资源也会被中断请求。第三个是 DOM 检测，针对已经渲染好的 HTML 文件，通过 class 属性来检测是否有相关的广告关键字。如果符合结果，就删除相应的元素。]]></description>
        </item>
        <item>
            <title><![CDATA[ELK收集Docker项目的日志]]></title>
            <link>https://blog.icehoney.me/posts/2021-06-14-elk-docker/</link>
            <guid>https://blog.icehoney.me/posts/2021-06-14-elk-docker/</guid>
            <pubDate>Mon, 14 Jun 2021 11:21:00 GMT</pubDate>
            <description><![CDATA[我只是通过 nmap 命令来检测 5000 端口是否开放，并不知道是否正常运行。]]></description>
        </item>
        <item>
            <title><![CDATA[Django使用CKEditor的相关经验]]></title>
            <link>https://blog.icehoney.me/posts/2021-05-19-django-ckeditor-s3/</link>
            <guid>https://blog.icehoney.me/posts/2021-05-19-django-ckeditor-s3/</guid>
            <pubDate>Wed, 19 May 2021 22:06:00 GMT</pubDate>
            <description><![CDATA[class CKEditorField(RichTextUploadingField):
    def fromdbvalue(self, value, expression, connection):
        if value:
            return update_image(value)
        else:
            return value
`]]></description>
        </item>
        <item>
            <title><![CDATA[使用Service Worker的 Web Push 功能]]></title>
            <link>https://blog.icehoney.me/posts/2021-04-25-service-worker-push/</link>
            <guid>https://blog.icehoney.me/posts/2021-04-25-service-worker-push/</guid>
            <pubDate>Sun, 25 Apr 2021 12:27:00 GMT</pubDate>
            <description><![CDATA["keys": {
    "auth": "MCeQnXlaz4A-CBuALNPbcQ",
    "p256dh": "BL4am0lzx005spT_UBbMagfWb93Cfgh8XtkCtP7y697dODFnO0wCVVI783BsiHePRTl-mrpoHolJ0gKTYR1T4SQ"
  }
}
`]]></description>
        </item>
        <item>
            <title><![CDATA[Vue代码风格]]></title>
            <link>https://blog.icehoney.me/posts/2021-03-06-vue-code-style/</link>
            <guid>https://blog.icehoney.me/posts/2021-03-06-vue-code-style/</guid>
            <pubDate>Sat, 06 Mar 2021 12:02:00 GMT</pubDate>
            <description><![CDATA[@Prop({ default: false, type: Boolean }) readonly clearable!: boolean;
  @Prop({ default: '' }) readonly placeholder!: string;
  /**
   State映射区域，定义顺序是： State Getter Action Mutation
   */
  @Info.State notifications!: Array;]]></description>
        </item>
        <item>
            <title><![CDATA[数据库查询的N+1问题]]></title>
            <link>https://blog.icehoney.me/posts/2021-02-20-sql-n-1/</link>
            <guid>https://blog.icehoney.me/posts/2021-02-20-sql-n-1/</guid>
            <pubDate>Sat, 20 Feb 2021 13:44:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[提高网页的易读性]]></title>
            <link>https://blog.icehoney.me/posts/2021-02-06-web-accessibility/</link>
            <guid>https://blog.icehoney.me/posts/2021-02-06-web-accessibility/</guid>
            <pubDate>Sat, 06 Feb 2021 11:04:00 GMT</pubDate>
            <description><![CDATA[正常人可以通过鼠标和键盘来操作浏览器，使用滚轮来滚动网页，使用鼠标左键和右键来执行操作，使用键盘输入内容。但是对于残疾人来说可能就不是这样的了，如果一个人身体行动不便只能通过键盘敲击来操作电脑，无法使用鼠标的情况下，如果网页不支持键盘 Tab 键来切换各种点击按钮，那就会给残疾人的使用带来困难。如果视力不好的人只能借助屏幕阅读器来查看网页，如果按钮或者图片没有合适的标签信息，那就无法通过屏幕阅读器来听到这个按钮或者图片的含义。我们不仅要考虑正常人如何查看网页，也需要顾及到特殊人群的需求，这样才能让每个人都享受到互联网带来的便利。]]></description>
        </item>
        <item>
            <title><![CDATA[JavaScript的加载优化]]></title>
            <link>https://blog.icehoney.me/posts/2021-01-23-javascript-performance/</link>
            <guid>https://blog.icehoney.me/posts/2021-01-23-javascript-performance/</guid>
            <pubDate>Sat, 23 Jan 2021 16:11:00 GMT</pubDate>
            <description><![CDATA[使用terser来压缩 JavaScript 代码。]]></description>
            <enclosure url="https://blog.icehoney.me/~@assets/js_async_defer.png">
            </enclosure>
        </item>
        <item>
            <title><![CDATA[前端开发中的加载性能优化]]></title>
            <link>https://blog.icehoney.me/posts/2020-12-20-loading-performance/</link>
            <guid>https://blog.icehoney.me/posts/2020-12-20-loading-performance/</guid>
            <pubDate>Sun, 20 Dec 2020 10:48:00 GMT</pubDate>
            <description><![CDATA[在 2010 年左右，人们都爱使用 jQuery 框架进行开发，因为 jQuery 抹平了浏览器之间的差异性，大大提高了开发效率。但随着浏览器吸收了 jQuery 的各种优点，例如可以使用document.querySelector很方便的像 jQuery 一样选择元素。现在的前端开发已经不那么需要 jQuery 了，你可以访问You might not need jQuery来查找替代的方法。]]></description>
        </item>
        <item>
            <title><![CDATA[vue实现datepicker组件]]></title>
            <link>https://blog.icehoney.me/posts/2020-11-30-vue-datepicker/</link>
            <guid>https://blog.icehoney.me/posts/2020-11-30-vue-datepicker/</guid>
            <pubDate>Mon, 30 Nov 2020 14:07:00 GMT</pubDate>
            <description><![CDATA[点击日期输入框，需要弹出下拉菜单，下拉菜单位置的计算并不简单，需要考虑到浏览器的窗口，如果输入框在下方，需要在上方弹出，如果输入框在上方，需要在下方弹出。
并且用户滑动到可视范围以外的话，还要可以隐藏。所以我们这里引用了一个比较成熟的第三方库来解决这个问题。
popperjs
这个库可以帮我们解决上面的问题，节约开发的成本。]]></description>
        </item>
        <item>
            <title><![CDATA[前端中debounce和throttle函数说明]]></title>
            <link>https://blog.icehoney.me/posts/2020-10-17-debounce-and-throttle/</link>
            <guid>https://blog.icehoney.me/posts/2020-10-17-debounce-and-throttle/</guid>
            <pubDate>Sat, 17 Oct 2020 20:52:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[在浏览器上显示TIF图像]]></title>
            <link>https://blog.icehoney.me/posts/2020-09-10-show-tif-in-web/</link>
            <guid>https://blog.icehoney.me/posts/2020-09-10-show-tif-in-web/</guid>
            <pubDate>Thu, 10 Sep 2020 20:57:00 GMT</pubDate>
            <description><![CDATA[在实际的业务中，我们需要在浏览器中对 TIF 文件的某个区域进行选择，所以需要展示 TIF 文件在浏览器中。不过浏览器并不能直接支持 TIF 格式，所以我们需要做相应的处理。]]></description>
        </item>
        <item>
            <title><![CDATA[简单多边形的判定]]></title>
            <link>https://blog.icehoney.me/posts/2020-08-09-simple-polygon/</link>
            <guid>https://blog.icehoney.me/posts/2020-08-09-simple-polygon/</guid>
            <pubDate>Sun, 09 Aug 2020 14:50:00 GMT</pubDate>
            <description><![CDATA[我们可以借助向量的知识来判断两个线段是否相交。二维向量的叉乘(cross product)的几何意义是以两向量为邻边的平行四边形的面积。此外，定义两个向量 a, b。
当 aXb  0，b 在 a 的逆时针方向。
如果两条线段相交，那必然一条线段的终点和起点，在另外一条线段的两侧。]]></description>
        </item>
        <item>
            <title><![CDATA[Vue中组件的设计]]></title>
            <link>https://blog.icehoney.me/posts/2020-07-30-vue-components/</link>
            <guid>https://blog.icehoney.me/posts/2020-07-30-vue-components/</guid>
            <pubDate>Thu, 30 Jul 2020 22:08:00 GMT</pubDate>
            <description><![CDATA[:value="item.value"
  >

`]]></description>
        </item>
        <item>
            <title><![CDATA[Vue实现双Slider]]></title>
            <link>https://blog.icehoney.me/posts/2020-06-14-vue-dual-slider/</link>
            <guid>https://blog.icehoney.me/posts/2020-06-14-vue-dual-slider/</guid>
            <pubDate>Sun, 14 Jun 2020 21:31:00 GMT</pubDate>
            <description><![CDATA[目前针对 Range 元素的样式定制化还没有纳入 Web 标准，所以在处理起来稍微花点功夫。首先，我们需要修改默认的滑块样式。使用的 CSS 选择器是-webkit-slider-thumb。由于未纳入标准，需要使用浏览器前缀才行。这里我们可以借助 postcss-input-range 插件来完成这项工作。]]></description>
        </item>
        <item>
            <title><![CDATA[React的TypeScript写法]]></title>
            <link>https://blog.icehoney.me/posts/2020-05-22-react-typescript/</link>
            <guid>https://blog.icehoney.me/posts/2020-05-22-react-typescript/</guid>
            <pubDate>Fri, 22 May 2020 22:43:00 GMT</pubDate>
            <description><![CDATA[count: 0
    };
  }]]></description>
        </item>
        <item>
            <title><![CDATA[Vue表单组件如何自动化输入]]></title>
            <link>https://blog.icehoney.me/posts/2020-04-23-vue-hack-form/</link>
            <guid>https://blog.icehoney.me/posts/2020-04-23-vue-hack-form/</guid>
            <pubDate>Thu, 23 Apr 2020 22:43:00 GMT</pubDate>
            <description><![CDATA[const input = document.querySelector('.el-input');
input.vue.$emit('input', 'Hello world');
`]]></description>
        </item>
        <item>
            <title><![CDATA[Vue下使用jest进行单元测试]]></title>
            <link>https://blog.icehoney.me/posts/2020-03-19-vue-jest/</link>
            <guid>https://blog.icehoney.me/posts/2020-03-19-vue-jest/</guid>
            <pubDate>Thu, 19 Mar 2020 21:56:00 GMT</pubDate>
            <description><![CDATA[}
`]]></description>
        </item>
        <item>
            <title><![CDATA[前端开发如何防止逆向以及对策]]></title>
            <link>https://blog.icehoney.me/posts/2020-02-22-hack-dev-tools/</link>
            <guid>https://blog.icehoney.me/posts/2020-02-22-hack-dev-tools/</guid>
            <pubDate>Sat, 22 Feb 2020 18:03:00 GMT</pubDate>
            <description><![CDATA[`]]></description>
        </item>
        <item>
            <title><![CDATA[前端部署之CDN的那些事情]]></title>
            <link>https://blog.icehoney.me/posts/2020-01-14-frontend-deploy/</link>
            <guid>https://blog.icehoney.me/posts/2020-01-14-frontend-deploy/</guid>
            <pubDate>Tue, 14 Jan 2020 22:59:00 GMT</pubDate>
            <description><![CDATA[由于 Service Workers 的导入使得 CDN 部署变得有些麻烦，不过这些问题好在都能找到解决方案。还有一点是 Chrome 的 Network 面板里的 offline 模式不能测试 Service Workers 的离线。需要自己手动拔网线才能测试。]]></description>
        </item>
        <item>
            <title><![CDATA[iOS12下Safari浏览器的BUG]]></title>
            <link>https://blog.icehoney.me/posts/2019-12-10-ios-safari-bug/</link>
            <guid>https://blog.icehoney.me/posts/2019-12-10-ios-safari-bug/</guid>
            <pubDate>Tue, 10 Dec 2019 22:39:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[计算贝塞尔曲线的长度]]></title>
            <link>https://blog.icehoney.me/posts/2019-10-22-bezier-length/</link>
            <guid>https://blog.icehoney.me/posts/2019-10-22-bezier-length/</guid>
            <pubDate>Tue, 22 Oct 2019 22:28:00 GMT</pubDate>
            <description><![CDATA[贝塞尔曲线是工业上经常用的一种曲线，经常用用来汽车的外观设计。贝塞尔曲线根据控制点的不同可以分为：]]></description>
        </item>
        <item>
            <title><![CDATA[使用Docker运行node项目]]></title>
            <link>https://blog.icehoney.me/posts/2019-09-23-node-docker/</link>
            <guid>https://blog.icehoney.me/posts/2019-09-23-node-docker/</guid>
            <pubDate>Mon, 23 Sep 2019 22:43:00 GMT</pubDate>
            <description><![CDATA[很多情况下，一个 Docker 是满足不了需求的，有时候还要使用 MySQL 数据库，有时候还要使用 redis。这时候就需要使用 docker-compose 来管理多个 Docker。docker-compose 的使用也很简单，只要在项目根目录下建立一个docker-compose.yml文件即可。关于 YAML 的学习，可以参考Learn YAML in five minutes!。]]></description>
        </item>
        <item>
            <title><![CDATA[求经纬度两点距离]]></title>
            <link>https://blog.icehoney.me/posts/2019-09-11-distance-latlng/</link>
            <guid>https://blog.icehoney.me/posts/2019-09-11-distance-latlng/</guid>
            <pubDate>Wed, 11 Sep 2019 22:43:00 GMT</pubDate>
            <description><![CDATA[世界大地测量系统是三维描述地球的位置信息，对于导航或者显示来说很不方便。所以在平面上使用麦卡托投影（Mercator projection），可以把三维平铺到二维。但是注意，麦卡托投影会使面积发生变形。所以投影出来的坐标是不能直接用来计算距离的。维度越高，变形就越大。所以需要计算比例因子来纠正。但对于两个坐标纬度相差比较大的情况下，计算就更复杂了。所以不推荐使用麦卡托投影来计算距离。]]></description>
        </item>
        <item>
            <title><![CDATA[Vue中如何设计面包屑]]></title>
            <link>https://blog.icehoney.me/posts/2019-07-28-vue-app-breadcrumbs/</link>
            <guid>https://blog.icehoney.me/posts/2019-07-28-vue-app-breadcrumbs/</guid>
            <pubDate>Sun, 28 Jul 2019 23:21:00 GMT</pubDate>
            <description><![CDATA[component: userSettings
      },
      {
        path: '',
        name: 'user-dashboard'
      }
      // ...
    ]
  }
]
`]]></description>
        </item>
        <item>
            <title><![CDATA[Github如何省略每次输入验证信息]]></title>
            <link>https://blog.icehoney.me/posts/2019-06-23-github-omit-auth/</link>
            <guid>https://blog.icehoney.me/posts/2019-06-23-github-omit-auth/</guid>
            <pubDate>Sun, 23 Jun 2019 20:21:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[使用WebAssembly编译C++到JS]]></title>
            <link>https://blog.icehoney.me/posts/2019-04-28-webassmebly/</link>
            <guid>https://blog.icehoney.me/posts/2019-04-28-webassmebly/</guid>
            <pubDate>Sun, 28 Apr 2019 20:51:00 GMT</pubDate>
            <description><![CDATA[官方的 demo 是使用 src 的方式来引入，并且暴露成 Module 的全局变量。但是现代化的 Web 项目都是使用 webpack 打包，并且自动化引入的。所以我们也不想为了 WebAssembly 搞特殊。接下来就讲述如何配置来引入。首先，使用 emscripten 输出 mjs 文件，这样才可以作为模块被导入。具体的编译参数可以参照emcc。
首先，wasm 格式并不能被 webpack 正确识别，我们需要添加 loader]]></description>
        </item>
        <item>
            <title><![CDATA[前端中的e2e测试]]></title>
            <link>https://blog.icehoney.me/posts/2019-04-06-javascript-e2e-test/</link>
            <guid>https://blog.icehoney.me/posts/2019-04-06-javascript-e2e-test/</guid>
            <pubDate>Sat, 06 Apr 2019 12:12:00 GMT</pubDate>
            <description><![CDATA[customassertionspath: ["tests/e2e/custom-assertions"],
      globals_path: "globalsModule.js",
      src_folders: ["tests/e2e/specs/web"]]]></description>
        </item>
        <item>
            <title><![CDATA[localStorage互斥锁的使用]]></title>
            <link>https://blog.icehoney.me/posts/2019-02-28-localstorage-mutex/</link>
            <guid>https://blog.icehoney.me/posts/2019-02-28-localstorage-mutex/</guid>
            <pubDate>Thu, 28 Feb 2019 20:20:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[亚马逊S3服务简单介绍]]></title>
            <link>https://blog.icehoney.me/posts/2019-01-23-aws-s3/</link>
            <guid>https://blog.icehoney.me/posts/2019-01-23-aws-s3/</guid>
            <pubDate>Wed, 23 Jan 2019 21:20:00 GMT</pubDate>
            <description><![CDATA[最近在做后端的开发，需要一些二进制数据保存在服务器云端。团队决定调查 AWS 的 S3 服务是否满足需求，所以就做了一些调查工作。不过也遇到很多坑的地方。所以记录下来，防止以后再遇到。]]></description>
        </item>
        <item>
            <title><![CDATA[前端开发地图应用的调研]]></title>
            <link>https://blog.icehoney.me/posts/2018-11-27-js-map/</link>
            <guid>https://blog.icehoney.me/posts/2018-11-27-js-map/</guid>
            <pubDate>Tue, 27 Nov 2018 21:20:00 GMT</pubDate>
            <description><![CDATA[产品需要在国内和国外使用，费用合理，可以换地图的贴图并且能在地图上绘制各种信息。例如多边形或圆形还有贝塞尔曲线。]]></description>
        </item>
        <item>
            <title><![CDATA[后端开发的技术总结]]></title>
            <link>https://blog.icehoney.me/posts/2018-10-15-backend-development/</link>
            <guid>https://blog.icehoney.me/posts/2018-10-15-backend-development/</guid>
            <pubDate>Mon, 15 Oct 2018 21:20:00 GMT</pubDate>
            <description><![CDATA[生成的 Markdown 文件，可以很方便的转换成网页便于客户端开发。例如这个工具aglio。]]></description>
        </item>
        <item>
            <title><![CDATA[跨域请求中的cookies处理]]></title>
            <link>https://blog.icehoney.me/posts/2018-09-08-cors-cookie/</link>
            <guid>https://blog.icehoney.me/posts/2018-09-08-cors-cookie/</guid>
            <pubDate>Sat, 08 Sep 2018 23:07:00 GMT</pubDate>
            <description><![CDATA[我们都知道服务器设置 cookie 是通过set-cookie的 http header 来完成。浏览器会读取这个信息设置 cookie。但是对于跨与请求，默认是无效的。我们需要再添加一个 http header。]]></description>
        </item>
        <item>
            <title><![CDATA[伪随机的种子问题]]></title>
            <link>https://blog.icehoney.me/posts/2018-08-01-random-seed/</link>
            <guid>https://blog.icehoney.me/posts/2018-08-01-random-seed/</guid>
            <pubDate>Wed, 01 Aug 2018 22:07:00 GMT</pubDate>
            <description><![CDATA[puts @rand.rand(10..150)]]></description>
        </item>
        <item>
            <title><![CDATA[Web离线的解决方案]]></title>
            <link>https://blog.icehoney.me/posts/2018-07-06-offline-web/</link>
            <guid>https://blog.icehoney.me/posts/2018-07-06-offline-web/</guid>
            <pubDate>Fri, 06 Jul 2018 23:25:00 GMT</pubDate>
            <description><![CDATA[这里要补充的一点是，针对 https 的 Application Cache 是无法完成跨域请求的，所以请慎重。]]></description>
        </item>
        <item>
            <title><![CDATA[如何封装第三方vue组件]]></title>
            <link>https://blog.icehoney.me/posts/2018-05-29-wrapper-vue-component/</link>
            <guid>https://blog.icehoney.me/posts/2018-05-29-wrapper-vue-component/</guid>
            <pubDate>Tue, 29 May 2018 23:19:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[JavaScript开发中的性能优化]]></title>
            <link>https://blog.icehoney.me/posts/2018-04-25-javascript-performance/</link>
            <guid>https://blog.icehoney.me/posts/2018-04-25-javascript-performance/</guid>
            <pubDate>Wed, 25 Apr 2018 23:22:00 GMT</pubDate>
            <description><![CDATA[最近工作比较清闲，5 月又换了一个工作环境。总结下最近看的有关 JavaScript 性能的知识，并记下来供未来的自己参考。希望自己能不忘初心，继续成长！]]></description>
        </item>
        <item>
            <title><![CDATA[使用letsencrypt为自己的网站加密]]></title>
            <link>https://blog.icehoney.me/posts/2018-04-08-website-https/</link>
            <guid>https://blog.icehoney.me/posts/2018-04-08-website-https/</guid>
            <pubDate>Sun, 08 Apr 2018 20:51:00 GMT</pubDate>
            <description><![CDATA[浏览器的证书签名的步骤实在是很麻烦，所以有位热心的学生做了一个自动化脚本，可以自动生成脚本并且可以和其他脚本一起使用。达到一键签名证书。]]></description>
        </item>
        <item>
            <title><![CDATA[浏览器的渲染性能]]></title>
            <link>https://blog.icehoney.me/posts/2018-02-13-rendering-performance/</link>
            <guid>https://blog.icehoney.me/posts/2018-02-13-rendering-performance/</guid>
            <pubDate>Tue, 13 Feb 2018 20:44:00 GMT</pubDate>
            <description><![CDATA[浏览器的渲染主要是分为 5 个步骤，我们需要了解这些知识才能编写性能更好的代码。]]></description>
            <enclosure url="https://blog.icehoney.me/~@assets/frame-full.jpg">
            </enclosure>
        </item>
        <item>
            <title><![CDATA[JavaScript中的数据类型]]></title>
            <link>https://blog.icehoney.me/posts/2018-01-16-javascript-types/</link>
            <guid>https://blog.icehoney.me/posts/2018-01-16-javascript-types/</guid>
            <pubDate>Tue, 16 Jan 2018 22:44:00 GMT</pubDate>
            <description><![CDATA[JavaScript 中有七种内置类型：]]></description>
        </item>
        <item>
            <title><![CDATA[前端开发的技术栈]]></title>
            <link>https://blog.icehoney.me/posts/2017-11-18-frontend-development/</link>
            <guid>https://blog.icehoney.me/posts/2017-11-18-frontend-development/</guid>
            <pubDate>Sat, 18 Nov 2017 17:18:00 GMT</pubDate>
            <description><![CDATA[现在主流的浏览器支持的 JavaScript 版本是 es5。但是众所周知，JavaScript(es5)有很多陷阱和缺点，例如this指针问题和异步处理等等。基于原型连的继承对于面向对象开发者来说也很不友好。所以推荐使用es6来书写代码。可以使用基于class的继承，和解决this指针问题。而且还能使用import进行模块化开发。虽然只是语法糖，但也提升了开发效率。]]></description>
        </item>
        <item>
            <title><![CDATA[网站开发中的Modal问题]]></title>
            <link>https://blog.icehoney.me/posts/2017-10-21-modal-scroll/</link>
            <guid>https://blog.icehoney.me/posts/2017-10-21-modal-scroll/</guid>
            <pubDate>Sat, 21 Oct 2017 14:30:00 GMT</pubDate>
            <description><![CDATA[第二个方案是，网页内容采用overflow: hidden来隐藏滚动条。Modal 采用position：fixed方案进行定位，但是这时候 Modal 不得不设置overflow： auto来进行滚动。
第二个方案对于网页内容和 Modal 的位置并没有特殊的要求，比较灵活，而且不需要 JS 的介入。]]></description>
        </item>
        <item>
            <title><![CDATA[Github团队协作]]></title>
            <link>https://blog.icehoney.me/posts/2017-09-16-github-workflow/</link>
            <guid>https://blog.icehoney.me/posts/2017-09-16-github-workflow/</guid>
            <pubDate>Sat, 16 Sep 2017 22:30:00 GMT</pubDate>
            <description><![CDATA[git branch -d
`]]></description>
        </item>
        <item>
            <title><![CDATA[CSS技巧和工作总结]]></title>
            <link>https://blog.icehoney.me/posts/2017-08-06-css-trick/</link>
            <guid>https://blog.icehoney.me/posts/2017-08-06-css-trick/</guid>
            <pubDate>Sun, 06 Aug 2017 15:30:00 GMT</pubDate>
            <description><![CDATA[手机版 Safari 在滑动的时候如果有动画执行，会导致整个页面空白。当滑动结束的时候才会渲染。我们不得不采用给所有元素添加transform: translate3d(0,0,0)属性，
来使 Safari 强制使用 GPU 加速。]]></description>
        </item>
        <item>
            <title><![CDATA[JavaScript对象的常见操作]]></title>
            <link>https://blog.icehoney.me/posts/2017-06-18-javascript-object/</link>
            <guid>https://blog.icehoney.me/posts/2017-06-18-javascript-object/</guid>
            <pubDate>Sun, 18 Jun 2017 22:13:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[CSS笔记和杂谈]]></title>
            <link>https://blog.icehoney.me/posts/2017-05-07-css/</link>
            <guid>https://blog.icehoney.me/posts/2017-05-07-css/</guid>
            <pubDate>Sun, 07 May 2017 21:49:00 GMT</pubDate>
            <description><![CDATA[这应该是最长的一次博客断更吧。。。因为年后辞职加上来日本工作的原因。导致很长时间都没有更新自己的博客了。很是惭愧，本来定的目标就是每月一篇很简单的任务。但居然空档了这么长时间，这就是正所谓的生于忧患死于安乐吧。找到了工作就松懈了，所以今天又重新捡起来继续写。公司的新人课题是做一个简单的 CMS 网站，也算重新复习了一下网页制作吧，因为一直在写 JS 的项目，基本的 HTML 和 CSS 的设计都有点生疏了。。。]]></description>
        </item>
        <item>
            <title><![CDATA[Golang语言学习分享]]></title>
            <link>https://blog.icehoney.me/posts/2017-01-29-go/</link>
            <guid>https://blog.icehoney.me/posts/2017-01-29-go/</guid>
            <pubDate>Sun, 29 Jan 2017 09:49:00 GMT</pubDate>
            <description><![CDATA[然后解压缩和配置环境变量，过程很简单。]]></description>
        </item>
        <item>
            <title><![CDATA[逆向JavaScript经验分享]]></title>
            <link>https://blog.icehoney.me/posts/2016-12-19-reverse-javascript/</link>
            <guid>https://blog.icehoney.me/posts/2016-12-19-reverse-javascript/</guid>
            <pubDate>Mon, 19 Dec 2016 19:16:00 GMT</pubDate>
            <description><![CDATA[通过一个个查找，我们找到了一个请求返回了一个 JSONP 格式的数据，这个数据里面包含了 MP4 源文件的地址。注意，很多人分析请求的时候经常喜欢找 MP4 文件的请求，这个可以算是一个切入点。但是一般网站不会把视频网址固定死的，所以找到 MP4 请求并没有什么实际意义，而是一定有一个请求去向服务器索取真实的 MP4 地址，一般这个数据都是 JSON 格式的。所以只要耐心找，一定找得到的。很多请求都只不过是资源文件，所以很容易过滤掉的。]]></description>
            <enclosure url="https://blog.icehoney.me/~@assets/iqiyi.png">
            </enclosure>
        </item>
        <item>
            <title><![CDATA[Linux高并发系统参数优化]]></title>
            <link>https://blog.icehoney.me/posts/2016-11-27-linux-tune-guide/</link>
            <guid>https://blog.icehoney.me/posts/2016-11-27-linux-tune-guide/</guid>
            <pubDate>Sun, 27 Nov 2016 18:16:00 GMT</pubDate>
            <description><![CDATA[`]]></description>
        </item>
        <item>
            <title><![CDATA[使用Latex书写论文]]></title>
            <link>https://blog.icehoney.me/posts/2016-09-20-latex/</link>
            <guid>https://blog.icehoney.me/posts/2016-09-20-latex/</guid>
            <pubDate>Tue, 20 Sep 2016 20:16:00 GMT</pubDate>
            <description><![CDATA[网上有很多 Latex 的学习资料，不过我们也没必要详细学习，在此介绍一个简单的学习资料。一份不太简短的 LATEX 介绍基本上看完这个文档就可以大致明白如何利用 Latex 书写论文。]]></description>
        </item>
        <item>
            <title><![CDATA[模块化JavaScript开发]]></title>
            <link>https://blog.icehoney.me/posts/2016-06-30-webpack/</link>
            <guid>https://blog.icehoney.me/posts/2016-06-30-webpack/</guid>
            <pubDate>Thu, 30 Jun 2016 16:43:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[WebGL渲染的知识介绍]]></title>
            <link>https://blog.icehoney.me/posts/2016-05-05-webgl-render/</link>
            <guid>https://blog.icehoney.me/posts/2016-05-05-webgl-render/</guid>
            <pubDate>Thu, 05 May 2016 10:43:00 GMT</pubDate>
            <description><![CDATA[来到日本导师的研究方向是计算机图形学，由于我比较擅长 Web 开发，便选择了 WebGL 进行图形渲染的研究课题。学习了大半年，也该写点东西介绍下自己对 WebGL 的理解，如有错误，欢迎批评指正。]]></description>
            <enclosure url="https://blog.icehoney.me/~@assets/webgl_graphics_pipeline.jpg">
            </enclosure>
        </item>
        <item>
            <title><![CDATA[关于JavaScript跨域请求的相关知识]]></title>
            <link>https://blog.icehoney.me/posts/2016-03-21-cors-options-method/</link>
            <guid>https://blog.icehoney.me/posts/2016-03-21-cors-options-method/</guid>
            <pubDate>Mon, 21 Mar 2016 14:33:00 GMT</pubDate>
            <description><![CDATA[跨域请求指得是发起请求的资源所在域不同于该请求所指向资源所在的域的 HTTP 请求.最常见的就是跨域载入图片,我们可以看到很多网站主站和网站所使用的图片
是不同的域名的.这样做的好处是请求图片的时候不会发送主站的 Cookies,因为不同域名嘛.而且还可以减少主站的服务器压力.但载入图片使用的是 GET 方法,比较简单.]]></description>
        </item>
        <item>
            <title><![CDATA[使用最小费用最大流模型解决酒店管理收益最大化问题]]></title>
            <link>https://blog.icehoney.me/posts/2015-12-29-minimum-cost-flow-problem/</link>
            <guid>https://blog.icehoney.me/posts/2015-12-29-minimum-cost-flow-problem/</guid>
            <pubDate>Tue, 29 Dec 2015 11:15:00 GMT</pubDate>
            <description><![CDATA[顶点 11 和顶点 16 是重复边的订单,对应的是第一个订单和第 6 个订单.源码和输入数据可以在文章末尾看到.]]></description>
            <enclosure url="https://blog.icehoney.me/~@assets/model.png">
            </enclosure>
        </item>
        <item>
            <title><![CDATA[解决Dota2在Archlinux下的各种疑难杂症]]></title>
            <link>https://blog.icehoney.me/posts/2015-12-01-archlinux-dota2/</link>
            <guid>https://blog.icehoney.me/posts/2015-12-01-archlinux-dota2/</guid>
            <pubDate>Tue, 01 Dec 2015 21:58:00 GMT</pubDate>
            <description><![CDATA[~/.steam/steam/ubuntu1232/steam-runtime/amd64/usr/lib/x8664-linux-gnu/
`]]></description>
        </item>
        <item>
            <title><![CDATA[Archlinux和Win 10 在 UEFI下 双启动]]></title>
            <link>https://blog.icehoney.me/posts/2015-10-28-uefi-dual-boot-archlinux/</link>
            <guid>https://blog.icehoney.me/posts/2015-10-28-uefi-dual-boot-archlinux/</guid>
            <pubDate>Wed, 28 Oct 2015 23:32:00 GMT</pubDate>
            <description><![CDATA[如果这个不行的话,那说明你得采用第二个办法了,使用 GRUB 进行引导启动盘.]]></description>
        </item>
        <item>
            <title><![CDATA[使用Python实现Histogram_equalization算法]]></title>
            <link>https://blog.icehoney.me/posts/2015-10-05-python-image-process/</link>
            <guid>https://blog.icehoney.me/posts/2015-10-05-python-image-process/</guid>
            <pubDate>Mon, 05 Oct 2015 23:54:00 GMT</pubDate>
            <description><![CDATA[库的引用只使用了PIL 和 numpy.前者用来读取图像的二进制数据,
后者用来进行数值的累加计算.源码发布在 Github]]></description>
        </item>
        <item>
            <title><![CDATA[Chrome扩展和Web Page 进行通讯]]></title>
            <link>https://blog.icehoney.me/posts/2015-08-25-communication-between-extensions-and-web-page/</link>
            <guid>https://blog.icehoney.me/posts/2015-08-25-communication-between-extensions-and-web-page/</guid>
            <pubDate>Tue, 25 Aug 2015 19:54:00 GMT</pubDate>
            <description><![CDATA[后者是接收 Content Script 消息的,前者是 接收 Web Page 消息的.
这样便实现了 Web Page 和 Background 之间的双向通讯, Web Page 不能完成的事情交给 Background 来处理即可.]]></description>
        </item>
        <item>
            <title><![CDATA[解压和打包安卓DAT文件]]></title>
            <link>https://blog.icehoney.me/posts/2015-07-28-compression-and-decompression-dat-files/</link>
            <guid>https://blog.icehoney.me/posts/2015-07-28-compression-and-decompression-dat-files/</guid>
            <pubDate>Tue, 28 Jul 2015 19:54:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Chromebook Pixel (2013) 安装Linux的方法]]></title>
            <link>https://blog.icehoney.me/posts/2015-04-20-chromebook-pixel-install-linux/</link>
            <guid>https://blog.icehoney.me/posts/2015-04-20-chromebook-pixel-install-linux/</guid>
            <pubDate>Mon, 20 Apr 2015 19:54:00 GMT</pubDate>
            <description><![CDATA[同学最近淘了一台二手 Chromebook Pixel (2013)，这款笔记本最大的诱惑就是 12.85 寸但是配备了一块 2560 x 1700 分辨率的触摸屏。上网的体验不要太爽啊，在体验了一小时的 Chrome OS 之后，便感叹就只有一个浏览器而已啊！于是开始折腾如何安装 Linux，毕竟这款笔记本本来就对 Linux 支持很好。下面开始介绍安装过程。]]></description>
        </item>
        <item>
            <title><![CDATA[突破同源策略限制的方法]]></title>
            <link>https://blog.icehoney.me/posts/2015-04-20-breaking-the-same-origin-policy/</link>
            <guid>https://blog.icehoney.me/posts/2015-04-20-breaking-the-same-origin-policy/</guid>
            <pubDate>Mon, 20 Apr 2015 19:54:00 GMT</pubDate>
            <description><![CDATA[但是随着互联网的发展跨域的需求也越来越迫切，有些时候我们需要突破同源策略。下面开始介绍突破同源策略的几种方法：]]></description>
        </item>
        <item>
            <title><![CDATA[CSS使用box-shadow和border-radius的妙用]]></title>
            <link>https://blog.icehoney.me/posts/2015-03-17-css-box-shadow-border-radius/</link>
            <guid>https://blog.icehoney.me/posts/2015-03-17-css-box-shadow-border-radius/</guid>
            <pubDate>Tue, 17 Mar 2015 15:08:00 GMT</pubDate>
            <description><![CDATA[border-radius: 0 0 100px 0;
`]]></description>
            <enclosure url="https://blog.icehoney.me/~@assets/css_1.png">
            </enclosure>
        </item>
        <item>
            <title><![CDATA[Windows下如何进行进程注入]]></title>
            <link>https://blog.icehoney.me/posts/2015-02-28-windows-injection/</link>
            <guid>https://blog.icehoney.me/posts/2015-02-28-windows-injection/</guid>
            <pubDate>Sat, 28 Feb 2015 15:53:00 GMT</pubDate>
            <description><![CDATA[传入的参数包括进程句柄，开辟起始地址，开辟空间的大小，分配的数据类型，分配空间的权限。例如： pRemoteCode = (PBYTE) VirtualAllocEx(hProcess, 0, dwSizeOfCode, MEMCOMMIT, PAGEEXECUTE_READWRITE);]]></description>
        </item>
        <item>
            <title><![CDATA[使用Aria2下载百度网盘和115的资源]]></title>
            <link>https://blog.icehoney.me/posts/2015-01-31-aria2-download/</link>
            <guid>https://blog.icehoney.me/posts/2015-01-31-aria2-download/</guid>
            <pubDate>Sat, 31 Jan 2015 09:41:00 GMT</pubDate>
            <description><![CDATA[file-allocation=prealloc
`]]></description>
        </item>
        <item>
            <title><![CDATA[使用Postfix,Dovecot和Mysql配置邮件服务器]]></title>
            <link>https://blog.icehoney.me/posts/2014-12-25-configure-mail-server/</link>
            <guid>https://blog.icehoney.me/posts/2014-12-25-configure-mail-server/</guid>
            <pubDate>Thu, 25 Dec 2014 15:41:00 GMT</pubDate>
            <description><![CDATA[inet_protocols = ipv4 这样就关闭 IPv6 了.即可解决问题.]]></description>
        </item>
        <item>
            <title><![CDATA[JavaScript处理二进制数据]]></title>
            <link>https://blog.icehoney.me/posts/2014-11-23-javascript-binary/</link>
            <guid>https://blog.icehoney.me/posts/2014-11-23-javascript-binary/</guid>
            <pubDate>Sun, 23 Nov 2014 14:30:00 GMT</pubDate>
            <description><![CDATA[dataView[i] = data.charCodeAt(i);
}
var arrayBuffer = dataView.buffer;
`]]></description>
        </item>
        <item>
            <title><![CDATA[扇贝单词助手发布]]></title>
            <link>https://blog.icehoney.me/posts/2014-10-30-shanbay-helper/</link>
            <guid>https://blog.icehoney.me/posts/2014-10-30-shanbay-helper/</guid>
            <pubDate>Thu, 30 Oct 2014 18:30:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[计算机中的字节序问题]]></title>
            <link>https://blog.icehoney.me/posts/2014-09-30-computer-endian/</link>
            <guid>https://blog.icehoney.me/posts/2014-09-30-computer-endian/</guid>
            <pubDate>Tue, 30 Sep 2014 12:30:00 GMT</pubDate>
            <description><![CDATA[计算机字节序这个问题,最近被老师反复提到.我也在本科阶段折腾交叉编译的时候遇到过.并且这个问题貌似也是面试的时候一个常见问题,所以还是写下来比较好.]]></description>
        </item>
        <item>
            <title><![CDATA[chrome扩展开发经验记录]]></title>
            <link>https://blog.icehoney.me/posts/2014-08-23-chrome-extension-develop/</link>
            <guid>https://blog.icehoney.me/posts/2014-08-23-chrome-extension-develop/</guid>
            <pubDate>Sat, 23 Aug 2014 16:01:00 GMT</pubDate>
            <description><![CDATA[不过由于 Background Pages 是一直运行的,对资源占用比较多.现在已经用 Event Pages 代替.Event Pages 是按需加载,不需要的时候不会激活运行.
Event Pages 的 JS 可以使用 chrome 的所有 API.]]></description>
        </item>
        <item>
            <title><![CDATA[Linux下恢复误删除的文件]]></title>
            <link>https://blog.icehoney.me/posts/2014-07-21-linux-undelete-files/</link>
            <guid>https://blog.icehoney.me/posts/2014-07-21-linux-undelete-files/</guid>
            <pubDate>Mon, 21 Jul 2014 17:39:00 GMT</pubDate>
            <description><![CDATA[`]]></description>
        </item>
        <item>
            <title><![CDATA[百度网盘新版API]]></title>
            <link>https://blog.icehoney.me/posts/2014-07-02-baidu-pan/</link>
            <guid>https://blog.icehoney.me/posts/2014-07-02-baidu-pan/</guid>
            <pubDate>Wed, 02 Jul 2014 14:09:00 GMT</pubDate>
            <description><![CDATA[于是说一下百度的新版 API 吧:]]></description>
        </item>
        <item>
            <title><![CDATA[Archlinux下声卡的设置与折腾]]></title>
            <link>https://blog.icehoney.me/posts/2014-06-05-archlinux-sound-setting/</link>
            <guid>https://blog.icehoney.me/posts/2014-06-05-archlinux-sound-setting/</guid>
            <pubDate>Thu, 05 Jun 2014 09:22:00 GMT</pubDate>
            <description><![CDATA[Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: PCH [HDA Intel PCH], device 0: ALC3220 Analog [ALC3220 Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
`]]></description>
            <enclosure url="https://blog.icehoney.me/~@assets/alsamixer.png">
            </enclosure>
        </item>
        <item>
            <title><![CDATA[JavaScript中一个经典的正则例子]]></title>
            <link>https://blog.icehoney.me/posts/2014-05-08-javascript-regular-expressions/</link>
            <guid>https://blog.icehoney.me/posts/2014-05-08-javascript-regular-expressions/</guid>
            <pubDate>Thu, 08 May 2014 09:44:00 GMT</pubDate>
            <description><![CDATA[}
`]]></description>
        </item>
        <item>
            <title><![CDATA[JavaScript函数中的闭包]]></title>
            <link>https://blog.icehoney.me/posts/2014-04-30-javascript-closure/</link>
            <guid>https://blog.icehoney.me/posts/2014-04-30-javascript-closure/</guid>
            <pubDate>Wed, 30 Apr 2014 16:18:00 GMT</pubDate>
            <description><![CDATA[举例来说,假定我们想要给 String 增加一个 deentityify 方法.它的任务是寻找字符串中的 HTML 字符实体并把它们替换为对应的字符.
这就需要在一个对象中保存字符实体的名字和它们对应的字符.但我们该在哪里保存这个对象呢?我们可以把它放到一个全局变量中,
但全局变量是魔鬼.我们可以把它定义在该函数的内部,但是那会带来运行时的损耗,因为每次执行该函数的时候该字面量都会被求值一次.
理想的方式就是使用闭包实现.]]></description>
        </item>
        <item>
            <title><![CDATA[JavaScript函数调用的四种方式]]></title>
            <link>https://blog.icehoney.me/posts/2014-04-24-invocation-four-method/</link>
            <guid>https://blog.icehoney.me/posts/2014-04-24-invocation-four-method/</guid>
            <pubDate>Thu, 24 Apr 2014 15:28:00 GMT</pubDate>
            <description><![CDATA[使得函数可以对 this 高度复用.通过 this 可取得他们所属对象的上下文的方法成为公共方法(public method).]]></description>
        </item>
        <item>
            <title><![CDATA[Archlinux折腾笔记]]></title>
            <link>https://blog.icehoney.me/posts/2014-04-20-linux-notes/</link>
            <guid>https://blog.icehoney.me/posts/2014-04-20-linux-notes/</guid>
            <pubDate>Sun, 20 Apr 2014 19:52:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[面试笔记]]></title>
            <link>https://blog.icehoney.me/posts/2014-04-01-interview/</link>
            <guid>https://blog.icehoney.me/posts/2014-04-01-interview/</guid>
            <pubDate>Tue, 01 Apr 2014 19:20:00 GMT</pubDate>
            <description><![CDATA[三月下旬,病还没有完全康复.我便赶往上海.只因为认识的一位菊苣帮我投递了一下简历.而且据说人家对我简历印象还不错.
现在想想,自己还真是幼稚...这句话就像你问店里员工我的菜怎么还没上,人家一定会回答:马上就好了,都已经下锅了.
刚刚抵达上海的时候已经是晚上,这是我人生第一次去上海,有种乡下人进城里的感觉.带着梦想与希望,来到了这个地方.]]></description>
        </item>
        <item>
            <title><![CDATA[漫无止境的三月]]></title>
            <link>https://blog.icehoney.me/posts/2014-03-08-long-march/</link>
            <guid>https://blog.icehoney.me/posts/2014-03-08-long-march/</guid>
            <pubDate>Sat, 08 Mar 2014 12:03:00 GMT</pubDate>
            <description><![CDATA[光看书真的很没劲,于是我又开坑了...为了练习 python,我想当后端工程师啊!IE 一天不死我写前端就不会痛快!
新项目就这么愉快的开坑了,前端懒的设计就直接用Bootstrap了,感觉 Bootstrap 也就只能用些组件的 UI,
布局神马的还是不符合我的胃口.项目部署的网址是:http://netkuu.icehoney.me/ 目前还是绝赞填坑中~
前端后端全部自己一个人写,希望能把自己锻炼成 full stack developer~ 现在就差数据库练手了,好久没玩数据库了.]]></description>
        </item>
        <item>
            <title><![CDATA[程序员修炼之道]]></title>
            <link>https://blog.icehoney.me/posts/2014-02-05-the-pragmatic-programmer/</link>
            <guid>https://blog.icehoney.me/posts/2014-02-05-the-pragmatic-programmer/</guid>
            <pubDate>Wed, 05 Feb 2014 17:18:00 GMT</pubDate>
            <description><![CDATA[这本书的精彩之处只可意会不可言传,本人文采不好,但是极力推荐.最后摘抄下这本书阐述的注重实效的程序员的特征:]]></description>
        </item>
        <item>
            <title><![CDATA[GUI和CLI的使用比较]]></title>
            <link>https://blog.icehoney.me/posts/2014-01-18-gui-vs-cli/</link>
            <guid>https://blog.icehoney.me/posts/2014-01-18-gui-vs-cli/</guid>
            <pubDate>Sat, 18 Jan 2014 23:06:00 GMT</pubDate>
            <description><![CDATA[GUI 的好处是 WYSIWYG--所见即所得(what you see is what you get).缺点是 WYSIAYG--所见即全部所得(what you see is all you get).]]></description>
        </item>
        <item>
            <title><![CDATA[关于程序运行效率的一点见解]]></title>
            <link>https://blog.icehoney.me/posts/2013-10-24-program-efficiency/</link>
            <guid>https://blog.icehoney.me/posts/2013-10-24-program-efficiency/</guid>
            <pubDate>Thu, 24 Oct 2013 23:06:00 GMT</pubDate>
            <description><![CDATA[杂度都是一样的,运行起来没啥区别的.当然对于现在的高速 CPU 和这个元素比较少的数组来说其实也没多大差别,但是不能
因为这个就去忽略程序的效率问题.]]></description>
        </item>
        <item>
            <title><![CDATA[Archlinux下有关无损音乐的折腾]]></title>
            <link>https://blog.icehoney.me/posts/2013-10-06-archlinux-ape-cue-splitting/</link>
            <guid>https://blog.icehoney.me/posts/2013-10-06-archlinux-ape-cue-splitting/</guid>
            <pubDate>Sun, 06 Oct 2013 23:29:00 GMT</pubDate>
            <description><![CDATA[cuetag.sh 脚本 最新版貌似有问题不能使用.
cuetag.sh file.cue *.mp3
命令很简单,在转换好的音乐文件夹下指定 cue 文件和 mp3 文件即可自动打 TAG,但是需要注意的一点是,这个脚本打的是 ID3v1 的标签,如果是非英语语言的话,
会出现乱码问题.详情请戳Mp3 标签乱码问题分析与解决方案
所以,之后我们还是要使用mp3tagiconv
这个工具来进行标签的转换使得所有的播放器都能够正确识别 mp3 音乐的标签.
for i in *.mp3; do echo "y"| mp3tagiconv "${i}" ;done
因为 mp3tagiconv 这个工具每次更新标签都会提示 yes or no ,所以我就修改了下执行方式,使得批量自动化修改.flac 格式的音乐不存在 TAG 编码问题.]]></description>
        </item>
        <item>
            <title><![CDATA[Archlinux下使用airbase和dhcpd建立虚拟AP]]></title>
            <link>https://blog.icehoney.me/posts/2013-08-26-archlinux-airbase-create-fakeap/</link>
            <guid>https://blog.icehoney.me/posts/2013-08-26-archlinux-airbase-create-fakeap/</guid>
            <pubDate>Mon, 26 Aug 2013 21:29:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Archlinux下Galaxy Nexus刷机并root]]></title>
            <link>https://blog.icehoney.me/posts/2013-07-20-archlinux-flash-android/</link>
            <guid>https://blog.icehoney.me/posts/2013-07-20-archlinux-flash-android/</guid>
            <pubDate>Sat, 20 Jul 2013 14:12:00 GMT</pubDate>
            <description><![CDATA[安卓本来就是 Linux 衍生的,所以必然可以用 Linux 系统进行刷机,而且效果比 Win 还要好.不需要安装驱动,只需要安装 adb 和 fastboot 即可.]]></description>
        </item>
        <item>
            <title><![CDATA[Archlinux下终端进行代理的解决方案]]></title>
            <link>https://blog.icehoney.me/posts/2013-07-18-archlinux-terminal-proxy/</link>
            <guid>https://blog.icehoney.me/posts/2013-07-18-archlinux-terminal-proxy/</guid>
            <pubDate>Thu, 18 Jul 2013 22:05:00 GMT</pubDate>
            <description><![CDATA[软件来源各种各样,有的是 Google code 上的,有的是 GitHub 上的,有的就是 sourceforge 上的了.
但是在中国的大环境下不能保证上面网站的正常访问 QAQ Google 的话有 hosts 的情况下基本上是
把 http 修改成 https 就可以下载了,其余两个就只能代理进行下载软件并安装了.]]></description>
        </item>
        <item>
            <title><![CDATA[Archlinux下安装过wps之后字体发虚的问题]]></title>
            <link>https://blog.icehoney.me/posts/2013-07-04-archlinux-wps-font/</link>
            <guid>https://blog.icehoney.me/posts/2013-07-04-archlinux-wps-font/</guid>
            <pubDate>Thu, 04 Jul 2013 12:39:00 GMT</pubDate>
            <description><![CDATA[文泉驿提供了一个在线配置生成工具
这个网页有部分 JS 资源被墙了,所以需要科学上网才能正常使用,需要注意.
配置完成之后点上面的“生成[create]”按钮,将结果复制保存到~/.fonts.conf 就能覆盖系统的字体选择顺序.
注意上面的方法在 Archlinux 下会出现警告错误提示是过时的使用方法.
正确的解决办法是把配置文件写在 /etc/fonts/conf.avail/50-user.conf
这样就可以完美解决字体发虚的问题了.]]></description>
        </item>
        <item>
            <title><![CDATA[Sublime使用笔记以及插件推荐]]></title>
            <link>https://blog.icehoney.me/posts/2013-07-02-sublime-text2-plugins/</link>
            <guid>https://blog.icehoney.me/posts/2013-07-02-sublime-text2-plugins/</guid>
            <pubDate>Tue, 02 Jul 2013 22:06:00 GMT</pubDate>
            <description><![CDATA[按照那个帖子三个步骤便可以成功调出输入法.]]></description>
        </item>
        <item>
            <title><![CDATA[Ubuntu下apache2的配置记录]]></title>
            <link>https://blog.icehoney.me/posts/2013-06-06-ubuntu-config-apache2/</link>
            <guid>https://blog.icehoney.me/posts/2013-06-06-ubuntu-config-apache2/</guid>
            <pubDate>Thu, 06 Jun 2013 21:41:00 GMT</pubDate>
            <description><![CDATA[配置文件储存在 /etc/apache2 主配置文件在 apache2.conf 其中这个配置文件包含了 sites-enabled 目录
这个目录是主要储存配置文件的地方 配置文件以 000-default 000-default-ssl 这种命名方式进行命名.
这两个文件是对 http 和 https 进行默认配置.下面我们来看看这两个默认配置
vim 000-default]]></description>
        </item>
        <item>
            <title><![CDATA[关于微云下载的那点事]]></title>
            <link>https://blog.icehoney.me/posts/2013-04-28-about-weiyun/</link>
            <guid>https://blog.icehoney.me/posts/2013-04-28-about-weiyun/</guid>
            <pubDate>Sun, 28 Apr 2013 21:31:00 GMT</pubDate>
            <description><![CDATA[}
}
`]]></description>
        </item>
        <item>
            <title><![CDATA[使用GRUB2引导ISO镜像]]></title>
            <link>https://blog.icehoney.me/posts/2013-04-25-grub2-boot-from-iso/</link>
            <guid>https://blog.icehoney.me/posts/2013-04-25-grub2-boot-from-iso/</guid>
            <pubDate>Thu, 25 Apr 2013 21:17:00 GMT</pubDate>
            <description><![CDATA[的意思是 IDE 硬盘用 hd 表示,这里也可以表示 U 盘,0 表示第一块磁盘,从 0 开始计数.1 代表的是第一块分区,这里是从 1 开始计数.因为 U 盘引导的话第一块磁盘肯定是
U 盘,所以前面的肯定是 0,后面的 1 代表的是分区,如果你的分区是从其它数字开始的就做相应修改.第四行是加载内核,也就是 ios 里面的内核所在路径,archisolabel 代表的
是虚拟挂载的时候的卷标,注意这个一定不能和你现有的硬盘或者 U 盘的卷标重复,否则会出现错误的.img_dev 表示的是镜像所在的设备位置,这里使用 uuid 来表示,因为 uuid 是
U 盘的固有属性,一般不会发生变化(除非你格式化 U 盘),所以保证一定能找到设备.]]></description>
        </item>
        <item>
            <title><![CDATA[安徽师范大学校园视频下载器2.0版本发布]]></title>
            <link>https://blog.icehoney.me/posts/2013-03-15-ahnu-video-downloader/</link>
            <guid>https://blog.icehoney.me/posts/2013-03-15-ahnu-video-downloader/</guid>
            <pubDate>Fri, 15 Mar 2013 15:30:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[关于CSS解决高度自适应和宽度自适应的问题]]></title>
            <link>https://blog.icehoney.me/posts/2013-03-10-css-adapt-width-and-height/</link>
            <guid>https://blog.icehoney.me/posts/2013-03-10-css-adapt-width-and-height/</guid>
            <pubDate>Sun, 10 Mar 2013 19:09:00 GMT</pubDate>
            <description><![CDATA[今天在做一个地图的 web 应用,这是个大坑...首先开始设计首页,于是开始山寨谷歌地图了 =.=
设计出来基本的 div 框架之后,想做到地图界面宽度和高度自动适应浏览器.之前做网站的需求都是固定宽度和高度的.于是我变开始折腾了.]]></description>
        </item>
        <item>
            <title><![CDATA[个人博客的建立]]></title>
            <link>https://blog.icehoney.me/posts/2013-02-07-start-blog/</link>
            <guid>https://blog.icehoney.me/posts/2013-02-07-start-blog/</guid>
            <pubDate>Thu, 07 Feb 2013 22:07:00 GMT</pubDate>
            <description><![CDATA[Arch 并且在学习 Python,于是又开坑了...]]></description>
        </item>
    </channel>
</rss>