聚合文章列表
15 浏览

关于跨域问题

跨域首先要知道域是什么?域(Domain)是Windows网络中独立运行的单位,域和域之间相互访问,则需要建立信任关系。信任关系是连接在域和域之间的桥梁。当一个域和其他域建立信任关系之后,两个域之间不但可以按需要相互进行管理,还可以跨网分配文件和打印机等设备资源,使不同的域之间实现网络资源的共享与管理。有一种简明的说法来解释广域跨域:跨域访问,简单来说就是A网站的js代码试图访问B网站,包括提交内容,获取内容,由于安全问题,跨域访问是被各大浏览器所默认禁止的。在广域网环境下,由于浏览器安全限制,网络连接的跨域访问时不被允许的。XMLhttprequest也不例外,但有时候跨域访问是必须的。跨域问题的产生:简单来说浏览器有同源策略,只能在同端口,同协议,同域名下才能进行数据交互。例如:在公司开发项目时,前后端服务器可能不是一个,因为可能通过webpack,gulp,搭建的开发服务器,就需要解决跨域问题,再例如,大公司数据服务器肯定不止一个,所以跨域问题是必然存在的。跨域问题的解决一:JSONP解决跨域问题JSONP是前后端解决跨域方式的一种,

JSONP 2017-07-31 发布
20 浏览

前端大厂面试总结(at,md)

面试过去了这么久,把八月份面试题和总结发一下吧,虽然年底大家都不换工作~还是可以看看的。关于面试,引用叶老湿的一句话。你的简历是自己工作的答卷,项目经历是你给面试官出的考纲。所以,我的面试一定是与我的简历、工作经历相关的,一些面试题并不一定适用于任何人,但是你可以从中了解他们考察的点,以及侧重点。基础知识可以查漏补缺。原文链接moka一家小型创业公司。因为同事有去面过的,他说面试感觉挺diao的,我就想去试一下啦,拿它先热热身,就从boss上投了简历。一轮用setTimeout实现setInterval,可不必关心返回值的类型。我听错了条件,我以为要注意返回值的类型必须跟原生的一样,也就是返回一个number,并可以clear。无清除定时器功能的马上就写出来了,但是加清除定时器,还有返回值的问题,就费了半天劲...也没弄明白。面试官比较着急了,跟我沟通的时候,我才知道返回值不一定非要跟原生的一样。给了一个栗子,结合pdf.js的示例代码,找出这个栗子中为什么分辨率很低。主要是看你通过调试去

CSS 2017-12-13 发布
119 浏览

iOS上的CSS样式协议 VKCssProtocol

迁移老文章到掘金本篇文章的全文可以用另一个文章标题来概括!我们为什么压根不应该使用AsyncDisplayKit而我的异步绘制的后面那一篇文章也可以用另一个文章标题来概括!不用AsyncDisplayKit,我们怎么异步绘制前言Facebook出得这个AsyncDisplayKit严格意义上讲,已经远远超出了超出了AsyncDisplay的范围.我个人在最开始思考AsyncDisplay的时候,以为这只是一个解决异步渲染的问题,可能是最大限度的在layer层display的时候做文章,直到我粗略了学习了下他的源码,才发现,我只看到了ASDK中很小很小很小的一块。ASDK其实已经十分庞大,涵盖了AsyncQueueControl(异步队列控制),在队列控制基础上封装的AsyncDisplay(异步绘制),AsyncLayout(异步UI布局计算),AsyncFetchData(异步数据准备),AsyncTextLayout(异步文字排版)并且又在此之上,重写了一整套几乎我们能用到的所有UIKit控件,小到ImageView,Bu

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

js-设计模式之观察者模式

1.观察者模式介绍观察者模式也称发布订阅(publish/subscribe简称Pub/Sub)模式。这是一种创建松散耦合代码的技术。它定义对象间一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都将得到通知。由主体和观察者组成,主体负责发布事件,同时观察者通过订阅这些事件来观察该主体。主体并不知道观察者的任何事情,观察者知道主体并能注册事件的回调函数。使用观察者模式的好处:支持简单的广播通信,自动通知所有已经订阅过的对象。页面载入后目标对象很容易与观察者存在一种动态关联,增加了灵活性。目标对象与观察者之间的抽象耦合关系能够单独扩展以及重用。应用场景:当一个对象的改变需要同时改变其它对象,并且它不知道具体有多少对象需要改变的时候,就应该考虑使用观察者模式。观察者模式所做的工作就是在解耦,让耦合的双方都依赖于抽象,而不是依赖于具体。从而使得各自的变化都不会影响到另一边的变化。1.1观察者模式-demo1:一个简单的观察者模式代码实现观察者模式中主要有三个基本操作:订阅、发布和退订//声明主体对象,利用闭包隐藏e

