第 12 期:程序员未来怎么转型?
最后更新于
最后更新于
@Author : Lewis Tian (taseikyo@gmail.com)
@Link : github.com/taseikyo
@Range : 2021-01-17 - 2021-01-23
总字数:4493 个(汉字:1488,英文单词:919,数字:351,中文标点:193,英文标点:1542),阅读时长约:8 分 31 秒。
*Photo by Alvaro Reyes on Unsplash
1018.可被 5 整除的二进制前缀
用 Jupyter 编写交互式 Go 程序(Medium)
LaTex 中的数学公式
wget 一些技巧(中文)
程序员未来怎么转型?
给定由若干 0 和 1 组成的数组 A。我们定义 N_i:从 A[0] 到 A[i] 的第 i 个子数组被解释为一个二进制数(从最高有效位到最低有效位)。
返回布尔值列表 answer,只有当 N_i 可以被 5 整除时,答案 answer[i] 为 true,否则为 false。
简单来说就是依次组成二进制数,能够被 5 整除。
初始写法:
我以为这样写会更快,实际上并不是,更慢了(8ms -> 12ms)
Jupyter 因为既支持 Markdown 又能写交互式 Python 代码很受欢迎(虽然我用得不多就是),最近想用这个写写 Go,然后搜了一下,果然有人实现了,也就是这篇文章。
作者也是从 Python 转 Go 的,不然也不会去实现这个东西(Go Jupyter environment)。作者为什么要劳神劳力去实现这个呢,因为他没找到一个毕竟完美的,要么不好用,要么功能不全(不支持代码补全、检查或显示非文本内容等等),于是他从 0 开始实现了 Go 的 Jupyter 运行环境。
GitHub 主页:https://github.com/yunabe/lgo
主要特点:
像 Python 一样交互式地编写和执行 Go
完全支持 Go 语言规范。100% gc (Go compiler)兼容
代码补全,检查和代码格式化在 Jupyter 笔记本
显示图片,HTML,JavaScript,SVG 等
来自控制台的交互式 REPL 模式
完全支持 goroutine
安装前设置好 GOPATH
GOBIN
等环境变量, lgo
需要额外设置一个环境变量 LGOPATH
我直接将它设置为 GOPATH
,运行完 lgo install
之后 lgo-internal
就被安装到 GOBIN
目录了。
更新:注意 go 版本需要装 1.13,我试过 1.15 安装失败了。而且 go-1.13 的路径为 /usr/lib/go-1.13/bin/go
,需要手动添加到 PATH,或者做一个软链接。
实际使用感觉一般,出结果太慢了
还有 Jypyter 命令行模式,出结果也很慢,基本不能正常使用
最后是 REPL 模式,一个鬼样子,出结果慢,更离谱的是换行的反大括号没法移到命令行开头
算是第二次使用 Latex 了,需要写公式,因为在 Markdown 中也有写过公式,知道 $
的用法,行内行间公式区别。但是怎么给每行公式打 label、让它自动编号我就不会了,于是搜了一下,还是记一下吧,虽然以后遇到问题可以还是直接去搜去了。
数学公式的前后要加上 $
或 \(
和 \)
,比如:$ f(x) = 3x + 7 $
和 \( f(x) = 3x + 7 \)
效果是一样的:( f(x) = 3x + 7 )
如果用 \[
和 \]
,或者使用 $$
和 $$
,则该公式独占一行;
如果用 \begin{equation}
和 \end{equation}
,则公式除了独占一行还会自动被添加序号, 如何公式不想编号则使用 \begin{equation*}
和 \end{equation*}
。
普通字符在数学公式中含义一样,除了 # $ % & ~ _ ^ \ { }
,若要在数学环境中表示这些符号,需要分别表示为 \# \$ \% \& \_ \{ \}
。
另外在括号内的空格也需要转义,否则会被吞掉,如 $ x = (a+b) / (my\ size) $
1、奇怪的 -qO-
参数
-q
:--quiet
,安静模式,无信息输出
-O
:把后面网址下载后,改成一个指定的名称,如果后面没有跟着一个名字,而是 "-",则表示将下载后的内容输出到标准输出,也就是输出到屏幕上
-qO-
:把下载的内容输出到标准输出,但并不在屏幕显示,目的当然是直接传递给 bash 进行解析执行了
2、有时候会在 wget 前面加一个 "\",这个意思是取消别名调用,执行原命令
3、下载后保存到指定目录
4、断点续传,如果不使用 "-c" 则表示重新开始整个下载,且在下载的文件后面加 ".1",因为之前没有下载完的文件还存在。
5、对于大文件,你可以用 "-b" 参数在后台下载,输出信息会保存在同目录的 "wget-log" 中,你可以用 "tail -f wget-log" 来查看。
今天看到 我,75后,年薪几十万累到不行,离开上海回乡下种地放羊 这篇文章,作者在上海工作十八年,每天拼命学技术、开研讨会、最多一年出差飞行近百次。这些努力让他收获了世界五百强公司技术专家的名头、上海内环的房子、几十万的年薪,但也累出了一身病,长期日夜颠倒,神经紧绷。最终他选择离开上海,在绍兴包了 30 亩地,开垦荒地,养起了鸡、鹅和羊。
看完这篇文章,想着他的"前半生",可能就是我将来的生活状态,不禁陷入深思,我真的想要这种生活吗?这种类似 996 的程序员生活真的是我想要的吗?另外他后面的转型,真的好吗?虽然我也曾想着在农村整一片地,房子周围种一片果树,成熟时间分布在一年四季那种,这样每个季节都有新鲜水果吃,再养些鸡以及一猫一狗,可能这就是比较理想的摸鱼生活了吧?不过说起种地,长期呆在电脑前,没运动,别说,还真干不来那些农事。
后来室友发了条消息:39 岁网络技术员入住养老院,早 6 晚 9 的作息、和老人一起追剧晒太阳,让我哭笑不得,这或许是程序员的未来出路之一?
以前跟同学聊着说不可能一直写代码,后面得转管理层,或者另寻出路了。但事实是,可能管理层很多都是从其他公司挖过来的,哪里比得过别人,或许有同学直接走选调是一条明路。
有时候,也挺羡慕 b 站上那些后浪的。