使用iPad开发折腾记

为什么要用iPad开发? 第一,我不想再买台电脑或者笔记本放在家里。因为我也不用电脑来打游戏。而且无论台式机还是笔记本都比较占地方。搬家也费劲。 第二,我只有一台MacBook Pro,以前下班也会背着,因为总有些事情需要做。但是自从有一天觉得肩膀不舒服了,我就决定不再背电脑。廉颇老矣,腰酸背痛。 虽然不再背电脑,但是偶有雅兴,心血来潮,我还需要写点博客或者代码的。 所以我买了台iPad来开发或者写博客。 前期准备工作 硬件准备 一台iPad 一个蓝牙键盘。最好买那种适合笔记本的蓝牙键盘,千万不要买可折叠的蓝牙键盘,因为用着不舒服 软件准备 常规的功能,例如写文字,写博客,一个浏览器足以胜任。唯一的难点在于如何编程。 目前来说,有两个方案: 方案1: 使用在线编辑器。例如码云,github, codepen等网站,都是提供在线编辑器的。优点是方便,免费。缺点也很明显,无法调试或者运行代码。 方案2: 购买云主机,iPad上安装Termius, ssh远程连接到服务端,在真正的操作系统中做开发。优点是比较自由,扩展性强。缺点是需要花钱,而且在没有IDE环境做开发是有不小的难度的。 方案1由于比较简单,就不赘述了。 着重讲讲方案2: 购买云主机 一般来说,即使是最低配置的主机,一年的费用也至少要几百块。但是也有例外情况。我的目标是找那些年费在一百块以内的云主机。 针对大学生的优惠。一般大学生可以以几十块的价钱买到最低配的云主机。 针对新用户的优惠。新用户的优惠力度还是很大的。一般用过一年之后,我就会转站其他云服务提供商。所以国内的好多朵公有云,基本上我都上过。唯一没上过的就是筋斗云。 特殊优惠日。一般来说,一年之内,至少存在两个优惠日,双十一和六一八。在这两个时间点,一般可以买到比较优惠的云主机。 开发环境搭建 使用Terminue连接到远程服务器上。注意最好在公有云上使用公钥登录,并禁止掉密码登录。最好再安装个fail2ban。因为每个云主机基本上每天都有很多恶意的登录尝试。 需要安装oh-my-zsh. 最好用的sh, 不解释。 作为开发环境,一个屏幕肯定是不够的,所以你需要tmux. 编辑器呢。锻炼自己的VIM使用能力吧。VIM是个外边比较冰冷的编辑器,上手难度相比于那些花花绿绿的编辑器而言,显得那么格格不入。但是就像有首歌唱的的,有些人不知道那些好,但就是谁也替代不了。 总之呢,你必须要强迫自己能够熟练的运用以下的几个软件: VIM tumx 后记

2020-09-08 20:37:52 · 1 min · Eddie Wang

岁月的皮肤

早上六点多起床,搭乘半个小时的地铁,来到医院做体验。 在抽血排队叫号的时候,我看到一位老奶奶被她女儿搀扶着坐在抽血的窗口前。 老奶奶把右边的胳膊伸到抽血的垫子上,那是让人看一眼就难以忘记的皮肤。她的皮肤非常松弛,布满了褶皱,褶皱上有各种棕色和深色的斑点。 我回想起了高中时学的生物学,皮肤是人类最大的一个器官,并且是保护人体的第一道防线。 我不禁看了看自己胳膊,思绪万千。或许以后我的皮肤也是这样吧。这就是岁月的皮肤! 时间啊!你走的慢点吧! 人生很短,做些值得回忆的事情吧。

2020-08-30 21:47:35 · 1 min · Eddie Wang

从日漫到美漫

我挺喜欢看动漫的,尤其是日漫(似乎也没有别的选择🐶)。 小时候星空卫视放七龙珠,大学追火影和海贼王。日漫中梦想和激战总是少不了,这也是少年所必不可少的。但是日漫有个很大的特点,就是烂尾。 没办法,漫画一旦达到了一定的连载时期,很多时候往往不受原作者控制了。这其中可能涉及到不少人的利益纠葛。 与动辄几百集的日漫相比,美漫似乎更加偏向于短小精悍。 近年来我也看过一些不错的美漫。例如瑞克和莫提,脆莓公园。这类漫画有个特点,就是更加现实,当然其中也不乏有温情出现。看这类漫画,让我想到李宗吾先生所说的厚黑学。感觉美国人是无师自通,深谙厚黑之哲学。 也许动漫没有变,变的是我们自己:从梦想和激战转变到现实和厚黑。

2020-08-30 21:22:46 · 1 min · Eddie Wang

统一入口Makefile

Makefile ---src |___Makefile |___main.c 如何编写顶层的Makefiel, 使其进入到src中,执行src中的Makefile? run: $(MAKE) -C src target a=1 b=2

2020-08-22 11:41:32 · 1 min · Eddie Wang

tmux深度教学

