highlighter

ASP.NET Core技术研究-探秘依赖注入框架

蹲街弑〆低调 提交于 2020-04-13 07:49:42
原文: ASP.NET Core技术研究-探秘依赖注入框架 ASP.NET Core在底层内置了一个依赖注入框架,通过依赖注入的方式注册服务、提供服务。依赖注入不仅服务于ASP.NET Core自身,同时也是应用程序的服务提供者。 毫不夸张的说,ASP.NET Core通过依赖注入实现了各种服务对象的注册和创建,同时也实现了面向抽象的编程模式和编程体验,提升了应用程序的扩展性。 今天,我们普及一下ASP.NET Core中依赖注入的一些基本知识。 一、服务的注册 我们通过创建一个ASP.NET Core的项目,可以发现在Startup.cs 类中,有一个方法 ConfigureServices ,这个方法的注释是这样的: This method gets called by the runtime. Use this method to add services to the container. 在ConfigureServices方法中我们可以将通过ASP.NET Core内置的依赖注入框架实现服务的的注册。 这个方法有个参数:IServiceCollection,见名知意,服务集合。 ASP.NET Core内置的依赖注入框架将服务注册信息存储到一个实现了IServiceCollection接口的对象中。默认情况下这个接口的实现类是ServiceCollection

SQL Server 数据库清空ldf日志文件

你。 提交于 2020-04-13 07:43:22
原文: SQL Server 数据库清空ldf日志文件 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 USE [master] ALTER DATABASE [DB_Develop] SET RECOVERY SIMPLE WITH NO_WAIT ALTER DATABASE [DB_Develop] SET RECOVERY SIMPLE GO USE [DB_Develop] DECLARE @logname VARCHAR (150) SELECT @logname = NAME FROM sys.database_files WHERE NAME LIKE '%log' DBCC SHRINKFILE(@logname, 11, TRUNCATEONLY) GO USE [master] ALTER DATABASE [DB_Develop] SET RECOVERY FULL WITH NO_WAIT ALTER DATABASE [DB_Develop] SET RECOVERY FULL GO   使用时将DB_Develop更换为你需要操作的数据库名即可。 来源: oschina 链接: https://my.oschina.net/u/4370809/blog/3231849

shell中使用ssh

折月煮酒 提交于 2020-04-13 07:34:05
  遇到一个场景,容器的日志以hostpath方式挂在到node的路径下。但是容器重启后会换到不同的node,查询历史日志就成了头疼的事情。 我遇到的一个paas环境有70多个node,找历史日志要遍历这么多的node太难了。 就尝试写一个脚本来找日志,效率还是高了很多。主要是沮丧感就没那么强烈了,不需要ssh到每个节点去找了,这有点low了。 后续还要确定一下有没有,重启容器后到其他node时,有没有办法顺便删除或者转移持久卷。没有清理也是有问题的。 下面的部分来自 https://blog.csdn.net/jinking01/article/details/84386769 前提是需要配置ssh免密码登陆,各节点间ssh不需要输入密码的。 #!/bin/bash ssh user@remoteNode > /dev/null 2>&1 << eeooff cd /home touch abcdefg.txt exit eeooff echo done!    远程执行的内容在“<< eeooff ” 至“ eeooff ”之间,在远程机器上的操作就位于其中,注意的点:   1. << eeooff,ssh后直到遇到eeooff这样的内容结束,eeooff可以随便修改成其他形式。   2. 重定向目的在于不显示远程的输出了   3. 在结束前,加exit退出远程节点

postgresql中的money数据类型

断了今生、忘了曾经 提交于 2020-04-12 20:05:46
pg中money类型以固定的分数精度存储货币金额;如下表: 名称 存储大小 描述 范围 money 8bytes 货币金额 -92233720368547758.08 to +92233720368547758.07 表中显示的范围假设有两位小数。 分数精度由数据库的lc_monetary设置决定。 postgres=# show lc_monetary; lc_monetary ------------- en_US.UTF-8 (1 row) postgres=#    输入可以采用多种格式,包括整数和浮点数值,以及典型的货币格式,如'$1,000.00'。输出结果通常是后一种形式,但取决于语言环境。 由于该数据类型的输出结果是位置敏感的,因此将货币数据加载到具有不同的lc_monetary设置的数据库中可能无法工作。为了避免出现问题,在将转储恢复到新数据库之前,请确保lc_monetary的值与转储的数据库中的值相同或相等。 numeric, int, 和bigint型数据类型的值可以转换为money类型。从real和double precision类型转换可以通过先转换为numeric类型来完成,例如: postgres=# SELECT '12.34'::float8::numeric::money; money -------- $12.34 (1 row)

Jquery键盘输入

ぐ巨炮叔叔 提交于 2020-04-12 18:49:40
根据上上篇的键盘ui界面我添加了一个输入框让键盘有了输入效果如下 界面代码可以去上上篇看: https://www.cnblogs.com/2979100039-qq-con/p/12641603.html 这那个代码基础上加了一个输入框,在把键盘缩放0.7倍就可以了 接下重点是js代码同样用的是jquery写的需要到jq框架 jquery代码很简单只是一些点击事件和获取改变输入框的value值来进行输入效果 $(function(){ /* 点击键盘赋值 */ function chagekey(btn){ var inp_value = $("#inp").val(); var t = btn.html(); var map = inp_value+t; $("#inp").attr("value",map); } /* 键盘移动方法*/ $(".f_div").mousedown(function(event){ var staetX = event.pageX-$(this).offset().left; var staetY = event.pageY-$(this).offset().top; $(this).mousemove(function(event){ var x = event.pageX - staetX; var y = event.pageY -

react axios 跨域访问一个或多个域名

醉酒当歌 提交于 2020-04-12 18:49:17
1.react + axios 跨域访问一个域名 配置非常简单,只需要在当前的 package.json 文件里面配置: "proxy":"http://iot-demo-web-dev.autel.com", //当然,这里是一个假地址  像这样: 这样跨域便完成了,当然,也可以像网上那样,多几段代码,像这样: 我不知道你们写入这段代码会怎么样,反正我是会报错,具体报错是怎么我这里没办法展示,因为我的项目已经 运行了 npm run eject 这个命令 报错的意思大概就是 proxy 希望得到的是一个字符串,而现在得到的是一个对象,所已我只能采取 第一张图片的方法进行跨域 而后我们安装axios ,当然,其他的也行,在 src 目录项目建一个 api文件, 再在api文件里面建一个 user.js 写上下面这段代码 import axios from 'axios' export function _user(data) { return axios.get('device/detail', data) }  我这里的跨域使用的是第一张图片上的那种跨域  在你需要发送请求的地方写上以下代码: import { _user } from '../api/user' componentDidMount() { let res = _user({}) console.log(res)

react axios 跨域访问一个或多个域名

不羁的心 提交于 2020-04-12 17:51:19
1.react + axios 跨域访问一个域名 配置非常简单,只需要在当前的 package.json 文件里面配置: "proxy":"http://iot-demo-web-dev.autel.com", //当然,这里是一个假地址  像这样: 这样跨域便完成了,当然,也可以像网上那样,多几段代码,像这样: 我不知道你们写入这段代码会怎么样,反正我是会报错,具体报错是怎么我这里没办法展示,因为我的项目已经 运行了 npm run eject 这个命令 报错的意思大概就是 proxy 希望得到的是一个字符串,而现在得到的是一个对象,所已我只能采取 第一张图片的方法进行跨域 而后我们安装axios ,当然,其他的也行,在 src 目录项目建一个 api文件, 再在api文件里面建一个 user.js 写上下面这段代码 import axios from 'axios' export function _user(data) { return axios.get('device/detail', data) }  我这里的跨域使用的是第一张图片上的那种跨域  在你需要发送请求的地方写上以下代码: import { _user } from '../api/user' componentDidMount() { let res = _user({}) console.log(res)

Qt 手动添加ui文件到工程(转)

