实习僧网站的实习岗位信息分析

目录

    • 背景描述
    • 数据说明
    • 数据集来源
    • 问题描述
      • 分析目标以及导入模块
      • 1. 数据导入
      • 2. 数据基本信息和基本处理
      • 3. 数据处理
        • 3.1 新建data_clean数据框
        • 3.2 数值型数据处理
          • 3.2.1 “auth_capital”(注册资本)
          • 3.2.2 “day_per_week”(每周工作天数)
          • 3.2.3 “num_employee”(公司规模)
          • 3.2.4 “time_span”(实习月数)
          • 3.2.5 “wage”(每天工资)
        • 3.3 时间数据处理
          • 3.3.1 “est_date”(公司成立日期)
          • 3.3.2 “job_deadline”(截止时间)
          • 3.3.3 “released_time”(发布时间)
          • 3.3.4 “update_time”(更新时间)
        • 3.4 字符型数据处理
          • 3.4.1 “city”(城市)处理
          • 3.4.2 “com_class”(公司和企业类型)处理
          • 3.4.3 “com_logo”(公司logo)、“industry”(行业)也暂时不处理
      • 4. 数据分析
        • 4.1 数据基本情况
        • 4.2 城市与职位数量
        • 4.3 薪资
          • 4.3.1 平均薪资
          • 4.3.2 薪资与城市
        • 4.4 学历
          • 4.4.1 数据挖掘、机器学习算法的学历要求
          • 4.4.2 学历与薪资
        • 4.5 行业
        • 4.6 公司
          • 4.6.1 公司与职位数量、平均实习月薪
          • 4.6.2 公司规模与职位数量
          • 4.6.3 公司规模与实习月薪
          • 4.6.4 公司实习期长度
          • 4.6.5 企业成立时间
      • 5. 给小E挑选实习公司
      • 6. logo拼图
    • 附录

背景描述

主要对“实习僧网站”招聘数据挖掘、机器学习的实习岗位信息进行分析。数据主要来自“数据挖掘”、“机器学习”和“算法”这3个关键词下的数据。由于原始数据还比较脏,本文使用pandas进行数据处理和分析,结合seaborn和pyecharts包进行数据可视化。

数据说明

准备数据集以及一个空文件
1.datamining.csv
2.machinelearning.csv
3.mlalgorithm.csv
4.data_clean.csv(空文件,以便清洗后存放干净数据)

数据集来源

https://github.com/Alfred1984/interesting-python/tree/master/shixiseng

问题描述

该数据主要用于“实习僧网站”招聘数据挖掘、机器学习的实习岗位信息进行分析

分析目标以及导入模块

1.由于小E想要找的实习公司是机器学习算法相关的工作,所以只对“数据挖掘”、“机器学习”、“算法”这三个关键字进行了爬取;
2.因此,分析目标就是国内公司对机器学习算法实习生的需求状况(仅基于实习僧网站),以及公司相关的分析。

在这里插入图片描述

1. 数据导入

在这里插入图片描述

2. 数据基本信息和基本处理

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

3. 数据处理

3.1 新建data_clean数据框

在这里插入图片描述

3.2 数值型数据处理
3.2.1 “auth_capital”(注册资本)

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

3.2.2 “day_per_week”(每周工作天数)

在这里插入图片描述

在这里插入图片描述

3.2.3 “num_employee”(公司规模)

在这里插入图片描述

在这里插入图片描述

3.2.4 “time_span”(实习月数)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.2.5 “wage”(每天工资)

在这里插入图片描述
在这里插入图片描述

3.3 时间数据处理
3.3.1 “est_date”(公司成立日期)

在这里插入图片描述
在这里插入图片描述

3.3.2 “job_deadline”(截止时间)

在这里插入图片描述
在这里插入图片描述

3.3.3 “released_time”(发布时间)

在这里插入图片描述
在这里插入图片描述

3.3.4 “update_time”(更新时间)

在这里插入图片描述

在这里插入图片描述

3.4 字符型数据处理
3.4.1 “city”(城市)处理

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.4.2 “com_class”(公司和企业类型)处理

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.4.3 “com_logo”(公司logo)、“industry”(行业)也暂时不处理

在这里插入图片描述

4. 数据分析

4.1 数据基本情况

