淘宝用户行为统计分析-Python

  • 一 分析背景
  • 二 分析目的
  • 三 分析思路
  • 四 数据处理
    • 4.1 数据导入
    • 4.2 数据清洗
    • 4.3 数据转换
  • 五 统计分析
    • 5.1 用户习惯
    • 5.2 销售规律
    • 5.3 漏斗模型
    • 5.4 RFM模型
      • 1 最近一次交易R
      • 2 交易频率F
  • 六 结论及建议
  • 七(个人总结)

一 分析背景

本案例数据来源于https://tianchi.aliyun.com/dataset/dataDetail?dataId=649,是阿里巴巴提供的一个淘宝用户行为数据集,其中包含了2017年11月25日至2017年12月3日之间,约一百万个随机用户的所有用户行为(行为包括点击、购买、加购、收藏),关于数据集中的每一列介绍如下:

列名称 说明
用户ID 整数类型,序列化后的用户ID
商品ID 整数类型,序列化后的商品ID
商品类目ID 整数类型,序列化后的商品所属类目ID
行为类型 字符串,枚举类型,包括(‘pv’, ‘buy’, ‘cart’, ‘fav’)
时间戳 行为发生的时间戳

其中行为类型分四种,如下:

行为类型 说明
pv 商品详情页pv,等价于点击
buy 商品购买
cart 将商品加入购物车
fav 收藏商品

二 分析目的

首先我们需要知道什么是用户行为分析(What),为什么进行用户行为分析(Why),如何进行用户行为分析(How)。
1 What
用户行为分析是指对用户的行为数据进行数据分析、研究,从中发现用户行为的规律。
2 Why
从时间的维度来看,通过对用户行为路径的分析可以帮助企业发现:用户从哪里来?用户做了什么操作?用户从哪里流失的?用户为什么流失?
从空间的维度来看,根据用户的行为特征构建用户画像,进而实现精准营销和提升用户体验,达到提升企业盈利的目的。
3 How
如何对用户行为进行分析?已知分析目的,我们需要开启分析思路,将研究目的分解为研究内容,分析思路可分 3种方法:学会提问、熟悉模型和结构化思维。使用结构化思维能全面的思考一个问题使其符合MECE原则,其中结构化思维包括结构思维、时间思维、演绎思维和重要性思维4条逻辑线索。
在时间线索上,可以应用用户行为五阶段理论,用户行为包括产生需求、信息收集、方案比选、购买决策和购后行为五个阶段,用户行为五阶段理论细致全面的考虑了用户购买和使用产品的全流程,符合MECE的不重不漏原则。其次在结构线索上可用5W2H分析法,时间、地点、人物、事件、原因、方式方法、程度七要素,简称5W2H分析法,5W2H分析法应用很广,套用在用户行为分析上就是回答谁(who),时间(when),地点(where),购买什么东(what),为什么买(why),如何买(how),买了多少、花多少钱、买多少次(how much)。5W2H全面细致考虑用户行为的构成要素,符合MECE原则。仅从时间或结构线索考虑问题不够全面,于是从结构和时间两条逻辑线索出发,使用5W2H分析法和用户行为五阶段理论结合行业特点形成用户行为的分析体系,这样会更加全面。
我认为使用用户行为五阶段理论以及5W2H分析法对用户行为进行分析,更适用于市场营销,对单类产品的用户行为进行分析。本案例数据量巨大,种类繁多,且无法从用户行为的整个周期进行分析,但也可以从信息收集、方案比选、购买决策和购后行为的时间线索对用户行为进行分析。 本案例使用模型法进行分析,使用漏斗转化模型和RFM模型进行分析,通过漏斗转化模型对用户行为的各个环节进行分析,发现其薄弱环节,优化该步骤从而达到提升整体盈利,使用RFM模型对用户进行分类,找出有价值用户从而对用户实行精准营销。

三 分析思路

