GCC 基础

GCC 简介 GCC 是 Linux 下的编译工具集,是 GNU Compiler Collection 的缩写,包含 gcc 、 g++ 等编译器。这个工具集不仅包含编译器,还包含其他工具集,例如 ar 、 nm 等。 GCC 工具集不仅能编译 C/C++ 语言,其他例如 Objective-C 、 Pascal 、 Fortran 、 Java 、 Ada 等语言均能进行编译。 GCC 在可以根据不同的硬件平台进行编译,即能进行交叉编译,在 A 平台上编译 B 平台的程序,支持常见的 X86 、 ARM 、 PowerPC 、 mips 等,以及 Linux 、 Windows 等软件平台。 GCC 的 C 编译器 是 gcc,其命令格式为 : Usage: gcc [options] file... GCC 下默认文扩展名的含义: 文件扩展名 GCC 所理解的含义 *.c 该类文件为 C 语言的源文件 *....

十月 17, 2020 · Aimer Neige
nginx-logo

使用 Nginx 搭建静态网页服务

使用 Nginx 搭建静态网页服务本身是一件非常简单的事,但是我之前在 CSDN 找了几篇教程,弄了一下午也没弄好(不愧是屎山淘金),学了一段时间后端和 Linux 后,我大概只用了五分钟就弄好了,这里写一篇文章来帮助一下小白。 阅读须知 在阅读本文章前,你需要准备以下内容 掌握基础的 Linux 命令行操作 (本文章将介绍如何在 Linux 服务器上部署静态网页,需要进行终端操作,因此你必须掌握命令行的使用。如果你打算使用 Windows ,请查阅其他文章。) 拥有一台 Linux 服务器 (可以购买 VPS 也可以使用 虚拟机 本文章以 VPS 为例,并购置了域名 (域名非必须) ) 拥有一个静态网站的源码 (如果仅仅作为学习目的,你可以写一个简单的 HTML 文件,这里以使用 hexo 生成的静态网站为例。) 知道 Nginx 是什么,有什么用 (不需要掌握 Nginx) 不同 Linux 发行版下命令会有所区别,本文章以 Ubuntu20.04 为例 准备服务器 如果你已经有了一台服务器并安装好了 Nginx ,你可以直接跳过这一部分,但是如果你的服务器是新的,没有经过任何配置,请参阅以下内容进行配置。 升级系统 sudo apt update && sudo apt upgrade 安装 Nginx sudo apt install nginx 启动 Nginx sudo systemctl start nginx # 开机自动启动 sudo systemctl enable nginx 测试服务 直接在浏览器访问你服务器的 ip,如果你部署了 DNS 服务的话,你也可以直接使用域名。如果哦看到 Nginx 的欢迎界面,服务器准备成功!...

十月 4, 2020 · Aimer Neige

写给小白的 win10 使用技巧