在这里插入图片描述
在这里插入图片描述

4.2 城市与职位数量

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4.3 薪资
4.3.1 平均薪资

在这里插入图片描述

4.3.2 薪资与城市

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4.4 学历
4.4.1 数据挖掘、机器学习算法的学历要求

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4.4.2 学历与薪资

在这里插入图片描述在这里插入图片描述
在这里插入图片描述

4.5 行业

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4.6 公司
4.6.1 公司与职位数量、平均实习月薪

在这里插入图片描述

4.6.2 公司规模与职位数量

在这里插入图片描述

4.6.3 公司规模与实习月薪

在这里插入图片描述

4.6.4 公司实习期长度

在这里插入图片描述

4.6.5 企业成立时间

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5. 给小E挑选实习公司

在这里插入图片描述
在这里插入图片描述

6. logo拼图

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


附录

导入模块

!pip install pyecharts==0.5.6
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
import pyecharts
plt.style.use('ggplot')
%matplotlib inline
from pylab import mpl
#mpl.rcParams['font.sans-serif'] = ['SimHei']  #解决seaborn中文字体显示问题
plt.rc('figure', figsize=(10, 10))  #把plt默认的图片size调大一点

1. 数据导入

data_dm = pd.read_csv("datamining.csv")
data_ml = pd.read_csv("machinelearning.csv")
data_al = pd.read_csv("mlalgorithm.csv")
data = pd.concat([data_dm, data_ml, data_al], ignore_index = True)

2. 数据基本信息和基本处理

data.sample(3)
data.loc[666]
data.info()
data.drop_duplicates(subset='job_links', inplace=True)
data.shape
##填充前的信息表
data.info()
####将所有缺失值均补为'无')
data=data.fillna('无')##填充后的信息表
data.info()

*3. 数据处理
3.1 新建data_clean数据框

data_clean = data.drop(['com_id', 'com_links', 'com_location', 'com_website', 'com_welfare', 'detailed_intro', 'job_detail'], axis = 1)

3.2 数值型数据处理
3.2.1 “auth_capital”(注册资本)

data.auth_capital.sample(20)
auth_capital = data['auth_capital'].str.split(':', expand = True)
auth_capital.sample(5)
auth_capital['num'] = auth_capital[1].str.extract('([0-9.]+)', expand=False).astype('float')
auth_capital.sample(5)
auth_capital[1].str.split('万', expand = True)[1].unique()
def get_ex_rate(string):if string == None:return np.nanif '人民币' in string:return 1.00elif '港' in string:return 0.80elif '美元' in string:return 6.29elif '欧元' in string:return 7.73elif '万' in string:return 1.00else:return np.nanauth_capital['ex_rate'] = auth_capital[1].apply(get_ex_rate)
auth_capital.sample(5)
data_clean['auth_capital'] = auth_capital['num'] * auth_capital['ex_rate']
data_clean['auth_capital'].head()   ##此方法用于返回数据帧或序列的前n行(默认值为5)。

3.2.2 “day_per_week”(每周工作天数)

data.day_per_week.unique()
data_clean.loc[data['day_per_week'] == '2天/周', 'day_per_week'] = 2
data_clean.loc[data['day_per_week'] == '3天/周', 'day_per_week'] = 3
data_clean.loc[data['day_per_week'] == '4天/周', 'day_per_week'] = 4
data_clean.loc[data['day_per_week'] == '5天/周', 'day_per_week'] = 5
data_clean.loc[data['day_per_week'] == '6天/周', 'day_per_week'] = 6

3.2.3 “num_employee”(公司规模)

data.num_employee.unique()
data_clean.loc[data['num_employee'] == '少于15人', 'num_employee'] = '小型企业'
data_clean.loc[data['num_employee'] == '15-50人', 'num_employee'] = '小型企业'
data_clean.loc[data['num_employee'] == '50-150人', 'num_employee'] = '小型企业'
data_clean.loc[data['num_employee'] == '150-500人', 'num_employee'] = '中型企业'
data_clean.loc[data['num_employee'] == '500-2000人', 'num_employee'] = '中型企业'
data_clean.loc[data['num_employee'] == '2000人以上', 'num_employee'] = '大型企业'
data_clean.loc[data['num_employee'] == '5000人以上', 'num_employee'] = '大型企业'
data_clean.loc[data['num_employee'].isna(), 'num_employee'] = np.nan

