自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(137)
  • 收藏
  • 关注

原创 利用SpaceVim打造完美Go IDE

SpaceVim介绍下载安装go语言配置

2019-05-11 15:56:24 4477

原创 python给scatter设置颜色渐变条colorbar

python设置scatter颜色渐变import matplotlib.pyplot as pltcm = plt.cm.get_cmap('RdYlBu')xy = range(20)z = xysc = plt.scatter(xy, xy, c=z, vmin=0, vmax=20, s=35, cmap=cm)plt.colorbar(sc)plt.show()

2016-10-09 14:30:28 80669 12

原创 二分查找各种情况大总结

二分查找多次刷题时遇到,虽然每次也能写对,但花了蛮多时间,没好好想过。而且网上的太多版本,并不是很简洁,而且边界条件变化情况太多,容易混淆,下面是自己对二分查找的一些思考和总结,尽量写得简单易懂。三种基本版本:1.1 二分查找原始版--查找某个数的下标(任意一个)在有序数组中查找某个数,找到返回数的下标,存在多个返回任意一个即可,没有返回-1。所有程序采用左右均为闭区间。典型代

2016-08-30 21:40:16 31785 15

原创 Java Web实战08-Spring、Spring MVC和Hibernate实现收银机系统(XML版本)

前面参加一个公司的活动,做了一份收银机系统的作业,当时时间紧,花费一天时间用Swing界面做的,比较简单。代码在GitHub:https://github.com/yefengzhichen/twTask。最近正好学习了Spring,以及了解了Html和JSP,于是就将此作业改写成了Spring、Spring MVC、Hibernate、Html和JSP结合的版本。一、需求简介商店的收

2016-07-15 22:14:57 3105

原创 Linux文章汇总

之前写了几个关于Linux和Unix环境高级编程的文章,有少数为转载(有备注),现汇总如下:APUE相关:1、APUE学习之----socket编程实现简单的C/S2、APUE学习之----进程通信pipe实现管道3、APUE学习之----进程通信fifo实现管道4、APUE学习之----进程通信实现消息队列Linux使用相关:1、ubuntu14.04

2016-07-13 16:53:00 664

原创 Mysql6.0连接中的几个问题

在最近做一些java web整合时,因为我在maven官网查找的资源,使用的最新版,6.0.3,发现Mysql连接中的两个问题,总结两个如下:1、Loading class `com.mysql.jdbc.Driver'.This isdeprecated. The new driver class is `com.mysql.cj.jdbc.Driver。按照书上的教程,写了如下

2016-07-05 21:01:46 18671 3

原创 go消息队列nsq源码调用分析

nsqdTopic: 标识一类消息,各个topic之间相互独立,nsqd会为每个topic创建一个Topic结构Channel:标识一个队列,用来实现消费者之间的负载均衡。一个topic可以有多个channel,发布者的消息会被发送到每一个channel,相当于是广播操作。对于channel中的消息,会任选一个连接的消费者来发送。如上图所示,对其中的一个topic有三个chan...

2019-06-29 13:34:34 960

原创 golang mutex源码详细解析

目前golang的版本是1.12,其中的mutex是增加了普通模式和饥饿模式切换的优化版本,为了便于理解,这里先从最初版本的mutex开始分析,后面再对优化版本进行说明。Mutex结构说明定义最初版本锁的定义如下:// mutex是互斥锁// mutex的零值是没有加锁的//在使用之后不能被拷贝type Mutex struct { state int32 //状态标识 ...

2019-06-24 08:24:21 3187 2

原创 MongoDB索引-设置记录超时自动删除

MongoDB 索引说明索引介绍跟mysql一样,索引通常能够极大的提高查询的效率,如果没有索引,MongoDB在读取数据时必须扫描集合中的每个文件并选取那些符合查询条件的记录。索引是特殊的数据结构,索引存储在一个易于遍历读取的数据集合中,索引是对数据库表中一列或多列的值进行排序的一种结构。同时,MongoDB的超时自动删除功能,也是基于索引来实现的。索引设置命令createIndex()...

2019-06-23 11:45:26 1505

原创 unikernel介绍

最近听了一个关于容器的讲座,里面提到docker未来很可能向Unikernel发展,因此查资料学习了下。定义参考维基:unikernel由库操作系统组成,是一个特殊的、单地址空间的机器镜像。开发者从中选择模块化栈和最小库集合,组成应用需要的最小化系统架构来运行。这些库跟应用和配置代码一起编译,来构建封闭的、固定用途的镜像(unikernels),可以直接在hypervisor或硬件上,而不需...

2019-05-11 15:55:47 2315

