wrapper

Deno 静态文件CSS或图片

六月ゝ 毕业季﹏ 提交于 2020-08-19 21:00:39
Deno 静态页面或图片 视频讲解 https://www.bilibili.com/video/BV1BT4y1E7Nh/?p=7 我们一起来完成以下步骤: 沿用之前的工程代码 新增Login页面和响应的controller 添加CSS资源文件,然后预览页面 #controllers/controller.ts const { cwd } = Deno; class Controller { static async getData(ctx: any){ //cwd获取当前工程目录 //注意 ' !== ` ctx.render( ` ${cwd()} /views/index.ejs` ,{ title : "Testing" , data :{ name : "deepincoding" } }); } //登录页面 static async login(ctx: any){ ctx.render( ` ${cwd()} /views/login.ejs` ); } } export default Controller; #routers/index.ts import { Router } from "https://deno.land/x/oak/mod.ts" ; import Controller from "../controllers/Controller.ts

043. 基于 VIP 的 Keepalived 高可用架构讲解

霸气de小男生 提交于 2020-08-19 19:18:44
1. Keepalived 简介 1. keepalived 的作用 Keepalived 的作用是检测服务器的状态。如果有一台 web 服务器宕机,或工作出现故障,Keepalived 将检测到,并将有故障的服务器从系统中剔除,同时使用其他服务器代替该服务器的工作,当服务器工作正常后 Keepalived 自动将服务器加载到服务器群中,这些工作全部自动完成,不需要人工干涉,需要人工做的只是修复故障的服务器。 2. Keepalived 的特性 配置文件简单:配置文件比较简单,可通过简单配置实现高可用功能。 稳定性强:keepalived 是一个类似于 layer3/4/7 交换机机制的软件,具备我们平时说的第 3 层、第 4 层和第 7 层交换机的功能,常用于前端负载均衡器的高可用服务,当主服务器出现故障时,可快速进行切换,监测机制灵活,成功率高。 成本低廉:开源软件,可直接下载配置使用,没有额外费用。 应用范围广:因为 keepalived 可应用在多个层面,所以它几乎可以对所有应用做高可用,包括 LVS、数据库、http 服务、nginx 负载均衡等等。 支持多种类型:支持主从模式、主主模式高可用,可根据业务场景灵活选择。 2. Keepalived 工作原理 1. Keepalived 内部工作分为以下几个部分 WatchDog 监控 checkers 和 VRRP

Android APK程序的smali动态调试

本秂侑毒 提交于 2020-08-19 19:09:46
本文博客地址: http://blog.csdn.net/qq1084283172/article/details/71250622 一、Apktool的下载和安装 Apktool是Android逆向分析的基础工具,在进行Android APK的smali动态调试的时候会使用到它。有关Apktool工具的下载、安装、使用以及源码的编译可以参考Apktool工具的官网: https://ibotpeaches.github.io/Apktool/ ,Apktool工具的官网将Apktool工具的使用和版本更新的说明都讲的很清楚了,后面很多的操作都根据Apktool工具官网的帮助说明来进行实践。 Apktool工具源码下载地址: https://github.com/iBotPeaches/Apktool 。 Apktool工具的下载和安装,可以参考Apktool工具官网的安装说明,具体的网址为: https://ibotpeaches.github.io/Apktool/install/ ,Apktool工具在 Windows、Linux、MAC OS X平台的安装步骤如下: Install Instructions Quick Check Is at least Java 1.7 installed? Does executing java -version on command

自动化工具 Python 装饰器的进化史

久未见 提交于 2020-08-18 08:47:05
一、史前故事 先看一个简单例子,实际可能会复杂很多: def today (): print ( ' 2018 - 05 - 25 ' ) 现在有一个新的需求,希望可以记录下函数的执行日志,于是在代码中添加日志代码: def today (): print ( ' 2018 - 05 - 25 ' ) logging . info ( ' today is running ... ' ) 如果函数 yesterday()、tomorrow() 也有类似的需求,怎么做?再写一个 logging 在yesterday函数里?这样就造成大量雷同的代码,为了减少重复写代码,我们可以这样做,重新定义一个新的函数:专门处理日志 ,日志处理完之后再执行真正的业务代码 def logging_tool ( func ): logging . info ( ' % s is running ... ' % func . __name__ ) func () def today (): print ( ' 2018 - 05 - 25 ' ) logging_tool ( today ) 这样做逻辑上是没问题的,功能是实现了,但是我们调用的时候不再是调用真正的业务逻辑today函数,而是换成了logging_tool函数,这就破坏了原有的代码结构,为了支持日志功能,原有代码需要大幅修改