3.2.4 “time_span”(实习月数)

data.time_span.unique()
mapping = {}
for i in range(1,19):mapping[str(i) + '个月'] = i
print(mapping)
data_clean['time_span'] = data['time_span'].map(mapping)
data_clean.head(3)

3.2.5 “wage”(每天工资)

data['wage'].sample(5)
data_clean['average_wage'] = data['wage'].str.extract('([0-9.]+)-([0-9.]+)/天', expand=True).astype('int').mean(axis = 1)
data_clean['average_wage'].head()

3.3 时间数据处理
3.3.1 “est_date”(公司成立日期)

data['est_date'].sample(5)
data_clean['est_date'] = pd.to_datetime(data['est_date'].str.extract('成立日期:([0-9-]+)', expand=False))
data_clean['est_date'].sample(5)

3.3.2 “job_deadline”(截止时间)

data['job_deadline'].sample(5)
data_clean['job_deadline'] = pd.to_datetime(data['job_deadline'])

3.3.3 “released_time”(发布时间)

data['released_time'].sample(5)
data_clean['released_time'] = data['released_time'].str.extract('[0-9-]+(\w+)前', expand=False).map({'分钟':'newest', '小时':'newest', '天':'new', '周':'acceptable', '月':'old'})
data_clean['released_time'].sample(5)

3.3.4 “update_time”(更新时间)

data['update_time'].sample(5)
data_clean['update_time'] = pd.to_datetime(data['update_time'])

3.4 字符型数据处理
3.4.1 “city”(城市)处理

data['city'].unique()
data_clean.loc[data_clean['city'] == '成都市', 'city'] = '成都'
data_clean.loc[data_clean['city'].isin(['珠海市', '珠海 深圳', '珠海']), 'city'] = '珠海'
data_clean.loc[data_clean['city'] == '上海漕河泾开发区', 'city'] = '上海'
#招聘实习生前10的城市
data_clean['city'].value_counts().nlargest(10)
data_clean['city'].value_counts().nlargest(10).plot(kind = 'bar')

3.4.2 “com_class”(公司和企业类型)处理

list(data['com_class'].unique())
def get_com_type(string):if string == None:return np.nanelif ('非上市' in string) or ('未上市' in string):return '股份有限公司(未上市)'elif '股份' in string:return '股份有限公司(上市)'elif '责任' in string:return '有限责任公司'elif '外商投资' in string:return '外商投资公司'elif '有限合伙' in string:return '有限合伙企业'elif '全民所有' in string:return '国有企业'else:return np.nan
com_class = data['com_class'].str.split(':', expand = True)
com_class['com_class'] = com_class[1].apply(get_com_type)
com_class.sample(5)
data_clean['com_class'] = com_class['com_class']

3.4.3 “com_logo”(公司logo)、“industry”(行业)也暂时不处理

data_clean = data_clean.reindex(columns=['com_fullname', 'com_name', 'job_academic', 'job_links', 'tag','auth_capital', 'day_per_week', 'num_employee', 'time_span','average_wage', 'est_date', 'job_deadline', 'released_time','update_time', 'city', 'com_class', 'com_intro', 'job_title','com_logo', 'industry'])
data_clean.to_csv('data_clean.csv', index = False)

4. 数据分析
4.1 数据基本情况

data_clean.sample(3)
data_clean.info()

4.2 城市与职位数量

city = data_clean['city'].value_counts()
city[:15]
bar = pyecharts.Bar('城市与职位数量')
bar.add('', city[:15].index, city[:15].values, mark_point=["max"])
bar
city_pct = (city/city.sum()).map(lambda x: '{:,.2%}'.format(x))
city_pct[:15]
(city/city.sum())[:5].sum()
data_clean.loc[data_clean['city'] == '杭州', 'com_name'].value_counts()[:5]
def topN(dataframe, n=5):counts = dataframe.value_counts()return counts[:n]
data_clean.groupby('city').com_name.apply(topN).loc[list(city_pct[:15].index)]

4.3 薪资
4.3.1 平均薪资

data_clean['salary'] = data_clean['average_wage'] * data_clean['day_per_week'] * 4
data_clean['salary'].mean()

