大师网-带你快速走向大师之路 解决你在学习过程中的疑惑,带你快速进入大师之门。节省时间,提升效率

数据库学习笔记——22 管理事务处理

DELETE FROM ordertotals; 每个保留点都取标识它的唯一名字,以便在回退时,MySQL知道要回退到何处。为了回退到本例给出的保留点,可如下进行: ROLLBACK TO delete1; autocommit 标志决定是否自动提交更改,不管有没有 COMMIT语句。设置 autocommit 为 0 (假)指示MySQL不自动提交更改(直到 autocommit 被设置为真为止)。 标志为连接专用 autocommit 标志是针对每个连接而不是服务器的。

MongoDB的upsert在并行程序中应该注意的问题

作为一个计票的进程,主要任务就是拿过一张选票,查看其name属性,在数据库中给名字为name的文档的票数加1。注意,这里name不一定已经存在于数据库中。如果此名字不存在,则应新建一条文档时,由于含有相同name的文档已经被A进程抢先创建,MongoDB就会拒绝B进程创建。pymongo对此类错误应该是有应对机制的,这是B进程会稍等片刻,重新尝试更新文档

MongoDB学习笔记——Sharding

MongoDB学习笔记——Sharding 1、Sharding Key Sharding key决定了shard在对document进行分发时的策略,它是由在目标collection中每个document中都存在的字段组成,当对非空collection进行分片时,collection必须有以sharding key开头的索引。 Ranged Shard Key:根据 shard key 的取值,它把数据切分成连续的几个区间。取值相近的纪录会放进同一个 shard 服务器。好处是查询连续取值纪录时,查询效率可以得

43、MongoDB基本概念及数据库操作

43、MongoDB基本概念及数据库操作 前言:前两章我们把MongoDB安装完成了并进行了一些必要的配置,这章,我们来说一下MongoDB一些基本的概念和数据库的一些操作语法。 GitHub:https://github.com/Ewall1106/mall 1、MongoDB基本概念对比 (1)首先,我们得知道mongodb是一种非关系型数据库,与我们平常所了解到的mysql等数据库是有不同的,具体的理论我就不多说了,我给个链接大家可以自行

Redis 和 Springboot基础整合

