聚合文章列表
11 浏览

理解CSS布局和BFC

CSS布局中有一些概念,一旦理解了这些概念,就能真正的提高你的CSS能力。这篇文章主要介绍的是关于块格式化上下文(BlockFormattingContext),也就是大家俗称的BFC。你可能从未听说过这个术语,但只要你曾经使用过CSS布局,你就可能知道它是什么。理解BFC是什么,它有什么功能,以及如何创建一个BFC是非常有用的,这些能帮助你更好的理解CSS布局。在这篇文章中,我将会通过几个很熟悉的示例来解释BFC。我还会介绍一个新的display的值,当你理解了BFC是什么的时候,你才能了解为什么需要这个值。也就能更好的理解它的真正意义。什么是BFC通过一个简单的float布局示例就能很好的理解BFC的行为。在下面的示例中,我们创建了一个盒子(其实在CSS中,每个元素都是一个盒子),这个盒子中包含了一个设置了浮动的图片和一段文本。如果有足够多的文本内容的时候,文本会围绕着图片(把整个图片包裹起来)。Iama

CSS 2018-01-07 发布
25 浏览

C# lambda表达式应用 找出元素在list中的索引

再写个PredicatePredicatepredicate=newPredicate(check));如果逻辑不复杂,可以这样写privatevoidOpenMenu(GameObjectgob){Predicatepredicate=newPredicate(s=>s.StartsWith(gob.name));inti=_nameList.FindIndex(predicate);}predicate这句可以简化一下Predicatepredicate=s=>s.StartsWith(gob.name);这样直接放在list里边就可以了intindex=_nameList.FindIndex(s=>s.StartsWith(gob.name));

.Net 1900-01-01 发布
24 浏览

Polly简介 — 3. 执行策略

类型的对象,它在Policy的执行过程中都可以使用,如:Policy.Handle().Retry(3,(err,countDown,context)=>{varmethod=context["method"];ConsoleLogger.WriteLine(method);})

.Net 2018-01-06 发布
AD 友情赞助
22 浏览

消息队列RabbitMQ与Spring集成

1.RabbitMQ简介RabbitMQ是流行的开源消息队列系统,用erlang语言开发。RabbitMQ是AMQP(高级消息队列协议)的标准实现。官网:http://www.rabbitmq.com/2.Spring集成RabbitMQ2.1maven配置//pom.xmlcom.rabbitmqamqp-client3.5.1org.springframework.amqpspring-rabbit1.4.5.RELEASE2.2rabbmitmq配置文件//rabbitmq-config.propertiesmq.host=127.0.0.1mq.username=testmq.pas

消息系统 2018-01-06 发布
24 浏览

程序员月入3000.你愿意嫁吗?女生的回答扎心了

现在的人们生活水平在不断的提高,现在的工资也不是以前的收入了,一个农民工一个月可以赚几千块,甚至更多。但是也不排斥有些人收入偏低的。一个月月薪3千的话,想要在城市里面生活的或许可以勉勉强强。而在现在社会的婚姻关系里,月薪已经成为了很多女方家里关系的问题了。他们都会在意你一个月到底可以赚多少钱?那么现在就有一个很现实的问题,如果你是女孩的话,你会嫁给月薪3千的男孩吗?最近在湖南的街头上就有人在做这个测试,里面的女生的回答真的让人扎心了。分享之前我还是要推荐下我自己建的前端学习交流群:640633433,如果你正在学习前端,小编欢迎你的加入,大家都是前端党,不定期分享干货,包括我自己整理的一份2017最新的前端资料和零基础入门学习教程,欢迎初学和进阶中的小伙伴。有网友说道:木努西:女人就会骗人,说的好听什么都不嫌弃你的,会跟你共患难,当你落魄没钱的时候,或者疾病缠身了,他们就会无情的抛弃你,我就是这样活生生的一个例子。渣渣豪:我月薪两万,我想找个二奶。松果:呵呵,那些说愿意的都是假的,我月薪六千,现在连个女朋友都没有,而且我还

程序员 2016-02-18 发布
20 浏览

分布式架构师:这些都是我要掌握的知识

前一段时间在网上看见了一篇文章内容大致是作为一个架构师你需要拥有什么样的能力,其中不过是包括以下几个点:1、对于Java基础技术体系(包括JVM、类装载机制、多线程并发、IO、网络)有一定的掌握和应用经验。2、对面向对象的软件开发思想有清晰的认识、熟悉掌握常用的设计模式;3、熟练掌握目前流行开源框架(spring/springmvc/ibatis),并且对其核心思想、实现原理有一定认知;4、熟悉Oracle、MySQL等数据库开发与设计以及缓存系统REDIS或Memcached的设计和研发;5、熟悉底层中间件、分布式技术(包括缓存、消息系统、热部署、JMX等)6、至少一种Java应用服务器如tomcat7、精通shell编程,熟练应用awk、sed、grep、strace、tcudump、gdb等常用命令;8、有大型分布式、高并发、高负载(大数据量)、高可用性系统设计开发经验9、对配置管理和敏捷研发模式有所了解10、业务能力当然以上的十点都是一个高级架构所应该掌握的或者说已经有拥有的能力,而就算我

软件架构 1900-01-01 发布
AD 友情赞助
20 浏览

mobx 太重?redux 全家桶?或许你可以试下 redux-zero-x

InstallationUsageExampleActionAsyncMiddlewareInstallationnpminstallredux-zero-xUsageusedecoratorimport{Provider,connect,Store,action}from'redux-zero-x'classCounterStoreextendsStore{@action({throttle:1000})increment(){return{count:this.getState().count+1}}//nometa@actiondecrement(){return{count:this.getState().count-1}}//ifsetpurewithfalse,thefirstargumentisstore'scurrentstate@action({pure:false})mul({count},times){return{count:count

JavaScript 2018-01-06 发布
25 浏览

对Promise增加统一操作扩展

在ES6里,增加了Promise方法。而Promise的回调函数只有then和catch两种方法。而后,Promise又添加了两种附加方法,当然需要自己去添加进去。一个是done方法:http://es6.ruanyifeng.com/#docs/promise#done一个是finally方法:http://es6.ruanyifeng.com/#docs/promise#finally可以去看一下上文的链接去了解一下,或者去下面的链接,看下官方源码是如何实现的:done和finally正文但是却没有一个针对then和catch的统一操作。如果在最后处理的时候,then和catch的代码处理逻辑差不多的情况下,可能就需

JavaScript 2018-01-06 发布
28 浏览

vue-router源码学习(一)

//定义路由规则constroutes=[{name:'首页',path:'/',component:function(resolve){require.async(['js/modules/Index.js'],resolve);}},{name:'详情页产品列表页',path:'/detail/:params1/:params2',component:function(resolve){require.async(['js/modules/detail.js'],resolve);}},{name:'产品列表页',path:'/product',component:function(resolve){require.async(['js/modules/product.js'],resolve);}}]//创建一个路由器实例varrouter=newVueRouter({routes});//路由器会创建一个App实例,并且挂载到选择符#app匹配的元素上。constapp=new

JavaScript 2018-01-06 发布
AD 友情赞助
28 浏览

原生DOM的认识

原生DOM确实难用,反人类,不过先把基础整好,后面框架估计好学点。1.DOM是啥1.1知识回顾先回顾一下HTML的基本结构以上就是最简单的HTML5的结构。一般我们会把它处理成一棵树,一棵节点树。[图片上传失败...(image-c5c7d8-1515149293823)]以上就是一棵树,浏览器把html渲染成的树,也就是document结构。每个框就是一个Element、html特殊点就是Document、标题是Text。Document、Element、Text的祖先都是Node。可是在内存中,存的不是html树,是一棵对应html树的对象树,而且是一一对应的树。

JavaScript 1900-01-01 发布
14 浏览

用 PhantomJS 實現網頁抓圖機器人

有時候我們需要一些網頁自動化的工作,像是資料爬蟲、搶票、自動化測試等等。那如何在沒有圖形桌面環境的Linux下完成這些工作呢?這時候可以藉助PhantomJS這個工具,PhantomJS底層透過QtWebkit進行網頁的渲染,你可以想像它執行的時後開了一個沒有畫面的瀏覽器,然後我們可以透過JavaScript直接操作DOM,就像在ChromeDeveloperTools的Console介面一樣。使用傳統HTTPLayer像是CURL之類的工具抓取網頁,碰到透過JavaScript渲染的網頁就很頭痛,使用PhantomJS便可以執行JS並完整渲染網頁,對於現在常常使用JavaScriptSPA(Single-pageApplication)建立的網頁或應用,就可以完整地進行Dom操作與資料擷取。超方便der...安裝PhantomJS以UbuntuServer為範例安裝PhantomJS的方法如下:sudoapt-getinstallphantomjs

JavaScript 2018-01-06 发布
19 浏览

说一下单页面应用的认识

说一下单页面应用的认识单页面应用的认识一、定义单页Web应用(single-pageapplication简称为SPA)是一种特殊的Web应用。它将所有的活动局限于一个Web页面中,仅在该Web页面初始化时加载相应的HTML、JavaScript和CSS。一旦页面加载完成了,SPA不会因为用户的操作而进行页面的重新加载或跳转。取而代之的是利用JavaScript动态的变换HTML的内容,从而实现UI与用户的交互。由于避免了页面的重新加载,SPA可以提供较为流畅的用户体验。二、优缺点单页Web程序的出现是富客户端发展的必然结果,但是该技术也是有些局限性,所以采用之前需要了解清楚它的优缺点。1、优点:1).良好的交互体验用户不需要重新刷新页面,获取数据也是通过Ajax异步获取,页面显示流畅。2).良好的前后端工作分离模式单页Web应用可以和RESTful规约一起使用,通过RESTAPI提供接口数据,并使用Ajax异步获取,这样有助于分离客户端和服务器端工作。更进一步,可以在客户端也可以分解

JavaScript 2018-01-06 发布
AD 友情赞助
178 浏览

工作中常见问题汇总及解决方案

注:本文是我在开发过程中遇到问题及解决方法的总结,之后会持续更新,希望帮助到更多的学习者。文中有不妥的地方希望指出共同学习,同时欢迎一起补充。npm篇npm安装依赖报错:permissiondenied,错误信息大致如下:npmERR!Darwin15.6.0npmERR!argvnpmERR!nodenpmERR!npmnpmERR!pathnpmERR!codeEACCESnpmERR!errno-13npmERR!syscallmkdirnpmERR!Error:EACCES:permissiondenied,mkdirnpmERR!atError(native)npmERR!{Error:EACCES:permissiondenied,mkdirnpmERR!atError(native)npmERR!errno:-13,关键错误信息:Error:EACCES:permissiondenied,解决办法://

JavaScript 2018-01-06 发布
26 浏览

给初学者:JavaScript 的常见注意点

上篇说了一些JS中数组操作的常见误区,这次来总结一下初学者常见的其他易错点。写立即执行函数时前置void立即执行函数(IIFE)在JS非常常用,作用就是构造一个函数级的变量作用域。常见的写法如下:(function(){//code})();这样写可能会被JS理解成为一个函数调用vara=1(function(){//UncaughtTypeError:1isnotafunction})()从今天改变习惯,这样写:voidfunction(){//code}();有些人喜欢以!打头,个人习惯问题。在standardjs规范日益流行的今天,忽略行尾分号成为了主流(但是笔者不喜欢),更要改变这个习惯注:standardjs本身禁止行首括号(https://standardjs.com/readme...)检查一个变量是否为对象之前,首先判断其值是否为null虽然不愿承认,JS标准说:typeofnull==='object'//true

JavaScript 2018-01-06 发布
20 浏览

React 跟世界说 Hello

Unsplash这里是React系列文章的第一篇,通过详细的例子跟大家讲解,关于React全家桶的使用,本篇文章的代码已上传到GithubReact_01上了,大家可以先行下载,根据文章的讲解来进行学习关于WebPack的知识讲解,大家可参考WebPack模块化打包工具(上)、WebPack模块化打包工具(下)这两篇文章进行学习,这里就不再复述

JavaScript 2017-12-07 发布
30 浏览

使用 Node.js 来开发一个资讯爬虫

最近项目需要一些资讯,因为项目是用Node.js来写的,所以就自然地用Node.js来写爬虫了项目地址:github.com/mrtanweijie…,项目里面爬取了Readhub、开源中国、开发者头条、36Kr这几个网站的资讯内容,暂时没有对多页面进行处理,因为每天爬虫都会跑一次,现在每次获取到最新的就可以满足需求了,后期再进行完善爬虫流程概括下来就是把目标网站的HTML下载到本地再进行数据提取。一、下载页面Node.js有很多http请求库,这里使用request,主要代码如下:requestDownloadHTML(){constoptions={url:this.url,headers:{'User-Agent':this.randomUserAgent()}}returnnewPromise((resolve,reject)=>{request(options,(err,response,body)=>{if

JavaScript 2018-01-06 发布
59 浏览

浅谈响应式Web设计与实现思路

是否还在为你的应用程序适配PC端,移动端,平板而苦苦思索呢,是否在寻找如何一套代码适配多终端方式呢,是否希望快速上手实现你的跨终端应用程序呢,是的话,那就看过来吧,本文阐述响应式UI设计相关理论基础,包括:屏幕尺寸,物理,设备独立,CSS像素,dpr,视口等相关概念,还有响应式设计基础,常见设计模式,及响应式UI实现基本思路,希望能加深对响应式的理解和实践思路。索引1响应式(Responsive)1.1自适应(Adaptive)1.3移动优先(Mobilefirst)1.4渐进增强(Progressenhancement)2.1物理尺寸(Displaysize/Physicalsize)2.2逻辑尺寸(Logicsize/Displayresolution)2.3物理像素(devicepixel)2.4CSS像素(CSSPixel)2.5分辨率(resolution)2.6像素密度(Pixeldensity)2.6.1分辨率转换为像素密度2.6.3点密度(dotsperinch)2.7设

CSS 2018-01-06 发布
27 浏览

Polly

上述代码在功能上和下面的代码等价:for(inti=0;i<2;i++){try{DoSomething();}catch(DivideByZeroException){if(i>1)throw;}}

.Net 2018-01-06 发布
29 浏览

MVVMLight的流程简单分析(二)

APP分部类首先关注的肯定是APP类启动的地方,我们从app.xaml.cs开始着手。我们看到有好几个函数,因为是讲流程,所以就不每个函数都介绍过去了,这里重点关注那个OnLaunched函数。这个是App一开始启动调用的函数。从注释也可以看出,这是在用户启动应用是触发调用。protectedoverridevoidOnLaunched(LaunchActivatedEventArgse){//TODO:中文为自己添加的注释说明//首先获取当前窗口的内容FramerootFrame=Window.Current.ContentasFrame;//DonotrepeatappinitializationwhentheWindowalreadyhascontent,//justensurethatthewindowisactive//如果内容也就是框架Frame为空,则创建一个新的,并放置到窗口中if(rootFrame==null){//CreateaFrametoac

.Net 1900-01-01 发布
29 浏览

28岁,程序员,围城

喜欢你的工作吗?有个小姑娘这么问我,“偶像,你喜欢你的工作吗?我感觉我是其他都不会,没办法,才来写前端的。”我思索了一下,回道,“谈不上喜欢,也谈不上讨厌,它只是个工作,碰巧会这个而已。”她又问,“那以后呢?”我问,“你意思是不喜欢后怎么办是吗?还是说,其实现在就不怎么喜欢?”她说,“是啊,现在不怎么喜欢,然后也就没啥动力,比较被动。”我当时回她的是,“我觉得吧,选择一个自己比较会的东西,是挺正常的。但如果这个东西你是厌恶的,那确实得考虑职业方向了。”后面就是吹嘘一些人生经验,勉励小姑娘,却没发现自己心里也没谱。我是做前端的,所达到的境界就是,前端各方面都有所涉猎研究,任何框架和工具使用都无障碍,也能自己写复用组件,出现任何问题都能自己解决,简单来说就是,“前端的东西,你唬不了我”。我把前端境界分为三种。第一境界,是勉为其难。第二境界,游刃有余。第三境界,返璞归真。如果游刃有余强调的是广度,那返璞归真强调的应该是深度,第三个境界,如果没有那种喜欢的情

程序员 2018-01-06 发布
AD 友情赞助