4.3.2 薪资与城市

salary_by_city = data_clean.groupby('city')['salary'].mean()
salary_by_city.nlargest(10)
top10_city = salary_by_city[city_pct.index[:10]].sort_values(ascending=False)
top10_city
bar = pyecharts.Bar('北上广深杭等城市平均实习工资')
bar.add('', top10_city.index, np.round(top10_city.values, 0), mark_point=["max"], is_convert=True)
bar
top10_city_box = data_clean.loc[data_clean['city'].isin(top10_city.index),:]
sns.violinplot(x ='salary', y ='city', data = top10_city_box)

4.4 学历
4.4.1 数据挖掘、机器学习算法的学历要求

job_academic = data_clean['job_academic'].value_counts()
job_academic
pie = pyecharts.Pie("学历要求")
pie.add('', job_academic.index, job_academic.values)
pie

4.4.2 学历与薪资

data_clean.groupby(['job_academic'])['salary'].mean().sort_values()
sns.boxplot(x="job_academic", y="salary", data=data_clean)

4.5 行业

data_clean['industry'].sample(5)
industry = data_clean.industry.str.split('/|,|,', expand = True)
industry_top15 = industry.apply(pd.value_counts).sum(axis = 1).nlargest(15)
bar = pyecharts.Bar('行业与职位数量')
bar.add('', industry_top15.index, industry_top15.values, mark_point=["max","min","average"], xaxis_rotate=45)
bar

4.6 公司
4.6.1 公司与职位数量、平均实习月薪

data_clean.groupby('com_name').salary.agg(['count', 'mean']).sort_values(by='count', ascending = False)[:15]

4.6.2 公司规模与职位数量

data_clean['num_employee'].value_counts()

4.6.3 公司规模与实习月薪

data_clean.groupby('num_employee')['salary'].mean()

4.6.4 公司实习期长度

data_clean['time_span'].value_counts()
data_clean['time_span'].mean()

4.6.5 企业成立时间

est_date = data_clean.drop_duplicates(subset='com_name')
import warnings
warnings.filterwarnings('ignore')
est_date['est_year'] = pd.DatetimeIndex(est_date['est_date']).year
num_com_by_year = est_date.groupby('est_year')['com_name'].count()
line = pyecharts.Line("每年新成立的公司数量变化")
line.add("", num_com_by_year.index, num_com_by_year.values, mark_line=["max", "average"])
line
scale_VS_year = est_date.groupby(['num_employee', 'est_year'])['com_name'].count()
scale_VS_year_s = scale_VS_year['小型企业'].reindex(num_com_by_year.index, fill_value=0)
scale_VS_year_m = scale_VS_year['中型企业'].reindex(num_com_by_year.index, fill_value=0)
scale_VS_year_l = scale_VS_year['大型企业'].reindex(num_com_by_year.index, fill_value=0)line = pyecharts.Line("新成立的企业与规模")
line.add("小型企业", scale_VS_year_s.index, scale_VS_year_s.values, is_label_show=True)
line.add("中型企业", scale_VS_year_m.index, scale_VS_year_m.values, is_label_show=True)
line.add("大型企业", scale_VS_year_l.index, scale_VS_year_l.values, is_label_show=True)
line

5. 给小E挑选实习公司

E_data = data_clean.loc[(data_clean['city'] == '深圳') & (data_clean['job_academic'] != '博士') & (data_clean['time_span'].isin([1,2,3])) & (data_clean['salary'] > 3784) & (data_clean['released_time'] == 'newest'), :]
E_data['com_name'].unique()
data.loc[E_data.index, ['job_title', 'job_links']]

6. logo拼图

