聚合文章列表
18 浏览

使用IFormattable接口来实现字符串格式化

本文为原创文章、源代码为原创代码,如转载/复制,请在网页/代码处明显位置标明原文名称、作者及网址,谢谢!开发工具:VS2017语言:C#DotNet版本:.NetFrameWork4.0及以上一、编写一个Person类,代码如下:classPerson{publicstringFirstName{set;get;}publicstringLastName{set;get;}}并让Person类继承IFormattable,代码如下:classPerson:IFormattable{publicstringFirstName{set;get;}publicstringLastName{set;get;}publicstringToString(stringformat,IFormatProviderformatProvider){//关键代码,后面给出}}这里将会列出需要实现IFormattable的方法ToString(stringformat,IFor

.Net 2017-12-21 发布
25 浏览

Web、WCF和WS通过Nginx共享80端口

团队中的一个Web项目面对的用户网络环境多是在严格的防火墙安全条件下,通常只开放一些标准的端口如80,21等。上线初期,因忽略了这个问题,除了Web应用是以80端口提供访问外,WCF和WS是以其他端口进行对外访问的,导致多数用户无法完整的使用系统的全部功能,如涉及直接访问WCF和WS服务的功能。同时加上分配给这个项目外网IP地址资源只有一个,因此对外的直接服务除了使用80端口,其他服务当时就直接采用了其他端口。为了解决这个问题,在Web服务器上(80端口),采用Nginx解析WebRequest中的请求特征,把针对Web、WCF服务和WS的请求分别转发到内网对应的物理服务器上。解析的规则如下:规则一:默认的80端口请求,转发到Web服务上。规则二:在规则一的基础上,如果请求URI中包含”.svc/”格式的字符串,转发到WCF服务器上。规则三:如果RequestHeaders中包含Upgrade信息,且值为websocket的话,转发到WebSocket服务器上。Nginx配置文件内容如下:upstream

.Net 2017-12-21 发布
15 浏览

小tips: 0学习成本实现HTML元素粘滞融合效果

这篇文章发布于2017年12月21日,星期四,01:23,归类于SVG相关。阅读17次,今日17次byzhangxinxufromhttp://www.zhangxinxu.com/wordpress/?p=6655本文可全文转载,但需得到原作者书面许可,同时保留原作者和出处,摘要引流则随意。一、元素粘滞融合效果实现原来这么简单页面任意位置塞入这么一段SVG代码:

HTML 2017-12-21 发布
AD 友情赞助
17 浏览

React从零开始(4)——表单和列表

表单是前端开发中必不可少的组件,React作为前端框架,如果不能处理表单,就会被亿万的前端工程师吐槽的。然而React对于表单的处理,还是有一些细节上的东西需要关注,接下来我们详细的描述在React中如何使用表单组件。为了让页面效果美观一点,在页面中引入bootstrap的cssnpminstallbootstrap--save在react组件中引入外部css文件,直接可以使用importimport'bootstrap/dist/css/bootstrap.css'我们操作使用react,开发中最多的内容就是操作state中的数据,那么进行表单开发,就是要将表单中的数据与state中的数据关联起来,也就是说,当用户改变表单中的数据时,state中的数据也会相应的发生修改,当state中的数据发生了修改,form中的数据也会进行相应的变化。这种变化,以Angularjs的双向绑定最为著名,然而,react并没有使用双向绑定,而是使用了单向数据流。单向数据流在这里描述单向数据流,并不采用一些比较正规的说法,我所说的是在开发中

CSS 1900-01-01 发布
16 浏览

坚定地使用 CSS Custom Properties

好久没译文,最近看到这篇GettingHardboiledwithCSSCustomProperties。觉得不错,翻译出来给大家。现在CSS新特性层出不穷,比如Flex,CSSGrid等等,我们是不是也可以按照这个思路使用,而不是借助预处理工具呢?自定义属性(CustomProperties)是一个很有魅力的CSS新特性,现代浏览器广泛支持。但是遇到那些不支持CSSCustomProperties的老掉牙浏览器我们该怎么办?等着这些浏览器死翘翘了再支持,还是使用预处理武装CSS?又或者强硬起来,对它们一笑了之?之前借助LESS或者Sass这样预处理工具在样式中使用变量,而今CustomProperties在CSS实现变量的原生支持。如何使用自定义属性?其实很简单,在样式规则钱添加--即可:--color-text-default:black;偏爱用下划线?下面这样也没问题:--color_text_default:black;在属性名称中,横线和下划线都

