<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[朱昶伟]]></title><description><![CDATA[拣尽寒寒枝不肯歇，寂寞沙洲冷]]></description><link>https://blog.youkuaiyun.com/VoidLuffy</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; VoidLuffy]]></copyright><item><title><![CDATA[Swift开发-json解析]]></title><link>https://blog.youkuaiyun.com/VoidLuffy/article/details/140049718</link><guid>https://blog.youkuaiyun.com/VoidLuffy/article/details/140049718</guid><author>VoidLuffy</author><pubDate>Fri, 28 Jun 2024 17:38:06 +0800</pubDate><description><![CDATA[使用OC开发时，JSON解析方法很多,如可以自己解析，也可以使用JsonModel,MJExtension等第三方，切换到Swift开发后，也还可以通过桥接的方式调用OC的，但这样会略显麻烦，Swift上也提供了直接进行json解析的方案，目前主流的有SwiftyJSON,ObjectMapper,HandyJson,以及swift 4上对JSON解析的原生支持。所以在实际的开发中，可以根据项目情况优先选择系统原生的jSON解析，前提是在Swift 4以上才支持。这种解析结构明确，模型转换需要手动编码。]]></description><category></category></item><item><title><![CDATA[Elasticsearch安装]]></title><link>https://blog.youkuaiyun.com/VoidLuffy/article/details/138572056</link><guid>https://blog.youkuaiyun.com/VoidLuffy/article/details/138572056</guid><author>VoidLuffy</author><pubDate>Wed, 08 May 2024 15:09:17 +0800</pubDate><description><![CDATA[将下载的zip包上传到 /opt/elk/elasticsearch-6.3.2/plugins 目录。如果出现“未连接”，请修改localhost为10.237.120.218，然后单击“连接”按钮。# 增加新的参数，这样head插件可以访问es。服务器IP: 10.237.120.218/219/220。# 分别为node-1,node-2,node-3。# 本机IP地址，分别为218,219,220。修改内核参数，需要切换到root用户下面。修改elasticsearch配置文件。]]></description><category></category></item><item><title><![CDATA[Rabbitmq集群镜像模式设置Policy策略]]></title><link>https://blog.youkuaiyun.com/VoidLuffy/article/details/130269931</link><guid>https://blog.youkuaiyun.com/VoidLuffy/article/details/130269931</guid><author>VoidLuffy</author><pubDate>Thu, 20 Apr 2023 21:45:00 +0800</pubDate><description><![CDATA[Rabbitmq集群镜像模式Policy策略设置]]></description><category></category></item><item><title><![CDATA[MyBatis批量插入上万条数据慎用ForEach]]></title><link>https://blog.youkuaiyun.com/VoidLuffy/article/details/125884775</link><guid>https://blog.youkuaiyun.com/VoidLuffy/article/details/125884775</guid><author>VoidLuffy</author><pubDate>Wed, 20 Jul 2022 08:44:48 +0800</pubDate><description><![CDATA[在我们的项目中，会不停地使用批量插入这个方法，而因为MyBatis对于含有的语句，无法采用缓存，那么在每次调用方法时，都会重新解析sql语句。所以，如果非要使用foreach的方式来进行批量插入的话，可以考虑减少一条insert语句中values的个数，最好能达到上面曲线的最底部的值，使速度最快。没有问题，但是经过项目实践发现，当表的列数较多（20+），以及一次性插入的行数较多（5000+）时，整个插入的耗时十分漫长，达到了14分钟，这是不能忍的。...]]></description><category></category></item><item><title><![CDATA[阿里巴巴 iconfont 字体转 base64 并引入使用]]></title><link>https://blog.youkuaiyun.com/VoidLuffy/article/details/123530341</link><guid>https://blog.youkuaiyun.com/VoidLuffy/article/details/123530341</guid><author>VoidLuffy</author><pubDate>Wed, 16 Mar 2022 16:52:45 +0800</pubDate><description><![CDATA[平时使用阿里巴巴的iconfont字体需要下载字体到本地或通过网址引入字体才能使用，但有些情况可能不允许这么做，例如小程序与平常web开发中引入字体图标的方式不一样，必须先转为base64再引入，以下介绍iconfont字体转base64并引入使用的方法



