0%

自从小时候我爸往家里买了一台式机,我就一直梦想着哪天自己能按照自己的喜好组一个狂拽炫酷掉渣天的PC,这次这个梦想终于实现了一半(毕竟还是budget)。激动地赶紧写下这篇博客记录一下整个组装的过程,组装好的桌面效果就如下图啦~

选件

选件三十天,装机一小时。其实装电脑搭系统本身很简单,但是之前挑选零件却是最耗时的。在考虑到性能、预算、兼容性、扩展性和外观等因素选择各种零件是个十分耗时的过程。在这里推荐PCPartPicker网站,可以通过筛选来选择各部件,而且还可以进行价格追踪,最关键的一点是可以帮你进行兼容性检查,这就省了很多事以及避免犯错导致的损失。另外,选择部件不要过于听信贴吧论坛上的言论,例如水冷就不一定是好于风冷,关于这些选择可以先看看知乎这篇帖子

Read more »

PowerShell是微软一个非常棒的产品,终于改变了人们对Windows下命令行的一片鄙视。一直以来都很想学学PowerShell,这样我就不用使用Python作为手边的脚本语言了,对进行一些文件操作、系统操作而言PowerShell还是要比Python来的方便。另外由于有不少C#的经验,因此PowerShell能够调用.NET库的特性也能够充分利用起来,并且实际发现C#的经验让我学习PowerShell快了不少(当然使用bash、CMake这些脚本的经验应该也帮上忙了吧)。本文就是一篇针对有C#经验的用户的PowerShell上手教程,当然如果你有F#、IronPython等基于.NET的脚本经验那就更好了。

Note: 后文中PowerShell简称PS。

PowerShell脚本的运行方法

PowerShell本质是一个脚本环境/脚本语言。在PS中,语句从第一行开始依次执行,而不像普通程序一样会有一个显式的程序入口(Entry),并且PS的每一行命令(语句)都不用使用结尾标志(如C家族的;)。因此PS脚本的编写将会非常直观,想要输出Hello World只需一行语句即可:

1
echo "Hello World"

运行一段PS脚本有两种方式,一种是在PS交互命令行中直接将命令输入,例如你可以直接在PS命令行中输入35+2,或者$env:Path.GetType()等复杂语句;另一种则是将脚本写在.ps1文件中,然后运行.ps1文件即可。这与大部分脚本语言运行的方法是一致的。

需要指出的是Windows下PS脚本运行是受到系统的限制的,默认系统配置下,如果再PowerShell窗口中直接运行.ps1脚本,PS会提示File cannot be loaded because running scripts is disabled on this system.。解决这个问题有两种方式

  1. 将系统中Windows PowerShell执行策略改为“Bypass”,这个可以通过在PS中运行以下命令完成

    1
    2
    Set-ExecutionPolicy Bypass -Scope CurrentUser
    Set-ExecutionPolicy Bypass -Scope Process # 仅在当前PS进程中生效。
  2. 使用powershell -noprofile -executionpolicy bypass -file <文件路径> [参数]来运行脚本,这是用户友好的方法。由于该命令可以通过cmd或者PS执行,因此可以通过.bat文件封装这个命令,以达到双击运行的效果。

Read more »

在学校提供免费的Google Drive之后,我安装了Google Drive客户端的File Stream版本。Google Drive有两种客户端,一种是Backup and Sync(自动同步的文件夹),另一种是File Stream(虚拟硬盘)。前者与Onedrive的使用体验非常相似,安装之后在文件浏览器左侧直接会有同步文件夹的入口。而后者则是以虚拟硬盘的形式提供Google Drive的文件访问,让我想起了之前的meepo,可惜现在清华已经不提供meepo服务了。File Stream会在文件管理器中添加新的盘符,用来访问文件,但是却没有像Backup and Sync或者Dropbox那样把快捷入口添加到文件浏览器左侧。本文将分享一个将Google Drive添加到文件管理器根空间的方法,效果图如下~

Reg文件导入注册表键值

