optional

.Net Core 2.2升级3.1的避坑指南

萝らか妹 提交于 2020-08-10 04:19:52
写在前面   微软在更新.Net Core版本的时候,动作往往很大,使得每次更新版本的时候都得小心翼翼,坑实在是太多。往往是悄咪咪的移除了某项功能或者组件,或者不在支持XX方法,这就很花时间去找回需要的东西了,下面是个人在迁移.Net Core WebApi项目过程中遇到的问题汇总: 开始迁移 1. 修改*.csproj项目文件 <TargetFramework>netcoreapp2. 2 </TargetFramework> 修改为 <TargetFramework>netcoreapp3.1</TargetFramework> 2 修改Program public static void Main( string [] args) { CreateWebHostBuilder(args).Build().Run(); } public static IWebHostBuilder CreateWebHostBuilder( string [] args) => WebHost.CreateDefaultBuilder(args) .UseStartup <Startup>().ConfigureAppConfiguration((hostingContext, config) => { config.AddJsonFile($ " 你的json文件.json " ,

基于doc2vec计算文本相似度

时光总嘲笑我的痴心妄想 提交于 2020-08-09 17:07:56
@ 基于doc2vec计算文本相似度 Doc2vec ​Doc2vec又叫Paragraph Vector是Tomas Mikolov基于word2vec模型提出的,其具有一些优点,比如不用固定句子长度,接受不同长度的句子做训练样本,Doc2vec是一个无监督学习算法,该算法用于预测一个向量来表示不同的文档,该模型的结构潜在的克服了词袋模型的缺点。 ​Doc2vec模型是受到了word2vec模型的启发,word2vec里预测词向量时,预测出来的词是含有词义的,比如上文提到的词向量’powerful’会相对于’Paris’离’strong’距离更近,在Doc2vec中也构建了相同的结构。所以Doc2vec克服了词袋模型中没有语义的去缺点。假设现在存在训练样本,每个句子是训练样本。和word2vec一样,Doc2vec也有两种训练方式,一种是PV-DM(Distributed Memory Model of paragraphvectors)类似于word2vec中的CBOW模型,另一种是PV-DBOW(Distributed Bag of Words of paragraph vector)类似于word2vec中的skip-gram模型 最近空闲之余,正好公司也有相应的业务需求,分享一下我最新的作品,一起体会一下nlp世界的魅力,希望各位能喜欢,哈哈哈哈,好了废话不多说

swift 合并空值运算符 双问号 a ?? b

倾然丶 夕夏残阳落幕 提交于 2020-08-09 13:37:32
合并空值运算符(a ?? b)如果可选项a有值则展开,如果没有值,是nil,则返回默认值b 表达式a必须是一个可选类型。表达式b必须与a的存储类型相同 实际上是三元运算符作用到Optional上的缩写,(a!=nil?a!:b) code //: A UIKit based Playground for presenting user interface import UIKit // 直接拆包 具有危险性, func addTwoNum(num1:Int?,num2:Int?)->Int{ return num1!+num2!; } // 以往的写法比较繁琐, func addTwoNum2(num1:Int?,num2:Int?)->Int{ if(num1 != nil && num2 != nil){ return num1!+num2! } if(num1 != nil){ return num1! } if(num2 != nil){ return num2! } return 0 } func addTowNum3(num1:Int?,num2:Int?)->Int{ return (num1 ?? 0)+(num2 ?? 0) } 来源: oschina 链接: https://my.oschina.net/u/4417917/blog/4469436

Maven知识点--Maven基础

家住魔仙堡 提交于 2020-08-09 12:50:46
一、Maven常用命令 1.mvn install 用于把项目安装到本地的仓库中,提供给别的项目做引用或作自有项目。 2.mvn clean 与install起着反作用能力,当你发现项目install有问题的时候,可以先clean(清除),然后重新install。 3.mvn archetype 可以用这个命令,就是创建一个maven项目。 4.mvn deploy 一般情况下,我们做maven项目,都会有私库的存在,就是自己在服务器上建自己的,存放jar包的仓库,这个命令就是用来把我们install好的包发布(其实就是网络传输)上去。 5.mvn site 我们一般在一个项目的时候,都是有一定信息的,这个命令可以帮我们生成html形式的项目信息。 6.mvn compile 编译maven项目的源代码 7.mvn test-compile 编译的是测试包里面的源代码 8.mvn test 测试所有的单元测试 9.mvn package 这是一个集成过程,它的执行顺序是先clean、resources、compile、testResources、testCompile、test、jar(打包)等7个阶段,最后是成一个打成jar包。 10.mvn eclipse 生成一个eclipse可直接导入的文件 11.mvnjetty:run与mvntomcat:run

Spring5--@Indexed注解加快启动速度

自古美人都是妖i 提交于 2020-08-09 08:43:44
引 Spring Framework 5.0作为 Spring Boot 2.0 的底层核心框架,就目前已经发布的版本来看,相对于 Spring Framework 4.x 而言,注解驱动的性能提升不是那么明显。然而随着 Spring Framework 注解驱动能能力逐渐受到开发人员的关注,尤其在 Spring Boot 应用场景中,大量使用注解 @CompoentScan 扫描指定的 package,当扫描的 package 所包含的类越多时,Spring 模式注解解析的耗时就越长。对于这个问题,Spring Framework 5.0 版本引入的注解 @Indexed,为 Spring 模式注解添加索引,以提升应用启动性能。 举个栗子: @Indexed @Configuration public class WebMvcConfig implements WebMvcConfigurer {} 但是,注解 @Indexed 不能孤立地存在,需要在工程 pom.xml 中增加 org.springframework:spring-context-indexer 依赖: <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context-indexer</artifactId>

Java并没有衰落.大家对它的认识才刚刚开始 Java8全新出发

こ雲淡風輕ζ 提交于 2020-08-09 05:50:48
Java并没有衰落.大家对它的认识才刚刚开始 很高兴能在此给大家分享Java8的新特性。这篇文章将一步一步带你了解Java8的所有新特性。我将通过简单的实例代码向大家展示接口中默认方法,lambda 表达式,方法引用,重复注解的使用. 看过这篇文章之后你将了解流、函数、接口、map扩展、日期中的新变化.不废话,放码过来! Default Methods for Interfaces(接口中的默认方法) Java 8准许我们在接口中增加一个通过default关键字修饰的非抽象的方法. 这个特性被我们称为扩展方法. 下面举例说明: interface Formula { double calculate(int a); default double sqrt(int a) { return Math.sqrt(a); } } 接口Formula 中除了抽象方法calculate 其中还定义了非抽象方法sqrt. 实现类里面继承了抽象方法calculate. 而默认方法可以直接调用. Formula formula = new Formula() { @Override public double calculate(int a) { return sqrt(a * 100); } }; formula.calculate(100); // 100.0 formula.sqrt(16);

今天来介绍java 各版本的新特性,一篇文章让你了解

倖福魔咒の 提交于 2020-08-09 02:56:20
java8 新特性 Java8 主要包括的新特性有: 函数式接口 如果一个接口只有一个抽象方法,那么该接口就成为一个函数式接口。同时java还配套引入@FunctionalInterface注解, 该注解主要式用于强制表示一个接口必须是一个函数式接口,但是不是必须的。 @FunctionalInterface public interface DemoFuncInterface1 { void apply(); } public interface DemoFuncInterface2 { void apply(); } public interface DemoFuncInterface3 { void apply(); void apply2(); } public interface DemoFuncInterface4 { default void apply() {}; } 上面4个例子中DemoFuncInterface1、DemoFuncInterface2都是 函数式接口。但是第三个、第四个都不是,而且将@FunctionalInterface标记 在第三、第四个上编译都会报错。 使用函数式接口demo: public class testDemo{ public void testFunc(DemoFuncInterface demoFuncInterface ,

torch.nn.MaxPool2d

ぐ巨炮叔叔 提交于 2020-08-09 01:54:19
卷积操作中 pool层是比较重要的,是提取重要信息的操作,可以去掉不重要的信息,减少计算开销。 class torch.nn.MaxPool2d(kernel_size, stride=None, padding=0, dilation=1, return_indices=False, ceil_mode=False) 如果padding不是0,会在输入的每一边添加相应数目0 比如padding=1,则在每一边分别补0. 参数: kernel_size(int or tuple) - max pooling的窗口大小, stride(int or tuple, optional) - max pooling的窗口移动的步长。默认值是kernel_size padding(int or tuple, optional) - 输入的每一条边补充0的层数 dilation(int or tuple, optional) – 一个控制窗口中元素步幅的参数 return_indices - 如果等于True,会返回输出最大值的序号,对于上采样操作会有帮助 ceil_mode - 如果等于True,计算输出信号大小的时候,会使用向上取整,代替默认的向下取整的操作 a = torch.randn(3,5,10) b = nn.Maxpool2d((5,1)) # kernel = 5 步长为1

Springboot快速上手- 第六篇 开发者工具

余生颓废 提交于 2020-08-08 15:48:32
1 概述 SpringBoot提供了强大易用的Devtools来辅助开发,包括如下功能。 1:自动重启:当Classpath里的文件发生变化时,自动重启运行中的应用程序 2: LiveReload支持:对资源的修改自动触发浏览器刷新 3: 远程开发:远程部署时支持自动重启和LiveReload 4: 默认的开发时属性:为一些属性提供有意义的默认开发时属性值 2 环境构建 在pom里面加入: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <optional>true</optional> <scope>provided</scope> </dependency> 3 自动重启 在激活了开发者工具后,Classpath里对文件做任何修改都会触发应用程序重启。为了让重启速度够快,不会修改的类(比如第三方JAR文件里的类)都加载到了基础类加载器里,而应用程序的代码则会加载到一个单独的重启类加载器里。检测到变更时,只有类加载器重启。 1:有些Classpath里的资源变更后不需要重启应用程序。像Thymeleaf这样的视图模板可以直接编辑,不用重启应用程序;在/static或/public里的静态资源也不用重启应用程序

SpringBoot应用篇(一):自定义starter

浪子不回头ぞ 提交于 2020-08-08 12:06:40
一、码前必备知识 1、SpringBoot starter机制   SpringBoot中的starter是一种非常重要的机制,能够抛弃以前繁杂的配置,将其统一集成进starter,应用者只需要在maven中引入starter依赖,SpringBoot就能自动扫描到要加载的信息并启动相应的默认配置。starter让我们摆脱了各种依赖库的处理,需要配置各种信息的困扰。SpringBoot会自动通过classpath路径下的类发现需要的Bean,并注册进IOC容器。SpringBoot提供了针对日常企业应用研发各种场景的spring-boot-starter依赖模块。所有这些依赖模块都遵循着约定成俗的默认配置,并允许我们调整这些配置,即遵循“约定大于配置”的理念。 2、为什么要自定义starter   在我们的日常开发工作中,经常会有一些独立于业务之外的配置模块,我们经常将其放到一个特定的包下,然后如果另一个工程需要复用这块功能的时候,需要将代码硬拷贝到另一个工程,重新集成一遍,麻烦至极。如果我们将这些可独立于业务代码之外的功配置模块封装成一个个starter,复用的时候只需要将其在pom中引用依赖即可,SpringBoot为我们完成自动装配,简直不要太爽。 3、自定义starter的案例   以下案例由笔者工作中遇到的部分场景   ▲ 动态数据源。   ▲ 登录模块。   ▲