<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[CodingMan]]></title><description><![CDATA[来 www.veryitman.com 也行]]></description><link>https://blog.youkuaiyun.com/AndroidBluetooth</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; AndroidBluetooth]]></copyright><item><title><![CDATA[docker容器中创建非root用户]]></title><link>https://blog.youkuaiyun.com/AndroidBluetooth/article/details/134758103</link><guid>https://blog.youkuaiyun.com/AndroidBluetooth/article/details/134758103</guid><author>AndroidBluetooth</author><pubDate>Sat, 02 Dec 2023 21:30:54 +0800</pubDate><description><![CDATA[用docker也有一段时间了，一直在docker容器中使用root用户肆意操作。直到部署我才发现无法使用root用户运行它，于是才幡然醒悟：是时候搞个非root用户了。]]></description><category></category></item><item><title><![CDATA[降 openssl，解决了一个 Rails 部署的问题]]></title><link>https://blog.youkuaiyun.com/AndroidBluetooth/article/details/129968893</link><guid>https://blog.youkuaiyun.com/AndroidBluetooth/article/details/129968893</guid><author>AndroidBluetooth</author><pubDate>Wed, 05 Apr 2023 12:26:04 +0800</pubDate><description><![CDATA[1、为什么要降 openssl 版本？我的工程比较老，使用的还是rails 3.2ruby 1.8（自己源码编译的），生产环境的应用服务器是passenger。在安装passenger时发生了错误（passenger-install-nginx-module 的安装方式）：提示需要ruby支持openssl。后面我查询了下面两篇文章，折腾了很久未能解决问题，最后无奈降级系统自带的openssl版本。ruby升级时编译报错EC_GROUP_new_curve_GF2m当前云服务器的系统是，默认安装了。]]></description><category></category></item><item><title><![CDATA[Ruby on Rails 实践：优化rvm安装、下载速度]]></title><link>https://blog.youkuaiyun.com/AndroidBluetooth/article/details/128512879</link><guid>https://blog.youkuaiyun.com/AndroidBluetooth/article/details/128512879</guid><author>AndroidBluetooth</author><pubDate>Sun, 01 Jan 2023 15:45:07 +0800</pubDate><description><![CDATA[办法总比困难多]]></description><category></category></item><item><title><![CDATA[Ruby on Rails 实践：更换 aloe 首页]]></title><link>https://blog.youkuaiyun.com/AndroidBluetooth/article/details/127834256</link><guid>https://blog.youkuaiyun.com/AndroidBluetooth/article/details/127834256</guid><author>AndroidBluetooth</author><pubDate>Sun, 13 Nov 2022 17:02:10 +0800</pubDate><description><![CDATA[在Ruby on Rails 实践课程：创建 aloe 项目中我们已经看到了 Rails 跑起来的样子，截至到目前我们还没有写一行代码，只是简单的执行了几个命令，项目就跑起来了。是不是简单地令人发指 😄如何通过 rails g 创建控制器？如何通过 rails routes 查看控制器的路由？如何修改工程的路由配置？ERB 文件是什么？接下来我们给aloe换个首页，让它显示 “Hello aloe”。]]></description><category></category></item><item><title><![CDATA[CentOS Install Passenger for ROR]]></title><link>https://blog.youkuaiyun.com/AndroidBluetooth/article/details/127714360</link><guid>https://blog.youkuaiyun.com/AndroidBluetooth/article/details/127714360</guid><author>AndroidBluetooth</author><pubDate>Sun, 06 Nov 2022 12:04:18 +0800</pubDate><description><![CDATA[使用 passenger 作为 ror 的应用服务器。]]></description><category></category></item><item><title><![CDATA[Ruby on Rails 实践课程：创建 aloe 项目]]></title><link>https://blog.youkuaiyun.com/AndroidBluetooth/article/details/126689427</link><guid>https://blog.youkuaiyun.com/AndroidBluetooth/article/details/126689427</guid><author>AndroidBluetooth</author><pubDate>Sun, 04 Sep 2022 14:55:08 +0800</pubDate><description><![CDATA[本次课程主要跟大家分享一下，如何使用 rails 命令创建工程，同时可以了解到：rails 工程目录以及作用配置和修改 gem 源更多教程可以参考Ruby on Rails 实践：课程导读下表列出了对应文件夹包含的内容以及作用，便于大家查阅。序号文件/文件夹作用1app/包含应用的（MVC）控制器、模型、视图、辅助方法、邮件程序、频道、作业和静态资源文件。这个文件夹跟我们日常开发关系最大2bin/包含用于启动应用的 rails 脚本，以及用于安装、更新、部署或运行应用的其他脚本3。]]></description><category></category></item><item><title><![CDATA[Ruby on Rails 实践：课程导读]]></title><link>https://blog.youkuaiyun.com/AndroidBluetooth/article/details/126678050</link><guid>https://blog.youkuaiyun.com/AndroidBluetooth/article/details/126678050</guid><author>AndroidBluetooth</author><pubDate>Sat, 03 Sep 2022 15:27:39 +0800</pubDate><description><![CDATA[第一次听说 Ruby 这门编程语言是在 2012 年，那个时候的 Ruby 是1.9.x版本，截至到本文写的时候 Ruby 已经发布了3.x版本了。Ruby 在国内并没有那么火，用 Ruby 进行开发的人也很少，如果不是 Rails 估计 Ruby 早就被人忘得一干二净了。现在在国内找 Ruby on Rails 的学习资料少之又少，无形之中给自己的学习带来了一定的成本。]]></description><category></category></item><item><title><![CDATA[Linux 常用命令：查看系统和内核版本]]></title><link>https://blog.youkuaiyun.com/AndroidBluetooth/article/details/125023655</link><guid>https://blog.youkuaiyun.com/AndroidBluetooth/article/details/125023655</guid><author>AndroidBluetooth</author><pubDate>Sat, 28 May 2022 21:42:23 +0800</pubDate><description><![CDATA[最近在玩 CentOS，发现它和 Ubuntu 还是有很多不同的地方。
下面来说一下如何查看 Linux 发行版本的系统版本信息、内核版本等命令。
查看系统版本信息
cat /etc/issue