使用统计学方法对用户习惯以及销售规律进行描述统计分析;使用转化漏斗模型对用户行为步骤进行分析,找到其薄弱环节并给出相关建议;使用RFM模型对用户进行分类,找到有价值用户实施进准营销,其具体分析思路如下:

四 数据处理

数据处理具体可细化为4项任务:数据集成、数据清洗、数据转换和数据消减 。

  • 数据集成是将来自多个数据源的数据合并到一起;
  • 数据清洗要完成四项任务:数据筛选、数据查重、数据补缺以及数据纠错;
  • 数据转换是对数据进行标准化处理;
  • 数据消减是通过因子分析,将数据聚合和降维,以缩小数据的规模。

本案例数据集大小约为3.41G,对于大量数据使用Python进行数据分析是比较方便快速的。本案例不需要对数据进行集成,从数据清洗开始。

4.1 数据导入

由于数据量巨大,使用分块进行导入,其代码如下:

import pandas as pd
import time
reader=pd.read_csv('F:\\Dataanalysis\\UserBehavior\\userbehavior.csv',iterator=True) #返回TextParser对象,可迭代
chunksize=100000
loop=True
chunks=[]
while loop:try:chunk=reader.get_chunk(chunksize)chunks.append(chunk)except:loop=Falseprint('Iterator is over!')
#轴向连接
df=pd.concat(chunks,ignore_index=True) #忽略原索引

4.2 数据清洗

先对列进行命名,分别为user_id、item_id、category_id、behavior、timestamp,然后进行去重,本案例以user_id、item_id和timestamp为主键进行去重,其代码如下:

#对列进行命名
columns=['user_id','item_id','category_id','behavior','timestamp']
df.columns=columns
#以这三列为主键进行去重
df1=df.drop_duplicates(['user_id','item_id','timestamp'])

数据集包含的是用户2017年11月25日至2017年12月3日之间的数据,需要对数据集中的时间进行检查纠错,其中定义了get_unixtime()函数,目的是将字符串类型时间转化为Timestamp类型,获得Timestamp类型的时间有两个办法 ① time.time( )方法获得 ② 将time.struct_time类型转化为Timestamp类型,本例使用第二种方法,先将Time string类型转化为time.struct_time类型再转化为Timestamp,其代码如下:

#定义获得时间戳的函数
def get_unixtime(timestr):formatstr='%Y-%m-%d %H:%M:%S'tmobj=time.strptime(timestr,formatstr)tmstamp=time.mktime(tmobj)return int(tmstamp)
#获取时间集的时间范围
starttime=get_unixtime('2017-11-25 00:00:00')
endtime=get_unixtime('2017-12-03 23:59:59')
#筛选时间在合理范围内的数据
df_out=df1[(df['timestamp']>=starttime) & (df['timestamp']<=endtime)]

对处理后的数据进行查看,其代码如下:

print(df.shape)
print(df1.shape)
print(df_out.shape)

输出结果如下:
(100150806, 5)
(100150753, 5)
(100095177, 5)
可知数据集中有53条记录重复,55636条记录的时间不在合理范围内。

由于数据集过于庞大,其中有一亿多条数据,在这里我们选用500万条数据进行分析,使用DataFrame.sample()方法随机抽样,其参数 frac为抽取的比例,random_state随机数种子,为None时表示每次取数其随机数种子都不一样,数据也不一样,当为具体数值时,即随机数种子一样,每次可取得重复数据。并对其缺失值进行检查,其代码如下:

#随机抽取500万条数据
tb=df_out.sample(frac=0.05,random_state=None)
tb.reset_index(drop=True,inplace=True)
tb.isnull().sum()

输出结果如下:
user_id 0
item_id 0
category_id 0
behavior 0
timestamp 0
可知筛选出来的数据集没有缺失值。

4.3 数据转换

将数据中Timestamp类型的时间转化为我们所熟知的datetime类型,新增datetime、date和time列,其代码如下:

from datetime import datetime
tb['datetime']=tb['timestamp'].apply(lambda x: datetime.fromtimestamp(x))
tb['date']=tb['datetime'].dt.date
tb['time']=tb['datetime'].dt.time
tb['hour']=tb['datetime'].dt.hour

处理后的数据格式如下所示:

user_id item_id category_id behavior timestamp datetime date time hour
974855 4790420 982926 pv 1512101950 2017-12-01 12:19:10 2017-12-01 12:19:10 12

将原数据导出保存,其代码如下:

tb.to_csv('F:\\Dataanalysis\\UserBehavior\\userbehavior1.csv')

五 统计分析

5.1 用户习惯

1 pv、uv以及平均访问量
求出2017-11-25至2017-12-3七天的淘宝页面的访问量pv,七天内的访客数uv以及七天的人均访问量,其代码如下:

pv=tb[tb.behavior=='pv']['user_id'].count()
uv=len(tb[tb.behavior=='pv']['user_id'].unique())
avg=pv/uv
print('pv={}'.format(pv))
print('uv={}'.format(uv))
print('平均访问量={:.3}'.format(avg))

可以得出pv=4484331、uv=864404、每位用户七天内的平均访问量=5.19
2 跳失率
跳失率为只有点击行为的用户占总点击用户的比例,跳失率反映了商品页面对用户的吸引力,跳失率很高表明商品页面对用户吸引力很低,这不利于商品的转化率,跳失率的计算代码如下:

uv_sum=len(tb[tb.behavior=='pv']['user_id'].unique())
t=(uv_sum-len(tb[tb.behavior!='pv']['user_id'].unique()))/uv_sum
print('跳失率为{:.2f}%'.format(t*100))

得出跳失率t=60.7%,需结合行业数据和以往分析判断跳失率是否处于正常范围,如果偏高则需要对商品界面进行优化,以提升客户吸引力。
3 日访问量及访问人数
日访问量反映了网站的运营情况,其通常会结合MAU(月访问量)一起使用,这两个指标一般用来衡量服务的用户粘性以及服务的衰退周期,可以对营销和推广提供数据上的支持。本案例对日访问量进行计算,其代码及结果如下:

import seaborn as sns
import matplotlib.pyplot as plt
sns.set()
pv_day=tb[tb.behavior=='pv'].groupby('date')['user_id'].count().reset_index().rename(columns={'user_id':'pv_daily'})
uv_day=tb[tb.behavior=='pv'].drop_duplicates(['user_id','date']).groupby('date')[['user_id']].count().reset_index().rename(columns={'user_id':'uv_daily'})
fig,axes=plt.subplots(1,1,figsize=(10,6))
ax=sns.lineplot(x='date',y='pv_daily',data=pv_day,label='pv_daily')
ax=sns.lineplot(x='date',y='uv_daily',data=uv_day,label='uv_daily')
ax.set_ylabel('counts')


由图可知2017年12月2号3号相对比于上个周末日访问量以及访问人数有着明显的增长,推测为临近双12商家进行促销推广等活动,在周一至周五日pv波动平缓相对周末人数较少,这与大部分人工作休息时间相符。
4 时段访问量
对一天中的各个时段的pv,uv进行分析,可得出最佳推广营销等的时间段,其代码及结果如下:

pv_hour= tb[tb.behavior=='pv'].groupby('hour')['user_id'].count().reset_index().rename(columns={'user_id':'pv_hour'})
uv_hour=tb[tb.behavior=='pv'].drop_duplicates(['user_id','hour']).groupby('hour')['user_id'].count().reset_index().rename(columns={'user_id':'uv_hour'})
fig,axes=plt.subplots(1,1,figsize=(10,6))
plt.xticks(range(24))
ax=sns.lineplot(x='hour',y='pv_hour',data=pv_hour,label='pv_hour')
ax=sns.lineplot(x='hour',y='uv_hour',data=uv_hour,label='uv_hour')
ax.set_ylabel('counts')


