NETStandard,NETFx,Mono,NETCore,ASPNetCore 之间关系的整理
因为现在很多人对这几者之间的关系还不甚了解,这里根据我所知来做一个大概的介绍.......NETStandard:.NET标准,只要符合这个标准实现类库,即可在支持此标准的Runtime上运行>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>.NETFramework:完整的.NET,只支持Windows,不同版本支持的.NETStandard不同,最新支持.NETStandard2.x>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>Mono:Mono即为.NETFramework的跨平台完整实现(除去WPF/WCF等少部分未实现),支持X64/X86/部分ARM平台,同样支持.NETStandard,不同版本支持的.NETStandard不同,最新支持.NETSta
DevExpress v17.2—WinForms篇(四)
DevExpress首推团队升级培训套包,最高可省10万元!查看详情>>>用户界面套包DevExpressv17.2终于正式发布,本站将以连载的形式为大家介绍各版本新增内容。开篇介绍了DevExpressWinFormsv17.2DataGridControl、DiagramControl、Editors等的新功能,快来下载试用新版本!PivotGridControlExcel启发过滤就像DevExpressWinFormsGrid和TreeList控件一样,我们的WinFormsPivotGrid控件现在支持列和行字段的Excel启发式列过滤器弹出窗口。性能增强此版本包括对DevExpressPivotGridControl的内存数据处理功能的重大增强。与早期版本相比,现在速度提高了2-5倍。用于未绑定字段表达式的Intellisense编辑器与其他DevExpressWinForms控件非常相似,我们的PivotGrid现在使用表达式编辑器来编辑未绑定的字段表达式。支持SV
一位40岁老程序员总结的编程职业生涯的三个阶段
本文是国外一位40岁老程序员对职业生涯的思考,他认为从长远来看,应该多投资一些不容易过期、衰竭期较长的知识领域中。我是一名程序员,几个月前刚过完四十岁生日。某个星期六的早晨,我参加了一个ReactNative技术交流会,演讲者正在竭力说服我们为什么它会成为移动开发领域真正的下一个大事件。但对我来说,它有点像十五年前的jsp,将所有的逻辑都放在演示代码里面。但我“老”了,我认为这是因为自己还没有完全理解它。演讲者展示完ppt后,现场进行编码,还展示了大约半打我没听说过的配套工具,这些都让我感到有点沮丧。当然,我并不是真的惊讶。在过去20年里,我也掌握了一些比较流行的技术,并享受驾驭它们的乐趣。新的东西总能给编程带来一丝激动的体验,并且能让事情变得更容易、更快和更清楚。但是在这个特别的早晨,在40岁的这个门槛上,我不得不承认我感觉有些落伍。我知道如果想跟上节奏,我得继续付出,抛弃一些已经充分吸收的知识,吸收一些新的知识,为下一次旅程做准备。我在想,我的编程生涯不像其他的专业人士,医生到了40岁不用担心他对血管系统
Windows下Python与plsql developer版本不兼容问题
在这里我们在Windows上使用的Python版本是64位的,而安装的cx_Oracle版本也是64位版本的,但是很不幸的是plsqldeveloper只支持32位的,下面我们来说下如何解决这样的问题。首先,我们先现在Oracle的客户端instantclient压缩包,需要包含32位和64位这2个版本,其中64位用于Python使用,而32位用于兼容plsqldeveloper。接着我们设置环境变量ORACLE_HOME用于指向instantclient客户端32位的目录路径,而设置环境变量PATH添加1个路径指向instantclient客户端64位的目录路径。这样我们就实现了兼容的效果了,既可以启动plsqldeveloper,也可以在Python中导入cx_Oracle库,而不会出现找不到对应的库的问题。
Java程序员从阿里、京东、美团面试回来,这些面试题你会吗?
最近有很多朋友去目前主流的大型互联网公司面试(阿里巴巴、京东、美团、滴滴),面试回来之后会发给我一些面试题。有些朋友轻松过关,拿到offer,但是有一些是来询问我答案的。其实本来真的没打算写这篇文章,主要是自己得记忆力不是很好,不像一些记忆力强的人,面试完以后,几乎能把自己和面试官的对话都给记下来。自己当初面试完以后,除了记住一些聊过的知识点以外,具体的内容基本上忘得一干二净,所以写这篇文章其实是很有难度的。但是,最近问我的人实在是太多了,为了避免重复回答,给自己省点力气,干脆就在这里统一回复了。说实话,我只能隐约想起并发、JVM、分布式、TCP/IP协议这些个关键字,具体的问题真的是几乎都没记住。而且就算我记住了,也告诉你了,你也背会了,但我觉得,在面试中,你被问到一模一样问题的可能性依然很小。甚至,就算你运气好被问到了,你也照着背下来了,也不一定就能对你的面试起到正面的作用,因为面试官万一多问一句,你可能就露馅了,那还不如干脆点说不会更好。在此给大家讲一下大型互联网企业面试题Java程序员从阿里、京东、美团面试回来,这些面试题你
AWS 宣布在 EC2 架构的新演进——Nitro 系统架构
安全:这是AWS所有产品设计的出发点。一切的一切都离不开安全。性能:不光要绝对性能要很突出,而且要能为客户提供持续的高性能服务。熟悉:我们想让用户在使用EC2实例时,就像是使用原生硬件一样。之后,PeterDeSantis宣布AWS在EC2架构的新演进——Nitro系统架构。在Nitro系统架构中,网络、存储、安全管理及监控都从传统实例中解耦,被迁移到专属硬件中。这些功能都将模块化、微服务化,使其能够快速迁移并且随时能够根据新的需求而演进。这种架构的好处,是我们可以将所有服务器资源都分配给客户的实例,并且我们最终的目标是让EC2实例与裸金属主机之间没有区别。并且从EC2C3实例到EC2C4实例,AWS实现了将网络和存储模块迁移到Nitro系统中。PeterDeSantis还谈到,随着C3实例和C4实例的成功,AWS更加坚定了向Nitro系统架构演进的决心。Nitro系统使用的是定制的ASIC,随着Nitro系统的演进,AWS面临着究竟继续使用ASIC还是选
打造自己的JavaScript武器库
原文出处:SlaneYang自己打造一把趁手的武器,高效率完成前端业务代码。前言作为战斗在业务一线的前端,要想少加班,就要想办法提高工作效率。这里提一个小点,我们在业务开发过程中,经常会重复用到日期格式化、url参数转对象、浏览器类型判断、节流函数等一类函数,这些工具类函数,基本上在每个项目都会用到,为避免不同项目多次复制粘贴的麻烦,我们可以统一封装,发布到npm,以提高开发效率。这里,笔者已经封装并发布了自己的武器库outils,如果你对本项目感兴趣,欢迎star本项目。当然你也可以在本项目的基础上封装自己的武器库。常用函数汇总这里先分类整理下,之前项目中多次用到的工具函数。1.Array
照片位图转SVG矢量图片JS工具primitive.js等简介
这篇文章发布于2017年11月30日,星期四,01:19,归类于canvas相关,SVG相关。阅读74次,今日73次byzhangxinxufromhttp://www.zhangxinxu.com/wordpress/?p=6565本文可全文转载,但需得到原作者书面许可,同时保留原作者和出处,摘要引流则随意。一、关于primitiveprimitive是相对来说比较有名的将照片图片使用几何图形重建的工具。原始项目为go语言,偏服务和后端使用,项目地址:https://github.com/fogleman/primitive以下就是一些效果示意:有macOS桌面版本,https://primitive.lol/。基于原始的这个primitive项目算法,很多开发人员拓展了Java版本,react版本等。自然也有JavaScript版本,就是本文要介绍的primitive.js。二、位图转换为矢量图JS-primitive.js项目地址为:https://github.com/
【魅族Pro7】——BootStrap/JQuery/Canvas/PHP/MySQL/Ajax爬坑之项目总结(一)
【魅族Pro7】——BootStrap/JQuery/Canvas/PHP/MySQL/Ajax爬坑之项目总结(一)前言:这个项目是我们小组团体合作完成的学习项目,项目使用魅族GUI设计和图片素材,响应式重构Pro7官网的首页、子页、商城及购物车,并加入一些创新。我主要负责的是【画屏子页】的项目,这里作为温故知新,把整个项目的重难点特色做一个整理。github项目地址:https://github.com/66Web/ljq_meizuPro7_team
[Asp.Net Core] 1. IIS中的 Asp.Net Core 和 dotnet watch
[Asp.NetCore]1.IIS中的Asp.NetCore和dotnetwatch在基于传统的.NETFramework的Asp.NetMvc的时候,本地开发环境中可以在IIS中建立一个站点,可以直接把站点的目录指向asp.netmvc的项目的根目录。然后build一下就可以在浏览器里面刷新到最新的修改了,也可以附加到w3wp的进程进行调试。但是在开发基于.NetCore的Asp.NetCore项目的时候,这样的做法已经无法满足我们的需要了:更改完代码build一下,无需部署即可在浏览器得到最新的更改。附加到进程调试。Asp.NetCore的项目需要先Pubilsh一下才能部署到IIS,而且中间需要一个AspNetCoreModule的模块来中转一下。这主要是因为Asp.NetCore的项目本质上来说是一个Console类型的项目,而且它自带了Kertrel组件来监听HTTP请求。这就使得IIS不再负责Asp.NetCore的运行了,而是作为一个反向代理来使用的,如下图所示:那么如何优雅在满足上面提
NullReferenceException,就不应该存在!
如果要你说出.NET中的三个异常,NullReferenceException一定会成为其中一个;如果说出.NET中的一个异常,NullReferenceException也会被大多数人说出来。它让这么多人印象深刻,是因为它在项目中实在是太常见了,常见到每一个C#/.NET入门者必然会遇到。然而,这个异常本不应该存在!NullReferenceException的可恨之处你说NullReferenceException可以告诉你程序中某个字段为null,告诉你程序发生了BUG。可是这是真的吗?说真的一定是因为用VisualStudio调试了,VisualStudio告诉了我们异常发生在哪一句,哪个字段为null。然而从真实用户或其他日志那里收集回来的数据是没有也不可能有这些信息的。这是因为NullReferenceException异常除了调用栈(StackTrace)之外不能提供其他额外的异常信息,连变量或字段名都不能提供。于是,当从异常日志准备分析异常原因的时候,只能猜
ASP.NET没有魔法——ASP.NET Identity 的“多重”身份验证
ASP.NET没有魔法——ASP.NETIdentity的“多重”身份验证ASP.NETIdentity除了提供基于Cookie的身份验证外,还提供了一些高级功能,如多次输入错误账户信息后会锁定用户禁止登录、集成第三方验证、账户的二次验证等,并且ASP.NETMVC的默认模板中就带有这些功能。本文将从以下几个方面解释ASP.NETIdentity是如何实现身份验证机制的:●ASP.NETIdentity的“多重”身份验证●Owin身份验证的积极模式与消极模式●再谈Owin身份验证机制●基于Owin的Identity在ASP.NET中身份验证的解决方案ASP.NETIdentity的“多重”身份验证为什么本章以Identity的多重身份验证为题?因为ASP.NETIdentity是基于Owin通过中间件的形式实现的身份验证,以下是默认模板中添加的代码:从代码中可以看到,模板代码一共添加了7个(包含被注释的3个)身份验证相关的中间件,按照对Owin中间件的理解,当
rocketmq的重试队列和死信队列
消费端,一直不回传消费的结果。rocketmq认为消息没收到,consumer下一次拉取,broker依然会发送该消息。所以,任何异常都要捕获返回ConsumeConcurrentlyStatus.RECONSUME_LATERrocketmq会放到重试队列。这个重试TOPIC的名字是%RETRY%+consumergroup的名字在控制台上过一会就可以查到。重试的消息在延迟的某个时间点(默认是10秒,业务可设置)后,再次投递到这个ConsumerGroup。而如果一直这样重复消费都持续失败到一定次数(默认16次),就会投递到DLQ死信队列,此时需要人工干预了。/**Batchconsumptionsize*/privateintconsumeMessageBatchMaxSize=1;/**Batchpullsize*/privateintpullBatchSize=32;consumeMessageBatchMaxSize是批量消费的最大条数pullBatch
开发一款短视频APP需要多少钱?
你来试试一整天敲代码的感觉再讲话对于程序员来说、没老婆不悲催悲催的是:没老婆,控制台还不停的提示你:这种囧况不禁让敏哥感触颇多!!!自从敏哥侃视界开播以来,每天都会有粉丝私聊敏哥侃谈技术人生、技术生活、职业规划、云计算等。前不久有这么一位刚刚获取融资的某平台CEO突然添加了敏哥,咨询做一款短视频APP究竟需要什么?敏哥接下来带大家一起聊一下,请看下文:whatareyou弄啥嘞?当下什么互联网产品最火?除了共享单车以外,毫无疑问,短视频是内容创业2.0时代不折不扣的风口,那么做一款短视频APP又需要多少钱多少精力呢?敏哥第六期带你一起来计算一下短视频APP“从无到有”需要准备哪些工作,以及为达成最终的使用版本,需要付出多少金钱以及时间的代价。首先一个稳定的团队是干活前必不可少的准备,敏哥以自身深陷IT圈多年的经验来看,大概一个团队的构成需要哪些人呢?当你召集完这些人以后就可以开始规划你的产品了但是针对这些员工,除了工资的部分,还要平均为每个员工缴纳相应的五险一金的支出,这样来看,员工部分的支出也是一笔
程序员的自我救赎---1.3:事务的使用
《前言》《目录》(一)Winner2.0框架基础分析(二)短信中心(三)SSO单点登录(四)PLSQL报表系统(五)钱包系统(六)GPU支付中心(七)权限系统(八)监控系统(九)会员中心(十)消息中心(十一)Winner前端框架与RPC接口规范讲解(十二)上层应用案例(十三)番外篇《事务的使用》关于事务,我今天要把自己放在一个初学者的心态来写这篇文章。之前几篇文章大多讲的是对于Winner的应用,今天要从根本上来讲一下“事务”,以及事务在Winner中的应用。首先从基础讲起,什么是“事务”?事务能帮我们解决哪些问题?摘录百度上的一段话教科书式的文字:“数据库事务(DatabaseTransaction),是指作为单个逻辑工作单元执行的一系列操作,要么完全地执行,要么完全地不执行。”其实很好理解,比如说我们的商品购物流程中支付成功之后要做的几步操作:1,修改订单表该状态;2,修改库存表库存数量;3,添加物流表发货信息;
程序员不要急于出名,出了大名就干不明白活
来源:中国青年报牛仔裤、格子衬衫、运动鞋和双肩包——如果把这四个词放在一个人的身上,似乎不用描述长相,大家就对他的职业有了猜测——八成是个程序员吧?这个被笑称“月入五万过成月入五千样子”的群体,以“收入高”、“脑回路简单”、“一成不变”等标签在江湖上留下诸多传说。他们会在十年间只用同一个品牌的电子产品,也能在“双11”的诱惑面前不为所动。他们可以凭自己一双手写出的代码吸引来创业公司的前两轮融资,也会骄傲地说,“我们就是在改变世界”。能干到80岁的职业前不久,全球首届程序员节在西安举办。活动评选出十位“功勋程序员”。金山软件股份有限公司创始人求伯君、王码五笔字型发明人王永民、涛思数据TBase创始人陶建辉、旷世科技创始人兼CEO印奇等都被授予该荣誉。王永民第一个发言。他穿着一件白衬衫,下摆翘起一角,水洗蓝的夹克外挂着刚刚领到的奖牌。戴着标志性的黑色方框眼镜,王永民声音洪亮:他排第一名,是按照大小个顺序排的。他举着麦克,高声建议:“程序员不要急于出名,出了大名就干不明白活。”陶建辉曾创立过专注于母婴行业的智能硬件公司快乐妈咪。
微服务通信原则:智能终端和哑管道
大部分公司迁移到微服务架构面临的一个挑战是如何实现微服务之间的通信。在过去单体架构中,各个组件都在同一个进程中运行,相互通信只是相互的函数的调用而已。但是在微服务环境中,组件之间是由服务器硬性边界分隔了,一般位于不同的VM或JVM或服务器中,相互之间需要通过端口进行通信。解决微服务间通信问题的最好方法就是遵循MartinFowler2014年定义微服务的论文中的“智能端点和哑管道”原则。本文阐述了MartinFowler的这个微服务通信概念,并解释了如何遵循“哑管”范式构建微服务通信的现代技术。微服务通信的类型微服务之间有两种主要的通信形式:1.请求-响应:一个服务通过发出指定请求来调用另一个服务,这种方式通常用于存储或检索数据。该服务然后等待响应:得到某个响应资源或响应确认。2.观察者:基于事件的隐式调用,其中一个服务发布事件,其他一个或多个正在监视该事件的观察者通过异步运行逻辑来响应该事件。为了说明这两种通信类型,以社交媒体应用程序的用户注册流程为例。当用户注册创建账户时,客户端向API端点发
eclipse通过JDBC连接SQL Server、MySQL数据库的方式(含jar包)
JDBC(JavaDataBaseConnectivity,java数据库连接)是一种用于执行SQL语句的JavaAPI,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序.----百度百科本文测试数据库为university,测试表为studentSQLServer2008step1.数据库的准备开启SQL数据库服务:
写会 MySQL 索引
原文出处:andyqian前言继上篇《读懂MySQL执行计划》后,在文章末尾,我们谈到了索引的概念,那么,今天我们就一起来聊一聊MySQL索引。什么是索引?百度百科是这样描述的:索引是为来加速对表中数据行中的检索而创建的一种分散的数据结果,时针对表而建立的,它是由数据页面以外的索引页面组成,每个索引页中的行都含有逻辑指针,以便加速检索物理数据其实,索引的概念大家都很清楚,也知道索引能够提升查询效率,但大部分童鞋在怎么建索引,建在哪些字段上有以下常见误解:新建表时不需要建索引,后续才添加索引where条件后的字段均建索引简单SQL不需要索引,联合查询才需要索引联合索引的顺序是where条件后字段的先后顺序对于区分度小的字段上也新建索引,如状态,性别等字段等。索引区分度在说上述问题之前,我们先来看看另一个概念,就是区分度。区分度:指字段在数据库中的不重复比区分度在新建索引时有着非常重要的参考价值,在MySQL中,区分度的计算规则如下:字段去重后的总数与全表总记录数的商。例如:selectco
MySQL存储过程详解
存储过程简介我们常用的操作数据库语言SQL语句在执行的时候需要要先编译,然后执行,而存储过程(StoredProcedure)是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给定参数(如果该存储过程带有参数)来调用执行它。一个存储过程是一个可编程的函数,它在数据库中创建并保存。它可以有SQL语句和一些特殊的控制结构组成。当希望在不同的应用程序或平台上执行相同的函数,或者封装特定功能时,存储过程是非常有用的。数据库中的存储过程可以看做是对编程中面向对象方法的模拟。它允许控制数据的访问方式。存储过程通常有以下优点:(1).存储过程增强了SQL语言的功能和灵活性。存储过程可以用流控制语句编写,有很强的灵活性,可以完成复杂的判断和较复杂的运算。(2).存储过程允许标准组件是编程。存储过程被创建后,可以在程序中被多次调用,而不必重新编写该存储过程的SQL语句。而且数据库专业人员可以随时对存储过程进行修改,对应用程序源代码毫无影响。(3).存储过程能实现较快的执行速度。如果某一操作包含大量的Tr