<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[DoubleFJ の Blog]]></title><description><![CDATA[只有回不去的过去，没有到不了的未来。]]></description><link>https://blog.youkuaiyun.com/ffj0721</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; ffj0721]]></copyright><item><title><![CDATA[【转】M1 芯片 Mac 运行 lvgl 仿真器编译无法找到 SDL.h 头文件问题]]></title><link>https://blog.youkuaiyun.com/ffj0721/article/details/132667249</link><guid>https://blog.youkuaiyun.com/ffj0721/article/details/132667249</guid><author>ffj0721</author><pubDate>Mon, 04 Sep 2023 13:26:22 +0800</pubDate><description><![CDATA[M1芯片mac运行lvgl仿真器编译无法找到SDL.h头文件问题]]></description><category></category></item><item><title><![CDATA[Kong 自定义插件编写详解]]></title><link>https://blog.youkuaiyun.com/ffj0721/article/details/131147443</link><guid>https://blog.youkuaiyun.com/ffj0721/article/details/131147443</guid><author>ffj0721</author><pubDate>Sat, 10 Jun 2023 22:36:59 +0800</pubDate><description><![CDATA[这一个走通后，就会对自定义的插件有个概念了。下面我们来自己手写一个试试，很简单的一个 Demo，主要是对 Response 的修改（只要走通了一个 其他的也就差不多了 看看官方。调研了几天，Kong 的功能蛮多的，对我们也有很大的帮助，引入也很有意义，能减少我们很多操作。Kong 也比较成熟，只是网上的资料都比较零散，很多也已经随着改版而变得过时。其实别看这里我只是轻描淡写，实际却是踩了很多坑，网上太多都是不负责任的文章，也不清楚是纯粹的 copy 还是因为版本更迭导致的失效。，我就不在这多说废话了。]]></description><category></category></item><item><title><![CDATA[【转】Lua 在 Mac 上安装（实测好用）]]></title><link>https://blog.youkuaiyun.com/ffj0721/article/details/131050524</link><guid>https://blog.youkuaiyun.com/ffj0721/article/details/131050524</guid><author>ffj0721</author><pubDate>Mon, 05 Jun 2023 16:20:16 +0800</pubDate><description><![CDATA[转：Lua 在 Mac 上安装（实测好用）]]></description><category></category></item><item><title><![CDATA[【转】Spring Boot：让你的应用优雅的按需加载Bean]]></title><link>https://blog.youkuaiyun.com/ffj0721/article/details/125908412</link><guid>https://blog.youkuaiyun.com/ffj0721/article/details/125908412</guid><author>ffj0721</author><pubDate>Thu, 21 Jul 2022 11:14:37 +0800</pubDate><description><![CDATA[Spring Boot：让你的应用优雅的按需加载Bean]]></description><category></category></item><item><title><![CDATA[ClickHouse 实战整理 - 统计 pv uv]]></title><link>https://blog.youkuaiyun.com/ffj0721/article/details/123400810</link><guid>https://blog.youkuaiyun.com/ffj0721/article/details/123400810</guid><author>ffj0721</author><pubDate>Thu, 10 Mar 2022 14:33:30 +0800</pubDate><description><![CDATA[个人博客：DoubleFJ の Blog
ClickHouse 官方文档
文中举例均为简单示例，根据业务自行扩展。

实际业务场景中很多会需要统计 pv uv 值，比如页面的 pv uv 值，商品、店铺的 pv uv 值……
这边举一个简单的例子，比如说统计商品访问的 pv uv：

简单的源数据表创建如下：

CREATE TABLE IF NOT EXISTS test.product_operation
(
    ts_date_time  DateTime COMMENT '事件触发时间',
 .]]></description><category></category></item><item><title><![CDATA[通过 IntelliJ IDEA 和 Maven 命令查看某个 jar 包是怎么引入的]]></title><link>https://blog.youkuaiyun.com/ffj0721/article/details/120783167</link><guid>https://blog.youkuaiyun.com/ffj0721/article/details/120783167</guid><author>ffj0721</author><pubDate>Fri, 15 Oct 2021 14:44:07 +0800</pubDate><description><![CDATA[转：通过IntelliJ IDEA和Maven命令查看某个jar包是怎么引入的

]]></description><category></category></item><item><title><![CDATA[事务嵌套使用注意点]]></title><link>https://blog.youkuaiyun.com/ffj0721/article/details/114434255</link><guid>https://blog.youkuaiyun.com/ffj0721/article/details/114434255</guid><author>ffj0721</author><pubDate>Sat, 06 Mar 2021 09:59:13 +0800</pubDate><description><![CDATA[个人博客：DoubleFJ の Blog

最近在项目中需要用到事务嵌套使用，即方法 A 中调用方法 B，A 和 B 都有事务控制，且方法 B 的事务独立于 A，为一个独立新事务。
刚开始用默认的事务类型 PROPAGATION_REQUIRED，结果当然是失败了。后来查找了事务的类型以及事务传播机制，简单列一下如下：