你会发现使用上述命令无法查到系统版本信息，但是在 Ubuntu 系统中就可以看到对应的信息。
还有一个命令，可以查看系统版本信息。
lsb_release -a

如果在 CentOS 上面还是查不到，可以用下面的命令。
cat /etc/redhat-release

查看内核版本
使用下面三个命令都可以
un]]></description><category></category></item><item><title><![CDATA[CentOS7.9 安装 MySQL5.7]]></title><link>https://blog.youkuaiyun.com/AndroidBluetooth/article/details/124543383</link><guid>https://blog.youkuaiyun.com/AndroidBluetooth/article/details/124543383</guid><author>AndroidBluetooth</author><pubDate>Mon, 02 May 2022 17:10:01 +0800</pubDate><description><![CDATA[简介
在 CentOS 7 上面安装 MySQL5.7 经历了一点小挫折，特此记录，给有需要的朋友做个参考。
我的云主机 CentOS 版本
&gt; lsb_release -a

LSB Version:	:core-4.1-amd64:core-4.1-noarch
Distributor ID:	CentOS
Description:	CentOS Linux release 7.9.2009 (Core)
Release:	7.9.2009
Codename:	Core

安装 MySQL
因为现]]></description><category></category></item><item><title><![CDATA[Windows+Nginx 部署 Flutter Web]]></title><link>https://blog.youkuaiyun.com/AndroidBluetooth/article/details/118612357</link><guid>https://blog.youkuaiyun.com/AndroidBluetooth/article/details/118612357</guid><author>AndroidBluetooth</author><pubDate>Fri, 09 Jul 2021 18:10:22 +0800</pubDate><description><![CDATA[今天的内容比较简单，我们直接进入主题。

创建工程
目前笔者用的 Flutter SDK 是 Stable 2.x，其已经支持 Web了。
使用 Android Studio 创建 Flutter 工程，需要勾选上对 Web 的支持，如下图所示：

如果你之前创建的工程没有勾选该选项，可以在工程目录下执行如下命令：
# flutter create &lt;output directory&gt;
# Create a new Flutter project in the specified directo]]></description><category></category></item><item><title><![CDATA[MySQL主键值被我用完了]]></title><link>https://blog.youkuaiyun.com/AndroidBluetooth/article/details/117846516</link><guid>https://blog.youkuaiyun.com/AndroidBluetooth/article/details/117846516</guid><author>AndroidBluetooth</author><pubDate>Sat, 12 Jun 2021 14:23:30 +0800</pubDate><description><![CDATA[简介
本篇主要说明下面两个问题：

主键值范围越界了会发生什么？
不设置主键行吗？

看完正文之后，可以在小结部分找到答案。
推荐两篇关于 MySQL 的文章：


http://www.veryitman.com/2019/11/10/MySQL8-0-15%E5%9C%A8Win10%E4%B8%8A%E7%9A%84%E6%8A%98%E8%85%BE%E8%AE%B0/


http://www.veryitman.com/2019/12/07/%E5%BE%AE%E6%9C%8D%E5%8A%A1]]></description><category></category></item><item><title><![CDATA[AS、VSCode中实时显示代码的变更记录]]></title><link>https://blog.youkuaiyun.com/AndroidBluetooth/article/details/115617620</link><guid>https://blog.youkuaiyun.com/AndroidBluetooth/article/details/115617620</guid><author>AndroidBluetooth</author><pubDate>Mon, 12 Apr 2021 12:11:04 +0800</pubDate><description><![CDATA[简介
阅读下面内容开始之前，假设你已经在使用 git 管理自己的代码了。
阅读本篇，可以看到如下内容：
1、如何在 Android Studio 中实时显示每行代码的提交历史记录；
2、如何在 Android Studio 中查看单个文件的修改历史记录；
3、如何在 Visual Studio Code 中实时显示每行代码的提交历史记录；
plugin 之功
工欲善其事必先利其器，在使用 IDE 工具的时候找到适合自己的插件可以让你的工作事半功倍。
大家可以在 在 AS 中安装如下两个插件：

Git
Gi]]></description><category></category></item><item><title><![CDATA[微服务: Token 相关的重构]]></title><link>https://blog.youkuaiyun.com/AndroidBluetooth/article/details/112740259</link><guid>https://blog.youkuaiyun.com/AndroidBluetooth/article/details/112740259</guid><author>AndroidBluetooth</author><pubDate>Sun, 17 Jan 2021 13:27:36 +0800</pubDate><description><![CDATA[简介
在上一篇 微服务-Token的处理 中，写了一个 MSAuthTokenUtil 类，用来生成、刷新、校验 token，该类的方法都是 static 的。后续想了一下，还是将其改为普通的组件较好，在最新代码中对其做了两个较大的重构。
重构为组件
将其改名为 MSAuthTokenHelper，并将其中的所有 static 方法改为实例方法，用注解 @Component 修饰。
@Slf4j
@Component
public class MSAuthTokenHelper {
    ///....
]]></description><category></category></item><item><title><![CDATA[微服务: 集成 JWT]]></title><link>https://blog.youkuaiyun.com/AndroidBluetooth/article/details/112157633</link><guid>https://blog.youkuaiyun.com/AndroidBluetooth/article/details/112157633</guid><author>AndroidBluetooth</author><pubDate>Sun, 03 Jan 2021 21:49:51 +0800</pubDate><description><![CDATA[简介
在 Win10-安装-Redis 和 微服务-SpringBoot-集成-Redis 分别介绍了如何安装和使用 Redis，今天继续结合 Redis，聊聊 token 授权登录的事情。
今天聊的主角是 JWT，聊完 JWT 之后再结合实例实现用户 token 登录。
JWT 介绍
JWT，JSON Web Token 的缩写，基于 RFC 7519 标准。
下面内容来自 jwd.io，如下：
JSON Web Tokens are an open, industry standard RFC 7519]]></description><category></category></item><item><title><![CDATA[微服务: SpringBoot 集成 Redis]]></title><link>https://blog.youkuaiyun.com/AndroidBluetooth/article/details/110739090</link><guid>https://blog.youkuaiyun.com/AndroidBluetooth/article/details/110739090</guid><author>AndroidBluetooth</author><pubDate>Sun, 06 Dec 2020 15:27:39 +0800</pubDate><description><![CDATA[简介
忙碌了一周，感觉只有此刻写文字的时间才是最惬意的。最近工作比较忙，文章更新的较慢还望大家多多见谅????‍！
在阅读下面的内容之前，希望你已经安装并且做好了学习 Spring Boot 集成 Redis 的准备了。
如果你还没有搭建 Redis 环境，Win10-安装-Redis 这篇文章或许可以帮到您。
在 Spring Boot 1.x 版本中默认的 Redis 客户端是 Jedis 实现的，Spring Boot 2.x 版本中默认客户端是用 Lettuce 实现的。可以从加入的依赖包中看出，S]]></description><category></category></item><item><title><![CDATA[Windows 10 安装 Redis]]></title><link>https://blog.youkuaiyun.com/AndroidBluetooth/article/details/109705691</link><guid>https://blog.youkuaiyun.com/AndroidBluetooth/article/details/109705691</guid><author>AndroidBluetooth</author><pubDate>Sun, 15 Nov 2020 16:35:28 +0800</pubDate><description><![CDATA[简介
关于微服务相关的分享，我都是在 Windows 10 系统下实践的，所以跟 Spring Boot 配套的软件也是在此系统上面安装的。
今天跟大家介绍一下如何在 Win10 下安装 Redis，该篇是 Spring Boot 使用 Redis 的处女篇，下篇结合之前登录场景举例如何在 Spring Boot 中使用 Redis。
往期 Win10 下面安装 MySQL 的文章：MySQL8-0-15在Win10上的折腾记 推荐给有需要的伙伴。
安装 Redis
Step1：下载
下载 Windows ]]></description><category></category></item><item><title><![CDATA[微服务: 多 Module 管理工程]]></title><link>https://blog.youkuaiyun.com/AndroidBluetooth/article/details/108303932</link><guid>https://blog.youkuaiyun.com/AndroidBluetooth/article/details/108303932</guid><author>AndroidBluetooth</author><pubDate>Sun, 30 Aug 2020 10:55:19 +0800</pubDate><description><![CDATA[简介
在 微服务-想办法让项目运行起来 这篇文章中，介绍了如何使用 IDEA 开发工具搭建本地的微服务开发环境，通常我们会把一个微服务项目分解成多个服务，那么为了更好的管理该项目，大家一般都会在 IDE 里面通过多 Module 来进行管理。这里的多 Module 可以理解为多个 SpringBoot 项目。
近期收到一些小伙伴的反馈，在使用 IDEA 搭建多 Module 的时候总会遇到一些莫名其妙的问题，甚是让人烦恼。趁此机会给大家介绍一下。
下面的实践，使用的是 IntelliJ IDEA 2020.]]></description><category></category></item><item><title><![CDATA[微服务: ConfigurationProperties配置]]></title><link>https://blog.youkuaiyun.com/AndroidBluetooth/article/details/107753042</link><guid>https://blog.youkuaiyun.com/AndroidBluetooth/article/details/107753042</guid><author>AndroidBluetooth</author><pubDate>Sun, 02 Aug 2020 22:41:54 +0800</pubDate><description><![CDATA[简介
我们在开发的时候，可能会遇到这样的场景：