本文章项目地址 https://github.com/AimerNeige/Tutorial.git 计算机使用技巧 如果你是一个几乎没有接触过电脑但是却打算入门计算机专业,这篇文章将为你介绍一些基本的计算机使用技巧。 主要介绍 Windows10 的一些使用技巧,如果你是 mac 用户,请自行查阅其他文章,但是如果你是 Linux 用户,我觉得你应该不需要看我的文章。 杀毒软件 或许你会在较旧的电脑上见到诸如360 安全卫士,金山毒霸,电脑管家等杀毒软件,受其影响,你或许也会在电脑上安装这些软件,但是,对于计算机专业来说,这些软件不仅无用而且会给你的学习带来很多麻烦。请 务必 立即 删除它们。 但是,没有杀毒软件的话,电脑中毒怎么办啊? 如果你的电脑是刚到手的笔记本,我相信你的预装系统是 Windows10。 而 windows 本身会预装 Windows Defender ,对于一般的病毒,Windows Defender 完全可以保护你的电脑,而且如果使用习惯良好,不下载使用来源不明的文件的话,即使没有任何杀毒软件也是可以的。但是你非要有双保险才放心,一定要安装杀毒软件的话,我推荐 火绒杀毒 https://www.huorong.cn/ 。这款软件的个人版完全免费而且没用任何广告弹窗。 删了它们我怎么清理电脑垃圾啊? 在旧电脑上用的硬盘是机械硬盘,而机械硬盘的磁盘碎片会影响电脑系统运行速度,在旧电脑上清理垃圾确实有用且会提升电脑运行速度,但是现在的电脑用的都是固态硬盘,这些磁盘垃圾并不会影响电脑性能,不会影响系统的运行速度,最多只是占一些存储空间,如果你非要清理的话,我推荐你使用 CCleaner https://www.ccleaner.com/。 没有软件管家我不会下载软件了怎么办? 要养成去官网下载软件的好习惯,比如我们想要安装 QQ 就使用搜索引擎搜索 QQ 的官网,找到 QQ 的官网 http://im.qq.com/ ,然后在官网下载安装包。类是地,我们同样可以在 Visual Studio Code 的官网 https://code.visualstudio.com/ 上下载 Visual Studio Code 的安装包。如果一个软件没有官网,你也可以在一些受信任的网站上下载它,不过大部分软件都会有官网的,除非你在下载破解软件或者其他上古软件。 没有电脑管家我如何管理系统自启动啊? 禁用开机自启动: 启动任务管理器,点击 启动 找到想要禁用的自启项,右击,选择禁用。 设置开机自启动: 按住 Win 键(左下角有 windows 徽标的按键)然后按 R, 在弹出的运行框中输入 shell:startup 将软件的 快捷方式 放在这个目录下即可。...

八月 26, 2020 · Aimer Neige

优雅地使用 GitHub

官方文档 较常用的检索限制 项目名称 in:name <keyword> 项目 README in:readme <keyword> 项目描述 in:description <keyword> 语言 language: java star 数 stars:>1000 fork 数 forks:>500 更新时间 pushed:>2020-08-01 使用示例 in:name marp in:description theme stars:>5 pushed:>2020-01-01 参考链接: https://www.youtube.com/watch?v=Uj6WWAqg0NY

八月 1, 2020 · Aimer Neige

每天一个 Python 小知识 isinstance

首先来看下 w3schools 的解释: Example Check if the number 5 is an integer: x = isinstance(5, int) Definition and Usage The isinstance() function returns True if the specified object is of the specified type, otherwise False. If the type parameter is a tuple, this function will return True if the object is one of the types in the tuple. Syntax isinstance(object, type) Parameter Values Parameter Description object Required. An object. type A type or a class, or a tuple of types and/or classes More Examples Example Check if “Hello” is one of the types described in the type parameter:...

五月 29, 2020 · Aimer Neige

每天一个 Python 小知识 assert

首先来看下 w3schools 的解释 Example Test if a condition returns True: x = "hello" #if condition returns True, then nothing happens: assert x == "hello" #if condition returns False, AssertionError is raised: assert x == "goodbye" Definition and Usage The assert keyword is used when debugging code. The assert keyword lets you test if a condition in your code returns True, if not, the program will raise an AssertionError. You can write a message to be written if the code returns False, check the example below....

五月 28, 2020 · Aimer Neige

使用 PicGo 搭建便捷的图片上传服务

在平时使用 markdown 的时候,图片一般是一个痛点,在本地引用图片后转到其他平台就有可能失效,尤其是上传到自己的博客的时候就很麻烦,在线图片可以解决这个问题,但是手动上传也是一件麻烦事,不过,已经有一些好心的程序员写了一个软件来解决这个问题,这里我推荐 PicGo 这款应用。 这款应用完全开源、免费,支持跨平台特性。 GitHub 主页 官方文档 软件的配置也十分简单,按照官方的教程新建一个 GitHub 仓库并连接软件就好了。 官方的文档就很棒了,没必要提供更详细的教程。(话说这篇文章也太水了)

五月 28, 2020 · Aimer Neige

使用 pillow 库快速将漫画转化为 pdf 便于转发与阅读

介绍 使用安卓手机阅读一些漫画的时候,因为屏幕较小,查看文字的时候需要放大,很麻烦。博主虽然有一个 iPad4,屏幕够大,但是把这么多图片文件发送到 iPad 上面十分的麻烦,一天,偶然看到了一个 pdf 格式的漫画,在 iPad 上面的阅读体验十分棒,于是博主就打算写一个程序来将大量的漫画图片转化为 pdf 来方便在 iPad 上阅读。 查阅资料,我们会发现 Pillow 这个第三方 python 库可以来处理图片,同时也可以将大量的图片转化为 pdf 文档。 简单地查看下 官方文档 。 emmm,官方文档的东西有点多,为了快速解决问题还是直接查找下有没有相关代码把。 随便查了下,发现了这个: from PIL import Image image1 = Image.open(r'C:\Users\Ron\Desktop\Test\image1.png') image2 = Image.open(r'C:\Users\Ron\Desktop\Test\image2.png') image3 = Image.open(r'C:\Users\Ron\Desktop\Test\image3.png') image4 = Image.open(r'C:\Users\Ron\Desktop\Test\image4.png') im1 = image1.convert('RGB') im2 = image2.convert('RGB') im3 = image3.convert('RGB') im4 = image4.convert('RGB') imagelist = [im2,im3,im4] im1.save(r'C:\Users\Ron\Desktop\Test\myImages.pdf',save_all=True, append_images=imagelist) 来源: https://datatofish.com/images-to-pdf-python/ 不需要仔细看又臭又长的官方文档了,nice! 了解了如何使用这个强大的库,就可以开始写代码了,vsc 一条龙服务! 代码很简单,直接上源码了: 源码 项目文件目录: - comic/ # 包含了漫画的图片 - example_001....

五月 27, 2020 · Aimer Neige

20 个 Python 进阶技巧

本来是在查资料,无意间看到了这个知乎文章,感觉内容值得学习,但是排版实在难受,代码和注释混在一起,没有换行,同时解释也很奇怪(感觉是机翻的),当我无法忍受想关闭网页的时候,发现这篇文章是翻译自Medium的文章,但是原文章是英语写的,为了帮到那些英语不太好的 Python 学习者,同时方便自己之后看,于是写了这篇博文(算是笔记吧) 基于 Medium 的文章 《20 Python Snippets You Should Learn Today》 ,除了翻译外添加了自己的解释。水平有限,如果有错误欢迎读者指正。 大部分示例代码均引用自 Medium 《20 Python Snippets You Should Learn Today》 1 反转字符串 下面的代码使用 Python 切片操作来反转字符串。 # Reversing a string using slicing my_string = "ABCDE" reversed_string = my_string[::-1] print(reversed_string) # Output # EDCBA 这里用到的是 Python切片 切片某种意义上就是对如下代码的书写进行了简化(不考虑 Python 中-1 的情况) // [a🅱️c] for (int i = a, i < b; i = i + c) { // do something } 推荐阅读: 《How to reverse a string in Python?...

四月 13, 2020 · Aimer Neige

使用 DataBinding 精简代码

在构建布局的时候,是不是感到要写很多的 findViewById 很浪费时间呢?尤其是布局文件变化的时候,也要在 Activity 中更改很多内容,极大的降低了开发效率,而谷歌在 JetPack 中提供了一种十分有效的方法来精简代码结构,提升开发效率,那就是 DataBinding 下面来介绍 DataBinding 的使用 用到的依赖 implementation 'androidx.lifecycle:lifecycle-extensions:2.2.0' 开启 dataBinding 在 app 的 build.gradle 文件中添加以下内容 dataBinding { enabled true } 位置参考 android { compileSdkVersion 29 buildToolsVersion "29.0.3" defaultConfig { applicationId "com.aimerneige.databindingdemo" minSdkVersion 24 targetSdkVersion 29 versionCode 1 versionName "1.0" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" dataBinding { enabled true } } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' } } } 为布局文件提供 dataBinding 支持 在布局文件开头点击黄色灯泡(或按ALT + Enter),选择以下操作将布局文件转换为 data binding layout ,获取 data binding 支持...

二月 22, 2020 · Aimer Neige