Blue Poison

配置 go 开发环境

由于某些网络原因1,本文所提到的部分网站、下载链接可能在中国大陆地区无法访问,请自行查找解决方案,本文不再赘述。 如果你在阅读本文时遇到了任何问题,请查阅 go 语言官方网站。 下载预编译文件 在 Download Go 选择适合你平台的最新版本文件下载。 本文不推荐使用一键安装包的方式安装 go 语言,即请不要直接下载下图所示的文件: 我们在下面的 Stable versions 后找到最新版本的 go,选择适合自己电脑系统与架构的压缩包。要选择 Archive 而不要选择 Installer。 .notice{padding:18px;line-height:24px;margin-bottom:24px;border-radius:4px;color:#444;background:#e7f2fa}.notice p:last-child{margin-bottom:0}.notice-title{margin:-18px -18px 12px;padding:4px 18px;border-radius:4px 4px 0 0;font-weight:700;color:#fff;background:#6ab0de}.notice.warning .notice-title{background:rgba(217,83,79,.9)}.notice.warning{background:#fae2e2}.notice.info .notice-title{background:#f0b37e}.notice.info{background:#fff2db}.notice.note .notice-title{background:#6ab0de}.notice.note{background:#e7f2fA}.notice.tip .notice-title{background:rgba(92,184,92,.8)}.notice.tip{background:#e6f9e6}.icon-notice{display:inline-flex;align-self:center;margin-right:8px}.icon-notice img,.icon-notice svg{height:1em;width:1em;fill:currentColor}.icon-notice img,.icon-notice.baseline svg{top:0.125em;position:relative} Tip 当然使用 msi 等一键安装包安装也是完全可以的,如果你想要使用一键安装包的方式安装 go,请查阅其他资料。 如果你想要通过源码安装,请自行查阅 通过源码构建。 安装 & 配置 下面分别具体说明不同平台下安装和配置的方法。 Linux 解压压缩文件 这里我们可以直接使用 官方安装指南 提供的指令来解压。 rm -rf /usr/local/go && tar -C /usr/local -xzf go1.17.linux-amd64.tar.gz 本指令会将 go 安装在 /usr/local/go 路径下,因此执行命令需要 root 权限。当然,如果想要将 go 安装在其他路径也是可以的,但是还是推荐安装在官方推荐的路径下。...

August 24, 2021 Â· Aimer Neige

得到一切后我们还会快乐吗

回想起小时候,除了过年外,最快乐的时光大概就是村里赶会。 在每年的固定时间,乡里就会来大量的商人,卖好多新奇的玩意儿。有各种小吃,五花八门的小玩具,平时买不到的衣服,还有诸如打气球,旋转木马等娱乐设施。除此之外,还会有人登台唱大戏,而我看不懂大戏,只喜欢跟着父母讨要各种好吃的小吃。而且这时,我便也不再被要求学习,可以领到父母的零花钱在赶会期间玩乐,通常,每一年的这个时候父母都是最慷慨的。我会带着零花钱买雪糕,饮料,小玩具,还可以在街上看热闹,跟着几个哥哥到处野。 而现在,互联网高速发展,我们想要的一切都可以直接在网络上购买,我们未曾见过的东西也可以通过互联网快都了解。而我也不再是当初的那个见到什么都欣喜万分的孩子,作为正在学习计算机专业的学生,我对如何使用互联网再清楚不过,有想要的东西可以在电商平台一键下单,有没见过的东西也可以在网络上快速找到资料。我了解的越来越多,可当初的那份简单的快乐如今还剩多少呢? 小的时候智能手机并不发达,手机没有拍照的功能,家里人每年都会在特殊的日子,比如儿童节,带我去照相馆拍照,一张张的照片记录了我的成长,也见证了时代的兴衰。现在的手机都有拍照功能,而家里人坐在一起拍照纪念的日子有有多少呢? 得到一切后我们还会快乐吗? 2021年8月21日凌晨 于宁武

August 21, 2021 Â· Aimer Neige

对于某实验平台的吐槽

今天学校不知道哪搞了个平台,让我们去上面做模拟实验,我点开一看,好嘛,没啥用的机器人、电焊,继续看下去还有题目,又懒得上网查答案,但是学校给的通知里有一行话引起了我的注意: 温馨提示:需要从实验空间进入实验,不可直接输入网址进入 不可直接输入网址?我仔细看了下,发现实验空间的作用就是添加一个 token,如果直接进去就是游客,没有办法登录。 这下就好办了啊,虽然是游客,但是游客也可以做题啊,我用游客帐号先做了不就拿到答案了吗? 这个系统果然把正确答案显示在前端了,但是不太好看,于是我就跑去 F12 看了。 结果我在后台找到了下面的代码: $.ajax({ url: "/webApi/experimen/rig/getData", type: "GET", data: { courseId: courseId }, dataType: "JSON", success: function (res) { // 省略的大量代码逻辑 }); 下面的注释是原来就有,不是我加的。 对,这个系统没有对 js 做混淆甚至在代码里有详细的注释。 // 单选 var answer = $('.afterTesting .topic1 form'); for (var k = 0; k < answer.length; k++) { var question1 = $(answer[k]).find(".question1"); var questionAnswer = question1.attr("data-answer"); var userAnswer = question1.find("input[type='radio']:checked").val(); var score = parseFloat(question1....

August 19, 2021 Â· Aimer Neige
rime-logo

定制你的 rime 提升编程体验

平时在使用 Linux 写代码的时候,总有一点让我很难受,那就是当我准备写中文注释的时候,输入 // 的时候,输入法总是希望我手动选择是要输入 / 还是中文的 、,随之弹出来的框非常影响代码编辑,经常打断我的思路,类似的还有反引号等符号,不厌其烦的我去查找了一些资料,终于彻底解决了这个问题。 准备 阅读本文前,你要保证你在使用 rime 输入法。遇到任何问题请多查阅 rime 提供的文档。 本文所提到的内容在 fedora34 系统下,ibus-rime 包测试通过。 找到 rime 用户资料夹 不同的平台下,rime 用户资料夹的位置会有所不同 平台 rime 用户资料夹位置 ibus ~/.config/ibus/rime fcitx ~/.config/fcitx/rime fcitx5 ~/.local/share/fcitx5/rime 创建你的配置文件 如果你从来没有配置过 rime,那么你可以直接在 rime 用户资料夹下创建名为 default.custom.yaml 的配置文件,写入如下内容: patch: punctuator/full_shape: "`": "`" "~": "~" "!": "!" "@": "@" "#": "#" "$": "¥" "%": "%" "^": "……" "&": "&" "*": "×" "(": "(" ")": ")" "_": "——" "+": "+" "-": "-" "=": "=" "[": "【" "]": "】" "{": "{" "}": "}" "|": "|" "\\": "、" "/": "、" ";": ";" "'": "‘" ",": "," "....

August 19, 2021 Â· Aimer Neige
hugo-logo

Hello Hugo

前言 距离上一次写博客文章已经很长时间了,因为经常重装系统,而每次在电脑上安装和配置 hexo 的博客都是一件比较麻烦的事情,于是就一直咕了。但是最近我发现了 hugo 这一简洁好用的博客系统,可以让我远离配置安装都又慢又麻烦的 hexo,使用下来体验很棒,而我恰好又打算换一个博客主题,于是决定使用 hugo 来搭建我的新博客。本文简要介绍如何安装和使用 hugo。 安装 你可能需要 go 的开发环境 git 一个顺手的编辑器 你一定不需要 nodejs npm 安装 hugo 要安装 hugo 非常简单,以 fedora 系统为例,只需要执行如下指令: sudo dnf install hugo 创建站点文件夹 使用以下指令创建你的站点文件夹: hugo new site blog 切换到工作目录进行后续操作: cd blog 使用 git 进行版本控制: git init 安装主题 挑选好合适的主题后,将其直接 clone 在 ./themes 文件夹下即可。 git clone https://github.com/adityatelange/hugo-PaperMod themes/PaperMod --depth=1 使用 --depth=1 参数会忽略历史 commit 记录。 当然,下载解压压缩包的方式也是可以的。 如果想要方便版本控制和更新,使用如下指令添加 submodule: git submodule add https://github....

August 17, 2021 Â· Aimer Neige
nodejs logo

使用 nodejs 快速为 Android 程序构建 API

前言 之前在学习安卓的时候,很想要给自己的软件增加一个云服务功能,但是苦于没有学过后端,于是开始在互联网上查找资料。但是遗憾的是,后端是一个很大的范围,我查找了很多后端的资料也几乎都是在讲解如何写网页,并没有专门用来给安卓写后端的教程,在广泛地学习了大量后端内容后,成功的为自己的程序开发了一个简单的 API。希望这篇文章能够帮到那些没有系统地学习过后端,但是却想要快速开发一款能用的 API 的安卓开发者。 前期准备 你要了解互联网通讯原理 你要会一些基础的 JavaScript 你要有一台服务器 你会数据库操作 最好有一个域名(非必须) 掌握基础的终端操作 环境配置 本文章中后端开发使用的开发语言为 JavaScript 配合 nodejs。数据库采用常用的 mysql。 注: nodejs 开发常用的数据库是 mongodb,但是由于 mysql 比较常用这里就用 mysql 了,当然其他数据库也是可以的,你可以查找一下 nodejs 如何链接这些数据库,并将本文中 mysql 操作的部分替换掉就可以了。 本地测试客户端安装 你需要在自己用来开发的电脑上安装配置如下环境: nodejs npm 安装 nodejs Linux 下直接使用包管理安装即可。如果包管理安装的 node 很旧,可以自行谷歌一下安装方法,这里不再赘述。 以 Ubuntu 为例,直接在终端执行如下指令: sudo apt install nodejs 安装完成后使用 node -v 查看 node 版本来确认安装是否成功。 如果是 windows 用户就更加简单了,直接在 nodejs 官网 下载安装包运行即可。推荐使用长周期稳定版本。如果你想体验新特性,也可以考虑使用最新的版本。 安装 npm 通常情况下,安装 nodejs 时会附带安装 npm,你可以直接使用 npm -v 来查看当前系统安装的 npm 版本来检测安装情况。...

January 30, 2021 Â· Aimer Neige
editorconfig-logo

利用 EditorConfig 定义代码格式,统一代码风格

在多人协作的项目中,为了同一代码格式,可以使用 editorconfig 来定义,这样不仅可以帮助协作者快速了解当前项目要求的代码风格,也可以方便使用一些格式化工具保证代码风格按照预期格式化。 快速了解 What is EditorConfig? EditorConfig helps maintain consistent coding styles for multiple developers working on the same project across various editors and IDEs. The EditorConfig project consists of a file format for defining coding styles and a collection of text editor plugins that enable editors to read the file format and adhere to defined styles. EditorConfig files are easily readable and they work nicely with version control systems....

January 29, 2021 Â· Aimer Neige
Rime logo

Linux 下安装 fcitx5 与 Rime

前言 Linux 下中文输入法一直是硬伤,各种方面都没有 windows 或 mac 下好用,最近在逛 github 的时候偶然翻到一个仓库 四叶草拼音输入方案,这个仓库提供的输入方案用起来十分舒服,但是在安装的时候也遇到一些坑,于是写了这篇文章来记录。 测试环境: .............. aimerneige@an ..,;:ccc,. ------------- ......''';lxO. OS: Kali GNU/Linux Rolling x86_64 .....''''..........,:ld; Host: TM1701 .';;;:::;,,.x, Kernel: 5.9.0-kali4-amd64 ..'''. 0Xxoc:,. ... Uptime: 2 hours, 11 mins .... ,ONkc;,;cokOdc',. Packages: 3537 (dpkg) . OMo ':ddo. Shell: zsh 5.8 dMc :OO; Resolution: 1920x1080, 1440x2560 0M. .:o. DE: GNOME 3.38.2 ;Wd WM: Mutter ;XO, WM Theme: Kali-Dark ,d0Odlc;,.. Theme: Kali-Dark [GTK2/3] ..',;:cdOOd::,. Icons: Flat-Remix-Blue-Dark [GTK2/> 3] ....

December 13, 2020 Â· Aimer Neige

每天一个 Linux 指令

ifconfig ➜ ~ ifconfig enx2c16dba37d18: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 10.0.117.154 netmask 255.255.255.0 broadcast 10.0.117.255 inet6 2001:250:c00:218:5bd6:795c:5b92:e787 prefixlen 64 scopeid 0x0<global> inet6 fe80::2224:6ee:2527:f54d prefixlen 64 scopeid 0x20<link> inet6 2001:250:c00:218:44fc:ad73:aeb8:b07d prefixlen 64 scopeid 0x0<global> ether 2c:16:db:a3:7d:18 txqueuelen 1000 (Ethernet) RX packets 110382 bytes 150904005 (150.9 MB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 30811 bytes 3569027 (3.5 MB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 inet 127....

November 10, 2020 Â· Aimer Neige

这不是 Bug,而是语言特性

今天遇到一个奇怪的问题: 一个 C 语言初学者写了这样的错误代码: switch (a) { case1: // do something break; case2: // do something break; case3: // do something break; default: break; } 错误很容易解决,但是,在编译这样的程序时,编译器居然没有报错??!! 那么 case1 case2 这些东西是哪里来的? 几番求证无果,最后在翻阅《C 专家编程》这本书的时候突然发现了原因: 首先像下面这样写是可以的: switch (i) { case 5 + 3: do_again: case 2: printf("I loop unremittingly\n"); goto do_again; default: i++; case 3: ; } 这里定义了一个标签 do_again,并且通过 goto 跳转。 原错误代码中 case1 case2 等被编译器理解为了标签。 由于 goto 不被建议使用,博主居然已经忘记了标签和 goto 的用法。...

November 5, 2020 Â· Aimer Neige