<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[一个狂徒的点滴记录、]]></title><description><![CDATA[试着记录一个狂徒的成长，试着留住些许的回忆。]]></description><link>https://blog.youkuaiyun.com/ufolr</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; ufolr]]></copyright><item><title><![CDATA[OpenLooKeng / Presto Connector原理]]></title><link>https://blog.youkuaiyun.com/ufolr/article/details/109749564</link><guid>https://blog.youkuaiyun.com/ufolr/article/details/109749564</guid><author>ufolr</author><pubDate>Tue, 17 Nov 2020 19:30:01 +0800</pubDate><description><![CDATA[OpenLooKeng Connector 扩展
一、什么是Connector
我们知道在整个Presto工程中所有的功能都是以插件的形式实现，而Connector则是一种负责Presto与数据源进行交互的插件，不同的数据库对应于不同的Connector。
SPI（Service Provider Interface）
SPI是JDK内置的服务提供/发现机制，它通过在ClassPath路径下的META-INF/services/目录中定义的文件，自动加载文件里所定义的类。该机制为很多框架的扩展提供了可能，如]]></description><category></category></item><item><title><![CDATA[Git 协助常用缩写释义]]></title><link>https://blog.youkuaiyun.com/ufolr/article/details/108952765</link><guid>https://blog.youkuaiyun.com/ufolr/article/details/108952765</guid><author>ufolr</author><pubDate>Thu, 08 Oct 2020 10:14:49 +0800</pubDate><description><![CDATA[WIP   Work in progress, do not merge yet. // 尚未完工，请不要合并
LGTM Looks good to me. // 我看行。（Riview 别人的 PR 确认没有问题）
PTAL Please take a look. // 帮我看下，一般是请别人 review 自己的 PR
CC Carbon copy // 抄送
RFC  —  request for comments. // 请求评议。通常是讨论、起草某一功能特性的方案及标准
IIRC  —  if .]]></description><category></category></item><item><title><![CDATA[Windows下编译调试OpenLooKeng / Presto]]></title><link>https://blog.youkuaiyun.com/ufolr/article/details/108809522</link><guid>https://blog.youkuaiyun.com/ufolr/article/details/108809522</guid><author>ufolr</author><pubDate>Sat, 26 Sep 2020 11:43:33 +0800</pubDate><description><![CDATA[Windows调试环境配置
OpenLooKeng 基于 Presto, 而Presto从编译环境到运行环境都没有考虑支持windows，为了在Win上进行开发调试工作，我们需要进行一些修改。
0x01 环境及依赖

OS: Windows 7+
JDK: 1.8 （8u161+）64bit
Maven: 3.3.9+
Git for windows

0x02 编译
2.1 Clone Code
因代码配置有checkstyle-plugin，代码中不能出现CRLF换行，必须为LF换行，所以确保git设置]]></description><category></category></item><item><title><![CDATA[Qnap Docker(Container Station)更改国内镜像源]]></title><link>https://blog.youkuaiyun.com/ufolr/article/details/107449975</link><guid>https://blog.youkuaiyun.com/ufolr/article/details/107449975</guid><author>ufolr</author><pubDate>Sun, 19 Jul 2020 19:44:49 +0800</pubDate><description><![CDATA[0x01qpkg环境
通常qnap市场中下载的qpkg应用，其环境变量就在自己的包环境中.所以要修改系统中的配置，通常需要修改qpkg应用中对应的配置。即/share/CACHEDEV1_DATA/.qpkg/xxx(app-name)中的配置
0x02 container-station 的docker配置
通常我们安装docker后，其配置文件为：/etc/docker.json，那么在qpkg用用container-station中对应需要修改的就是/share/CACHEDEV1_DATA/.qpk]]></description><category></category></item><item><title><![CDATA[Sony电视安装KODI提示安装包解析错误的处理办法]]></title><link>https://blog.youkuaiyun.com/ufolr/article/details/90729779</link><guid>https://blog.youkuaiyun.com/ufolr/article/details/90729779</guid><author>ufolr</author><pubDate>Sat, 01 Jun 2019 15:39:13 +0800</pubDate><description><![CDATA[姨夫不再微笑
为了守护姨夫的微笑，为了信仰，家里的电视都是索尼的，之前用着也没啥毛病，KODI播放NAS上的电影爽歪歪、
突然，在2019年6.1儿童节这一天，收到了sony大法推送的电视固件更新，心中暗自窃喜，莫非这就是传说中的8.0？是的，这就是8.0!!! 界面Nice！
手贱的我在更新完成后恢复了出厂设置，然后再重装kodi时，画面凝固了：安装包解析错误
尝试切换多个版本的kodi，32位...]]></description><category></category></item><item><title><![CDATA[通过IPV6访问Qnap NAS中Docker的服务]]></title><link>https://blog.youkuaiyun.com/ufolr/article/details/90085763</link><guid>https://blog.youkuaiyun.com/ufolr/article/details/90085763</guid><author>ufolr</author><pubDate>Fri, 10 May 2019 23:59:21 +0800</pubDate><description><![CDATA[环境
系统：QTS 4.3.6
网络：IPV4 &amp; IPV6
Docker: 由Container Station提供
问题
通过ipv6地址可以打开NAS的管理页面，但是无法访问Docker对应端口的服务。
排查
QTS中Docker使用的虚拟交换机网络没有启动IPV6，且无法在虚拟交换机设置中手动启动。
这样一来，Docker只监听了tcp4的端口，对于主机上tcp6的端口的访问无法映...]]></description><category></category></item><item><title><![CDATA[AC68U koolshare 梅林固件使用IPV6]]></title><link>https://blog.youkuaiyun.com/ufolr/article/details/78680851</link><guid>https://blog.youkuaiyun.com/ufolr/article/details/78680851</guid><author>ufolr</author><pubDate>Fri, 10 May 2019 20:55:01 +0800</pubDate><description><![CDATA[To encode geographic information into a vector tile a tool must convert geographic coordinates, such as latitude and longitude, into vector tile grid coordinates.

