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

程序(管理名词)

在国标《质量管理体系 基础和术语》GB/T19000—2008/ISO9000:2005中第3.4.5条 程序procedure中对于“程序”的定义进行了规定。一个环节,内部嵌套着一系列复杂的列逻辑慎密的一个组件,如若一个地方出问题则会影响到整个主体(可以理解为事务)。

2018年网络开发者应该关注什么

以使CSS变量成为全局范围。然后,在按钮样式的上下文中使用该变量。 :root { --button-bg-color: #FF00FF; display: inline-block; height: 24px; } 可以选择Element然后getComputedStyle使用元素调用获取用于使用JavaScript 设置样式的变量的值- 将变量名称作为String传递给getPropertyValue方法。 let element = document.querySelector('.getPropertyValue("--button-bg-color") // returns #FF00FF

九种"姿势"让你提高Angular性能

九种"姿势"让你提高Angular性能 众所周知AngularJS是当今应用最广泛的Web应用程序框架,并且它的受欢迎程序在其期待已久的AngularJS 4.0到来之后不断上升。但是我们可以看到,几乎所有的Angular专家仍然在努力解决与AngularJS性能相关的各种问题,尽管它自己也做了很多的优化。 在对AngularJS的性能进行了大量讨论之后,现在是时候看看这九种可以提高AngularJS性能的姿势了。 1. 使用Ba

Python Unicode完全指南

Python3 Python2和Python3最主要的区别是它们如何处理unicode。上面我们已经说过Python2中的str类型中存储的数据事实上是bytes。Python3中仍有两种字符串类型str和bytes。但在Python3中,str中存储的是一系列unicode码字。如果仍要处理一系列bytes字符串,则需要在字符串直接量前面加 b 前缀。这种情况下你将会得到一个bytes类型的对象。 如下面所示。 py3_str = 'Hello World!

Linux和MySQL的安装

3、开启mysql的远程登录 默认情况下mysql为安全起见,不支持远程登录mysql,所以需要设 置开启 远 程登录mysql的权限 登录mysql后输入如下命令: grant all privileges on *.* to 'root' @'%' identified by 'root';

mysql的存储过程及其使用场景,和存储函数的区别

) End$ delimiter 注:delimiter$和 delimiter // 差不多,看每个人的习惯,delimiter是分割符,mysql 默认’ ; end$ delimiter 调用及结果: 无参有返回值: 查看book中有多少条记录 delimiter $ create procedure pro_test03(OUT sum int) begin select count(*) into sum from book; #定义一个变量i,初始值为 1 declare sum int default 0; elseif num 0 then set sys='小于0';

Hadoop常见错误,包含搭建,hdfs,MapReduce

Hadoop常见错误,包含搭建,hdfs,MapReduce 一.hadoop重新格式化namenode 因为之前正常启动过hadoop集群。所以在hadoop的对应data目录中,已经有很多相关文件夹了。我们在格式化之前得先删除相关文件夹才行。 解决方案: 一、对于master主节点进行操作 1、删除data、name、namesecondary三个文件夹。 2、删除mrlocal目录中的四个文件夹 3、删除logs文件夹中的所有文件 二、对Slaves从节点进行操

JavaScript设计原则与编程技巧

