自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

长江之水向西流

全栈工程师遇到的各种问题记录

  • 博客(26)
  • 资源 (2)
  • 收藏
  • 关注

原创 micro:bit案例1-倾斜开关

倾斜开关模块中带有一个金属球,你把它放到耳边摇晃一下,就可以听到小球滚动的声音,当模块水平放置时,小球在中间,当模块倾斜时,小球触碰到边缘的金属板,开关就会通电,从而输出低电平信号。micro:bit(v2)主板(

2023-01-15 20:13:59 727

原创 code.org免费的少儿编程入门平台

现在给大家推荐一个免费的网站,code.org,它是一个非营利组织创办的网站,目标是让每个学生都能像生物、化学和代数一样学习编程,而且每年会组织“编程一小时活动”,号称已经吸引了全世界学生的10%参加。前面菱形的1,及“线下活动”都是视频,可惜都是英文,暂时没有中文版,不过这不重要,我们可以跳过,直接开始课程,我们先点击“使用拖拽的序列”-“2”可以看到这个课程非常简单,如果小孩已经认识字,完全可以小孩自觉,如果小孩还不能认识全这些字,爸爸妈妈也可以很轻松的引导。这里,我选择了课程B。

2023-01-15 17:43:46 28432

原创 micro:bit是什么?小学生拿着它就能召唤神龙?

BBC希望micro:bit可以作为编程基础学习的跳板,让学生掌握编程知识后可以进一步使用更复杂的设备,例如Arduino、Raspberry Pi(树莓派)等,所以说micro:bit并非取代Arduino和Raspberry Pi(树莓派),反而是Arduino的基础延伸。micro:bit很小,只有卡片大小(5cm X 4cm),但板载的电子模块还是非常丰富的:5x5 LED显示屏,两颗可编程按键,加速度计,电子罗盘,温度光线传感器,低功耗蓝牙等。学会了这些,再发挥你的想象力,就可以召唤神龙了。

2023-01-13 17:45:59 2249

原创 Mybatis+自定义注解,优雅的实现条件查询

使用自定义注解来代替一行一行的Mybatis查询代码

2022-12-20 19:06:08 2360 1

原创 MySQL使用GROUP_CONTACT和JSON_OBJECT代替烦人的子查询

使用GROUP_CONTACT和JSON_OBJECT把角色列表的数据封装成一个json数组,再使用TypeHandler解析成一个List。

2022-11-28 17:36:37 1417

原创 基于maven的kotlin+springboot实例

1. 新建工程这里以IDEA为例,File-->New-->Project 选择maven工程,输入一个工程名称,例如“springkotlin”2. 创建kotlin文件夹在src/main下创建一个kotlin文件夹,选中这个文件夹,右键--> Mark Directory As --> Source Root在src/test下创建一个kotlin文件夹,选中这个文件夹,右键--> Mark Directory As--> Test Source .

2021-04-07 11:28:27 926 1

原创 推荐一款Kubernetes可视化管理工具——Kuboard

现在主要的kubernetes可视化工具主要有:1. Kubernetes Dashborad: Kubernetes 官方提供的图形化工具2. Rancher: 目前比较主流的企业级kubernetes可视化管理工具3. 各个云厂商Kubernetes集成的管理器4. Kuboard: 国产开源Kubernetes可视化管理工具之前使用过 Rancher 和 Kube Dashboard最近接触到Kuboard在使用过这三者之后,我还是重点推荐Kuboard,特别是对于k.

2020-07-21 11:15:10 10229 1

原创 java简单的二进制位操作,取位数据,设置位数据

1.取高位的数据例如一个字节 byte b=0xE7; 二进制为 11100111; 要取出高三位 即“111”再转成int ,取为7;/** * 取一个字节的高几位bit * @param b * @param length * @return */ public static int getLeftNum(byte b,int length) { ret...

2018-10-27 14:49:11 5817

原创 ios-NSURL URLWithString:relativeToURL的坑

先说前提我的app需要调用服务端的api,api的baseurl为“https://api.mydomain.com/api”(举个例子而已)某个具体接口的路径是 “/user/getInfo”,完整的路径就是 https://api.mydomain.com/api/user/getInfoso,我的代码是NSURL *baseURL = [NSURL URLWithStri...

2018-09-19 12:34:02 2807 1

原创 logback每天生成日志失败,TimeBasedRollingPolicy和SizeBasedTriggeringPolicy冲突

之前都是用log4j打印日志,而logback因为性能和功能性的优势,取代log4j也是一个大趋势,新项目中开始使用logback记录日志,我们的需求是每天生成一个或多少日志,每个日志文件最大100M配置如下:<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> ...

2018-09-16 11:48:23 17712 3

原创 springBoot-性能优化-异步响应

业务开发中,有很多场景会有比较耗时的操作比如需要调用第三方接口查询数据、发邮件等都有可能需要1秒以上的时间如果按照传统的方式处理,即是线程阻塞1秒以上的时间去等待结果,再把结果返回给用户而且处理请求的线程池中线程数总是有限的,如果线程都阻塞在等待中,后续的请求只能排队等候这也就影响到了服务器的并发处理能力为了让请求的线程尽早的释放出来,就需要使用异步方式处理耗时的请求简...

2018-08-17 18:09:25 4063

原创 SpringBoot用WebSocket(Stomp)实现单点连接

WebSocket在聊天室和在线游戏,以及对数据实时性要求高的Web页面中都有应用怎么通过SpringBoot创建WebSocket服务的文章很多,类似于单点登录,一个账号只能在一个地方登录,我们的长连接也经常会需要限制一个用户只能保持一个长连接这里就讲一下实现单点连接的一种思路/** * WebSocket 配置类 */@Configuration@EnableWebS...

2018-08-06 19:36:37 1636 2

原创 nginx转发到tomcat不能获取客户端ip的解决方法

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...

2018-04-13 02:13:06 1582

原创 微信小程序开发-textarea高度问题

正在做一个记事本的小程序记事自然少不了textarea组件编辑页面我的设计是上面一行标题栏,下面一行按钮操作区,中间就是textarea填充剩余空间效果如下图使用flex布局很容易就做到上述效果,一个container包含一个竖直排列的三个view中间的view放textarea<!--index.wxml--><form bindsubmit="onSubmit" bind...

2018-04-05 18:03:09 34829 2

原创 微信小程序开发-保存服务端sessionid的方法

普通的Web开发,都是把sessionid保存在cookie中传递的。不管是java还是php,服务端的会在response的header中加上Set-CookieResponse HeadersContent-Type:application/json;charset=UTF-8Date:Mon, 02 Apr 2018 16:02:42 GMTSet-Cookie:JSESSIONID=...

2018-04-03 00:33:16 7337

原创 SpringBoot+Groovy使用外部tomcat实例

Spring boot 使用默认的jar形式非常方便,照着官网的QuickStart就可以跑起来。真正做到了零配置。 因为Spring boot集成了tomcat,所以,创建一个sprint boot工程不需要另外部署至tomcat下。 但目前大多数情况是,公司已经有其它项目都在一个tomcat下运行,新建的项目自然也需要部署到该tomcat下。 下面就以Spring boot 1.5.3+G

2017-06-06 23:26:14 2239

原创 Elasticsearch安装步骤及问题记录

下载地址https://www.elastic.co/downloads 在这里下载Elasticsearch 和 Kibana安装及配置下载好压缩包后,解压即可以使用,具体步骤如下 1. 解压Elasticsearch包,进入解压后的文件夹,run bin/elasticsearch 2. 用浏览器打开链接 http://localhost:9200/?pretty ,看到如下信息,则安装成

2016-12-27 17:51:58 542

原创 用Nutch2.3+MongoDB+Elasticsearch1.4开发垂直搜索引擎

Nutch下载上nutch官网下载页面下载最新的代码包 http://nutch.apache.org/downloads.html 下载并解压后,得到如下文件夹 Elasticsearch1.4下载最新的Elasticsearch是5.1版本,但由于Nutch2.3内置的是Elasticsearch1.4.1的连接客户端,所以还是需要安装Elasticsearch1.4 下载地址 http

2016-12-23 20:58:57 2342

原创 React-Native 开发问题记录

执行react-native init 慢 npm官方的源不稳定,我们可以使用国内淘宝的源http://registry.npm.taobao.org/ 具体命令如下: npm config set registry=http://registry.npm.taobao.org/react-native-image-crop-picker 此插件可以支持多图片选择,也可支持图片裁剪,比re

2016-11-02 11:47:49 889

原创 spring事务传播行为和隔离级别

事务是逻辑处理原子性的保证手段,通过使用事务控制,可以极大的避免出现逻辑处理失败导致的脏数据等问题。 事务最重要的两个特性,是事务的传播级别和数据隔离级别。传播级别定义的是事务的控制范围,事务隔离级别定义的是事务在数据库读写方面的控制范围。事务的七种传播行为:PROPAGATION_REQUIRED 默认的spring事务传播级别,使用该级别的特点是,如果上下文中已经存在事务,那么就加入到事

2015-03-25 15:50:44 787

原创 JVM内存结构

java内存主要分为两个区域: 1.堆(Heap) Java 虚拟机具有一个堆,堆是运行时数据区域,所有类实例和数组的内存均从此处分配。堆是在 Java 虚拟机启动时创建的。 简单来说堆就是Java代码可及的内存,是留给开发人员使用的2.非堆(Non-Heap) 在JVM中堆之外的内存称为非堆内存 包括PC寄存器、方法栈、方法区、本地方法栈非堆(Non-Heap)PC寄

2015-03-19 17:59:46 475

原创 java复制文件FileInputStream BufferedFileInputStream Paths Files

1. 使用FileInputStream FileOutputSream 复制文件 private String basePath="/Users/luojian/Documents/"; public void copyWithFileInputStream(){ long begin=System.currentTimeMillis(); FileInputStream fis=

2015-01-25 21:58:01 695

原创 console.log(123.toString())异常

console.log(123.toString())会报错SyntaxError: Unexpected token ILLEGAL而console.log(123..toString())则不会报错,能正常打印出123这是因为123.toString()会把这个点当作浮点数的小数点来编译小数点后面出现非数字,自然就报错了所以123.toString()  相当于 1

2014-03-25 23:07:20 1518

原创 nodejs正确使用回调函数

由于nodejs异步的工作机制,所以经常会用到回调函数但初学nodejs也很容易错误的使用回调最常见的就是没有异步的回调function foo(data,callback){ console.log(data); if(data=='data'){//如果参数等于data则回传0 console.log("do something"); callback(0);

2013-08-22 17:19:05 6317

原创 注意javascript变量声明提升的陷阱

变量声明提升(hoisting)的概念不太容易描述清楚先看段代码var g="global";//全局变量function foo(){ console.log(g);//想要的预期结果global,而实际上结果是 undefined var g="local"; console.log(g);//结果为 local}foo();可以看到第一次显示g的时候,没有按我们的预期

2013-08-15 16:24:03 800

原创 javascript 单例模式

javascript实现单例模式有很多种方法一、使用全局变量保存单例这是最简单的实现方法function Person(){ this.createTime=new Date(); }var instance=new Person();function getInstance(){ return instance;}加载该js时就创建一个Person对象,保存到instan

2013-08-14 17:34:07 1990

RabbitMQ离线安装包,包含依赖的erlang socat

复制到centos7服务器上,进入文件夹,并执行下列命令: sudo rpm -ivh erlang-22.0.4-1.el6.x86_64.rpm sudo rpm -ivh socat-1.7.3.2-2.el7.x86_64.rpm sudo rpm -ivh rabbitmq-server-3.7.15-1.el7.noarch.rpm

2019-06-25

sublime window 64位 破解版

sublime window 64位 破解版, 第一步安装:sublime软件 双击:Sublime Text Build 3083 x64 Setup.exe 第二步:打开文件路径: C:\Users\你的用户名\AppData\Roaming\Sublime Text 3 第三步:把 "插件环境.zip" 解压到 上面的路径中。 第四步: 打开sublime,enjoy it

2018-06-20

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除