文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/. 1. 背景 矢量切图方案目前已经是很常见的一个方案,在2016年时团队基于Sharpmap开发了支持不同坐标系.不同切图参数.任意矢量数据(点.线.面)的工具.也着手开发了支持矢量切图浏览器前端配图的工具.在当时研究之前,也写过一篇初步研究的文章:WebGIS中矢量切图的初步研究(http://www.cnblogs.com/naaoveGIS/p/4982549.h…
在进行GIS项目开发中,常使用Geoserver作为开源的地图服务器,Geoserver是一个JavaEE项目,常通过Tomcat进行部署.而GeoWebCache是一个采用Java实现用于缓存WMS-Tile(瓦片)的开源项目.当客户端请求一张新地图和Tile时,GeoWebCache将拦截这些调用然后返回缓存过的Tiles.如果找不到缓存再调用服务器上的Tiles,从而提高地图展示的速度.最新版本的GeoServer已经完成了GeoWebCache的内嵌. 然而,在实际的生产环境中,地图缓存…
最近一直在研究切片地图发布技术,解决各种矢量和栅格数据的切片地图制作和发布问题.这块的技术在土地评估和调查类公司中应用较多,因为他们经常需要使用各地地图,传统的文件管理方式很难适应工作现状,如果将各种地图或图片发布成WMTS,供用户在客户端浏览,可解决地图的管理和共享使用问题. 前天在OpenLayers旗舰QQ群看到一位网友发布的一个需求:实现java后台解析出来的瓦片图通过API注册进geoServer,前端实现openlayer加载显示,并且实现用户自定义标注功能.看到这个需求,我觉得我的…
2018-12-31 更新声明:切片系列文章本是分三篇写成,现已合并成一篇.合并后,修正了一些严重的错误(如自定义序列切片的部分),还对行文结构与章节衔接做了大量改动.原系列的单篇就不删除了,毕竟也是有单独成篇的作用.特此声明,请阅读改进版—— Python进阶:全面解读高级特性之切片!https://mp.weixin.qq.com/s/IRAjR-KHZBPEEkdiofseGQ 切片是 Python 中最迷人最强大最 Amazing 的语言特性(几乎没有之一),在<Python进阶:切片的…
VS Code项目中共享自定义的代码片段方案 一.问题背景 项目中注释风格不统一,如何统一注释风格 一些第三方组件库名称太长,每次使用都需要找文档,然后复制粘贴 部分组件库有自己的Snippets插件 一些组件能记住名称,但太长了手敲全称有点费时间 某些组件还有不少常用的参数,有不有办法在敲出组件的时候,加上一些参数 二.解法 稍加总结就不难看出,这些问题都能通过一些代码片段去解决 问题又来了:如何在项目中共享自定义的代码片段? 编辑器以VS Code为例,引入自定义代码片段的方案有如下几种:…
系列目录: 本系列分为项目集成.项目部署.架构演进三个方向,后续会根据情况调整文章目录. 本系列第一篇:Taurus.MVC V3.0.3 微服务开源框架发布:让.NET 架构在大并发的演进过程更简单. Taurus.MVC 微服务框架 入门开发教程:项目集成:1.服务端:注册中心.网关(提供可运行程序下载). Taurus.MVC 微服务框架 入门开发教程:项目集成:2.客户端:ASP.NET Core(C#)项目集成:应用中心. Taurus.MVC 微服务框架 入门开发教程:项目集成:3.…
文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/. 1.    背景 最近项目原因使用了durandal.js和knockout.js,颇有受益.决定写一个比较浅显的总结. 之前一直在用SpringMVC框架写后台,前台是用JSP+JS+标签库,算是很传统的MVC开发模式了.后来,前端用Flex还有微软的WPF做过开发,到这次,前端使用纯JS+HTML,利用knockout.js,也算是接触了几种语言下的MVVM模式.…
导读:在做ITOO项目的时候,就用到了容器+反射,从而运用了依赖注入和依赖查找.如果看过WCF端的配置文件,那么对于这个spring的配置就很容易理解.本篇博客,是对于自己做的一个小项目中所运用到的spring配置进行一个总结,以便于自己以后的框架搭建和回顾.如果不妥,请多指点. 一.spring简介 Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson 在其著作Expert One-On-One J2EE Development…
声明:这篇文章是从http://www.010lm.com/redian/2016/0312/1206875.html转来的,分享给大家. 1)首先告诉用户Uber是做什么的?即培养用户品牌意识. 我们当时做Uber的时候,觉得Uber更应该是一种生活方式:当你坐在一个咖啡厅,你准备去下一个地方或者是你在会议室里准备要去参加下一个会议,你打开手机,就可以一键就呼叫到舒适豪华的车. 也就是解决出行问题. 2)怎么让用户认识你? 以自己为用户的角度去发掘市场. 最早期的时候我们是一个城市三人的团队,…
1.    背景 最近项目原因使用了durandal.js和knockout.js,颇有受益.决定写一个比较浅显的总结. 之前一直在用SpringMVC框架写后台,前台是用JSP+JS+标签库,算是很传统的MVC开发模式了.后来,前端用Flex还有微软的WPF做过开发,到这次,前端使用纯JS+HTML,利用knockout.js,也算是接触了几种语言下的MVVM模式. 此次开发中,结合require.js和durandal.js,完成了按需加载.AMD规范以及前端页面路由.当然了,一般控件的编写…
衡量一个网站的性能有多个指标,DNS解析时间,TCP链接时间,HTTP重定向时间,等待服务器响应时间等等,从用户角度来看,就可以归结为该网站访问速度的快慢.也就是说性能等于网站的访问速度. 早些年Amazon曾经做过一个统计:网页加载时间每延长1秒钟,一年将减少16亿美元的营收.(16亿美元是一个什么概念呢?2015年,百度全年的总营收约100亿美元!). 鉴于性能的重要性,于是我们便经常看到许多记录提升访问速度的方法的文章:减少http请求,雪碧图,压缩文件等等,看了这些文章后,博主了解了一些…
  简介 在SQL Server中,数据是按页进行存放的.而为表加上聚集索引后,SQL Server对于数据的查找就是按照聚集索引的列作为关键字进行了.因此对于聚集索引的选择对性能的影响就变得十分重要了.本文从旨在从性能的角度来谈聚集索引的选择,但这仅仅是从性能方面考虑.对于有特殊业务要求的表,则需要按实际情况进行选择. 聚集索引所在的列或列的组合最好是唯一的 这个原因需要从数据的存放原理来谈.在SQL Server中,数据的存放方式并不是以行(Row)为单位,而是以页为单位.因此,在查找数据时…
iOS客户端应用架构看似简单,但实际上要考虑的事情不少.本文作者将以系列文章的形式来回答iOS应用架构中的种种问题,本文是其中的第二篇,主要讲View层的组织和调用方案.下篇主要讨论做View层架构的设计的一些心法. 本门心法 重剑无锋,大巧不工. ---- <神雕侠侣> 这是杨过在挑剑时,玄铁重剑旁边写的一段话.对此我深表认同.提到这段话的目的是想告诉大家,在具体做View层架构的设计时,不需要拘泥于MVC.MVVM.VIPER等规矩.这些都是招式,告诉你你就知道了,然后怎么玩都可以.但是心…
OS客户端应用架构看似简单,但实际上要考虑的事情不少.本文作者将以系列文章的形式来回答iOS应用架构中的种种问题,本文是其中的第二篇,主要讲View层的组织和调用方案.上篇主要讲View层的代码结构.布局,以及一些最佳实践的讨论. 当我们开始设计View层的架构时,往往是这个App还没有开始开发,或者这个App已经发过几个版本了,然后此时需要做非常彻底的重构. 一般也就是这两种时机会去做View层架构,基于这个时机的特殊性,我们在必须清楚认识到:View层的架构一旦实现或定型,在App发版后可修…
上文介绍了Excel中的自定义函数(UDF ),它极大地扩展了Excel插件的功能,使得我们可以将业务逻辑以Excel函数的形式表示,并可以根据这些细粒度的自定义函数,构建各种复杂的分析报表. 普通的UDF自定义函数的基本执行逻辑是,Excel接受用户输入的函数表达式,然后通过UDF函数的处理逻辑进行处理,在处理过程中,Excel 的UI界面会一直等待函数体执行完成之后更新单元格数据.和大多数同步应用一样,同步的UDF函数会阻塞Excel UI线程,并且不方便动态扩展计算能力,在处理逻辑比较复杂…
iOS客户端应用架构看似简单,但实际上要考虑的事情不少.本文作者将以系列文章的形式来回答iOS应用架构中的种种问题,本文是其中的第二篇,主要讲View层的组织和调用方案.中篇主要讨论MVC.MVCS.MVVM.VIPER等架构在iOS开发中的应用. 关于MVC.MVVM等一大堆思想 其实这些都是相对通用的思想,万变不离其宗的还是在开篇里面我提到的那三个角色:数据管理者,数据加工者,数据展示者.这些五花八门的思想,不外乎就是制订了一个规范,规定了这三个角色应当如何进行数据交换.但同时这些也是争议最…
浅谈dedecms模板引擎工作原理: 理解织梦模板引擎有什么意思? 可以更好地自定义标签.更多在于了解织梦系统,理解模板引擎是理解织梦工作原理的第一步. 理解织梦会使我们写PHP代码是更顺手,同时能学习一些PHP代码的组织方式. “是否需要自定义标签”和“扩展标签”就够了. 解析式引擎 织梦提供的模板引擎有解释式和编译式两种.这里主要是使用前者,这里也只讨论前者. 先写个模板解释的hello world程序 ***root/test.php 封面php (root指的是根目录,以下都是假设ded…
2.3 Spring security Oauth2认证解决方案 本项目采用 Spring security + Oauth2完成用户认证及用户授权,Spring security 是一个强大的和高度可定制的身 份验证和访问控制框架,Spring security 框架集成了Oauth2协议,下图是项目认证架构图: 1.用户请求认证服务完成认证. 2.认证服务下发用户身份令牌,拥有身份令牌表示身份合法. 3.用户携带令牌请求资源服务,请求资源服务必先经过网关. 4.网关校验用户身份令牌的合法,不…
2.2 Oauth2认证 2.2.1 Oauth2认证流程 第三方认证技术方案最主要是解决认证协议的通用标准 问题,因为要实现 跨系统认证,各系统之间要遵循一定的 接口协议. OAUTH协议为用户资源的授权提供了一个安全的.开放而又简易的标准.同时,任何第三方都可以使用OAUTH认 证服务,任何服务提供商都可以实现自身的OAUTH认证服务,因而OAUTH是开放的.业界提供了OAUTH的多种实 现如PHP.JavaScript,Java,Ruby等各种语言开发包,大大节约了程序员的时间,因而OAU…
#admin.py # ————————01PerfectCRM基本配置ADMIN———————— from django.contrib import admin # Register your models here. from crm import models #从crm导入models # ————————24PerfectCRM实现King_admin自定义操作数据———————— from django.shortcuts import render # ————————24Per…
Android精选源码 Android仿照36Kr官方新闻项目课程源码 一个优雅美观的下拉刷新布局,众多样式可选 安卓版本的VegaScroll滚动布局 android物流详情的弹框 健身饮食记录助手,自带离线食品营养数据库 使用ReactNative开发的阅读器,可以查看在线书籍信息,下载 下拉刷新控件,多种下拉刷新效果 Android自定义 View - 仿淘宝 淘抢购进度条 一款好用.可自定义状态的数据状态切换布局 Material Design 设计面包屑 (Breadcrumbs) 导…
最近有一个引入sql编辑器插件的需求,要求代码高亮显示,代码智能提示,以及支持自定义代码提示列表等功能.中途在自定义代码提示列表中由于没有相关demo,所以踩了一些坑,遂将其整理如下,以便日后查看. 1.安装 yarn add react-ace //或 npm install react-ace 2.在项目中引入 import AceEditor from 'react-ace'; 3.在组件中使用 <AceEditor ref="editor" mode="mysq…
文/朱季谦 在一些项目开发当中,存在这样一种需求,即开发完成的项目,在第一次部署启动时,需能自行构建系统需要的数据库及其对应的数据库表. 若要解决这类需求,其实现在已有不少开源框架都能实现自动生成数据库表,如mybatis plus.spring JPA等,但您是否有想过,若要自行构建一套能够在系统第一次启动时自行构建多表关联等更为复杂的表结构时,需要如何才能实现呢? 我在前面写过一篇 Activiti工作流学习笔记(三)--自动生成28张数据库表的底层原理分析 ,里面分析过工作流Activit…
理解织梦模板引擎有什么意义?一方面可以更好地自定义标签.更多在于了解织梦系统,理解模板引擎是理解织梦工作原理的第一步.理解织梦会使我们写php代码时更顺手,同时能学习一些php代码的组织方式. 这似乎不是那么简单,如果你只想学习自定义标签,可以看一下“是否需要自定义标签”和““扩展标签””就够了. 一解析式引擎 如果你还没用过dedecms的标签,先用一下,也可以看一下“dedecms网页模板编写”.熟悉一下memberlist这个标签,下面会以这个标签为例. 织梦提供的模板分析引擎有解析式和编…
需求场景: 非推荐商品详情页返回的时候弹出弹窗推荐商品,点击弹窗按钮可以直接访问推荐商品: 只有直接进入商品详情页返回才会弹出推荐商品弹窗: 每个用户访问只能弹一次(除非清除缓存). 需求分析: 1. 判断是否直接进入商品详情页可以在商品详情页直接判断 history.length ,如果是则 history.length=2 : 2. 每个用户只能弹一次可以保存一个标志值 hasBeenRecommended=true 到缓存中,有了这个标志值就不再弹出: 3. 返回的监控,还是要监听页面的p…
本文原链接:http://www.cnblogs.com/zouzf/p/3995132.html 有时候想得到一些例如灰度图等特殊的渲染效果,就得用到自定义shader,关于shader的一些背景知识,自行谷歌,列出两篇cocos2dx里介绍shader的相关文章 http://blog.csdn.net/while0/article/details/9666829     http://blog.sina.com.cn/s/blog_aa01f7030101mdom.html cocos2d…
package cn.wangju.core.service; import cn.wangju.core.pojo.item.Item; import cn.wangju.core.util.Constants; import com.alibaba.dubbo.config.annotation.Service; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.…
2 用户认证技术方案 2.1 单点登录技术方案 分布式系统要实现单点登录,通常将认证系统独立抽取出来,并且将用户身份信息存储在单独的存储介质,比如: MySQL.Redis,考虑性能要求,通常存储在Redis中,如下图: 单点登录的特点是: 1.认证系统为独立的系统. 2.各子系统通过Http或其它协议与认证系统通信,完成用户认证. 3.用户身份信息存储在Redis集群. Java中有很多用户认证的框架都可以实现单点登录: 1.Apache Shiro.(开源 轻量级) 2.CAS(专门的一个单…