Redis 和 Springboot基础整合 思路 使用string存储。如果需要存储对象,建议将对象转为json字符串再存储。 环境 框架 Springboot spring-boot-starter-parent版本:1.set(key, value);put(key, hashKey, value); } /** * 将元素value从一个集合移到另一个集合 * * @param key * @param value * @param destKey * @return */ public Boolean sMove(String key, String value, String destKey) { return redisTemplate.opsForSet().score(key, value);

Kotlin 语言极简教程 v0.1 (东海陈光剑)

Kotlin 语言极简教程 v0.1 (东海陈光剑) Kotlin 语言极简教程 v0.1 (东海陈光剑) 简介 是什么 基于 JVM 实现的静态语言 JetBrains 出品。对,就是那个创造了 Android Studio 和 IntelliJ 的公司。 Hello World fun main(args: Array ){ println("Hello World!length() ?: -1 Java String a = null; } filter(numbers, new Function () { @Override public Boolean call(Integer value) { return value % 2 == 0;

给 Java 开发者的 Kotlin 快速上手教程(Kotlin for Java Develope

is String - print("Not a string") else - print("Unknown") } } 空值检查 Kotlin中,如果一个值可能为null就必须显式标示为nullable,使用问号?,下面的函数返回可能为null fun parseInt(str: String): Int? } 使用返回值可能为null的函数 fun testInt(args: Array ) { if (args.size 2) { print("Two integers expected") return } val x = parseInt(args[0]) // Int? = 1 // Int 包装类型 (java.lang.Integer) // val b: Long?

UI自动化之selenium元素定位不到问题分析及解决办法

until(EC.presence_of_element_located(By.tagName("xxx"))) fially: driver.close() 每隔0.5s检查一次,最多等待10s。 6.xpath定位方式错误 检查xpath是否写错,可打开Chrome,按下F12,ctrl+f,把要检查的xpath输入,看能否定位到正确元素。 image

zanePerfor中一套简单通用的Node前后端Token登录机制和github授权登录方式

zanePerfor中一套简单通用的Node前后端Token登录机制和github授权登录方式 HI! error(data, json) { //判断code 并处理 var dataCode = parseInt(data.code); // 设置新的redis登录态 const random_key = this.app.randomString(); 01.png 业务代码如下: // 代码路径 app/middleware/token_required.js // Token校验中间件 module.exports = () = { return async function(ctx, next) { const usertoken = ctx.cookies.get('usertoken', { encrypt: true, signed: true, }) || '';

时区的问题扯着蛋了 前后台童鞋注意

时区的问题扯着蛋了 前后台童鞋注意 1986-7-30 00:00:00 的时间戳 后他给我的结果:(时区:北京+8) new Date(523033200000) Wed Jul 30 1986 00:00:00 GMT+0900 (中国夏令时间) what!

程序员吐槽工资和Bug数量挂钩!网友:不写代码就能最高绩效

程序员吐槽工资和Bug数量挂钩!网友:不写代码就能最高绩效 相信大家都知道,每一个项目是否能够上线都是又Bug大小和数量来决定的,Bug多了会影响用户的体验,到时候不仅会给公司带来经济损失,对公司的名声也会有一定的影响,而到最后背锅的还是测试人员和开发人员。所以有的公司为了防止出现这种状况,会要求项目的Bug数量尽量少! 这位程序员的公司就实行了这

需求来了,产品经理该怎么沟通?

需求来了,产品经理该怎么沟通? 需求来源有多方面,除了用户的、竞品的、产品经理YY的、还有领导的、其它部门的,等等。大部分情况,需求的发起方是产品经理,但有时其他团队也会提起需求。 这时候,沟通是一件非常关键的事情,产品经理务必确保需求的提出方、研发、测试等干系人对需求的理解一致,否则,会直接影响后续一系列的工作,犯下劳民伤财的罪过。 1.

用户调研中的“言行不一”

用户调研中的“言行不一” 大家是否对用户问卷的结果有过困惑。通过简单的问卷调查,我们无法根据用户对产品的态度结果去准确地预测用户如果在真实环境中的行为。 我们先来看一个案例: 当 Sony 引入 Boom Box 概念的时候,他们召集了一些潜在的消费者,组成焦点小组来讨论这个新产品应该是什么颜色的:黑色或黄色。经过这一组潜在购买者的讨论之后,每个人都认为消

如何找到用户真正的需求

如何找到用户真正的需求 之前的文章有提过,有些不合格的产品经理会把用户说的直接当作需求,比如产品需要做一个数据展示平台给业务用,业务说需要看几张数据表,因为现在还要去拉数据库,太麻烦了,你就给我展示出来吧。于是这个不合格的产品经理便会把业务说的这几个数据表展示出来。更有甚者,有些产品会说反正有地方可以看,不用给业务做了。不要觉得诧

iOS 仿看了吗应用、指南针测网速等常用工具、自定义弹出视图框架、图片裁剪、内容扩展等源码

iOS 仿看了吗应用、指南针测网速等常用工具、自定义弹出视图框架、图片裁剪、内容扩展等源码 iOS精选源码 扩展内容的cell - folding-cell image 一个近乎完整的可识别中国身份证信息的Demo 可自动快速.. JPImageresizerView 仿微信的图片裁剪 image 带年月和至今以及设置分钟间隔的时间选择器(picker) image 好用的弹窗组件 image 一个轻量级的自定义视图弹出框架,可灵活配置动画、背..

iOS 多个UIScrollView嵌套解决方案

y /// 这里有个坑,本可以直接使用translation即可的,但是在iphoneX、plus上的translation.y 在屏幕的左侧会存在translationY 始终 == 0 的情况,也就是当用左手指滑动的时候,你会发现根本不会执行后面的逻辑了 isVertical = fabsf(Float(translationY)) fabsf(Float(translationX)) || fabsf(Float(velocityY)) fabsf(Float(velocityX)) animator.removeAllBehaviors() decelerationBehavior = nil springBehavior = nil break case .

理解 CSS 中的 line-height 和 vertical-align

理解 CSS 中的 line-height 和 vertical-align 文章地址:https://github.com/afishhhhh/blog/issues/4 一个例子 image div { background: #eee; border: 1px solid #000; font-size: 50px; margin: 10px;

深度Unix环境变量学习

深度Unix环境变量学习 我们在文章中讲解Unix环境变量。环境变量相当于给系统或用户应用程序设置的一些参数, 具体起什么作用这当然和具体的环境变量相关. 比如path, 是告诉系统, 当要求系统运行一个程序而没有告诉它程序所在的完整路径时, 系统除了在当前目录下面寻找此程序外, 还应到哪些目录下去寻找; 再如tc或vc++中, set include=path1;

又拍云 OpenResty / Nginx 服务优化实践

又拍云 OpenResty / Nginx 服务优化实践 2018 年 11 月 17 日,由 OpenResty 主办的 OpenResty Con 2018 在杭州举行。本次 OpenResty Con 的主题涉及 OpenResty 的新开源特性、业界最佳实践、性能优化、Trace、 API 网关等方面。 又拍云受邀参加 OpenResty Con 2018,又拍云系统开发工程师张超在大会上做了《又拍云 OpenResty / Nginx 服务优化实践》的开场演讲。 又拍云在自身业务中大量使用了 Nginx、OpenResty

授之以渔-运维平台发布模块二(Jenkins篇)

index(svn_host) area_dict1["label"] = "%s" % str(svn_host) area_dict1["parent"] = [{"parea":0,"pno":0}] area_dict1["status"] = 0 nodes.append(area_dict1) area_dict2["area"] = 2 area_dict2["no"] = (Svn_name.svn_hosts). status:节点状态值为:0为未执行,1为错误,2为执行中,3为执行完毕 parea:父节点区域编码,值为:0,1,2,null. pno:父节点序号,值为:0,1,.attr({fill: colors[node.status],stroke: '#f2eada','stroke-width': 2,padding: 5,r: 9,width:220,height:20}).