聚合文章列表
19 浏览

小工具:天气查询

开发一个天气查询的工具主要由两步构成,一是数据的获取,二是数据的展示。一、数据获取数据获取又可以分为使用其它公司提供的API和手动抓取其它网站数据。1.某公司提供的API可以从阿里云的云市场中查找,可以找到免费的API,并且提供不同语言的示例,实在不会还可以向客服咨询...回想当初使用A公司提供的API,使用B公司的APPCODE,还理直气壮的去问A的客服“我照你们示例写的为什么还调用失败”???2.其它网站数据抓取抓取数据源网站为中央气象台(http://www.nmc.gov.cn)。利用抓包工具,分析得出获取实时天气需要用到以下几个接口(以查询天津天气为例):1)省及直辖市信息(http://www.nmc.gov.cn/f/rest/province)GEThttp://www.nmc.gov.cn/f/rest/provinceHTTP/1.1Host:www.nmc.gov.cnUser-Agent:Mozilla/5.0(WindowsNT10.0;Win64;x64;rv:5

JavaScript 2017-12-25 发布
18 浏览

一个老程序员写的:《面向对象的JavaScript编程:原理与实践》

欢迎直接在GitHub上阅读:https://github.com/haitaoxin/jsoo1.简介初衷笔者早年编写代码使用过Motorola68000和x86汇编、C/C++、Pascal、Fortran、PowerBuilder、VisualBasic,后来又短暂接触过Java、Python和Swift。最近这些年来使用最多的是JavaScript(正式名称是ECMAScript,本书经常会缩写为JS)。众所周知,JS问世之初是“难登大雅之堂”的小玩意儿,还要靠冠名Java以壮声势。但是随着浏览器作为软件发布、运行的平台成熟起来,再加上NodeJS项目的兴旺,JS本身的进步和普及程度已经使它成为每一个前台软件工程师和全栈工程师必不可少的工具。虽然这种语言已经强大到适用于大多数类型的后台服务器程序(更不用说它是前台开发的唯一正式语言),但是还是有人诟病其不够严谨,争论它是不是完全符合面向对象(Object-Oriented)语言的特征。更多的初学者和程序员则是对JS的对象运作机制和使用多少有些含糊不清。这是因为JS的对

JavaScript 2018-01-24 发布
17 浏览

[译]Ext JS从零开始之二

原文地址:https://www.sencha.com/blog/ext-js-from-scratch-part-2/欢迎来到Ext从零开始博客系列之二。在第一篇博客中,已经从零开始创建了一个应用程序看起来像什么且希望它做什么的的可工作的应用程序,现在,从HTML和CSS角度来审视一下它是如何构建的。应用程序的源代码可以在这里找到:https://github.com/mgusmano/ExtJSFromScratch/tree/master/Part02/01要注意的是,在该应用程序中,index.html文件使用了硬编码来指定js和css文件(第5到7行)。ExtJSFromScratch-Part1,Demo4<

JavaScript 2018-01-24 发布
AD 友情赞助
25 浏览

google-diff-match-patch文本内容对比的使用

项目里面用到了文本的对比功能,就用了下google-diff-match-patch,不过也是只用了文件对比功能。这里来看一下是怎么使用的。参考链接:google-diff-match-patchDiffdemoGithub地址这个库支持多语言,demo是直接使用javascript做的。下面的使用是根据wiki和自己的一些简单的理解来写的Introduction不同的语言使用的方法是一样的,不同语言的使用首先都要先引入这个library。使用的时候,先创建一个diff_match_patch对象,这个对象内就包含我们所要使用的对比方法。按照google的javascript的demo,创建对象vardmp=newdiff_match_patch();对比,就可以得出对比结果vard=dmp.diff_main(text1,text2);安装文档的说明,这个文本的对比结果对用户不一定友好,比如我们完全改变了2段文字,但是去对比的话,可能得出的结果是按照一个一个字母的顺序去对比,

JavaScript 1900-01-01 发布
21 浏览

iView 2.9.0 发布,基于 Vue.js 的企业级 UI 组件库

iView2.9.0发布了,iView是一套基于Vue.js的企业级UI组件库,主要服务于PC界面的中后台产品。更新依赖,以及使用browserlist。#2835#2837#2839重构了Slider组件。#2393优化了Button、Radio、Checkbox样式,增强键盘的可访问性,更接近原生。#1647Menu支持多级嵌套。ColorPicker新增是否显示色彩滑块的属性hue。#2672AutoComplete新增placement属性。#2803Input新增clearable属性。#2884Dropdown新增事件@on-clickoutside。#2783修复Table固定列使用排序和筛选功能时的bug。#2832修复Table在筛选时有时报错的bug。#2352修复Table在有滚动条时,数据置空后,表头错误的bug。#2775修复Cascader数据label为空时,报错的bug。

JavaScript 2018-01-24 发布
19 浏览

实战WebSocket聊天室:从开发到部署上线

本文仅对一些关键性的知识点进行解释,具体请Fork源码学习。Demo页面如果没啥人的话可以自己新建几个页面复制地址进入,每个页面都是一个独立的访客,兼容PC和移动端访问。Demo演示Github源码博客原文前端实现前端技术栈Parcel:构建工具,零配置的打包构建工具socket.io:跨平台的WebSocket通信库,具有前后端一致的API,可以触发和响应自定义的事件。前端界面界面布局这个没有啥说的,直接按自己喜好写就行了。也可以直接参照本项目DEMO和源码。socket.io简介socket.io有前后端一致的API,所以在前端和Node端使用区别不大。socket.io最主要的API是触发和响应自定义的事件,除了connect,message,disconnect这些事件的名字不能使用之外,你可以触发任何自定义的事件名称。下面列出本项目中所使用到的一些自定义事件。socket.io官网#客户端触发自定义事件:testsocket.emit('test',data)#服务端响应事件soc

JavaScript 2018-01-24 发布
AD 友情赞助
20 浏览

Javascript中的求值策略

原文:zhuanlan.zhihu.com/p/33035557介绍最近看到一个关于JS函数参数传值策略的讨论。很多人会认为JS的Object类型作为函数参数是按引用传递,而基础类型是按值传递,他们也提出了自己的佐证,而且网上搜索很多文章好像也这么说。但是这样的说发是不是正确的呢?让我们来探讨一下JS里面的求值策略。维基百科搜索Evaluate-Strategy你可以看到求值策略其实是编程语言里面的一个常用术语。求值策略通常指对某种编程语言的表达式进行求值和计算的一个规则集。而函数参数的传值策略是其中一个特殊的例子。一般业界常见的求值策略有严格和非严格策略。在“严格求值”中,给函数的实参总是在这个函数被调用之前求值,相应的“非严格求值”就是在函数调用时求值所以也叫“惰性求值”。和大部分语言(C,java,Python,Ruby等)一样JS采用的也是严格求值策略,不同的是在JS里面参数求值顺序从左至右而其他的实现则是从右至左。注:ES6里面函数增加了默认参数,参数默认值不是传值的,而是每次都重新计算默认值表达式的值也就是说,

JavaScript 2018-01-24 发布
15 浏览

面向对象的 JavaScript 编程:原理与实践

JavaScriptObject-OrientedProgramming:PrinciplesandPractices面向对象的JavaScript编程:原理与实践1.简介初衷笔者早年编写代码使用过Motorola68000和x86汇编、C/C++、Pascal、Fortran、PowerBuilder、VisualBasic,后来又短暂接触过Java、Python和Swift。最近这些年来使用最多的是JavaScript(正式名称是ECMAScript,本书经常会缩写为JS)。众所周知,JS问世之初是“难登大雅之堂”的小玩意儿,还要靠冠名Java以壮声势。但是随着浏览器作为软件发布、运行的平台成熟起来,再加上NodeJS项目的兴旺,JS本身的进步和普及程度已经使它成为每一个前台软件工程师和全栈工程师必不可少的工具。虽然这种语言已经强大到适用于大多数类型的后台服务器程序(更不用说它是前台开发的唯一正式语言),但是还是有人诟病其不够严谨,争论它是不是完全符合面向对象(Object-Oriented)语言的特征。更多的初学者

JavaScript 2018-01-24 发布
18 浏览

JavaScript tips —— 谈谈数组乱序

前言先看一个段代码functionrandArr(arr){returnarr.sort(()=>{return(Math.random()-0.5);});}目的是为了实现给定数组的乱序。利用数组的sort方法,判断随机出来的0~1的值与0.5的大小,实现伪排序。为什么说是伪排序呢?代码的逻辑没毛病啊。对,从这个层面来看,简单明了,完美的实现了需求,本着凡事往祖坟刨得精神。来看看这段代码的内部实现。浏览器实现ECMAScriptTheelementsofthisarrayaresorted.Thesortisnotnecessarilystable(thatis,elementsthatcompareequaldonotnecessarilyremainintheiroriginalorder).Ifcomparefnisnotundefined,itshouldbeafunctionthatacceptstwoargumen

JavaScript 2018-01-24 发布
AD 友情赞助
22 浏览

JavaScript实现职责链模式

JavaScript实现职责链模式什么是职责链模式职责链模式的定义是:使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系,将这些对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。举个例子:当你从公交车后门上车之后,你不可能直接把硬币放到收款箱里面,因为你不知道它在哪,那你就只能把硬币给你前面一个人,让他帮你传到前面一个人手上,这样一直传递到站在收款箱旁边人的手上,由他把硬币放到收款箱里面。职责链模式思想请求发送者只需要知道链中的第一个节点,从而弱化了发送者和一组接收者之间的强联系。JavaScript实现职责链模式(AOP方式)Function.prototype.after=function(fn){var_self=this;returnfunction(){varret=_self.apply(this,arguments);if(ret==="nextSuccessor"){returnfn.apply(this,argument

JavaScript 2018-01-24 发布
14 浏览

【译】下一个你值得认真尝试的框架 —— Sapper

本文翻译自Sapper—TheNewJavaScriptFrameworkYouSeriouslyNeedtoTry我在写关于JavaScriptReport的文章中,我尽量不要成为一个趋之若鹜的家伙。但是每隔一段时间就会有一些事情让我兴奋。Sapper是其中之一,它是一个Svelte库的上层框架,如果你喜欢快速的网站,你会喜欢Sapper。首先说一下关于Svelte,它的工作方式与您可能熟悉的其他一些前端库/框架不同。您的代码会在构建时被编译,这有很大的性能优势。事实上,Svelte是近期基准表现中性能最佳的框架之一。但是,Svelte与React类似,它将路由,构建过程等工作都留给了开发者来完成。这些事情可能需要做很多工作才能实现。这就是Sapper出现的原因。它为这一套繁重的工作提供了一套完整的解决方案。它包括如下内容:服务端渲染路由代码分割默认支持渐进式web应用(PWA)预取路由单独的头标签(meta,link等)作为静态站点弹出Cypress测试(免费,简单,端

JavaScript 2018-01-24 发布
19 浏览

基于vue开发的在线付费课程应用

使用vuxUI组件库使用vue-navigation缓存页面,此库实现了前进刷新后退读缓存的功能,像原生APP导航一样。用子路由的方式实现tabbar有bug,用vuex解决了。使用lib-flexible解决移动页面适配来一个清单"dependencies":{"fastclick":"^1.0.6","lib-flexible":"^0.3.2","lodash":"^4.17.4","vue":"^2.5.2","vue-navigation":"^1.1.3","vue-router":"^3.0.1","vuex":"^2.1.1","vuex-i18n":"^1.3.1","vux":"^2.7.8"}微信登录应用需要登录后可以访问,微信登录要实现的功能是从任意一个链接进入,判断是否登录,未登录跳到微信授权,成功后返回登录前链接,由于对php的微信授权做得比较多,所以微信授权放在的php实现,这里说一下实现过程。路由方式使用了history模式,打包好的ind

JavaScript 2018-01-24 发布
AD 友情赞助
15 浏览

javascript 代理模式(通俗易懂)

所谓的的代理模式就是为一个对象找一个替代对象,以便对原对象进行访问。使用代理的原因是我们不愿意或者不想对原对象进行直接操作,我们使用代理就是让它帮原对象进行一系列的操作,等这些东西做完后告诉原对象就行了。就像我们生活的那些明星的助理经纪人一样。我们举一个明星买鞋子的例子。1.明星自己去买鞋。//定义一个鞋子类varShoes=function(name){this.name=name;};Shoes.prototype.getName=function(){returnthis.name;};//定义一个明星对象varstar={buyShoes:function(shoes){console.log('买到了一双'+shoes.getName());}}star.buyShoes(newShoes('皮鞋'));//"买到了一双皮鞋"当然了,想买鞋这种事,一般都会交给助理去做。2.明星让助理代自己去买鞋。//定义一个鞋子类varShoes=function(name){t

JavaScript 2018-01-24 发布
9 浏览

浅析Entity Framework Core2.0的日志记录与动态查询条件

前言EntityFrameworkCore2.0更新也已经有一段时间了,园子里也有不少的文章..本文主要是浅析一下EntityFrameworkCore2.0的日志记录与动态查询条件去年我写过一篇关于EntityFrameworkCore1.0和1.1的日志记录和事务的文章:一步步学习EFCore(2.事务与日志)时过境迁..EFCore也更新到2.0了..在日志记录方面,有了比较大的变化..所以我觉得还是需要学习学习正文一、EntityFrameworkCore2.0的日志记录早在EntityFrameworkCore1.0,我们就使用相关的ILoggerProviderILogger这些基础接口类.来实现过日志记录.在EntityFrameworkCore2.0估计是为了配合ASP.NETCore的日志.所以对这些接口进行了更进一步的包装,也弃用了一些接口和类,如:IRelationalCommandBuilderFactory,DbCommandLogData

.Net 2018-01-24 发布
13 浏览

ASP.NET CORE中使用Cookie身份认证

ASP.NETCORE中使用Cookie身份认证大家在使用ASP.NET的时候一定都用过FormsAuthentication做登录用户的身份认证,FormsAuthentication的核心就是Cookie,ASP.NET会将用户名存储在Cookie中。现在到了ASP.NETCORE的时代,但是ASP.NETCORE中没有FormsAuthentication这个东西,那么怎么做身份认证呢?答案是ASP.NETCORE已经为我们内置了Cookie身份认证的功能,而且使用起来非常方便,注意本文是基于ASP.NETCORE2.0版本来阐述Cookie认证方式的。1.从ASP.NETCOREOWIN框架中启用Cookie身份认证功能要在ASP.NETCORE中使用Cookie身份认证,第一步就是在项目中的OWIN框架文件Startup.cs中启用Cookie身份认证中间件。首先我们在Startup中的ConfigureServices方法中使用services.AddAuthentication注册Cookie

.Net 2018-01-24 发布
14 浏览

Solidity之Modifier(还有那个酷酷的 _ )

pragmasolidity^0.4.11;contractowned{functionowned()public{owner=msg.sender;}addressowner;//Thiscontractonlydefinesamodifierbutdoesnotuse//it:itwillbeusedinderivedcontracts.//Thefunctionbodyisinsertedwherethespecialsymbol//`_;`inthedefinitionofamodifierappears.//Thismeansthatiftheownercallsthisfunction,the//functionisexecutedandotherwise,anexceptionis//thrown.定义了一个modifier但是没有使用,将在继承的合约中使用函数体将在特殊符号_出现的位置被插入这里代

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

java、前端、php、asp.net开发资源分享(视频教程,源码,项目)

经过几年的学习,自己收集了很多的java的学习资料,今天把这些分享给大家,有需要欢迎大家来下载,希望对大家有用,一起学习,共同进步资料主要包括:java,oracle,mysql,js,jquery,linux,web,It,Struts,Spring,Hibernate,maven,webservices,Nosql、hudoop、svn,solr,lucene,redis,springmvc,mybatis,html,css等方面的资料资料下载地址一:http://pan.baidu.com/s/1boSaHnL资料截图:资料下载地址二(hadoop):链接:https://pan.baidu.com/s/1kWsMdPP密码:7x89资料截图资料下载地址三:(js,jquery,视频教程源码)链接:https://pan.baidu.com/s/1jJAzcxg密码:trq8资料截图资料下载地址四:(数据库jdbc,mysql,oracle)链接:https://pan.baidu.com/s/

.Net 2018-01-24 发布
6 浏览

ASP.NET MVC路由——没人告诉你的事

路由是URL到处理该URL的逻辑的映射。在经典ASP.NET窗体网站中,路由并不那么令人感兴趣,因为经典ASP.NET窗体网站的URL直接映射到aspx文件,如https://gqqnbig.me/default.aspx就由default.aspx执行。ASP.NETMVC的主要特性之一就是URL与具体的处理程序解耦了,处理程序称为Controller控制器,即MVC的C。不要以为URL不重要,用户用URL来探索站点结构。例如本文的URL是https://gqqnbig.me/2018/01/23/asp-net-mvc路由-没人告诉你的事/,用户期望删除后面部分,使用https://gqqnbig.me/2018/01/23/到达日度归档。另一方面,结构化的URL有助于搜索引擎优化。既然路由是URL到处理控制器的映射,我们需要URL模式和控制器两者来定义一个路由。在VisualStudio中新建.NETFrameworkASP.NETMVC应用程序,Global.asax.cs里有publiccla

.Net 2018-01-24 发布
12 浏览

SQL Server 安全篇——数据层面安全性(1)——架构

在安全性主体层级之下,SQLServer为保护数据提供了一组丰富的功能。本章将介绍架构、所有权链接和继承。本文集中介绍架构(Schema)。正文:如果学过编程语言特别是JAVA、C#等的话,应该听过命名空间(namespace)这个术语。是一个逻辑的容器,schema把数据库对象包在里面。并且在对象和它们的拥有者之间提供一个抽象层,每个数据库中的对象必须由一个数据库用户拥有。从SQLServer2005开始,一个用户拥有一个架构,而可能有10个表属于这个架构,那么这个用户就隐形地拥有这10个表。这种抽象简化了更改数据库对象的所有权工作,在上面那个例子中,如果要把10个表的所有权改成另外一个用户,那么过去需要改最少10次,现在只需要直接把架构修改即可。合理地使用架构同样可以简化权限管理,因为你只需要把安全主体的权限授予到一个架构上而不是单独的对象上面。比如,如果有5个sales相关的表:SalesOrdersHeader,SalesOrderDetails,SalesPerson,Stores,

SQL Server 2018-01-24 发布
11 浏览

推荐一款超完整的Bootstrap4界面组件库 - Wrapkit

Bootstrap现在发展到了第四个版本,作为最火的响应式网站开发模板,它帮助了千千万万的响应式开发工程师快速的开发响应式网站,但是唯一美中不足的是,UI界面往往容易让人看起来过为相似,现在BootstrapUIkit方案解决了这些问题,我们可以方便的添加独特的UI组件到我们的设计效果中Wrapkit就是UIkit的一种解决方案,它扩展了Bootstrap4,使用了扁平化的设计模式。让你方便的创建复杂的网站,登陆页面,即将来到页面等等,即使你没有任何比较深入的设计技巧或者经验,也一样的可以快速的设计网站,它从自己的角度重新设计了整个UI,包括简单的UI元素,及其复杂的完整页面布局设计元素最重要的一点是Wrapkit可以让你安全的使用Bootstrap的网格系统,包含所有的class定义,及其以下所有的内容文字排版Wrapkit重新定义了文字排版,不单单是文字,还包含了类似引用和列表等等的样式,最好的地方在于这些文字排版类可以应用到一般的Bootstrap网站中去徽章对于徽章来说也是一样。你可以使用老的

Bootstrap 2018-01-24 发布
AD 友情赞助