import os
import requests
from PIL import Imagedata_logo = data_clean[['com_logo', 'com_name']]
data_logo.drop_duplicates(subset='com_name', inplace=True)
data_logo.dropna(inplace=True)
data_logo['com_name'] = data_logo['com_name'].str.replace('/', '-')
com_logo = list(data_logo['com_logo'])
com_name = list(data_logo['com_name'])path_list = []
num_logo = 0
#####注意:先在左边文件树创建文件夹
for logo_index in range(len(com_logo)):try:response = requests.get(com_logo[logo_index])suffix = com_logo[logo_index].split('.')[-1]path = 'logo/{}.{}'.format(com_name[logo_index], suffix)##logo 文件logo的路径path_list.append(path)with open(path, 'wb') as f:f.write(response.content)num_logo += 1except:print('Failed downloading logo of', com_name[logo_index])
print('Successfully downloaded ', str(num_logo), 'logos!')
x = y = 0
line = 20
NewImage = Image.new('RGB', (128*line, 128*line))
for item in path_list:try:img = Image.open(item)img = img.resize((128, 128), Image.ANTIALIAS)NewImage.paste(img, (x * 128, y * 128))x += 1except IOError:print("第%d行,%d列文件读取失败!IOError:%s" % (y, x, item))x -= 1if x == line:x = 0y += 1if (x + line * y) == line * line:break
##注:先在左侧文件上传一jpg(建议纯白)
NewImage.save("test.JPG")  ##test.JPG是自己创建图片的路径
##显示生成的logo拼图
import matplotlib.image as mpimg # mpimg 用于读取图片lena = mpimg.imread('test.JPG') # 读取和代码处于同一目录下的 lena.png
# 此时 lena 就已经是一个 np.array 了,可以对它进行任意处理
lena.shape #(512, 512, 3)plt.imshow(lena) # 显示图片
plt.axis('off') # 不显示坐标轴
plt.show()

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/816805.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

TFT显示屏驱动

REVIEW 已经学习过VGA 时序与实现-CSDN博客 VGA 多分辨率-CSDN博客 今天就来让TFT屏显示一下 ACZ702开发板管脚信息表 - ACZ702开发板 - 芯路恒电子技术论坛 - Powered by Discuz! (corecourse.cn) 小梅哥视频:24 RGB TFT显示屏原理与驱动实现_哔哩哔哩_bilibili …

活动图高阶讲解-16

77 00:05:39,520 --> 00:05:41,520 另外一个就是循环 78 00:05:41,520 --> 00:05:45,520 如果怎么样 79 00:05:45,520 --> 00:05:47,520 就再做一遍 80 00:05:47,520 --> 00:05:49,520 如果还满足条件就再做一遍 81 00:05:49,520 --> 00:05:51,520 那就是循…

TG-12F使用SDK对接阿里生活物联网平台

文章目录 前言一、注意二、准备1. 安装Ubuntu(版本20.04 X64)程序运行时库。按顺序逐条执行命令:2. 安装Ubuntu(版本20.04 X64)依赖软件包。按照顺序逐条执行命令:3. 安装Python依赖包。按照顺序逐条执行命…

[spring] Spring Boot REST API - CRUD 操作

Spring Boot REST API - CRUD 操作 这里主要提一下 spring boot 创建 rest api,并对其进行 CRUD 操作 jackson & gson 目前浏览器和服务端主流的交互方式是使用 JSON(JavaScript Object Notation),但是 JSON 没有办法直接和 Java 的 POJO 创建对应…

python-numpy(3)-线性代数

一、方程求解 参考资料 对于Ax b 这种方程: np.linalg.inv(A).dot(B)np.linalg.solve(A,b) 1.1 求解多元一次方程一个直观的例子 # AXB # X A^(-1)*B A np.array([[7, 3, 0, 1], [0, 1, 0, -1], [1, 0, 6, -3], [1, 1, -1, -1]]) B np.array([8, 6, -3, 1]…

cannot import name ‘get_host‘ from ‘urllib3.util.url‘

Error in py_module_import(module, convert convert) : ImportError: cannot import name get_host from urllib3.util.url (D:\\url.py) Run reticulate::py_last_error() for details. 这个错误表明在 urllib3 模块的 util.url 子模块中找不到名为 get_host 的函数。这可能…

第十五届蓝桥杯省赛C/C++大学B组真题及赛后总结

目录 个人总结 C/C 组真题 握手问题 小球反弹 好数 R 格式 宝石组合 数字接龙 爬山 拔河 ​编辑 再总结及后续规划 个人总结 第一次参加蓝桥杯,大二,以前都在在学技术,没有系统的学过算法。所以,还是花了挺多时间去备…

Rust - 所有权

所有的程序都必须和计算机内存打交道,如何从内存中申请空间来存放程序的运行内容,如何在不需要的时候释放这些空间,成了重中之重,也是所有编程语言设计的难点之一。在计算机语言不断演变过程中,出现了三种流派&#xf…

