聚合文章列表
12 浏览

模仿KOA,用php来写一个极简的开发框架

nodejs的koa可以说是非常受欢迎的,特别是其“洋葱模型”应该用过的人印象都比较深,下面就尝试用php来实现一个。注:本文是PHPec框架的最原始思路版本。PHPec是在此基础上完善编写出来的一个极简的轻量级开发框架,除了提供中间件调用模式外,同时提供了常见的自动路由功能,目前已在github上发布了最初版本。欢迎感兴趣的去了解和提出建议,也欢迎star.地址:https://github.com/tim1020/PHPec期望用法先来看看我要怎么用“这个框架”?require'app.php';$app=newApp();$app->use(function($ctx){$ctx->body.='>m1';$ctx->next();$ctx->body.='>m1end';});$app->use('Middleware2');$app->run();基本上跟koa类似,先new一个app对象,使用use方法添加中间件,支持闭包或外部文件。$ctx支持注入所需的各种参数,方

JavaScript 2018-01-12 发布
9 浏览

Nuxt.js踩坑分享

构建问题1.如何在head里面引入js文件?背景:在标签中,以inline的形式引入flexible.js文件。本项目主要为移动端项目,引入flexible.js实现移动端适配问题。Nuxt.js通过vue-meta实现头部标签管理,通过查看文档发现,可以按照如下方式配置://nuxt.config.jshead:{script:[{innerHTML:'console.log("hello")',type:'text/javascript',charset:'utf-8'}]}结果,生成html:console.log("hello")我们发现vue-meta把引号做了转义处理,加入__dangerouslyDisableSanitizers:['script']后,就不会再对这些字符做转义了,该字段使用需慎重!

CSS 2018-01-12 发布
7 浏览

前端女程序员教你,花样玩转CSS,它不只是一个简单的布局!

前几天看了一篇前端技术的文章,颠覆了我对CSS认识,让我知道CSS不仅仅只是一个简单的布局,单标签操作也能如此美轮美奂。于是我迫不及待想跟你们一起分享分享。操作指南本文中,所有的图形都是在单个标签内实现的,大量使用了CSS3中的::before、::after伪元素,transparent、border,多重线性与径向渐变,多重内外阴影。操作技巧本文所有图形都会有个容器包裹,其样式结构如下:.css-cell{position:relative;width:100%;height:300px;}所有图形都是在容器内实现的,其结构如下:天气那一块有部分会多一个容器,其结构如下:下面贴出图形的具体实现和相对应的样式代码【代码获取:前端学习交流裙:330336289,进裙邀请码(编号):寂静,不填不通过。裙内不定时分享干货和各类源码,包括2018最新的前端企业案例学习资料和零基础入门教程,欢迎自学的小白和大神入群学

CSS 1900-01-01 发布
AD 友情赞助
10 浏览
[Ctrl+A全部选择提示:您可先修改部分代码,再按运行]如上代码,预览可以看出红色框超出了,因为在标准的CSS中,width是不包含margin的(老IE中width是包含margin的)。为了达到上述效果,我们一般会在中间再套一层div(有人说,不是把width:100%取了就可以了么?冷静,我们是举例,实际有些情况下,不能取消width:100%。)有没有更方便的呢?用calc()吧。
CSS 2018-01-12 发布
8 浏览

新浪微博表情插件——jQuery Sina Emotion 3.0 发布

jQuerySinaEmotion这是什么一个用于方便快速地创建新浪微博表情选择对话框的jQuery插件。有何特点使用简单,一行代码即可创创建出表情选择对话框自带智能表情解析方法(但还是建议表情解析在服务端进行)兼容IE6+、Chrome、Firefox、Opera等各种浏览器插件演示演示地址使用方法//未指定插入文本框时,自动寻找同表单中第一个textarea或input[type=text]元素$(selector).click(function(event){$(this).sinaEmotion();event.stopPropagation();});//手动指定插入文本框$(selector).click(function(event){$(this).sinaEmotion(target);event.stopPropagation();});参数配置

jQuery 2018-01-12 发布
8 浏览

分享12款超棒的Javascript图片放大镜效果类库

