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 r, …

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

Dream review on 23rd December

Dream review on 23rd December

Notice: This article is only available in Chinese. :( 刚醒来的时候,发现自己身处一狭窄的房间中。四周的地板边缘发出暗淡的深蓝色的光;面前有只有几步的小台阶,直连一截狭隘的走廊;走廊右侧便有一更小的房间,其中有着更加黯淡的深蓝色光芒。回想着不久之前发生的一切:天空突然的阴晦,喷气背包燃料的耗尽 … 是些什么记忆,如同梦境一般。 黑夜里的航海人突然从岸上醒来般的震惊使我坐了起来。我用手支撑着自己,同时听到了小房间里的金属碰撞的声音。 “Who is there”,奇怪的是,尽管我知到这个问题的答案,我还是理所当然地问了一句。“Turing”,他一边回答,一边在身旁桌子上翻找着文件,可是并未抬起头。他高大的身躯在小房间的窄门框里若隐若现;衬在蓝色的背景光中,这个房子的主人稍稍弯下了腰,穿过了狭窄的门框走了过来。 …

Continue Reading

Mudmood Gallery

Mudmood Gallery

Not only is this page a tunes' list, but also a gallery to match music with vivid artistic photos or paitings. Just come up with an idea, and this project (if could be called so) is still in process. List kept updating. Every item comes with a link to the source of the tune and a photo or paiting from Unsplash, Pexels or others, used under license. Oltremare https://music.163.com/song/28838117 …

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

Brief guide to install Nginx, PHP, Mysql on Ubuntu 17

Brief guide to install Nginx, PHP, Mysql on Ubuntu 17

Introductions Nginx is a light Web / Reverse Proxy / Mail Proxy server . PHP is a popular server-side scripting language and quite a few applications such as blog , forum applications are written in php . MySQL software delivers a very fast, multi-threaded, multi-user, and robust SQL (Structured Query Language) database server. Preparations Ubuntu 17.10 server and a user with root privileges ( …

Continue Reading

Openssl 升级 Shadowsocks 报错及其解决

在将openssl升级到1.1.0以上版本后,Shadowsocks 2.8.2 启动时会报undefined symbol: EVP_CIPHER_CTX_cleanup错误,如下: INFO: loading config from ss.json 2016-12-14 22:47:50 INFO loading libcrypto from libcrypto.so.1.1 Traceback (most recent call last): File “/usr/local/bin/sslocal”, line 11, in sys.exit(main()) File “/usr/local/lib/python2.7/dist-packages/shadowsocks/local.py”, line 39, in main config = …

Continue Reading