基于深度学习的花卉检测系统(含PyQt界面)

基于深度学习的花卉检测系统(含PyQt界面) 前言一、数据集1.1 数据集介绍1.2 数据预处理 二、模型搭建三、训练与测试3.1 模型训练3.2 模型测试 四、PyQt界面实现参考资料 前言 本项目是基于swin_transformer深度学习网络模型的花卉检测系统,…

软考125-上午题-【软件工程】-传统软件的测试策略

一、传统软件的测试策略 有效的软件测试实际上分为4步进行,即:单元测试、集成测试、确认测试、系统测试。 1-1、单元测试(模块测试) 单元测试也称为模块测试,在模块编写完成且无编译错误后就可以进行。 单元测试侧重…

温故知新之-TCP Keepalive机制及长短连接

[学习记录] 前言 TCP连接一旦建立,只要连接双方不主动 close ,连接就会一直保持。但建立连接的双方并不是一直都存在数据交互,所以在实际使用中会存在两种情况:一种是每次使用完,主动close,即短连接&…

JVM虚拟机(五)强引用、软引用、弱引用、虚引用

目录 一、强引用二、软引用三、弱引用四、虚引用五、总结 引文: 在 Java 中一共存在 4 种引用:强、软、弱、虚。它们主要指的是,在进行垃圾回收的时候,对于不同的引用垃圾回收的情况是不一样的。下面我们就一起来看一下这 4 种引用…

51单片机实验03-单片机定时/计数器实验

目录 一、实验目的 二、实验说明 1、51单片机有两个16位内部计数器/定时器(C/T, Counter/Timer)。 2、模式寄存器TMOD 1) M1M0工作模式控制位; 2) C/T定时器或计数器选择位: 3)GATE定时器/计数器运行…

软考系规第2章思维导图,软硬件网络和次新技术大杂烩

虽然目前系统规划与管理师的教程是否改版存在不确定性,但是不影响咱们先概要了解当前的教程,使用思维导图的方式粗读教程。 为了帮助你更好的学习系规教程,降低系规教程阅读门槛,指尖疯特发起了教程伴读活动,通过伴读脑…

关于GDAL计算图像坐标的几个问题

关于GDAL计算图像坐标的几个问题_gdal读取菱形四角点坐标-CSDN博客 这篇文章写的很好,讲清楚了图像行列号与图像点坐标(x,y)对应关系,以及图像行列号如何转为地理坐标的,转载一下做个备份。 1.关于GDAL计算图像坐标的…

部署Kafka集群图文详细步骤

1 集群规划 共三台虚拟机同处overlay网段,每台虚拟机部署一套kafka和zookeeper,kafka_manager安装其中一台虚拟机上即可。 HostnameIP addrPortListenerzk1docker-swarm分配2183:2181zk2docker-swarm分配2184:2181zk3docker-swarm分配2185:2181k1docke…

python-使用bottle时间简易服务器

python-使用bottle时间简易服务器 背景调试读取文本所有内容字段解释json字符串解析追加写入文件 整理后整理后写入文件方法将目录下所有文本的内容批量追加到一个文本搜索字符串方法实现简易服务器通过浏览器访问 背景 202310.txt内容是一段json字符串,目的是通过…

C++进阶技巧:如何在同一对象中存储左值或右值

如何在同一对象中存储左值或右值 一、背景二、跟踪值2.1、存储引用2.2、存储值 三、存储variant四、通用存储类4.1、定义const访问4.2、定义非const访问 五、创建存储六、总结 一、背景 C 代码似乎经常出现一个问题:如果该值可以来自左值或右值,则对象如…

Arrow, 一个六边形的 Python 时间库

文章目录 Arrow, 一个六边形的 Python 时间库第一部分:背景介绍第二部分:库是什么?第三部分:如何安装这个库?第四部分:库函数使用方法第五部分:场景应用第六部分:常见Bug及解决方案第…

代码学习记录42---动态规划

随想录日记part42 t i m e : time: time: 2024.04.14 主要内容:今天开始要学习动态规划的相关知识了,今天的内容主要涉及:最长递增子序列 ;最长连续递增序列 ;最长重复子数组 ;最长公…