jQuery 2017-12-19 发布
22 浏览

React系列——socket.io群聊系统在react的实现

前奏这篇文章仅对不熟悉在react中使用socket.io的人、以及socket入门者有帮助。下面这个动态图展示的聊天系统是用react+express+socket搭建的,很模糊吧,要得就是这样的效果,我自己开了2个窗口,创建2个用户自问自答。没有什么高深的技术,对于很多想接触socket的前端工程师来说,不擅长后端的socket代码可能是硬伤。开发环境服务端:express服务器客户端:react技术栈,开发环境采用前端服务器的方式,打包后将静态资源放到服务端目录下做测试。基本介绍想要实现一种实时的双向通信聊天系统,你可能会想到ajax轮询(长或短),但你最想要的还是socket的实现。在写测试代码之前,我纠结于前端用什么,后端用什么,后来后端选择了express、前端是react。1、服务端使用到的js库expresssocket.io2、前端使用到的js库"react":"^16.2.0","react-dom":"^16.2.0","socket.io-client":"^2.0.4"expre

HTML5 2017-12-13 发布
15 浏览

每日科技英文43:html5 webgl 2d引擎PixJS特点

今日要点:PixJS引擎介绍情态动词之比较can,could和beabletoPixJSv4TheHTML5CreationEngineCreatebeautifuldigitalcontentwiththefastest,mostflexible2DWebGLrenderer.tocreatesthwithsth:用...创建...digitalcontent:数字内容FastPixiJS'strengthisspeed.Whenitcomesto2Drendering,PixiJSisthefastestthereis.strength:优点,长处whenitcomestosth:非常有用的一句句型,可以翻译为:一说到...,要说...thefastest:the+形容词:表示一类人或物,例如therich富人,theimpossible不可能做到的事.....FlexibleFriendly,feature-

HTML5 2017-07-29 发布
AD 友情赞助
37 浏览

用JS写一个Blog(node+vue+mongodb)

学习JS也有一段时间了,准备试着写一个博客项目,前后端分离开发,后端用node只提供数据接口,前端用vue-cli脚手架搭建,路由也由前端控制,数据异步交互用vue的一个插件vue-resourse来做,数据库用mongodb。总的来说就是node+vue+mongodb开发博客系统,探索前端走向全栈之路。我会记录下来整个过程在我的专栏,有兴趣的可以关注一下,一起学习,欢迎讨论。话不多说,先进行前后端项目的初始化。前端项目初始化命令行输入命令cdyour_project//切换到你想要切换到文件夹安装vue脚手架vue-cli命令行输入npminstallvue-cli-g安装完成后,输入vueinitwebpackblog//vue初始化,blog是项目的名称,可自行更改,初始化的数据可根据自己的的需要选择默认或是自己命名,需要说明的是,vue-router选项需要选择yes,因为要前后端分离,路由由前端控制。安装完成后,输入命令cdblog切换到项目文件夹后,输入命令npmrun

vue.js 2017-12-12 发布
18 浏览

Vue单页面骨架屏实践

