4 乂乂乂乂

尚未进行身份认证

我要认证

清水河畔一小生

等级
TA的排名 8w+

使用MobPush实现消息推送(使用别名实现精准推送)

消息推送功能。在实际项目中,需要集成消息推送的功能,从而可以及时地提醒用户一些信息,比如订单发货、奖励金到账等。同时,也可以向用户推送一些平台的优惠,或者一些广告。。。。这个功能可采用 MobPush 这个第三方提供的库来实现, 而且最重要的是,它是完全免费的!!!!MobPush首页实现消息推送的技术文档消息推送的工程代码参考上面三个链接,基本就可以实现消息推送的功能了。这里针对 推送目标 再做一点说明,官方允许的选项是目标类型:1广播;2别名;3标签;4regid;5地理位置;6用户分群

2020-08-11 16:28:52

阿里云、腾讯云实人认证(身份证、人脸图像比对)

调用第三方API,实现实名认证的功能。阿里云实名认证首先,导入maven依赖<dependency> <groupId>com.aliyun</groupId> <artifactId>aliyun-java-sdk-core</artifactId> <version>4.4.3</version></dependency><dependency> <

2020-08-11 15:43:45

发送验证码,阿里短信服务

使用阿里云提供的短信服务,实现根据手机号发送验证码的功能。首先,导入maven依赖<dependency> <groupId>com.aliyun</groupId> <artifactId>aliyun-java-sdk-core</artifactId> <version>4.5.0</version></dependency>传入手机号,以及要发送的验证码内容,调用该函数就可以实现验证

2020-08-11 15:04:24

使用OSS API上传图片、视频等到阿里云(以及解决无法在线预览图片的问题)

向阿里云上传图片、视频、或者其他一些文件。// 上传文件private static String upFile(String file,String newName){ String endpoint = "http://oss-cn-hangzhou.aliyuncs.com"; String accessKeyId = "********x1S7yOby"; String accessKeySecret = "*********fT0csI9Bzdv"; OSS

2020-08-11 14:46:11

使用java生成指定长度的随机验证码

生成随机验证码可以自定义长度,而且可以自己指定生成的验证码内容的取值范围。/** * 获取验证码 * @return */public static String generateSmsCode(int len){ String result = ""; for (int i = 0; i < len ; i++) { result = result + randomChar(); } return result;}

2020-08-07 21:15:06

在postgre数据库中,强制删除一个数据库