变量希望能够被在配置文件中动态配置，只要修改这些配置，对应的 Java 类对象的变量值就可以改变，从而改变代码的行为。这样我们通过修改配置就可以满足业务诉求，而不需要修改一行代码。

在 SpringBoot 中，可以通过 @ConfigurationProperties 和 @Values 两个注解配合 properties 文件达到上述目的。
比如我的 application.properties 文件配置如下：
# ------------------]]></description><category></category></item><item><title><![CDATA[ngrok 让服务近在咫尺]]></title><link>https://blog.youkuaiyun.com/AndroidBluetooth/article/details/107324086</link><guid>https://blog.youkuaiyun.com/AndroidBluetooth/article/details/107324086</guid><author>AndroidBluetooth</author><pubDate>Mon, 13 Jul 2020 20:06:07 +0800</pubDate><description><![CDATA[简介
最近在和一个第三方服务做联调，即我方服务调用第三方的服务 API-A，然后第三方把结果回调给我方服务 API-B，因为我是在本地搭建的 SpringBoot 服务，又涉及到频繁的改动，所以就没有部署到远程服务器上面。
API-A 回调到 API-B 需要我方服务能被外网访问，如是我就使用了 ngrok 这个工具进行了内网穿透，让第三方服务很容易的就访问到我的本地服务。

所谓的内网穿透，也即 NAT 穿透，进行 NAT 穿透是为了使具有某一个特定源 IP 地址和源端口号的数据包不被 NAT 设备屏蔽而]]></description><category></category></item><item><title><![CDATA[微服务-Android客户端: 实现注册和登录]]></title><link>https://blog.youkuaiyun.com/AndroidBluetooth/article/details/106874813</link><guid>https://blog.youkuaiyun.com/AndroidBluetooth/article/details/106874813</guid><author>AndroidBluetooth</author><pubDate>Sat, 20 Jun 2020 17:14:26 +0800</pubDate><description><![CDATA[简介
在 微服务项目系列文章 中跟大家一起学习了如何搭建、部署（本机和远程部署、热部署、Nginx等）、运行一个 SpringBoot 服务以及 MySQL 数据库的操作、文档（Swagger）的生成等操作，客户端采用浏览器的方式实现了用户注册、登录的流程。根据 微服务-立志做个伟大的项目 立下的【誓言】可以循序渐进的实现我们伟大的理想了，今天我们正式进入 Android 客户端的学习，希望对微服务、Android 开发感兴趣的同学有点帮助。
如果你对 Android 不了解，建议先学习 Google 官网]]></description><category></category></item></channel></rss>