在web设计中,有时候我们需要添加一些放大镜效果的需求,比如,查看缩略图的时候,希望鼠标悬浮的时候,能看到放大效果,这个UI/UX场景下,往往需要一个放大镜的javascript类库,在今天这篇文章中,小编我精心挑选了12款相关图片方法的类库,希望大家喜欢!MagifyJS一个超轻量级的悬浮放大效果,这个插件在鼠标悬浮的时候自动触发,无需用户去点击,这个插件可能是你能找到的功能最完整的放大镜插件了Blowup.js这是另外一个超酷的放大镜javascript,也同样是悬浮展示效果,它是一个jQuery的插件,只需要一行代码就可以生成超炫的放大镜效果,同样拥有很多不同的特性和选项jQueryZoom这是另外一个jQuery的插件,拥有不一样的界面和比较小的体积LeroyZoom一个只有4k的插件,但这个插件能够让你放大任何网页部分,包括图片Magnifier.js支持鼠标滚轮的缩放功能,这个比较独特Zoomplezoomple是非常特别的一个缩放插件,拥有圆形和方形的放大样式,支持悬浮缩放的功

jQuery 2018-01-12 发布
AD 友情赞助
12 浏览

HTML学习笔记:HTML5初探

什么是HTML5HTML5是HTML最新的修订版本,2014年10月由万维网联盟(W3C)完成标准制定。目标是取代1999年所制定的HTML4.01和XHTML1.0标准,以期能在互联网应用迅速发展的时候,使网络标准达到匹配当代的网络需求。与HTML4.01和XHTML1.x的差异语义:能够让你更恰当地描述你的内容是什么。连通性:能够让你和服务器之间通过创新的新技术方法进行通信。离线&存储:能够让网页在客户端本地存储数据以及更高效地离线运行。多媒体:使video和audio成为了在所有Web中的一等公民。2D/3D绘图:提供了一个更加分化范围的呈现选择。性能&集成:提供了非常显著的性能优化和更有效的计算机硬件使用。设备访问:能够处理各种输入和输出设备。样式设计:新的CSS3样式带来更强大的功能语义新增提纲元素:

,
,
13 浏览

码云推荐 | 基于 libubox 的 WebSocket 客户端 C 库

ustream-ssl-如果你需要支持SSLmbedtls-如果你选择mbedtls作为你的SSL后端CyaSSl(wolfssl)-如果你选择wolfssl作为你的SSL后端openssl-如果你选择openssl作为你的SSL后端配置查看支持哪些配置选项~/libuwsc/$mkdirbuild&&cdbuild~/libuwsc/build$cmake..-L~/libuwsc/build$cmake..-LH编译和安装~/libuwsc/build$make&&sudomakeinstall如何在OpenWRT中使用Addnewfeedinto"feeds.conf.default":src-gitlibuwschttps://github.com/zhaojh329/libuwsc-feed.gitInstalllibuwscpackages:./scripts/feedsupdatelibuwsc./scripts/feedsinstall-a-plibu

HTML5 2018-01-12 发布
10 浏览

使用js获取sessionStorage