原创 编译protobuf静态库依赖顺序问题

在项目中要加入protobuf协议支持,在编译成功生成程序包动态库后,发现启动运行报错 未定义的protobuf符号xxx等等,用ldd查看so文件,发现确实提示了未找到。大致的makefile文件如下:CXX=g++CFLAGS= -g -Wall -O3 -pipeINCLUDE= -I. -I./pb/LIB= -lpthread -pthreadLIB+=$(THIRD)/pr...

2019-04-20 15:01:28 2898

原创 golang数组和切片深入分析

一、数组1.1 数组赋值给数组Go数组是值类型,因此赋值操作和函数传参数会复制整个数组的数据,例:func main() { a := [3]int{1, 2, 3} b := a fmt.Printf("a addr: %p, a[0] addr: %p\n", &a, &(a[0])) fmt.Printf("b addr: %p, b[0] addr: %p\n...

2019-02-14 21:13:21 662 1

原创 spark使用总结--row_number使用和partial求多个字段均值

一、窗口函数取分组后的第一条数据第一条数据,可以是某个值最小最大等等,使用row_number和Window函数来实现。下面实列是获取每个班级里数学成绩最低的记录。其中,F.row_number().over(Window.partitionBy(“class”).orderBy(“math”))可以直接跟列名类似,在df的select中使用。from pyspark.sql import f...

2019-01-27 21:01:53 3593

转载 路由器NAT类型检测

考虑到UDP的无状态特性,目前针对其的NAT实现大致可分为Full Cone、Restricted Cone、Port Restricted Cone和Symmetric NAT四种。值得指出的是,对于TCP协议而言,一般来说,目前NAT中针对TCP的实现基本上是一致的,其间并不存在太大差异,这是因为TCP协议本身 便是面向连接的,因此无需考虑网络连接无状态所带来复杂性。用语定义1.内部Tup...

2019-01-26 21:39:02 7620 1

转载 mp4格式详解

之前刚接触转码工作时,看到的一篇介绍mp4挺不错的文章,转载自:mp4文件格式解析1、概述  最开始MP4指的是音频(MP3的升级版),即MPEG-2 AAC标准。随后MP4概念被转移到视频上,对应的是MPEG-4标准。而现在我们流行的叫法,多半是指能播放MPEG-4标准编码格式视频的播放器。但是这篇文章介绍的内容跟上面这些都无关,我们要讨论的是MP4文件封装格式,对应的标准为ISO/IE...

2019-01-05 19:47:24 9431 1

原创 go开源项目学习--grpc

地址:https://github.com/grpc/grpc-go一、安装先尝试官方命令安装:go get google.golang.org/grpc结果报错:package google.golang.org/grpc: unrecognized import path "google.golang.org/grpc "(https fetch: Get https://googl...

2019-01-01 14:28:40 1754 1

原创 go开源项目学习--cache2go

一、cache2go地址:https://github.com/muesli/cache2go主要特点:1、并发安全,使用RWMutex锁来保证并发执行2、可设置过期时间,过期自动删除3、可设置操作的回调函数,如增加、删除时的回调函数主要结构和关系为:cache:map类型,缓存器,根据设置的缓存数据名称来存取相应的缓存表CacheTableCacheTable:缓存表,存储一类数...

2019-01-01 11:18:22 589

原创 golang string迭代和结构体初始化

1.golang字符串range时返回的类型为rune在某次测试时发现,string字符串,直接用下标访问和用range访问返回的类型不同,参看下面:func main () { str := "aA" fmt.Printf("type is %T \n", str[1], ) for _, i := range str { fmt.Printf("is type %T\...

2018-12-31 09:04:02 874

转载 从蓝光到4K,腾讯视频高码率下载背后的技术

蓝光和4k视频正逐渐普及,4K视频峰值码率超10Mbit/s。架构平台部TVideo平台从资源,链路、缓存、接入进行调优,有效解决4k高码率视频的二次缓冲问题,播放体验全面领先竞品。背景随着音视频编解码、超分辨率、VR/AR等技术的发展,iPhone8、4K电视、VR眼镜等终端设备的更新换代,高码率高分辨率片源(4K视频、360°全景视频等)的层出不穷,多媒体用户观看体验正在逐步升级,整个...

2018-12-30 09:38:32 3374 1

转载 常见缓存算法和LRU的c++实现

常见缓存算法和LRU的c++实现对于web开发而言,缓存必不可少,也是提高性能最常用的方式。无论是浏览器缓存(如果是chrome浏览器,可以通过chrome:://cache查看),还是服务端的缓存(通过memcached或者redis等内存数据库)。缓存不仅可以加速用户的访问,同时也可以降低服务器的负载和压力。那么,了解常见的缓存淘汰算法的策略和原理就显得特别重要。常见的缓存算法LRU (Lea...

2018-05-12 16:12:40 786

转载 两种常见的缓存淘汰算法LFU&LRU

1. LFU1.1. 原理LFU(Least Frequently Used)算法根据数据的历史访问频率来淘汰数据,其核心思想是“如果数据过去被访问多次,那么将来被访问的频率也更高”。1.2. 实现LFU的每个数据块都有一个引用计数,所有数据块按照引用计数排序,具有相同引用计数的数据块则按照时间排序。具体实现如下: 1. 新加入数据插入到队列尾部(因为引用计数为1);2. 队列中的数据被访问后,引...

2018-05-12 15:38:19 851

原创 Ubuntu16上Nginx安装教程

之前了解过一些Nginx的知识,只是大概知道它的一些优良特性,如高性能,高并发,负载均衡等等。因为以后工作会用的原因,所以打算彻底的学习一番。一,依赖库安装为了简单,就直接使用apt-get自动安装。1. SSL支持需要的库OpenSSL。sudo apt-get install openssl libssl-devsudo apt-get install libssl-dev

2017-02-25 16:33:35 5627 1

原创 matlab视频保存以及速度矢量箭头

最近用matlab画图,主要涉及的matlab函数是:VideoWriter:保存视频的新函数,取代了之前的movie2avi。需要结合writeVideo函数。quiver:速度矢量绘图函数。做了一些动画效果的视频,截取效果如下:主要功能:1、显示目标在整个过程中的运动轨迹如图a所示2、显示目标的方向变化情况,右转为正,左转为负,如图b所示3、

2016-12-13 16:50:21 1871

原创 python抓取糗事百科文字内容

最近用python处理了蛮多数据,也自己稍微学习爬取了一些数据。主要是用requests和BeautifulSoup。代码如下:#!/usr/bin/env python3# -*- coding: utf-8 -*-"""@author: yefeng"""import requestsfrom bs4 import BeautifulSoup import reif

2016-12-01 17:48:18 815

转载 centos7 mysql数据库安装和配置(mysql-server安装失败)

转载自: http://www.cnblogs.com/starof/p/4680083.html。 因为自己在用的时候安装时遇到相同的问题。centos7 mysql数据库安装和配置一、系统环境yum update升级以后的系统版本为[root@yl-web yl]# cat /etc/redhat-release CentOS Linu

2016-10-14 14:47:29 1011

原创 python指数、幂数拟合curve_fit

python指数、幂数拟合curve_fit1、一次二次多项式拟合一次二次比较简单,直接使用numpy中的函数即可,polyfit(x, y, degree)。2、指数幂数拟合curve_fit使用scipy.optimize 中的curve_fit,幂数拟合例子如下:from scipy.optimize import curve_fitimport mat

2016-10-09 16:33:24 66306 6

原创 二叉树非递归遍历方法总结

以前只会二叉树的一种非递归遍历,最近又看了二叉树的多种非递归遍历方式,感觉很有用,亲自实现用理解了一番,总结如下。一、常用方式1、先序遍历1.1 自己常用的一种方式:public List preOrder1(TreeNode root) { List list = new ArrayList<>(); Stack stack = new Stack<>();

2016-09-24 16:58:42 579

原创 搜索二叉树转换为双向链表

搜索二叉树转换为双向链表将一个搜索二叉树转换为双向链表,left执行下一个元素,right指向上一个元素,一种比较简洁的实现如下,除去测试代码,仅20多行代码:class Node { int value; Node left; Node right; Node(int value) { this.value = value; } }public class

2016-09-12 09:55:15 917

原创 leetcode之路010 Regular Expression Matching

这个题目之前没做出来,放着没管。最近因为三个原因,又开始重新刷了。一是最近算法学习得多了,想多练习一下。二是,既然leetcode很多题目刷过,可以重新做做,看下思路是不是更清晰,做得更快,同时之前不会的可以再试试能不能做出来。三是,以前是c++做的,一月份转java后,需要用java来练习下。发现一个习惯蛮好的是,一时间做不出来的,可以先放一段时间,再去做,说不定会有思路。因为自己想出来的印

2016-09-04 20:57:39 611

原创 两个数组求第k个数

遇到两个相似的题目,描述为:1、两个数组求第K大数题目描述给定两个有序数组arr1和arr2,在给定一个整数k,返回两个数组的所有数中第K小的数。例如:arr1 = {1,2,3,4,5};arr2 = {3,4,5};K = 1;因为1为所有数中最小的,所以返回1;arr1 = {1,2,3};arr2 = {3,4,5,6};K =

2016-08-23 16:25:52 1244

原创 Java Web实战07--Spring整合Hibernate

在写之前,先说明一下在Eclipse中安装Hibernate的插件,方便生成cfg文件和hbm文件。在help->Install New SoftWare中,添加地址 http://download.jboss.org/jbosstools/updates/stable/helios/在All Jboss tools下找到Hibernate tools进行安装即可。一、实现功能思路

2016-07-08 12:06:56 886

原创 spring4, hibernate4 整合问题

在整合spring和hibernate中,出现了一下错误:org.hibernate.HibernateException: Could not obtain transaction-synchronized Session for current在Dao层程序中获取session是这样的:@Repositorypublic class BookShopDaoImpl implement

2016-07-07 12:03:25 469

原创 使用Spring整合Hibernate出现无法自动建立表的问题

在使用Spring整合Hibernate时,出现一个莫名其妙的问题,Spring整合Hibernate出现无法自动建立表,花了好几个小时也没有查找是怎么回事。具体如下:1、在Hibernate配置文件中设置了:update在Junit测试中代码是:public class SpringHibernateTest extends TestCase { private A

2016-07-06 10:49:17 6882 3

原创 Junit4出现java.lang.NoSuchMethodError: org.junit.runner.Request.classWithoutSuiteMethod

在使用Junit时,前面几次连接时正常,后面突然出现错误如下:java.lang.NoSuchMethodError: org.junit.runner.Request.classWithoutSuiteMethod(Ljava/lang/Class;)Lorg/junit/runner/Request;at org.eclipse.jdt.internal.junit4.runner.J

2016-07-05 21:29:37 11188

原创 Java Web实战06--Spring之AOP使用

一、AOP简介Spring AOP是面向切面编程,主要思想是,将代码中的与主业务逻辑无关的公共代码,抽离出来,单独模块化为类即切面,在运行的时候动态的将切面的功能即通知加入到业务执行逻辑中。AOP模块常用于日志处理、事务管理、权限验证、参数验证等。优点:–每个事物逻辑位于一个位置, 代码不分散, 便于维护和升级–业务模块更简洁, 只包含核心业务代码.以下是Aop中的主要概念:

2016-07-05 11:43:14 3408

原创 Java Web实战05--Spring之bean引用

操作实践bean直接的引用,具体流程如下。此时省略了pom.xml设置,和之前一样。主要实现实例依赖外部bean、内部bean的配置。1、建立两个类,分别Bag类,Person类,在person类中会引用bag类。bag类:package com.yefeng.spring.spring3;/** * @author yefengzhichen * 2016年7月3日 */p

2016-07-04 11:39:11 456

原创 Java Web实战04--Spring之属性注入和构造器注入

和前面一样,建立maven工程,然后进行以下操作过程,1、新建一个bag类,设置四个字段,如下所示:package com.yefeng.spring.spring2;/** * @author yefengzhichen * 2016年7月3日 */public class Bag { private String brand; private String count

2016-07-03 22:24:07 935

原创 Java Web实战03--Spring之HelloWorld

这几天才是彻底浏览完了Spring实战第四版一遍,好多内容看完就忘。。因此准备逐步实践一番,记录每一次的实战内容。一、Eclipse的spring插件安装为了方便在eclipse中开发Spring项目,需要安装STS(spring tool suite),下载地址为:http://spring.io/tools/sts/all选择自己的eclipse版本对于的一个,放到本地。具

2016-07-03 19:28:29 882

原创 Java Web实战02--Maven学习以及如何建立动态网页工程

最近尝试建立Spring MVC做一个小的项目,发现得用maven进行依赖管理比较方便,因此尝试学习了一番,总结如下.一、Maven学习和下载 Maven官方解释:项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具。因为Spring中有许多的各个功能库,并且还依赖了许多其他库,要想自己去一个个下载,然后放到工程lib中,是一个非常麻烦的事。

2016-06-30 21:04:35 2185 2

原创 Java Web实战01--Tomcat环境、JSP、Servlet初试

一、Eclipse和Tomcat环境1、下载tomcat和安装  此处使用tomcat 7, 本来下载了tomcat 8,也安装了,发现eclipse的插件只能支持到7,果断卸载换回来了 = = 。  链接:http://tomcat.apache.org/download-70.cgi   解压缩在D:\Program Files\Apache Software Foundati

2016-06-28 11:15:12 812

空空如也

空空如也

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

TA关注的人

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