自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 手把手教你用JSP+Servlet+Tomcat实现一个最简单的Web应用

JSP+Servlet+Tomcat实现一个简单的Web应用需要使用到的技术①JSP② Servlet③TomcatWeb开发中的常见概念Demo插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导...

2019-10-31 11:51:14 10908 6

原创 golang反序列化json,不存在的字段设置默认值

业务里要调第三方接口,返回的json里有俩字段可能有,也可能没有。没有的情况和为0值的情况对应不同的业务逻辑,在编写代码的时候发现没法在struct上指定字段默认值。其实可以先给struct的实例设置默认值,再去json.Unmarshal,但是第三方接口返回的json是一个嵌套的数组结构,我压根不知道json里面的BehaviorData数组有多少元素,没法这么玩。

2023-06-28 15:01:08 2939

原创 javascript学习笔记

目录JavaScript Lambda表达式面向对象和函数式编程 oop&fp编程的本质数据存放的差异数据访问的差异OOP、FP各自的优势javascript的优势JavaScript的面向对象JavaScript Lambda表达式本质上就是一个匿名函数,形式为: (pram1, param2, …) => { //some operations return xxx; }lambda表达式还能够依据不同参数&返回值的需求进

2021-03-03 20:38:11 477 1

原创 golang sqlx查询报错: missing destination name xx in xxx

sqlx查询多条记录,存入一个结构体slice中,尝试了单独select某一个字段,大多数报missing destination name xx in xxx这样的错,有些字段又不报错,一路调试跳进去看,最终找到问题:(也有很多人因为tag中 db:“msgId”)漏掉了这两个引号导致上述问题发现Message这个结构体中,那五个有红圈的字段,在反射时都没有找到映射的db字段名,原来是写tag时,多敲了一个\t。去掉多余的\t后,就可以正确将结果存入slice了。他????的,一个制表符折腾

2021-02-17 02:01:41 3646

原创 javascript对Date进行JSON序列化丢失时区

目录问题背景逐步调试差错解决办法问题背景js中获取当前时间,并进行json序列化,传至后台,发现存入数据库中后时间早了八个小时。 var msgObj= { msgId:RndNum(16), msgType:messageType, data:message, fromUid:fromUid, toUid:toUid, createAt:new

2021-02-16 18:43:28 1586

原创 golang重载MarshalJSON实现自定义序列化

背景:time.NOW()获得的时间格式是RFC3339格式的,需要把他按照yyyy/MM/dd hh:mm:ss的格式进行json序列化并返回给前端解决方法:给目标类型创建一个别名,并对该别名重载MarshalJSON方法,例如: //给time.Time创建别名为jsonTime type jsonTime time.Time //包含time.Time类型字段的结构体,改用jsonTime这个类型 type Message struct { Create

2021-02-02 22:50:21 4258 1

原创 高性能计算期末复习

高性能计算复习并行计算为什么需要并行计算?总体来说,并行计算的目的是提高计算性能。为了达到这个目的,在计算机发展的各个阶段有着不同的手段。提高处理器字长提高芯片集成度微体系结构技术革新提高处理器频率此后,由于集成度、指令集并行度、存储器速度、功耗和散热等等问题的限制,单核CPU性能达到极限。于是进入了多核、众核CPU时代。与此同时在应用领域计算规模和复杂度也大幅提高,在此种情况下,唯有并行计算才能满足需求。答:在计算机处理器单核性能达到极限后发展出了多核、众核系统,在应用领域计算

2021-01-06 09:29:42 827 1

原创 golang使用sqlx报错:unsupported type []interface {}, a slice of interface

问题:自己使用sqlx操作数据库,想封装一个Insert函数:func Insert(sql string,args ...interface{}) (int,bool){ ret, err := DataSource.Exec(sql, args) /*这里是错误写法*/ if err!=nil{ return 0,false } id, err := ret.LastInsertId() return int(id),true}执行Insert时传入sql和两个参数,sqlx报错

2020-12-29 23:48:08 5066 1

原创 golang后端接入MOB的短信服务

背景:初学golang,想和同学前后端分离做个小APP,我负责后端。需要用到短信服务来做验证码登陆,选择了MobTech的SMS服务(一个月免费1W条,MOB牛逼!)问题:以前做的短信登陆逻辑如图:MOB文档中给出了两种策略:我感觉第一种后端不涉及验证过程的策略可能存在安全隐患,因为校验短信验证码的动作发生在前端,之后由开发者在前端回调后台的业务接口诸如登陆和注册。那么在调用这一业务接口时,肯定需要前端引入某种加密策略,来确保对该接口的请求一定是前端经过完整的验证码流程后发起的,只有这样

2020-12-27 22:03:05 521

原创 Golang 中JSON unmarshal解析数据的类型

背景:初学golang,在demo项目中接入sms短信服务,需要通过第三方的接口校验验证码。共使用到以下三个包: "encoding/json" //json解析相关 "io/ioutil" //解析httpResponse的body "net/http" //发起http请求//校验收到的验证码func VerifyCode(phone, code string) (bool, error) { // json contentType := "application/json

2020-12-27 19:47:48 2019 1

原创 golang学习笔记

编译运行文章目录编译运行前言一、golang的优势?二、编译运行三、代码规范四、语言特性·指针·结构体·命名相关问题·方法和函数·结构体嵌套·接口·golang接口相关的特性五、基础语法·声明变量·控制台打印·声明结构体对象·结构体初始化·流程控制六、 集合数组切片切片表达式判断切片是否为空切片的拷贝切片中删除一个元素切片添加元素切片的扩容机制map创建和初始化获取map中元素向map中添加元素遍历map删除元素小例题:英文单词词频统计七、常用标准库中的一些经典用法(不断更新)前言初学golang

2020-12-13 22:44:38 1148

原创 最长公共子序列LCS

给定两个字符串str1和str2,输出连个字符串的最长公共子序列。如过最长公共子序列为空,则输出-1。例:s1={1,3,4,5,6,7,7,8},s2={3,5,7,4,8,6,7,8,2}out:{3,5,7,7,8}思路:如果是要寻找两个串的最长公共子序列的长度,可以利用以下递推公式:令dp[i][j] 表示字符串S1前i个字符构成的子串 与 S2前j个字符构成的子串的LCS长度。当s1[i-1]==s2[j-1],即两个子串的最后一个字符相同时,有dp[i][j1] =dp[i-1][j-

2020-11-18 20:02:58 133

原创 sql查询互相关注关系

背景:有followers表和user_basic表。需求:要根据用户id查出跟他互关的用户id和留给他的备注名(followers表),以及这些用户的基本信息(user_basic表)。 SELECT tb1.followId,tb2.followId,tb1.followFrom,tb1.followTo,tb1.memoName,u.portrait,u.nickName FROM followers tb1 INNER JOIN followers tb2 ON tb1.follow

2020-06-02 23:37:39 2330

原创 安卓前端依赖JWT解析token出现的Base64编解码问题

后台是通过JWT创建、解析token的,登陆接口给前端返回token后前端需要解析其中payload段的参数。前端采用这段代码解析的时候编译没问题,运行时出现异常:查阅博客之后发现是Android的FrameWork层和JWT之间jar包冲突,详情见博客:Android中使用commons-codec-1.6.jar 进行Base64编解码出现的问题https://www.cnblogs.com/jooy/p/9146527.html上文中提供了解决方案,但好像比较复杂,由于我们前端只是用来解

2020-05-23 21:26:55 1625 2

原创 SpringBoot静态变量注入配置文件参数

静态变量直接打@Value注解无法成功注入参数值,需要在setXX方法上加Value注解。.properties文件:注入成功!

2020-05-06 23:08:59 913

原创 含中文的response body不完整

自制的web服务器通过socket 输出流回写响应时,发现response body中只要出现中文,就会短一截。当出现三个中文字符,缺少了 /html> 这六个字符。每多一个中文字符,response body就会缺两个字符,我立马想到了utf-8编码下中文字符占三个字节这一特点,这可不就是3-1=2嘛!回想一下整个web server的设计,统一采用utf-8编码进行IO,那肯定是...

2020-04-27 22:26:10 645

原创 Byte数组转字符串再getBytes和原来不一样

用IO流读取并输出图片时,采用byte数组读取固定长度len,为了保证当最后一次读取字节数不足len时后面未被覆盖的字节对输出产生影响,一般采用new String(bytes,0,len).getBytes()的方法去截取字节数组的有效长度。初学IO流的时候就是采用如下的代码进行复制文件的 //方法二 基本字节流 一次一个字节数组(1024) System.out.println("方...

2020-04-22 22:53:22 2566 2

原创 SpringBoot整合JWT实现API身份校验

上一个项目采用的是session存储uid的方式来确认API调用方的合法身份,这次的app则打算采用token的方式进行身份校验,此二者的优缺点有很多博客进行了论述,这里就不谈了。本文中的代码以及部分内容参考自SpringBoot整合Token原创lamarsan————————————————版权声明:本文为CSDN博主「lamarsan」的原创文章,遵循 CC 4.0 BY-SA 版...

2020-04-15 00:07:03 303

原创 MySql确保指定字段无重复记录

1.需求插入Topic的内容无重复方式一:给content字段添加唯一索引插入相同content的记录会抛异常改用INSERT IGNORE INTO 忽略相同记录方式二:未设计唯一索引时 通过SQL语句实现INSERT INTO topic (content,discussHot) (SELECT '新话题',999 FROM dual WHERE NOT EXISTS(SE...

2020-02-27 21:40:57 270

转载 Mysql批量update

内容转自博客:https://www.awaimai.com/2103.html更新一条数据UPDATE mytable SET myfield = 'value' WHERE other_field = 'other_value';将多条数据的某一字段更新为相同值UPDATE mytable SET myfield = 'value' WHERE other_field in ('ot...

2020-01-12 21:02:10 171

原创 CSS实现动态搜索框

跟着B站的前端教学做哒,自己添加了一点东西并且修复了一个bug。哔哩哔哩:使用HTML CSS完成一个出色的搜索框直接上效果gif吧HTML:<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Document</t...

2019-12-24 13:52:54 2470 1

原创 CSS实现简单登陆页面

先上效果:输入框的提示文字有个小动画,我感觉挺好看哒^^<!DOCTYPE html><html><head> <meta charset="utf-8" /> <title>透明登陆界面</title> <link rel="stylesheet" type="text/css" m...

2019-12-24 02:22:49 2238

原创 阿里云推送服务接入时由注入app数据引发的空指针异常

推送工具类PushDispatcher中,关于APP信息的静态成员变量如下:硬编码时能够正常推送,一旦通过properties文件将APP信息注入则运行到抛出空指针异常。调试发现client、profile对象都不为null,而进一步深入调试还是没能找到空指针产生的原因。由于刚刚才粗略学习了解了Spring框架相关知识,对Spring IOC容器初始化并注入Bean的机制没有深入的...

2019-12-22 02:12:29 294

原创 项目部署到阿里云邮件发送失败解决办法

项目部署到阿里云邮件发送失败解决办法springboot项目整合JavaMail 发送邮件。在本地部署能够成功发送,但是部署到阿里云服务器上就不行。原因:阿里云屏蔽了25端口,而SMTP服务器的非SSL协议端口号就是25.解决方法:采用SSL协议,改为465端口。部署之后可能还会出现某些安全协议引发的发送失败,JavaMail官网的API说明解如下:-- Socket Factori...

2019-12-19 14:58:52 730

原创 IDEA编码 GBK 的不可映射字符 (0xA8)问题

博客里有很多人也遇到了这个问题:编码 GBK 的不可映射字符 (0xA8)问题。我这儿控制台中文直接扑街显示不了。各种修改编码统一UTF-8的办法都试了,但还是没能解决。上述这个编译问题的解决办法就是把所有java文件的编码都修改为GBK:到底啥原理没整明白,日后再说吧。...

2019-10-31 21:07:42 2072 1

空空如也

空空如也

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

TA关注的人

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