国际化的功能离不开错误码的支持,客户端指定语言到服务端去请求,当出错了服务端会根据错误码和语言找到对应的国际化提示语。从上面图中我们发现,错误码不仅仅是客户端与服务端的交互,后台各个服务间的交互也需要约定的一套错误码。一般一个系统的错误码 code 都是唯一确定的。msg 不同场景下可能不一样,提供给用户的肯定是需要友好且不能暴露底层细节,给开发人员看的就要详细专业的错误内容。网关服务上面维护着多套不同语言的错误码提示语,响应的时候会根据客户端带的 Lang 信息进行国际化转译。模块模块编码错误编码底层描述中文提示语英文提示语库存10001商品规格表关联有误商品不存在goods don’t exist一般国际化的系统中会有多份 xxx_lang.properties文件,每一份代表一种语言的消息提示语。中文一般会转为 Unicode 编码进行存储(这个过程一般开发工具可以设置自动转),这样的处理可以规避不同开发环境下不同编码导致中文乱码。
上述例子发现输出的结果是英文的,显然是不适合在国内环境使用,moment.js 提供了国际化支持,在现有的库中,moment 支持的语言可以说是相对完备了。通过引入对应的国际化资源(语言文件),来切换语言。<script src="https://cdn.bootcdn.net/ajax/libs/moment.js/2.27.0/moment.min.js"></script><script src="https://cdn.bootcdn.net/ajax/libs/moment.js/2.27.0/locale/zh-cn.min.js"></script><script> var now = moment().calendar(); console.log(now);// 输出当前日历时间 moment().startOf('hour').fromNow(); // 相对这个小时过去了多少分钟 var timestamp = 1593933593236; // 2020年7曰5日下午15点20分38秒 moment(timestamp).fromNow(); // 相对时间戳多久前</script>有关国际化的更多内容可以参考文档。
uni-app 的 API 与微信小程序 API 基本一致。掌握微信小程序 API 对后面的开发很有帮助。微信小程序 API 文档:https://developers.weixin.qq.com/miniprogram/dev/api/
注册微信小程序账号,获取到 AppID,我们后面配置的时候会用到。在 HBuilderX 工具栏,点击发行,选择小程序-微信。输入小程序名称和 AppID,单击发行就可以了。这样我们就会获得一个微信小程序的打包文件,接下来我们来发布微信小程序项目,打开微信小程序开发者工具,导入刚刚生成的微信小程序项目的打包文件,在微信小程序开发者工具中先测试一下,项目运行是否正常,项目测试没有问题后,点击右上角>>按钮,上传代码就可以发布微信小程序了,最后等待微信团队审核通过,别人就可以在线上访问到你的项目了。
如果要下载 Eclipse,我们建议直接去其官网下载。Tips:目前 Eclipse的官网地址是:https://www.eclipse.org/进入官网后,我们会看到页面右上角有一个 Download 的按钮,点击该按钮即可进入下载页面:
打开官网首页 https://github.com/
计算机的网络模型定义了计算机数据的传输过程,当前有以下 2 种主流模型:国际标准化组织(ISO)制定的一个用于计算机或通信系统间互联的标准体系,一般称为 OSI 参考模型或七层模型;工业生产中实际用到的 TCP/IP 四层模型。这两者者的关系就好比,车间里面一个贴在墙上很规范的流程图,一个是实际生产中因为成本/便捷/效率等因素最终采用的流程。但是不管是七层模型还是四层模型,他们实现的目无非是为了解决两个问题:数据转成电信号;目标主机的寻址。
本小节通过一个具体的例子,讲解 CSRF 工具的步骤。案例的假设如下:存在一个银行网站,提供在线转账功能;用户登录银行后,才可以使用在线转账功能;银行中存在两个账户:受害者账户、攻击者账户;存在一个恶意网站,当访问该恶意网站时,会自动向银行网站提出转账请求。如果受害者没有退出银行网站的情况下访问恶意网站,因为受害者已经通过了银行网站的身份验证,因此发出的转账请求会通过银行网站的授权,即攻击者完成了攻击。
到这里有关Kotlin应用于服务端的微服务开发就简单介绍完毕了。实际上只是一个简单入门,有关很多ktor的高级应用可以去参考Ktor的官网。
安全密钥交换与非对称密钥算法,推动了网络安全通信的发展,在认证与安全诉求越来越迫切的环境下,一些厂商嗅探到市场的机遇,逐渐推出了相应的认证服务。信息的安全关系到国家安全和经济利益,因此我国这几年也在积极探索网络安全的标准化建设,这些标准并不仅仅局限于证书的签名算法,也包括了物理厂房的建设,人员的管理流程规则制度。当然我们的网络安全建设一方面要保证自己足够安全,另一方面也要对接国际,毕竟今天的网络今天的经济都是全世界共同的。
其实真实的原因是因为雪碧的英文名字是Sprite,而雪碧图的英文名是CSS Sprites,他俩同样都有Sprite这个词。左边是雪碧在国内的 Logo,右边是国外的 Logo。可以看到本来在没进入中国市场之前人家就叫Sprite(精灵),只不过进入了中国市场之后,中国区的负责人表示:用户去商店买汽水的时候如果对老板说:老板你这里有没有精灵?听起来就会感觉很奇怪,所以咱们不要被Sprite这个单词给限制住了,咱们应该起一个更符合中文语义的名字,于是乎“雪碧”诞生了。而雪碧图在国外叫做 CSS Sprite(CSS精灵)反正 Sprite 在国内被叫雪碧,那干脆不如咱们就叫它雪碧图吧!——来自最先接触到这项技术的人。所以后来接触这项技术的人也就跟随前人一起叫它雪碧图了。
在 HTTP 请求头里有个 Referer 字段,用于表明请求的来源地址。以向银行发出转账请求为例,说明 Referer 字段。1. 用户正常发出转账请求用户登录银行网站成功后,在网站首页 http://www.bank.com/,存在一个转账按钮;用户通过点击页面上的转账按钮进行转账,向银行发出转账请求 http://www.bank.com/transfer,该请求的信息如下:属性描述请求的地址 http://www.bank.com/transfer 请求的 Refererhttp://www.bank.com/可以看出:请求的地址和请求的 Referer 是属于相同的域名。2. 攻击者通过 CSRF 攻击发出转账请求如果用户被诱导进入恶意网站 http://www.malicious.com,在恶意网站的页面中向银行发起转账请求,请求的属性如下:属性描述请求的地址 http://www.bank.com/transfer 请求的 Refererhttp://www.malicious.com/可以看出:请求的地址和请求的 Referer 是属于不同的域名。
Flask 是一个 Python 实现的 Web 开发微框架,但是这个“微”并不代表着 Flask 功能比较简陋、有所欠缺。微框架中的 “微” 意味着:Flask 旨在保持核心简单而易于扩展;Flask 不会替用户做出太多决策,比如使用何种数据库;Flask 的选项(比如使用何种模板引擎) 通常有多个,用户很容易替换。默认情况下,Flask 不包含数据库抽象层、模板引擎、身份认证或其它任何已有多种库可以胜任的功能,如下图所示。然而,Flask 支持用扩展来给应用添加这些功能,应用程序可以很方便的集成这些扩展。众多的扩展提供了数据库集成、表单验证、上传处理、各种各样的开放认证技术等功能。
信息的搜集往往不是单一的,是由类似上面列举的很多方式的组合。我们经常听到一个词 人肉搜索,大家都很惊讶网络神人技术太强,其实主要还是因为我们散布在网上的资料信息太多了。这些零碎的资料拼一拼还是能获得很全的信息的。搜索引擎随便输入你的名字,或者外加几个关键词可能查到你在哪所学校,参加了某某活动,获得了某某名次的奖励你在哪所公司,缴交的一些社保信息你在某个网站的评论根据你的昵称到 QQ 上面搜索,同一个昵称到处用概率还是很大的,如果有手机号那就更加准确了,紧接着可以根据你的 QQ 空间获取更多你私人的信息。(这以前是非常好查的,现在腾讯也一直在完善信息安全这块)也可能是到其他平台去搜索:微博,头条,人人网,58同城 等照片网上搜索相似百度搜索引擎就有根据图片搜索到功能到政府的一些网站,如 信用xx ,上面根据法人名字也能搜索不少有价值的东西。
Python 的官方网站为 https://www.python.org,下载步骤如下:进入下载页面 https://www.python.org/downloads,有多个版本的 Python 可以下载,其中 Python 2.7.15 为 Python 2 系列,不要下载 Python 2 系列的版本,如下图所示:点击 Python 3.6.6,进入下载 Python 3.6.6 的页面,有多个安装文件可以下载,“Windows x86-64 executable installer” 是 64 位 Python 的安装文件,“Windows x86 executable installer” 是 32 位 Python 的安装文件,请根据你的操作系统位数下载对应的版本,如下图所示:
这个环节,大家可以去 Adobe 官网下载 Dreamweaver CC 2018 的安装包。不用担心,Adobe 公司并不像 Google 一样,在中国境内是可以流畅的访问 Adobe 公司的官网,并且下载他们的产品。
微前端 尚处在发展时期,其核心概念和 微服务 相似。现阶段较为常用的微前端框架为 single-spa 和 qiankun,后者是基于前者实现的。该技术能做到 技术栈无关,即一个应用,能由多个不同技术的子应用构成,同时做到子应用的相互隔离,这里的隔离就可以选择采用 Web Components 实现。
现代人的生活已经离不开网络,不知道你是否体会过不带手机、家里不能上网的心情。不管你在意还是不在意,网络就在你身边,如影随形。想象一下,现代社会如果没有网络又会是什么状况呢?当然,作为一名程序员,就算你不需要编写网络程序,但也应该理解网络通信原理。各种网络中间件、分布式框架、微服务框架,其中很大一部分工作都是在处理网络通信的逻辑,要想学习这些中间件不懂网络通信是很难学好的。另外,一些知名的网络库,它里面包含了许多优秀的设计理念和编程技巧,也是非常值得研读的,对于个人技术能力的提升具有很大的帮助。
实际上,让开发变得简单,是 Spring 诞生的原动力。Java 官方推出的企业级开发标准是 EJB ,但 EJB 是相当臃肿、低效的,且难以测试,把当时的 Java 开发者折腾得不轻。Spring 官网介绍:让 Java 变简单那时候,国外有一个年轻的小伙 Rod Johnson,对 SSH 的繁琐产生了质疑。他不光质疑,还去做了他认为对的事情。经过不断的经验总结和实践,他在 2004 年推出了经典力作《Expert one-on-one J2EE Development without EJB》。该书奠定了 Spring 框架的思想基础,把 EJB 的种种缺点逐一否定,还提出了简洁的替代方案。从此 Rod Johnson 和 Spring 框架一炮而红,其影响之深远,恐怕连 Rod Johnson 自己都想不到吧。有时候,不要过于迷信官方,也要敢于思考和质疑。实践是检验真理的唯一标准,编程也不外乎是。
在这个知识点中,将为大家着重讲解一下如何设置网页说明信息。下面来看一下具体操作:设置说明信息的操作和设置视角完全一样。如下图展示的一样,先在插入中选择 HTML 然后选择说明即可发现网页代码中多了一条 meta 信息。如图所示:
通过访问 Adobe 公司中国区官网我们可以看到目前的 DW 主要有 3 个突出优势:
将鼠标悬停在网络图标时,可以查看请求的本地和远程 IP 地址。如果你发出的是 https 请求,网络图标上会挂一个锁,还会显示证书信息。如果你在全局设置中启用了 SSL 验证,并且验证失败,Postman 会在响应区域指出错误。单击该链接在全局禁用验证,并立即再次运行该请求。
可以通过 CDN 引入 ECharts 文件:<!-- bootstrap 服务 --><!-- bootstrap 提供的免费CDN服务,亲测非常稳定 --><script src="//cdn.bootcss.com/echarts/4.5.0/echarts.common.js"></script><!-- 七牛云存储服务 --><!-- 国内速度稳定,开放性强 --><script src="//cdn.staticfile.org/echarts/4.5.0/echarts.common.js"></script><!-- jsdeliver 服务 --><!-- 微软的CDN服务,虽然国内访问速度比不上国内CDN,但速度不至于太慢,有国际化需求的可以试试 --><script src="//cdn.jsdelivr.net/npm/echarts@4.5.0/echarts.common.js"></script><!-- cdnjs 服务 --><!-- 一个非常全的CDN服务,存储了大多数主流的js、css、图片库 --><script src="//cdnjs.cloudflare.com/ajax/libs/echarts/4.5.0/echarts.common.js"></script>
本章主要介绍市面上比较流行的各种主流语言对应的IDE2.2.1 webstormwebstorm 是 jetbrains 公司旗下的产品,主要用于 web 开发,比誉为“ web 前端神器”,主要应用于 HTML css JavaScript 编程。它的官网地址是 webstorm。2.2.2 VS codevs code 全称 visual studio code,是微软公司开发的的文本编辑器,具有良好的跨平台性,同时支持 Windows、 Linux、 OS X 操作系统。但是 vs code 并非像传统的 IDE 一样开箱即用,而是需要配置额外的插件,例如 Git、代码高亮、语法提示等等,才能用的比较舒心。它的官网地址是 VS code。2.2.3 PHPstormPHPstorm 也是 jetbrains 的产品,相当于包含 webstorm 的所有功能+ PHP 运行环境+PHP语法+sql支持,主要用于PHP的编程。它的官网地址是 PHPStorm。2.2.4 Cloud 9cloud 9 是亚马逊公司推出的在线 IDE ,只要打开浏览器就能使用,但是目前在国内市场占有率较低。目前支持PHP、JavaScript、Python 等主流编程语言,使用较为方便。它的官网地址是 Cloud 9。2.2.5 IntelliJ IDEA使用 Java 开发的一个 IDE,对于 Java 开发者比较友好,其中 alt + enter 代码修复功能比较出名。它的官网地址是 IntelliJ IDEA。2.2.6 EMACS比较出名的集成开发环境和代码编辑器,由 Richard Stallman 和 Guy Steele 在 1975 年共同开发。早期在 lisp 语言开发环境较为流行,学习曲线相对比较陡峭。它的官网地址是 EMACS。
利用起始模板更快地启动并运行您的网站,您可以通过自定义这些模板来构建 HTML 电子邮件、“关于”页面、博客、电子商务页面、新闻稿和作品集。—Adobe 公司中国区官网这里的意思是说 Dreamweaver 这个软件本身提供了很多“成熟例子”供你选择使用。这些“例子”不但设计成熟,而且能适应你常见的用途,比如网页、博客、电商网站、新闻页面等。这一点好用到甚至你在刚开始学习 Dreamweaver 的时候,就能挥手间创造出市面上很成熟的页面,毕竟 Dreamweaver 自带的模版都是符合当下主流设计风格的网页。
网络爬虫,又称为网页蜘蛛,是一种按照一定的规则、自动地抓取万维网信息的程序。爬虫是一个自动下载网页的程序,它有选择的访问万维网上的网页与相关的链接,获取所需要的信息。爬虫有着广泛的应用:搜索引擎,谷歌百度等搜索引擎使用爬虫抓取网站的页面舆情分析与数据挖掘,通过抓取微博排行榜的文章,掌握舆情动向数据聚合,比如企查查,抓取企业官网的详细信息导购、价格比对,通过抓取购物网站的商品页面获取商品价格,为买家提供价格参考在面向计算机专业的人才招聘市场上,以爬虫为关键字搜索,可以获得大量的职位招聘:
babel 是现在市面上使用得最多的一个 JavaScript 编译器,它可以把 ES6 语法编译成 ES5 语法,这样就可以让 ES6 代码在不支持 ES6 语法的低版本浏览器中运行了。babel 的官网是一个国外网站,我们可以访问 国内的站点 基本内容是一致的,网站还进行了翻译,更适合国内同学使用。在试一试中我们可以看到 ES6 语法转化为 ES5 后是什么样的,更加明了地展示语法的编译过程。 71
网页的头部信息指的就是 <head> 标签里的内容。你可以在这里面设置很多网页的属性,比如刷新,比如网页标题,比如网页的关键词等。<head> 标签内也可以容纳脚本( script )标签,要正确认识 <head> 在网页结构中的地位。下面让我来结合 Dreamweaver CC 2018 详细介绍一下相关知识。
本节通过具体的案例演示 CSRF 的攻击与防御,案例中的假设如下:银行网站,提供在线转账功能;银行网站中有两个用户:受害者 victim 和攻击者 hacker,他们的账户中各有 100 元;恶意网站,由攻击者 hacker 创办,当受害者 victim 没有退出银行网站的情况下,去访问恶意网站,会在不知情的情况下,向 hacker 转账 50 元。为了演示 CSRF 攻击与防御,本节包括了 2 个程序:程序源代码目录首页 URL银行网站bankhttp://localhost:8888恶意网站malicioushttp://localhost:4444银行网站和恶意网站运行在同一台机器上,通过端口号区分:银行网站监听端口 8888,恶意网站监听端口 4444。
网络选项提供了配置 WLAN 和 DHCP 设置的方式。点按选择 USB 配置可以指定我们希望计算机如何识别设备。 如图 5 所示,我们可以将设备配置为仅限充电、传输文件 (MTP)、传输照片 (PTP)、在 PC 上使用我们的移动互联网 (RNDIS),或者传输音频或 MIDI 文件。点按蓝牙 AVRCP 版本,然后选择要用来控制我们的设备有权访问的所有蓝牙 A/V 设备的配置文件版本。 此外,要微调设备上的音频播放功能,请点按并设置以下选项:蓝牙音频编解码器:选择某个编解码器来调整设备的音质。蓝牙音频采样范围:通过选择音频编解码器采样率来调整每秒音频样本数量。采样率越高,使用的资源越多。蓝牙音频每样本位数:设置每个音频样本中信息的位数。比特率越高,音质越好,但样本文件越大。蓝牙音频声道模式:选择单声道或立体声。蓝牙音频 LDAC 编解码器:优化声音以提高音质,平衡音频和连接质量,提高连接质量,或者使用自适应比特率平衡音频和连接质量。以下列表介绍了配置 WLAN 和 DHCP 设置的其他方式:无线显示认证:启用高级配置控件和设置,按照“WLAN 联盟 WLAN 显示规范”中明确规定的规范进行无线显示认证。此认证适用于 Android 4.4(API 级别 19)及更高版本。启用 WLAN 详细日志记录功能:根据我们连接到的每个无线网络 (SSID) 的相对接收信号强度 (RSSI) 提高其 WLAN 日志记录水平。主动从 WLAN 网络切换到移动数据网络:当信号较弱时,让 WLAN 更高效地将数据连接移交给移动数据网络。