- 博客(33)
- 收藏
- 关注
原创 保证接口幂等性
这里要注意的是,去重表和业务表应该在同一库中,这样就保证了在同一个事务,即使业务操作失败了,也会把去重表的数据回滚。先删除token:如果系统出现问题导致业务处理出现异常,业务处理没有成功,接口调用方也没有获取到明确的结果,然后进行重试,但token已经删除掉了,服务端判断token不存在,认为是重复请求,就直接返回了,无法进行业务处理了。1、服务端提供了发送token的接口。我们在分析业务的时候,哪些业务是存在幂等问题的,就必须在执行业务前,先去获取token,服务器会把token保存到redis中。
2023-09-21 14:21:39
131
原创 数据库设计步骤
PS:部分函数依赖:某个字段,由组合关键字中的一个字段决定,比如:用户信息跟物品信息放同一张表,用户信息有用户决定,物品信息由物品决定;1、对数据进行比较(查询条件、join条件及排序),同样的数据,字符处理往往比数字慢;2、根据数据库类型,考虑主键是否要按顺序增长:有些数据库是按主键的顺序逻辑存储的;比如:用户包含的属性、可唯一标识属性(用户名、电话等)、存储特点(永久保存);(2)选择性高的列放索引前面(非必须,数据库编译的时候,会自动选择索引);3、第三范式:在第二范式基础上,字段不存在传递依赖;
2023-09-21 09:33:35
581
转载 面向对象设计模式5大基本原则
“宇宙万物之中,没有一样东西能像思想那么顽固。” 一爱默生首先明确模式是针对面向对象的,它的三大特性,封装、继承、多态。面向对象设计模式有5大基本原则:单一职责原则、开发封闭原则、依赖倒置原则、接口隔离原则、Liskov替换原则。而设计模式都是在面向对象的特性以及5大基本原则的基础上衍生而来的具体实现。1、单一职责原则(SRP): 1.1,SRP(Single Responsibilities Principle)的定义:就一个类而言,应该仅有一个引起它变化的原...
2021-10-29 18:00:12
4064
转载 sublime text 3 插入当前时间
创建插件** Tools → New Plugin... **插入如下代码,并将文件保存为// Sublime Text 3 - sublime text 3 安装的路径Sublime Text 3\Data\Packages\User\addCurrentTime.py// such as : windows下的sublime存储路径例子D:\SoftwareFiles\Sublime...
2018-06-28 17:23:00
567
转载 laravel错误1071 Specified key was too long; max key length is 1000 bytes
Laravel 5.4默认使用utf8mb4字符编码,而不是之前的utf8编码。因此运行php artisan migrate 会出现如下错误:[Illuminate\Database\QueryException]SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key...
2018-06-24 11:57:19
514
转载 PHP安装Xdebug拓展
1. Linux、macOS 下安装#下载、解压、安装、编译:$ curl -O https://xdebug.org/files/xdebug-2.5.0.tgz$ tar -zxf xdebug-2.5.0.tgz$ cd xdebug-2.5.0$ phpize$ ./configure --with-php-config=/usr/bin/php-config$ make$ m...
2018-06-19 13:41:20
664
1
转载 用yum快速搭建LAMP平台
实验环境:[root@nmserver-7 html]# cat /etc/redhat-release CentOS release 7.3.1611 (AltArch) [root@nmserver-7 html]# uname -aLinux nmserver-7.test.com 3.10.0-514.el7.centos.plus.i686 #1 SMP Wed Jan 25 1...
2018-06-18 22:49:58
335
转载 安装程序遇到错误0x80240037
安装ie插件或者微软的一些其他程序等报错0x80240037,如下图所示:解决办法:下面我将以ie的插件IE11-Windows6.1-KB3008923-x64.msu安装为例:1、把IE11-Windows6.1-KB3008923-x64.msu的后缀名msu改为cab,然后解压,注意解压到一个新的文件夹中,不要在本文件夹中解压(例如:我的解压在cab文件夹中);解压后的文件夹内容如图:然后...
2018-06-17 11:51:33
8124
转载 sourcetree跳过注册的方法
很多人用git命令行不熟练,那么可以尝试使用sourcetree进行操作。然鹅~~sourcetree又一个比较严肃的问题就是,很多人不会跳过注册或者操作注册。废话不多,我们直接开始跳过注册阶段的操作。下载好之后会有这么一个界面要求你注册或登录。(不管它)将下面的一串串放进我的电脑的地址栏,打开sourcetree的文件夹%LocalAppData%\Atlassian\SourceTree\通常...
2018-06-14 13:36:25
4753
转载 Nginx简介及配置文件详解
一 Nginx简介 Nginx是一款开源代码的高性能HTTP服务器和反向代理服务器,同时支持IMAP/POP3/SMTP代理服务 1.Nginx工作原理 Nginx由内核和模块组成,完成工作是通过查找配置文件将客户端请求映射到一个location block(location是用于URL匹配的命令),location配置的命令会启动不同模块完成工作。 Nginx模块...
2018-05-24 11:08:35
222
转载 Linux下面如何用tcpdump抓包
很多时候我们的系统部署在Linux系统上面,在一些情况下定位问题就需要查看各个系统之间发送数据报文是否正常,下面我就简单讲解一下如何使用tcpdump抓包tcpdump是Linux下面的一个开源的抓包工具,和Windows下面的wireshark抓包工具一样, 支持抓取指定网口、指定目的地址、指定源地址、指定端口、指定协议的数据。1、安装tcpdumpyum install -y tcpdump2...
2018-05-23 16:59:16
209
转载 Linux 添加Nginx 到 service 启动
第一步:编写nginx文件,放入/etc/init.d/nginx文件内容如下,粉红色部分为自己实际nginx安装的路径。#!/bin/bash# nginx Startup script for the Nginx HTTP Server# it is v.0.0.2 version.# chkconfig: - 85 15# description: Nginx is a hi...
2018-05-23 15:41:17
532
原创 狼追兔子
class The_Wolf_Chased_Rabbit{ //总洞数 const HOLE_NUM = 10;//次数;private $_times = 1; //当前洞;private $_currHole = 0;/** * @author:linquan 2017-11-29; * @retu
2017-11-29 10:47:44
624
原创 九宫格乃至(2n-1)x (2n-1)宫格代码——绝对原创
上班闲时了解九宫格,就自己写了个2n-1宫格的类:class Build_Grids{ /** * @var int 行颜色; */ private $_tdStyle = 'style="border:1px solid;text-align:center;padding:5px 30px 5px 30px;font-size:16p
2017-11-29 09:32:31
489
原创 典型的代码(汉诺塔等)
1、汉诺塔:打印出每一步做的操作和总行数;//汉诺塔问题处理;function HanNuoMove($n, $a, $b, $c, &$line){ if(1 === $n){ echo $line .'::'. $a .'->'. $c .''; $line++; }else{ HanNuoMove($n - 1, $a, $c,
2017-11-15 09:30:20
268
转载 Sublime Text 3 配置 PHP IDE环境 并使用Xdebug进行调试
首先是安装好PHP之后配置环境变量 然后在cmd中输入php -v 能看到版本号即为配置好了 之后在sublime中新建编译系统,输入代码{"cmd": ["php", "$file"],"file_regex": "^(...*?):([0-9]*):?([0-9]*)","selector": "source.php"}1234567891234567
2017-06-09 10:01:34
1277
1
转载 入门Webpack,看这篇就够了
写在前面的话阅读本文之前,先看下面这个webpack的配置文件,如果每一项你都懂,那本文能带给你的收获也许就比较有限,你可以快速浏览或直接跳过;如果你和十天前的我一样,对很多选项存在着疑惑,那花一段时间慢慢阅读本文,你的疑惑一定一个一个都会消失;如果你以前没怎么接触过Webpack,而你又你对webpack感兴趣,那么动手跟着本文中那个贯穿始终的例子写一次,写完以后你会发现你已明明白白
2017-05-18 12:01:33
623
转载 编译安装PHP参数解释小全
编译安装PHP参数解释小全./configure--prefix=/usr/local/PHP php 安装目录 --with-apxs2=/usr/local/apache/bin/apxs 表示使用apache2.0以上版本,apxs表示使用的apache1.0版本--with-config-f
2017-02-28 15:49:47
397
2
转载 最全的mysql 5.7.13 安装配置方法图文教程(linux) 强烈推荐!
linux环境Mysql 5.7.13安装教程分享给大家,供大家参考,具体内容如下1系统约定安装文件下载目录:/data/softwareMysql目录安装位置:/usr/local/mysql数据库保存位置:/data/mysql日志保存位置:/data/log/mysql2下载mysql在官网:http://dev.mysql.com/downloads/m
2017-02-12 18:49:46
2817
5
转载 session机制详解
虽然session机制在web应用程序中被采用已经很长时间了,但是仍然有很多人不清楚session机制的本质,以至不能正确的应用这一技术。本文将详细讨论session的工作机制并且对在Java web application中应用session机制时常见的问题作出解答。 一、术语session 在我的经验里,session这个词被滥用的程度大概仅次于transacti
2017-02-08 16:25:41
340
原创 创建csv文件实例
/****************************************************************************** 创建一个csv格式数据* 作者:Jack Lin* 日期:2016-12-6* 备注:该方法只是要整一个csv文件下载实例;************************************************
2016-12-06 10:22:42
3335
原创 获取手机号码被360标记问题(代码备份)
/*********************************************************************** * 检查大号是否被360标志 * 作者:Edward * 日期:2016-11-24 * 参数: * 代码逻辑: * 备用测试号码:18682421839(诈骗),15738969521(快递送
2016-12-06 09:53:37
2437
原创 遍历目录
/************************************************ 遍历目录***********************************************/function list_dir($dir, $mark = ''){$dir_arr = scandir($dir);$mark .= '|---';foreach
2016-11-13 17:09:35
321
原创 css积累
一、元素属性应用:1、font:(1)主要属性:font-family(字体族):“黑体”、“宋体”等;font-style(字体样式):normal(正常)、italic(斜体)或oblique(倾斜);font-variant(字体变化):normal(正常)或small-caps(小体大写字母);font-weight(字体浓淡):normal(正常)或bold(加粗
2016-06-24 12:20:44
446
原创 mysql优化(第一部分)
一、设计局限和初衷1、MyISAM存储引擎,MySQL使用极快速的表锁定,以便允许多次读或一次写。使用该存储引擎的最大问题出现在同一个表中进行混合稳定数据流更新与慢速选择。2、为了更容易地让非事务表顺利工作,为所有NOT NULL列设置默认值。3、不是运行在严格模式或TRADITIONAL SQL模式时,插入值会变为“最好可能值”。4、所有表达式的计算结果返回一个表示错误状况的
2016-06-19 22:31:43
306
原创 数据库管理
一、服务器脚本和实用工具:1、mysqld:要想使用客户端程序,该程序必须运行,因为客户端通过连接服务器来访问数据库。2、mysqld-max:包含更多特性的mysqld。3、mysqld_safe:如果mysqld-max存在,mysqld_safe试图启动它,否则启动mysqld。4、mysql.server:(注意,是mysql.server,不是mysqld.server)
2016-06-12 07:17:45
740
原创 mysql教程
一、输入查询:select version();获取版本信息;select current_date;返回当前日期;select now();返回当前时间;select user();返回链接的用户;二、创建并使用数据库:1、在unix下,数据库名和表名区分大小写,所以最好在代码中严格使用一样的名字;2、链接数据库时,-p输入密码,-p后面不能有
2016-06-12 01:40:28
626
原创 web编程细节
html:1、若使用的是火狐、谷歌浏览器,表单的reset按钮无法将hidden域重置为初始值,若需要重置隐藏域,可以使用display:none实现隐藏。或者用js实现重置。
2016-06-08 15:01:47
916
原创 mysql碎片知识(一般信息)
一、事务和原子操作: 事务性和非事务性表类型之间的权衡主要取决于性能。事务性表对内存和磁盘空间的要求更高,CPU开销也更大。另一方面,多种事务性表类型,如InnoDB,也能提供很多显著特性。二、外键: 好处:1、外键约束使得程序员更难将不一致性引入数据库; 2、消除了不同应用程序使用不同方式检查约束的可能性; 3、使用级联更新
2016-06-06 01:20:53
359
空空如也
Linux的curlpost数据多一个字节就超时,求帮助
2023-03-10
TA创建的收藏夹 TA关注的收藏夹
TA关注的人