python很强大一个很重要的特点就是有很海量的第三方库和包可以直接拿来使用,省去了很多不必要的工作,之前一直都是各种导包,“import ***”,一直没有时间去自己鼓捣一个库,尝试一下写库的乐趣,今天难得有一点时间,索性直接来实践一下吧,从零到一简单实现发布自己的第一个库——blogdownloader,地址在这里,截图如下:

项目非常的简单,主要做的就是一个CSDN博文的下载器,输入博客ID就可以批量来下载博客的数据了,项目的功能模块目录结构如下所示:

├── ./blog
│   ├── ./blog/downloader.py
│   ├── ./blog/__init__.py

在整理得到上述的功能模块目录后就可以准备发布了,整体文件结构如下所示:

blogdownloaders
├── LICENSE
├── README.rst
├── requirements.txt
├── setup.py
├──blog
│   ├──__init__.py
│   └──downloader.pyLICENSE文件是授权文件,比如:MIT license, APACHE license
README.rst 文件想必大家都不陌生,其实就是项目介绍和使用说明
setup文件才是重点,是python模块安装所需要的文件,它的格式如下:#!/usr/bin/env python
"""
Author: yishuihanchengCopyright (c) 2011, Code for America. All rights reserved.Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer. Redistributions in binary form
must reproduce the above copyright notice, this list of conditions and the
following disclaimer in the documentation and/or other materials provided with
the distribution. Neither the name of Code for America nor the names of its
contributors may be used to endorse or promote products derived from this
software without specific prior written permission. THIS SOFTWARE IS PROVIDED
BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
"""try:from setuptools import setup
except ImportError:from distutils.core import setuplong_description="BlogDownloader"setup(name="blogdownloader",version="1.0",description="Python wrapper for the BlogDownloader",long_description=long_description,keywords="blog,downloader,BlogDownloader",author="yishuihancheng",author_email="yishuihancheng@qq.com",url="https://github.com/yishuihanhan/blog-downloader",license="BSD",packages=["blog"],classifiers=['Development Status :: 5 - Production/Stable','Intended Audience :: Developers','Natural Language :: English','Operating System :: OS Independent','Programming Language :: Python :: 2','Topic :: Internet','Topic :: Internet :: WWW/HTTP',])

其中的一些参数信息说明如下:

NAME 名字,一般放你包的名字即可
PACKAGES 包含的包,可以多个,这是一个列表
DESCRIPTION 关于这个包的描述
LONG_DESCRIPTION 参见read方法说明
KEYWORDS 关于当前包的一些关键字,方便PyPI进行分类。
AUTHOR 谁是这个包的作者,写谁的名字吧
AUTHOR_EMAIL 作者的邮件地址
URL 你这个包的项目地址,如果有,给一个吧,没有你直接填写在PyPI你这个包的地址也是可以的
VERSION 当前包的版本,这个按你自己需要的版本控制方式来
LICENSE 授权方式
INSTALL_REQUIRES 模块所依赖的python模块
文中的classifiers的内容并不是随便填写的,需要参照PyPI Classifiers来写

之后我们就可以开始准备打包了,打包之前为了保证正确性也可以自己去验证一下我们编写的安装脚本也就是setup.py是否是正确的,可以执行下面的一条命令:

python setup.py check

如果输出信息是error说明我们编写的安装脚本是包含错误信息的,如果是warning的信息的话建议对应位置修改一下,不修改也可以的,我这里就是没有修改的。当然如果没有任何显示信息那么表明我们编写的安装脚本是非常被Distutils所认可的,然后我们就可以开始打包之路了。

执行下面的打包命令:

python setup.py sdist

执行完成后,会在当前目录下生成dist目录和egg目录,截图如下所示:

目录结构示意图如下所示:

blogdownloaders
├── dist
│   └──dist/blogdownloader-1.0.tar.gz
├── LICENSE
├── README.rst
├── setup.py
├── blog
│   ├── blog/__init__.py
│   └── blog/downloader.py
├── blogdownloader.egg-info
│   ├── blogdownloader.egg-info/dependency_links.txt
│   ├── blogdownloader.egg-info/PKG-INFO
│   ├── blogdownloader.egg-info/requires.txt
│   ├── blogdownloader.egg-info/SOURCES.txt
│   └── blogdownloader.egg-info/top_level.txt

