Bootstrap

AWS Cloudformation

非 Y 不嫁゛ 提交于 2020-10-04 03:19:04
前面豆子学习了在AWS Cloudformation的基本操作。现在来学习进阶一些的东西。我们可以通过模板创建对应的资源,那么问题来了,这些资源创建的顺序如何保证;在EC2里面,如果我们需要额外的安装软件,配置软件,这又如何实现?当然,我们可以通过cloud init和 AMI的user data进行设置,但是在cloudformation的模板文件里面,我们同样可以进行配置。一般说来,对于不同Resource之间的优先顺序,我们是通过depends on和 waitcondition来进行配置;对于EC2和Auto Scaling内部软件的安装和配置,我们则是通过Helper Scripts 和 Creation Policy来进行配置。 下面先看看helper script。 https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-helper-scripts-reference.html Helper script 简单的说,就是一些预配置好的Python脚本,可以在template里面直接调用。 他们有4个脚本。 cfn-init: 获取我们在metadata里面配置的信息,安装包,创建文件,启动服务 cfn-signal: 当 cfn-init的资源或者程序准备就绪的时候

pulsar netty dns 解析过程

百般思念 提交于 2020-10-02 17:46:34
org.apache.pulsar.client.impl.ConnectionPool.ConnectionPool(ClientConfigurationData, EventLoopGroup, Supplier<ClientCnx>) public ConnectionPool(ClientConfigurationData conf, EventLoopGroup eventLoopGroup, Supplier<ClientCnx> clientCnxSupplier) throws PulsarClientException { this.eventLoopGroup = eventLoopGroup; this.maxConnectionsPerHosts = conf.getConnectionsPerBroker(); pool = new ConcurrentHashMap<>(); bootstrap = new Bootstrap(); bootstrap.group(eventLoopGroup); bootstrap.channel(EventLoopUtil.getClientSocketChannelClass(eventLoopGroup)); bootstrap.option(ChannelOption.CONNECT_TIMEOUT

js css CDN汇总(持续补充)

扶醉桌前 提交于 2020-10-02 15:25:11
<script src="https://cdn.jsdelivr.net/npm/vue@2.5.17/dist/vue.min.js"></script> <script src="https://cdn.jsdelivr.net/npm/vue-router@3.0.1/dist/vue-router.min.js"></script> <script src="https://cdn.jsdelivr.net/npm/axios@0.18.0/dist/axios.min.js"></script> <script src="https://cdn.jsdelivr.net/npm/js-cookie@2.2.0/src/js.cookie.min.js"></script> <script src="https://g.alicdn.com/sj/lib/zepto/zepto.min.js"></script> <script src="https://g.alicdn.com/msui/sm/0.6.2/js/??sm.min.js,sm-extend.min.js"></script> <script src="https://g.alicdn.com/msui/sm/0.6.2/js/sm-city-picker.min.js"></script> <script

超值干货 | 值得收藏:精选BATJ面试突击500题详解:JVM篇!

笑着哭i 提交于 2020-10-02 15:24:30
JVM Java内存区域 说一下 JVM 的主要组成部分及其作用? 说一下 JVM 运行时数据区 深拷贝和浅拷贝 说一下堆栈的区别? 队列和栈是什么?有什么区别? HotSpot虚拟机对象探秘 对象的创建 为对象分配内存 处理并发安全问题 对象的访问定位 句柄访问 直接指针 内存溢出异常 Java会存在内存泄漏吗?请简单描述 垃圾收集器 简述Java垃圾回收机制 GC是什么?为什么要GC 垃圾回收的优点和原理。并考虑2种回收机制 垃圾回收器的基本原理是什么?垃圾回收器可以马上回收内存吗?有什么办法主动通知虚拟机进行垃圾回收? Java 中都有哪些引用类型? 怎么判断对象是否可以被回收? 在Java中,对象什么时候可以被垃圾回收 JVM中的永久代中会发生垃圾回收吗 说一下 JVM 有哪些垃圾回收算法? 标记-清除算法 复制算法 标记-整理算法 分代收集算法 说一下 JVM 有哪些垃圾回收器? 详细介绍一下 CMS 垃圾回收器? 新生代垃圾回收器和老年代垃圾回收器都有哪些?有什么区别? 简述分代垃圾回收器是怎么工作的? 内存分配策略 简述java内存分配与回收策率以及Minor GC和Major GC 对象优先在 Eden 区分配 大对象直接进入老年代 长期存活对象将进入老年代 虚拟机类加载机制 简述java类加载机制? 描述一下JVM加载Class文件的原理机制 什么是类加载器

laravel7使用auth进行用户认证

别等时光非礼了梦想. 提交于 2020-10-02 13:13:40
原文地址: https://www.wjcms.net/archives/laravel7%E4%BD%BF%E7%94%A8auth%E8%BF%9B%E8%A1%8C%E7%94%A8%E6%88%B7%E8%AE%A4%E8%AF%81 laravel7 版本移除了 auth,大家都知道以前版本是直接使用 php artisan make:auth就可以使用,但是这版本不行了,那么要怎么弄呢?今天和大家说一下具体步骤。 Laravel7 的 laravel/ui 包提供了一种快速方法,可以使用一些简单的命令来支持你进行身份验证所需的所有路由和视图: 安装依赖包laravel/ui 直接使用命令进行安装 composer require laravel/ui 创建auth脚手架 直接使用命令进行创建 #注意这里的vue为可选项,可以换成bootstrap react vue php artisan ui vue --auth 然后在运行npm命令进行编译 npm install && npm run dev 看到上图这样就编译好了。 这样就创建好auth脚手架了,这样页面就可以访问了,但是登录注册还不能使用。 数据迁移 先配置数据库,这里我用的是homestead环境,所以连接配置如下 然后执行迁移命令 php artisan migrate 页面使用查看效果 这时候打开首页

Python Kafka 报错:ImportError: cannot import name &apos;KafkaConsumer&apos;

笑着哭i 提交于 2020-10-02 12:51:54
在Django的项目中安装了 kafka-python ,但是不能正常运行,直接就报错了。 import sys from kafka import KafkaConsumer def kafkatest(): print "Step 1 complete" consumer=KafkaConsumer('test',bootstrap_servers=['localhost:9092']) for message in consumer: print "Next message" print message if __name__=="__main__": kafkatest() 然后在使用时,报错提示: ImportError: cannot import name 'KafkaConsumer' 找了半天没有找到解决方案,最后发现自己创建的文件名叫做: kafka.py ,突然意识到问题出在哪里了。 原因: 简单说就是因为,创建的文件名是 kafka.py ,这会导致代码运行时,python解释器查找kafka的模块时,就找到自身(kafka.py)了,所以就报错。 解决办法: 修改文件名字为其他名字,比如: com_kafka.py ,在运行就可以运行了。 本文首发于 BigYoung小站 来源: oschina 链接: https://my.oschina.net/u

Java 类加载器 —— 从底层源码分析它帮我们做了什么?

青春壹個敷衍的年華 提交于 2020-10-02 03:08:28
目录 背景知识补充 加载概述 一、类加载器基本概念 1.1 类加载器加载 Class 大致要经过如下8个步骤 1.2 JVM的类加载机制主要有如下3种 1.3 这里说明一下双亲委派机制 二、启动类加载器 三、扩展类加载器 四、双亲委派 - 源码分析1 五、双亲委派 - 源码分析2 六、线程上下文类加载器 七、自定义类加载器 背景知识补充 从 Java 类的生命周期而言,一个类包括如下几个阶段: 类加载阶段分类: 加载 、 链接 (验证/准备/解析)、 初始化 (<cinit>()V方法 / 发生的时机),如下图所示: 参考链接: Java 类加载 —— 底层是如何实现的? 加载概述 加载指的是将类的 class 文件读入到内存,并为之创建一个 java.lang.Class 对象,也就是说,当程序中使用任何类时,系统都会为之建立一个 java.lang.Class 对象。 类的加载由类加载器完成 ,类加载器通常由JVM提供,这些类加载器也是前面所有程序运行的基础,JVM 提供的这些类加载器通常被称为系统类加载器。除此之外,开发者可以通过继承 ClassLoader 基类来创建自己的自定义类加载器。 一、类加载器基本概念 类加载器是 Java 语言的一个创新,也是 Java 语言流行的重要原因之一。它使得 Java 类可以被动态加载到 Java 虚拟机中并执行。 顾名思义,类加载器

App 自动化,Appium 凭什么使用 UiAutomator2?

无人久伴 提交于 2020-10-01 09:38:51
1. UiAutomator2 是什么 可能很多人对 UiAutomator2 和 UiAutomator 傻傻分不清楚 UiAutomator 是 Google 开发的一款运行在 Android 设备上的 UI 自动化测试工具,基于JAVA语言,使用它有一个限制,就是必须打包成 APK 或 JAR,然后上传到设备,才能运行 事实上,UiAutomator2 同样有 JAVA和 Python 版,今天我们聊的是 Python 版本的 UiAutomator2 至于 JAVA 版本的可以参考之前写的文章: 点我查看 Python 版本的 UiAutomator2 项目地址: https://github.com/openatx/uiautomator2 2.Appium 和 UiAutomator2 作为移动端自动化的鼻祖,早期版本的 Appium 是基于 UiAutomator 和 Bootstrap.jar 其中,Bootstrap 在 Appium初始化的时候,被推送到 Android 设备上,负责监听 Appium 发过来的请求,并转换后发送给 UiAutomator 去处理,完成自动化操作 最新版本的 Appium 加入了对 UiAutomator2 的支持,原理进行了更新,功能和稳定性更加完善 原理图可以参考: 3.准备 在使用 UiAutomator2 之前

前端开发面试快速复盘,不标准的面试经验分享与杂谈(终章),我拿到满意offer了

帅比萌擦擦* 提交于 2020-09-30 19:41:25
壹 ❀ 引 找工作半个月了,一周面两三家的样子,前前后后大概面了八家左右,先说结论,拿到了三家offer,虽然没有进大厂,但其中一家是自己很想去的公司所以后面不会再面试了,福利待遇(弹性打卡,导师一对一培训,mac,公司有猫..),技术团队都非常nice!!对于我这种急切渴望提升自身技术的人,确实是一个极好的结果,所以今天真的很开心!!当HR通知我最终面试通过时... 说下整体找工作感受吧,面试机会还是很多的,并不是大家想的疫情影响,找工作会多难多难,还是那句话,只站到找到工作的角度并不困难,但如果想找好一点的工作一定是需要一点时间的,所以这个阶段必定会承受一部分的压力,但是为了好的结果,这些都是值得的,我就是一个例子。 这篇文章可能更偏向于杂谈,并不会全部围绕面试展开,因为这周我也没怎么面试,所以看心情写好了,那么本文开始。 贰 ❀ 补一个复试 还记得上篇文章中第二家我很看好的公司吗,就是视频初面聊了一个半小时的公司...在本周二下午三点约了复试,分为CTO技术面与HR综合面。我面试有个小心得,到了面试地点看公司规模与装修,公司小装修不好的等于面试不会太难,公司大装修精致暗示面试有困难,所以我的紧张程度也会受这个影响。 当我到这家公司是下午两点半,一看整层楼都是他们公司,装修还贼好,当时我就紧张了!!!当然也证实了自己的眼光没错,这就是我想进的公司啊。因为前台与HR沟通失误

Emmet 语法速查表

若如初见. 提交于 2020-09-30 10:00:45
Emmet 是高效、快速编写 HTML 和 CSS 代码的一种插件,如果还不了解,请戳 Emmet — the essential toolkit for web-developers ,再根据你使用的编辑器(sublime 或 vim 等)下载对应的 Emmet 插件,让你的代码快步如飞吧。下面我记录下常用的 Emmet 语法和快捷键。代码区里的均指在编辑器里输入的字符,然后按 “Tab” 键便会生成代码。 例如 输入 ! 然后按 “tab” 会得到如下所示的HTML文档初始机构,再也不用一个字母一个字母敲了,是不是很简单呢? ## HTML 编写 1. 生成HTML文档初始机构 2. `html:5` 或者 `!` 生成 HTML5 结构 <!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> </body> </html> html:xt 生成 HTML4 过渡型 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html