dojo

Flutter Dojo设计之道——如何打造一个通用的Playground

爷,独闯天下 提交于 2020-08-15 21:32:54
  Dojo的设计之初,是为了能够演示Flutter中,多如牛毛的Widget,所以,一个通用的Demo演示界面,就显得非常有必要了,一是可以节省很多通用的代码,二是可以让Demo的演示,专注于Demo本身,而不需要考虑其它的东西。   所以,一个通用Playground,我希望包含下面几个功能。   代码展示   路由跳转   突出Demo   介于上面的这几个需求,同时参考了官方Demo——Gallery的设计,最终定了下面的设计稿。      中间的卡片区域,用于演示Demo,作为Demo的Playground。   上面的工具栏,分别是【返回】、【代码预览】和【分享】。   界面实现   这个界面并不复杂,主要是下面Playground的圆角处理。这种裁剪内部Widget的方案,一般来说有两种方案,一种是通过ClipPath,另一种是通过Material。   Clip的方案大家应该都比较熟悉,所以这里采用Material的方案来进行裁剪,这种方法大家了解的比较少,实际上Material Design就包含了对图形的处理,所以Material Widget,可以很方便的控制Widget的形状。   代码实现如下。    return Scaffold( appBar: appbar, body: Container( color: Color(0xFFE6EBEB),

如何实施基本的“长轮询”?

流过昼夜 提交于 2020-08-14 01:15:06
问题: I can find lots of information on how Long Polling works (For example, this , and this ), but no simple examples of how to implement this in code. 我可以找到很多关于Long Polling如何工作的信息(例如, 这个 和 这个 ),但没有关于如何在代码中实现它的 简单 示例。 All I can find is cometd , which relies on the Dojo JS framework, and a fairly complex server system.. 我所能找到的只是依赖于Dojo JS框架的 cometd ,以及一个相当复杂的服务器系统。 Basically, how would I use Apache to serve the requests, and how would I write a simple script (say, in PHP) which would "long-poll" the server for new messages? 基本上,我将如何使用Apache来处理请求,以及如何编写一个简单的脚本(例如,在PHP中),它将“长时间轮询”服务器以获取新消息? The

WEB安全入门:如何防止 CSRF 攻击?

大憨熊 提交于 2020-08-06 09:57:54
现在,我们绝大多数人都会在网上购物买东西。但是很多人都不清楚的是,很多电商网站会存在安全漏洞。乌云就通报过,国内很多家公司的网站都存在 CSRF 漏洞。如果某个网站存在这种安全漏洞的话,那么我们在购物的过程中,就很可能会被网络黑客盗刷信用卡。是不是瞬间有点「不寒而栗」 的感觉? 首先,我们需要弄清楚 CSRF 是什么。它的全称是 Cross-site request forgery ,翻译成中文的意思就是「跨站请求伪造」,这是一种对网站的恶意利用。简单而言,就是某恶意网站在我们不知情的情况下,以我们的身份在你登录的某网站上胡作非为——发消息、买东西,甚至转账...... 这种攻击模式听起来有点像跨站脚本(XSS),但 CSRF 与 XSS 非常不同,并且攻击方式几乎相左。XSS 利用站点内的信任用户,而 CSRF 则通过伪装来自受信任用户的请求来利用受信任的网站。与 XSS 攻击相比,CSRF 攻击往往很少见,因此对其进行防范的资源也相当稀少。不过,这种「受信任」的攻击模式更加难以防范,所以被认为比 XSS 更具危险性。 这个过程到底是怎样的呢?让我们看个简单而鲜活的案例。 银行网站 A,它以 GET 请求来完成银行转账的操作,如: http://www. mybank.com/Transfer.php? toBankId=11&money=1000 危险网站 B,它里面有一段

arcgis服务之GP服务的几点问题(附GP服务发布步骤)

时光毁灭记忆、已成空白 提交于 2020-05-07 01:48:48
最近在发布GP服务时遇到了一些以前没有遇到问题,所以对GP服务进行一下总结。 一、什么是GP服务 GP服务,即Geoprocessing Service,意为地理处理服务,是将Arctoolbox中的工具或ModelBuilder中创建的工具发布为服务,以供Arcgis API For Javascript调用工具服务,辅助分析处理功能进行开发。 二、GP服务的分类 GP服务包括两类,一类是 Execute task ,即同步执行任务;另外一类是 Submit job ,即异步提交作业。 这两种GP服务是可以在发布GP服务时设置参数来选择的。 异步和同步定义客户端(使用任务的应用程序)如何与服务器交互并从任务获取结果。 当服务设置为同步时,客户端等待任务完成。 通常,同步任务快速执行 - 五秒或更短时间。 异步任务通常需要更长的时间来执行,并且客户端必须定期询问服务器任务是否已完成,如果已完成,则获取结果。 使用异步任务的Web应用程序必须具有实现的逻辑,以检查任务的状态并在执行完成后处理结果。 ArcGIS Desktop客户端本机处理两种执行类型。 三、GP服务的调用 GP服务调用同地图服务影像服务那样,也是通过URL进行调用,url在调用时要使用到GPServer之后的Task名称,如: http://192.168.5.7:6080/arcgis/rest/services

ArcGIS API for JavaScript 入门教程[4] 代码的骨架

旧时模样 提交于 2020-05-05 20:24:42
【回顾与本篇预览】 上篇简单介绍了JsAPI中的数据与视图,并告诉大家这两部分有什么用、如何有机连接在一起。 这一篇快速介绍一下前端代码的骨架。当然,假定你已经熟悉HTML5、CSS3和JavaScript(最好了解一下ES6) 转载请注明出处,博客园/CSDN/bilibili:秋意正寒 目录: https://www.cnblogs.com/onsummer/p/9080204.html 1. 代码 为了方便演示,我将js代码和css代码全都写在一个html文件里,当然,更合适的做法是三者分离,不过要注意引用的顺序哦。 使用上篇三维视图的代码↓ <! DOCTYPE html > < html > < head > < meta charset ="utf-8" > < meta name ="viewport" content ="initial-scale=1,maximum-scale=1,user-scalable=no" > < title > Intro to SceneView - Create a 3D map - 4.7 </ title > < style > html, body, #viewDiv { padding : 0 ; margin : 0 ; height : 100% ; width : 100% ; } </ style > < link

ArcGIS API for JavaScript 入门教程[1] 渊源

江枫思渺然 提交于 2020-05-03 23:48:24
->对于萌新,你可能需要了解一下这个东西是什么 ->对于已经知道要用这个东西的开发者,你可能需要了解一下它的底层机制 不针对大牛。龟速更新ing. 转载注明出处。博客园&CSDN&Bilibili:@秋意正寒 目录: https://www.cnblogs.com/onsummer/p/9080204.html 1. 是什么【萌新别跳这一步】 如果非萌新,可以跳过这一段文字。 想要知道ArcGIS API for JavaScript是什么,我大概用以下几条条目描述: 是一个WebGIS二次开发(如果不知道什么是WebGIS请用搜索引擎···)的前端开发包,使用JavaScript语言 出自美国Esri公司 是Esri的ArcGIS Runtime SDK家族中的一员 它不是纯Js写的库 能说明什么呢? 它能制作在线地理信息系统平台,能做数据分析、空间分析、数据展示等; 歪果仁写的,英文资料多,虽然中文也有一定数量的资料(博客、书籍等),但是呢,由于Esri更新贼快,一年三四更的,中文资料不一定跟得上速度; 你可能需要学很多附属的东西,这个API很庞大、很笨重,入门门槛其实不高,但是深入难,前端上,你得知道造这个API的基础——Dojo框架,而Dojo框架由于历史渊源,又来自从属AMD(异步模块定义)规范的RequireJs,要想了解AMD,又不得不去看一些前端和后端的发展史

arcgis api 4.x for js 离线部署

心不动则不痛 提交于 2020-04-26 07:09:56
在我的GIS之家群里,经常遇到 webgis 开发新手们提问 arcgis api for js 如何本地离线部署,而不是直接调用在线的,因为在线模式依赖互联网以及网速环境因素,受到的限制影响比较大。所以,本篇专门来讲解 arcgis api for js 离线部署的详细步骤配置以及测试是否部署成功,以 IIS 部署为例,tomcat 部署配置也是同个道理,差别不大。 本篇以 arcgis api 4.x for js 版本系列为测试用例,其实 arcgis api 3.x for js 版本系列的离线配置方法也是类似的,之前写过一篇, 参照文章 ,这里不再一一叙述。 arcgis api 下载途径 esri官网下载,下载需要注册 arcgis 用户才行,版本自己选择,官网下载最新版本api的地址: 官网下载页面 共享已经下载好的 arcgis 3.x 以及arcgis 4.x 系列api版本地址: arcgis api3.18 for js: 下载 arcgis api3.19 for js: 下载 arcgis api3.20 for js: 下载 arcgis api3.23 for js: 下载 arcgis api3.24 for js: 下载 arcgis api3.25 for js: 下载 arcgis api3.26 for js: 下载 arcgis api3

如何实施基本的“长轮询”?

烂漫一生 提交于 2020-04-25 08:23:29
问题: I can find lots of information on how Long Polling works (For example, this , and this ), but no simple examples of how to implement this in code. 我可以找到很多关于Long Polling如何工作的信息(例如, 这个 和 这个 ),但没有关于如何在代码中实现它的 简单 示例。 All I can find is cometd , which relies on the Dojo JS framework, and a fairly complex server system.. 我所能找到的只是依赖于Dojo JS框架的 cometd ,以及一个相当复杂的服务器系统。 Basically, how would I use Apache to serve the requests, and how would I write a simple script (say, in PHP) which would "long-poll" the server for new messages? 基本上,我将如何使用Apache来处理请求,以及如何编写一个简单的脚本(例如,在PHP中),它将“长时间轮询”服务器以获取新消息? The

ArcGIS JsAPI 4.15 发布日志

青春壹個敷衍的年華 提交于 2020-04-11 16:42:02
发布时间 北京时间 2020年4月10日 目录 1. FeatureLayer的3d编辑功能 2. FeatureTable小部件(测试版本) 3. 查看和编辑附件 3.1. 查看附件 3.2. 编辑附件 4. BuildingSceneLayer筛选模式 5. 在IntegratedMesh图层之上叠加显示要素 6. 网格(Mesh)材质 7. 点聚类功能的更新 8. API更新 8.1. esriConfig现在是全局变量 8.2. 返回原生Promise 8.3. Dojo声明模块 9. 小部件更新升级 9.1. HTML清理程序更新 9.2. DatePicker和TimePicker小部件 9.3. Print小部件更新 9.4. Editor小部件更新 9.4.1. 支持编辑附件 9.4.2. 工作流更新 9.5. Popup更新 9.5.1 Popup的附件 9.5.2. 显示隐藏可见的元素 9.5.3. 设置actions的数量 9.5.4. 更新了图表轴的值和文本位置 10. MapImageLayer增强 11. 影像图层更新 12. StreamLayer更新 13. PictureMarkerSymbol更新 14. 统计查询更新 15. 登录界面更新 16. 突破性改进 17. 修复了BUG增强了功能 18. 添加了类、属性、方法、事件 19. 废弃的类

ArcGIS JsAPI 4.15 发布日志

我怕爱的太早我们不能终老 提交于 2020-04-11 14:53:55
发布时间 北京时间 2020年4月10日 目录 1. FeatureLayer的3d编辑功能 2. FeatureTable小部件(测试版本) 3. 查看和编辑附件 3.1. 查看附件 3.2. 编辑附件 4. BuildingSceneLayer筛选模式 5. 在IntegratedMesh图层之上叠加显示要素 6. 网格(Mesh)材质 7. 点聚类功能的更新 8. API更新 8.1. esriConfig现在是全局变量 8.2. 返回原生Promise 8.3. Dojo声明模块 9. 小部件更新升级 9.1. HTML清理程序更新 9.2. DatePicker和TimePicker小部件 9.3. Print小部件更新 9.4. Editor小部件更新 9.4.1. 支持编辑附件 9.4.2. 工作流更新 9.5. Popup更新 9.5.1 Popup的附件 9.5.2. 显示隐藏可见的元素 9.5.3. 设置actions的数量 9.5.4. 更新了图表轴的值和文本位置 10. MapImageLayer增强 11. 影像图层更新 12. StreamLayer更新 13. PictureMarkerSymbol更新 14. 统计查询更新 15. 登录界面更新 16. 突破性改进 17. 修复了BUG增强了功能 18. 添加了类、属性、方法、事件 19. 废弃的类