<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[长江之水向西流]]></title><description><![CDATA[全栈工程师遇到的各种问题记录]]></description><link>https://blog.csdn.net/bluestarjava</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; bluestarjava]]></copyright><item><title><![CDATA[micro:bit案例1-倾斜开关]]></title><link>https://blog.csdn.net/bluestarjava/article/details/128697289</link><guid>https://blog.csdn.net/bluestarjava/article/details/128697289</guid><author>bluestarjava</author><pubDate>Sun, 15 Jan 2023 20:13:59 +0800</pubDate><description><![CDATA[倾斜开关模块中带有一个金属球，你把它放到耳边摇晃一下，就可以听到小球滚动的声音，当模块水平放置时，小球在中间，当模块倾斜时，小球触碰到边缘的金属板，开关就会通电，从而输出低电平信号。micro:bit(v2)主板（]]></description><category></category></item><item><title><![CDATA[code.org免费的少儿编程入门平台]]></title><link>https://blog.csdn.net/bluestarjava/article/details/128695360</link><guid>https://blog.csdn.net/bluestarjava/article/details/128695360</guid><author>bluestarjava</author><pubDate>Sun, 15 Jan 2023 17:43:46 +0800</pubDate><description><![CDATA[现在给大家推荐一个免费的网站，code.org，它是一个非营利组织创办的网站，目标是让每个学生都能像生物、化学和代数一样学习编程，而且每年会组织“编程一小时活动”，号称已经吸引了全世界学生的10%参加。前面菱形的1，及“线下活动”都是视频，可惜都是英文，暂时没有中文版，不过这不重要，我们可以跳过，直接开始课程，我们先点击“使用拖拽的序列”-“2”可以看到这个课程非常简单，如果小孩已经认识字，完全可以小孩自觉，如果小孩还不能认识全这些字，爸爸妈妈也可以很轻松的引导。这里，我选择了课程B。]]></description><category></category></item><item><title><![CDATA[micro:bit是什么？小学生拿着它就能召唤神龙？]]></title><link>https://blog.csdn.net/bluestarjava/article/details/128677637</link><guid>https://blog.csdn.net/bluestarjava/article/details/128677637</guid><author>bluestarjava</author><pubDate>Fri, 13 Jan 2023 17:45:59 +0800</pubDate><description><![CDATA[BBC希望micro:bit可以作为编程基础学习的跳板，让学生掌握编程知识后可以进一步使用更复杂的设备，例如Arduino、Raspberry Pi（树莓派）等，所以说micro:bit并非取代Arduino和Raspberry Pi（树莓派），反而是Arduino的基础延伸。micro:bit很小，只有卡片大小（5cm X 4cm），但板载的电子模块还是非常丰富的：5x5 LED显示屏，两颗可编程按键，加速度计，电子罗盘，温度光线传感器，低功耗蓝牙等。学会了这些，再发挥你的想象力，就可以召唤神龙了。]]></description><category></category></item><item><title><![CDATA[Mybatis+自定义注解，优雅的实现条件查询]]></title><link>https://blog.csdn.net/bluestarjava/article/details/128388964</link><guid>https://blog.csdn.net/bluestarjava/article/details/128388964</guid><author>bluestarjava</author><pubDate>Tue, 20 Dec 2022 19:06:08 +0800</pubDate><description><![CDATA[使用自定义注解来代替一行一行的Mybatis查询代码]]></description><category></category></item><item><title><![CDATA[MySQL使用GROUP_CONTACT和JSON_OBJECT代替烦人的子查询]]></title><link>https://blog.csdn.net/bluestarjava/article/details/128083609</link><guid>https://blog.csdn.net/bluestarjava/article/details/128083609</guid><author>bluestarjava</author><pubDate>Mon, 28 Nov 2022 17:36:37 +0800</pubDate><description><![CDATA[使用GROUP_CONTACT和JSON_OBJECT把角色列表的数据封装成一个json数组，再使用TypeHandler解析成一个List。]]></description><category></category></item><item><title><![CDATA[基于maven的kotlin+springboot实例]]></title><link>https://blog.csdn.net/bluestarjava/article/details/115480979</link><guid>https://blog.csdn.net/bluestarjava/article/details/115480979</guid><author>bluestarjava</author><pubDate>Wed, 07 Apr 2021 11:28:27 +0800</pubDate><description><![CDATA[1. 新建工程