由图可知从0点到8点访客及点击量较少,4点访问人数到达最低点,此阶段为睡眠时间,符合作息规律;在10点到16点访客数量较为平稳;在18点到21点访客数量快速增加,在21点到达最大值,这个时间段为晚饭过后睡眠之前的放松时间,人们有更多时间精力购物,平台可以抓住21点左右的黄金时段进行营销、推广以达到最佳效果。

5.2 销售规律

1 成交量
由于数据不考虑是否付款以及后续行为,暂时认为一次buy行为即为一次成交,每天成交量代码以及结果如下:

vol=tb[tb.behavior=='buy'].groupby('date')[['user_id']].count().rename(columns={'user_id':'volume'}).reset_index()
plt.figure(figsize=(10,5))
sns.set(style='whitegrid')
ax=sns.barplot(x='date',y='volume',data=vol)


由图可知,11月最后一个周末成交量低于最后一周成交量,在12月2号3号成交量显著提高,推测为越靠近近双十二,商品推销打折活动的力度及其数量增加,提高了成交量。
2 复购率
复购率,就是顾客购买一次产品之后,觉得产品不错,又产生第2次甚至第N次的购买的比例,顾客购买的次数越多,直接反应了对产品的忠诚度。如今线上获客成本越来越高,想要提高线上用户新量变得越来越难,而已有用户对于我们来说是相当重要的,这个时候提升已有用户的复购率就变成非常重要!
复购率有多种计算方式,主要按客户进行计算,指在单位时间段内,再次购买人数/总购买人数,计算出来的比例,则为重复购买率,对于再次购买的定义有以下两种:
a.按天非去重,即一个客户一天产生多笔付款交易,则算重复购买;
b.按天去重,即一个客户一天产生多笔交易付款,则算一次购买,除非在统计周期内另外一天也有购买;
按天非去重,是b2c网站统计数据常用计算方法,相对计算出来的重复购买率要高于第二种,本案例使用按天非去重进行计算,其代码如下:

user_buy_data=tb[tb.behavior=='buy'].groupby('user_id')['date'].count()
user_buy=user_buy_data.count()
user_rebuy=user_buy_data[user_rebuy_data>1].count()
print('复购率为:{:.2f}%'.format(user_rebuy/user_buy*100))
复购率为:9.73%

可以得出用户9天的复购率为9.73%,淘宝用户数量巨大,在淘宝下沉扩展获取新用户的同时,提高复购率应是更重要的事情,淘宝可从产品质量、用户体验以及服务等多方面进行改善,提高用户复购率。

5.3 漏斗模型

用户的收藏和加购物车并没有明显的先后顺序,故将其合并进行漏斗分析,其代码以及结果如下:

from pyecharts import options as opts
from pyecharts.charts import Funnel
df=tb.groupby('behavior')['user_id'].count().sort_values(ascending=False)
attr=['pv','cart & fav','buy']
values=list(np.around([df.pv/df.pv*100,(df.cart+df.fav)/df.pv*100,df.buy/df.pv*100],2))
c = (Funnel(init_opts=opts.InitOpts(page_title='用户行为转化漏斗')).add("",list(zip(attr,values)),sort_="descending",gap=1,label_opts=opts.LabelOpts(position="inside",is_show=True,formatter="{b}: {c}%"),     #标签配置选项).set_global_opts(title_opts=opts.TitleOpts(title="用户行为转化漏斗",pos_left='center',pos_top='25'),toolbox_opts=opts.ToolboxOpts(orient='vertical',pos_right='2%'))
)
c.render("funnel.html")


由图可知,一个用户平均点击浏览的100件商品中加入购物车和收藏的有9.37件,最后购买的有2.24件,从点击到收藏加购的转化率最低,用户大量流失,存在较大增长空间。

5.4 RFM模型

RFM模型是衡量客户价值和客户创利能力的重要工具。该模型通过客户的 最近交易行为Recency)、交易频率(Frequency)以及交易金额(Monetary)三项指标来描述该客户的价值状况。一般来说,会将这三项指标分成几个区间进行评分,通过计算评分找到有价值的用户,并对用户进行分类。
最近一次消费(Recency):是指最近一次消费距离上一次消费之间的时间长短。它反映了客户对产品的态度以及对品牌价值的信任度,它关乎消费者的存留状况;
消费频率(Frequency):是指某个特定时间内消费的次数。它直接反映了客户的忠诚度,消费频率越高,忠诚度就越高,忠诚度越高的客户数量越多,公司的竞争优势越强,市场份额越大;
消费金额(Monetary):是指一定时间内消费某产品金额。它反映的是客户的价值,价值越高,给公司创造的利益就更大。
基于以上三个维度,将每个维度分为高低(1代表高,0代表低)两种情况,可将用户分为8种