一、去官网 http://iconfont.cn 下载想要的图标

1.将想要的图标添加入库





2.进入购物车下载代码





3.下载成功后，得到一个压缩文件，然后解压得到这么一堆文件：





二、转换 ttf 文件为 base64
]]></description><category></category></item><item><title><![CDATA[MyBatis在insert插入操作时返回主键ID(Oracle和Mysql)]]></title><link>https://blog.youkuaiyun.com/VoidLuffy/article/details/122999037</link><guid>https://blog.youkuaiyun.com/VoidLuffy/article/details/122999037</guid><author>VoidLuffy</author><pubDate>Fri, 18 Feb 2022 11:14:07 +0800</pubDate><description><![CDATA[本文章向大家介绍MyBatis在insert插入操作时返回主键ID的配置（推荐），主要包括MyBatis在insert插入操作时返回主键ID的配置。

很多时候，在向数据库插入数据时，需要保留插入数据的id，以便进行后续的update操作或者将id存入其他表作为外键。

但是，在默认情况下，insert操作返回的是一个int值，并且不是表示主键id，而是表示当前SQL语句影响的行数。

接下来，我们看看MyBatis如何在使用MySQL和Oracle做insert插入操作时将返回的id绑定到对象中。

1.]]></description><category></category></item><item><title><![CDATA[Java并发编程：volatile关键字解析]]></title><link>https://blog.youkuaiyun.com/VoidLuffy/article/details/120995668</link><guid>https://blog.youkuaiyun.com/VoidLuffy/article/details/120995668</guid><author>VoidLuffy</author><pubDate>Wed, 27 Oct 2021 16:17:57 +0800</pubDate><description><![CDATA[Java并发编程：volatile关键字解析

　　 volatile这个关键字可能很多朋友都听说过，或许也都用过。在Java 5之前，它是一个备受争议的关键字，因为在程序中使用它往往会导致出人意料的结果。在Java 5之后，volatile关键字才得以重获生机。

　　volatile关键字虽然从字面上理解起来比较简单，但是要用好不是一件容易的事情。由于volatile关键字是与Java的内存模型有关的，因此在讲述volatile关键之前，我们先来了解一下与内存模型相关的概念和知识，然后分析了volati]]></description><category></category></item><item><title><![CDATA[Dagger2]]></title><link>https://blog.youkuaiyun.com/VoidLuffy/article/details/97915247</link><guid>https://blog.youkuaiyun.com/VoidLuffy/article/details/97915247</guid><author>VoidLuffy</author><pubDate>Wed, 31 Jul 2019 14:23:05 +0800</pubDate><description><![CDATA[什么是Dagger2

Dagger2是Dagger的升级版，是一个依赖注入框架，现在由Google接手维护。 恩，这里有个关键字依赖注入，因此我们得先知道什么是依赖注入，才能更好的理解Dagger2。

依赖注入是面向对象编程的一种设计模式，其目的是为了降低程序耦合，这个耦合就是类之间的依赖引起的。

举个例子：我们在写面向对象程序时，往往会用到组合，即在一个类中引用另一个类，从而可以调用引用的...]]></description><category></category></item><item><title><![CDATA[Android 引入 AndResGuard 异常]]></title><link>https://blog.youkuaiyun.com/VoidLuffy/article/details/84883324</link><guid>https://blog.youkuaiyun.com/VoidLuffy/article/details/84883324</guid><author>VoidLuffy</author><pubDate>Fri, 07 Dec 2018 17:58:32 +0800</pubDate><description><![CDATA[在引入AndResGuard时，

classpath 'com.tencent.mm:AndResGuard-gradle-plugin:1.2.0'


提示

Error:Could not find com.tencent.mm:AndResGuard-gradle-plugin:1.2.0.
Searched in the following locations:
    file:/A...]]></description><category></category></item><item><title><![CDATA[freeswitch系列四 通过实例学习sip协议的注册、呼叫、挂断流程]]></title><link>https://blog.youkuaiyun.com/VoidLuffy/article/details/80564841</link><guid>https://blog.youkuaiyun.com/VoidLuffy/article/details/80564841</guid><author>VoidLuffy</author><pubDate>Mon, 04 Jun 2018 11:18:34 +0800</pubDate><description><![CDATA[1. 概述本文通过tcpdump对真实环境里的软电话的注册、呼叫、挂断流程进行抓包，通过真实的例子学习SIP协议。本文主要包括以下方面:A. 详解软电话的注册时的SIP包和流程图B. 详解软电话之间呼叫、挂断的SIP包和流程图C. 详细介绍了协议中各个字段的意义2. 案例环境说明软电话使用x-lite，使用freeswitch的默认的两个号码1008和1018。freeswitch部署在服务器的私...]]></description><category></category></item><item><title><![CDATA[Centos7源代码安装freeswitch和启动freeswitch]]></title><link>https://blog.youkuaiyun.com/VoidLuffy/article/details/80522126</link><guid>https://blog.youkuaiyun.com/VoidLuffy/article/details/80522126</guid><author>VoidLuffy</author><pubDate>Thu, 31 May 2018 11:57:35 +0800</pubDate><description><![CDATA[                centos7下安装freeswitch版本:1.6。1.下载源代码： 进入目录 cd /usr/local/src克隆原代码 git clone -b v1.6 https://freeswitch.org/stash/scm/fs/freeswitch.git freeswitch2.开始编译 进入freeswitch目录  cd/ freeswitch 运行 ...]]></description><category></category></item><item><title><![CDATA[CentOS7.3安装Go运行和开发环境]]></title><link>https://blog.youkuaiyun.com/VoidLuffy/article/details/80519273</link><guid>https://blog.youkuaiyun.com/VoidLuffy/article/details/80519273</guid><author>VoidLuffy</author><pubDate>Thu, 31 May 2018 09:28:23 +0800</pubDate><description><![CDATA[下载并解压下载[root@localhost soft]# wget -c https://storage.googleapis.com/golang/go1.8.3.linux-amd64.tar.gz1解压  将源码包解压后直接放到 /usr/local 目录下, 不用再次 make &amp;amp;&amp;amp; make install 来安装了, 开箱即用[root@localhost soft]...]]></description><category></category></item><item><title><![CDATA[Linux利用OneinStack搭建环境]]></title><link>https://blog.youkuaiyun.com/VoidLuffy/article/details/80514849</link><guid>https://blog.youkuaiyun.com/VoidLuffy/article/details/80514849</guid><author>VoidLuffy</author><pubDate>Wed, 30 May 2018 19:39:12 +0800</pubDate><description><![CDATA[Linux利用OneinStack搭建环境                                    OneinStack官方网站：https://oneinstack.com介绍OneinStack支持以下数种环境组合：LNMP（Linux + Nginx+ MySQL+ PHP）LAMP（Linux + Apache+ MySQL+ PHP）LNMPA（Linux + Nginx+...]]></description><category></category></item><item><title><![CDATA[Linux 匹配文件夹删除]]></title><link>https://blog.youkuaiyun.com/VoidLuffy/article/details/79985812</link><guid>https://blog.youkuaiyun.com/VoidLuffy/article/details/79985812</guid><author>VoidLuffy</author><pubDate>Wed, 18 Apr 2018 10:54:14 +0800</pubDate><description><![CDATA[]]></description><category></category></item><item><title><![CDATA[Android 7.1编译到33%时出现JDK内存溢出的错误：]]></title><link>https://blog.youkuaiyun.com/VoidLuffy/article/details/79818595</link><guid>https://blog.youkuaiyun.com/VoidLuffy/article/details/79818595</guid><author>VoidLuffy</author><pubDate>Wed, 04 Apr 2018 15:56:07 +0800</pubDate><description><![CDATA[                                                    Android 7.1编译到33%时出现JDK内存溢出的错误：Out of memory error (version 1.2-rc4 'Carnac' (298900 f95d7bdecfceb327f9d201a1348397ed8a843843 by android-jack-team@g...]]></description><category></category></item><item><title><![CDATA[滴滴插件化项目VirtualAPK开源！]]></title><link>https://blog.youkuaiyun.com/VoidLuffy/article/details/79138024</link><guid>https://blog.youkuaiyun.com/VoidLuffy/article/details/79138024</guid><author>VoidLuffy</author><pubDate>Tue, 23 Jan 2018 11:53:35 +0800</pubDate><description><![CDATA[名称来源githubreact-nativefacebookreact-nativeDroidPlugin奇虎360DroidPluginatlas阿里巴巴手机淘宝atlasDL任玉刚等dynamic-load-apkSmall开源组织WequickSmallDynamicAPK携程DynamicAPKVirtualAPK嘀嘀VirtualAPKRePlugin奇虎360RePluginPlugi]]></description><category></category></item><item><title><![CDATA[大型网站架构系列：负载均衡详解（4）]]></title><link>https://blog.youkuaiyun.com/VoidLuffy/article/details/71712616</link><guid>https://blog.youkuaiyun.com/VoidLuffy/article/details/71712616</guid><author>VoidLuffy</author><pubDate>Fri, 12 May 2017 11:00:03 +0800</pubDate><description><![CDATA[本文是负载均衡详解的第四篇，主要介绍了LVS的三种请求转发模式和八种负载均衡算法，以及Haproxy的特点和负载均衡算法。具体参考文章，详见最后的链接。

 