PROPAGATION_REQUIRED	表示如果当前事务存在，则支持当前事务。否则，会启动一个新的事务。默认的事务类型。
PROPAGATION_SUPPORTS	表示如果当前事务存在.]]></description><category></category></item><item><title><![CDATA[解决 GitHub 图片资源无法加载问题]]></title><link>https://blog.youkuaiyun.com/ffj0721/article/details/111155022</link><guid>https://blog.youkuaiyun.com/ffj0721/article/details/111155022</guid><author>ffj0721</author><pubDate>Mon, 14 Dec 2020 11:37:52 +0800</pubDate><description><![CDATA[由于文章中许多都是用 GitHub 作图床的，然后经常性得图片裂了
图片信息缺失会导致无法正确获取一些重要数据
经网上搜索并自身测试之后有了解决方案

修改本地 host 文件来解析域名从而加载资源
在 host 文件中添加：
# GitHub Start 
192.30.253.112    Build software better, together 
192.30.253.119    gist.github.com
151.101.184.133    assets-cdn.github.com.]]></description><category></category></item><item><title><![CDATA[Shell 脚本定时重启项目]]></title><link>https://blog.youkuaiyun.com/ffj0721/article/details/110329886</link><guid>https://blog.youkuaiyun.com/ffj0721/article/details/110329886</guid><author>ffj0721</author><pubDate>Sun, 29 Nov 2020 17:21:28 +0800</pubDate><description><![CDATA[个人博客：DoubleFJ の Blog

前言
自己很早之前就买了一台阿里云服务器，当时新用户买的时候很便宜后来每年续费简直贵得离谱。要不是我已经装了很多东西，还有我的懒（换服务器还需要重新配置和备案）。当然这跟我下面要说的关系不是很大。
我一直以来用这服务器只是为了挂自己的博客和几个很早之前练手的小项目，结果发现这破服务器总是会把我的项目进程给干掉，等我偶尔访问的时候发现早已经打不开小网站了，相当郁闷。
终于，今天我实在是忍不了了。
解决方案
想了想，最简单的解决方案就是我写个定时脚本去定时重启项目。.]]></description><category></category></item><item><title><![CDATA[Windows 下安装 Memcached]]></title><link>https://blog.youkuaiyun.com/ffj0721/article/details/109846004</link><guid>https://blog.youkuaiyun.com/ffj0721/article/details/109846004</guid><author>ffj0721</author><pubDate>Fri, 20 Nov 2020 13:09:13 +0800</pubDate><description><![CDATA[Windows 下安装 Memcached

]]></description><category></category></item><item><title><![CDATA[RESTful URL 命名规则]]></title><link>https://blog.youkuaiyun.com/ffj0721/article/details/107799936</link><guid>https://blog.youkuaiyun.com/ffj0721/article/details/107799936</guid><author>ffj0721</author><pubDate>Tue, 04 Aug 2020 21:21:37 +0800</pubDate><description><![CDATA[URL 命名规则：

驼峰命名法(serverAddress)
蛇形命名法(server_address)
脊柱命名法(server-address)

驼峰命名法和蛇形命名法都会涉及到输入法的切换，在实际情况中确实会增加操作的复杂性。
相比之下，脊柱命名法确实是较为合适的，我看 GitHub 网站也是用的脊柱命名法。

公司随着规模不断的扩大，功能越加越多，补丁越打越多，紧接着接口也越来越多越来越杂。再加上开发人员各自都有一套独特的风格，组内开发人数越多也就越难控制风格，最近感觉越来越强烈了。一开始我还是]]></description><category></category></item><item><title><![CDATA[Intellij IDEA运行报Command line is too long解法]]></title><link>https://blog.youkuaiyun.com/ffj0721/article/details/106898807</link><guid>https://blog.youkuaiyun.com/ffj0721/article/details/106898807</guid><author>ffj0721</author><pubDate>Mon, 22 Jun 2020 11:38:22 +0800</pubDate><description><![CDATA[Intellij IDEA运行报Command line is too long解法

]]></description><category></category></item><item><title><![CDATA[LeetCode 之检测大写字母（Detect Capital）]]></title><link>https://blog.youkuaiyun.com/ffj0721/article/details/106083542</link><guid>https://blog.youkuaiyun.com/ffj0721/article/details/106083542</guid><author>ffj0721</author><pubDate>Tue, 12 May 2020 19:45:14 +0800</pubDate><description><![CDATA[个人博客：DoubleFJ の Blog

前言
这是一道难度为简单的题，确实常规去解决一点也不难，但当我看到有大神在评论区发解题思路的时候，脑壳就突然有一种被敲开往里灌清凉油的感觉……让我们来走进清凉世界！
正文
题目描述：
给定一个单词，你需要判断单词的大写使用是否正确。

我们定义，在以下情况时，单词的大写用法是正确的：