R F M 客户类型
1 1 1 重要价值客户
0 1 1 重要保持客户
1 0 1 重要发展客户
0 0 1 重要挽留客户
1 1 0 一般价值客户
0 1 0 一般保持客户
1 0 0 一般发展客户
0 0 0 一般挽留客户

本案例没有金额相关的信息,所以只通过R和F来对客户进行分类。

1 最近一次交易R

以12月3号为参照日期,即距离12月3号的天数为最近一次消费。

tb['datediff']=pd.to_datetime('2017-12-3')-pd.to_datetime(tb1['date'])
user_lastcostday=tb[tb.behavior=='buy'].groupby('user_id')['datediff'].min()
print(user_lastcostday.describe())
print(user_lastcostday.value_counts())


可知最近一次消费的天数其平均值和中位数大致相等,本案例以中位数判断最近一次消费的评分,即天数小于等于4天的评分为高,大于4天的为低,值为1代表R的评分为高,代码如下:

from datetime import timedelta
user_lastcostday=user_lastcostday.to_frame().rename(columns={'datediff':'recency'})
user_lastcostday['R']=np.where(user_lastcostday<=timedelta(1),1,0)

2 交易频率F

2017年11月25日至2017年12月3日之间每位用户的消费频率描述性统计如下:

user_costfre=tb[tb.behavior=='buy'].groupby('user_id')['item_id'].count()
print(user_costfre.describe())
print(user_costfre.value_counts())


同理最近一次消费,用消费频率的中位数判断消费频率高低,即消费频率大于1次的评分为高,反之为低

user_costfre=user_costfre.to_frame().rename(columns={'item_id':'frequency'})
user_costfre['F']=np.where(user_costfre>1,1,0)

将表user_lastcostday与表user_costfre连接起来,并根据R、F值对用户分类,其代码如下:

user_rf=pd.merge(user_lastcostday,user_costfre,left_index=True,right_index=True)
def user_classify(x,y):if x==1 and y==1:return '价值客户'elif x==0 and y==1:            return '保持客户'elif x==1 and y==0:return '发展客户'elif x==0 and y==0:return '挽留客户'else:return np.nan()
user_rf['user_type']=user_rf.apply(lambda x : user_classify(x.R,x.F),axis=1)

使用饼图对用户类型进行统计,代码及饼图如下:

plt.rcParams['font.family']=['SimHei']
users_counts=user_rf['user_type'].value_counts().reset_index().rename(columns={'index':'user_type','user_type':'count'})
plt.figure(figsize=(10,5))
plt.pie(users_counts['count'],labels=users_counts['user_type'] +users_counts['count'].map(str) ,shadow=True,autopct='%2.2f%%')
plt.show
plt.savefig('F:\\picture\\user_type.jpg')


