Entry

Python全栈学习笔记

落爺英雄遲暮 提交于 2020-08-12 20:40:24
pystudy Hi, Guys, Welcome to pystudy! You will Learn the python3 language here, from entry to abandonment! I will keep updating study notes here, commit codes and add comment ! Python环境搭建 Linux系统UOS SP1上搭建Python开发环境.(IDE:PyCharm和VsCode) Python基础入门 1.语法格式 2.变量定义类型和使用 3.条件循环语句if-else_while_for 4.字符串、列表、元组、字典、集合 Python进阶 1.函数 2.数据结构公共方法 3.面向对象基础及封装 4.类的继承(派生)、方法重写、类的私有属性和方法、多继承 5.多态 6.类属性、类方法、静态方法 7.异常 8.模块和包 9.文件操作和编码 Python高级 网络编程: UDP/TCP/HTTP 网络编程: POP3/SMTP收发邮件 线程/进程/协程,并发 高级语法 正则表达式 CGI编程 Python爬虫及数据分析 python爬虫基础 python多线程爬虫 python分布式爬虫(爬虫框架) python反爬机制 项目案例: 爬取南京房价并可视化展示 爬取知乎或微博或技术博客等优秀文章

Raft论文《 In Search of an Understandable Consensus Algorithm (Extended Version) 》研读

╄→гoц情女王★ 提交于 2020-08-12 19:18:53
Raft 论文研读 说明 :本文为论文 《 In Search of an Understandable Consensus Algorithm (Extended Version) 》 的个人理解,难免有理解不到位之处,欢迎交流与指正 。 论文地址 : Raft Paper 1. 复制状态机 复制状态机 (Replicated state machine) 方法在分布式系统中被用于解决 容错问题 ,这种方法中,一个集群中各服务器有相同状态的副本,并且在一些服务器宕机的情况下也可以正常运行 。 如上图所示,每台服务器都存储一个包含一系列命令的 日志 ,并且按照日志的顺序执行。每台服务器都顺序执行相同日志上的命令,因此它们可以保证相同的状态 。 一致性算法 的工作就是保证复制日志的相同 。一台服务器上,一致性模块接收 client 的请求命令并将其写入到自己的日志中,它和其他服务器上一致性模块通信来保证集群中服务器的日志都相同 。命令被正确地复制后,每一个服务器的状态机按照日志顺序执行它们,最后将输出结果返回给 client 。 因此,服务器集群看起来就是一个高可用的状态机,只要集群中大多数机器可以正常运行,就可以保证可用性 。 关于复制状态机的更详细内容,可以阅读 VM-FT ,不过 Raft 应用到的复制状态机一般是应用级复制,不必达到像 VM-FT 那样的机器级复制 。

iOS 也指针待阅

浪尽此生 提交于 2020-08-12 18:39:29
iOS监控 - 野指针定位 https://juejin.im/entry/59fab7416fb9a045117076c5 https://www.shangmayuan.com/a/312c1dfa9b554aab8b9228fa.html https://blog.csdn.net/tangaowen/article/details/46829985 来源: oschina 链接: https://my.oschina.net/u/4400642/blog/4308219

webpack.03-打包js同时生成html页面

∥☆過路亽.° 提交于 2020-08-12 17:12:55
在空文件夹初始化:CMD npm init -y cnpm install -D webpack webpack-cli 文件结构 src(文件夹)--->test.js console.log('hello webpack') src(文件夹)--->index.html <html> <body> <script script="test.js"></script> </body> </html> src(文件夹)--->package.json { "name": "03", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "build": "webpack src/test.js" }, "keywords": [], "author": "", "license": "ISC" } 安装插件CMD: HtmlWebpackPlugin------> https://webpack.js.org/plugins/html-webpack-plugin/ cnpm install --save-dev html-webpack-plugin src(文件夹)--->webpack.config.js var HtmlWebpackPlugin = require('html

apache pulsar参数配置

社会主义新天地 提交于 2020-08-12 15:50:20
BookKeeper bookiePort bookeeper server监听端口 allowLoopback 是否接受回127.0.0.1地址 listeningInterface 默认网口,比如:eth0 journalDirectory WAL存入目录 ledgerDirectories 帐目快照保存地址,推荐WAL与该目录不同硬盘 ledgerManagerType bookeeper 帐目保存类型 zkLedgersRootPath zookeeper保存的bookeeper数据路径 ledgerStorageClass 帐目存储类 entryLogFilePreallocationEnabled 是否预分配entry logger minorCompactionThreshold 当entry logger达到阀值将执行minor compaction,0为禁止 minorCompactionInterval 时间控制minor compaction majorCompactionThreshold 当entry logger达到阀值将执行major compaction,0为禁止 majorCompactionInterval 时间控制major compaction compactionMaxOutstandingRequests 没有flush的最大entry数

Alluxio基于冷热数据分离的元数据管理策略