获取sessionStorage的意义首先获取它是为了将获得的信息输出或者alert();让人容易看到,其次,在静态页面中,如果使用sessionStorage就相当于在动态页面里连接了数据库一样例如:我上一篇所做的为button按钮添加回车事件的项目中所用到的可以使用js中的sessionStorage获取页面输入的信息,也可以获得后台计算所得的数据,并且显示出来。废话不多说,看代码重要:具体实现functionlogin(){varusername=window.document.getElementById("username").value;varpassword=window.document.getElementById("password").value;if(password=="123456"){window.sessionStorage.setItem("username",username);window.location.href="../index

JavaScript 2017-07-15 发布
AD 友情赞助
13 浏览

Promise

Promise是一种处理异步编程的形式,其是以"上帝"的视角来组织代码的。这种视角用代码具体体现出来就是Promise的链式调用,Promise.prototype.then(fuc1,fuc2)方法返回的是一个新的Promise对象。这样的链式写法比起嵌套的回调函数写法更符合人的阅读规范。其本质是没有改变的,then里面的函数还是需要某个结果返回之后改变Promise的状态才会被调用。一个具体的例子:根据某个名字查出这个人的其他具体信息。现在假设有这样的数据接口,根据名字只能查出为该名的人的身份证号码,然后根据身份证号码能查出这个人的其他具体信息。letpromise=newPromise((resolve,reject)=>{//根据name取id$.ajax({url:'xxx?name=xxx',success:(res)=>{if(res.statusCode===200){resolve(res.id);//将id传入回调函数}else{reject(NewError('error

JavaScript 1900-01-01 发布
10 浏览

百度外卖出书啦 ——《 Vue移动开发实战技巧》

全书包括8个章节,从环境搭建到项目优化,我们以项目实战的整个流程为基础,系统的给大家讲解了使用Vue2.0开发项目时可能涉及到的各种问题。同时,书中也涉及了部分原理解析,优秀官方&非官方开源库的推荐(Vuex,router,UI组件库),weex的开发指南等等内容。如果你对Vue.js基础知识感兴趣,对Vue的底层原理很好奇,想了解项目如何从0到1,并进行相应优化,对于各种Vue周边的开源库不知道如何选择,这本书你绝对不能错过!

JavaScript 2018-01-11 发布
10 浏览

性能优化

一个开源的前端错误收集工具frontend-tracker,你值得收藏~蒲公英团队最近开发了一款前端错误收集工具,名叫frontend-tracker,这款工具主要是在前端网页出现错误时能发现并将错误信息反馈到指定服务器上,本着开源精神,现在分享给大家,希望能帮助大家在工作中获取便利,欢迎大家使用交流并分享给你周围的小伙伴们。Frontend…如何更加科学地提高文本可读性在日常的UI设计工作中,文本作为最重要的信息载体之一,其能否被用户清晰识别显得尤为重要。新手设计师在选择字体颜色时往往找不到依据、不够自信。本文旨在分析目前在这方面比较科学的做法,剖其缘由,希望能够抛砖引玉,给大家带来新的思路与思考。ES6中异步编程的大杀器--Generotor函数对ES6中Generotor函数的一些常用用法进行的总结归纳『翻译』一些JavaScript优化的细节Readtheoriginal前言优化客户端JavaScript代码常常是不值得的,因为这会失去代码可读性。如果你的APP运行缓慢,你可以考虑是否能优

JavaScript 1900-01-01 发布
AD 友情赞助
8 浏览

node.js+express+mySQL+ejs+bootstrop实现网站登录注册

同志们,经过不懈的努力,查了各种文档,终于鼓捣出了一个稍微像样一点的node项目,当然如果直接拿去项目里用,这个demo还太简单,毕竟一个完整的登录注册还有很多实际的内容,本案例mySQL的用户列表里,为便于理解,只设置了username和password两个字段,正常的登录注册,肯定会有更多的字段的。但是对于初学node的人来说,比如笔者,还是学习到了不少内容,甚至,紧张的我不知如下下笔,肯定这个是参考了很多网上其他少年博客,以后这个登录注册demo会依据项目的需要而有所改进,

JavaScript 1900-01-01 发布
13 浏览

前端-优雅的VueJS

Vue.js轻松实现页面后退时,还原滚动位置前言从Vue.js2.x发布之后,陆陆续续做了七八个项目,摸索出来了一套自己的状态管理模式,我将之称为Vuet。它以规则来驱动状态更新,它带来的是开发效率上的飙升,它就像草原,而你是野马,任你随意驰骋,总之它是为敏捷开发而诞生。缘由在大型的Vue应用程序开发中,多组件通信…进阶vue全家桶本项目可以作为一个前端vue进阶项目如何不用构建工具开发Vue全家桶项目Vue是目前最流行的前端开发框架之一,与Vue-router和Vuex组成俗称的Vue全家桶,更是开发前端富交互应用的利器。配合webpack等构建工具,开发大型应用也可以得心应手。随着Vue的普及,可能一些老旧项目也希望能“渐进式”的使用Vue,或者有的项目想用Vue来做但不…Vueg-为webApp提供转场特效的开源Vue插件如果你有使用vue+vue-router开发webApp、hybridApp,这个插件可以让你的app轻松获得页面切换时的转场特效。Vue.js学习系列二——

JavaScript 1900-01-01 发布
8 浏览

web前端vue:过滤器(filter)

vue的过滤器通常用在一些常见的文本格式化,过滤器可以用在两个地方:双花括号插值和v-bind表达式。比如给价格自动加上中文的钱的字符“¥”或者是给一个时间段或(时间戳)相互之间的转换过滤。在javascript和jquery的年代!时间段的显示或者是提交,都是要在显示的时候要转换下或者提交的时候转换下,这样就有点繁琐了(个人用了vue后的感觉繁琐了)。不多说直接看例子如下:filter定义的过滤器可以局部,可以全局的下面就直接说全局的老样子还是等先注册一个全局的过滤器关键字(filter)全局的注册过滤器是在main.js这个文件里,当然也可以单独的一个js文件里Vue.filter('dateconversion',function(value){//一个时间戳转正常的过滤器letdate=newDate(value)//nuw一个时间letgetHours//小时letgetMinutes//分if(date.getHours()<10){getHours="0"+date.ge

JavaScript 1900-01-01 发布
11 浏览

为button设置回车事件

//为keyListener方法注册按键事件document.onkeydown=keyListener;functionkeyListener(e){//当按下回车键,执行我们的代码if(e.keyCode==13){login();}}另附登录界面详细代码考试后台登录

CSS 1900-01-01 发布
21 浏览

如何使用 Markdown 写 PPT?

方案1vs方案2由于写ppt的过程中需要经常预览,方案1和2效果其实差不多方案1不需要安装额外的工具,将markdown嵌套在html文件中,打开浏览器就可以预览了,实现的方式更简单一些所以笔者更偏好方案1方案1vs方案3方案3体验会最好,但如果想实现方案3,得搭建一个网站,将markdown存到数据库里,实现比较复杂综上,选择方案1reveal.js使用总结目录结构从GitHub上下载reveal.js压缩包,解压后内容如下,重要的目录就这几个,其他都是一些测试文件或者示例|____2017||____12-28.html||____images|||____12-28-1.png|||____12-28-1.png|||____12-28-1.png|____README.md|____template.html|____reveal.js||____css||____js||____lib||____

CSS 2018-01-12 发布
20 浏览

ActiveMQ安全配置

1、activeMQ管理后台用户名、密码的设置管理后台地址http://localhost:8161/admin默认用户名密码adminadmin端口默认是8161,且服务采用的是服务器,所以我们进入到conf/jetty.xml(1)修改端口号:(2)在修改用户名和密码(用户名改为parry,密码改成parry123)#username:password[,rolename...]注意这里的提示:用户名:密码,角色parry:parry123,adminuser:user

消息系统 2018-01-11 发布
22 浏览

资深阿里程序猿深入讲解微服务架构在阿里的演化,越深入,越开心

关于AliwareAliware是阿里巴巴中间件技术品牌,包含5个中间件产品,主要是:EDAS、DRDS、MQ、ARMS、CSB。Aliware从2007年开始,经历了8年多的双11大促,每次大促都能使产品体系更上一个台阶。像JStorm、Dubbo、Rocketmq等等一系列的开源产品,无论在GitHub还是Apache这些顶级项目上,都是非常火的项目。服务化缘起在2007年的时候,阿里技术研发团队大概是500人左右,主要业务是淘宝网站点,都是都在一个单一的WAR包进行部署,基于传统JAVAEE应用开发架构,使用的是Oracle数据库和JBoss服务器。当时整个淘宝网就是两个WAR包,一个是前台的,就是淘宝网;还有一个是后台的CRM系统,是给所有的客户支持人员使用的。在当时那个阶段,我们面临着非常多的问题:第一个问题,是系统的研发成本非常高。首先,上百人维护一个核心工程,源代码冲突严重,协同成本极高。淘宝网当时是单独的一个WAR包,在运行的时候,就是一个

软件架构 2018-01-11 发布
20 浏览

避免MySQL替换逻辑SQL的坑爹操作

replaceinto和insertintoonduplicatekey区别replace的用法当不冲突时相当于insert,其余列默认值当key冲突时,自增列更新,replace冲突列,其余列默认值Com_replace会加1Innodb_rows_updated会加1Insertinto…onduplicatekey的用法不冲突时相当于insert,其余列默认值当与key冲突时,只update相应字段值。Com_insert会加1Innodb_rows_inserted会增加1实验展示表结构createtablehelei1(idint(10)unsignedNOTNULLAUTO_INCREMENT,namevarchar(20)NOTNULLDEFAULT'',agetinyint(3)unsignedNOTNULLdefault0,PRIMARYKEY(id),UNIQUEKEYuk_name(name)

MySQL 2018-01-11 发布
AD 友情赞助