合并重复的条件片段 如果一个函数体内有一些条件分支语句,而这些条件分支语句内部散布了一些重复的代码,那么就有必要进行合并去重工作。 var paging = function (currPage) { if (currPage = totalPage) { currPage = totalPage; // 把 jump 函数独立出来 }; } return price; //改成 var createXHR = function () { var versions = ['MSXML2.XMLHttp.6.0ddd', 'MSXML2.XMLHttp.3.0', 'MSXML2.XMLHttp'];

《重构》- 重构入门

《重构》- 重构入门 何为重构 定义 在不改变软件可观察行为的前提下改善其内部结构,提高其可理解性,降低其修改成本。 重构与设计模式 设计模式为重构提供了目标。 为何重构 重构改进软件设计 设计不再是一切动作的前提,而是在整个开发过程中逐渐浮现出来。 重构使软件更容易理解 任何一个傻瓜都能写出计算机可以理解的代码。唯有写出人类容易理解的代码,才是

《重构》- 代码的坏味道

Parallel Inheritance Hierarchies(平行继承体系) Parallel Inheritance Hierarchies(平行继承体系)其实是Shotgun Surgery(散弹式修改)的特殊情况。在这种情况下,每当你为某个类添加一个子类,必须也为另一个类相应增加一个子类。 让一个继承体系的实例引用另一个继承体系的实例。如果再接再厉运用Move Method(搬移函数)和Move Field(搬移字段),就可以将引用端的继承体系消弭于无形。 十二.

python-基础用法:datetime和time的常用方法

time():返回当前时间 datetime.timedelta:表示时间间隔(可用于时间的加减,当前时间的两小时前) datetime.tzinfo: 与时区的相关信息 from datetime import datetime datetime.now() datetime.datetime(2018, 11, 10, 23, 16, 5, 899480) datetime.now().date() datetime.date(2018, 11, 10) datetime.now().format(int(year),month) return strTime

Flask 请求处理流程(二):Context 对象

_app_ctx_stack.push(self) appcontext_pushed.send(self.app) AppContext 对象 push 进 _app_ctx_stack里面。 在这次请求期间,访问 g 对象将指向这个栈的栈顶元素 class AppContext(object): def push(self): .

Linux下tcp socket通信优化与问题排查

Linux下tcp socket通信优化与问题排查 Linux下tcp socket通信优化与问题排查 @Date 2018.12.09 一. 优化 1. TPC接收窗口 问题 : 当TCP的接收窗口队列阻塞 - 发送方继续发 - 接受方丢掉 - 发送方重传 - 网络变糟糕 解决 : 接收方把接收缓存的大小告诉发送方 - 接收缓存满了 - 发送方不能发送 # 调大接收窗口缓存大小 net.ipv4.tcp_rmem = "40960 873800 41943040" net.core.rmem_max = 41943040 net.core.rmem_default = 873800 #

.NET运行时中的监测和可观测性

NET运行时中的监测和可观测性 今年5月份的时候研究分布式追踪的问题知道了的拦截方式比较零散, 刚好8月份的时候看到这篇文章,这边文章总结的比较完整。好久都没有翻译,趁今天有空翻译给大家。原文地址,校验:张蘅水 .NET Performance Linux,还有其他一些方法: 在Linux上使用.NET Core获取LTTng事件的堆栈 Linux性能问题 上面的第二个链接讨论了在.

以太坊区块链如何保证Asp.Net Core的API安全(下)

以太坊区块链如何保证Asp.Net Core的API安全(下) 上一篇用以太坊区块链保证Asp.Net Core的API安全(上)我们介绍了基本的解决方案,这一篇我们重点来看客户端。 正如我们所说,我们的DApp是一个简单的HTML/ES6客户端。我们将在Asp.Net Core 2之上构建客户端,以利用IIS Express和Visual Studio IDE。因此,Startup.cs类中的Configure方法将是: if (env.IsDevelopment()) { app.UseDeveloperExceptionPage();

基于Asp.Net Core打造轻量级内部服务治理RPC(二 远程服务设计)

基于Asp.Net Core打造轻量级内部服务治理RPC(二 远程服务设计) 紧接上一篇《基于Asp.Net Core打造轻量级内部服务治理RPC(一)》文章。本文主要讲解基于Asp.Net Core的远程服务设计和实现。 在上一篇中讲过,服务提供者提供的服务实际上就是一个Controller,那么是否在该程序中,服务都按照Asp.Net Core 中的Web Api的方式建立好Controller,再实现每个服务接口(调用方只需要引用对应的接口定

RedLock 实现分布式锁

模拟并行调用 Buy 方法 15 次(内部使用的是线程池,所以 ThreadId 会有重复),实际上只有 10 个库存,返回结果却显示 11 个请求都购买成功了。 concurrent 单机部署模式解决方案 在单机部署模式下,我们只需要加 lock(){} 就可以解决问题: // 有10个商品库存 private static int stockCount = 10; } 在 Controller 添加方法 DistributedLockTest private readonly IDistributedLockFactory _distributedLockFactory;

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

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

MongoTemplate 独立使用

能不能单独使用MongoTemplate呢,答案肯定是可以的。 image.png 使用演示 依赖 compile group: 'org.mongodb', name: 'mongo-java-driver', version: '3.7.1' compile(group: 'org.springframework.data', name: 'spring-data-mongodb', version: '2.0.8.RELEASE'){ exclude group: 'org.slf4j' } 测试例子 MongoClientOptions.Builder mongoBuilder = new MongoClientOptions.Builder(); SimpleMongoDbFactory mongoDbFactory = new SimpleMongoDbFactory(mongoClientURI);

【翻译】如何使用Electron和PDF.js构建一个PDF查看软件

/renderer.js'); const path = require('path'); const viewerEle = document.getElementById('viewer'); }) }) 这个代码使用Electron的 dialog 模块打开一个文件选择对话框。当用户选择了一个文件,我们就创建一个iframe载入PDF.js的Viewer。我们通过查询参数告知PDF.js需要打开的文件路径。 好了! 就是这样! 执行 npm start 启动应用程序。 界面几乎没有变化, 只是WebViewer 替代了PDF.js。 你现在可以给pdf文档