这个方法来源于一篇博客,只需要将一个注册表文件Google Drive.reg导进注册表即可。不过这个文件是针对Google Drive Sync而不是Google Drive File Stream的,因此需要将里面的exe位置改到你的Drive FS安装的位置,并且还要修改它导向的文件夹路径(默认是G:\My Drive)。与文件浏览器左侧快捷入口有关的注册表键值是HKCU\Software\Classes\CLSID\...\底下的System.IsPinnedToNamespaceTree选项,将这个设置为1即可将COM组件固定在文件浏览器左侧。如果需要将快捷入口去掉,双击运行上文Repo里面的Remove Google Drive.reg删除注册表即可。

Powershell自动脚本

为了省去Google Drive每次更新后手动更改路径的麻烦,我写了一个Powershell脚本,一键添加和删除快捷入口~在Gist上可以下到。使用十分简单,下载后打开命令行输入powershell.exe -noprofile -executionpolicy bypass -file <下载文件的位置>即可将Google Drive添加到左侧快捷入口,运行powershell.exe -noprofile -executionpolicy bypass -file <下载文件的位置> remove即可将快捷入口删除。

提示: 如果下载下来的脚本运行失败的话可能是文件编码问题导致的,请用Notepad++等软件转换为UTF8(BOM)格式

由于没有足够的动力,之前一直没有学LaTeX。苍天饶过谁,这回有一门课强制使用LaTeX交作业,没办法只能装上LaTeX了。如果是在几年前大一大二的时候,我可能还忍不了MiKTeX难用的命令行和WinEdit丑陋的界面,但是现在有了VSCode,一切都变得easy and works like a charm。 本文就讲述如何利用VSCode搭建LaTeX的编辑环境。如果你还没有装VSCode的话就赶紧去官网下载吧~

MiKTeX + LyX

想要使用LaTeX,首先需要安装一个LaTeX发行版,也就是实现LaTeX功能的软件包。著名的发行版有TeX LiveMiKTeXCTeX等。我选择的是MiKTeX,原因有

  1. MiKTeX是老师推荐的发行版
  2. MiKTeX是LyX的默认后端
  3. MiKTeX体积不大而且安装简单

安装有多简单呢:直接从官网下载界面下载对应安装包,双击安装即可。安装过程中的选项可以保持默认。MiKTeX里面有一些包含有Perl脚本,因此建议再给系统装上Perl的运行时。Perl的运行时也有不同的发行版,我选择的是Strawberry Perl。两者都安装完毕后打开命令行,运行latexmk测试MiKTeX是否安装正常。

另外你还可以选择安装LyX,这是一个让你像使用Word一样编写tex的软件,由于我也还没怎么用过,就不详细介绍了。LyX安装包有两种,一种是包含了MiKTeX的安装包的,建议先单独安装MiKTeX,再使用独立安装包安装LyX,便于MikTeX的调试。

Visual Studio Code 插件

VSCode原生只支持.tex文件的高亮,如果想要利用VSCode完成TeX的整个编写流程(编写、预览、编译、发布)就需要安装额外的插件。我使用的是目前做多star的LaTeX Workshop。安装上这个插件后,只要你的系统路径中装有MiKTeX,那么就直接使用了~

常用的操作可以通过左侧的TeX选项卡、左下角的TeX状态按钮或在编辑窗口右键来完成。并且LaTeX Workshop提供的预览功能支持实时更新,在你每次保存.tex文件时它会自动刷新。另外,如果你安装了vscode-pdf插件的话,LaTeX Workshop会提示它已经包含了vscode-pdf的功能重复了,但我感觉如果纯看PDF的话还是用vscode-pdf比较稳定。

一些LaTeX技巧

