聚合文章列表
16 浏览

《Go Web编程》译者黄健宏——追求完美的编程达人

*他是一个极致的完美主义者,为翻译《GoWeb编程》一书,他曾经去过各大GO学习社区,精修专业技术;为了让译文更有“中文味”,大多数译文都已三易其稿,有时候仅仅为了挑选出一个更恰当的词语或成语,他不得不对着词典推敲半天。从0到1、从初入茅庐编程小子到畅销书作译者,他对写作、翻译、阅读、学习、生活都有着独到的见解。异步社区:可以先介绍一下你自己吗?异步社区的读者朋友们,大家好,我叫黄健宏(huangz),是一位来自广东清远的计算机图书作者和译者。我之前分别创作和翻译过名为《Redis设计与实现》和《Redis实战》的Redis图书,我的最新作品是目前正在预售的《GoWeb编程》,这是我的第二本译作,也是我第一次出版Go方面的图书。除了正式出版的三本图书之外,我还翻译和创作过一些开源文档,比如《Go标准库中文文档》(cngolib.com)、《Redis命令参考》(redisdoc.com)以及《SICP解题集》(sicp.rtfd.org)等。关于我个人的详细信息以及相关链接可以在我的个人主页huangz.me上找到。异步社区:

MySQL 2017-12-11 发布
18 浏览

语句优化思路与流程

最近接到一个系统全面优化的工作,此系统从开发到运维到管理(服务器配置/架构/索引设计/日常维护)等等方面均非常优秀,在之前的一些文章中很少涉及深层次语句调优的方法和思路,那么今天补充一篇。废话不多说直接上思路步骤。步骤一:确定重点语句此部分详细说明,请参见:Expert诊断优化系列-------------针对重点语句调索引l在SQL专家云[全面诊断]–[慢语句]-[汇总视图](默认页)中找到执行次数多的语句l结合业务找出重点功能,针对性梳理调优步骤二:重点语句调整思路(以下方法为递进方式)注:以下思路适用于语句深度调优(已经规避低级设计或写法问题,具体内容请参见:SQLSERVER全面优化-------写出好语句是习惯)l在复杂存储过程中找出慢的部分(如图:存储过程整体执行6秒,主要消耗在2个高消耗子语句)l观察语句基本运行情况是否索引缺失(针对重点语句调索引,请参见:Expert诊断优化系列-------------针对重点语句调索引)l定位语句运行

SQL Server 2017-12-11 发布
17 浏览

手摸手教你在vue-cli里面使用vuex,以及vuex简介

这篇文章是在vue-cli里面使用vuex的一个极简demo,附带一些vuex的简单介绍。有需要的朋友可以做一下参考,喜欢的可以点波赞,或者关注一下,希望可以帮到大家。本文首发于我的个人blog:obkoro1.com引入步骤我创建了一个新的vue-cli里面什么东西都没有,只引用了vuex,这里是码云地址,可以下载下来,然后npminstall、npmrundev试试看,里面vuex的使用地方也全都注释了一遍。安装npminstallvuex--save在src目录下创建文件夹vuex该文件夹包含以上文件,创建好了之后,我们一个一个文件来说里面都有什么东西。vuex/index.jsimportVuefrom'vue';importVuexfrom'vuex';importstatusfrom'./modules/status/index';//引进模块Vue.use(Vuex);exportdefaultnewVuex.Store({modules:{//Vuex允许我们将

Vue.js 2017-12-11 发布
AD 友情赞助
15 浏览

前后端分离之Vue项目构建测试打包发布

写在开始其实之前对前后端分离研究过一段时间,中间由于项目进度耽搁也就不了了之了,最近项目中部分使用到了Vue,恰逢前端小伙伴们居然说要使用这个东西,也许是前端的工作的确有点太乏味了,他们想找点新鲜感。目前我们前后端开发配比是1:5的样子,前端负责提供静态页面,后端负责后台开发以及前台数据渲染以及效果展示,从工作量上以及人员分配上来说还是比较合理的。那么问题来了,如果前端真想找新鲜感,在不增加人手的情况下,他们的新鲜感很可能会被进度拖入无尽的深渊。对于后端开发来说,我们一般开发一个功能,后台和前台工作量的比例一般会是1:3,甚至会更高(排除简单的增删查改和套模版)。尽管前后端分离已是趋势,但是对于大部分中小公司,特别是只有20-30人的开发团队,前后端分离可能会是个大坑,如果没准备好,入坑请慎重。准备环境在用Vue.js构建大型应用时推荐使用NPM安装,NPM能很好地和诸如Webpack或Browserify模块打包器配合使用。Vue.js也提供配套工具来开发单文件组件。安装Node.js以及npm包管理器:

Vue.js 2017-10-11 发布
14 浏览

再也不学AJAX了!(三)跨域获取资源 ③ - WebSocket & postMessage

让我们先简单回顾一下之前谈到的内容,AJAX是一种无页面刷新的获取服务器资源的混合技术。而基于浏览器的“同源策略”,不同“域”之间不可以发送AJAX请求。但是在某些情境下,我们需要“跨域获取资源”,为了满足这一需求,我们可以使用“JSONP”与“CORS”两种技术。现在,我们将要简要了解“跨域共享资源”的另外两种方式:WebSocket和postMessage。让我们先大概看看他们是什么,以及究竟是基于怎样的原理,满足了我们的需求-“跨域获取资源”。一、WebSocket基于维基百科的定义,WebSocket是一种在单个TCP连接上进行全双工通讯的协议。在这里我并不打算解释“TCP连接”和“全双工通讯”这两个专业术语(这样做会让这篇文章变得很长,而且也偏离了我们的主题),让我们聚焦这段定义的最后两个字协议。说到协议,你是否联想到“HTTP协议”?没错,HTML5标准之所以提出了一种新的互联网通信协议-WebSocket,就是为了弥补在某些情景下使用HTTP协议通信的一些不足。

Ajax 2017-12-11 发布
14 浏览

10分钟从原理分析移动端H5适配方案,让你适配不再慌乱(一)

前言:前端的你,是否曾窃喜终于甩掉了IE6,却一个转身,猝不及防踏入移动端碎片大坑,今天过后,可以不用太过于纠结了,因为可以我帮你重塑对移动端的认识,从此以后,得心应手,提升效率不是梦。知己知彼,百战不殆,我们前端开发也一样。知其然,知其所以然,不论从装逼或者实际开发的角度来说,都是百益而无一害的。我们来看一小段代码:相信这个代码大家都已经很熟悉了,主要做了两个事,1、定义rem;2、定义viewport缩放比例。当然了,如果仅仅以为我又是炒这两盘人尽皆知的冷饭,那就太小看我咯。我们需要更加深入了解浏览器(当然包括webview啦),从而更加从容进行适配开发。首先第一个问题,前端布局开发,到底是干嘛的呢?从本质上来讲,主要就是操作像素从而实现

CSS 2017-12-11 发布
AD 友情赞助
13 浏览

Stylelint in .vue

个人理解上stylelint是一个css代码linter的工具,可以结合nodejs和cli进行使用。继csslinter等linter之后,具有插件化的功能,同postcss的插件,webpack等都可以较好的集成进去。如果说js的代码检测和规范工具在jslint,jshint之后,你肯定听说过eslint。同eslint对js代码校验规则一样,stylelint也有一套类似的处理系统.TL;DR1.使用vue-cli初始化一个工程2.npmistylelintstylelint-config-standard-D3.在工程的根目录下建立stylelint.config.js文件,将以下内容复制进去。module.exports={"extends":"stylelint-config-standard","rules":{}}4.打开package.json在scripts中插入"scripts":{//表示对所有的.vue文件使用自定义的syntax去parse

CSS 2017-12-11 发布
14 浏览

学习Less-看这篇就够了

作为前端学习者的我们或多或少都要学些CSS,它作为前端开发的三大基石之一,时刻引领着Web的发展潮向。而CSS作为一门标记性语言,可能给初学者第一印象就是简单易懂,毫无逻辑,不像编程该有的样子。在语法更新时,每当新属性提出,浏览器的兼容又会马上变成绊脚石,可以说CSS短板不容忽视。问题的诞生往往伴随着技术的兴起,在Web发展的这几年,为了让CSS富有逻辑性,短板不那么严重,涌现出了一些神奇的预处理语言。它们让CSS彻底变成一门可以使用变量、循环、继承、自定义方法等多种特性的标记语言,逻辑性得以大大增强。预处理语言的诞生其中就我所知的有三门语言:Sass、Less、Stylus。Sass诞生于2007年,Ruby编写,其语法功能都十分全面,可以说它完全把CSS变成了一门编程语言。另外在国内外都很受欢迎,并且它的项目团队很是强大,是一款十分优秀的预处理语言。Stylus诞生于2010年,来自Node.js社区,语法功能也和Sass不相伯仲,是一门十

CSS 2017-12-11 发布
14 浏览

简解Css - 多变的边框

实现只需要借助box-shadow两个特性:box-shadow可任意个数阴影box-shadow的扩张半径参数。body{background:#000;}.pin{margin:60pxauto;width:60px;height:60px;border-radius:60px;background:white;box-shadow:00010pxhsl(0,100%,50%),00020pxhsl(100,100%,50%),00030pxhsl(200,100%,50%);}如果只用来当作图片显示,那么再加上适当的外边距,显然已经大功告成了。解决响应问题:但其实会有一个潜在的问题。因为用box-shadow生成的边框是出现在元素外圈的,而元素的外圈,是不会响应鼠标事件的。可以通过把每个box-shadow属性加入inset关键词,让它在元素内部渲染,然后使用同等的内边距来解决。代码如下:body{background:#000;}.pin{margin

CSS 2017-12-11 发布
AD 友情赞助
15 浏览

css3实现多个元素依次显示

如上图所示,在许多的活动宣传html5中会经常需要用到这样的一个动画效果。特别是快到年底了,也许有同学正在为了公司的活动页面而忙碌,get到这样一个小技能说不定刚好对你有帮助哦。在css3中,我们使用animation与keyframes结合,可以给元素添加各种各样的动画效果。具体的动画,在keyframes中定义,在animation中使用。例如可以定义一个从上飞入的动画效果。@keyframestopIn{from{transform:translateY(-50px)}to{transform:translateY(0px)}}并在目标元素中通过animation来使用动画。

.topIn{animation:topIn1sease;}这样,当元素第一次渲染进入DOM时,就会有一个从上到下的位移动画效果。当然,这种效果并不是我们想要的。往往我们还在在动画上加上一个透明度从0到1的渐变。@keyframestopIn{from{tr

CSS 2017-12-11 发布
22 浏览

67 个拯救前端开发者的工具、库和资源

摘要:在本文中,我不会去谈React、Angular、Vue等等这些大的前端框架,也不会谈Atom、VScode、Sublime等等这些已经很出名的代码编辑器,我只是想简单的分享一套我认为有助于提升开发者工作流的工具集。这套工具集中的大部分你可能见过,也可能没见过,如果有哪个/些让你眼前一亮,那么我的分享就很值了。本文由myvin在众成翻译平台翻译。在本文中,我不会去谈React、Angular、Vue等等这些大的前端框架,也不会谈Atom、VScode、Sublime等等这些已经很出名的代码编辑器,我只是想简单的分享一套我认为有助于提升开发者工作流的工具集。这套工具集中的大部分你可能见过,也可能没见过,如果有哪个/些让你眼前一亮,那么我的分享就很值了。这个列表包含许多种类的资源,所以这里我将它们分组整理。Javascript库Particles.js—一个用来在web中创建炫酷的浮动粒子的库Three.js—一个用来在web中创建3d物体和3d空间的库Fullpage.js—快

CSS 2017-12-11 发布
17 浏览

JS本地存储

image.pngWEB应用的快速发展,那么前端对于本地存储一些数据也成为一种重要的需求,例如保存账户登录的用户名、密码等,既提高了用户体验,也省去了跟后端交互所需的步骤,还不影响网站的性能。因此呢,推出了cookie、userData、flash、sessionStorage、localStorage、应用缓存等等方案,本文涉及到的内容仅cookie、sessionStorage、localStorage,不足之处,望见谅。

HTML5 2017-12-19 发布
AD 友情赞助
18 浏览

DevExpress WPF入门指南:加载动画的应用

LoadingDecorator是一个容器控件用于显示long-loading的内容。内容还没加载完成的时候会显示一个加载指示器,加载完成后指示器消失,如下图所示:开启LoadingDecorator用dx:LoadingDecorator标签:自定义LoadingIndicatorLoadingDecorator提供了一系列属性,用于自定义LoadingIndicator外观。定义indicator布局:LoadingDecorator.SplashScreenTemplate属

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

Java和C#语言有什么区别?答案在这里

JAVA是一种可以跨平台开发的语言,而C#目前只被Windows和Linux支持,Windows下的支持当然是由微软自己开发的,而Linux下的支持则有MONO支持。实际上,MONO也是把C#应用转化为JAVA应用而已,所以本质上,C#仍然只是被微软自己的操作系统支持。应用平台受到限制,是它最大的缺点。Java语言是一种完全的面向对象语言,虽然它的底层(运行时库)是用C语言开发的,可是并不依赖于C。因为Java的运行是在运行时库的支持下进行的,所以运行效率比起可以更接近底层的C/C++来说效率会有所影响,不过Java的类库采用很好的设计理念设计,非常好用,也非常实用,已经成为业界的一种标准开发语言。它的跨平台的特性尤其让很多开发者欢迎,你只需要开发一次就能在所有安装了Java运行时库的系统上运行。Java发展了十几年了,可以应用领域非常之广泛,Web开发有JSP,J2EE,桌面领域现在有JavaFX。Java既可以被编译,也可以被解释。通过编译器,可以把Java程序翻译成一种中间代码-称为字节码-可以被Java解释器,解释的独立于平台

.Net 2017-12-11 发布
13 浏览

ASP.NET MVC5+EF6+EasyUI 后台管理系统(88)-Excel导入和导出-主从表结构导出

前言前面一篇详细讲解了导入导出,本节演示混合结构的导出功能!同时提供代码下载..代码下载vs2015+无数据库先看效果图:这个一个混合的Excel,列表与自定义信息的混合!我们的步骤大概分为以下几步1.模拟数据库数据2.创建工作簿3.填充固定数据4.合并单元格5.处理动态数据数据及环境准备创建一个新的Asp.NetMVC5项目,并从Nuget包安装ClosedXML为了更好的跟真实数据结合,我们需要模拟一些静态数据,新建2个模型来保存数据publicclassSchoolClass{publicstringId{get;set;}//班级标示publicstringName{get;set;}//班级名称publicstringManager{get;set;}//班主任姓名publicstringManager2{get;set;}//副班主任姓名publicstringPhoneNumber{get;set;}//班主任联系电话publicstrin

.Net 2017-12-11 发布
18 浏览

WPF自定义产品框架

本次主要讲解一下WPF业务类产品开发架构。产品架构分为WPF客户端程序和WCF服务端程序,分离的目的也是为了,在扩展其他业务终端的时候都可以通过同一个服务端去访问,一定程度上减少开发工作量。在讲解之前先看一下效果,有助于理解:这是客户端的效果图。整个产品分为两部分:1.WPF开发的展示效果的客户端2.WCF开发的提供数据服务接口的服务端本章主要讲解一下实际中开发WPF开发客户端所使用的框架,结合WCF服务端应用。我们先看下第一部分WPF客户端结构:简单的说下几个比较重要的DLLCommonLib:这个是基于原有的Window模块扩展的窗体,实现了界面模板的自定义,重新实现了窗体的关闭的打开效果,做了个动画处理这是两套自定义窗体(一套包含一个主窗体和一个子窗体)CommonTool:具备一些通用性功能:如访问服务端请求代码、XML操作类、JSON序列化、文件上传下载BimCollege:界面模块。界面结构采用内嵌的方式,每个内嵌的板块只负责自己板块内功能和数据,从

.Net 2017-12-11 发布
18 浏览

(翻译)使用Api分析器与Windows兼容包来编写智能的跨平台.NET Core应用

本文翻译自ScottHanselman博客:https://www.hanselman.com/blog/WritingSmarterCrossplatformNETCoreAppsWithTheAPIAnalyzerAndWindowsCompatibilityPack.aspx正文:这是最近这几周你应该知道的一对.NetCore界的优秀工具。我们在编写或者移植跨平台代码时,它们非常有帮助。.NETAPI分析器首先是API分析器。如你所知,有时候我们会遇到过时的API,或者一个方法你可以在Windows下使用,但是在Linux下却不能工作。API分析器是一个Roslyn(Roslyn是C#/.NET编译器的名称)分析器,它可以很容易地添加到你的项目,通过一个NuGet包。你所要做的就是添加这个包,之后你将立即得到警告,或者波浪线表示API有问题。看看这个简单地例子。我将生成一个简单地控制台应用,它已经添加了API分析器。注意这个版本号是目前的,以后会改变。C:\supercrossplatapp>dotn

.Net 2017-12-11 发布
22 浏览

《RabbitMQ Tutorial》译文 第 2 章 工作队列

源文来自RabbitMQ英文官网的教程(2.WorkQueues),其示例代码采用了.NETC#语言。Inthefirsttutorialwewroteprogramstosendandreceivemessagesfromanamedqueue.Inthisonewe'llcreateaWorkQueuethatwillbeusedtodistributetime-consumingtasksamongmultipleworkers.在第一篇教程中,我们编写了程序从一个具名(已明确命名的)队列中发送和接收消息。在这一篇中,我们会在多个工作单元之间创建一个工作队列来分配耗时的任务。ThemainideabehindWorkQueues(aka:TaskQueues)istoavoiddoingaresource-intensivetaskimmediatelyandhavingtowaitforitto

消息系统 2017-12-11 发布
23 浏览

技术求职流量考察:Python成为程序员和企业搜索较多的编程语言

飞速发展的技术,让所有软件开发人员,工程师以及其它技术人员不得不时刻神经紧绷,努力学习,从而保证始终走在技术的前端。到底哪些工作岗位更受欢迎呢?对于雇主来说,拥有高度专业的高科技人才的需求量很大。我们通过分析Indeed求职者和简历搜索数据,找到了求职者和雇主都在追求哪些新兴技术技能,同时展示了哪些技能可能会在未来爆红?为了确定在求职者搜索活动中增长最快的技术术语,我们考察了两年的技术求职流量。然后,我们在同一时期梳理了简历搜索流量,看看这些技能在雇主中的普及程度如何。求职者中的赢家是React和云计算,而在雇主简历搜索方面这两个术语也排名第一。React是一个JavaScript库,用于在应用程序中创建用户界面,主要由Facebook进行维护。这项技术正在爆炸式增长。到2017年,React项目在Github上排名第二。实际上,React是迄今为止求职者搜索活动增长最快的技术技能搜索术语。与此同时,雇员的使用量增加了两倍多。这表明了React在面向消费者的技术公司中的普及程度,以及前端开发人员的熟练程度。简而言之,React

程序员 2017-12-11 发布
13 浏览

安全事大!来看基于STS和JWT的微服务身份认证

自MartinFowler提出微服务架构的概念后,这个名词就一直比较流行,总是成为众多技术论坛和公众号的讨论热点。很多互联网和软件公司都在将原有的整体架构进行拆分,朝着微服务架构的方向进行迭代,而新的项目也几乎无一例外的成为了实践微服务架构的场所。对于大多数有经验的工程师来说,将传统的异步函数调用直接改成RESTAPI或者某种RPC并不是一件很困难的事,要面临的问题包括序列化,调用延时和版本等。但服务接口之间的安全和身份认证(Authentication)问题往往比较棘手,而且也是比较敏感的部分。这里所指的身份认证,既包括用户的身份,更强调程序和服务的身份,也就是微服务调用之间的基本接口信任关系。一些项目在进行微服务架构设计的时候,采用私有网络或者IP网段的隔离来保护被拆分的服务,或者配置类似Kerberos的认证系统。这样的做法比较简便,在进行原有整体架构的迁移时可以尽快上线。然而从宏观角度来看,这样的安全模式有一定的局限性,尤其对底层网络架构的依赖会带来不便,容易造成错误配置,在某些应用场景下甚至不符合

软件架构 2017-12-11 发布
AD 友情赞助