由图可知有52.6%的人为发展用户,其次有37.67%为需要挽留的用户,价值客户占比为7.51%,占比最少的为保持用户,其占比2.22%;
对于价值用户,其最近消费时间近,消费频率高,是最优质用户应重点关注并保持;
对于保持用户,其最近消费时间较远,但消费频次很高,说明这是个一段时间没来的忠诚客户,我们需要主动和他保持联系,防止其流失;
对于发展用户,其最近消费时间较近,但频次不高,忠诚度不高,是有潜力的用户,必须重点发展,可通过活动提高其购买频率;
对于挽留用户,最近消费时间较远、消费频次不高,可能是将要流失或者已经要流失的用户,应当给予挽留措施,如赠送优惠券或推送活动信息,唤醒其购买意愿。

六 结论及建议

1 用户习惯
1.1 2017-11-25至2017-12-3这九天内网页的人均访问量为5.19次;
1.2 跳失率即只有点击页面行为的人数占总访问人数的60.7%,商家应改善产品质量,做好售后服务吸引用户进行下一个行为,提高转化率;
1.3 从日访问量曲线可得出,访问人数在12月2号及3号人数显著上升,表明推出的活动具有显著的额效果,吸引大量用户上线,在周一至周五为上班日访问的活跃用户相比周末要少;
1.4 从时段访问量曲线可看出,在晚上21点及22点左右平台活跃人数为一天中最高,商家可在这个时间段进行推广营销以达到最佳效果;
2 销售规律
2.1 从日成交量柱形图看得出,越临近12月3号成交量波动缓慢增加,12月2号3号为九天中成交量最多;
2.2 平台九天的复购率为9.73%,表明总用户中忠诚用户占比不高,淘宝应从产品质量、用户体验等多方面进行改善,提高用户复购率;
3 漏斗模型
3.1 从漏斗模型中可以得出,最后有购买行为的用户仅占总点击用户的2.24%,总转化率不高,用户大量流失,存在较大增长空间,平台应对用户流失进分析,从而找出主要原因并进行改善;
4 RFM模型
4.1 通过RFM模型对用户进行分类并得出各类用户的数量及占比,其中90.27%的用户为发展及挽留客户,其消费频次均比较低,平台的主要资源用于提高消费频次,如对其提供优惠券、推送折扣信息等触达用户,并刺激用户消费,提提高其消费频次;同时对于7.51%的价值客户,其忠诚度高,可提供一些增值服务如设计VIP服务、专享服务、绿色通道等,保持并维护这部分用户;而针对2.22%的用户,其消费频次高,但新近度低,这类客户主要着手点为提升购买新近度,可通过微信,推送等直接建立用户挽回通道

七(个人总结)

1.本文主要为借鉴各位前辈所写的文章而写的;
2.写本文的目的一是想亲自写去模仿各位前辈的思路方法完整的写下来,从而培养形成自己的思路,二是提高自己对代码的编写运用能力,三是记录监督自己的学习,四是编写过程中加入一点点自己的思考使我对这些知识点能有更加深刻的了解和掌握;
3.由于本人刚接触数据分析,第一次写分析,本文存在很多缺陷不足,如有错误之处还请各位多多指正。