这里以IDEA为例，File--&gt;New--&gt;Project 选择maven工程，输入一个工程名称，例如“springkotlin”

2. 创建kotlin文件夹

在src/main下创建一个kotlin文件夹，选中这个文件夹，右键--&gt; Mark Directory As --&gt; Source Root

在src/test下创建一个kotlin文件夹，选中这个文件夹，右键--&gt; Mark Directory As--&gt; Test Source .]]></description><category></category></item><item><title><![CDATA[推荐一款Kubernetes可视化管理工具——Kuboard]]></title><link>https://blog.csdn.net/bluestarjava/article/details/107442954</link><guid>https://blog.csdn.net/bluestarjava/article/details/107442954</guid><author>bluestarjava</author><pubDate>Tue, 21 Jul 2020 11:15:10 +0800</pubDate><description><![CDATA[现在主要的kubernetes可视化工具主要有：

1. Kubernetes Dashborad: Kubernetes 官方提供的图形化工具

2. Rancher: 目前比较主流的企业级kubernetes可视化管理工具

3. 各个云厂商Kubernetes集成的管理器

4. Kuboard: 国产开源Kubernetes可视化管理工具



之前使用过 Rancher 和 Kube Dashboard

最近接触到Kuboard

在使用过这三者之后，我还是重点推荐Kuboard，特别是对于k.]]></description><category></category></item><item><title><![CDATA[java简单的二进制位操作，取位数据，设置位数据]]></title><link>https://blog.csdn.net/bluestarjava/article/details/83446129</link><guid>https://blog.csdn.net/bluestarjava/article/details/83446129</guid><author>bluestarjava</author><pubDate>Sat, 27 Oct 2018 14:49:11 +0800</pubDate><description><![CDATA[1.取高位的数据

例如一个字节 byte b=0xE7; 二进制为 11100111; 

要取出高三位 即“111”再转成int ，取为7;


/**
	 * 取一个字节的高几位bit
	 * @param b
	 * @param length
	 * @return
	 */
	public static int getLeftNum(byte b,int length) {
		ret...]]></description><category></category></item><item><title><![CDATA[ios-NSURL URLWithString:relativeToURL的坑]]></title><link>https://blog.csdn.net/bluestarjava/article/details/82770396</link><guid>https://blog.csdn.net/bluestarjava/article/details/82770396</guid><author>bluestarjava</author><pubDate>Wed, 19 Sep 2018 12:34:02 +0800</pubDate><description><![CDATA[先说前提

我的app需要调用服务端的api，api的baseurl为“https://api.mydomain.com/api”（举个例子而已）

某个具体接口的路径是 “/user/getInfo”，

完整的路径就是 https://api.mydomain.com/api/user/getInfo
so,我的代码是


NSURL *baseURL = [NSURL URLWithStri...]]></description><category></category></item><item><title><![CDATA[logback每天生成日志失败，TimeBasedRollingPolicy和SizeBasedTriggeringPolicy冲突]]></title><link>https://blog.csdn.net/bluestarjava/article/details/82722033</link><guid>https://blog.csdn.net/bluestarjava/article/details/82722033</guid><author>bluestarjava</author><pubDate>Sun, 16 Sep 2018 11:48:23 +0800</pubDate><description><![CDATA[之前都是用log4j打印日志，而logback因为性能和功能性的优势，取代log4j也是一个大趋势，新项目中开始使用logback记录日志，我们的需求是每天生成一个或多少日志，每个日志文件最大100M

配置如下：