到此就可以结束我们的打包之旅了,如果我们想在本地进行安装的话可以在当前目录下执行下面的命令:

pip install .

这样就完成了包的安装。

接下来我们来实践一下在pypi网站将我们的包发布出去,首先我们打开 https://pypi.org/project/ ,这里是包发布可以查询的地方,我们先要查询一下自己包的名字在pypi社区里面是否已经存在了,存在的话我们就不能使用这个名字了,不存在的话我们可以直接发布的,网站截图如下所示:
   

当然,这里只是第一步,第二步是注册,这也是很重要的一步,跟Github类似,上传和维护项目的话是必须要进行开发者身份认证的,这里需要在https://pypi.org/这里完成注册,如下所示:

注册完成后需要进行邮箱邮件的验证,验证通过之后就可以进行上传发布了。

我们在运行命令上传的时候一直报错如下所示:

首先,我们保证密码是肯定正确的,错误也找了很多解决办法,很多博客都是说需要配置一个配置文件,如下:

但是亲测在我本机是不可行的,后来又找到了一种方式就是安装twine,然后执行下述命令:

twine upload dist/*

这次上传成功了,如下所示:

之后,我们打开pypi的项目查询框进行查询就可以查到我们发布的包了,就是本文刚开篇的时候的截图。我让别人尝试安装了这个模块是可以正常执行的,这里我在本机简单进行一下使用,如下所示:

#!usr/bin/env python
#encoding:utf-8'''
__Author__:沂水寒城
功能: blogdownloader 模块使用
'''from blog import downloaderdef downloaderBlogsDemo(blog_name='Together_CZ',num=10,saveDir='blogPapers/'):'''CSDN 博客文章下载Demoblog_name:CSDN博主的博客IDnum:下载多少页文章 >=2saveDir:下载的html数据保存路径'''downloader.blogSpiders(blog_name=blog_name,num=num,saveDir=saveDir)if __name__=='__main__':downloaderBlogsDemo(blog_name='Together_CZ',num=2,saveDir='blogPapers/')

详细的说明都已经放在代码里面了就不多解释了,下面是结果输出信息:

url:  https://blog.csdn.net/Together_CZ/article/details/88538787
url:  https://blog.csdn.net/Together_CZ/article/details/88530709
url:  https://blog.csdn.net/Together_CZ/article/details/88420732
url:  https://blog.csdn.net/Together_CZ/article/details/88417488
url:  https://blog.csdn.net/Together_CZ/article/details/88408961
url:  https://blog.csdn.net/Together_CZ/article/details/88395718
url:  https://blog.csdn.net/Together_CZ/article/details/88243212
url:  https://blog.csdn.net/Together_CZ/article/details/88119461
url:  https://blog.csdn.net/Together_CZ/article/details/88088315
url:  https://blog.csdn.net/Together_CZ/article/details/88028439
url:  https://blog.csdn.net/Together_CZ/article/details/87982065
url:  https://blog.csdn.net/Together_CZ/article/details/87808392
url:  https://blog.csdn.net/Together_CZ/article/details/87619122
url:  https://blog.csdn.net/Together_CZ/article/details/86735782
url:  https://blog.csdn.net/Together_CZ/article/details/86690021
url:  https://blog.csdn.net/Together_CZ/article/details/86689272
url:  https://blog.csdn.net/Together_CZ/article/details/86678423
url:  https://blog.csdn.net/Together_CZ/article/details/86678213
url:  https://blog.csdn.net/Together_CZ/article/details/86640784
url:  https://blog.csdn.net/Together_CZ/article/details/86629056
-0.00%
-819200.00%
-1638400.00%
-2457600.00%
-3276800.00%
-4096000.00%
-4915200.00%
-5734400.00%
-6553600.00%
-7372800.00%
-8192000.00%
-9011200.00%
-9830400.00%
-10649600.00%
-11468800.00%
-12288000.00%
-13107200.00%
-13926400.00%
-14745600.00%
-15564800.00%
-16384000.00%
-17203200.00%
-18022400.00%
-18841600.00%
-19660800.00%
-20480000.00%
-21299200.00%
-22118400.00%
-0.00%
-819200.00%
-1638400.00%
-2457600.00%
-3276800.00%
-4096000.00%
-4915200.00%
-5734400.00%
-6553600.00%
-7372800.00%
-8192000.00%
-9011200.00%
-9830400.00%
-10649600.00%
-11468800.00%
-12288000.00%
-13107200.00%
-13926400.00%
-14745600.00%
-15564800.00%
-16384000.00%
-17203200.00%
-18022400.00%
-18841600.00%
-19660800.00%
-20480000.00%
-21299200.00%
-22118400.00%
-22937600.00%
-0.00%
-819200.00%
-1638400.00%
-2457600.00%
-3276800.00%
-4096000.00%
-4915200.00%
-5734400.00%
-6553600.00%
-7372800.00%
-8192000.00%
-9011200.00%
-9830400.00%
-10649600.00%
-11468800.00%
-12288000.00%
-13107200.00%
-13926400.00%
-14745600.00%
-15564800.00%
-16384000.00%
-17203200.00%
-18022400.00%
-18841600.00%
-19660800.00%
-20480000.00%
-21299200.00%
-22118400.00%
-22937600.00%
-0.00%
-819200.00%
-1638400.00%
-2457600.00%
-3276800.00%
-4096000.00%
-4915200.00%
-5734400.00%
-6553600.00%
-7372800.00%
-8192000.00%
-9011200.00%
-9830400.00%
-10649600.00%
-11468800.00%
-12288000.00%
-13107200.00%
-13926400.00%
-14745600.00%
-15564800.00%
-16384000.00%
-17203200.00%
-18022400.00%
-18841600.00%
-19660800.00%
-20480000.00%
-21299200.00%
-0.00%
-819200.00%
-1638400.00%
-2457600.00%
-3276800.00%
-4096000.00%
-4915200.00%
-5734400.00%
-6553600.00%
-7372800.00%
-8192000.00%
-9011200.00%
-9830400.00%
-10649600.00%
-11468800.00%
-12288000.00%
-13107200.00%
-13926400.00%
-14745600.00%
-15564800.00%
-16384000.00%
-17203200.00%
-18022400.00%
-18841600.00%
-19660800.00%
-20480000.00%
-21299200.00%
-22118400.00%
-0.00%
-819200.00%
-1638400.00%
-2457600.00%
-3276800.00%
-4096000.00%
-4915200.00%
-5734400.00%
-6553600.00%
-7372800.00%
-8192000.00%
-9011200.00%
-9830400.00%
-10649600.00%
-11468800.00%
-12288000.00%
-13107200.00%
-13926400.00%
-14745600.00%
-15564800.00%
-16384000.00%
-17203200.00%
-18022400.00%
-18841600.00%
-19660800.00%
-20480000.00%
-21299200.00%
-22118400.00%
-22937600.00%
-0.00%
-819200.00%
-1638400.00%
-2457600.00%
-3276800.00%
-4096000.00%
-4915200.00%
-5734400.00%
-6553600.00%
-7372800.00%
-8192000.00%
-9011200.00%
-9830400.00%
-10649600.00%
-11468800.00%
-12288000.00%
-13107200.00%
-13926400.00%
-14745600.00%
-15564800.00%
-16384000.00%
-17203200.00%
-18022400.00%
-18841600.00%
-19660800.00%
-20480000.00%
-21299200.00%
-22118400.00%
-22937600.00%
-0.00%
-819200.00%
-1638400.00%
-2457600.00%
-3276800.00%
-4096000.00%
-4915200.00%
-5734400.00%
-6553600.00%
-7372800.00%
-8192000.00%
-9011200.00%
-9830400.00%
-10649600.00%
-11468800.00%
-12288000.00%
-13107200.00%
-13926400.00%
-14745600.00%
-15564800.00%
-16384000.00%
-17203200.00%
-18022400.00%
-18841600.00%
-19660800.00%
-20480000.00%
-21299200.00%
-22118400.00%
-0.00%
-819200.00%
-1638400.00%
-2457600.00%
-3276800.00%
-4096000.00%
-4915200.00%
-5734400.00%
-6553600.00%
-7372800.00%
-8192000.00%
-9011200.00%
-9830400.00%
-10649600.00%
-11468800.00%
-12288000.00%
-13107200.00%
-13926400.00%
-14745600.00%
-15564800.00%
-16384000.00%
-17203200.00%
-18022400.00%
-18841600.00%
-19660800.00%
-20480000.00%
-21299200.00%
-22118400.00%
-0.00%
-819200.00%
-1638400.00%
-2457600.00%
-3276800.00%
-4096000.00%
-4915200.00%
-5734400.00%
-6553600.00%
-7372800.00%
-8192000.00%
-9011200.00%
-9830400.00%
-10649600.00%
-11468800.00%
-12288000.00%
-13107200.00%
-13926400.00%
-14745600.00%
-15564800.00%
-16384000.00%
-17203200.00%
-18022400.00%
-18841600.00%
-19660800.00%
-20480000.00%
-21299200.00%
-22118400.00%
-0.00%
-819200.00%
-1638400.00%
-2457600.00%
-3276800.00%
-4096000.00%
-4915200.00%
-5734400.00%
-6553600.00%
-7372800.00%
-8192000.00%
-9011200.00%
-9830400.00%
-10649600.00%
-11468800.00%
-12288000.00%
-13107200.00%
-13926400.00%
-14745600.00%
-15564800.00%
-16384000.00%
-17203200.00%
-18022400.00%
-18841600.00%
-19660800.00%
-20480000.00%
-21299200.00%
-22118400.00%
-0.00%
-819200.00%
-1638400.00%
-2457600.00%
-3276800.00%
-4096000.00%
-4915200.00%
-5734400.00%
-6553600.00%
-7372800.00%
-8192000.00%
-9011200.00%
-9830400.00%
-10649600.00%
-11468800.00%
-12288000.00%
-13107200.00%
-13926400.00%
-14745600.00%
-15564800.00%
-16384000.00%
-17203200.00%
-18022400.00%
-18841600.00%
-19660800.00%
-20480000.00%
-21299200.00%
-22118400.00%
-22937600.00%
-0.00%
-819200.00%
-1638400.00%
-2457600.00%
-3276800.00%
-4096000.00%
-4915200.00%
-5734400.00%
-6553600.00%
-7372800.00%
-8192000.00%
-9011200.00%
-9830400.00%
-10649600.00%
-11468800.00%
-12288000.00%
-13107200.00%
-13926400.00%
-14745600.00%
-15564800.00%
-16384000.00%
-17203200.00%
-18022400.00%
-18841600.00%
-19660800.00%
-20480000.00%
-21299200.00%
-22118400.00%
-22937600.00%
-23756800.00%
-0.00%
-819200.00%
-1638400.00%
-2457600.00%
-3276800.00%
-4096000.00%
-4915200.00%
-5734400.00%
-6553600.00%
-7372800.00%
-8192000.00%
-9011200.00%
-9830400.00%
-10649600.00%
-11468800.00%
-12288000.00%
-13107200.00%
-13926400.00%
-14745600.00%
-15564800.00%
-16384000.00%
-17203200.00%
-18022400.00%
-18841600.00%
-19660800.00%
-20480000.00%
-21299200.00%
-22118400.00%
-22937600.00%
-0.00%
-819200.00%
-1638400.00%
-2457600.00%
-3276800.00%
-4096000.00%
-4915200.00%
-5734400.00%
-6553600.00%
-7372800.00%
-8192000.00%
-9011200.00%
-9830400.00%
-10649600.00%
-11468800.00%
-12288000.00%
-13107200.00%
-13926400.00%
-14745600.00%
-15564800.00%
-16384000.00%
-17203200.00%
-18022400.00%
-18841600.00%
-19660800.00%
-20480000.00%
-21299200.00%
-22118400.00%
-22937600.00%
-0.00%
-819200.00%
-1638400.00%
-2457600.00%
-3276800.00%
-4096000.00%
-4915200.00%
-5734400.00%
-6553600.00%
-7372800.00%
-8192000.00%
-9011200.00%
-9830400.00%
-10649600.00%
-11468800.00%
-12288000.00%
-13107200.00%
-13926400.00%
-14745600.00%
-15564800.00%
-16384000.00%
-17203200.00%
-18022400.00%
-18841600.00%
-19660800.00%
-20480000.00%
-21299200.00%
-22118400.00%
-0.00%
-819200.00%
-1638400.00%
-2457600.00%
-3276800.00%
-4096000.00%
-4915200.00%
-5734400.00%
-6553600.00%
-7372800.00%
-8192000.00%
-9011200.00%
-9830400.00%
-10649600.00%
-11468800.00%
-12288000.00%
-13107200.00%
-13926400.00%
-14745600.00%
-15564800.00%
-16384000.00%
-17203200.00%
-18022400.00%
-18841600.00%
-19660800.00%
-20480000.00%
-21299200.00%
-0.00%
-819200.00%
-1638400.00%
-2457600.00%
-3276800.00%
-4096000.00%
-4915200.00%
-5734400.00%
-6553600.00%
-7372800.00%
-8192000.00%
-9011200.00%
-9830400.00%
-10649600.00%
-11468800.00%
-12288000.00%
-13107200.00%
-13926400.00%
-14745600.00%
-15564800.00%
-16384000.00%
-17203200.00%
-18022400.00%
-18841600.00%
-19660800.00%
-20480000.00%
-21299200.00%
-22118400.00%
-0.00%
-819200.00%
-1638400.00%
-2457600.00%
-3276800.00%
-4096000.00%
-4915200.00%
-5734400.00%
-6553600.00%
-7372800.00%
-8192000.00%
-9011200.00%
-9830400.00%
-10649600.00%
-11468800.00%
-12288000.00%
-13107200.00%
-13926400.00%
-14745600.00%
-15564800.00%
-16384000.00%
-17203200.00%
-18022400.00%
-18841600.00%
-19660800.00%
-20480000.00%
-21299200.00%
-22118400.00%
-0.00%
-819200.00%
-1638400.00%
-2457600.00%
-3276800.00%
-4096000.00%
-4915200.00%
-5734400.00%
-6553600.00%
-7372800.00%
-8192000.00%
-9011200.00%
-9830400.00%
-10649600.00%
-11468800.00%
-12288000.00%
-13107200.00%
-13926400.00%
-14745600.00%
-15564800.00%
-16384000.00%
-17203200.00%
-18022400.00%
-18841600.00%
-19660800.00%
-20480000.00%
-21299200.00%
-22118400.00%
-22937600.00%
[Finished in 15.9s]

下载下来的文章截图如下所示:

好了,讲到这里,我的第一个包发布之旅就结束了,感觉还是很惬意的,虽然说东西内容做得太简单了点,目的只是为了实践一下这个过程,记录一下。

最后,欢迎大家下载、安装使用哈,欢迎交流哈!

python库发布之从零到一:发布自己的第一个库——blogdownloader相关推荐

  1. 易语言 python库_精易Python支持库 (1.1#1205版)发布啦!

    精易Python支持库 (1.1#1205版) 本支持库提供了 6 种库定义数据类型,提供了 87 种命令. 支持库说明 该支持库为易语言调用并执行Python代码.文件提供了支持. 使用本支持库,可 ...

  2. python的最大绘图速度_Python数据可视化之高速绘图神器PyQtGraph库,强烈建议收藏...

    01为什么使用PyQtGraph库 我们知道,在Python中,已经有了很多可供选择的数据可视化库. 比如最经典.使用人数最多的matplotlib库,其有着十多年的历史积累,可生成高质量出版级别的图 ...

  3. 0基础学python做什么工作好-零基础自学python到什么程度才有机会去小公司实习?...

    谢邀.小公司的要求不是很高.但是基本的做项目,解决问题的思路还是要有的.对算法,底层框架源码可能没有过多地要求 必须要掌握的技能有: 一.基础语法 1 变量 2 逻辑判断 3 循环 4 函数 /> ...

  4. python人工智能框架有哪些_10个最佳的人工智能开发框架和AI库

    人工智能(AI)已经存在很长时间了.然而,由于这一领域的巨大进步,近年来它已成为一个流行语.人工智能曾经被称为一个完整的书 呆子和天才的领域,但由于各种开发库和框架的发展,它已经成为一个友好的IT领域 ...

  5. 蓝库云|如何利用零代码工具创建人力资源管理系统

    您是否希望使用零代码代码技术创建人力资源管理系统呢?如果是,这篇文章适合你.随着世界的发展,生活变得越来越简单.人力资源管理和所有业务专业人员都在使用零代码平台来构建应用程序,以节省时间.金钱和人力资 ...

  6. 一文惊醒梦中人:Python是打开数据科学大门的钥匙 - 思路、心态【附库、练习资源链接】

    本文价值在于梳理Python对于数据科学的作用以及入门分析,也提供了一系列的书目以及网站学习资源,给到我们整个学习流程的轮廓,还是不错的.正文如下: 您正在踏上数据科学之旅,每个人都建议您从学习如何编 ...

  7. 零基础可以学python吗-Python编程语言好学吗?零基础转行能学Python吗?

    Python编程语言好学吗?零基础转行能学Python吗?人工智能时代的来临催生了很多新兴行业,Python是最具代表性也是比较热门的技术之一.有人看好Python入门简单.功能强大的特性,选择转行从 ...

  8. 学python需要什么基础知识-学Python需要什么基础知识?零基础可以学Python吗?

    学Python需要什么基础知识?一般来说,想要学Python最好具备一定的计算机专业知识,尤其是数学和英语不错的话,对学Python也有一定的帮助.但是零基础的学习者就不能学Python了吗?当然不是 ...

  9. python处理excel视频-从零基础开始用Python处理Excel数据 视频教程

    首先学习Python的基础知识,然后使用Python来控制Excel,做数据处理. 电子版数据免费下载 链接: https://pan.baidu.com/s/17xqT5bXsJFbfXJTXcGr ...

  10. 3分钟入门python_3分钟学完Python,直接从入门到精通「史上最强干货库」

    作为帅气小编,我已经把python一些模块的甩在这儿了qwq,只要你拿到这些干货,包你玩转python,直接冲向"大佬"的段位,如果已经学了C或者C++或者说如果你需要你的一段关键 ...

最新文章

  1. 阿里亲制明信片,字节、百度直接发锅……这些公司的新年礼盒越来越会玩~
  2. python装饰器原理-Python函数装饰器原理与用法详解
  3. Web前端学习技巧有哪些?本文给你答案
  4. Java学习笔记二:数据类型
  5. 微软Build 2016前瞻:让开发者编写能畅行所有设备的app
  6. Abp Uow 设计
  7. 【Android】完善Android学习(二:API 2.3.4)
  8. 功率曲线k值_锂电池放电曲线全面解析
  9. C语言运行时检查失败#2 周围的堆栈已损坏。
  10. Java 后台验证码汉字拼音校验
  11. HTML网页中显示图片(相对路径 绝对路径)
  12. 精品微信小程序校园第二课堂在线学习网+后台系统|前后分离VUE
  13. 寒假水67——空心三角形
  14. 基于交替迭代法的通用型交直流潮流计算方法(matlab版+python版)
  15. 企业选择服务器托管的优势
  16. 【今日CV 计算机视觉论文速览 第140期】Wed, 3 Jul 2019
  17. CVE2017-8464:震网三代漏洞分析
  18. 读书笔记-柒-《腾讯网UED体验设计之旅》
  19. 通达OA系统排名?通达OA办公系统怎么选?什么是用户口碑最好的通达OA系统?
  20. 大数据面试题Spark篇(1)

热门文章

  1. 性能测试之工具对比-ngrinder jmeter loadunner及ngrinder安装使用方法
  2. Ubuntu 16.04将ISO镜像写入U盘
  3. Downloading Quest SQL Optimizer for Oracle
  4. 功率 dbm 和 mw 的换算
  5. Android failed to start daemon
  6. Ubuntu 14.04 执行指定用户的命令
  7. SSM集成activiti6.0错误集锦(二)
  8. openssh常用命令记录
  9. linux SO文件
  10. 转载:大学生如何让自己强大起来(计算机、电子方向)