订单系统:先减库存还是先下订单

答案是先下单再减库存 以 MySQL 作为 DB 为例,下订单就是 insert,在使用索引的情况下,insert 插入是行级锁,支持每秒 4W 的并发。减库存就是 update 操作,命中索引时也是行级锁,但是这是个独占锁,所有的操作都要等待前一个释放锁后才能继续 update。 问题就在这里,根据 MySQL 两段锁协议,我们应该把热点操作放到离 commit 近的位置,这样可以减少行级锁的持有时间!自然处理效率就更好一些。 事务begin ---> insert ---> 其他操作 --
分类: 其他 发布时间: 04-18 23:50 阅读次数: 0

接口自动化--使用正则管理数据

在做接口自动化测试过程中难免会遇到一些数据我们会使用动态的数据,比如注册的接口,在注册成功的场景下我们总不能使用一个固定的手机号,需要使用一个动态生成的手机号码。 所以在这个场景下我们可能最开始想到的是直接使用replace方法直接替换下就好了,这个方法可以,但是会有局限性 比如: data = '{"phone": "#phone#", "pwd": "#pwd#", "name": #name#}' 如果这个是你的测试用例里面的测试数据,使用replace方法岂不是要写三次?那如果更多呢?
分类: 其他 发布时间: 04-18 23:50 阅读次数: 0

gulp基本使用

一.gulp是什么 Gulp 是一种前端工作流的工具,它可以解决前端中很多其实并不需要人力参与的工作,例如: 变更静态资源 合成文件,把多个文件合为一个文件 监控变化,自动刷新浏览器 解析浏览器不识别的语言,如scss等 下面会说几个常见的gulp模块,列举功能和例子,希望你看完本章后能对gulp有个基本的掌握,能参照这里的写法,当需要使用时去官网上会自主查询 二.gulpAPI   先分别说明每个API的作用,下面会有一个总例子   1.src   创建一个流,用于从文件系统读取文件对象  
分类: 其他 发布时间: 04-18 23:50 阅读次数: 0

keras 学习笔记2

目录 keras 搭建一个神经网络 binary classification Multi-class classification demo 编码形式 labelcoder one hot Multi-label classification Keras callbacks history callback Early stopping your model EarlyStopping and ModelCheckpoint callbacks 模型的保存方式 Learning curves
分类: 其他 发布时间: 04-18 23:50 阅读次数: 0

团队会议day02

早上8点开了个会 队员讨论了一下页面间的跳转是怎么实现的 队长给了两个功能实现的demo
分类: 其他 发布时间: 04-18 23:50 阅读次数: 0

vscode设置snippets

