应用开发

《ASP.NET Core应用开发入门教程》与《ASP.NET Core 应用开发项目实战》正式出版

江枫思渺然 提交于 2020-02-06 22:48:56
“全书之写印,实系初稿。有时公私琐务猬集,每写一句,三搁其笔;有时兴会淋漓,走笔疾书,絮絮不休;有时意趣萧索,执笔木坐,草草而止。每写一段,自助覆阅,辄摇其首,觉有大不妥者,即贴补重书,故剪刀浆糊乃不离左右。个中甘苦,只自知之。”董作宾先生的这段文字正好描述我写作此书的状态。 《ASP.NET Core应用开发入门教程》与《ASP.NET Core 应用开发项目实战》于2020年1月正式出版。 《ASP.NET Core应用开发入门教程》是作者潜心研究ASP.NET Core 技术的心血之作,书如其名,整本书的内容深入浅出地介绍了ASP.NET Core应用开发所需要的基础知识,并对其底层框架进行了剖析,力求将ASP.NET Core的整个运行机制完整而清晰地呈现在读者面前。主要包括.NET Core的基础知识及其安装、dotnet命令、Visual Studio开发工具的安装和使用、ASP.NET Core的原理及其组件介绍、Entity Framework Core框架、ASP.NET Core MVC框架和依赖注入等。 《ASP.NET Core 应用开发项目实战》主要是在《ASP.NET Core应用开发入门教程》的基础上,通过开发一个经过简化的物流管理信息系统(TPLMS),来实践ASP.NET Core MVC应用程序框架的开发技术

iOS应用开发---返回到指定界面

