- 博客(79)
- 资源 (11)
- 收藏
- 关注
原创 小学生都能看懂的人工智能原理
人工智能(Artificial Intelligence,简称AI)是指利用计算机技术来模拟、扩展和承担人的智能活动的一种技术和科学。人工智能技术可以实现和模拟人类的思维、学习、推理、判断、决策、语言、知识获取和处理等智能活动,具有自主、自适应、自我学习和推理、自我控制等特征。人工智能是目前计算机科学领域的重要研究方向之一,应用广泛,包括自然语言处理、机器翻译、图像识别、语音识别、智能游戏、智能家居、智能医疗、智能交通等领域。
2024-04-18 22:21:46
1257
原创 代码质量杂谈01
从17年自学编程开始到现在写代码也有五年了。期间在不同公司和各式各样的开发者合作过,一个很大的感触就是大多数开发者要么并不在乎自己的代码质量,要么根本不清楚什么样的代码是好的。
2022-10-24 20:02:53
681
2
原创 基于PYTHON的科学占卜
目录背景前置知识基础原理如何产生卦象开发源代码背景一直以来,中式占卜都是基于算命先生手工实现,程序繁琐(往往需要沐浴、计算天时、静心等等流程)。准备工作复杂(通常需要铜钱等道具),计算方法复杂,需要纯手工计算二进制并转换为最终的卦象,为了解决这个问题,笔者基于python实现了一套科学算命工具,用于快速进行占卜本文的算命方式采用八卦 + 周易+ 梅花易数实现,脚本基于python3.9.0开发。本人对于周易五行研究较浅,如有疏漏请见谅最终效果如图,在运行程序之后,会根据当前的运势自动获取你心中所想之
2022-04-06 19:22:24
13778
26
原创 除了Mybatis,我们还能用什么访问数据库
目录为什么我很讨厌Mybatis?除了Mybatis,我们还能用什么Spring-JDBC基于Spring-JDBC的实践SQL组装工具分页插件基础查询层实例为什么我很讨厌Mybatis?我很讨厌在XML里写SQL,每次接手一个用Mybatis开发的项目,需要调试或者修改SQL的时候都要多走一步,从dao层找对应的mapper文件,我觉得挺傻的,虽然现在mybtais可以基于全注解来开发,但是灵活性和SQL编写的舒适性都有很大程度下降很难调试,本地启动的情况下没法断点调试,需要开启打印SQL通过控制
2021-10-29 11:15:39
1775
3
原创 Flink原理解析
1.Flink是什么Flink是新一代分布式流式计算引擎,用于对海量数据进行实时处理和计算,具备快速容错(支持每条消息恰好处理一次)、流批一体、低延时、支持数据乱序的特点。 Flink的主要应用场景如下:数据分析场景:流式计算平台相对于传统的基于批的计算平台具备最大优点就是实时性,典型的应用场景就是淘宝的双十一大屏和一些实时性要求比较高的数据看班事件驱动场景:相比于MetaQ或其他消息队列,Flink可以基于Flink Sql或者其他API进行一些复杂的计算或者过滤操作,比如基于用户行为
2021-10-29 09:53:50
4258
原创 Netty实战-如何在web项目中对接第三方tcp协议
公司有一个专门用于对接第三方停车,crm,erp等等业务系统的项目由我负责,十几个场子全都是基于Http实现的,突然有一天实施告诉我有一个基于TCP协议实现的停车系统要接入。坦白讲,最开始我是拒绝的,因为我很难接受要引入一个这么难以维护,并且很大程度上会破坏原有系统边界的玩意,架不住人家就是强势,我就是不换车厂,你爱接不接,没办法,只能硬着头皮想办法上1.坑爹的需求停车这玩意跟crm,erp还...
2020-04-24 22:48:06
1440
1
原创 golang游戏开发学习笔记-开发一个简单的2D游戏(完成篇)
此文写在golang游戏开发学习笔记-开发一个简单的2D游戏(基础篇)之后,在这篇文章里我们要完成2D游戏场景搭建,人物动画和碰撞检测文章目录一.创造世界二.碰撞的艺术三.主角的诞生4.还不够抽象5.动起来一.创造世界在我们的2D游戏里,游戏地图完全由方块构成,因此首先要基于前文的GameObj派生出一个block对象表示方块package modelconst( BlockHeig...
2019-07-08 17:07:55
5069
2
原创 golang游戏开发学习笔记-开发一个简单的2D游戏(基础篇)
此文写在golang游戏开发学习笔记-创建一个能自由探索的3D世界之后,感兴趣可以先去那篇文章了解一些基础知识,在这篇文章里我们要创建一个简单的2D游戏场景以及配套的人物,并实现人物运动和碰撞检测功能,效果如下文章目录一.参考资料二.基础概念三.依赖四.资源准备1.人物静止图2.人物运动图(只展示第一帧)2.方块纹理图五.开始实现!1.资源管理shader.go两个着色器程序顶点顶点着色器片段...
2019-07-08 11:55:11
13577
4
原创 golang游戏开发学习笔记-创建一个能自由探索的3D世界
此文写作golang游戏开发学习笔记-用golang画一个随时间变化颜色的正方形之后,感兴趣可以先去那篇文章了解一些基础知识,在这篇文章里,我们将创建一个非常简单(只有三个方块)但能自由探索的的3D世界1.参考资料learnOpenGl 的中文翻译,使用C++实现的。go-gl example go-gl的示例代码2.基础概念相关数学概念如矩阵,向量等,有兴趣的可以在网上找相关资料纹...
2019-07-02 13:25:40
4457
1
原创 golang游戏开发学习笔记-用golang画一个随时间变化颜色的正方形
虽然工作中基本只用到java和javascript但一直对golang比较感兴趣,最近闲来无事,想写个游戏(也是博主一直以来的梦想)但如果直接上游戏引擎就起不到学习的作用了,于是从零开始学习opengl,golang下的opengl文档比较少,应用似乎也不广泛,只能照着C++的文档照猫画虎了主要参考了这两个网站的教程learnOpenGl 的中文翻译,使用C++实现的。OpenGL 与 Go...
2019-06-29 22:50:32
1139
1
原创 高效读取大数据量excle2007文件的解决方案
网上这方面资料不少,但或多或少都有问题,目前github上有一个开源工具easyexcle,但是其依赖比较复杂,而公司的项目用的还是比较原始的lib包的方式,没有使用包管理工具,于是打算使用poi自己做一个1.环境基于poi3.12版本开发2.原理excle数据主要基于xml保存,而poi则是通过操作xml来对excle文件进行操作。在进行读取时有Event model和User mode...
2019-06-20 15:31:53
583
原创 基于Jquery实现一个cron表达式选择器
(function($){ if(!$){ throw 'cron-selector : JQuery is needed' } var timeTypes = ['second','minute','hour','day','month','week','year'], timeNames = ['秒','分','时','日/月','月','日/...
2019-06-06 15:36:55
3288
原创 springboot集成mybatis详细教程同时实现自定义拦截器分页功能
目录springboot-Mybatis基础查询1.创建数据库2.springboot引入mybatis3.编写查询映射4.使用自定义拦截器分页springboot-Mybatis基础查询1.创建数据库使用mysql-8.0.11版本的数据库,运行CREATE DATABASE 数据库名创建数据库用于测试,这里我取名为TEST_MS,然后创建数据表,这里假设我们要对用户进行分页查询。USE...
2019-05-29 15:30:24
8978
4
原创 在java代码中运行spark任务报异常org.apache.spark.SparkException: Task not serializable
运行如下java程序代码会报未序列化的异常import org.apache.spark.SparkConf;import org.apache.spark.api.java.JavaPairRDD;import org.apache.spark.api.java.JavaRDD;import org.apache.spark.api.java.JavaSparkContext;impo...
2019-01-31 11:16:21
2496
1
原创 kafka,rabbitMQ,rocketMQ的消息可靠性保证
1.消息丢失1.生产者发送失败所有消息队列都可能发生的问题生产者发送消息后,队列未成功接收(网络原因或其他)而生产者不知情,消息丢失生产者发送消息后,队列接收成功->生产者确认,但消息并未持久化,队列崩溃,消息丢失针对这类问题,三种消息队列都提供了生产者消息发送确认的模式,例如将kafka的acks参数设置为大于0,将rabbitMQ的信道设置为confirm模式。而在rock...
2019-01-18 14:49:27
2334
1
原创 使用spring+quartz+react+antd搭建一个定时任务框架
目录使用springboot搭建后端服务1.功能清单2.定时任务功能开发1.依赖2.两个配置文件1.application-dev.yml2.application.yml3.代码1.封装信息合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是...
2018-11-02 10:08:16
1395
1
原创 使用webpack搭建react+antd项目
目前网络上关于react和antd的教程有很多,在构建项目阶段大多用create-react-app,dva等脚手架工具进行搭建,使用工具固然方便,却总感觉没能真正完全掌握这门技术,于是自己尝试从头搭建了一个项目1.环境 本机使用v8.9.4版本的node,开发工具为Visual Studio Code2.初始化项目在项目目录下执行命令 npm init 初始化项目,在生成的...
2018-10-17 17:11:40
6310
1
原创 spring中如何通过注解管理所有路径及对应权限
在为web应用实现权限管理时通常需要我们手动为每个路径添加对应的权限,名称以及相关信息,以便于实现统一管理,但手动录入未免太过繁琐,这里借助注解的方式实现类似swagger的功能,能在开发时直接为路径添加信息,实现统一管理。
2018-09-13 09:40:21
846
原创 使用nodejs和python构建一个远程监控系统3.web模块的编写
使用nodejs和python构建一个远程监控系统1.视频采集模块使用nodejs和python构建一个远程监控系统2.主控程序编写nodejs搭建的web模块主要负责接收视频信息,转发视频信息,唯一复杂的地方在于要记录每一个与服务器建立了连接的客户端,将图像发送给相应的每个客户端,这里我使用了一个全局对象构造的连接池,请看代码//加载配置文件var config = requir...
2018-08-02 11:52:16
1300
3
原创 使用nodejs和python构建一个远程监控系统2.主控程序编写
使用nodejs和python构建一个远程监控系统1.视频采集模块使用nodejs和python构建一个远程监控系统3.web模块的编写视屏采集模块完成之后,开始编写视屏分发程序和主控程序1.分发器(目前采用UDP协议,以后可以扩展一个支持TCP协议的分发器支持高清视屏传输)#encoding=utf-8import socketimport cv2import numpy...
2018-08-02 11:38:23
694
原创 使用nodejs和python构建一个远程监控系统1.视频采集模块
使用nodejs和python构建一个远程监控系统2.主控程序编写使用nodejs和python构建一个远程监控系统3.web模块的编写如何使用python和nodejs构建一个远程监控系统,不说废话。1.平台和环境python3.6,opencv3.0以上(或者cv2版本某些功能无法实现) nodejs8.9.4依赖如下{ "name": "video", "ver...
2018-08-02 11:28:51
2144
原创 java连接mysql8.0可能会遇到的坑
用springboot连接8.0.11版本的mysql时碰到的一些坑 com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Could not create connection to database server 如果出现了这个问题,而你恰好用的是mysql8以上的版本,检查mysql-connec...
2018-07-23 23:30:28
4950
1
原创 在树莓派上如何更方便的安装opencv
由于毕设是用树莓派+opencv做的一个东西,安装环境的时候发现网上关于树莓派上安装opencv的教程基本上都是从一个地方抄过来的,而且都是源码编译,试了很多次都没成功,这里讲讲最简单的方法此方法只适用于不需要contrib扩展模块功能的用户,如果你需要,老老实实使用源码编译1.python2.7使用sudo apt-get install opencv-python完成下载如果找...
2018-01-25 19:33:32
642
原创 python+opencv实现目标跟踪
python-opencv3.0新增了一些比较有用的追踪器算法,这里根据官网示例写了一个追踪器类程序只能运行在安装有opencv3.0以上版本和对应的contrib模块的python解释器 #encoding=utf-8import cv2from items import MessageItemimport timeimport numpy as np'''监视者模块...
2018-01-19 17:09:45
23473
49
原创 基于大数据的房价分析--4.用spring搭建后端接口
使用的是springMVC框架,目前功能实现的非常简陋,大家做个参考就可以了1.搭建一个maven项目我使用的是idea,直接搭建一个maven项目 在pom.xml中加入如下依赖<dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <ve
2017-12-14 11:26:04
637
4
原创 基于大数据的房价分析--3.echart+百度地图实现数据可视化
要实现的是在百度地图中画出房屋散点图,能进行区域选择,动态刷新显示该区域的房价数据雷达图,具体效果如下 1.在echarts中集成百度地图要使用百度地图,必须要有开发者AK和百度地图js包<script src="http://api.map.baidu.com/api?v=2.0&ak=你的AK"></script><script src="/Plug-in/echarts-master/di
2017-12-14 10:43:45
8306
6
原创 基于大数据的房价分析--2.数据解析
单单只有地址信息是没法在echarts上画出散点图的,必须有经度纬度信息,利用百度地图API可以将地址信息解析为经纬度信息,该API每日可以调取6000次,在申请认证开发者信息后每日可以调取三十万次,足够解析数据了,认证之后按如下操作创建应用 其中应用名称随便输,应用类型选择服务端,IP白名单选择你的IP或者如图中输入默认所有IP都可以访问1.解析方法通过访问如下请求,获得解析结果http
2017-12-10 17:23:20
2717
原创 基于大数据的房价分析--1.数据爬取
爬取数据用的是python2.6+scrapy爬虫框架,一开始我写的是一个全站爬虫,可以根据一个种子url爬取58同城所有房价信息,但有个问题就是必须使用代理IP,否则爬虫很快就会被封禁,于是我想了个办法就是在linux中每五分钟运行一次爬虫程序,每次只爬取一个城市的房价信息,代码如下1.spiders#encoding=utf-8import syssys.path.append("..")f
2017-12-10 17:09:09
3527
6
原创 基于大数据的房价分析
大二自学的是python和java,大三却找了个和前端相关的实习工作,好在不是很忙,工作之余做一些自己以前想做懒得做的东西,复习一下python和java,也能增强自己的工作技能,第一个项目就是基于房价的大数据分析1.前置准备1.工具使用的是python2.7下的scrapy爬虫框架,用到的包还有lxml,BeautifulSoup,requests等等2.爬取目标目前网络上发布房屋买卖信息的网站
2017-12-10 16:48:40
6904
6
原创 scrapy实现增量式爬取
实现爬虫的增量式爬取有两种方法,一是在获得页面解析的内容后判断该内容是否已经被爬取过,二是在发送请求之前判断要被请求的url是否已经被爬取过,前一种方法可以感知每个页面的内容是否发生变化,能获取页面新增或者变化的内容,但是由于要对每个url发送请求,所以速度比较慢,而对网站服务器的压力也比较大,后一种无法获得页面变化的内容,但是因为不用对已经爬取过的url发送请求,所以对服务器压力比较小,速度比较快
2017-11-22 10:25:36
11967
2
原创 谷歌插件-无法点到百度搜索按钮
1.mainfest.json文件{ "manifest_version": 2, "name": "永远点不到的搜索按钮", "version": "1.0", "description": "让你永远也点击不到Google的搜索按钮", "content_scripts": [ {
2017-11-22 08:57:09
344
原创 Spring-MVC初步-搭建一个web程序
MVC思想,即”MOD:模型”,”VIEW”:”视图”,”CONTROL”:”控制”分离的思想,其中MOD层用于处理数据,包括业务算法,数据持久层等的实现;VIEW层用于为用户显示数据,比如JSP或html页面等;CONTROL层用于连接MOD层和VIEW层,包括封装数据,渲染数据等.三个部分以最小的耦合协同工作,是构建现代web应用的一个重要思想Spring-MVC1.结构 从一个web请求开
2017-11-09 15:56:17
234
原创 spring-AOP的实现
AOP(面向切面编程)的理解与实现1.什么是面向切面编程要理解面向切面编程,必须要理解切面的含义,切面是指在程序的许多地方都会应用到的功能,例如对于日志系统来说,记录日志就可以被当做一个切面,在一个应用程序的许多地方,日志都是不可或缺的,但在这些地方,我们主要的关注点却不一定记录日志上,比如当我们在开启一个数据库连接时,我们主要关注的点在于开启连接,而不是记录日志,举个现实中的例子就是,我们日常生活
2017-11-09 15:39:29
309
原创 spring-依赖注入的实现
上一篇日志讲了依赖注入的思想和原理,这里总结一下spring中实现依赖注入的具体实现方式1.原理在spring中,所有的POJO都可以被声明,或者定义为一个组件,通过配置文件,自动扫描,java代码的方式,可以任意装配不同组件2.方法在spring中,装配组件的方式有三种,分别是自动装配,XML配置文件装配以及java代码中显示装配,而组件装配无非就是两个过程1.创建组件;2.装配组件1.自动
2017-11-09 11:55:35
1226
原创 Spring初步-依赖注入的原理
要使用一个工具去完成诸多的的任务,必须要理解这个工具的原理和核心思想,而spring最重要的工具毫无疑问是依赖注入(DI)和面向切面编程(AOP),web开发中最重要的思想莫过于mvc思想依赖注入提到依赖注入,我会想到很多与之有关的词 “面向接口编程”,”策略模式”,”命令模式”等等,这些词其实都围绕着一个中心”解耦合”就像《head first设计模式》里面开篇就提到的那个鸭子一样,红头鸭,塑料鸭
2017-11-07 13:53:36
296
原创 fork函数的使用
在linux环境下,一个现有的进程可以调用fork函数创建一个新进程#include<stdio.h>#include<stdlib.h>int main(){ char *contents[] = {"message1","message2","message3","mesage4","message5","message6","message7
2017-09-27 11:11:36
402
原创 阿里云Centos中flask的使用
1.virtualenv的安装和使用(可选)1.安装virtualenv类似于一个虚拟机,可以在里面安装任意包而不会影响全局的python环境,而且不需要管理员权限,我所用的阿里云centos可以直接使用yum install virtualenv,或者也可以用pip install virtualenv2.使用使用virtualenv命令可以创建Python虚拟环境,这个命令只有一个必选参数,即
2017-09-27 00:25:26
317
原创 C中静态库和动态库的使用
1.自定义头文件在C中,编写的头文件如果不在标准头文件目录中是无法使用尖括号包括的,只能使用""包括,例如: #include"目录/头文件名"或者如果头文件在需要编译的文件的当前目录下,可以不用加目录名 #include"头文件名"2.使用尖括号包括如果要使用尖括号包括头文件,有两种方法 1.将头文件移动到标准头文件目录,linux为/usr/local/include
2017-09-26 17:47:59
272
原创 scrapy初步-简单静态爬虫(爬取电影天堂所有电影)
之前用java写过一个简单的爬取电影天堂信息的爬虫,后来发现用python写这种简单的爬虫程序更简单,异步网络框架在不使用多线程和多进程的情况下也能增加爬取的速度,目前刚开始学scrapy,用这个写了一个爬电影天堂的程序1.环境部署1:scrapy部署:我是在阿里云的centos+python2.7的环境下部署的scrapy。本人比较习惯使用python3.6.1。之前写爬虫程序的时候最经常用的是
2017-09-06 23:40:08
3639
原创 python多线程
Python提供了两个模块用于实现多线程,thread和threading,thread是低级模块,threading是高级模块,对thread进行了封装,实现多线程有两种方式,分别是将一个函数传入Thread实例,然后调用start方法和继承threading.Thread类,重写_init_和run方法1.将函数传入Thread实例方法import random,time,threadingde
2017-09-03 10:31:25
221
定时任务框架
2018-11-02
58同城二手房出售信息
2017-12-14
爬取一个用户的所有微博
2017-06-03
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人