- 博客(314)
- 资源 (86)
- 收藏
- 关注
原创 使用微信支付v3实现jsapi和扫码支付
一 和旧版的差异1 数据交互格式由原先的xml改为json2 接口请求方式由原来的无需额外请求头变为需要Authorization请求头3 几乎所有接口都需要使用证书计算签名或者Token4 支付回调使用AES-256-GCM进行加密,安全性提高5 扫码支付无需再设置扫码回调url6 无需像之前一样调用长链接转短链接接口提高扫码支付识别成功率总体来说变化还是挺大的,开发时只需要正确计算token和签名就没什么问题了开发前必读:https://pay.weixin.qq.com
2021-08-05 14:25:35 3087 2
原创 spring boot整合apollo配置中心
一 常用配置中心随着分布式项目架构的流行,项目的配置信息管理变得越来越重要,好在市面上也涌现出众多优秀配置中心产品如nacos、apollo、disconf . 配置中心产品可根据实际需要选择,如果项目使用阿里系技术栈较多则推荐nacos, 其他情况下apollo则是较好的选项二 apollo的安装、启动和基本使用参考链接:https://ctripcorp.github.io/apollo/#/zh/deployment/quick-start如果比较偏开发上面的参考链接差不多就够用...
2021-01-04 16:37:33 1970
原创 spring cloud使用seata实现分布式事务控制
在spring cloud技术栈中分布式事务也是比较重要的一环,分布式事务的处理关系到了数据的一致性和完整性,所以微服务的开发分布式事务是必不可少的,这也对开发人员也是不小的挑战,好在市面上不缺分布式事务的解决方案,这些方案也各有优劣,本次将把seata作为分布式事务的解决方案来进行代码实现,在这之前我特意找了点资料给大家参考分布式事务的三种解决方案: https://www.cnblogs.com/bluemiaomiao/p/11216380.htmlseata原理解析:https://www.
2020-11-20 23:07:02 664
原创 spring-security-oauth2.0的使用入门
oauth2.0也是开发中用的比较多的一种授权机制,它主要用来颁发令牌;OAuth 引入了一个授权层,用来分离两种不同的角色:客户端和资源所有者。......资源所有者同意以后,资源服务器可以向客户端颁发令牌。客户端通过令牌,去请求数据。通过上面对oauth的介绍,我们已经大概知道它的用途了,现在由于各种原因oauth1几乎已经没人再用了,目前用的较多的是oauth2.0; oauth2.0规定了四种获得令牌的流程,如下所示:授权码(authorization-code) 隐藏式(implici
2020-11-20 16:35:37 2582 1
原创 spring boot整合spring security和jwt实现分布式认证和权限处理
spring security是spring官方比较推荐的用于认证和权限的解决方案,市面上做认证和权限的开发框架还有shiro,spring boot也提供了shiro的解决方案,本人在之前的开发中大多使用了shiro,但是spring security也是值得一学的,除了官方推荐的原因像spring oauth2.0也会用到它,所以学习一下还是很有必要的,本次将围绕spring security的认证授权、jwt进行学习分享1 依赖的引入<!-- springsecurity的依赖 --&
2020-11-19 16:32:11 1241 3
原创 spring cloud alibaba之sentinel入门
sentinel作为hystrix的替代品现在已慢慢融入我们的日常开发了,虽然阿里官方已经提供了开发文档等资料,但还是有许多地方需要注意,否则也容易出现问题。至于sentinel就不多说了,关于这方面的介绍还是比较多的,大家自行查阅资料即可1 sentinel控制台的安装参考资料:https://github.com/alibaba/spring-cloud-alibaba/wiki/Sentinelgithub上的资料日常开发应该够用了,但站在严谨的角度还是差点意思,例如文档没有写明怎样自定义
2020-11-18 21:31:17 788 2
原创 nacos1.3.x的安装以及在spring cloud中的简单使用
一 nacos的下载和安装参考资料: https://nacos.io/zh-cn/docs/quick-start.html官方的参考资料写的比较简单,日常开发如果使用nacos作为本地开发环境或者生产环境我建议还需要做一下配置文件的修改,主要就是数据库连接的配置,这样下次启动nacos编写的配置文件会从数据库读取并加载,步骤如下1 执行nacos提供的sql脚本到本地或云数据库sql脚本一般放在nacos的conf目录中,我们只需把nacos-mysql.sql文件执行一下在数据库生成.
2020-11-16 15:33:54 200
原创 spring cloud服务注册与发现之consul
一 consul的使用背景随着netflix项目进入维护模式,与之相关的技术都受到不同程度的影响,影响较大的应该是eureka,Hystrix了,因此我们不得不寻找与之相关的替代品,对于eureka的替代我们可以选择consul,nacos等等,本次给大家分享的是consul作为服务发现和注册中心的使用心得二 consul的下载、安装和启动下载地址: https://www.consul.io/downloads默认下载也会根据当前电脑的操作系统提供下载,也可以按需下载对于的版本,直接下载.
2020-11-13 12:49:27 448
原创 springboot使用jasypt增加应用安全性
无论任何开发安全问题也是我们应该考虑的部分,除了数据接口层面的安全性,数据库用户名密码等敏感信息也是需要考虑安全问题,日常开发中大多数也习惯写明文,这样如果代码泄露数据库也面临较大威胁,本次将分享数据库用户名、密码如何在springboot项目中配置和使用1解决方案解决上述问题其实比较简单,无非就是对数据库用户名和密码加密,但是可用的加密算法特别多,有对称加密的如DES、3DES(Tri...
2020-03-24 18:06:36 671
原创 spark算子练习题-灵活使用常用算子1
spark里虽然算子众多,虽然不要求全部掌握,但是对于常用算子还是需要烂熟于心灵活运用,对于kv格式的RDD(Tuple2)则需要全部掌握否则对于数据的处理就没办法做了,针对这个情况可以自己找一些网上的spark练习题,然后用java的方式实现一遍,能自己写最好,如果不知道怎么写也要照着别人写的敲一遍逐字逐句好好理解。这次也趁这次机会分享下我自己做的练习题1 第一题题目如下:定义三个文件...
2020-03-08 16:03:12 1679
原创 SparkSql读取csv实现统计功能
前面已经介绍过有关sparksql读取json文件取得DataSet的功能,但实际开发中除了json外还可以使用csv、数据库等作为sparksql的数据源,因为csv日常开发也用的很多所以借此机会把我的学习代码分享给大家一 关于csv的schemasparksql读取csv可以根据csv文件的第一行作为header自动推导出列名或schema,也可以通过手动的方式指定schema,自动推...
2020-03-01 13:30:23 3059
原创 SparkSql使用入门
Spark SQL是spark套件中一个模板,它将数据的计算任务通过SQL的形式转换成了RDD的计算,类似于Hive通过SQL的形式将数据的计算任务转换成了MapReduce。Spark SQL的特点:1、和Spark Core的无缝集成,可以在写整个RDD应用的时候,配置Spark SQL来完成逻辑实现。2、统一的数据访问方式,Spark SQL提供标准化的SQL查询。3、Hive的继...
2020-02-15 19:19:59 830
原创 spark算子知识整理2
前面有关RDD的理论已经说过其中一点就是RDD是由一系列的分区组成,所以RDD也提供了和分区相关的一系列算子,这次需要整理的是分区迭代器、重设分区以及countByKey、groupByKey等算子package com.debug;import java.util.ArrayList;import java.util.Arrays;import java.util.Iterator...
2020-02-13 16:50:39 253
原创 spark持久化
日常开发中每次读取大文件都比较费时费力,而每次的重复读取都是资源的浪费,针对这些问题spark也提供了持久化的解决方案,帮助我们解决诸如此类的效率问题,先来看一段我搜集到的资料:RDD 持久化Spark 中一个很重要的能力是将数据持久化(或称为缓存),在多个操作间都可以访问这些持久化的数据。当持久化一个 RDD 时,每个节点的其它分区都可以使用 RDD 在内存中进行计算,在该数据上的其他 ...
2020-02-13 10:49:36 606
原创 spark算子知识整理1
上一次分享提到的map、flatmap都归属于转换算子,foreach则属于Action算子;由于算在在spark中较为重要后续几次都是分享算子相关的东西,先来看一段代码package com.debug;import org.apache.spark.SparkConf;import org.apache.spark.api.java.JavaRDD;import org.apac...
2020-02-11 14:37:34 350
原创 Spark使用parallelize方法创建RDD以及map、flatmap的区别
spark创建RDD常用的方法有两个分别是parallelize、parallelizePairs,parallelize用来生成普通格式的RDD,parallelizePairs用来生成kv格式的RDDpackage com.debug;import java.util.Arrays;import java.util.List;import org.apache.spark.Sp...
2020-02-11 11:10:04 2970
原创 spark核心RDD的介绍和字数统计案例
RDD是spark的核心和重要组成,spark内部提供了丰富的算子供我们使用,节省了开发时间使得开发更为高效,从而让我们专注业务逻辑。因为spark丰富的算子使得它更适用于需要复杂计算的业务场景。这次将会分享一些关于RDD的概念和理论以及经典的字数统计案例 RDD 概念 RDD(Resilient Distributed Dateset),弹性分布式数据集。 RDD的五大特...
2020-02-08 10:50:37 535
原创 spark理论之运行模式
spark相比hadoop做了很多方面的优化,同时spark的job也支持提交到hadoop的yarn进行处理,同时也有属于自己的一套资源调度框架standalone.同时也支持其他常用的资源调度框架。 Spark运行模式 Local 多用于本地测试,如在eclipse,idea中写程序测试等。 Standalone Standalone是Spark自带的一个资源调度框...
2020-02-07 19:05:08 456
原创 spark2.4的安装和基本使用
安装之前我们先来看看资料上对spark的一些解释:Apache Spark 是专为大规模数据处理而设计的快速通用的计算引擎。Spark是UC Berkeley AMP lab (加州大学伯克利分校的AMP实验室)所开源的类Hadoop MapReduce的通用并行计算框架,Spark拥有Hadoop MapReduce所具有的优点;但不同于MapReduce的是Job中间输出结果可以保存在内存...
2020-02-07 14:04:26 2234
原创 go语言操作mysql数据库
Golang要操作mysql数据库,首先需要在当期系统配置GOPATH,因为需要使用go get命令把驱动包下载到GOPATH下使用。首先配置好你的GOPATH,执行以下命令,下载安装mysql驱动,下载完成之后会在GOPATH下的src/github.com目录下安装命令:go get github.com/go-sql-driver/mysql1 打开数据库连接,跟jdbc类似...
2019-12-03 16:42:16 1082
原创 python开发之web篇-flask框架操作mysql数据库
一 数据库连接from flask import Flask, render_templatefrom flask_sqlalchemy import SQLAlchemy# import pymysqlapp = Flask(__name__)# 配置flask配置对象中键:SQLALCHEMY_DATABASE_URIapp.config['SQLALCHEMY_DATA...
2019-08-14 13:25:31 2891 1
原创 python开发之web篇-flask框架入门
python做web开发已经不是什么新鲜事了,学习之前也查阅过一些资料也和常用作前后端开发的几门编程语言做过一些对比,虽说不一定要使用python做web开发,但还是觉得有必要简单的接触学习一下,也就当成拓宽知识面了一 常用的python web开发框架FlaskFlask确实很“轻”,不愧是Micro Framework,从Django转向Flask的开发者一定会如此感慨,除非二者均...
2019-08-12 13:25:38 2582
原创 CI框架的使用-模型操作和自定义库的载入及使用
一 模型的使用模型是和数据库底层交互的模块,规范的三层模式模型层是必须的,但也有一部分php开发者直接在控制器操作数据库,这种做法虽然没错但会给后期的维护造成麻烦CI框架中我们应该把模型写在,application下的models文件夹下面,且要继承CI_Model,如下所示:<?phpclass User_model extends CI_Model{ pub...
2019-08-06 10:52:19 1357
原创 CI框架的使用-原生SQL和ORM模式操作数据库、视图
一 数据库配置文件的配置和自动加载1 直接修改config文件夹下面的database.php,把数据库相关信息填上去即可$db['default'] = array( 'dsn' => '', 'hostname' => 'localhost', 'username' => 'root', 'password' => '123456', 'datab...
2019-08-05 14:05:15 2874
原创 CI框架的使用-环境搭建
一 下载和安装下载地址:https://codeigniter.org.cn/download除了上面的地址也可以到英文官网下载,但速度上可能差一点,之后新建一个项目并配置虚拟主机即可访问<VirtualHost *:8081> DocumentRoot 'D:/phpenv/zendspace/useci' ServerName localhost ...
2019-08-05 11:01:51 1856
原创 laravel的使用-文件上传
目前php的各大常用框架都为我们直接封装好了文件上传的相关代码,不用再劳心劳力的自己写,使用起来也大同小异,省心不少一 准备表单页面<!DOCTYPE html><html><head><meta charset="UTF-8"><title>文件上传测试</title><link rel="sty...
2019-08-01 15:59:18 7432
原创 laravel的使用-验证码的生成
laravel中并未直接提供验证码供我们使用,如果需要使用验证码,则需要使用composer安装相关依赖,方可使用一 安装依赖composer require gregwar/captcha=1.1.7同理还是需要先进入laravel项目目录,使用composer执行上面的命令即可,安装过程稍慢,耐心等等就OK了下面是有关此验证码的使用方法https://packagi...
2019-07-31 14:40:14 715
原创 laravel的使用-视图和分页的使用
之前分享了自己对模型和控制器的一些使用方法,这次将分享有关视图以及分页的一些简单用法一 分页通过阅读laravel的开发文档可以知道通过模型或者DB::table的方式可以实现分页,以模型的方式来说应付简单的查询或许不成问题,但如果是带复杂查询的分页可能就力不从心了。因此可以根据实际情况选择是通过模型使用分页还是原生sql方式实现分页重要:原生sql用括号括起来并起别名;sql语句用...
2019-07-30 16:28:35 1375
原创 laravel的使用-模型和数据库基本操作
一 数据库相关配置(项目根目录的.env文件)DB_CONNECTION=mysqlDB_HOST=127.0.0.1DB_PORT=3306DB_DATABASE=tpstudyDB_USERNAME=rootDB_PASSWORD=123456二 原生sql语句实现增删改查php的常用框架大多都提供了至少2种的数据库操作方式,分别是模型、原生sql,模型的方式适用简单...
2019-07-24 15:31:56 2789
原创 laravel的使用-环境搭建
一 相关开发环境的安装1 安装composer关于安装方面不会有太大问题,都是点 下一步 就能安装好了,这里需要注意的是镜像问题,执行下面的命令即可composer config -g repo.packagist composer https://packagist.phpcomposer.com2 使用命令创建工程并配置虚拟主机composer create-pr...
2019-07-23 15:12:25 2724
原创 vue父子组件通信实现简单的评论功能
vue中父子组件通信在日常开发中还是比较常用的,与之相关的文章也非常多,这次分享给大家的是一个子组件和父组件交互的小例子,效果如下上半部分是评论列表,下半部分是子组件,当填写评论人和评论内容,点击发表刷新上半部分的评论列表<!DOCTYPE html><html><head> <meta charset="utf-8" /> ...
2019-03-23 09:37:56 1167
原创 solr框架的使用-API的使用DEMO
solr控制台相信比较容易,简单摸索就可以学会使用了,对于后端开发人员来说还是直接用程序代码操作直观些,因此这次特别拿出了我的学习小例子分享给大家,demo使用springboot开发,图片服务器使用nodejs(也可以使用nginx或者其他方式)1 程序依赖pom和配置文件<project xmlns="http://maven.apache.org/POM/4.0.0" xml...
2019-02-16 13:56:35 993
原创 solr框架的使用-环境搭建和配置
前不久公司打算做商城,综合网上的各种案例然后打算使用搜索框架实现产品按关键字搜索功能,遗憾的是考虑到时间周期和运维成本最终没使用,solr就成了给自己定的学习内容,来看看我的学习成果吧,如有不全面之处请大家谅解或指出一 环境准备1 tomcat8和jdk1.82 solr的windows版war包或zip,这里使用的是4.10的版本solr版本不同搭建环境的步骤方法可能存在差异,...
2019-02-16 11:52:58 521
原创 PHP微信定制开发-服务器被动回复消息之图文消息
接着上次分享的服务器被动回复文本消息,这次分享的是图文消息(也叫文章消息),文本消息虽然可以处理大部分的业务需求,但美中不足的是消息过于死板不够活泼生动,为了丰富消息的内容和展现微信提供了图文消息供我们使用,这次分享的图文消息围绕必应的每日一图接口进行一 bing的图片信息获取接口这里我们只需要url属性即可,下面的工具类用于提取url<?phpnamespace ut...
2019-01-26 13:43:21 1148
原创 PHP微信定制开发-服务器被动回复消息之文本消息
在上一篇分享的博客中,php程序已经可以区分各种消息,并把识别到的消息类型回复给用户,这次会加入第三方接口的调用回复消息给用户一 准备工作百度车联网天气接口(官方文档找不到入口了,因为百度api经常调整,已经无力吐槽了)获取天气信息的接口工具类代码<?phpnamespace util;define("AK","你的百度api AK秘钥");class We...
2018-11-21 21:31:50 1148 1
原创 PHP微信定制开发-消息的识别和消息工具类的封装
对于消息管理,服务器被动回复消息是比较重要且需要好好掌握的知识点,在这个模块中我们需要接收到用户发送过来的消息,并识别出消息类型,最后把识别结果以文本消息的形式响应给用户,下面是文档地址https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140453从文档中我们可以看出通过MsgType来判断消息类型,通过Conte...
2018-11-17 20:46:23 459
原创 PHP微信定制开发-接口配置校验
纵观微信公众平台开发的各类书籍,基本上微信定制开发都是从微信消息开始的,主要是服务器被动回复消息这块为主,这个模块也算微信的核心,这次将以验证微信消息来自微信服务器为例,分享下我的代码一 入口的切入点我们知道做微信开发需要处理来自用户、微信服务器的各类的消息,查阅微信文档可总结出的规律是 验证消息来自微信服务器为GET请求,其他微信消息的推送是POST请求 , 根据这一规律我们就可以将校...
2018-11-17 15:47:56 334
原创 php7实现http和https请求web服务-通用工具类
前段时间做微信开发,因微信有众多接口调用,因此自己整理了一套比较通用的工具类,用以做接口 调用,考虑到方便性和简洁性,这里选择使用php的curl扩展库来实现1 curl启用和apache的配置先来看看网友们提供的众多错误方法,本人被这些资料坑的太惨 了(1)把dll复制到system32(64位的路径是其他)附带重启apache(2) 直接到php.ini开启curl扩展即可(这...
2018-11-12 21:30:58 2703
原创 php的mysql操作工具类pdo和mysqli
从php7开始mysql扩展库已经被全面移除,原因暂不清楚,官方推荐我们使用mysqli和pdo,这次就针对pdo和mysqli分享下我的两个工具类1 PDO的mysql操作工具类这种方式已经用的越来越多了,pdo使用面向对象的方式操作数据库,pdo是很多人都比较推荐的方式。但需要注意的是: 主机地址最好写成IP地址,例如127.0.0.1而不是localhost,否则容易出现数据库...
2018-11-09 20:52:35 1234
php操作xml的三种方法
2013-10-19
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人