ant-design-vue——select下拉框tags清空已选数据

送分小仙女□ 提交于 2020-08-18 05:40:42
我的需求: select下拉联动,选择模板配置后,字段配置重新获取,此时要清空之前已选的字段 代码: <template> <div> <a-form class="dataForm" :form="form" :label-col="{ span: 5 }" :wrapper-col="{ span: 19 }" @submit ="handleCancel"> <a-form-item label="模板配置" v-model="osType"> <a-row :gutter="16"> <a-col class="gutter-row" :span="22"> <a- select placeholder ="请选择" style ="width: 100%" v -decorator="['osType',rules.osType]" @change ="changeOsType" > <a-select-option v- for ="(item,index ) in modeListArr" :key="index" :value="item.key"> {{ item.value }} </a-select-option> </a-select> </a-col> <a-col class="gutter-row" :span="2"> <a-icon type=

自动化工具 Python 装饰器的进化史

a 夏天 提交于 2020-08-18 05:08:15
一、史前故事 先看一个简单例子,实际可能会复杂很多: def today (): print ( ' 2018 - 05 - 25 ' ) 现在有一个新的需求,希望可以记录下函数的执行日志,于是在代码中添加日志代码: def today (): print ( ' 2018 - 05 - 25 ' ) logging . info ( ' today is running ... ' ) 如果函数 yesterday()、tomorrow() 也有类似的需求,怎么做?再写一个 logging 在yesterday函数里?这样就造成大量雷同的代码,为了减少重复写代码,我们可以这样做,重新定义一个新的函数:专门处理日志 ,日志处理完之后再执行真正的业务代码 def logging_tool ( func ): logging . info ( ' % s is running ... ' % func . __name__ ) func () def today (): print ( ' 2018 - 05 - 25 ' ) logging_tool ( today ) 这样做逻辑上是没问题的,功能是实现了,但是我们调用的时候不再是调用真正的业务逻辑today函数,而是换成了logging_tool函数,这就破坏了原有的代码结构,为了支持日志功能,原有代码需要大幅修改

如何解决flutter中gradle慢的问题

懵懂的女人 提交于 2020-08-18 04:56:34
初学flutter的时候,flutter run运行到有gradle的时候就停住不动了,研究后解决方法如下: 打开项目目录 中的 ...\myapp\android\gradle\wrapper\gradle-wrapper.properties 将https://services.gradle.org/distributions/gradle-4.10.2-all.zip下载到本地 (源文件:distributionUrl=https://services.gradle.org/distributions/gradle-4.10.2-all.zip),如果以后flutter升级,gradle版本号也会变。 Windows 将下载好的文件拖放到chrome中,就得到了一个本地url地址,比如我下载后保存在本地f:\迅雷下载中,修改distributionUrl成为: distributionUrl=file:///F:/%E8%BF%85%E9%9B%B7%E4%B8%8B%E8%BD%BD/gradle-4.10.2-all.zip 这样在使用flutter run的时候就非常快了! mac 这么写 distributionUrl=file:///机器名称/用户名/所在目录/gradle-4.10.2-all.zip 举例: distributionUrl=file://

【前端学习分享】HTML+CSS京东商城静态页面

主宰稳场 提交于 2020-08-17 19:06:53
注意事项 一、CSS的定位问题position static 没有定位,遵循正常的文档流对象。 以下使用较多 fixed 相对于浏览器窗口是固定的,窗口的他不会移动(比如说百度弹出来的登录窗口,不会移动) relative相对定位元素的定位是相对其正常位置,相对定位元素经常被用来作为绝对定位元素的容器块。 absolute绝对定位的元素的位置相对于最近的已定位父元素,如果元素没有已定位的父元素,那么它的位置相对于<html> 二、CSS标签起名问题 不要用拼音.可以右键检查网址看看别人的网站是怎么起名字的。 头:header 内容:content/container尾:footer导航:nav 侧栏:sidebar栏目:column页面外围控制整体布局宽度:wrapper左右中:left right center登录条:loginbar标志:logo广告:banner页面主体:main 三、iconfont 字体图标小,不会失真,不会占用http请求··· 可以选择然后直接下载 icon moon地址 预览图 index.html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale