写给小白的 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 将软件的 快捷方式 放在这个目录下即可。 我想要那个网速显示的悬浮窗!! 这个软件可能会帮到你 https://github.com/zhongyang219/TrafficMonitor。 没有加速球电脑会不会卡啊? ...

2020年8月26日 · 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

2020年8月1日 · 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: ...

2020年5月29日 · 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. ...

2020年5月28日 · Aimer Neige

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

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

2020年5月28日 · 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.png - example_002.png - example_003.png ... - example_202.png - output/ # 保存输出的pdf文件 - ろりっぽいの.pdf main.py main.py ...

2020年5月27日 · 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:b:c] for (int i = a, i < b; i = i + c) { // do something } 推荐阅读: 《How to reverse a string in Python?》 ...

2020年4月13日 · 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 支持 ...

2020年2月22日 · Aimer Neige

使用 ProgressDialog 实现加载提示

在进行一些耗时操作的时候,经常需要加载提示框来提醒用户当前在进行耗时操作,需要等待。 而实现这样一个加载框十分简单。 构建 ProgressDialog 对象 你可以在耗时操作开始前临时建立新的 ProgressDialog 对象,你也同样可以在 Activity 中构建 ProgressDialog 的引用,并在 OnCreate 方法内构建实体,在需要的时候直接显示和隐藏。 其中前者相对灵活,但是使用范围有限,后者使用范围较广,但是可以会使得 OnCreate 中的代码较为繁琐。 但是,不管使用那种方法,ProgressDialog 的构建都是非常简单。 ProgressDialog progressDialog; progressDialog = new ProgressDialog(MainActivity.this); // ProgressDialog progressDialog = new ProgressDialog(MainActivity.this); progressDialog.setTitle("This is Title"); progressDialog.setMessage("This is Message"); progressDialog.setCancelable(true); 其他属性可自行探索或者查阅官方文档 显示加载框 在耗时操作开始前(或者任何你想要显示提示框的地方),通过以下操作显示加载框: progressDialog.show(); 关闭提示框 在耗时操作关闭时(或者任何你想要关闭提示框的地方),通过以下操作关闭加载框: progressDialog.hide(); 很简单不是吗 又水了一期,不过好像没人看我的博客

2020年2月20日 · Aimer Neige

使用 LiveData 优雅地管理布局显示的数据

ViewModel 提供了一个可以管理数据的优雅的容器,但是它也只是存储数据而已,并不能对数据进行处理,只是存储数据而已,但是如果使用 LiveData 来辅助, ViewModel 不再只是存储数据,它本身也能处理界面内容,就像它的名字一样,能让数据活起来。 在 ViewModel 中构建 LiveData 对象 与 ViewModel 不同, LiveData 不需要构建类,直接在 ViewModel 中创建对象即可。 首先创建 ViewModel 对象,然后在 ViewModel 对象中创建 LiveData 字段 package com.aimerneige.livedatatest; import androidx.lifecycle.MutableLiveData; import androidx.lifecycle.ViewModel; public class ViewModelWithLiveData extends ViewModel { private MutableLiveData<Integer> LikedNumber; } 然后为 LiveData 对象构建 get 方法 // May Cause Error public MutableLiveData<Integer> getLikedNumber() { return LikedNumber; } 要注意的是构建的对象如果没有构建的话是为空的,直接返回会有空指针错误,所以要对空指针进行处理。 在构造方法中解决 // One possible wey to make the LikedNumber not null ViewModelWithLiveData () { LikedNumber = new MutableLiveData<>(); LikedNumber.setValue(0); } 在 get 方法中解决(推荐) public MutableLiveData<Integer> getLikedNumber() { if (LikedNumber == null) { LikedNumber = new MutableLiveData<>(); LikedNumber.setValue(0); } return LikedNumber; } 接下来为数据提供操作方法,要注意的是这里非常不建议直接提供 set 方法对数据进行修改。这里以增加(减少)数据大小为例: ...

2020年2月20日 · Aimer Neige