虽然我也是LaTeX新手,但是从Word转换过来时还是有不少操作比较不直观,因此在这里提一些我用到的技巧:

  • 利用.pgf格式的图片可以使得Matplotlib出的图与LaTeX无缝集成

    在LaTeX中使用pgf格式图片需要引用pgfplots库:\usepackage{pgfplots}

  • 在LaTeX中打单边的括号可以使用\left$\right$,其中"$“代表括号,如果只有单边的话另一边的”$“使用”."替代

    LaTeX中\left{ \right.的效果等价于word中{ \close


我的其他博文: 关于Visual Studio Code的其他插件可以参考VSCode插件推荐,关于Word中公式的输入技巧则可以参见快速输入数学公式

自己的笔记本已经用了快4年了,硬盘除了不小的问题,存资料不放心、玩游戏不给力,因此准备把这台机子变成一个工作专用的机器。另外由于刚来美帝,实验室没有配电脑,我需要一个Linux系统来干活,因此就琢磨着给自己电脑装个Ubuntu双系统。

Ubuntu双系统的安装

先说一下自己电脑的情况。联想Y430P,系统是从OEM版Win8一路升上来的,去年为了Hyper-V重装了Window 10教育版。也就是说这台电脑从到我手上以来未装过Windows以外的系统,因此装双系统需要有一定的调整。Ubuntu双系统的安装主要参照了另一篇博客

给Ubuntu系统腾空间

由于之前系统所有硬盘位置都被分配好了,因此需要先给另一个系统足够的安装空间。重新分配空间在Windows下能够非常方便地通过磁盘管理进行解决。磁盘管理可在任务栏Windows图标右键菜单中打开。腾空间有几种方式:

  1. 插入新的硬盘:如果你舍得花钱或者有闲置盘的话
  2. 删除某一磁盘分区:删除分区不代表数据丢失,只是将磁盘一块区域变成未使用的状态
  3. 压缩已有磁盘分区:在不想移动数据的情况下的选择
Read more »

VST 插件

VST的全称是Virtual Studio Technology,指的是将音色合成器和效果器整合进音频编辑和录制软件的一种软件接口,而VST插件就指的是一些符合这个接口格式的合成器和效果器。很多软件都支持VST插件,如我用过的FL StudioAdobe AuditionOverture等,这些插件可以扩展音色、丰富音乐效果。

Synth (音色合成器)

  • MusicLab Real系列:MusicLab家的RealGuitarRealLPCRealStrat三剑客是著名的吉他音色合成器,不仅音色醇正,而且支持和弦操作
  • HQ Orchestral:罗兰三剑客Hyper CanvasSuper QuartetHQ Orchestra之一,体积很小但却能模拟出很精致的管弦乐音色
  • Massive:电子乐制作中很多大牌音乐人都有用到的合成器,同样是基于三波形合成,但是界面很友好
  • Sylenth1:体积精简的合成器,能仿真出很多音色
Read more »

这两大软件是我平时开发的主力软件,因此也将其插件配置分享出来~

Visual Studio

VS由于功能已经足够强大了,完全不是很需要插件的存在。不过确实VS还是有不少美中不足的地方的,因此插件也还是会装的~

  • Inline Color Picker:在代码中将颜色代码对应的颜色标记出来。(注:这个功能在VSCode中已经有部分支持了)
  • Visual Assists:VA是个大名鼎鼎的VS插件,提供丰富的代码提示和代码重构功能。但是由于功能实在太强大,导致VS加载变慢很多,而它的功能只是锦上添花不要也罢,因此我一直都把它禁用了。
  • CodeMaid:提供丰富的代码整理功能。感觉用的并不多,因此也禁用着= =。
  • VSColorOutput:将输出窗口的文字显示不同的颜色。很好奇这么常用的功能为什么VS没有实现。。
    • 搜索时发现一个相似插件Output enhancer,会试试这个好不好用
Read more »

Chrome/Firefox 插件

Chrome/Firefox如此强大离不开它的插件生态,他们的插件成千上万,经常有新的冒出来,这里我就记录一些我常用的吧~

  • ActiveX for Chrome (网银助手):介绍说是可以在Chrome中启用ActiveX控件,但实际上为了避免失败重新支付,我一般还是会用Edge打开支付页面。
  • AdBlock:大名鼎鼎的广告屏蔽软件,效果拔群。不过为了一些站点的发展,还请把必要的站点加进白名单。
  • Adkill and Media Downloader:去视频广告+媒体下载+盗链图片显示,效果没有想象中那么好
  • Anything to QRcode:将网页地址或网页文字内容转换为二维码,非常实用!如果你需要向别人发送电脑链接或者文字,不用打开微信客户端,只需这么扫描一下即可。
  • Awesome Autocomplete for Github:为Github搜索框提供自动提示,提示内容包括仓库和用户等
Read more »

说明

  • 本文推荐 Windows 10 下本人常用的软件。选择标准大概是功能够用体积小文件污染少界面整洁,个人喜好仅供参考~
  • 除了软件推荐网站外(如小众软件异次元软件),有很多其他的推荐列表,如Github上的Amazing-Windows-Appszhbhun博客也很不错。

  • 标记说明:
    • Free: 有无广告免费版
    • Portable: 有免安装版本
    • Open-source: 开源
    • Replaceable: 虽然很优秀,但是有替代品或不常用

通用

驱动

  • DriverPack Free
    • 驱动自动更新软件,界面不错,而且有一些额外功能
    • 在安装时需要手动取消捆绑安装,曾经比X大师和XX精灵干净点,现在已经半斤八两了。关于捆绑软件的问题参见AppInn
  • AIDA64
    • 硬件参数查看和烤机软件,比较全面。如果喜欢简洁一点的可以使用CPU-zGPU-z
    • 不免费,不过用的情况也很少,一般是装机或者超频完用一下,因此试用版也够用了。如有需要可以上CRACKsurl找Keygen。
  • HWiNFO Free & Portable
    • 另一款CPU-zGPU-z的结合体,但是不如AIDA64稳定

压缩

  • WinRAR
    • 老牌压缩软件,压缩很方便。恢复记录和加密都很有用。
    • 现在有中文官网了,不过看着不靠谱。
    • 由于WinRAR在解压时需要缓存空间,因此解压大文件时可将缓存位置设在同一盘符下。
  • Bandizip Free
    • 功能比较全面,界面有很友好的解压软件!完全可以替代7-Zip
    • 右键菜单可以进行压缩文件预览,还有自动解压的贴心功能(自动识别单个压缩根目录文件夹的情况)
    • 相比WinRAR由于没有恢复记录功能,因此较少使用。
  • ImgBurn Free
    • 用来烧写和读取光盘镜像(ISO文件)的软件,提到镜像烧写软件除了UltraISO一般都会提到ImgBurn。简洁好用、功能充足。
    • 虽然不是压缩软件,但是由于.iso文件经常被当作压缩文件使用,因此也放在此类。
  • Advanced Rar Repair Free & Portable
    • 用来修复损坏的压缩包(包括没有恢复记录的)。成功率低,但聊胜于无啊!恢复一点是一点。
Read more »

我经常会碰到拿别人的代码过来用却发现不是Python写的代码的情况。这个时候,如果你想调用他的代码,要么自己费力地把他的和自己的代码翻译成同一种语言,要么利用语言特性直接调用(如Lua直接调用C函数),但其实最简便的办法是通过外部程序调用的方式调用他的程序,只要传入相关参数即可~本文就讲一下在Python下调用外部函数或者命令的几种方法~

os.system

这个函数和C语言中的system()函数是类似的。这个函数比较简单,但是只能调用系统命令,无法直接调用外部函数,也无法获取运行的返回值或者输出流什么的,简便但不够灵活。

os.spawn*

Python中os模块自带的函数spawn*是我最早接触到可以调用外部程序的函数,根据*的不同具体一共有八个函数

1
2
3
4
5
6
7
8
os.spawnl(mode, path, args*)
os.spawnle(mode, path, args*, env)
os.spawnlp(mode, file, args*)
os.spawnlpe(mode, file, args*, env)
os.spawnv(mode, path, args)
os.spawnve(mode, path, args, env)
os.spawnvp(mode, file, args)
os.spawnvpe(mode, file, args, env)
Read more »