hunkier

学习笔记,开源代码,技术分享

极客时间《MySQL实战45讲笔记》学习笔记

基础篇

大体来说,MySQL 可以分为 Server 层和存储引擎层两部分。

Server 层包括连接器、查询缓存、分析器、优化器、执行器等,涵盖 MySQL 的大多数核心服务功能,以及所有的内置函数(如日期、时间、数学和加密函数等),所有跨存储引擎的功能都在这一层实现,比如存储过程、触发器、视图等。

而存储引擎层负责数据的存储和提取。其架构模式是插件式的,支持 InnoDB、MyISAM、Memory 等多个存储引擎。现在最常用的存储引擎是 InnoDB,它从 MySQL 5.5.5 版本开始成为了默认存储引擎。

WAL 的全称是 Write-Ahead Logging,它的关键点就是先写日志,再写磁盘

阅读全文 »

使用jmeter压测服务器接口,出现连接超时或者无法找到路由之类的错误。发现实际瓶颈并非出现在服务器上,而是在本机。

最大连接数限制

最大连接数限制就是系统所能打开的最大文件数(文件描述符)的限制,分全局和进程两种,相应的命令如下:

1
$ sysctl kern.maxfiles

输出

1
kern.maxfiles: 12288

说明:全局限制,也就是系统默认的最大连接数限制是12288

阅读全文 »

1.背景

Spring的核心思想就是容器,当容器refresh的时候,外部看上去风平浪静,其实内部则是一片惊涛骇浪,汪洋一片。Springboot更是封装了Spring,遵循约定大于配置,加上自动装配的机制。很多时候我们只要引用了一个依赖,几乎是零配置就能完成一个功能的装配。

我非常喜欢这种自动装配的机制,所以在自己开发中间件和公共依赖工具的时候也会用到这个特性。让使用者以最小的代价接入。想要把自动装配玩的转,就必须要了解spring对于bean的构造生命周期以及各个扩展接口。当然了解了bean的各个生命周期也能促进我们加深对spring的理解。业务代码也能合理利用这些扩展点写出更加漂亮的代码。

在网上搜索spring扩展点,发现很少有博文说的很全的,只有一些常用的扩展点的说明。

所以在这篇文章里,我总结了几乎Spring & Springboot所有的扩展接口,以及各个扩展点的使用场景。并且整理出了一个bean在spring内部从被加载到最后初始化完成所有可扩展点的顺序调用图。从而我们也能窥探到bean是如何一步步加载到spring容器中的。

阅读全文 »

  • 深度学习离不开数学分析(高等数学)、线性代数、概率论等知识,更离不开以编程为核心的动手实践。

  • 无论是在机器学习还是深度学习中,Python 已经成为主导性的编程语言。而且,现在许多主流的深度学习框架都提供Python接口,Python被用于数据预处理、定义网络模型、执行训练过程、数据可视化等

  • 熟悉 Python 的基础语法,并掌握 NumPy,Pandas 及其他基础工具模块的使用对深度学习实践是非常重要的!


阅读全文 »

python基础语法

1
2
3
4
#1.基础操作
age = 20 # 声明一个变量age 用来存储一个数字 20
1+1 # 基础数学加法
print('Hello World!') # 打印Hello World!
1
2
3
4
5
#2.条件判断if
if 1 == 2: # 如果 if 跟随的条件为 假 那么不执行属于if 的语句,然后寻找 else
print("假的")
else: # 寻找到 else 之后 执行属于else中的语句
print("1==2是假的")
阅读全文 »

本文主要介绍如何使用PDB来进行代码调试, 可以打印变量和单步执行

Python自带一个调试器, 在Python 3.7之后甚至成为内置调试器. 这就是PDB. 这是使用Python的用户需要掌握的基本技能.

下面我们看一下基本演示(GIF循环播放):

img

阅读全文 »

由于AI Studio使用了Notebook为主要编辑器, 因此也引入了一些iPython操作. 特别示例说明

AI Studio的Notebook项目的基本操作.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
项目启停
执行和调试
多文件代码编辑
上传Notebook
Notebook快捷键
暗黑模式
字号调节
Notebook中使用Shell命令
使用pip来安装自己需要的package (但不支持apt-get)
查看当前环境中安装的package
持久化安装
使用git命令来同步代码 (暂时需要Paddle 1.4.1以上)
文件下载
Python代码执行与调试
变量监控
Magic命令
%env:设置环境变量
%run: 运行python代码
%%writefile and %pycat: 导出cell内容/显示外部脚本的内容
关于快速查看某个对象/方法/接口的用法
关于变量监控
关于调试代码
阅读全文 »

队列同步器AbstractQueuedSynchronizer(以下简称同步器),是用来构建锁或者其他同步组件的基础框架,它使用了一个int成员变量表示同步状态,通过内置的FIFO队列来完成资源获取线程的排队工作,并发包的作者(Doug Lea)期望它能够成为实现大部分同步需求的基础。

阅读全文 »