- 博客(112)
- 收藏
- 关注
原创 JAVAONE 2016大会的所见所感
有幸获得阿里赞助,前去旧金山参加Oracle举办的JAVAONE 2016开发者大会,JAVAONE作为java界最顶级的盛会,会议内容将展现出数千万开发者最关心的问题,以及java的未来发展方向。大会有很多的会场,参会者可以根据自己的喜好选择不同的会场进行参会,大会共持续5天,每天都有数十场会议。下面将以自己的关注点,讲述本次大会的几大核心内容。一、微服务本次大会,不少分会场都涉及了微服
2016-10-07 19:18:13 4128 3
转载 批量删除docker容器和镜像
【场景】在学习docker的时候,经常会编译docker镜像,很多都是基于上一个Dockerfile修改编译而来,因此出现了很多REPOSITORY 和 TAG 为 none 的镜像。每次 docker images 查看镜像,都会列出一长串,有的时候一屏还展示不全,所以就想要删除某些镜像。但是一个一个删又很费时,那就只有批量删除了。$ docker imagesREPOSITORY TAG IMAGE ID ..
2021-07-26 22:23:19 604
转载 proxy_pass根据path路径转发时的“/“问题记录
这里写自定义目录标题SSL log filesSSL cert filesSSL log filesSSL cert filesSSL log filesSSL cert files注意:由于从浏览器访问(http)到源站的real server之间要经过Nginx反向代理层(https)需要将proxy_set_header X-Forwarded-Proto https;这一行注释掉,否则上面的配置无效。如果中间没有代理层,直接是在real server本机进行nginx的反向代理(即本机ngin
2021-05-31 19:14:05 851
原创 k8s更新服务的几种方式
1.如果镜像、副本数等配置有更新,则直接使用如下命令即可滚动更新:kubectl apply -f xxx.yaml2.也可以直接编辑,编辑完后也会直接更新服务:kubectl edit deploy xxxx(deployment的名称)3.在某些情况下,你可能需要更新某些初始化后无法更新的资源字段,使用如下命令来强制更新:kubectl replace -f xxx.yaml总结:apply与replace的区别:不同之处在于replace首先删除资源,然后从您提供的文件
2021-05-23 20:56:17 6928
原创 uwsgi部署flask服务
这里写自定义目录标题背景介绍概念uwsgi配置启动重启停止参考背景介绍flask是单进程的服务,在真正生产环境中使用uwsgi进行服务部署,这样可以支持高并发服务。概念在部署之前,我们得先了解几个概念wsgi web应用程序之间的接口。它的作用就像是桥梁,连接在web服务器和web应用框架之间。uwsgi 是一种传输协议,用于定义传输信息的类型。uWSGI 是实现了uwsgi协议WSGI的web服务器。uwsgi配置[uwsgi]#服务端口号http = :8080#项目路径chd
2021-03-13 20:44:23 2973 2
原创 spark如何将数据写入mongo
业务中的数据库使用的mongo,离线使用spark计算的每天统计指标需要累加到历史指标中,然后将结果写到mongo库中。如果mongo库中已经有这条记录则覆盖,mongo库中没有此记录则为新增。官方文档:https://docs.mongodb.com/spark-connector/master/java/write-to-mongodb/根据此文档进行RDD写入,只会覆盖原有数据,不符合需求。Mongo Spark Connector不支持更新RDD,只有Dataset的数据形式..
2020-06-23 00:07:59 3500
原创 springboot学习总结
文章目录springboot学习总结springboot流程图springboot学习总结springboot流程图
2020-05-30 19:31:52 381
转载 Mac 配置多个ssh-key
应用场景我们经常将代码托管到github、gitlab这样的网站上。为了避免每次push代码时都要输入用户名和密码,通常会选择使用ssh协议,将公钥保存到托管网站上。在实际开发中,往往要将代码托管到多个不同的网站上。比如,公司的代码需要托管到coding上,自己的开源代码托管到GitHub上,私有代码托管到gitlab上等等,每个托管网站都对应一个git账户。默认情况下,一台电脑的Git只对应...
2020-04-25 22:16:55 1681
原创 hash值不均匀的情况排查
使用uuid产生字符串,然后用hash值取余100,结果小于50和大于50的比例并不是1:1,而是3:1原因是因为,hash值产生了负数,结果区间是-100~100之间;究其原因:是因为有些uuid的hash值超过了int的最大取值范围,导致数据溢出,产生了负数:int型的值取值范围为Integer.MIN_VALUE(-2147483648)~Integer.MAX_VALUE(21...
2020-04-15 21:14:41 2391
原创 修改 git 历史提交 commit 信息
git log查看历史提交记录如果只修改最新一条提交信息的 log 内容,直接使用命令git commit --amend就可以完成修改 如果修改更早历史的: 修改近3次的信息:git rebase -i HEAD~3 进入到vim编辑模式,将要修改的那一条的pick改成edit,然后wq退出 执行git commit --amend 如果是修改提交者信息则:git com...
2020-04-14 21:19:23 520
原创 flink无法消费kafka消息的一次问题记录
flink无法消费kafka的消息,本地开发时也没有错误信息打印,后来排查到注掉addsink()后就可以消费到消息;继续排查发现是写入hbase的配置中,由于地址无法连通导致的。...
2020-03-15 00:51:48 4246
原创 FeignClient访问第三方地址
FeignClient不仅可以访问微服务之间的地址,还可以访问外部地址;以接口的形式进行调用,大大简化了调用过程;参考如下:https://blog.csdn.net/qq_21084687/article/details/95964803?utm_source=distribute.pc_relevant.none-taskhttps://blog.csdn.net/tuhooo/artic...
2020-02-20 09:34:16 2296
原创 HBase: apache.zookeeper.KeeperException$NoNodeException: KeeperErrorCode = NoNode for /hbase/hbaseid
今天在将flink计算结果写入hbase时,报以下错误:java.util.concurrent.ExecutionException: org.apache.hadoop.hbase.shaded.org.apache.zookeeper.KeeperException$NoNodeException: KeeperErrorCode = NoNode for /hbase/hbaseid...
2020-01-12 22:41:02 6262 1
原创 Spring JPA 实现slecet count(*) group by
@Repositorypublic interface AAARepository extends JpaRepository<LoginLog, Long>, QuerydslPredicateExecutor {@Query("select new com.xxx.AAA(b.account,count(*)) from BBB b where b.createdDate BE...
2019-12-09 09:01:41 6265
原创 cv2.imread, skimage.io.imread和keras.preprocessing.image.load_img的区别与转换
这里写自定义目录标题区别转换............区别from keras.preprocessing import imageimg = image.load_img(img_path)img = image.img_to_array(img_path) # R,G,B–import cv2 as cvimg_cv = cv.imread(img_path) #b,g,r–...
2019-10-20 23:02:26 2079 1
原创 shell脚本将目录下的所有软链接进行批量替换
#!/bin/bashstrB='parcel-repo'for FILE in /etc/alternatives/*do #echo $FILE #echo $(ls -l $FILE | awk '{print $11}') target_file=$(ls -l $FILE | awk '{print $11}') #echo $target_file...
2019-09-04 19:50:45 2253 1
原创 LINUX下iptables配置详解
如果你的IPTABLES基础知识还不了解,建议先去看看.开始配置我们来配置一个filter表的防火墙.(1)查看本机关于IPTABLES的设置情况[root@tp ~]# iptables -L -nChain INPUT (policy ACCEPT)target prot opt source destination...
2019-07-01 16:28:08 740
原创 docker实践
一、docker安装略二、docker制作新建一个文件夹,名字随便取,下面的流程都是在这个文件夹下进行的操作。1.编写代码,构建一个简单的web服务器2.创建requirements.txt 文件,里面是要安装的软件包3.创建Dockerfile文件,里面是构建镜像的整个流程4.运行docker5.进入你的docker容器三、上传至docker hub1.注册账号登陆http...
2018-10-16 14:13:43 446
原创 天池-阿里巴巴全球调度大赛总结
目录初赛赛题介绍赛题分析赛题求解复赛赛题介绍赛题分析赛题求解总结前段时间在工作之余参加了阿里巴巴全球调度大赛,打了酱油,复赛成绩最终29名。现在结合参赛过程,以及最终进入决赛成员的分享,总结这篇文章。大赛地址:https://tianchi.aliyun.com/competition/introduction.htm?spm=5176.100066.0.0.23fc33af172p0h&amp...
2018-10-15 12:57:27 2094 1
原创 强化学习入门总结
目录一、强化学习概述1.强化学习简介2.发展历程:3.MDP(马儿可夫决策过程)4.why RL?5.总结:二、强化学习求解方法1.动态规划方法2.蒙特卡洛方法3.时间差分方法三、强化学习算法分类1.分类一:2.分类二:3.分类三:4.分类四:四、代表性算法1.Q-learning2.Sarsa:3.大名鼎鼎的DQN4...
2018-10-13 14:29:06 148570 6
原创 使用mongodb的findAndModify命令来进行数据同步
一、问题定义:由于业务需求,需要实现给一条记录分配一个int值的不重复id,由于是多实例部署的服务,所以如何进行数据同步,避免插入重复id成为关键。二、解决过程:1.一开始想到的是,当系统初始化的时候,读取mongo库,找到当前最大的id值,加载到内存,然后多线程之间通过AtomicInteger进行调用,获取下一个要使用的id值。这样,虽然单实例可以很好的工作,并发也没有
2017-11-22 19:14:57 13291
转载 使用pandas进行数据清洗
【转载】使用pandas进行数据清洗目录:数据表中的重复值duplicated()drop_duplicated()数据表中的空值/缺失值isnull()¬null()dropna()fillna()数据间的空格查看数据中的空格去除数据中的空格大小写转换数据中的异常和极端值replace()更改数据格式astype(
2017-11-09 19:01:26 3006
翻译 如何将时间序列预测问题转换为python中的监督学习问题
原文:《How to Convert a Time Series to a Supervised Learning Problem in Python》一、前言像深度学习这样的机器学习方法可以用于时间序列预测。在可以使用机器学习之前,时间序列预测问题必须重新构建成监督学习问题,从一个单纯的序列变成一对序列输入和输出。在本教程中,您将了解如何将单变量和多变量时间序列预测问题转换为
2017-11-05 21:24:45 5331 2
原创 python总结
1.python运算:python 2.7: 3/2=1 3//2=1python 3+: 3/2=1.5 3//2=12.求解类型type(x)3.字符串单引号、双引号、三引号的区别:单引号:转义字符不会生效双引号:转义字符会生效三引号:忽略中间所有的换行符4.帮助dir:列出命令 dir(str) dir(int)hel
2017-11-02 23:51:50 332
原创 mac上安装xgboost报错
使用pip命令在mac上安装xgboost报错:pip install xgboost结果如下:Command "python setup.py egg_info" failed with error code 1 in /private/var/folders/6c/jxn8_0cd63bd4db6h58z031msk7pn1/T/pip-build-f8_mJP/xgboost/
2017-10-30 00:27:29 1115
原创 git add, commit, push如何撤销
一、新建项目,第一次操作失误如何回退:1.git add 撤销git rm -r --cached .2.git commit 撤销git update-ref -d HEAD或者更简洁的方式,就是git init,然后重新提交二、不是第一次提交,如何回退:1.git add 撤销git reset HEAD 如果后面什么都不跟的话 就是
2017-09-18 15:24:01 1392
原创 XXX.properties用git无法提交
今天突然发现,几个月前传到github上的demo被留言说是缺少配置文件,结果仔细一看确实没有配置文件,当我重新拷贝配置文件打算提交的时候,用git status发现竟然不显示这些配置文件。然后迅速检查项目里的.gitignore文件,发现并没有忽略后缀为properties的文件。最后,终于找到问题所在了,我在电脑的根目录下,创建了一个.gitignore文件,这是相当于
2017-09-06 23:22:37 1973 1
原创 tensorflow之seq2seq阅读笔记
一、tensorflow的RNN使用:1.使用LSTMlstm = rnn_cell.BasicLSTMCell(lstm_size)# Initial state of the LSTM memory.state = tf.zeros([batch_size, lstm.state_size])probabilities = []loss = 0.0for current_batch
2017-08-27 22:01:38 1697
原创 使用pyInstaller打包python下的sklearn工程
pyInstaller是一款python打包工具,它可以方便将python的所有依赖打包成一个可执行文件,所以它打包的文件只能在相同系统下运行。本地使用的是Mac系统,python版本是2.7.12,代码是使用sklearn开发的机器学习相关的内容。在打包的时候仍然是遇到了一些问题,现在记录如下:1.在打包的过程,出现ImportError:No Module named win3
2017-08-16 23:12:55 6494
原创 Linux系统下如何查看某个命令的安装位置
1.which + 命令会出现这个命令的路径,如果不是软链接的话,那么这就是此软件的安装路径;如果是软连接的话,那么进入下一步2.进入上面的路径下,输入:ls -al 要查照的命令会出现它的真是安装路径。下面以我本机的consul软件为例进行演示:第一步:然后进入这个路径下,发现是一个软连接,所以执行:第二步:可以看到标红就是我们最终
2017-07-23 22:47:27 34468
转载 CentOS 7中添加一个新用户并授权
创建新用户创建一个用户名为:linuxidc[root@localhost ~]# adduser linuxidc为这个用户初始化密码,linux会判断密码复杂度,不过可以强行忽略:[root@localhost ~]# passwd linuxidc更改用户 zhangbiao 的密码 。新的 密码:无效的密码: 密码未通过字典检查 - 过于简单化/系统化
2017-07-23 22:23:01 487
原创 Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/cli/ParseException
今天用maven编译文件,报了这个错。经过一番折腾,发现并不是项目的问题,而是maven本身损坏了,重装maven后解决。总结:如果使用maven编译的时候,瞬间报异常,那么可以考虑可能并不是项目的问题,这个时候直接打maven命令试试。比如直接命令行中输入:mvn -version,如果还是报异常那么重装maven吧。
2017-07-21 12:01:15 7269
转载 github如何更新fork的代码
github上有个很方便的功能叫fork,将别人的工程一键复制到自己账号下。这个功能很方便,但有点不足的是,当源项目更新后,你fork的分支并不会一起更新,需要自己手动去更新。下面记录下网上找到的更新的方法1、在本地装好github客户端,或者git客户端2、clone 自己的fork分支到本地,可以直接使用github客户端,clone到本地,如果使用命令行,命令为: g
2017-06-06 22:50:37 13785
原创 master回滚到某个提交并且保留历史提交
一、暴力模式master如何回滚到某个提交呢?相信很多人一开始想到的是reset,暴力模式:先拉一个分支保留当前的master代码:git branch tmp然后回到master:git chechout master回滚到某一个commit:git reset --hard 然后强推:git push origin -f这时master将完全回滚到之
2017-05-24 10:01:23 4203 3
原创 mybatis Field xxxMapper in xxxx required a bean of type 'XXXMapper' that could not be found.
使用Spring boot或Spring cloud配置mybatis,我用的是mybatis-generator插件自动生成实体和DAO层以及XML文件,最后启动时报了上面的错误,解决方法是在你的启动程序上加上这么一句:@MapperScan("xxx.mapper")public class Application { public static void main(Str
2017-05-11 16:24:34 60572 2
原创 初学tensorflow
本篇文章主要用来讲解tensorflow的一些重要的特点,同时最后会以最经典的mnist数据集来进行实践和代码讲解,里面除了训练模型,还将包括保存模型和加载模型。一、要点1、tf是一种符号式语言。程序的符号(或称算子)必须放在一个图中,这个图run的时候,符号才会执行。2.架构:3.tensorflow:tensor+flow组成,tensor就是指多维的数据4.保
2017-05-06 16:38:10 791
原创 Spring cloud oauth2.0的源码解析与实践Demo
一、源码代码介绍上一篇已经大致介绍了一下Spring cloud oauth2.0,点此查看上一篇,现在再来大致分析一下它的源码结构,Spring cloud oauth2.0的代码结构图如下:可以看到Spring oauth2.0的代码结构分为了五层,client层负责应用客户端的管理。common层为公共类的所在地。config层为配置层。http.converter层为转
2017-04-14 23:49:06 29541 79
原创 Spring cloud oauth2.0学习总结
因为项目需要,调研并使用了Spring cloud oauth2.0,网上关于oauth2.0的介绍很多,包括交互的流程等等。这里,我不再介绍这些,直接深入讲解,并附上实践代码。希望能对大家有帮助。相关链接:Spring cloud oauth2.0的源码解析和本人实现的三个Demo,第一个Demo是使用Spring cloud oauth2.0来实现单点登陆;第二个Demo是使用Jdbc
2017-04-14 19:01:58 47687 25
原创 PostMan使用问题总结
1.使用postman时,直接拷贝了程序里面的参数,结果一直无法获取数据问题原因:拷贝的参数值里面有转义字符串,所以查询不到结果导致。解决方法:去掉参数值里面的转义字符串。
2017-04-14 18:49:54 7055
原创 《代码整洁之道》读书笔记 持续更新中
第十章 类:1.类应该尽量短小,使一个类具有单一权责,有且只有一条加以修改的理由。2.通过明确的类名就能知道这个类的基本作用,类名越模糊就说明此类拥有过多的权责。3.系统应该由许多短小的类而不是少量巨大的类组成。4.客户端依赖接口而不依赖具体实现类第十一章 系统:
2017-04-13 12:08:55 341
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人