要将地理信息编码为矢量瓦片，我们需要一个工具来将地理坐标(如经纬度)转换]]></description><category></category></item><item><title><![CDATA[Win10 Linux 子系统(WSL)监听端口报错Error `IN6_IS_ADDR_V4MAPPED (sin6->sin6_addr.s6_addr32)` Failed的处理]]></title><link>https://blog.youkuaiyun.com/ufolr/article/details/79717858</link><guid>https://blog.youkuaiyun.com/ufolr/article/details/79717858</guid><author>ufolr</author><pubDate>Tue, 27 Mar 2018 19:23:33 +0800</pubDate><description><![CDATA[0x001

在Win10Linux子系统（WSL）中安装某些软件，如apache、sshd等，会遇到： 
Error `IN6_IS_ADDR_V4MAPPED (sin6-&amp;gt;sin6_addr.s6_addr32)` Failed 
这个问题，在之前的版本是win10 WSL的缺陷导致，但是后来微软已经修复了该缺陷。

我当前系统版本：win10 1709 16299.309 
WSL版...]]></description><category></category></item><item><title><![CDATA[【修复世界观】之 C++的delete以及operator delete重载。]]></title><link>https://blog.youkuaiyun.com/ufolr/article/details/78680991</link><guid>https://blog.youkuaiyun.com/ufolr/article/details/78680991</guid><author>ufolr</author><pubDate>Mon, 04 Dec 2017 23:55:11 +0800</pubDate><description><![CDATA[C++的delete以及operator delete重载。

朝花