&amp;lt;appender name=&quot;FILE&quot;  class=&quot;ch.qos.logback.core.rolling.RollingFileAppender&quot;&amp;gt;
    ...]]></description><category></category></item><item><title><![CDATA[springBoot-性能优化-异步响应]]></title><link>https://blog.csdn.net/bluestarjava/article/details/81772587</link><guid>https://blog.csdn.net/bluestarjava/article/details/81772587</guid><author>bluestarjava</author><pubDate>Fri, 17 Aug 2018 18:09:25 +0800</pubDate><description><![CDATA[业务开发中，有很多场景会有比较耗时的操作

比如需要调用第三方接口查询数据、发邮件等

都有可能需要1秒以上的时间

如果按照传统的方式处理，即是线程阻塞1秒以上的时间去等待结果，再把结果返回给用户

而且处理请求的线程池中线程数总是有限的，如果线程都阻塞在等待中，后续的请求只能排队等候

这也就影响到了服务器的并发处理能力

为了让请求的线程尽早的释放出来，就需要使用异步方式处理耗时的请求

简...]]></description><category></category></item><item><title><![CDATA[SpringBoot用WebSocket(Stomp)实现单点连接]]></title><link>https://blog.csdn.net/bluestarjava/article/details/81459676</link><guid>https://blog.csdn.net/bluestarjava/article/details/81459676</guid><author>bluestarjava</author><pubDate>Mon, 06 Aug 2018 19:36:37 +0800</pubDate><description><![CDATA[WebSocket在聊天室和在线游戏，以及对数据实时性要求高的Web页面中都有应用

怎么通过SpringBoot创建WebSocket服务的文章很多，

类似于单点登录，一个账号只能在一个地方登录，我们的长连接也经常会需要限制一个用户只能保持一个长连接

这里就讲一下实现单点连接的一种思路


/**
 * WebSocket 配置类
 */
@Configuration
@EnableWebS...]]></description><category></category></item><item><title><![CDATA[nginx转发到tomcat不能获取客户端ip的解决方法]]></title><link>https://blog.csdn.net/bluestarjava/article/details/79922569</link><guid>https://blog.csdn.net/bluestarjava/article/details/79922569</guid><author>bluestarjava</author><pubDate>Fri, 13 Apr 2018 02:13:06 +0800</pubDate><description><![CDATA[nginx转发时，客户端的信息默认是不会传递给tomcat的需要在nginx.conf中配置location / {
    proxy_pass http://localhost:8080;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarde...]]></description><category></category></item><item><title><![CDATA[微信小程序开发-textarea高度问题]]></title><link>https://blog.csdn.net/bluestarjava/article/details/79827687</link><guid>https://blog.csdn.net/bluestarjava/article/details/79827687</guid><author>bluestarjava</author><pubDate>Thu, 05 Apr 2018 18:03:09 +0800</pubDate><description><![CDATA[正在做一个记事本的小程序记事自然少不了textarea组件编辑页面我的设计是上面一行标题栏，下面一行按钮操作区，中间就是textarea填充剩余空间效果如下图使用flex布局很容易就做到上述效果，一个container包含一个竖直排列的三个view中间的view放textarea&amp;lt;!--index.wxml--&amp;gt;
&amp;lt;form  bindsubmit=&quot;onSubmit&quot; bind...]]></description><category></category></item><item><title><![CDATA[微信小程序开发-保存服务端sessionid的方法]]></title><link>https://blog.csdn.net/bluestarjava/article/details/79797287</link><guid>https://blog.csdn.net/bluestarjava/article/details/79797287</guid><author>bluestarjava</author><pubDate>Tue, 03 Apr 2018 00:33:16 +0800</pubDate><description><![CDATA[普通的Web开发，都是把sessionid保存在cookie中传递的。不管是java还是php，服务端的会在response的header中加上Set-CookieResponse Headers
Content-Type:application/json;charset=UTF-8
Date:Mon, 02 Apr 2018 16:02:42 GMT
Set-Cookie:JSESSIONID=...]]></description><category></category></item><item><title><![CDATA[SpringBoot+Groovy使用外部tomcat实例]]></title><link>https://blog.csdn.net/bluestarjava/article/details/72891726</link><guid>https://blog.csdn.net/bluestarjava/article/details/72891726</guid><author>bluestarjava</author><pubDate>Tue, 06 Jun 2017 23:26:14 +0800</pubDate><description><![CDATA[Spring boot 使用默认的jar形式非常方便，照着官网的QuickStart就可以跑起来。真正做到了零配置。 
因为Spring boot集成了tomcat，所以，创建一个sprint boot工程不需要另外部署至tomcat下。 
但目前大多数情况是，公司已经有其它项目都在一个tomcat下运行，新建的项目自然也需要部署到该tomcat下。 
下面就以Spring boot 1.5.3+G]]></description><category></category></item><item><title><![CDATA[Elasticsearch安装步骤及问题记录]]></title><link>https://blog.csdn.net/bluestarjava/article/details/53897665</link><guid>https://blog.csdn.net/bluestarjava/article/details/53897665</guid><author>bluestarjava</author><pubDate>Tue, 27 Dec 2016 17:51:58 +0800</pubDate><description><![CDATA[下载地址https://www.elastic.co/downloads 
在这里下载Elasticsearch 和 Kibana安装及配置下载好压缩包后，解压即可以使用，具体步骤如下 
1. 解压Elasticsearch包，进入解压后的文件夹，run bin/elasticsearch 
2. 用浏览器打开链接 http://localhost:9200/?pretty ，看到如下信息，则安装成]]></description><category></category></item><item><title><![CDATA[用Nutch2.3+MongoDB+Elasticsearch1.4开发垂直搜索引擎]]></title><link>https://blog.csdn.net/bluestarjava/article/details/53843857</link><guid>https://blog.csdn.net/bluestarjava/article/details/53843857</guid><author>bluestarjava</author><pubDate>Fri, 23 Dec 2016 20:58:57 +0800</pubDate><description><![CDATA[Nutch下载上nutch官网下载页面下载最新的代码包 
http://nutch.apache.org/downloads.html 
下载并解压后，得到如下文件夹 
Elasticsearch1.4下载最新的Elasticsearch是5.1版本，但由于Nutch2.3内置的是Elasticsearch1.4.1的连接客户端，所以还是需要安装Elasticsearch1.4 
下载地址 http]]></description><category></category></item><item><title><![CDATA[React-Native 开发问题记录]]></title><link>https://blog.csdn.net/bluestarjava/article/details/53005796</link><guid>https://blog.csdn.net/bluestarjava/article/details/53005796</guid><author>bluestarjava</author><pubDate>Wed, 02 Nov 2016 11:47:49 +0800</pubDate><description><![CDATA[执行react-native init 慢 
npm官方的源不稳定，我们可以使用国内淘宝的源http://registry.npm.taobao.org/ 
具体命令如下： 
npm config set registry=http://registry.npm.taobao.org/
react-native-image-crop-picker 
此插件可以支持多图片选择，也可支持图片裁剪，比re]]></description><category></category></item><item><title><![CDATA[spring事务传播行为和隔离级别]]></title><link>https://blog.csdn.net/bluestarjava/article/details/44622189</link><guid>https://blog.csdn.net/bluestarjava/article/details/44622189</guid><author>bluestarjava</author><pubDate>Wed, 25 Mar 2015 15:50:44 +0800</pubDate><description><![CDATA[事务是逻辑处理原子性的保证手段，通过使用事务控制，可以极大的避免出现逻辑处理失败导致的脏数据等问题。 
事务最重要的两个特性，是事务的传播级别和数据隔离级别。传播级别定义的是事务的控制范围，事务隔离级别定义的是事务在数据库读写方面的控制范围。事务的七种传播行为：
PROPAGATION_REQUIRED
  默认的spring事务传播级别，使用该级别的特点是，如果上下文中已经存在事务，那么就加入到事]]></description><category></category></item></channel></rss>