CSS 2017-12-20 发布
25 浏览

使用Bootstrap4 + Vue2实现分页查询

会员信息如何使用Bootstrap+Vue来实现动态table,数据的新增删除等操作,请查看使用Bootstrap+Vue.js实现表格的动态展示、新增和删除。交代完毕,本文主题开始。一、使用Bootstrap搭建表格表格区序号会员号姓名手机号办公电话邮箱地址状态{{pageNow*1

CSS 2017-12-19 发布
AD 友情赞助
23 浏览

C#/.NET 中的契约

将文档放到代码里面,文档才会及时地更新!微软从.NETFramework4.0开始,增加了System.Diagnostics.Contracts命名空间,用来把契约文档融入代码。然而后面一直不冷不热,VisualStudio都没天然支持。ReSharper不知何时加入了ReSharperAnnotations,在ReSharper插件工作的情况下能够进行静态契约的验证。C#8.0的可空引用类型是Roslyn对null的验证,本以为会带来编译级别的警告,没想到也只是契约。契约式编程当你调用某个类库里面的方法时,你如何能够知道传入的参数是否符合规范?如何能够知道方法调用结束之后是否要对结果进行判断?TDoSomething(Tparent)whereT:class;▲对于上面的方法,你知道null传入参数是合理的吗?返回的参数需要判空吗?代码的编写者可能是这么写的:publicTDoSomething(Tparent)whereT:class{i

.Net 2017-12-20 发布
46 浏览

为开源社区尽一份力,翻译RocketMQ官方文档

正如在上一篇文章中写道:“据我所知,现在RocketMQ还没有中文文档。我打算自己试着在github上开一个项目,自行翻译。”我这几天抽空翻译了文档的前3个小节,发现翻译真的不是一件容易的事情,即便只是翻译这种语言复杂程度较低的技术文档。翻译文档有很多好处,首先一点就是可以提升阅读英文文档的水平。现在很多开源项目都是国外的,即便是国内的开源项目,为了国际化影响也是先出英文文档,眼前的例子就是RocketMQ。然后,就是翻译文档分享出来,能够帮助一些英文水平还有待提高的开发者朋友们,让他们也尽快能读到阅读体验更好的项目文档。翻译要求三个字,信、达、雅。我的翻译还远远没有到这个程度,纯属抛砖引玉。官方文档链接为http://rocketmq.apache.org/docs/motivation,请对照阅读。为什么是RocketMQ动机在早期阶段,我们在ActiveMQ5.x(早于5.3)的基础上构建我们的分布式消息中间件。我们的跨国业务使用它来实现异步通信、检索、社交网络活动流、数据管道,甚至在交易过程中也在使用。随着我们的交易业

消息系统 2017-12-20 发布
21 浏览

程序员故事:从大飞机是谁制造的说起

2017年12月17日,第二架C919大型客机在上海浦东国际机场完成首次飞行,这意味着C919大型客机逐步拉开全面试验试飞的新征程。不管从什么角度出发,这都是一件喜大普奔值得庆祝的事情。不过这种事情自然也少不了那些键盘侠的质疑:“发动机是我们制造的么,到底有多少核心设备算是我们国产的......”在他们眼里,制造大飞机就像拼积木那样,把别人的零件配齐了,谁都能自己攒一个,算不上什么真本事。这种逻辑错的有多么离谱?触摸屏、蓝牙、指纹识别......这些没有一样是属于苹果公司的专利或者是核心技术,但却是iphone必不可少的核心配件,不过只有乔帮主把它们都结合在一起才出现了改变世界的iphone以及后续的各种各样的智能手机。那些键盘侠一定不会说:“iphone只是把这些产品组装起来而已!”有的人其实还生活在老庄那种小国寡民的时代,什么东西都能自给自足,倒是可以有点自豪感了。而现在早已经是资源全球配置、产品全球协作的时代,没有哪个国家哪个公司敢说自己可以搞定一切,就连一支简单的铅笔生产,中间都有可能是几十万人参与了写作。最终的产品交付能

程序员 2017-12-17 发布
AD 友情赞助
19 浏览

我所了解的微服务

谈微服务之前,我习惯先谈谈曾经折磨我三年的开发模式:ALLinONE。也会有人称之为:「单体应用」此处用到了「折磨」一词,憎恨之情可谓是溢于言表。其实这种感受并不是一开始就有,而是我在微服务圈子里混了一段时间后发掘的:我特么以前是怎么过来的!ALLinONE的开发模式应该算是我这代互联网人认识软件开发过程的第一个阶段。打开Eclipse,new一个DynamicWebProject,Java代码放在src下,JSP放在WebContent目录下,在WEB-INF/lib目录下还有各种jar包的加持,多么熟悉的工程目录结构。再后来,有了maven,一个项目分多个module,看起来清爽了不少,jar包也一下子少了很多,从SVN上Checkout一个工程明显更快了,编译,打包什么的,明显更方便了。想当初,自己引以为傲的Linux命令,给服务器安装JDK,Tomcat,MySQL什么的,都是信手拈来。当我熟练的将WAR包打出来,往webapps目录下一放,部署算是完成了。

软件架构 2017-11-30 发布
27 浏览

前端进阶之路: 前端架构设计(3) - 测试核心

可能很多人和我一样,首次听到"前端架构"这个词,第一反应是:"前端还有架构这一说呢?"在后端开发领域,系统规划和可扩展性非常关键,因此架构师备受重视,早在开发工作启动之前,他们就被邀请加入到项目中,而且他们会跟客户讨论即将建成的平台的架构要求,使用还什么技术栈?内容类型是什么?这些内容如何被创建?软件架构师的职责就是要保证项目中每一步都在总体架构的指导下进行,而不会随机决定.前端架构:测试篇现在的前端领域,随着JS框架,UI框架和各种库的丰富,前端架构也变得十分的重要.如果一个大型项目没有合理的前端架构设计,那么前端代码可能因为不同的开发人员随意的引入各种库和UI框架,导致代码量变得异常臃肿,最终结果可能是代码变得无法维护,页面性能低下,不得已只能推翻重构.所以我们需要在项目开始前,同样的需要对前端代码进行架构,一旦前端架构师设计出所有前端开发人员都要遵循的检验机制,建立起系统设计的规范,那么项目就拥有了可以衡量代码质量的标准,前端开发人员也能享受到更高效的工作流.所以,前端架构的定

软件架构 1900-01-01 发布
20 浏览

webpack3 编译兼容 IE8- 的正确姿势

上一篇中的方法在webpack更新后,uglify缓存地址也发生了变化,需要重新找地址。后来测试发现不论是uglify-js2uglify-js3都是支持IE8兼容处理的。但在webpack.optimize.UglifyJsPlugin中加配置参数却无效。(webpack的锅)总不能每次都手动去找webpack缓存路径进行劫持吧,那要疯了。UglifyjsWebpackPlugin关键点依然在于UglifyjsWebpackPlugin插件,但并不是内置的webpack.optimize.UglifyJsPlugin插件。$npmi-Duglifyjs-webpack-plugin单独安装这个插件后使用即可。constUglifyJsPlugin=require('uglifyjs-webpack

JavaScript 2017-12-20 发布
AD 友情赞助
16 浏览

快速理解JavaScript中call和apply原理

在了解call()和apply()原理之前,我们必须对this的作用和使用方法有所了解,如果你属性this的用法,那么请直接往下看。call方法:语法:call([thisObj[,arg1[,arg2[,[,.argN]]]]])定义:调用一个对象的一个方法,以另一个对象替换当前对象。说明:call方法可以用来代替另一个对象调用一个方法。call方法可将一个函数的对象上下文从初始的上下文改变为由thisObj指定的新对象。如果没有提供thisObj参数,那么Global对象被用作thisObj。apply方法:语法:apply([thisObj[,argArray]])定义:应用某一对象的一个方法,用另一个对象替换当前对象。说明:如果argArray不是一个有效的数组或者不是arguments对象,那么将导致一个TypeError。如果没有提供argArray和thisObj任何一个参数,那么Global对象将被用作thisObj,并且无法被传递任何参数

JavaScript 2017-12-20 发布
25 浏览

【liferay】1、使用alloy-UI发送ajax请求

1、首先liferay要发送ajax请求,那么就需要在jsp中定义resourceURL2、然后我们如何使用alloy-ui读取数据?这里我们可以借助alloy-ui提供的一个IO功能,发送ajax请求并从结果中读取数据demo:

AlloyUI-I/Odemo