淘宝用户行为统计分析-python相关推荐

  1. python 淘宝用户行为数据集 分析与数据源

    利用Python对淘宝用户行为进行分析 源数据来源于: https://tianchi.aliyun.com/dataset/dataDetail?dataId=649&userId=1 可以 ...

  2. 天池-淘宝用户行为数据分析(python+Tableau)

    天池-淘宝用户行为数据分析(python+Tableau) 一.背景 ​ 用户行为分析可以让产品更加详细.清楚地了解用户的行为习惯,从而找出网站.app.推广渠道等产品存在的问题,有助于产品发掘高转化 ...

  3. 使用Python对淘宝用户行为进行数据分析

    淘宝用户数据分析 1 分析背景与意义 2 分析思路 3 分析内容 3.1 提出问题 3.2 理解数据 3.3 数据清洗 3.3.1 数据导入 3.3.2 缺失值分析 3.3.3 选取时间范围 3.3. ...

  4. 利用Python对淘宝用户行为进行分析

    1. 项目背景 该项目的数据集来源于天池,是由阿里巴巴提供的一个淘宝用户行为数据集,其中包含了2017年11月25日至2017年12月3日之间,一百万个随机用户的所有用户行为(行为包括点击.购买.加购 ...

  5. Python项目实战 —— 04. 淘宝用户行为分析

    Python项目实战 Python项目实战--目录 Python项目实战 -- 04. 淘宝用户行为分析 一.背景 二.解题思路 三.数据分析 3.1 数据清洗 3.2 数据分析 3.2.1 用户整体 ...

  6. 是不是感觉被淘宝监控了!看啥立马就推送过来!用Python对淘宝用户行为进行分析!

    一.认识数据 1.1 数据来源及介绍 本数据来源于阿里云天池,是其随机选择约100万用户在2017年11月25日至12月3日之间发生的行为记录,具有包括点击.购买.加购物车和收藏商品的行为. 数据集的 ...

  7. 用Python分析淘宝用户行为

    数据来源: 阿里云 天池数据集https://tianchi.aliyun.com/dataset/dataDetail?dataId=46 阿里巴巴提供的移动端淘宝用户的行为数据集,包含2014-1 ...

  8. python开发跟淘宝有关联微_python分析淘宝用户行为

    今天来分享淘宝用户行为分析的过程,具体可见下图 首先呢,我们需要配置环境,可在https://www.python.org/downloads/​www.python.orghttps://www.j ...

  9. python开发跟淘宝有关联微_使用Python分析淘宝用户行为

    一.项目背景 本数据分析报告以手机淘宝app订单数据作为数据集,通过行业常见指标对淘宝用户行为数据进行分析,并给出优化建议.本数据集包含了2014年11月18日至2014年12月18日之间,约八十万随 ...

最新文章

  1. BugkuCTF解题报告---WEB
  2. 513. Find Bottom Left Tree Value
  3. rxjava 循环发送事件_使用RxJava和SseEmitter进行服务器发送的事件
  4. C++ i/o类库中 常用流类
  5. 【转】功能测试的经验总结
  6. 计算机三四级网络技术,全国计算机等级考试四级网络技术论述题真题3
  7. java基础第九天_多线程、自动拆装箱
  8. rfc 查看工具_用于系统管理员的杀手级工具,Skype替代品,提高Linux技能,6个必读的RFC等
  9. php和apache2的配置
  10. dev多行注释_Shell 实现多行注释的几种常用方法
  11. Qt第六课 QDateTime使用
  12. python做软件二次开发好吗_利用Python二次开发Creo
  13. distpicker动态赋值问题
  14. Netapp存储模拟器一战成功
  15. 小学英语与计算机技术整合,信息技术与小学英语课程整合初探
  16. java 控制系统音量_用JNI实现调节win7系统音量
  17. 新手学编程?选python吧!
  18. L TEXT和 _T的区别
  19. 2023年京东炸年兽脚本《京东炸年兽活动脚本》
  20. Ultraiso制作Centos7 优盘Udisk 启动镜像

热门文章

  1. android执行lua脚本的方法,android执行lua脚本的方法
  2. 虚幻引擎 4 14 版发布
  3. 幼儿园教师计算机运用论文,幼儿园信息化论文范文
  4. Introduction to Fabric.js. Part 3(介绍Fabric.js第三部分)
  5. 实现图片从远到近css,如何利用景深效果,使图片近大远小,我的demo怎么是近小远大,代码如下:...
  6. 结构图的分类--产品功能结构图、产品信息结构图、产品结构图
  7. 解决Ueditor编辑器图片保存路径问题
  8. 张凯复旦大学计算机学院,徐丰 - 师资队伍 - 复旦大学信息科学与工程学院
  9. 一文了解常用效率记笔记软件
  10. 从零开始之驱动发开、linux驱动(十六、poll机制)