独自空忆成欢 提交于 2020-02-01 02:41:33
关于ios中 viewcontroller的跳转问题,其中有一种方式是采用navigationController pushViewController 的方法,比如我从主页面跳转到了一级页面,又从一级页面跳转到了二级页面,然后从二级页面跳转到了三级页面,依次类推。如果一级一级的返回我知道是没有问题的,调用 navigationController popViewControllerAnimated就行了。但是某些情况下我可能想要马上回到主页。 直接返回到第一个视图 [self.navigationController popToRootViewControllerAnimated:YES]; 返回到指定索引的视图 [self.navigationController popToViewController:[self.navigationController.viewControllers objectAtIndex:2] animated:YES]; 返回你想到的类 for (UIViewController *controller in self.navigationController.viewControllers) { if ([controller isKindOfClass:[你要跳转到的Controller class]]) { [self

基于VUE的SPA单页应用开发-加载性能篇

拥有回忆 提交于 2020-01-31 07:50:20
1、基于异步数据的vue页面刷新 先看看基于异步数据的vue页面刷新后,都发生了啥~ 如图所示: 图1 基于异步数据的vue页面刷新 网络请求图 步骤如下: step1:请求页面; step2:请求页面内的css、js资源; step3:vue页面初始化; step4:页面渲染,框架呈现[无数据内容]; step5:请求页面实际数据; step6:数据ready,填充视图,图片资源加载; step7:完整页面呈现。 步骤分析: step1:请求html文件; step2:请求资源; 优化点: a、多次访问的资源缓存:可从MD5、组件打包方式等角度再细分; b、app框架资源预加载:如果是hybird开发的app,可通过app框架预加载的方式,将单页应用的资源提前缓存。 单页的css、js资源,与传统页面的资源相比,规模要大很多。其集合了几乎单页应用的所有css、js文件,随着应用的规模大小成正比增长。合理的缓存处理,将大大提升页面加载速度。a、b两点可实现性能加速的原因是,本地加载过的资源,会缓存在本地;页面请求资源时,浏览器会先查找缓存,如果有缓存,则本地取,节省了网络请求。[可了解浏览器的强缓、弱缓] step3:页面初始化; 优化点: 利用v-if指令按需加载组件~ 由于vue在初始化过程中,会深度查找子组件,生成依赖,构建虚拟DOM,所以其初始化时间相对较长

Knockout应用开发指南 第三章:绑定语法(2)

烈酒焚心 提交于 2020-01-28 16:38:35
7 click 绑定 目的 click绑定在DOM元素上添加事件句柄以便元素被点击的时候执行定义的JavaScript 函数。大部分是用在button,input和连接a上,但是可以在任意元素上使用。 例子 <div> You've clicked <span data-bind="text: numberOfClicks"></span> times <button data-bind="click: incrementClickCounter">Click me</button></div><script type="text/javascript"> var viewModel = { numberOfClicks: ko.observable(0), incrementClickCounter: function () { var previousCount =this.numberOfClicks(); this.numberOfClicks(previousCount +1); } };</script> 每次点击按钮的时候,都会调用incrementClickCounter()函数,然后更新自动更新点击次数。 参数 主参数 Click点击事件时所执行的函数。 你可以声明任何JavaScript函数 – 不一定非要是view model里的函数

ElasticSearch 应用开发(十二)term query和match query、filter和must区别

不打扰是莪最后的温柔 提交于 2020-01-28 14:02:35
term query和match query、filter和must区别 1.term query和match query区别 2.Query和Filter区别 1.term query和match query区别 针对字段类型是text类型,term 和 match 的最大区别是: term搜索时不分词 match搜索时需要分词 term用于精确查询,match用于全文检索 其中,match等于是bool+term查询,例如查询“中国足球”,使用match query,需要先分词“中国”、“足球”,然后执行 { "bool" : { "should" : { "term" : { "field" : "中国" } } , "should" : { "term" : { "field" : "足球" } } } } 若字段类型是int等数值类型,这两个等于没啥区别。 2.Query和Filter区别 Query Context,会进行相关性算分 ,有_socre返回 Filter Context,不会进行相关性算分,这种方式可利用缓存来提高检索的速度和性能,返回的_score都是0 两个的对比: must和filter查询,都是必须匹配,但是filter性能会高一些。 来源: CSDN 作者: 腊-八-粥 链接: https://blog.csdn.net

Knockout应用开发指南 第一章:入门

烈酒焚心 提交于 2020-01-26 20:26:55
1 Knockout简介 (Introduction) Knockout是一个轻量级的UI类库,通过应用MVVM模式使JavaScript前端UI简单化。 Knockout有如下4大重要概念: 声明式绑定 (Declarative Bindings) : 使用简明易读的语法很容易地将模型(model)数据关联到DOM元素上。 UI 界面自动刷新 (Automatic UI Refresh) : 当您的模型状态(model state)改变时,您的UI界面将自动更新。 依赖跟踪 (Dependency Tracking) : 为转变和联合数据,在你的模型数据之间隐式建立关系。 模板 (Templating) : 为您的模型数据快速编写复杂的可嵌套的UI。 简称:KO 官方网站: http://knockoutjs.com 2 入门介绍 (Getting started) 2.1 KO工作原理及带来的好处 Knockout是一个以数据模型(data model)为基础的能够帮助你创建富文本,响应显示和编辑用户界面的JavaScript类库。任何时候如果你的UI需要自动更新(比如:更新依赖于用户的行为或者外部数据源的改变),KO能够很简单的帮你实现并且很容易维护。 重要特性: 优雅的依赖追踪 - 不管任何时候你的数据模型更新,都会自动更新相应的内容。 声明式绑定 -

Linux应用开发入门(转)

风格不统一 提交于 2020-01-25 08:01:54
今天偶然看到这篇文章,做个入门了解还是不错的。 前 一阵子在QQ上和朋友聊天的时候,总会看到有人说Linux上的应用程序开发是高手才可以完成的,而且这种“迷信”在目前似乎还很普遍。然而,情况并不是这样的,从程序库的支持方面,Linux平台为用户级应用程序的开发提供了很多功能强大且丰富的程序库,而且它们大部分是跨平台的(Boost、OpenGL、STL、Qt、Java等)和基于POSIX标准的(glibc等),同时Linux内核还为驱动程序的开发提供了功能完备的内核接口,从开发工具方面,Linux提供了功能强大的编译器GCC和调试器GDB,借助它们的帮助,我们可以很轻松的在Linu x上开发出可移植性的应用程序。既然如此,“迷信”又源于何来呢?我想,一方面由于详细介绍Linux各种开发的书籍较少,各种Linux应用在国内仍不普及,另一方面则是由于很多人在安装好一个Linux后,苦于找不到一个得心应手的IDE环境,从而感到不知所措,毕竟,我们很多人都习惯了写好程序后,按下F5,剩下的任务就让IDE全权代理了。其实想在Linux下如此这般当然也没问题。既然说到了IDE,就让我们从它开始吧,相信选择一个好的IDE环境是你整个学习过程的一个不错的开始。 工欲善其事 必先利其器——IDE篇 其实Linux下有许多功能强大的IDE环境,因为从某种意义上说,Linux是专为开发者准备的操作系统

Google 开源的 Serverless 平台 knative 简介

非 Y 不嫁゛ 提交于 2020-01-19 01:03:03
knative 是谷歌开源的 serverless 架构方案,旨在提供一套简单易用的 serverless 方案,把 serverless 标准化。目前参与的公司主要是 Google、Pivotal、IBM、Red Hat,2018年7月24日对外发布,当前还处于快速发展的阶段。 这是 Google Cloud Platform 宣布 knative 时给出的介绍: Developed in close partnership with Pivotal, IBM, Red Hat, and SAP, Knative pushes Kubernetes-based computing forward by providing the building blocks you need to build and deploy modern, container-based serverless applications. 可以看出,knative 是为了解决容器为核心的 serverless 应用的构建、部署和运行的问题。 serverless 的概念已经出现蛮久了,为了理解 serverless, 可以从应用开发者的角度来看,使用 serverless 框架之后,应用开发者的整个操作流程就变成了: ~ # 编写 code 和 configuration 文件 ~ # faascli

【先进的应用开发】touchgfx 之 《Using the L8 Image Format》

我的梦境 提交于 2020-01-17 00:52:17
使用L8图像格式 从TouchGFX 4.12.3开始 TouchGFX 4.12现在支持L8标准图像格式格式。 与ARGB8888等相比,L8格式的图像占用较少的闪存,并且绘制速度更快。 L8格式的图像由一个调色板和一个像素阵列组成:调色板最多列出256种不同的颜色,分别以16位格式RGB565、24位格式RGB888或32位格式ARGB8888指定。 像素阵列由每个像素一个字节组成。 该字节是调色板(颜色列表)的索引,指出像素的颜色。 TouchGFX框架通过依次读取像素,查找调色板中的颜色并将其写入帧缓冲区来绘制L8图像。 这会自动发生,并由STM32 Chrom ART硬件加速器加速。 8位至今 像素表示一张L8图像可以使用256种不同的颜色。 另一个L8图像可以使用256种其他颜色,因为两个图像都有各自的调色板。 具有4 x 4像素的L8图像和具有4种颜色的调色板 像素每个为一个字节(8位)。 因此,像素的大小是宽度x高度字节。 调色板颜色可以是16位,24位或32位颜色。 因此,每个颜色定义将占用2、3或4个字节。 如果帧缓冲区是16位(RGB565格式),则纯色图像应存储在L8_RGB565中。 如果帧缓冲区是24位(RGB888),则L8图像必须以L8_RGB888格式存储。 如果图像是透明的,则必须使用32位格式(ARGB8888): 格式 帧缓冲格式

业务应用开发总结

送分小仙女□ 提交于 2020-01-13 04:45:05
业务开发往往是产品需求都比较急,叠带比较快。往往是快速排期、快速设计、快速开发,快速上线的一个状态,这就比较考验程序员的如何来适应这个快速的节奏和建立自己的开发流程和如何抛开工作之外的自我提升。 那怎么来应对这样一个快速的节奏呢? 理解团队技术栈 熟悉开发框架,熟悉团队中间件(如redis、kafka、orm、log、rpc等封装)的使用,最好深入源码研究,发现使用方法、什么场景怎么使用,有哪些坑,这些最好做总结,在团队中分享(为了自己熟悉和提升自己在团队中的技术影响力)。 代码规范 大部分团队应该都没有,有的话更好仔细熟读理解。没有的话从源码中提取列出哪些好的规范和不好的规范整理一个,在合适的机会和同事讨论商量做一个规范准则,这样以后大家共同维护一个项目不至于恶心。 了解开发流程 通常流程是产品提需求有一个需求会、与其他交互系统确认交互字段、给排期、设计开发、自测、提测、上线、线上验证等。大体是这个流程可能对应每个产品流程不一样。在大体符合流程情况下,这里需要把握自己的节奏。 熟悉业务 业务开发业务最重要理解业务实现业务。从宏观理解再到细节,推荐自己用脑图梳理自己接手的业务,不断的叠带梳理。最终会影响你程序的设计。 了解业务监控 通常公司运维团队都建立了一套监控体系,这里需要外面去梳理从业务层到底层是如何做的监控,和去订阅,出问题的时候能快速排查和解决问题。