全部字母都是大写，比如"USA"。
单词中所有字母都不是大写，比如"leetcode"。
如果单词不只含有一个字母，只有首字母大写， 比如 "Google"。
否则，我们定义这个.]]></description><category></category></item><item><title><![CDATA[Ubuntu16.04 安装 openjdk8 MySQL mongodb ssh]]></title><link>https://blog.youkuaiyun.com/ffj0721/article/details/105955962</link><guid>https://blog.youkuaiyun.com/ffj0721/article/details/105955962</guid><author>ffj0721</author><pubDate>Wed, 06 May 2020 17:58:40 +0800</pubDate><description><![CDATA[Ubuntu 16.04 安装MongoDB及卸载
Ubuntu16.04 install OpenJDK8
MongoDB 新建数据库后创建新数据库的用户时报错:not authorized
ubuntu 16.04 linux下mongodb的安装和配置
Ubuntu 16.04开启SSH服务
Ubuntu16.04安装MySQL5.7

...]]></description><category></category></item><item><title><![CDATA[MySQL 数据库备份脚本]]></title><link>https://blog.youkuaiyun.com/ffj0721/article/details/105452449</link><guid>https://blog.youkuaiyun.com/ffj0721/article/details/105452449</guid><author>ffj0721</author><pubDate>Sat, 11 Apr 2020 14:44:26 +0800</pubDate><description><![CDATA[一个数据库备份小脚本，实现指定数据库数据表的定时备份
完整脚本在 database-backup
个人博客：DoubleFJ の Blog

前言
当然首先是有这个需求才会去想着写这么个脚本来实现。之前使用过阿里的 otter 来做数据同步，当然软件很好用，官方教程也很详细，但是就觉得有时候条件过于“苛刻”，稍一不小心就使得同步中断。且最关键的是我们不需要数据完全每分每秒时时刻刻都要同步，也多是...]]></description><category></category></item><item><title><![CDATA[Git 上传大于 100M 文件]]></title><link>https://blog.youkuaiyun.com/ffj0721/article/details/104895797</link><guid>https://blog.youkuaiyun.com/ffj0721/article/details/104895797</guid><author>ffj0721</author><pubDate>Mon, 16 Mar 2020 11:46:37 +0800</pubDate><description><![CDATA[安装 git-lfs 即可

git lfs install
git lfs track "*.psd" // 大文件后缀（这里例子是 psd）
git add .gitattributes // 配置好后就跟之前一样提交就行了


]]></description><category></category></item><item><title><![CDATA[Go 语言中各种占位符的使用]]></title><link>https://blog.youkuaiyun.com/ffj0721/article/details/104512868</link><guid>https://blog.youkuaiyun.com/ffj0721/article/details/104512868</guid><author>ffj0721</author><pubDate>Wed, 26 Feb 2020 11:07:27 +0800</pubDate><description><![CDATA[够详细够全
Go语言中各种占位符的使用

]]></description><category></category></item><item><title><![CDATA[JS 实现十六进制转浮点数]]></title><link>https://blog.youkuaiyun.com/ffj0721/article/details/103344062</link><guid>https://blog.youkuaiyun.com/ffj0721/article/details/103344062</guid><author>ffj0721</author><pubDate>Mon, 02 Dec 2019 10:16:59 +0800</pubDate><description><![CDATA[// 16 进制转浮点数
function HexToSingle(t) {
	t = t.replace(/\s+/g, "");
	if (t == "") {
		return "";
	}
	if (t == "00000000") {
		return "0";
	}
	if ((t.length &gt; 8) || (isNaN(parseInt(t, 16)))) {
		retu...]]></description><category></category></item><item><title><![CDATA[JS 实现 DIV 可拖拽]]></title><link>https://blog.youkuaiyun.com/ffj0721/article/details/103254836</link><guid>https://blog.youkuaiyun.com/ffj0721/article/details/103254836</guid><author>ffj0721</author><pubDate>Tue, 26 Nov 2019 14:03:18 +0800</pubDate><description><![CDATA[/* 可拖拽 */
 var dragBox = function (drag, wrap) {

      function getCss(ele, prop) {
           return parseInt(window.getComputedStyle(ele)[prop]);
      }

      var initX,
          initY,
        ...]]></description><category></category></item><item><title><![CDATA[Netty4 实现数据传输中间层处理]]></title><link>https://blog.youkuaiyun.com/ffj0721/article/details/102498669</link><guid>https://blog.youkuaiyun.com/ffj0721/article/details/102498669</guid><author>ffj0721</author><pubDate>Fri, 11 Oct 2019 11:59:07 +0800</pubDate><description><![CDATA[Netty4 实现数据报文的接收/拆包/重组/转发
完整代码：netty4-datatrans
个人博客：DoubleFJ の Blog


前言
由于项目中有对建筑的 GPS 定位模块，而 GPS 仪器作为客户端连接，传输的是标准的 GPGGA 语句，也就是多个客户端对一个服务端发送数据，节约端口资源故配置的是同一个端口，此时服务端接收到的 GPGGA 数据却并不能分辨出到底是哪一个客户端发送...]]></description><category></category></item></channel></rss>