在使用postgre数据库时,有时我们可能需要删除其中某个数据库,但是采用可视化管理工具(如navicat)进行删除时,却一直提示其他程序正在使用,无法删除。即使我们已经把调用该数据库的程序都关了,他还是提示有其他的程序正在使用,这时我们就可能需要去进一步看那些程序在使用,然后在一个一个关闭,这个方法太麻烦,而且有时我们很难确定到底是哪个程序在使用数据库。我就是想要删除一个不想再使用的数据库,为什么这么难???有简单的方法吗?有,而且简单粗暴,包治一切!我们只需要新建一个查询窗口(也就是可以编写s

2020-08-07 21:03:31

java中对象和JSON的互转(使用JSON-lib实现)

在开发中,通常情况下,后台需要将所有的信息转成JSON格式返回到前端,同时,有时也要将前端传递的JSON格式的信息解析成对象进行处理,这就涉及到了JSON和对象之间的互相转换问题。什么是JSONJSON是一种轻量级的数据交换格式,采用完全独立于编程语言的文本格式来存储和表示数据。层次结构简洁、清晰,易于人阅读和编写,同时也易于机器解析和生成,而且可以有效地提升网络传输效率。示例:{ "people":[ { "firstName": "Brett", "

2020-08-07 20:50:38

利用java生成uuid

在实际项目中,我们可能想生成一个随机的而且可以保证唯一的标识,比如在给图片命名时,这时就可以采用uuid来生成随机字符串,这个随机字符串基本上是不会出现重复的。什么是UUIDuuid,就是 通用唯一识别码 的缩写。它的组成比较复杂,是基于当前时间(纳秒级时间)、计数器、硬件标识(通常是MAC地址)以及随机数等组合来生成的,一般情况下,不会生成重复的UUID(重复几率非常小,据概率估计,若每秒产生10亿笔UUID,100年后只产生一次重复的机率是50%),所以,我们大可不必考虑发生重复的问题。它有很多不

2020-08-07 20:17:51

获取视频第一帧、指定帧(java实现、阿里oss自动实现)

      在实际项目中,上传视频后,需要将视频的首帧截取出来显示,从而可以清晰看出视频具体是哪一个,这就要实现一个功能来截取视频的指定帧。用java借助第三方库实现首先,使用maven来管理项目,导入依赖, <dependency> <groupId>org.bytedeco</groupId> <artifactId>javacpp&l.

2020-08-06 20:13:43

什么是数字签名、数字证书?

数字签名是什么?今天,我读到一篇好文章。它用图片通俗易懂地解释了,“数字签名”(digital signature)和"数字证书"(digital certificate)到底是什么。我对这些问题的理解,一直是模模糊糊的,很多细节搞不清楚。读完这篇文章后,发现思路一下子就理清了。为了加深记忆,我把文字和图片都翻译出来了。====================================================数字签名是什么?原文网址:http://www.youdzone.co

2020-08-05 15:05:46

Base64编解码原理以及其和图片之间的互相转换

  有时,在实际项目中,需要将图片编码为Base64格式,然后进行传送。比如,腾讯云中一些实名认证的服务,就需要将图片编码为Base64格式,然后调用API接口进行验证。那到底什么是Base64呢?一、Base64百度百科解释是:Base64是网络上最常见的用于传输8Bit字节码的编码方式之一,Base64就是一种基于64个可打印字符来表示二进制数据的方法。什么是“可打印字符”呢?为什么要用它来传输8Bit字节码呢?在回答这两个问题之前我们有必要来思考一下什么情况下需要使用到Base64?Ba.

2020-08-04 20:53:59

重建二叉树(剑指offer 第七题)(多种方式实现)

07、重建二叉树题目:输入某二叉树的前序遍历和中序遍历的结果,请重建该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。前序遍历 preorder = [3,9,20,15,7]中序遍历 inorder = [9,3,15,20,7]返回如下的二叉树: 3 / \ 9 20 / \ 15 7分析:首先分析前序遍历和中序遍历的特点:前序遍历—>根左右; 中序遍历---->左根右所以,前序遍历中,第一个数一定是根节点,又因为

2020-06-25 22:25:05

matlab进行图像傅里叶变换去噪(fft2、fftshift、ifft2、ifftshift)

在数字图像处理中,去噪是一个经常进行的操作。除了在空域上进行去噪,比如使用均值滤波、中值滤波等等滤波器外,利用傅里叶变换在频域上进行操作也是一种非常有效的方式。使用傅里叶变换进行图像去噪的原理如下:我们知道,图像中的噪声往往代表着图像上灰度值的突变,从而对应着高频部分,而图像中的其他大部分内容则主要集中在低频部分。因此,通过将空间图像进行傅里叶变换后,转化到频域上,我们可以得到这个图像每个...

2020-03-23 21:15:35

python中绘制三维曲面图 (mpl_toolkits.mplot3d 的 Axes3D)

先占个位,以后有机会在详细写。附一个实例链接:python三维绘图

2020-03-17 17:39:04

np.sum和sum区别、np.tile()、np.clip()、np.outer()、np.dot()和np.multiply()和np.matmul()和 * 的区别

一、np.sum()和sum的区别如果只用sum()的话,表示的是数组中对应维度上的数相加,得到的是比原始数组少一维的数组。如果写 np.sum() 的话,表示一个数组中的维数和列数上的所有数都加在一起,得到的是一个数值。二、np.tile()b = tile(a,(m,n)): 即是把a数组里面的元素复制n次放进一个数组c中,然后再把数组c复制m次放进一个数组b中,通俗地讲就是将a在行...

2020-03-17 17:24:55

numpy 中的 np.pad() 函数

一、参数解释ndarray = numpy.pad(array, pad_width, mode, **kwargs)array为要填补的数组pad_width是在各维度的各个方向上想要填补的长度,如((1,2),(2,2)),表示在第一个维度上水平方向上padding=1,垂直方向上padding=2,在第二个维度上水平方向上padding=2,垂直方向上padding=2。如果直接输入...

2020-03-17 14:01:08

自动求解数独(9 X 9)

在疫情防控的关键时刻,在家闲来无事,就尝试着在手机上玩数独游戏。但是解起来比较让人头疼,一不小心填错就要从头再来,费时耗力。(但是对于锻炼思维是极好的,哈哈哈哈哈哈哈哈嗝…)为了能够快速解决数独问题,顺便温习温习一个寒假没有摸过的python和算法,所以就计划自己编程来实现数独的自动填充。采用的思想是**回溯**。通俗一点说就是从头到尾一个一个试,有点类似于深度优先搜索,当进行到某一个位置不...

2020-02-23 12:24:50

将 .ipynb 文件转换为 .py文件

首先,确保安装了 jupyter 包,没有安装就 pip install 一下;然后,将其路径添加到系统路径中;之后,cmd 打开命令行,切换当前目录到 .ipynb 文件所在目录下;输入命令:jupyter nbconvert --to script ****.ipynb**** 指的是自己的文件名回车后就完成了转换,新生成的文件名和原文件名一致,并在同一目录下。...

2020-01-12 15:13:07

基于django框架,使用python搭建web服务器的步骤

本文主要介绍如何从零开始,进行一个 django 框架下 web 服务器的搭建,这里只简要介绍搭建的步骤。1、首先,cmd进入命令行,切换当前目录到你要在哪里进行创建项目的目录下,比如我在 D:\web\ 下创建目录,则如下所示:2、然后,输入 django-admin startproject projectname (其中,projectname是你项目的名字,...

2019-12-09 21:54:47

基本的 TCP Socket 编程(c++、linux环境下)

本文简要介绍并实现一个客户端和服务器之间进行通信的程序,主要目的是为了了解建立客户端和服务器连接的过程,熟悉相应的API。主要用到的API有如下几个,socket()、connect()、bind()、listen()、accept()。下面附一个简单的代码实现:首先,是客户端程序:#include <sys/socket.h>#include &l...

2019-12-09 20:15:41

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv2
    勤写标兵Lv2
    授予每个自然周发布4篇到6篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。