tmux使用场景 远程ssh连接到服务器,最难受的是随时有可能ssh掉线,然后一切都需要花额外的时间重新恢复,也有可能一些工作只能重新开始。 在接续介绍tmux之前,先说说mosh。 【mosh架构图】 我曾使用过mosh, 据说mosh永远不会掉线。实际上有可能的确如此,但是mosh实际上安装比较麻烦。mosh需要在服务端安装server, 然后要在你本地的电脑上安装client, 然后通过这个client去连接mosh服务端的守护进程。mosh需要安装在客户端服务端都安装软件,然后可能还要设置一下网络策略,才能真正使用。 mosh需要改变很多,这在生产环境是不可能的。另外即使是自己的开发环境,这样搞起来也是比较麻烦的。 下图是tmux的架构图。实际上我们只需要在服务端安装tmux, 剩下的ssh的连接都可以用标准的功能。 【tmux架构图】 tmux概念:sesssion, window, panes 概念不清楚,往往是觉得tmux难用的关键点。 session之间是相互隔离的,tmux可以启动多个session 一个session可以有多个window 一个window可以有多个panes 在tmux中按ctrl-b w, 可以在sesion,window和panel之间跳转。 注意:默认情况下,一个sesion默认会打开一个window, 一个window会默认打开一个pane。 session操作 创建新的sesssion: tmux new -s some_name 脱离session: ctrl-b +d 注意即使脱离session, session中的内容还是在继续工作的 进入某个session: tmux attach -t some_name 查看sesion列表: tmux ls kill某个session: tmux kill-session -t some_name kill所有session: tmux kill-server 重命名session: ctrl-b $ 选择session: ctrl-b s window操作 新建: ctrl-b c 查看列表: ctrl-b w 关闭当前window: ctrl-b & 重命名当前window: ctrl-b , 切换到上一个window: ctrl-b p 切换到下一个window: ctrl-b n 按序号切换到制定的window: ctrl-b 数字 数字可以用0-9 panes操作 pane相当于分屏,所有pane都是在一个窗口里都显示出来的。这点和window不同,一个window显示出来,则意味着其他window是隐藏的。...

2020-08-22 08:00:03 · 1 min · Eddie Wang

打造高可扩展性的微服务

关键技术 Docker: 容器 kuberneter:架构与部署 HELM: 打包和部署 Prometheus: 监控 Open TRACING + ZIPKIN : 分布式追踪 关键性能指标 I/O 性能: 启动耗时: 当服务出现故障,需要重启时,启动的速度越快,对客户的影响越小。 内存使用:

2020-08-15 21:14:13 · 1 min · Eddie Wang

vim ctags安装及使用

安装 # ubuntu or debian apt-get install ctags # centos yum install ctags # centos # macOSX brew install ctags 注意,如果在macOS 上输入ctags -R, 可能会有报错 /Library/Developer/CommandLineTools/usr/bin/ctags: illegal option -- R usage: ctags [-BFadtuwvx] [-f tagsfile] file ... 那么你可以输入which ctags: /usr/bin/ctags # 如果输出是这个,那么路径就是错的。正确的目录应该是/usr/local/bin/ctags 那么你可以在你的.zshrc或者其他配置文件中,增加一个alias alias ctags="/usr/local/bin/ctags" 使用 进入到项目跟目录 ctags -R # 当前目录及其子目录生成ctags文件 进入vim vim main.c # :set tags=$PWD/tags #让vim读区当前文件下的ctags文件 # 在多个文件的场景下,最好用绝对路径设置tags文件的位置 # 否则有可能会报错neovim E433: No tags file 快捷键 Ctrl+] 跳转到标签定义的地方 Ctrl+o 跳到之前的地方 ctrl+t 回到跳转之前的标签处 :ptag some_key 打开新的面板预览some_key的定义 下一个定义处 上一个定义处 gd 当前函数内查找当前标识符的定义处 gD 当前文件查找标识符的第一次定义处

2020-08-10 09:29:24 · 1 min · Eddie Wang

iTerm2 使用触摸版向下滚动命令输出

以前有个iTerm2有个很贴心的功能,鼠标向下滚动时,相关命令的输出也会自动向下。 但是不知道最近是升级系统还是升级iTerm2的原因,这个功能实现不了。😭😭😭😭😭😭😭 例如用vim打开一个大文件,或者使用man去查看一个命令的介绍文档时。如果要想向下滚动命令的输出内容。只能按j或者按空格或者回车。然而按键虽然精确,却没有用触摸板滚动来的爽。 为了让vim能够接受鼠标向下滚动功能,我也曾设置了 set mouse=a 这个设置虽然可以用触摸板来向下滚屏了,但是也出现了意想不到的问题。 然后我就去研究iTerm2的配置,发现关于鼠标的配置中,有一个 Scroll wheel send arrow keys when in alternat screen mode , 把这个指设置为Yes。那么无论Vim, 还是man命令,都可以用触摸板去滚动屏幕了。

2020-07-23 14:26:54 · 1 min · Eddie Wang

mac上netstat命令

Mac上的netstat和Linux上的有不少的不同之处。 在Liunx上常使用 Linux Mac netstat -nulp netstat -nva -p udp netsat -ntlp netsat -nva -p tcp 注意,在Mac上netstat的-n和linux上的含义相同

2020-07-23 14:16:35 · 1 min · Eddie Wang

获取本机外部公网IP

curl ip.sb curl cip.cc

2020-07-14 11:14:14 · 1 min · Eddie Wang