特别推荐

Linux内核开发之编译和运行

Linux内核开发之编译和运行

在本篇文章中,读者可以跟着我们的一步一步的教程最终学会如何搭建Linux内核开发环境,并最终能成功运行自己编译的内核,本文主要是针对arm架构来编译Linux内核,因此读者不仅可以学习到如果编译内核,还将学会如何使用QEMU搭建arm仿真环境。 本文将介绍两种Linux内核编译方法 第一种为不借助任何编译系统的原始编译方法,相对较为复杂 第二种则借助BuildRoot编译系统实现了一键编译,相对比较简单 编译Linux内核需要在Linux系统中运行,推荐使用Ubuntu,并安装 build-essentials 包,本

阅读更多

全部文章

数据科学家的一种工作环境 – virtualenv和Jupyter Notebook

数据科学家的一种工作环境 – virtualenv和Jupyter Notebook

  • xhyl
  • February 9, 2020

工欲善其事,必先利其器 在进行工作之前,创建一个顺手的环境是必须的,那么什么是一个顺手的工作环境呢,针对数据分析而言,我认为需要满足以下几个方面: 隔离不同的应用领域的库 – 这一条适用于所有场景,不仅针对数据分析,因为python最为强大的地方是生态,针对不同的场景,有不同的库可以满足快速开发的要求,我们不希望在数据分析的环境中安装那些无关的(比如说串口通讯)的库,因此我们需要一个隔离环境; 快速调试,快速获得灵感 – 数据分析应用场景下,往往需要不停的重组,不停的画图,来帮助理解数据; 趁手的编辑器 – 敲代码的时候比较高效,有贴心的快捷键,最好还能修改主题; 基于以上目标后两点,在数据分析领域,普遍使用Jupyter Notebook作为环境。Jupyter Notebook是一种交互式的开发环境,用户可以选择单独运行某一段python代码,并获得输出,而代码运行的变量,对象等数据都是保存在内存中,不会释放,因此在后边继续运行其他的代码片段的时候可以访问到之前创建好的数据结构。另外,Jupyter Notebook,会将代码的数据结果(可能是表格,可能是图像,也可能是普通的打印输出)连同代码本身保存在一个后缀为ipynb的文件中,因此在什么时候打开这样的文件都能看到之前运行的结果,方便结果分享。

阅读更多
数据可视化 – 利用Bokeh和Bottle.py在网上展示你的数据

数据可视化 – 利用Bokeh和Bottle.py在网上展示你的数据

  • xhyl
  • February 5, 2020

本文将展示如何使用python搭建一个网页应用来展示你的数据图表 很多有关于使用python搭建网页应用的文章聚焦在如何教读者搭建一个网页应用(大多是博客),很多关于使用python做数据可视化的文章聚焦在如何教读者使用python的图表库来做可视化(大多是在jupyter notebook环境下)

阅读更多
PyQt5教程4 – 发现局域网的其他客户端

PyQt5教程4 – 发现局域网的其他客户端

  • xhyl
  • January 29, 2020

到目前为止我们已经有了比较完整的用户交互界面,在使用airdrop发送文件的时候,用户可以选择发送给哪一台设备,在这一章中,我们在PyQt5教程3 – 发送页面进度条,自定义信号槽和线程 的基础上在WiFi Drop上实现类似的功能,即当我们选中文件发送的时候,接下来软件需要能够搜索到局域网中其他的客户端。

阅读更多
PyQt5教程3 – 发送页面进度条,自定义信号槽和线程

PyQt5教程3 – 发送页面进度条,自定义信号槽和线程

  • xhyl
  • January 22, 2020

在airdrop,当用户想要发送文件出去的时候,需要选择目标机器或者用户,在随后的发送中还会显示发送进度,针对这一交互逻辑,在WiFidrop中,我们也将设计相同的交互逻辑,我们要增加一个发送页面,在这个页面上将能够显示我们可以发送的对象,以及一个进度条。 这一篇文章中,我们将继续在 PyQt5教程2:主页面和拖动 的基础上,加入发送页面,和一些相应的逻辑。

阅读更多
PyQt5教程2:主页面和拖动

PyQt5教程2:主页面和拖动

  • xhyl
  • January 15, 2020

这一篇文章中,我们要实现的是主界面和主界面上需要支持的一些功能,我们将使用Qt Creator来创建我们的基本主界面。 1. UI设计 打开Qt Creator,在文件菜单中选择“新建文件或项目”,因为我们只是用Qt Creator来设计UI,所以我们只用它来创建和编辑.

阅读更多
PyQt5教程1:项目介绍和环境搭建

PyQt5教程1:项目介绍和环境搭建

  • xhyl
  • January 13, 2020

编程从来都是一门实践性很强的技术,最好的学习方式就是动起手来 写在前面 关于如何使用PyQt(PyQt4或者PyQt5)在网上有很多简单或者详细的教程,但是我发现大部分的教程是从一个最简单的点展开,试图从一个Hello World讲起,手动创建控件,比如如何用代码创建一个按钮,如果在按钮上绑定一个事件,如何利用该事件输出文字到文字框等等。还有一些教程,非常详尽的讲解每一个控件具有哪些功能,并展示如何使用。前者更像是一本教材,准备由浅入深,但是很多人可能在Hello World之后就因为枯燥的示例被劝退,后者更像一本参考资料,很少希望从头到尾的学习完所有控件。

阅读更多