三、LVS负载均衡

LVS是一个开源的软件，由毕业于国防科技大学的章文嵩博士于1998年5月创立，用来实现Linux平台下的简单负载均衡。LVS是Linux Virtual Server的缩写，意思是Linux虚拟服务器。]]></description><category></category></item><item><title><![CDATA[大型网站架构系列：负载均衡详解（3）]]></title><link>https://blog.youkuaiyun.com/VoidLuffy/article/details/71712552</link><guid>https://blog.youkuaiyun.com/VoidLuffy/article/details/71712552</guid><author>VoidLuffy</author><pubDate>Fri, 12 May 2017 10:59:17 +0800</pubDate><description><![CDATA[一、软件负载均衡概述

硬件负载均衡性能优越，功能全面，但是价格昂贵，一般适合初期或者土豪级公司长期使用。因此软件负载均衡在互联网领域大量使用。常用的软件负载均衡软件有Nginx，Lvs，HaProxy等。本文参考大量文档，部分为直接拷贝，参考出处见负载均衡详解（4）。

二、Ngnix负载均衡

Ngnix是一款轻量级的Web服务器/反向代理服务器，工作在七层Http协议的负载均衡系]]></description><category></category></item><item><title><![CDATA[大型网站架构：负载均衡（2）]]></title><link>https://blog.youkuaiyun.com/VoidLuffy/article/details/71711940</link><guid>https://blog.youkuaiyun.com/VoidLuffy/article/details/71711940</guid><author>VoidLuffy</author><pubDate>Fri, 12 May 2017 10:53:17 +0800</pubDate><description><![CDATA[大型网站架构系列：负载均衡详解（2）


本文是负载均衡详解的第一篇文章，介绍负载均衡算法， 硬件负载均衡。部分内容摘自读书笔记。
三、负载均衡算法
常用的负载均衡算法有，轮询，随机，最少链接，源地址散列，加权等方式；

3.1 轮询
将所有请求，依次分发到每台服务器上，适合服务器硬件同相同的场景。
优点：服务器请求数目相同；
缺点：服务器压力不一样，不适合服务器配置不同的情况]]></description><category></category></item><item><title><![CDATA[大型网站架构：负载均衡（1）]]></title><link>https://blog.youkuaiyun.com/VoidLuffy/article/details/71711876</link><guid>https://blog.youkuaiyun.com/VoidLuffy/article/details/71711876</guid><author>VoidLuffy</author><pubDate>Fri, 12 May 2017 10:52:21 +0800</pubDate><description><![CDATA[面对大量用户访问、高并发请求，海量数据，可以使用高性能的服务器、大型数据库，存储设备，高性能Web服务器，采用高效率的编程语言比如(Go,Scala)等，当单机容量达到极限时，我们需要考虑业务拆分和分布式部署，来解决大型网站访问量大，并发量高，海量数据的问题。

从单机网站到分布式网站，很重要的区别是业务拆分和分布式部署，将应用拆分后，部署到不同的机器上，实现大规模分布式系统。分布式和业务拆分]]></description><category></category></item></channel></rss>