霸气de小男生 提交于 2020-08-12 15:32:42
文章目录 前言 Alluxio内部元数据管理架构 Alluxio的支持异步写出功能的自定义Cache实现 引用 前言 上篇文章末尾,笔者聊到了一种叫做分层元数据管理模式。它主张的思想是将元数据进行分级对待,比如Cache+Persist层2种,cache拿来用于热点数据的访问,而persist层即持久层则存储那些冷的访问不频繁的数据,以此达到元数据的强扩展性和一个较好的访问性能。当今存储系统Alluxio就是使用了这种分层级对待的元数据管理模式。本文我们就来简单聊聊Alluxio的tier layer的元数据管理。 Alluxio内部元数据管理架构 相比较于将元数据全部load到memory然后以此提高快速访问能力的元数据管理方式,Alluxio在这点上做了优化改进,只cache那些active的数据,这是其内部元数据管理的一大特点。对于那些近期没有访问过的冷数据,则保存在本地的rocksdb内。 在Alluxio中,有专门的定义来定义上述元数据的存储,在内存中cache active数据的存储层,我们叫做cache store,底层rocksdb层则叫做baking store。 Alluxio就是基于上面提到的2层store做数据数据然后对外提供数据访问能力,架构图如下所示: 本文笔者这里想重点聊的点在于Cache store如何和上面Rocks store(Baking

有关 HashMap 面试会问的一切

天大地大妈咪最大 提交于 2020-08-12 15:20:36
前言 HashMap 是无论在工作还是面试中都非常常见常考的数据结构。 比如 Leetcode 第一题 Two Sum 的某种变种的最优解就是需要用到 HashMap 的,高频考题 LRU Cache 是需要用到 LinkedHashMap 的。 HashMap 用起来很简单,底层实现也不复杂,先来看几道常见的面试题吧。相信大家多多少少都能回答上来一点,不清楚的地方就仔细阅读本文啦~这篇文章带你深挖到 HashMap 的老祖宗,保证吊打面试官 == 和 equals() 的区别? 为什么重写 equals() 就必须要重写 hashCode()? Hashtable, HashSet 和 HashMap 的区别和联系 处理 hash 冲突有哪些方法?Java 中用的哪一种?为什么?另一种方法你在工作中用过吗?在什么情 况下用得多? 徒手实现一个 HashMap 吧 本文分以下章节: Set 和 Map 家族简介 HashMap 实现原理 关于 hashCode() 和 equals() 哈希冲突详解 HashMap 基本操作 高频面试考题分析 Set 家族 在讲 Map 之前,我们先来看看 Set。 集合的概念我们初中数学就学过了,就是里面不能有重复元素,这里也是一样。 Set 在 Java 中是一个接口,可以看到它是 java.util 包中的一个集合框架类,具体的实现类有很多:

网易mumu模拟器使用心得

我只是一个虾纸丫 提交于 2020-08-12 08:57:44
1.首先需要在网上找一个mumu模拟器下载,链接为http://mumu.163.com/baidu/; 2.直接安装到c盘,并且打开模拟器; 3.连接模拟器的话需要用adb装,如果有装python中的pip的话,就直接用pip装adb服务, 如果没有装pip的话,需要在本地安装一个adb程序,并且需要相关的配置文件 4.在安装了相关adb相关程序的文件里面按住shift+鼠标右键,选择在此处打开命令窗口,进入 cmd.exe 5.连接到MUMU模拟器 在cmd键入 adb connect 127.0 . 0.1 : 7555 ; 6.打开Wifi设置面板 在cmd键入 adb shell am start - a android . intent . action . MAIN - n com . android . settings /. wifi . WifiSettings ; 7. 进入相应局域网 在模拟器中依次打开 系统应用---》设置---》WLAN---》wifi ---》鼠标左键按住不动 ---》修改网络 ---》高级选项 ---》ip设置静态 ---》DNS修改好 保存 感谢网址 http://ju.outofmemory.cn/entry/352495 来源: oschina 链接: https://my.oschina.net/u/4295105/blog

Glide 4.11 源码解析(一):图片加载流程

雨燕双飞 提交于 2020-08-12 06:43:40
1.前言 Glide 是一个图片加载框架,可以在 Android 平台上以简单的方式来加载和展示图片。 通过Glide.with(this).load(url).into(imageView) 一句代码就可以搞定。虽然调用方式很简单,但是内部的实现却不简单。下面将根据这句代码展开梳理 Glide 如何实现加载网络图片。 2. Glide.with(context) Glide 类的继承关系如下所示: 在 Glide 类中,根据传入的参数不同,总共重写了6个 with方法,这里将以比较常见的 Activity 为例子去追溯实现原理: @NonNull public static RequestManager with(@NonNull Context context) { return getRetriever(context).get(context); } @NonNull public static RequestManager with(@NonNull Activity activity) { return getRetriever(activity).get(activity); } public static RequestManager with(@NonNull FragmentActivity activity) { return getRetriever

实现微前端需要了解的 Vue Genesis 渲染器

依然范特西╮ 提交于 2020-08-12 06:11:12
我们的需求 在 中,核心的就是渲染器,它提供了最基础渲染能力,有了它,你可以实现微前端、微服务、远程组件、首屏渲染,甚至可以和 React、EJS 等配合使用。 它可以和怎样的你协作? 如果你是传统的后端渲染的,需要做SEO,但是你希望在部分布局,部分页面引入 Vue,那么 renderer.renderJson() 足以,将渲染结果传递给后端渲染的模板引擎中即可。 如果你是中后台系统,业务系统全部集中在一个项目,你希望可以按照业务进行服务的拆分,那么 `` 足以 如果你是 CSR 渲染的项目,那么 renderer.renderHtml({ mode: 'csr-html' }) 足以 如果你是 SSR 渲染的项目,那么 renderer.renderHtml({ mode: 'ssr-html' }) 足以 如果你想做微前端、微服务、那么 渲染器 天生就具备了这样的能力,你可以把它当成一个工具函数使用,你可以通过 HTTP 、 RPC 等等各种协议访问到你的服务,然后使用它进行渲染 创建一个渲染器 开发环境 import { SSR } from '@fmfe/genesis-core' ; import { Watch } from '@fmfe/genesis-compiler' ; ​ const start = async () => { const ssr = new