github地址:VV-UI/VV-UI演示地址:vv-ui文档地址:skeleton关于骨架屏介绍骨架屏的作用主要是在网络请求较慢时,提供基础占位,当数据加载完成,恢复数据展示。这样给用户一种很自然的过渡,不会造成页面长时间白屏或者闪烁等情况。常见的骨架屏实现方案有ssr服务端渲染和prerender两种解决方案。这里主要通过代码为大家展示如何一步步做出这样一个骨架屏:prerender渲染骨架屏本组件库骨架屏的实现也是基于预渲染去实现的,有关于预渲染更详细的介绍请参考这篇文章:处理Vue单页面MetaSEO的另一种思路下面我们主要介绍其实现步骤,首先我们也是需要配置webpack-plugin,不过已经有实现好的prerender-spa-plugin可用varpath=require('path')varPrerenderSpaPlugin=require('prerender-spa-plugin')module.exports={//...plugins:[

vue.js 2017-12-13 发布
62 浏览

spring mvc与vue.js集成,如何使用vue的history模式

前言前后台分离的开发模式可以提高效率,方便优化,本文章主要分享如何在已经在springmvc中集成了vue.jshash#访问模式的情况下,怎么改成vue.js的history模式集成。部署目录结构前端(vue.js部分)主要是两个文件1.vue.js生产打包配置文件config/index.js中assetsPublicPath为发布到服务器的项目工程根目录2.路由对象中设置mode:'history',//访问模式为history,不带#base:'/NALM',//项目工程根目录后端(springmvc部分)1先说web.xml部分先设置404错误页面拦截到/index.html(与vue官网配置一个道理,官网上写的是Nginx和Apache的拦截)2.springmvc拦截说明因为我的springmvc工程为/匹配到Controller里面去这里有一个问题,只配置上面的步骤,这里就会有一个问题,页面请求全部到DispatcherServlet里面去了,需要在mvc的配置文件中声明/index.htm

vue.js 2017-12-13 发布
AD 友情赞助
62 浏览

vue.js引入vuex储存接口数据并调用的流程

前几天在慕课网上看到黄轶老师的高仿饿了么app视频教程,在做接口设计的时候,我在想,这个接口能不能储存下来全局调用呢?而不是走很多次接口,管理起来也麻烦。万能的vue果然有这个功能,那就是vuex。具体的实现流程,当然是先安装了npminstallvuex--save(推荐使用淘宝镜像cnpm,具体实施请自行百度)然后建立个store.js的文件来管理数据里面的内容是这样的importVuefrom'vue'importVuexfrom'vuex'Vue.use(Vuex)exportdefaultnewVuex.Store({state:{},actions:{},mutations:{}})然后在main.js里面引入这个js文件importstorefrom'./store.js'然后就开始请求数据了,在mutations这个属性里写上mutations:{getJson(){Vue.

vue.js 2017-12-13 发布
27 浏览

vue-calendar 基于 vue 2.0 开发的轻量,高性能日历组件

vue-calendar-component基于vue2.0开发的轻量,高性能日历组件占用内存小,性能好,样式好看,可扩展性强WhyGithub上太多一个输入框点击弹出日历选择某个时间的组件,却没有找到适合一个单纯展示日历并且能点击获取时间的组件少部分日历组件的占用内存过于大,对于日历这样简单的功能来说显然不够合理Demo或者请用浏览器的手机模式查看效果github地址https://github.com/zwhGithub/vue-calendarInstallnpmivue-calendar-component--savecnpmivue-calendar-component--save//国内镜像Usage//main.js中引入importCalendarfrom'vue-calendar-component';Vue.use(Calendar);<Calendarv-on:chose_day="clickday"v-on:is

vue.js 2017-12-13 发布
15 浏览

自定义指令(写一个倒置时)

自定义指令好处很多,有时候很多简单的功能形不成方法,但是调用的地方有很多,这时候使用自定义指令其实是一个不错的选择,下面就是一个简单的自定义指令实现一个倒置时:看图<!DOCTYPEhtml><htmllang="en"><head><title></title><metacharset="UTF-8"><metaname="viewport"content="width=device-width,initial-scale=1"><scriptsrc="https://unpkg.com/vue"></script></head><body><divid="app"><buttonv-countdown='5'>click</button><br/></div><

vue.js 2017-12-13 发布
AD 友情赞助
17 浏览

好久没上简书了,没想到简书已经成为造谣者的天堂

最近一篇文章刷新了我的世界观为什么程序员是出轨率最高的群体(支持双十一程序员脱单专场)整篇文章毫无逻辑,就是想到什么写发什么,完全不对自己的文字负责。就是自己说出的话自己不用负责,这样的人还是简书的签约作者。借用部分网友观点1.“程序员是出轨率最高的群体。出轨率第二高的是金融男。远远高于其他群体。听到这个调查报告…。”——麻烦把原始报告贴出来、报告单位、调查时间、调查报告权威性及可信度是否值得商榷?2.“程序员是互联网世界有话语权的人”——提醒你,兄弟,在天朝,互联网世界最有话语权的是CNIC(国家网信办)。3.“而且,程序员也是约炮率极高的群体。”——请问约炮率是多少,具体数据在哪?4.笔者认为“程序员经常在办公室过夜,没日没夜地写代码”——这全是在粉饰自己,而“他们甚至悠闲到上班时间有空闲写脚本抢月饼。”——这是程序员的大多数情况。(你以为遮住了眼睛看不见太阳就代表今天下雨是吗?)5.“保姆一天工作十六小时(如果地板要每天重复擦16个小时,我承认)。清洁工一天工作十三小时(如果清洁工每天连续扫地13个小时,我承认),工厂保安

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

iOS 深入理解手势识别器

在iOS中由于手势识别器的存在,我们可以非常容易的识别出用户的交互手势。系统提供的手势识别器如下:UITapGestureRecognizer(点一下)UIPinchGestureRecognizer(二指往內或往外拨动,平时经常用到的缩放)UIRotationGestureRecognizer(旋转)UISwipeGestureRecognizer(滑动,快速移动)UIPanGestureRecognizer(拖移,慢速移动)UILongPressGestureRecognizer(长按)大家对上面的手势识别器肯定不陌生,那么问题来了:1,手势识别器是怎样识别出用户手势的?2,如何使用手势识别器?3,各手势识别器状态,及各状态间如何进展?4,多个手势识别器作用在同一个UIView会发生什么?5,如何通过继承现有手势识别器来自定义?围绕着这几个问题,咱们一起深入的学习一下GestureRecognizer。2,解释触摸2.1手势识别和Touchevent的关系:手势识别通过分析Touchevents中

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

iOS 程序员的自我修养 — 读《程序员的自我修养 链接、装载与库》

书名源于俄罗斯的演员斯坦尼斯拉夫斯基创作的《演员的自我修养》,作者为了写这本书前前后后修改了三十年之久,临终前才同意不在修改,拿去出版。使用这个书名一方面书单内容的确不是介绍一门新的编程语言或是展示一些实用的编程技术,而是介绍程序运行背后的机制和由来,可以看做是程序员的一种“修养”;另一方面是向斯坦尼斯拉夫斯基致敬,向他对作品精益求精的精神致敬。--本书的序言三·余甲子本书的组织本书分为4大部分,分别如下。第一部分简介第1章温故而知新介绍基本的背景知识,包括硬件、操作系统、线程等。第二部分静态连接第2章编译和链接介绍编译和链接的基本概念和步骤。第3章目标文件里有什么介绍COFF目标文件格式和源代码编译后如何在目标文件中存储。第4章静态链接介绍静态链接与静态链接库的过程和步骤。第5章WindowsPE/COFF介绍Windows平台下的目标文件和可支持文件格式第三部分装载与动态链接第6章可执行文件的装载过程介绍进程的概念、进程地址空间的分布和可执行文件映射装载过程。第7章动态链接以Lin

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

使用 WebSphere Developer Tools for Eclipse 在 Liberty 上创建一个 Hello World 应用程序

本文(已针对EclipseMars而更新)介绍如何使用WebSphereDeveloperTools(WDT)forEclipse快速创建一个HelloWorld应用程序并将它部署到Liberty服务器。像本系列的其他文章(比如使用IntelliJIDEA在Liberty上创建一个HelloWorld应用程序),一样,我们将使用一个简单的HelloWorld应用程序,以便展示如何使用各种开发工具来开发它。下载并启动Eclipse,然后将这个按钮拖放到Eclipse工具栏,以打开WDT安装程序:(一种替代方法是,在Eclipse中单击Help>EclipseMarketplace…然后搜索适合您的Eclipse版本的WebSphereDeveloperTools。)安装WDT(且IDE正在运行)后,下一步是创建一个项目。这一步可以从Web或JavaEE透视图使用File>New>WebProject轻松完成

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

网易容器云平台的微服务化实践(一)

网易容器云平台的微服务化实践(一)今天10:55作者:冯常健摘要:网易云容器平台期望能给实施了微服务架构的团队提供完整的解决方案和闭环的用户体验,为此从2016年开始,我们容器服务团队内部率先开始进行dogfooding实践,看看容器云平台能不能支撑得起容器服务本身的微服务架构,这是一次很有趣的尝试。一旦决定做微服务架构,有很多现实问题摆在面前,比如技术选型、业务拆分问题、高可用、服务通信、服务发现和治理、集群容错、配置管理、数据一致性问题、康威定律、分布式调用跟踪、CI/CD、微服务测试,以及调度和部署等等,这并非一些简单招数能够化解。实践微服务架构的方式有千万种,我们探索并实践了其中的一种可能性,希望可以给大家一个参考。本文是《网易容器云平台的微服务化实践》系列文章的第一篇。Docker容器技术已经过了最早的喧嚣期,逐渐在各大公司和技术团队中应用。尽管以今天来看,大家从观念上已经逐渐认可“将镜像定义为应用交付标准,将容器作为应用运行的标准环境”的观点,但还是有相当一部分人在迷惑容器技术作为一个标准,应该怎么落地

软件架构 2017-12-13 发布
29 浏览

Google、IBM和Lyft开源的微服务管理框架Istio安装与试用 ::置顶

腾讯云新注册用户域名抢购1元起>>>摘要:使用istio可以很简单的创建具有负载均衡、服务间认证、监控等功能的服务网络,而不需要对服务的代码进行任何修改。你只需要在部署环境中,例如Kubernetes的pod里注入一个特别的sidecarproxy来增加对istio的支持,用来截获微服务之间的网络流量。目前版本的istio只支持kubernetes,未来计划支持其他其他环境。Istio是Google、IBM和Lyft联合开源的微服务ServiceMesh框架,旨在解决大量微服务的发现、连接、管理、监控以及安全等问题。Istio的主要特性包括:HTTP、gRPC和TCP网络流量的自动负载均衡丰富的路由规则,细粒度的网络流量行为控制流量加密、服务间认证,以及强身份声明全范围(Fleet-wide)策略执行深度遥测和报告原理Istio从逻辑上可以分为数据平面和控制平面:数据平面主要由一系列的智能代理(Envoy)组成,管理微服务之间的网络通信控制平面负责管理和配置这些智能代理,并动态执行策略Istio架构可以如下图所示

软件架构 2017-12-19 发布
20 浏览

代码架构设计-2.常用的两种web service代码架构

上文介绍了为什么要做好代码架构设计,接下来本文将为大家介绍两种常用的webservice的代码架构。在开始介绍这两种代码架构之前,先来回答一个问题:什么样的代码架构才是好的代码架构?好的代码架构设计这个问题的答案其实很简单,如同一份好的代码首先要有很好的可读性,并且能够达到松耦合,高内聚。这样一份代码就是好的代码。同样,一个好的代码架构首先要能够便于阅读理解,只需要知道模块名称就知道是做什么的,什么东西应该放在哪里,其次,一个好的代码架构应该能够通过自身的规则,帮助开发人员更容易的写出松耦合,高内聚的代码。由此可见,对于一个项目,一个工程来说,无论什么样的代码架构设计,只要能够达到上面的目标就可以了。并且随着项目的膨胀,代码架构也会有着不断地调整以适应现有的项目规模。这里也只是列出两种代码架构,仅供大家参考。在大家选择自己的项目架构时,还需要结合自身情况,不建议盲目地照搬硬套。基本的三层架构模型通常在写webservice的项目时,大家都会选择controller/api->service->repository/dao的模型。这里介

软件架构 2017-11-26 发布
16 浏览

MySQL读写分离功能,IP不用换,延迟至少降低30%,你还没开始用吗?

摘要:云数据库MySQL版额外提供了一个读写分离地址,联动主实例及其下的所有只读实例,实现自动的读写请求转发。应用程序连接读写分离地址后,可根据权重自动将写入请求发往主实例,将读取请求按权重发往各个只读实例。IP不用换,延迟至少降低30%。云数据库MySQL读写分离,详情请点击:https://promotion.aliyun.com/ntms/act/readwritesplitting2.html更多技术细节,请点击查看:https://yq.aliyun.com/articles/278809

MySQL 2017-12-13 发布
AD 友情赞助