刚学习c++的时候就学过在c++中delete/new其实都是一个方法，我们执行delete p其实就是调用了方法operator delete(p); 
当然，还学过delete/new有全局的和局部的(类中的)，我们可以重载他们，让delete和new按照我们想要的样子去执行对象的创建和销毁。 
在过去这么多年中，我一直认]]></description><category></category></item><item><title><![CDATA[Vcpkg安装库是报zlib安装失败的解决办法]]></title><link>https://blog.youkuaiyun.com/ufolr/article/details/78660700</link><guid>https://blog.youkuaiyun.com/ufolr/article/details/78660700</guid><author>ufolr</author><pubDate>Wed, 29 Nov 2017 00:03:25 +0800</pubDate><description><![CDATA[Vcpkg安装库是报zlib安装失败的解决办法现象：使用vcpkg安装需要依赖zlib的库时，会先安装zlib，此时会报错：Error: Building package zlib:x86-windows-static failed with: BUILD_FAILED输出日志中有大量cmake相关错误。原因：安装vs2017时过度洁癖，自以为不需要的到东西都没有装。 
这里用cmake生成ninj]]></description><category></category></item><item><title><![CDATA[C/C++ 程序内存结构]]></title><link>https://blog.youkuaiyun.com/ufolr/article/details/52833736</link><guid>https://blog.youkuaiyun.com/ufolr/article/details/52833736</guid><author>ufolr</author><pubDate>Sat, 29 Oct 2016 17:29:32 +0800</pubDate><description><![CDATA[C/C++ 程序内存结构楔子一个可执行程序文件需要在计算机硬件上运行起来，其实质就是静态的文件被加载到内存中的过程，可执行程序文件只是一个程序的载体。那么执行一个应用后，它在内存中是一个怎样的结构呢，请关注今天的走进科学——《C/C++ 程序内存结构》。动&静一个程序被加载到内存中，这块内存首先就存在两种属性：静态分配内存和动态分配内存。 
静态分配内存：是在程序编译和链接时就确定好的内存。 
动态]]></description><category></category></item><item><title><![CDATA[Eclipse 4.5/4.6 离线安装Eclemma不生效的解决办法]]></title><link>https://blog.youkuaiyun.com/ufolr/article/details/52713422</link><guid>https://blog.youkuaiyun.com/ufolr/article/details/52713422</guid><author>ufolr</author><pubDate>Fri, 30 Sep 2016 20:00:30 +0800</pubDate><description><![CDATA[Eclipse 4.5/4.6 离线安装Eclemma不生效的解决办法由于工作机在内网环境，无法通过 eclipse marketplace 来安装插件，只能离线安装。怎奈它死活不生效，只叫那无所恋兮朱颜瘦。官方安装指南
地址：http://www.eclemma.org/installation.html
步骤：
1.从http://www.eclemma.org/download.html下载最]]></description><category></category></item><item><title><![CDATA[关于编译报错 error: cannot convert 'const std::__cxx11::basic_string<char>' to 'const char*' 的处理]]></title><link>https://blog.youkuaiyun.com/ufolr/article/details/52669333</link><guid>https://blog.youkuaiyun.com/ufolr/article/details/52669333</guid><author>ufolr</author><pubDate>Mon, 26 Sep 2016 13:13:03 +0800</pubDate><description><![CDATA[关于编译报错 error: cannot convert ‘const std::__cxx11::basic_string’ to ‘const char*’ 的处理所以然目前c++11标准开始普及，大家都开始默认支持或者使用c++11，例如GCC 5就开始默认启用C++11特性。但是由于c++11相对于c++03，很多实现的数据结构都发生了改变，所以两者并不能完全混用。 
默认情况下，GCC 5]]></description><category></category></item><item><title><![CDATA[Win10下DotNet程序兼容性，切换DotNet4.6的RyuJIT为原来的LegacyJIT]]></title><link>https://blog.youkuaiyun.com/ufolr/article/details/50456758</link><guid>https://blog.youkuaiyun.com/ufolr/article/details/50456758</guid><author>ufolr</author><pubDate>Mon, 04 Jan 2016 16:25:01 +0800</pubDate><description><![CDATA[由于各种原因，原来的DotNet项目在win10（默认安装了DotNet4.6.1）上可能遇到各种问题完全无法理解，这时候可以跟代码看看问题是否是出现在.Net框架上，如果是这样，可以尝试禁用DotNet4.6.1默认的新一代JIT，回归原来的LegacyJIT，再看问题是否依旧。禁用RyuJIT微软提供了三种方法来禁用RyuJIT而使用上一代的LegacyJit：1.给需要试用LegacyJit的]]></description><category></category></item><item><title><![CDATA[SuperMap IObjects C++组件学习笔记（三） - 利用组件绘制的回调方法控制自定义绘制]]></title><link>https://blog.youkuaiyun.com/ufolr/article/details/45071385</link><guid>https://blog.youkuaiyun.com/ufolr/article/details/45071385</guid><author>ufolr</author><pubDate>Thu, 16 Apr 2015 10:12:51 +0800</pubDate><description><![CDATA[利用IObjects C++组件绘制的回调方法实现自定义绘制一、IObjects C++组件自定义绘制概述利用IObjects C++组件的绘制回调函方法来实现自定义流程的绘制。IObjects C++组件在地图绘制开始前、绘制完成后，图层绘制完成前、绘制完成后都可以回调我们自己的方法，并将绘制时是Graphics传出来，得到这个Graphics，我们就可以在利用他直接在地图上绘制我们想要的数据。]]></description><category></category></item><item><title><![CDATA[Win8.1 UEFI引导修复札记--引导损坏无法启动、双系统后win8开机慢的参考之]]></title><link>https://blog.youkuaiyun.com/ufolr/article/details/44993905</link><guid>https://blog.youkuaiyun.com/ufolr/article/details/44993905</guid><author>ufolr</author><pubDate>Sat, 11 Apr 2015 11:40:02 +0800</pubDate><description><![CDATA[Win8.1 UEFI引导修复札记一、 适应症状
安装双系统后发现win8开机速度总是在1分多钟 
当然开机时间和自己机器的配置有很大关系，如果认为你配置不至于这么慢，可以按如下方法诊断： 
按win+R，输入msconfig，单击引导选项卡，如果发现里面什么都没有，而且不可修改，那么就说明你的BCD引导坏掉了。开机慢就是因为BCD坏掉，从而在开机时消耗了大量的时间去搜寻和加载引导文件导致开机时间变]]></description><category></category></item><item><title><![CDATA[SuperMap IObjects C++组件学习笔记（二） - Qt接管下IObjectsC++组件的自定义地图绘制]]></title><link>https://blog.youkuaiyun.com/ufolr/article/details/44957767</link><guid>https://blog.youkuaiyun.com/ufolr/article/details/44957767</guid><author>ufolr</author><pubDate>Thu, 09 Apr 2015 11:43:20 +0800</pubDate><description><![CDATA[Qt接管下iObjects C++组件的地图自定义绘制一、什么为自定义绘制自定义绘制，顾名思义，就是用自己的方法去绘制地图，由于部分地图绘制任务对地图刷新性能的高要求，如果采用GIS组件提供的内置绘制方法，其绘制过程中会有很多的计算和判断，从而消耗大量的不必要时间。 
先要缩短地图绘制时间，我们可以使用自己的绘制方法，从两个方面出发去节省GIS组件绘制地图的时间： 
+ 1.节约查询时间：GIS组件]]></description><category></category></item><item><title><![CDATA[SuperMap IObjects C++组件学习笔记（一） - Hello iObjects C++]]></title><link>https://blog.youkuaiyun.com/ufolr/article/details/44943743</link><guid>https://blog.youkuaiyun.com/ufolr/article/details/44943743</guid><author>ufolr</author><pubDate>Wed, 08 Apr 2015 17:20:00 +0800</pubDate><description><![CDATA[Hello iObjects C++之前写了在qt下iObjects C++组件的环境搭建，现在可以开始使用iObjects C++进行开发了，作为一个尊重传统的程序员，我们还是从Hello iObjects开始吧。一、纯后台处理的程序假设我们暂时不需要UI，只希望让iObjects组件执行他的功能，比如打开一个工作空间，加载工作空间中的地图，由于没有UI，为了验证我们的地图加载成功，我们将其以图片]]></description><category></category></item><item><title><![CDATA[SuperMap iObjects C++结合Qt在QtCreator上的开发环境搭建]]></title><link>https://blog.youkuaiyun.com/ufolr/article/details/44943367</link><guid>https://blog.youkuaiyun.com/ufolr/article/details/44943367</guid><author>ufolr</author><pubDate>Wed, 08 Apr 2015 17:07:13 +0800</pubDate><description><![CDATA[SuperMap iObjects C++结合Qt在QtCreator上的开发环境搭建一、准备工作本次环境搭建使用了vs2012编译的iObjects C++ x64组件，要结合qt进行开发的话需要使用vs2012编译的Qt库，为保持所用库的一致性，我们使用了qt4.8.6版本，而该版本没有官方发行版的vs2012库，需要自己编译。 
编译过程参见《Qt4.8.6在VS2012下的编译》 
其中应注]]></description><category></category></item><item><title><![CDATA[SuperMap iObjects C++结合Qt在vs2012上的开发环境搭建]]></title><link>https://blog.youkuaiyun.com/ufolr/article/details/44943143</link><guid>https://blog.youkuaiyun.com/ufolr/article/details/44943143</guid><author>ufolr</author><pubDate>Wed, 08 Apr 2015 16:47:58 +0800</pubDate><description><![CDATA[SuperMap iObjects C++结合Qt在vs2012以及QtCreator上的开发环境搭建一、准备本次环境搭建使用了vs2012编译的iObjects C++ x64组件，要结合qt进行开发的话需要使用vs2012编译的Qt库，为保持所用库的一致性，我们使用了qt4.8.6版本，而该版本没有官方发行版的vs2012库，需要自己编译。 
编译过程参见《Qt4.8.6在VS2012下的编译》]]></description><category></category></item></channel></rss>