自动添加文件描述信息 "File Comments": { "prefix": "filecomments", "body": [ "/**", " * ${1:description}", " * @file: ${TM_FILENAME}", " * @author: username", " * @email: [email protected]", " * @date: ${CURRENT_YEAR}-${CURRENT_MONTH}-${CURRENT_DATE
分类: 其他 发布时间: 04-18 23:50 阅读次数: 0

CSS常用功能总结

CSS手册:https://www.xp.cn/css3/
分类: 其他 发布时间: 04-18 23:50 阅读次数: 0

回溯算法和解数独

  以前自学数据结构和算法的时候,回溯算法一直没涉及到,当时只听过,也没用过,这两天看到一个数独问题的博客,看下来居然一脸懵逼,这肯定是不能接受的,所以一鼓作气把回溯算法好好品了品,赶紧记下来,巩固一下。   回溯算法,简单来说,其实就是对解空间的一种深度优先搜索(DFS:Depth-First-Search),采用递归的方式,选择方式就是递归树模型,每次做出选择并记录,当进行到某一步,如果由于约束条件限制,无法继续进行时,就退回到上一步重新进行选择,直到找到满足要求的解,这就是回溯算法。  
分类: 其他 发布时间: 04-18 23:50 阅读次数: 0

第2章 C#基础语法 7. C# switch case语句

本文转自:http://m.biancheng.net/view/2796.html C# switch case 语句也是条件语句的一种,与上一节介绍的《C# if else语句》是类似的,但在判断条件的选择上会有一些局限性。 具体的语法形式如下。 switch(表达式) { case 值 1: 语句块 1; break; case 值 2: 语句块 2; break; ... default: 语句块 n; break; } 在这里,switch 语句中表达式的结果必须是整型、字符串类型、
分类: 其他 发布时间: 04-18 23:50 阅读次数: 0

关于 ThreadLocal 你需要知道的几点

一、ThreadLocal是什么? 一个类对象类型,提供属线程本地变量,也就是同一个变量对不同线程保存了不同的值,但是和线程自身定义的自属变量不同。 通常以私有静态类型定义,用以保存特定线程特定状态属性。 线程存活期间保持对ThreadLocal的弱引用,线程结束后,则变量会被垃圾回收器回收。 二、ThreadLocal使用 //定义一个ThreadLocal变量用以存储不同线程的ID ThreadLocal<Long> localVs = new ThreadLocal<>(); //线程l
分类: 其他 发布时间: 04-18 23:50 阅读次数: 0

C#中后台处理前台传来的Json数据

使用开源的类库Newtonsoft.Json,通常可以使用JObject, JsonReader, JsonWriter处理。这种方式最通用,也最灵活,可以随时修改不爽的地方。 一、使用JsonReader读Json字符串: 1        string jsonText = @"{""input"" : ""value"",""output"" : ""result""}"; 2 JsonReader reader = new JsonTextReader(new
分类: 其他 发布时间: 04-18 23:50 阅读次数: 0

第2章 C#基础语法 3. C#变量的定义和使用

本文转自:http://m.biancheng.net/view/2793.html 变量(Variable)是 C# 编程中不可缺失的内容,使用变量可以更容易地完成程序的编写。 变量可以理解为存放数据的容器,并且在将值存放到变量中时还要为变量指定数据类型。 变量和常量是相对的:变量是指所存放的值是允许改变的,而常量表示存入的值不允许改变。 本节我们先讲解 C# 变量的定义和使用,下节《C#常量》再继续讲解常量。 C#变量的定义 在定义变量时,首先要确认在变量中存放的值的数据类型,然后再确定变
分类: 其他 发布时间: 04-18 23:50 阅读次数: 0

WordPress 网站开发“微信小程序“实战(四)

原文地址:https://devework.com/wordpres... 本站微信小程序版“DeveWork极客”在中文WP 圈子可谓是一直被模仿,从未被超越。如今快速迭代,写作本文的现在是1.6 版本。作为“WordPress 开发微信小程序”系列的第四篇,记录的是v1.3 ~ v1.6 的开发要点。 如果你没有看过本小程序,可以通过下面的小程序码进入体验。注意看文章的此时你扫码进入的版本可能不是1.6 版本了。 直接从v1.2 到v1.6 并不是我要做版本帝,确实迭代了这四个版本,也提交
分类: 其他 发布时间: 04-18 23:50 阅读次数: 0

HDoj 2059 龟兔赛跑

Problem Description 据说在很久很久以前,可怜的兔子经历了人生中最大的打击——赛跑输给乌龟后,心中郁闷,发誓要报仇雪恨,于是躲进了杭州下沙某农业园卧薪尝胆潜心修炼,终于练成了绝技,能够毫不休息得以恒定的速度(VR m/s)一直跑。兔子一直想找机会好好得教训一下乌龟,以雪前耻。 最近正值HDU举办50周年校庆,社会各大名流齐聚下沙,兔子也趁此机会向乌龟发起挑战。虽然乌龟深知获胜希望不大,不过迫于舆论压力,只能接受挑战。 比赛是设在一条笔直的道路上,长度为L米,规则很简单,谁先到
分类: 其他 发布时间: 04-18 23:50 阅读次数: 0

Typecho显示网站运行时间的方法总结

很多人的网站上都有小字计时说明:本网站已经运行了多长时间。这是一个很精致的功能,非常的有仪式感。 其实在Typecho中,实现这样的功能,只需要通过插件,甚至修改下代码就能实现这一功能。 代码及安装 说明 代码分两个部分,分别需要放在模板文件functions.php和footer.php中 functions.php部分的代码安装 // 设置时区 date_default_timezone_set('Asia/Shanghai'); /** * 秒转时间,格式 年 月 日 时 分 秒 *
分类: 其他 发布时间: 04-18 23:50 阅读次数: 0

一维数组元素排序方案

#include <iostream> using namespace std; int main() {      //选择排序 int arr[] = { 58,69,48,16,25,17,89,64 }; int arrLen = sizeof(arr) / sizeof(int); int temp = 0; for (int i = 0; i < arrLen; i++) { for (int j = i + 1; j < arrLen; j++) { if (arr[i] > a
分类: 其他 发布时间: 04-18 23:50 阅读次数: 0

Docker容器技术概述

第0章 Docker与Kubernetes 1.什么是 Docker Docker 最初是 dotCloud 公司创始人Solomon Hykes在法国期间发起的一个公司内部项目,它是基于 dotCloud 公司多年云服务技术的一次革新,并于2013 年 3 月以 Apache 2.0 授权协议开源,主要项目代码在GitHub上进行维护。Docker 项目后来还加入了 Linux 基金会,并成立推动开放容器联盟(OCI)。 Docker 自开源后受到广泛的关注和讨论,至今其GitHub 项目
分类: 其他 发布时间: 04-18 23:50 阅读次数: 0

查看linux文件夹下有多少个文件以及大小

######################### ls -lht 将会一一列出当前目录下所有文件的大小,以及所有文件大小的统计总和。或者直接打入ll命令 ############################# 【ls | wc -w】。那么说明当前目录,这是查看当前目录下的文件数量, ##################################3
分类: 其他 发布时间: 04-18 23:50 阅读次数: 0

创建一个最简单的Cesium程序步骤

1.在程序目录创文件存放Cesium源码的文件夹 2.vscode打开程序文件夹 3.创建html文件,并引入引入cesium.js,widgets.css 4创建一个根盒子 <div id="CesiumApp"></div> 设置盒子的宽度高度 5.使用脚本创建一个三维窗口var viewer =new Cesium.Viewer('CesiumApp') 7.输入端口号如果出现地球样式说明程序成成功
分类: 其他 发布时间: 04-18 23:50 阅读次数: 0

理解微信小程序技术架构

整体技术架构 视图层和逻辑层分离,通过数据驱动,事件交互,不直接操作DOM 视图层负责渲染页面结构,逻辑层负责逻辑处理、数据请求、接口调用等 视图层与逻辑层通过数据和事件进行通信,逻辑层提供数据给视图层,视图层通过绑定/捕获事件发起交互让逻辑层处理 视图使用WebView渲染,JS由JSCore(IOS)/X5(Android)/nwjs(DevTool)渲染解析 JSBridge下架起上层开发与Native(系统层)的桥梁,使得小程序可通过API使用原生的功能,且部分组件为原生组件实现,从而
分类: 其他 发布时间: 04-18 23:50 阅读次数: 0