<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Developer on Fliaping's Blog</title><link>https://fliaping-blog.pages.dev/categories/developer/</link><description>Recent content in Developer on Fliaping's Blog</description><generator>Hugo -- gohugo.io</generator><language>zh-cn</language><lastBuildDate>Mon, 23 Sep 2024 14:15:29 +0800</lastBuildDate><atom:link href="https://fliaping-blog.pages.dev/categories/developer/index.xml" rel="self" type="application/rss+xml"/><item><title>利用Flink SQL实时统计单据状态（含历史数据）</title><link>https://fliaping-blog.pages.dev/use-flink-sql-count-order-status-and-include-history/</link><pubDate>Wed, 14 Oct 2020 09:39:27 +0800</pubDate><guid>https://fliaping-blog.pages.dev/use-flink-sql-count-order-status-and-include-history/</guid><description>背景 需求抽象下，有一种单据，整个生命周期中有很多种状态，现在要实时按照某个维度（例如用户id）统计其中某几个状态的数量，并按照该维度定时推送</description></item><item><title>ARTS-Week-7</title><link>https://fliaping-blog.pages.dev/arts-week-7/</link><pubDate>Sun, 19 May 2019 23:11:42 +0800</pubDate><guid>https://fliaping-blog.pages.dev/arts-week-7/</guid><description>Algorithm：每周至少做一个 leetcode 的算法题 Review：阅读并点评至少一篇英文技术文章 Tip：学习至少一个技术技巧 Share：分享一篇有观</description></item><item><title>ARTS-Week-5</title><link>https://fliaping-blog.pages.dev/arts-week-5/</link><pubDate>Sun, 21 Apr 2019 23:11:42 +0800</pubDate><guid>https://fliaping-blog.pages.dev/arts-week-5/</guid><description>Algorithm：每周至少做一个 leetcode 的算法题 Review：阅读并点评至少一篇英文技术文章 Tip：学习至少一个技术技巧 Share：分享一篇有观</description></item><item><title>Java正则替换异常问题</title><link>https://fliaping-blog.pages.dev/java-regex-replacement-exception-problem/</link><pubDate>Fri, 19 Apr 2019 16:43:01 +0800</pubDate><guid>https://fliaping-blog.pages.dev/java-regex-replacement-exception-problem/</guid><description>用Java进行正则匹配替换时，会出现莫名的异常，例如： Exception in thread &amp;ldquo;main&amp;rdquo; java.lang.IllegalArgumentException: Illegal group reference Exception in thread &amp;ldquo;main&amp;rdquo; java.lang.IndexOutOfBoundsException: No group 3 使用java正则替换，一般的方式是： 构建正则表达式：P</description></item><item><title>ARTS-Week-3</title><link>https://fliaping-blog.pages.dev/arts-week-3/</link><pubDate>Sun, 31 Mar 2019 23:59:42 +0800</pubDate><guid>https://fliaping-blog.pages.dev/arts-week-3/</guid><description>Algorithm：每周至少做一个 leetcode 的算法题 Review：阅读并点评至少一篇英文技术文章 Tip：学习至少一个技术技巧 Share：分享一篇有观</description></item><item><title>ARTS-Week-4</title><link>https://fliaping-blog.pages.dev/arts-week-4/</link><pubDate>Sun, 31 Mar 2019 23:59:42 +0800</pubDate><guid>https://fliaping-blog.pages.dev/arts-week-4/</guid><description>Algorithm：每周至少做一个 leetcode 的算法题 Review：阅读并点评至少一篇英文技术文章 Tip：学习至少一个技术技巧 Share：分享一篇有观</description></item><item><title>ARTS-Week-2</title><link>https://fliaping-blog.pages.dev/arts-week-2/</link><pubDate>Sun, 31 Mar 2019 22:59:42 +0800</pubDate><guid>https://fliaping-blog.pages.dev/arts-week-2/</guid><description>Algorithm：每周至少做一个 leetcode 的算法题 Review：阅读并点评至少一篇英文技术文章 Tip：学习至少一个技术技巧 Share：分享一篇有观</description></item><item><title>ARTS-Week-1</title><link>https://fliaping-blog.pages.dev/arts-week-1/</link><pubDate>Sun, 24 Mar 2019 16:25:42 +0800</pubDate><guid>https://fliaping-blog.pages.dev/arts-week-1/</guid><description>Algorithm：每周至少做一个 leetcode 的算法题 Review：阅读并点评至少一篇英文技术文章 Tip：学习至少一个技术技巧 Share：分享一篇有观</description></item><item><title>浅谈开放平台之接口鉴权设计</title><link>https://fliaping-blog.pages.dev/open-api-management-based-oauth2/</link><pubDate>Wed, 12 Dec 2018 11:24:44 +0800</pubDate><guid>https://fliaping-blog.pages.dev/open-api-management-based-oauth2/</guid><description>浅谈开放平台之接口鉴权设计 开放平台漫谈 当一个系统的外部接入方变得越来越多，业务越来越复杂，帮助接入方排查问题耗费的时间越来越多，就有必要构建</description></item><item><title>简述交叉编译常用的方法及在构建Docker镜像中的应用</title><link>https://fliaping-blog.pages.dev/introduce-the-method-and-application-of-cross-compilation/</link><pubDate>Sun, 14 Oct 2018 13:38:44 +0800</pubDate><guid>https://fliaping-blog.pages.dev/introduce-the-method-and-application-of-cross-compilation/</guid><description>&lt;p>&lt;img src="https://fliaping-blog.oss-rg-china-mainland.aliyuncs.com/storage/18-10-14/CrossCompile.png" alt="CrossCompile">&lt;/p>
&lt;h1 id="软件编译">软件编译&lt;/h1>
&lt;p>众所周知，服务器大部分都是复杂指令集的x86平台，移动设备是精简指令集的ARM平台，还有IMB的PowerPC平台，之前家用路由器和一些嵌入式设备常用的MIPS平台。 不同平台的CPU的指令集（ISA，Instruction Set Architecture）是不同的，对于在其上运行的软件都要编译成对应的平台可识别的执行之后才可以运行。&lt;/p></description></item><item><title>一个关于log4j2的高并发问题</title><link>https://fliaping-blog.pages.dev/a-high-concurrency-problem-of-log4j2/</link><pubDate>Tue, 21 Aug 2018 15:46:16 +0800</pubDate><guid>https://fliaping-blog.pages.dev/a-high-concurrency-problem-of-log4j2/</guid><description>&lt;p>&lt;img src="https://fliaping-blog.oss-rg-china-mainland.aliyuncs.com/storage/18-8-19/25780797.jpg" alt="Apache_Log4j_Logo">&lt;/p>
&lt;p>笔者在apache-issue提出了该问题，目前解决方案正在讨论中 &lt;a href="https://issues.apache.org/jira/browse/LOG4J2-2490">https://issues.apache.org/jira/browse/LOG4J2-2490&lt;/a>&lt;/p>
&lt;h1 id="前言">前言&lt;/h1>
&lt;p>日志应该是一个应用的基础组件, 其中老牌的log4j应该是我们用的最多的, 后来互联网发展,大家都朝着高并发的方向发力,发现log4j性能不行,因为竞争锁导致阻塞,性能跟不上. 后来其创始人另立门户logback后, log4j的新主子Apache进行了大的升级改造,就是如今的log4j2, 其异步日志的性能也是一骑绝尘, 然而其使用过程中依然有很多坑,稍不留意就会搞个人仰马翻. 下面先列举一些别人踩过的log4j的坑:&lt;/p></description></item><item><title>Spring cloud gateway通过nginx代理报错问题</title><link>https://fliaping-blog.pages.dev/problem-of-nginx-proxy-spring-gateway/</link><pubDate>Tue, 14 Aug 2018 20:42:55 +0800</pubDate><guid>https://fliaping-blog.pages.dev/problem-of-nginx-proxy-spring-gateway/</guid><description>&lt;p>&lt;img src="https://fliaping-blog.oss-rg-china-mainland.aliyuncs.com/storage/18-8-14/26795044.jpg" alt="spring cloud gateway">&lt;/p>
&lt;h2 id="背景">背景&lt;/h2>
&lt;p>在不久前的一个项目中使用了&lt;a href="https://cloud.spring.io/spring-cloud-gateway/">spring cloud gateway&lt;/a>, 开发测试中没出现什么问题,当上线之后就一直在报错,错误内容如下:&lt;/p></description></item><item><title>事件驱动与协程概念</title><link>https://fliaping-blog.pages.dev/the-conception-of-event-drive-and-coroutine/</link><pubDate>Sun, 01 Jul 2018 03:11:06 +0000</pubDate><guid>https://fliaping-blog.pages.dev/the-conception-of-event-drive-and-coroutine/</guid><description>&lt;p>&lt;img src="https://fliaping-blog.oss-rg-china-mainland.aliyuncs.com/storage/2018/06/xiyangyang.png" alt="xiyangyang">&lt;/p>
&lt;blockquote>
&lt;p>在一个完美的世界中，不存在战争和饥饿，所有的API都将使用异步方式编写，兔兔和小羊羔将会在阳光明媚的绿色草地上手牵手地跳舞&lt;/p>
&lt;/blockquote></description></item><item><title>从日志配置文件读取了解java9模块化和类加载机制的改变</title><link>https://fliaping-blog.pages.dev/learn-java9-modular-and-classload-from-the-problem-of-log-config-file/</link><pubDate>Sat, 31 Mar 2018 07:50:07 +0000</pubDate><guid>https://fliaping-blog.pages.dev/learn-java9-modular-and-classload-from-the-problem-of-log-config-file/</guid><description>&lt;h2 id="前言">前言&lt;/h2>
&lt;p>Java9出来大半年了，Java10也发布了，Java11半年后就来了，将成为了一个LTS长期支持版，从Java9开始的模块化是java非常重大的改变，未来必然成为趋势，学习模块化也早晚的事。这不正好学习netty，写一个代理软件练练手，顺便学习下模块化。本文并不是完整介绍模块化，而是在使用模块化过程中遇到的一个问题的分析和解决。&lt;/p>
&lt;h2 id="问题描述">问题描述&lt;/h2>
&lt;p>首先说下项目的基本情况：&lt;/p>
&lt;ul>
&lt;li>JDK9（模块化，即使用了module-info.java）&lt;/li>
&lt;li>项目构建：gradle 4.6&lt;/li>
&lt;li>IDE: IntelliJ IDEA 2017.3.5&lt;/li>
&lt;/ul>
&lt;p>代码中有使用到日志工具，目前比较常用的是slf4j作为日志api，实现使用log4j、log4j2或者logback。我当然也这么用，slf4j+log4j2。在不使用模块化情况下（java9为了向前兼容，可以不使用模块化），将日志的配置文件log4j2.xml文件放到&lt;code>src/main/resources&lt;/code>然后用idea build-&amp;gt;run，但发现log4j2报错：&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">ERROR StatusLogger No Log4j 2 configuration file found. Using default configuration (logging only errors to the console), or user programmatically provided configurations. Set system property &amp;#39;log4j2.debug&amp;#39; to show Log4j 2 internal initialization logging. See https://logging.apache.org/log4j/2.x/manual/configuration.html for instructions on how to configure Log4j 2
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div></description></item><item><title>安装ubuntu17.10后的相关软件问题</title><link>https://fliaping-blog.pages.dev/some-software-problems-after-install-ubuntu-17-10/</link><pubDate>Sun, 03 Dec 2017 20:11:43 +0000</pubDate><guid>https://fliaping-blog.pages.dev/some-software-problems-after-install-ubuntu-17-10/</guid><description>&lt;h1 id="字体">字体&lt;/h1>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;span class="lnt">3
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">sudo apt-get install ttf-wqy-microhei &lt;span class="c1">#文泉驿-微米黑&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">sudo apt-get install ttf-wqy-zenhei &lt;span class="c1">#文泉驿-正黑&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">sudo apt-get install xfonts-wqy &lt;span class="c1">#文泉驿-点阵宋体&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>自带google的思源黑体 Noto Sans CJK&lt;/p>
&lt;h1 id="wps">WPS&lt;/h1>
&lt;p>1.到优麒麟下载wps64位，dpkg -i安装。
2.apt-get install -f修复依赖
3.到debian网站下载libpng12,安装
4.下载网上专为wps做的字体包安装
5.apt-get安装文泉驿字体&lt;/p></description></item><item><title>Python 调用C/C++</title><link>https://fliaping-blog.pages.dev/invoke-c-or-c-plus-plus-in-python/</link><pubDate>Fri, 03 Nov 2017 23:26:00 +0000</pubDate><guid>https://fliaping-blog.pages.dev/invoke-c-or-c-plus-plus-in-python/</guid><description>&lt;p>Python3 中提供了 ctypes 模块，它支持与 C 兼容的数据类型，可以用来加载 C/C++ 动态库。&lt;/p>
&lt;h2 id="c代码">C代码&lt;/h2>
&lt;p>test.h&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-c" data-lang="c">&lt;span class="line">&lt;span class="cl">&lt;span class="k">extern&lt;/span> &lt;span class="kt">int&lt;/span> &lt;span class="nf">add&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="kt">int&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="kt">int&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>test.c&lt;/p></description></item><item><title>Spring Could Config Client 增强</title><link>https://fliaping-blog.pages.dev/spring-could-config-client-enhance/</link><pubDate>Sun, 22 Oct 2017 07:15:23 +0000</pubDate><guid>https://fliaping-blog.pages.dev/spring-could-config-client-enhance/</guid><description>config-client-enhance 对spring-cloud-config-client官方版本功能进行扩展，可从多个配置源加载配置， 并修改spring-cloud-bus</description></item><item><title>容器核心技术详解</title><link>https://fliaping-blog.pages.dev/container-core-technical-details/</link><pubDate>Sun, 08 Oct 2017 05:56:11 +0000</pubDate><guid>https://fliaping-blog.pages.dev/container-core-technical-details/</guid><description>&lt;p>最近看了docker用到的技术，于是在公司分享了一下，对于Linux内核比较关心的同学肯定早就知道这些知识了，但是我一直对内核不怎么了解，这些对我来说算是新知识，寻思着后面看看内核相关的书。&lt;/p>
&lt;h1 id="linux-namespace">Linux Namespace&lt;/h1>
&lt;blockquote>
&lt;p>a feature of the Linux kernel that isolate and virtualize system resources of a collection of processes.
注：linux kernel的一个特性，可以隔离并且虚拟化一组进程的系统资源。&lt;/p>
&lt;/blockquote>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>名称&lt;/th>
&lt;th>宏定义&lt;/th>
&lt;th>隔离内容&lt;/th>
&lt;th>发布版本&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>IPC&lt;/td>
&lt;td>CLONE_NEWIPC&lt;/td>
&lt;td>System V IPC, POSIX message queues&lt;/td>
&lt;td>since Linux 2.6.19&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Network&lt;/td>
&lt;td>CLONE_NEWNET&lt;/td>
&lt;td>network device interfaces, IPv4 and IPv6 protocol stacks, IP routing tables, firewall rules, the /proc/net and /sys/class/net directory trees, sockets, etc&lt;/td>
&lt;td>since Linux 2.6.24&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Mount&lt;/td>
&lt;td>CLONE_NEWNS&lt;/td>
&lt;td>Mount points&lt;/td>
&lt;td>since Linux 2.4.19&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>PID&lt;/td>
&lt;td>CLONE_NEWPID&lt;/td>
&lt;td>Process IDs&lt;/td>
&lt;td>since Linux 2.6.24&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>User&lt;/td>
&lt;td>CLONE_NEWUSER&lt;/td>
&lt;td>User and group IDs&lt;/td>
&lt;td>started in Linux 2.6.23 and completed in Linux 3.8&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>UTS&lt;/td>
&lt;td>CLONE_NEWUTS&lt;/td>
&lt;td>Hostname and NIS domain name&lt;/td>
&lt;td>since Linux 2.6.19&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table></description></item><item><title>http2总结及简单实践</title><link>https://fliaping-blog.pages.dev/http2-summary-and-simple-practicing/</link><pubDate>Sun, 13 Aug 2017 02:32:00 +0000</pubDate><guid>https://fliaping-blog.pages.dev/http2-summary-and-simple-practicing/</guid><description>&lt;h1 id="http发展历史">HTTP发展历史&lt;/h1>
&lt;p>在总结http2之前先来回顾下http的发展历史。以下三张图片来自&lt;a href="https://imququ.com/post/http2-new-opportunities-and-challenges.html">Jerry Qu&lt;/a>&lt;/p>
&lt;h2 id="http09-1991">HTTP/0.9 (1991)&lt;/h2>
&lt;p>&lt;img src="https://o79q42bb0.qnssl.com/blog/http-0.9-connection-demo.png" alt="http-0.9-connection-demo">&lt;/p></description></item><item><title>【翻译】http status code 304</title><link>https://fliaping-blog.pages.dev/the-http-status-code-304/</link><pubDate>Tue, 04 Jul 2017 13:45:25 +0000</pubDate><guid>https://fliaping-blog.pages.dev/the-http-status-code-304/</guid><description>在研究http2的是时候，无意中发现http code为304，对此不解，故搜之，发现该文，顺便翻译一下。奈何英文水平有限，词不达意，望阅者见</description></item><item><title>md5使用问题记录</title><link>https://fliaping-blog.pages.dev/recoding-the-problem-of-md5/</link><pubDate>Wed, 28 Jun 2017 03:48:25 +0000</pubDate><guid>https://fliaping-blog.pages.dev/recoding-the-problem-of-md5/</guid><description>java后端用到md5来生产token，于是在网上找个了示例，跑了一下，看起来没什么问题。服务的调用方是python，一起测了一下，也没啥问</description></item><item><title>easyvpn-linux使用</title><link>https://fliaping-blog.pages.dev/to-use-easyvpn-on-linux/</link><pubDate>Sat, 24 Jun 2017 03:48:25 +0000</pubDate><guid>https://fliaping-blog.pages.dev/to-use-easyvpn-on-linux/</guid><description>公司vpn用的是easyvpn，就是这个sangfor-深信服，但是linux的连接方式是通过网页，在浏览器中执行java，也就是apple</description></item><item><title>OpenWrt编译USB有线网卡RTL8152B驱动</title><link>https://fliaping-blog.pages.dev/compile-usb-wired-adapter-rtl8152b-driver-in-openwrt/</link><pubDate>Sat, 08 Apr 2017 14:25:25 +0000</pubDate><guid>https://fliaping-blog.pages.dev/compile-usb-wired-adapter-rtl8152b-driver-in-openwrt/</guid><description>路由器用的TP-Link WR13U（ar71xx），只有一个RJ-45口，我用来作为WAN口，局域网只能通过无线连接，所以局域网网速比较差，</description></item><item><title>java常用JSON库注意事项总结</title><link>https://fliaping-blog.pages.dev/the-attention-of-json-serialization-and-deserialization-in-java/</link><pubDate>Mon, 27 Feb 2017 08:47:25 +0000</pubDate><guid>https://fliaping-blog.pages.dev/the-attention-of-json-serialization-and-deserialization-in-java/</guid><description>如果想将对象进行网络传输，就需要序列话和反序列化。主要分为以文本为介质和以二进制为介质。以文本为介质最广泛的是 xml 和 json ，但是 xml 过于冗长，jso</description></item><item><title>Java静态代码块的执行</title><link>https://fliaping-blog.pages.dev/the-execute-of-java-static-code-block/</link><pubDate>Mon, 23 Jan 2017 12:58:25 +0000</pubDate><guid>https://fliaping-blog.pages.dev/the-execute-of-java-static-code-block/</guid><description>&lt;h1 id="问题及总结">问题及总结&lt;/h1>
&lt;p>关于静态代码块其实是面试时老生常谈的问题，虽然面试时问了我也大概知道，但是在用的时候还是踩了个小坑。我想通过调用类的静态变量来触发静态代码块的调用，但是没有成功。&lt;/p>
&lt;p>总结下静态代码块能执行的条件：&lt;/p>
&lt;ol>
&lt;li>第一次初始化对象&lt;/li>
&lt;li>第一次调用静态方法&lt;/li>
&lt;li>第一次调用静态代码块下面的静态变量&lt;/li>
&lt;/ol></description></item><item><title>我的应届工作经历</title><link>https://fliaping-blog.pages.dev/my-experience-of-first-job-after-graduated-from-university/</link><pubDate>Thu, 15 Dec 2016 01:18:25 +0000</pubDate><guid>https://fliaping-blog.pages.dev/my-experience-of-first-job-after-graduated-from-university/</guid><description>&lt;p>早就想把我之前的经历写出来，一是自己的总结，二是分享出来。不过也好，这次有更多要分享的东西。希望能给看到的人一些启发，避免遇到像我这样的情况。&lt;/p>
&lt;p>当然我知道这样写出来可能被认识的人看到，尤其是那些一直觉得我不错的人，可能会让人大跌眼镜。甚至是后面找下一份工作时被面试官看到。但这就是我，就是我真实的一面，如果自己都不能正视最真实的自己，那不就是自欺欺人。&lt;/p>
&lt;p>首先简单介绍下情况，新疆某211计科专业，在校期间参加校内的某个软件开发社团，大学很多时间就是在这个社团的办公室度过的。学习成绩的话，从大一的中等水平到后面的第二名，算是也不差吧。我的情况大概就是适用于普通高校里愿意上进的普通人吧，对于厉害的人无参考价值。&lt;/p></description></item><item><title>不同平台下的RSA加解密及认证</title><link>https://fliaping-blog.pages.dev/rsa-encryption-and-decryption-in-different-platform/</link><pubDate>Tue, 22 Nov 2016 11:36:25 +0000</pubDate><guid>https://fliaping-blog.pages.dev/rsa-encryption-and-decryption-in-different-platform/</guid><description>&lt;p>RSA是目前(2016)用途最为广泛的非对称加密方法，广泛应用于加解密以及认证，例如：ssh登录、加密通信、https等很多方面。但是不同平台对其支持时，在实现上有少许的不同，这些不同可能会阻碍我们使用，尤其是在跨平台的时候，如果不知道其中的细节，往往会失败，本文以作者用过的几个语言做一些实例。&lt;/p>
&lt;p>代码：&lt;a href="https://github.com/fliaping/tools_code/tree/master/RSA">https://github.com/fliaping/tools_code/tree/master/RSA&lt;/a>&lt;/p>
&lt;p>目前只有 JAVA 和 PHP 的互通，后续可能进行一些补充。&lt;/p></description></item><item><title>利用wifidog实现微信wifi连接</title><link>https://fliaping-blog.pages.dev/the-implements-of-weixin-wifi-by-using-wifidog-gateway/</link><pubDate>Sun, 14 Aug 2016 07:51:25 +0000</pubDate><guid>https://fliaping-blog.pages.dev/the-implements-of-weixin-wifi-by-using-wifidog-gateway/</guid><description>&lt;h1 id="前言">前言&lt;/h1>
&lt;p>大家如果有用公共场合wifi的习惯，想必都有过如下的体验。&lt;/p>
&lt;p>&lt;img src="https://fliaping-blog.oss-rg-china-mainland.aliyuncs.com/storage/blog/14711616774040.jpg" alt="">&lt;/p>
&lt;p>这就是利用微信身份来进行wifi连接认证，主要目的是商家为了吸引顾客，推广其公众号。别的也不多说，下面就来讲一讲怎么实现这样的wifi认证方式。&lt;/p>
&lt;p>本篇文章要讲的是portal型路由设备（具体就是OpenWrt路由）的改造实现。在进行改造之前请务必要看微信公众平台开发文档的&lt;a href="http://mp.weixin.qq.com/wiki/11/3ccabd900dbb942dff317c11db70e157.html">微信连wifi&lt;/a>,后面提到的相关设涉及微信公众平台开发的相关术语、参数不再一一解释。&lt;/p></description></item><item><title>借助Docker技术的Solr集群实现</title><link>https://fliaping-blog.pages.dev/the-solrcloud-with-docker/</link><pubDate>Sun, 12 Jun 2016 09:01:25 +0000</pubDate><guid>https://fliaping-blog.pages.dev/the-solrcloud-with-docker/</guid><description>&lt;p>在本项目中，为了更好的模拟真实的生产环境，对于SolrCloud技术不采用伪集群方式，而是真正实现一个搜索集群，当然由于笔者只是学生，没有资金租用多台服务器来搭建集群，因此借助于Docker的容器技术在一台服务器上虚拟出逻辑上的六台主机。&lt;/p>
&lt;p>&lt;img src="https://fliaping-blog.oss-rg-china-mainland.aliyuncs.com/storage/blog/trip-search-six-docker.png" alt="trip-search-six-docke">&lt;/p></description></item><item><title>SolrCloud基础</title><link>https://fliaping-blog.pages.dev/the-introduction-of-solrcloud/</link><pubDate>Sun, 12 Jun 2016 08:02:25 +0000</pubDate><guid>https://fliaping-blog.pages.dev/the-introduction-of-solrcloud/</guid><description>&lt;p>本节是SolrCloud基础理论知识，我也是从网上学习到，这里只是进行一些整理。参考的博客比本文更好，更有深度，有耐心的请看参考的原文&amp;ndash; &lt;a href="http://josh-persistence.iteye.com/blog/2234411">SolrCloud之分布式索引及与Zookeeper的集成&lt;/a>&lt;/p>
&lt;h1 id="solrcloud基本概念">SolrCloud基本概念&lt;/h1>
&lt;p>SolrCloud模式下有Cluster，Node，Collection，Shard，LeaderCore，ReplicationCore等重要概念。&lt;/p></description></item><item><title>搜索结果的筛选和排序</title><link>https://fliaping-blog.pages.dev/filtering-and-sorting-the-search-result/</link><pubDate>Sun, 12 Jun 2016 05:17:25 +0000</pubDate><guid>https://fliaping-blog.pages.dev/filtering-and-sorting-the-search-result/</guid><description>&lt;p>实现对搜索结果的筛选和排序，需要利用solr的sort功能和facet功能，这两个是垂直搜索中比较常用的功能。对于如何使用这两个功能，其实在索引建好之后我们并不需要做太多的工作就能使用，只用在查询的时候指定相关的参数，Solr会根据参数来执行相应的查询，获得相应的结果。&lt;/p>
&lt;p>因为项目中使用SolrJ作为Solr的客户端，并通过servlet提供对外的服务接口，本文将以介绍如何用SolrJ来实现，此外也会涉及利用HTTP接口的参数使用。&lt;/p></description></item><item><title>各种查询及参数说明</title><link>https://fliaping-blog.pages.dev/various-of-query-and-explanation-of-parameter/</link><pubDate>Sat, 11 Jun 2016 09:14:25 +0000</pubDate><guid>https://fliaping-blog.pages.dev/various-of-query-and-explanation-of-parameter/</guid><description>&lt;p>Solr默认有三种查询解析器（Query Parser）：&lt;/p>
&lt;ul>
&lt;li>Standard Query Parser&lt;/li>
&lt;li>DisMax Query Parser&lt;/li>
&lt;li>Extended DisMax Query Parser (eDisMax)&lt;/li>
&lt;/ul>
&lt;p>第一种是标准的Parser，最后一种是最强大的。&lt;/p>
&lt;p>本文中所提到的参数并不能包含Solr所有参数，具体的使用和更详细的参数请参考官方文档。&lt;/p></description></item><item><title>基于webmagic爬虫框架的数据抓取</title><link>https://fliaping-blog.pages.dev/crawl-web-page-by-using-webmagic-crawler-framework/</link><pubDate>Thu, 26 May 2016 05:44:25 +0000</pubDate><guid>https://fliaping-blog.pages.dev/crawl-web-page-by-using-webmagic-crawler-framework/</guid><description>&lt;p>有人可能会有疑问，Heritrix用的好好的，干嘛还要换别的呢？Heritrix固然很好，成熟、稳定、有管理界面、监控、多线程、开箱即用。但这真的适合我们这种垂直爬虫吗？我觉得未必，用Heritrix，你可以通过配置文件来确定接受规则和URL的发现规则，然后直接构建运行就好了。然而对于我来说，它的配置文件中的那些选项说的并不是那么清楚，相关文档也都是很简单的，想用一些复杂的规则都不知道这样对不对，至少要等到好久抓出来东西了，发现多抓了或者少抓了，你才发现配置文件写错了。并且配置文件中的项目也是老多的，这么多东西把人搞的头晕目眩。&lt;/p>
&lt;p>好吧，总的来讲,如果你是爬虫老手，对Heritrix的架构了解比较清晰的，Heritrix是个很好的选择。但是对于一个新手，我觉得webmagic更加灵活高效。就拿我的体验来讲，当初用Heritrix抓了3天才抓了七千多数据（可能是我配置文件写的不好），而用webmagic一个白天就抓了一万三的数据。&lt;/p></description></item><item><title>Solr空间搜索配置及实践</title><link>https://fliaping-blog.pages.dev/solr-spatial-search-config-and-application/</link><pubDate>Wed, 25 May 2016 09:51:25 +0000</pubDate><guid>https://fliaping-blog.pages.dev/solr-spatial-search-config-and-application/</guid><description>&lt;p>前面讲了空间搜索的两个常用原理，应该还算是比较容易理解的，毕竟只是算法，并不需要我们来实现，我们通过简单地配置就可以用上Solr的空间搜索的功能。下面就来讲讲如何配置空间搜索。&lt;/p></description></item><item><title>空间搜索原理及相关算法</title><link>https://fliaping-blog.pages.dev/spatial-search-theory-and-algorithm/</link><pubDate>Wed, 25 May 2016 09:17:25 +0000</pubDate><guid>https://fliaping-blog.pages.dev/spatial-search-theory-and-algorithm/</guid><description>&lt;p>既然涉及的是旅游搜索，那就不能少了空间搜索的内容。现在移动设备之广泛想必不必多说。根据eMarketer的新&lt;a href="http://www.chinabgao.com/stat/stats/39758.html">数据&lt;/a>，2015年全球智能手机用户将达到19.1亿，2016年该指数将增长12.6%达到21.6亿。智能手机都会带有GPS模块，现在一个APP不获取下用户位置都觉得是吃亏，不过这也用户隐私的侵犯也很严重，尤其是在Android生态圈中，不过现在各大手机厂商的系统都对这一块做了一些限制。&lt;/p>
&lt;p>空间搜索，又名Spatial Search，基于空间搜索技术，可以做到：&lt;/p></description></item><item><title>基于Ionic的客户端设计</title><link>https://fliaping-blog.pages.dev/the-design-of-client-based-on-ionic-for-searchapp/</link><pubDate>Mon, 23 May 2016 10:27:25 +0000</pubDate><guid>https://fliaping-blog.pages.dev/the-design-of-client-based-on-ionic-for-searchapp/</guid><description>&lt;p>客户端的设计，利用的是Hybrid APP的构建技术，核心是HTML5技术，下面先简单介绍下Hybrid应用的以及Ionic框架。&lt;/p>
&lt;h1 id="技术介绍">技术介绍&lt;/h1>
&lt;h2 id="hybrid-app介绍">Hybrid App介绍&lt;/h2>
&lt;p>移动app可以大致被分为三种，native、hybrid和web app。如果使用native app，你可以使用设备和操作系统的所有能力，同时，平台的性能负荷最小。然而，构建web app可以让你的代码跨平台，使得开发时间和成本大大减少。而hybrid app把这两者的优点都结合起来，使用一套共同代码，在许多不同的平台上部署类似原生的app。&lt;/p></description></item><item><title>搜索服务API</title><link>https://fliaping-blog.pages.dev/the-bridge-between-solr-and-users-was-implemented-by-using-webservice/</link><pubDate>Mon, 23 May 2016 02:11:25 +0000</pubDate><guid>https://fliaping-blog.pages.dev/the-bridge-between-solr-and-users-was-implemented-by-using-webservice/</guid><description>&lt;p>这篇文章主要是关于solr和普通用户之间的桥梁&lt;code>SearchService&lt;/code>,简单了解下整过工作流程.&lt;/p>
&lt;p>&lt;img src="https://fliaping-blog.oss-rg-china-mainland.aliyuncs.com/storage/blog/14639907128551.jpg" alt="">&lt;/p></description></item><item><title>利用jsoup提取网页中有用信息</title><link>https://fliaping-blog.pages.dev/using-jsoup-to-extract-html-file/</link><pubDate>Sun, 22 May 2016 11:09:25 +0000</pubDate><guid>https://fliaping-blog.pages.dev/using-jsoup-to-extract-html-file/</guid><description>&lt;p>Java 程序在解析 HTML 文档时，最常用的是 htmlparser 这个开源项目。但现在你有更好的选择，那就是Jsoup。&lt;/p>
&lt;p>jsoup 是一款 Java 的 HTML 解析器，可直接解析某个 URL 地址、HTML 文本内容。它提供了一套非常省力的 API，可通过 DOM，CSS 以及类似于 jQuery 的操作方法来取出和操作数据。&lt;/p></description></item><item><title>Solr5配置文件参数解析</title><link>https://fliaping-blog.pages.dev/the-detail-about-parameters-of-solr5-config-files/</link><pubDate>Fri, 20 May 2016 04:49:25 +0000</pubDate><guid>https://fliaping-blog.pages.dev/the-detail-about-parameters-of-solr5-config-files/</guid><description>&lt;p>Solr5的主要配置文件有&lt;code>solrconfig.xml&lt;/code>和&lt;code>managed-schema&lt;/code>，另外一些还有&lt;code>solr.xml&lt;/code>,&lt;code>数据导入配置&lt;/code>,&lt;code>ZooKeeper配置&lt;/code>等。&lt;/p>
&lt;p>这里详细介绍两个主要的配置文件。&lt;/p></description></item><item><title>Solr整合中文分词器mmseg4j</title><link>https://fliaping-blog.pages.dev/configure-mmseg4j-analyzer-on-solr5/</link><pubDate>Thu, 19 May 2016 03:51:25 +0000</pubDate><guid>https://fliaping-blog.pages.dev/configure-mmseg4j-analyzer-on-solr5/</guid><description>&lt;h1 id="分词的基础概念">分词的基础概念&lt;/h1>
&lt;h2 id="为什么要进行分词">为什么要进行分词&lt;/h2>
&lt;blockquote>
&lt;p>中文分词(Chinese Word Segmentation) 指的是将一个汉字序列切分成一个一个单独的词。&lt;/p>
&lt;/blockquote>
&lt;p>分词就是将连续的字序列按照一定的规范重新组合成词序列的过程。我们知道，在英文的行文中，单词之间是以空格作为自然分界符的，而中文只是字、句和段能通过明显的分界符来简单划界，唯独词没有一个形式上的分界符，虽然英文也同样存在短语的划分问题，不过在词这一层上，中文比之英文要复杂的多、困难的多。&lt;/p></description></item><item><title>Solr5.5集成到Tomcat8</title><link>https://fliaping-blog.pages.dev/solr-5.5-running-on-tomcat8/</link><pubDate>Wed, 18 May 2016 07:08:25 +0000</pubDate><guid>https://fliaping-blog.pages.dev/solr-5.5-running-on-tomcat8/</guid><description>&lt;p>也许你不熟悉Jetty，或者觉得它性能不行，你想在Tomcat上运行Solr，没问题，理论上只要是servlet容器都可以运行Solr。不过问题是从solr5开始官方不再支持Tomcat的集成，所以可以有些配置问题需要自己来解决。于是我进行了一次尝试，solr4本来是比较容易的，Solr5就出现一些问题，由于对Tomcat了解也不是很深，除运行的时候Solr管理界面有些小问题外，基本可以正常使用。&lt;/p></description></item><item><title>使用Heritrix抓取数据</title><link>https://fliaping-blog.pages.dev/crawl-web-page-by-using-heritrix/</link><pubDate>Wed, 18 May 2016 05:14:25 +0000</pubDate><guid>https://fliaping-blog.pages.dev/crawl-web-page-by-using-heritrix/</guid><description>&lt;p>Heritrix 是一个由 java 开发的、开源的网络爬虫，用户可以使用它来从网上抓取想要的资源。其最出色之处在于它良好的可扩展性，方便用户实现自己的抓取逻辑。最重要是对于一般的抓取，你是不用碰任何代码的，只要写好配置文件就可以了，简直就是某些人的福音。不过对于一个真正的程序员，代码可是他们的整个生命啊.&lt;/p></description></item><item><title>Solr基础知识及安装</title><link>https://fliaping-blog.pages.dev/introduction-of-solr-and-how-to-install-it/</link><pubDate>Tue, 17 May 2016 03:41:13 +0000</pubDate><guid>https://fliaping-blog.pages.dev/introduction-of-solr-and-how-to-install-it/</guid><description>&lt;h1 id="solr的身世">Solr的身世&lt;/h1>
&lt;p>引用&lt;a href="https://lucene.apache.org/solr/">Solr官网&lt;/a>的slogan,blazing-fast一词可见一斑。&lt;/p>
&lt;blockquote>
&lt;p>Solr is the popular, blazing-fast, open source enterprise search platform built on Apache Lucene™.&lt;/p>
&lt;/blockquote>
&lt;p>再来看看它的&lt;a href="https://lucene.apache.org/solr/features.html">特性&lt;/a>
&lt;img src="https://fliaping-blog.oss-rg-china-mainland.aliyuncs.com/storage/blog/14634817034224.jpg" alt="">&lt;/p></description></item><item><title>垂直搜索引擎基础知识</title><link>https://fliaping-blog.pages.dev/introduction-of-vertical-search-engine/</link><pubDate>Sun, 15 May 2016 11:55:14 +0000</pubDate><guid>https://fliaping-blog.pages.dev/introduction-of-vertical-search-engine/</guid><description>&lt;h1 id="引言废话">引言/废话&lt;/h1>
&lt;p>搜索引擎是大家平时使用最广泛的网络应用之一，它是普通网民接触互联网的入口，也是网络信息的搜集系统，其重要性不言而喻。我认为一个优秀的搜索服务应该实现一些基本的要求：&lt;/p>
&lt;ul>
&lt;li>准确回应用户搜索目的&lt;/li>
&lt;li>提供公正的结果排序&lt;/li>
&lt;/ul>
&lt;p>然而，目前最大的中文搜索引擎，在经历了&lt;a href="https://zh.wikipedia.org/wiki/%E7%99%BE%E5%BA%A6%E8%B4%B4%E5%90%A7#2016.E5.B9.B4.E8.A1.80.E5.8F.8B.E7.97.85.E5.90.A7.E4.BA.8B.E4.BB.B6">血友病吧事件&lt;/a>、&lt;a href="https://zh.wikipedia.org/zh/%E9%AD%8F%E5%88%99%E8%A5%BF%E4%BA%8B%E4%BB%B6">魏则西事件&lt;/a>之后,网民已经失去对其的信任，甚至很多人产生了厌恶之情，且不说是否有人落井下石，或者说是罪有应得，总之，它带给大家的是不好的用户体验。吐槽到此为止，从这里开始我们进入正题。&lt;/p></description></item><item><title>【总述】用Solr构建垂直搜索引擎</title><link>https://fliaping-blog.pages.dev/create-your-vertical-search-engine-with-solr/</link><pubDate>Sun, 15 May 2016 07:08:25 +0000</pubDate><guid>https://fliaping-blog.pages.dev/create-your-vertical-search-engine-with-solr/</guid><description>用Solr构建垂直搜索系列文章 入门知识部分 垂直搜索引擎基础知识 Solr基础知识及安装 Solr5.5 集成 Tomcat8 搜集信息部分 使用Heritrix抓取数据 利用js</description></item><item><title>基于Docker的开源视频分享系统解决方案</title><link>https://fliaping-blog.pages.dev/a-solution-of-open-source-video-sharing-system-based-on-docker/</link><pubDate>Sun, 24 Apr 2016 04:29:19 +0000</pubDate><guid>https://fliaping-blog.pages.dev/a-solution-of-open-source-video-sharing-system-based-on-docker/</guid><description>&lt;p>&lt;strong>序言&lt;/strong>：
学校之前有个视频分享站点，用的是CC视频的系统，买的源码，后来服务器被黑掉了，存储服务器被格了，好几T的视频都没了，挺心疼人的。绊倒还是要站起来的，准备重新搭建视频系统，可是CC的系统已经太老了，对环境要求很苛刻，要求系统是redhat 5.4，php版本不能大于5.2，还有mysql也有特定要求，最重要的是所有的软件需要编译安装，视频转码那些软件不太好搞。之前搭建这个系统的师哥过来没搞定，把这个坑留给我，在准备跳下去的时候还是回来了，我感觉可能解决不了。于是转投其他系统，国内真心没啥好用的，都是CMS，是从各大视频网站抓链接，什么转码、截图都没有。CC视频也变成了纯粹的云服务了。国外有些很不错的，像Vimp，Melody，但免费版的功能有很多限制，也跳过坑，最后找到开源的clipbucket。&lt;/p>
&lt;p>另外，本项目托管在 &lt;a href="https://github.com/fliaping/mytube">mytube - github&lt;/a> ，后续更新以此为准。&lt;/p></description></item><item><title>导入Mysql数据到Solr中</title><link>https://fliaping-blog.pages.dev/how-to-import-data-from-mysql-by-using-solr-dataimporthandler/</link><pubDate>Wed, 06 Apr 2016 04:40:39 +0000</pubDate><guid>https://fliaping-blog.pages.dev/how-to-import-data-from-mysql-by-using-solr-dataimporthandler/</guid><description>&lt;p>一般存储数据都会用到数据库，之前十几年关系型数据库大行其道，现在非关系性数据库（NoSql）如日中天，随着数据越来越来越多，人们发现关系型数据库的性能已经不能满足需要，经历了一番挣扎，从主-从（读-写）分离，到分库分表，虽然维持了一段时间，但是数据量很快就上来了，于是NoSql越来越显示出其在大数据时代的价值。&lt;/p>
&lt;p>咳咳，不过这篇文章讲的却是从最流行的关系型数据库中导入数据到Solr，没办法，笔者还没用过NoSql，所以还是老老实实讲Mysql，哈哈。&lt;/p></description></item><item><title>解决新疆地区百度网盘分享链接不能用</title><link>https://fliaping-blog.pages.dev/solving-the-problem-of-baidu-sharing-links-can-not-be-use-in-xinjiang/</link><pubDate>Thu, 10 Mar 2016 03:41:00 +0000</pubDate><guid>https://fliaping-blog.pages.dev/solving-the-problem-of-baidu-sharing-links-can-not-be-use-in-xinjiang/</guid><description>&lt;h1 id="写在前面">写在前面&lt;/h1>
&lt;p>新疆的网络封锁，我在之前一篇 &lt;a href="http://blog.xvping.cn/2016/03/01/github%E5%9C%A8%E6%96%B0%E7%96%86%E7%94%A8%E4%B8%8D%E4%BA%86%E7%9A%84%E9%97%AE%E9%A2%98/">Github在新疆用不了的问题&lt;/a> 中也讲过了,政治问题不再重提。可是我们只能看内地的小伙伴快乐地分享文件，我们只能出来 &lt;strong>Error400&lt;/strong>，岂不痛哉！！下面方法要求有一定的 &lt;strong>接入国际互联网&lt;/strong> 的技能。&lt;/p>
&lt;p>&lt;img src="https://fliaping-blog.oss-rg-china-mainland.aliyuncs.com/storage/blog/fuck-baidu-yunpan.jpg" alt="">&lt;/p>
&lt;h1 id="fuck-百度云盘">Fuck 百度云盘&lt;/h1>
&lt;p>那么怎么才能正确打开百度云的分享链接呢？&lt;/p></description></item><item><title>Ghost博客系统的一些笔记</title><link>https://fliaping-blog.pages.dev/some-notes-ablout-my-ghost-blog/</link><pubDate>Fri, 04 Mar 2016 12:19:40 +0000</pubDate><guid>https://fliaping-blog.pages.dev/some-notes-ablout-my-ghost-blog/</guid><description>&lt;p>我决定将博客分开，&lt;a href="https://xvping.cn">主站&lt;/a> 用Ghost，是技术无关的内容，记录一些生活、想法，而&lt;a href="http://blog.xvping.cn/">Payne&amp;rsquo;s Blog&lt;/a> 是用的Hexo，都是我的原创技术博客。&lt;/p>
&lt;p>简单写一下，有时间再详细补充&lt;/p></description></item><item><title>github在新疆用不了的问题</title><link>https://fliaping-blog.pages.dev/solving-the-problem-of-github-can-not-be-use-in-xinjaing/</link><pubDate>Tue, 01 Mar 2016 15:04:33 +0000</pubDate><guid>https://fliaping-blog.pages.dev/solving-the-problem-of-github-can-not-be-use-in-xinjaing/</guid><description>&lt;p>新疆一直是GFW的实验区，甚至国内的很多网站也跟着遭殃，百度网盘分享链接、酷我、唱吧、github挂掉，再接着CSDN、cnblog相继挂掉，这里也不想探讨原因，大家都懂的。可怜了在新疆上学的孩子，本来新疆的师资力量都够烂了，还要增高学生的信息获取门槛。虽然我就要离开这个地方，但依然为在新疆上学的孩子感到悲伤。&lt;/p>
&lt;blockquote>
&lt;p>本来在中国的学生在信息获取上处于劣势，在新疆上学的学生更是悲惨。作为搞技术的还好，通过与墙斗争能提高技术水平。但大多数只能被禁锢，但最让人胆颤的是很多人&lt;strong>被禁锢而不以为然&lt;/strong>。&lt;/p>
&lt;/blockquote></description></item><item><title>Android文件夹链接方法(ln不能用)</title><link>https://fliaping-blog.pages.dev/the-method-to-create-link-for-directory/</link><pubDate>Thu, 25 Feb 2016 10:48:43 +0000</pubDate><guid>https://fliaping-blog.pages.dev/the-method-to-create-link-for-directory/</guid><description>&lt;p>在android中，当用ln命令来建立文件夹软连接的时候，出现以下错误&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">&amp;#34;link failed Function not implemented&amp;#34;
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>xda论坛一位解释了&lt;a href="http://forum.xda-developers.com/showthread.php?t=1122710#2">原因&lt;/a>&lt;/p>
&lt;blockquote>
&lt;p>symlinks (ln -s) doesn&amp;rsquo;t work because /sdcard is fat32. It doesn&amp;rsquo;t support symlink. You can indeed mount the external_sd underneat /sdcard, but as you say, it&amp;rsquo;s lost after reboot. You have to do it everytime you boot.&lt;/p>
&lt;/blockquote></description></item><item><title>学习如何用hexo写博客的站点汇总</title><link>https://fliaping-blog.pages.dev/some-links-to-learn-how-to-use-hexo/</link><pubDate>Sat, 26 Dec 2015 18:15:40 +0000</pubDate><guid>https://fliaping-blog.pages.dev/some-links-to-learn-how-to-use-hexo/</guid><description>&lt;h1 id="前言">前言&lt;/h1>
&lt;p>　　已经确定用hexo作为我的技术博客系统，但现在对它还不是很熟，所以需要经常翻看一些牛人的文章，所以对他们的内容进行汇总，方便我自己翻看。&lt;/p>
&lt;p>&lt;em>题外话:&lt;br>
　　我刚开始用的博客是Wordpress，各种换主题，各种搞主机，然后看上了ghost,也就接触了markdown，写过几篇文章，但主机在国外，速度比较慢所以体验很差，也就不怎么想写。&lt;br>
　　然后就是接触了hexo，又是经历了找主题，改主题的过程，折腾到现在我觉得一个博客最重要的是内容，其次才是外观，一个再漂亮的主题没有一篇文章是不会有人看的，并且也是没有用的，所以找一个差不多的主题，然后开始写吧！&lt;/em>&lt;/p>
&lt;h1 id="链接汇总">链接汇总&lt;/h1>
&lt;p>　　下面就把我自己找到的资料进行汇总，只是相关链接，后面我会专门整理出几篇文章.&lt;/p>
&lt;p>&lt;strong>因为我用的mac，所以相关资料中可能Windows平台的比较少&lt;/strong>&lt;/p></description></item><item><title>hexo使用技巧汇总</title><link>https://fliaping-blog.pages.dev/some-tips-for-using-hexo/</link><pubDate>Sat, 26 Dec 2015 12:45:44 +0000</pubDate><guid>https://fliaping-blog.pages.dev/some-tips-for-using-hexo/</guid><description>&lt;!--toc-->
&lt;h2 id="为文章添加目录">为文章添加目录&lt;/h2>
&lt;p>在需要目录出现的地方放置一个标记，这样会自动生成一个嵌套的包含所有标题的列表。默认的标记是 [TOC]&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;span class="lnt">3
&lt;/span>&lt;span class="lnt">4
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-markdown" data-lang="markdown">&lt;span class="line">&lt;span class="cl">&lt;span class="c">&amp;lt;!--toc--&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="gh"># Header 1
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="gh">&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="gu">## Header 2
&lt;/span>&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div></description></item><item><title>在ubuntu下安装shadowsocks多用户版</title><link>https://fliaping-blog.pages.dev/how-to-insall-manyuser-shadowsocks-on-ubuntu/</link><pubDate>Thu, 24 Dec 2015 17:53:24 +0000</pubDate><guid>https://fliaping-blog.pages.dev/how-to-insall-manyuser-shadowsocks-on-ubuntu/</guid><description>&lt;p>###环境说明
系统：AWS ubuntu 14.04 x64
##安装shadowsocks支持
1.首先更新软件源&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">apt-get update
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>2.安装Python&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">apt-get install python-pip python-m2crypto 
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">pip install cymysql
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div></description></item><item><title>shadowsocks在centos编译安装</title><link>https://fliaping-blog.pages.dev/how-to-compile-and-install-shadowsocks-on-centos/</link><pubDate>Wed, 23 Dec 2015 07:23:17 +0000</pubDate><guid>https://fliaping-blog.pages.dev/how-to-compile-and-install-shadowsocks-on-centos/</guid><description>&lt;p>现在新疆把python 的软件库都封了，pip都安不上，那只好自己编译安装了。系统为centos6 x64
###1.安装编译环境&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;span class="lnt">3
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">yum install gcc glib2-devel openssl-devel pcre-devel bzip2-devel gzip-devel zlib-devel 
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">yum install build-essential autoconf libtool gcc -y 
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div></description></item><item><title>仿百度文库，office转pdf核心转换功能</title><link>https://fliaping-blog.pages.dev/the-simulation-of-baidu-wenku-about-converting-office-document-to-pdf-on-server/</link><pubDate>Thu, 01 May 2014 09:30:25 +0000</pubDate><guid>https://fliaping-blog.pages.dev/the-simulation-of-baidu-wenku-about-converting-office-document-to-pdf-on-server/</guid><description>&lt;p>这是我两年前写的东西，现在转移过来，进行稍微的整理。&lt;/p>
&lt;p>在我现在看来，当时简直就是不知所云，当时可以拿自己是新手来当借口，可现在呢？如果工作中做不好事情，能拿我是应届生来当借口吗？&lt;/p></description></item></channel></rss>