一个普普通通的程序员
我的博客即将入驻“云栖社区”,诚邀技术同仁一同入驻。
有条件请支持正版!有条件请支持正版!有条件请支持正版! (虽然我感觉以咱们国内的国情,即使人们赚了很多钱,也不会在这上面投入一分钱。) 废话不多说,项目在码云上,一个Java项目,按照说明用Maven构建。
最近把pyenv、pipenv这种都研究了一下,然后我发现一个严重的问题:就是我虽然看了半天这些工具,但是我对Python自己的打包系统却完全没有了解。所以这篇文章就来研究一下Python自带的打包系统。
Ubuntu 18.04是Ubuntu系列最新的长期发布版,需要使用Ubuntu的同学可以安装一下。虽然现在很多软件和工具还没有支持Ubuntu 18.04,但是作为长期支持版,用不了多长时间,大部分软件都会支持。
在使用Python语言的时候我们使用pip来安装第三方包,但是由于pip的特性,系统中只能安装每个包的一个版本。但是在实际项目开发中,不同项目可能需要第三方包的不同版本,Python的解决方案就是虚拟环境。
在开发Python程序的时候,有时候可能需要在不同版本的Python上进行测试。pyenv就是这么一个管理多版本Python的工具。由于在Windows中我们可以同时安装多个版本的Python,所以这里是在Linux下介绍该工具。
学过Python的同学应该都了解pip这个工具,我们用pip绝大部分的第三方库都可以用pip来安装,用起来很方便。但是如果我们要把项目部署到服务器上面的话,就稍微有些麻烦了,因为还需要在服务器上用pip安装这些包,假如项目中用到很多包的话,一个个安装会很麻烦,而且没有通用性。
在查找资料的偶然间,我发现一个博客上有非常可爱的Live 2D模型,当时我就被打动了,马上开启审查元素,试图找出这个Live 2D模型的信息,可是找了半天没找到。
最近有同学问我,能不能让我弄一个基于Spring-Platform的多模块Gradle项目的例子,最近终于试着弄了一下,所以写篇文章介绍一下。 首先介绍一下Spring IO Platform,它主要为了帮助我们管理项目中庞大的类库的版本。
Java生态圈中有很多处理JSON和XML格式化的类库,Jackson是其中比较著名的一个。虽然JDK自带了XML处理类库,但是相对来说比较低级,使用本文介绍的Jackson等高级类库处理起来会方便很多。
一直以来,Java并没有什么比较好用的HTTP库,JDK自带的HTTP类又非常旧,难以使用。今天我发现了一个使用比较广泛的OkHttp库,它在安卓和Java领域都有使用,在Github上的星数有两万多,所以我们可以放心的使用。
Navicat是一个非常好用的数据库管理软件,支持多种数据库。今天我偶然发现了Navicat 12的激活工具,试验了一下果然成功了,所以不道德地向大家介绍一下。
百度网盘下载大文件一直是一个痛点。现在国内基本上只有百度网盘可用了,但是免费用户使用百度网盘下载东西的速度一直不是很理想,所以现在有很多工具应运而生。今天要介绍的就是一个使用java编写的开源多线程下载器, 利用它,我们就可以满速下载百度云文件! 废话不多说,直接进入正题。
在Linux下经常需要进行终端操作,一个好的shell解释器可以帮助我们极大提高工作效率。有些同学可能听说过zshell和oh-my-zsh,前者是一个shell程序,由于功能比较强大,所以叫做z shell,意为终极shell;而后者是一个模板化的zshell配置脚本,通过它我们可以快速配置一个好用的zsh。
百度网盘下载大文件会自动调用百度网盘客户端来下载,但是客户端也无法做到满速下载。所以每次下载百度网盘的大文件的时候都是一件非常痛苦的事情。最近发现了一个非常好用的浏览器扩展——Tampermonkey,可以帮助我们下载百度网盘大文件。
久闻Matlab的大名,可惜一直没有好好学学。现在正好装了个最新的版本,就来学习一下Matlab,了解一下它的强大的功能。 程序界面 打开Matlab会看到类似的程序界面,上边是菜单栏,包含了各种工具。
Basic语言的全名是Beginner's All-purpose Symbolic Instruction Code(初学者通用的符号指令代码),是几十年前流行过的一门语言。
前面我介绍了使用Dism++封装Windows 7系统,不过最后还是没达到我想要的效果。不过经过一番查阅之后,我发现我想要的效果好像没办法简单的使用单一工具达到。
自从Windows 10出来之后,我就一直在使用Windows 10. 到目前为止除了系统特效没有Windows 7 的Aero好看之外,别的地方我用的都很爽。
Mathematica是和Matlab齐名的一个著名的科学计算软件,在很多地方甚至比Matlab更加好用。今天就来介绍一下如何安装和激活Mathematica。
大家可能会听说过几何画板这个软件,它可以帮助我们绘制函数图形、创建动画等等,对于我们学习数学、物理等很有帮助。可惜的是,这个软件现在是收费的。当然这种类型的软件并不是没有替代品的,今天我就找到了一个功能类似,而且可能更加强大的软件,那就是GeoGebra。
本文介绍Matlab R2017b的安装和激活。如果有条件的,还请支持正版。 首先下载激活文件,我放到了我的百度网盘里,大家可以下载。 然后到Matlab官网注册一个账号,然后下载在线安装器。
Scala是一门强大的语言,受到很多人的喜爱,我也曾经尝试学习过。不过Scala官网专用的构建工具SBT就不那么好用了。我曾经想将SBT的软件包保存路径设置到D盘,还想设置网络代理,不过最后都没搞明白怎么回事。
这几天申请了腾讯云自媒体扶持计划,今天终于通过了,奖励了一张100元的腾讯云服务器代金券,正好我受够了国外服务器卡的蛋疼的连接速度,所以赶快就用了买了一个服务器。
说起来我一直没有安装过Windows服务器版的系统,所以最近想尝试一下Windows Server 2016,这个最新的Windows服务器系统。当然如果是家用的话,肯定还是安装桌面版的系统更好,服务器版的系统主要是企业使用,日常功能反而不如桌面版的丰富。
Django是Python语言编写的一个全栈式Web框架,可以帮助我们快速编写一个具有数据库功能、增删查改、后台管理等功能的网站。假如你只需要一些很简单的功能,使用flask可能是个更好的选择。
微软的SQL Server数据库是做.NET开发的好朋友,现在最新的版本是2017.SQL Server数据库有自己的Management Studio工具,基本用起来和Visual Studio差不多。
前一篇文章介绍了很多关于scrapy的进阶知识,不过说归说,只有在实际应用中才能真正用到这些知识。所以这篇文章就来尝试利用scrapy爬取各种网站的数据。
前段时间我写了一篇《scrapy快速入门》,简单介绍了一点scrapy的知识。最近我的搬瓦工让墙了,而且我又学了一点mongodb的知识,所以这次就来介绍一些scrapy的进阶知识,做一些真正有用的爬虫来。
最近Intellij IDEA更新到了2017.3这一版本,这个版本又增加了很多新功能。我觉得其中这个基于编辑器的REST客户端这个功能很不错,可以为我们带来很多方便。
家里的旧小米2S又死机了,所以我准备重新刷个魔趣试试。这次就把刷机过程记录下来,省得以后在到处查找命令。使用这些命令前,确保电脑上正确安装了Android Studio并正确配置,这样电脑上就会存在USB驱动和必要的命令行工具。
如果你准备在虚拟机中安装Ubuntu、Fedora这几个比较著名的大型Linux,那么VMware Workstation是一个不错的选择,在安装这几个Linux的过程中会自动安装VMware Tools,这样在虚拟机安装完成之后,就可以马上使用共享剪贴板、文件拖拽、共享文件夹、虚拟机分辨率自动跟随窗口大小这几个高级特性。
对C++有一定了解的同学一定听说过boost库,这是C++的一个著名类库,在C++的地位感觉可以和Spring在Java中相比。boost向来有准标准库之称,很多新特性例如智能指针等都是先在boost中实现,后来被吸收到标准库之中。
MongoDB是一个著名的NoSQL数据库,顾名思义就是不使用SQL的数据库,目前在很多场景都有使用。如果你不喜欢使用笨拙的各种SQL数据库,可以尝试使用一下MongoDB,会有不一样的感受。
博客是一个老东西了,如果我们想写博客的话,有两种选择,第一种是在博客网站上,例如QQ空间、新浪博客、简书等网站上申请账号,然后编写博客;第二种就是自己找服务器搭一个博客。
TeamCity是Jetbrains的持续集成工具,免费使用的话可以设置20个构建脚本,对于我们个人来说基本上是够用了。当然假如以后超过限制了,可以考虑使用另一个著名的持续集成工具Jenkins。
前几天Ubuntu 17.10终于出来了,正好前几天我电脑重装系统,顺便留了一个分区用来装Linux。所以就在我电脑上安装了Ubuntu 17.10. 安装过程就不说了,图形化安装程序,基本安装过几次就熟悉了。
Windows下的终端程序一直是一个问题,默认的cmd已经老旧不堪,而且在Windows 10中已经取消了在此处打开终端的右键菜单,改为使用功能更加强大的Powershell。
Vue是现在最流行的前端框架之一,而且相对于其他两个框架React和Angular来说也更加易学,而且它的作者是国人,中文文档也很完善。当然Vue框架算是比较高级的框架,所以在使用过程中还需要JavaScript、JavaScript 2015、WebPack、NodeJS、npm、ESLint、JavaScript单元测试框架等其他知识和框架的使用方法。
HTTP客户端是很多时候我们都需要用到的功能,今天就来介绍一个比较流行的JavaScript编写的HTTP客户端库axios。 安装 如果你会使用npm的话,可以使用npm来装,非常方便。
著名的Java单元测试框架Junit 4已经出来很长时间了,当时我发现JUnit 5已经处于测试版,就准备写文章来介绍JUnit 5.不过因为还是测试版,所以有些地方还不太完善,我也有点懒没有好好写。
老日期类 一说到在Java中处理日期和时间,我们首先想到的肯定是java.util.Date类。确实,由于很多教材和文献都比较老,所以大多数人学习Java的时候使用的都是这个类。
Java 9 好像也快出了,不过我连Java 8的新特性都还没认真研究过,所以这几篇文章就是来介绍Java 8的新特性的。首先,第一个重要的特性就是传说中的lambda表达式了,虽然初学可能觉得这东西很难理解,但是一旦学会了,你就会发现离不开它了。
JavaFX 介绍 一提到Java的图形界面库,我们通常听到的都是Swing,或者更老一点的AWT,包括很多书上面介绍的也都是这两种。很多学校、培训班教学的也是这两种技术。
Python是一种动态类型语言,这意味着我们在编写代码的时候更为自由,但是与此同时IDE无法向静态类型语言那样分析代码,及时给我们相应的提示。为了解决这个问题,Python 3.6 新增了几个特性PEP 484和PEP 526,帮助编辑器为我们提供更智能的提示。
分析登录过程的话有很多工具可供选择,Fiddler等抓包工具都是很好的选择。不过这次不需要,由于登录过程需要在浏览器上完成,所以我们这次直接使用浏览器的F12开发人员工具。
Spring IO Platform框架简单来说就是一个版本号兼容系统,它将常用第三方类库的兼容的版本组织起来。只要我们在项目中引用了Spring IO Platform,就不需要为这些第三方类库设置版本号了,Spring IO Platform会自动帮我们设置所有兼容的版本号。
类型别名 typedef关键字 typedef关键字是继承自C语言的特性,利用它我们可以为一个类型起别名,一般用于将复杂类型简化。举个简单的例子,将int类型定义为integer类型,之后就可以在代码中使用integer作为类型使用。
前面说了C++的基本数据类型,下面来看看在C++中如何定义变量和常量。 变量 定义和初始化 C++定义变量的方式和C语言一样,也可以在定义的同时初始化。值得一提的是列表初始化,在原来的C++版本中可以用于初始化数组等。
.NET Core 2.0 长久以来,.NET框架一直因为只能在Windows系统上运行而被人黑。所以微软重写了一个跨平台的.NET,这就是.NET Core。