扶醉桌前 提交于 2020-04-12 17:25:44
制作ui文件 先应该用Qt Designer绘制一个自己的界面,并存为myform.ui(这里的myform可以用自己喜欢的名字代替)。在制作自己的界面文件时要注意以下几个要点: 1、要记住ui文件的名字,因为uic生成的代码会存在ui_myform.h里; 2、要记住主窗体的object name, 因为ui文件提供的类名将以这个form的名字来命,例如主窗体名字为MainWindow,则ui文件提供的类名会命名为Ui_MainWindow; 3、要特别注意你的form选择的基类要和你代码中的窗体类兼容; 4、要记得给每个后面需要访问到的控件起一个有意义并且好记的object name, 因为ui文件提供的控件将以这些object name来命名; 将ui文件加入工程 1.已经存在pro文件的,修改pro文件,加入FORMS+=myform.ui 2.直接运行qmake -project命令,该命令非常智能,可以识别后缀名为.ui、.h、.cpp等文件,并将之加入工程; 在代码中引用ui文件 官方介绍的使用ui文件的方法有三种,一个是直接引用,二是单继承,三是多继承。 第一种方法其实很不实用,大家去看一下文档中的例子就可以了;第二种和第三种没有本质的差别,可以并作一类,这里做重点介绍。 ui文件最终会被编译成标准的C++代码,并存入一个.h文件中,这个过程在调用make之后才进行

【vue/css】如何给vue页面添加背景图片-vue cli3

半世苍凉 提交于 2020-04-12 15:31:30
找了很多教程终于做好了,现贴出来,以备不时之需。 1、首先需要两个div,一个用来放背景图,一个用来放除背景图之外的东西 1 <div class="background"></div> 2 <div class="front"></div> 第一个div放背景图 <div class="background"> <img :src="imgSrc" width="100%" height="100%" alt="" /> </div> 第二个div放登录页面,这里就不贴出来了。这样html部分就写完了,非常简单 2、js部分,这里也非常简单,但有一点,尝试使用css自带方式即src="图片路径"方式无法导入图片,可能是路径原因,改用值绑定方式 文件路径为:   |——src   |————assets   |——————images   |————————bg2.jpg   |——components   |————page   |——————login.vue js为:   data(){ return { imgSrc:require('../../assets/images/bg2.jpg') } } 3、css部分。css有个属性叫 z-index ,是用来确定元素层叠关系的,值大的元素显示在值小的元素的上面。同时,该元素position必须为absolute才会起作用

Python机器学习笔记 集成学习总结

给你一囗甜甜゛ 提交于 2020-04-12 15:01:23
  集成学习(Ensemble learning)是使用一系列学习器进行学习,并使用某种规则把各个学习结果进行整合,从而获得比单个学习器显著优越的泛化性能。它不是一种单独的机器学习算法啊,而更像是一种优化策略。因为单个机器学习模型所能解决的问题有限,泛化能力差,但是通过构建组合多个学习器来完成学习任务往往能够获得奇效,这些学习器可以看成一个个基本单元,由他们组合最终形成一个强大的整体,该整体可以解决更复杂的问题,其思想可以形象的概括为 三个臭皮匠赛过诸葛亮 。   集成学习是机器学习的一大分支,他通过建立几个模型组合来解决单一预测问题。他的工作原理是生成多个分类器模型,各个独立的学习和做出预测。这些预测最后结合成单预测,最后由任何一个单分类做出预测。   集成学习的一般结构是,先产生一组个体学习器,再用某种结合策略将他们结合起来。   集成学习是一种技术框架,其按照不同的思路来组合基础模型,从而达到其利断金的目的。目前,有三种常用的集成学习框架:bagging ,Boosting和stacking。国内南京大学的周志华教授对集成学习有很深的研究,其在09年发表的一篇概述性论文《Ensemble Learning》对这三种集成学习框架有了明确的定义,大家可以百度搜索这篇论文。 集成学习优势   1,个体学习器之间存在一定的差异性,这会导致分类边界不同,也就是说可能存在错误