Install & Configure Arch Linux

Install & Configure Arch Linux

Notice: This article is only available in Chinese. :( 早就听闻 Arch 邪教的大名,Arch的维基对于新手入门Linux有很大的帮助,无论是在用哪个发行版;我也曾带着各种各样的奇怪问题,从搜索引擎、serverfault和各种论坛来到 ArchWiki 。 最开始我是抱着折腾到底的心态才想来尝试Arch的,毕竟我实在是太会折腾了。作为一个经历过 Fedora 、 Debian 的长期 Ubuntu 用户,最近因为期末了没时间,只是浅尝了一下Arch的一个衍生发行版 Manjaro 。 Manjaro身上虽已经有了许多Arch的特征(毕竟是衍生发行版嘛),但因为其预装了许多可能不必要的软件,还是比较臃肿(顺着本文安装Gnome桌面后空间占用只有6GB左右;如果再适当精简部分软件或使用 xfce 桌面的话会更小) …

Continue reading

Binary Search Reexplained

Binary Search Reexplained

Notice: This article is only available in Chinese. :( 写在前面 二分虽然看起来没有几行,但 真的算不上简单 ;细节方面陷阱很多. 像我这种不拘小节的人,真的 😖。 为此,我想系统地整理一下二分笔记。查了好一些资料,算法笔记、Segmentfault、知乎、博客园,有关二分查找的内容其实挺多的。然而大多数内容文字多形象表达少,算法全是语言描述,十分抽象,甚至不如直接上代码;这看得可真够累的,有那么麻烦吗? 我丢掉了大多数抽象而没必要的解释,整理了几个二分及变形的例程,写了这篇详细讨论常见的几种二分及变形算法的笔记。文中的例程均使用 C 。 为了清晰地观察算法的每一个动作,我定义了一个函数 printStack() ,即本文的主角: void printStack(int arr[], int n, int l, int m, int …

Continue reading

Using zsh as the best alternative to bash

Using zsh as the best alternative to bash

Notice: This article is only available in Chinese. :( 先放上效果图 好像是挺精致的;(心情好)功能强大效率也许会高那么一些😊。 使用 /U/t/Doc/Pro + -> 代替 /U + ->/t + ->/Doc + ->/Pro + -> 来切换到 /User/twikor/Documents/Projects 随时观察到当前时间、当前项目使用的nodejs、PHP、Laravel等的版本(居然没有python、Flask)、服务器载荷... 当前目录项目git状态指示(真的不能再方便) 自动补全(✌️) ls目录下不同类型颜色区分 观察命令执行时长 可高度自定义主题与插件,增加额外的功能 安装zsh …

Continue reading

Brief guidance to linux systemd configuration

Brief guidance to linux systemd configuration

Notice: This article is only available in Chinese version. :( 习惯了诸如 " systemctl {start|status|stop|enable|disable} httpd " 等类似的命令?在Linux中如何将普通的应用程序设置成服务? 这里以 frp client 为例,实现在 Ubuntu 18.04 上的普通的应用程序添加进守护进程以方便配置自启动。 配置service文件 在应用程序的安装或配置位置,新建一个 frpc.service ,然后再来按照区块编辑这个文件: Unit 负责服务的描述,启动顺序和依赖关系。 Before 和 After 定义服务的启动顺序(在某个程序之前或之后)。 require 要求某个服务启动成功,否则不会启动该自定义服务,而 Wants 则不会终止该自定义服务的启动。 …

Continue reading

Using putty to connect raspberry pi by serial

Using putty to connect raspberry pi by serial

Notice: This article is only available in Chinese. :( 最近收到了期盼已久的树莓派:3B和zere 0w,当然要晒一晒了, 就像这样 。 在连包装盒一起里里外外欣赏了个透之后,就有疑问来了:没有HDMI接口的显示器,该怎样给好吃的连无线网络呢?(尽管是有的,我还是这么想了)USB直连?可能不大行得通(人家只是电源接口而已,USB直连根本不行),还有烧板子的风险。查了查dalao们的博客,ttl串口通讯,好的,猜得八九不离十。 材料 USB转TTL串口连接线(带芯片),serial controller 驱动 连线 红色连接5V,黑色接地,还有两根白绿分别接TXD和RTX。 自带电源供应时就不能连接5V红线,据说会烧板子(娇气;要是有外设譬如电机驱动板,可能失误带来的后果会小一些)。 附赠 树莓派实验室 出品 引脚图一张: 安装驱动 …

Continue reading

Lumen custom page-notfound response

Lumen custom page-notfound response

Notice: This article is only a available in Chinese version available. :( 在 App\Exceptions\Handler 中引入: use Symfony\Component\HttpKernel\Exception\NotFoundHttpException; 然后在 render() 中更改响应的方式。 如果要渲染成页面,可以先在view文件夹中添加error.blade.php文件,然后在 render() 中 return 前加入判断404的语句: if ($e instanceof NotFoundHttpException){ return response(view("error"),404); } 如果要渲染成Json格式输出,可以直接使用json(): if ($e instanceof …

Continue reading

NGINX 开放跨站请求

在Twic lab中新添加了一个CDN项目 T HREF ,将常见的字体、前端框架等静态文件统一放在里面,便于引用。 然而在实际应用时,发现能够直接访问文件,能够在同一域下的其他文件中调用,却不能够在其他域中调用。 解决方法: 在CDN项目的NGINX配置文件中添加响应头: add_header Access-Control-Allow-Origin *; 以开放跨站请求,即可解决问题。

Continue reading

Ubuntu 16.04 升级至 17.10

虽然部分VPS商家如Vultr等在部署时均提供Ubuntu 17.10版本,大多数的提供商(至少我遇到的两三家)的Ubuntu版本都还是在16.10及以下。为了方便使用,当然想把我的所有VPS都弄成同一个操作系统统一版本;既然决定使用Ubuntu 17.10,那么剩下的如何更新呢? 若是Ubuntu17.04,只需 " apt update " 后执行 " do-release-upgrade " 。但是对于以下的版本 (<= 16.10) ,似乎需要折腾一会儿。 更新已安装包 还是照常, apt update 如果有更新,就 apt upgrade 安装并配置更新管理 apt dist-upgrade apt install update-manager-core 安装好后打开 " /etc/update-manager/release-upgrades " ,找到最后一行,将 …

Continue reading

Using Samba to share files between Linux and Windows

Using Samba to share files between Linux and Windows

Notice: This article is only available in Chinese. :( 前面已经介绍了 家庭共享服务器的搭建 ,简单介绍了ftp服务器的安装配置与使用。虽然已经可以满足大部分的使用需求,但是有时候还是不太方便。 现在家中的这台服务器整天地跑着,它不仅用来存放视频和图片,也用来存放我的文件,例如代码。有时会在手机上写,有时也会在笔记本上写。若每一台都配置git直接传到gitlab的话当然太过于麻烦,而在手机或笔记本上写完再用ftp传到服务器上似乎不太方便,有时也会忘记。能不能通过什么办法,实现在任意客户端上写后立刻存盘至服务器,像是直接在本地编辑?挂载似乎很好地解决了这个问题。 这里我们使用Samba来实现工作组内共享,并在Windows上进行远程硬盘的挂载。 服务器配置 安装Samba yum install samba …

Continue reading