V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  ecnelises  ›  全部回复第 6 页 / 共 12 页
回复总数  221
1  2  3  4  5  6  7  8  9  10 ... 12  
2022-01-06 22:38:54 +08:00
回复了 turtlekey 创建的主题 生活 分享一下小学时发生的两件趣事
小学时候某个乡土课本上写重庆的地图像什么,上面的人说像展翅的雄鹰。后来有个小测验有道题,问重庆地图像什么,我第一反应是之前看地图册留下的印象,像「人」字。结果老师说不对,应该像雄鹰。争执了好久,最后还是妥协了,不过自此以后深刻意识到有些权威就是傻 X

另外一个离谱的:小学卷子上问水滴石穿告诉我们什么道理,我写的「要珍惜时间」,因为站在石头的角度,总有被滴穿的那天……结果自然也是一个大叉
1. Control+R 这个不多说了
2. 设置 CDPATH 这个环境变量,当你要 cd 的目的地在当前目录下找不到时,shell 会在 CDPATH 里的目录一个一个找有没有这个子目录,如果有,就跳过去
3. rm 202{1,2,3}的意思是 rm 2021 2022 2023
4. 输入 fc 命令,可以让你在一个编辑器里编辑上一条命令,保存退出即是执行
5. 命令结尾的&和 wait 命令
6. Control+Z 和 fg
7. 有正则基础的话,学会 sed/awk 基本的删除、替换、过滤只需要十分钟,更高级的文本操作可以用 perl/ruby 的-e 模式
8. sort 、find 命令以及 xargs ,懂的都懂
9. macOS 下可以用 pbcopy 和 pbpaste 操作剪贴板
10. 会一点 Shell 脚本,哪怕只是循环,有时候生活都可以轻松很多
11. zsh 里可以用首字母代替目录,比如 cd /U/u/C/A 按 Tab 就可以变成 cd /Users/user/Code/Android
12. !!执行上一条命令的时候也可以玩替换,比如上一条命令是 gcc -S -O -I./,!!:s/S/c/ 就相当于 gcc -c -O -I./
13. 除了 cd ,你还能 pushd 和 popd 来进入栈顶的目录
14. !:n 可以表示上一条命令的第 n 个参数,比如 vim a.txt ,然后 rm !:1 就是 rm a.txt
15. autojump
16. ripgrep 和 fuzzyf
2021-12-22 22:39:05 +08:00
回复了 714105382 创建的主题 程序员 想深入钻研一门语言 请大家出出主意
这么多楼好像都只说了一种语言,有些语言甚至都没提到。聊点个人看法。

Python
======
算是很多非职业程序员会学习的编程语言,在脚本语言这行里发迹比较早,所以很多 Linux 发行版都会有它。语法中规中矩,除了缩进表示代码层级这点有争议,语言上其他没有让人很恶心的地方,也没有什么难以割舍。Python 比较常用的领域有 C++项目的构建系统、人工智能、若干系统维护的工作,还有一些 Web 项目会用 Python 做。比较大的优点是容易找到有 Python 的环境以及至少会点 Python 的人。

Java
======
用「永远的神」来形容 Java 是没什么问题的。几十年的生态积累非常庞大,如果用它做项目也几乎不用担心招不到人这个问题。Spring 等框架过于复杂,还有 Java 做的桌面程序性能不佳等毛病,让大家对 Java 印象不太好。不过连 Golang 都可以有泛型,那 Java 自然也是可以现代化的。也算是和 Python 挺像,在各自的领域里中规中矩,如果真的不知道选什么,那选它不会有啥大错。多年来许多人觉得 Java 和 C++是竞争对手,至少在今天事实并非如此,它们的优点几乎不重合。

C♯
======
最早是以 Better Java 的形象出道的,时至今日似乎已经走出一条自己的路。曾经有个笑话,说 C♯为什么没有 Spring 这种框架,答案是因为微软没有春天。还有个笑话是说 Java 程序员都戴眼睛,因为他们 can’t see sharp 。这俩笑话其实反映出 C♯的特点,就是语言特性远比 Java 丰富,写起来更爽,但生态不够好,招人更难。如果单纯为学习目的,C♯很值得了解,毕竟其父是 Anders Hejlsberg ,编译器领域上古大佬。

JavaScript
======
一说是披着 Java 语法皮的 Lisp ,几乎绕不开的语言。早年乏善可陈,除了原型继承和对象模型和其他语言差异较大值得了解。因为赶上好时代,一方面性能在各家军备竞赛下彻底高出其他脚本语言一个档次,另一方面各种语言变种层出不穷试图弥补其语言缺陷。到今天算是强大的现代语言,还自带可能是地球上最丰富的库和工具生态( Java 人家至少没什么人天天想着拿 AST 搞事)。不是你想不想学的问题,时至今日做开发没法绕过它,而且在几乎所有主流平台上都能找到自带的 JavaScript 运行时。这个圈子的程序员一个比一个能整活,人称码农娱乐圈。

PHP
======
「最好的语言」,最早就是一个能编程的模版引擎,Web 领域干简单的活没人比它更快,LAMP 这个缩写简直是一个时代的回忆。后来 PHP 也加了很多东西,包括模仿 Rails 的 Laravel 以及 Swoole ,不过不妨碍大家还是按照它曾经的定位玩。语言方面可以玩的不算多。

Ruby
======
这个在国内算是大冷门吧,不过是我最喜欢的语言之一。Ruby 和 JavaScript 有点像同父异母从小分家的两兄弟,都被人说是批皮的 Lisp 。Ruby 有 Perl 风格的简洁操作、完整的面向对象和函数式能力。高度的动态性使得它表达能力非常强,参考 Sinatra 这样的微型 Web 框架。到 2021 年,Ruby on Rails 依然是 Web 开发领域的最强生产力,这么多年在这块也积累下了不少生态。此前被诟病的几个缺点(没有 JIT 、没有静态类型检查工具、缺少完善方便的异步 I/O )从 3.0 开始也在被一个个解决。问题是会的人不多,但非常值得个人学习 /写个人项目。

Perl
======
当年骆驼书没看多少页就弃坑了。在类 UNIX 系统上 Perl 可能比 Python 更常见,处理字符串和正则的语法非常简洁强大,以至于有人说这个语言是 Write-only 的,就是写一次以后自己就看不懂了。如今应该只有一些历史悠久的系统里能看到 Perl 的大量使用(新项目里取而代之的往往是 Python )。Perl 6 做了很多年,除了那个极其鬼畜的 Logo 外,好像很少听说新消息。如果能接受 Perl 的奇葩语法,学一学也是挺有意思的。

Scala
======
对 Scala 了解不多,不多扯淡了。主要印象就是把函数式编程和面向对象缝得比较好,类型系统比主流这些语言强。还有就是因为跑在 JVM 上,所以也能受益于 Java 生态。作者 Martin Odersky 也是编程语言和编译器大佬。没接触过这类语言的话,学学 Scala 应该能开眼界。

Swift
======
大家都知道 Swift 背后是宇宙市值最高公司苹果。但 Swift 算是成也苹果败也苹果。2014 年 Swift 发布,2015 年开源,基本和 Rust 1.0 同一个时间,也都基于 LLVM ,如今两者在 GitHub 的 star 数也差不多。但就业界前景而言,Swift 和 Rust 看起来越差越远。Swift 的核心团队和 LLVM/Clang 相当重合,所以无论是编译器实现还是语言设计,Swift 都有不少出彩之处(更何况极不尊重兼容性的苹果在 Swift 早期,每年都要对语言进行大量破坏性修改,被人调侃一年一个新语言,直到 Swift 4 语言核心才基本稳定,好处就是很多坑被扔掉了),比如多范式的异常处理,算是众多语言里比较之下相当舒适的。如果说 Golang 是所谓的大道至简;那么 Swift 奉行的就是兼容并包,拥有主流编程语言里最多的关键字,最新版加入了 async/await/actor ,接下来的 6.0 还会加入所有权机制,更远还有和 C++的无缝互操作。Swift 社区一直有更远大的理想,比如进军服务端。但终究还是要为苹果的生态服务。Swift 就像班级里那个门门功课考 80 ,每周还有半天缺课(指兼容 Objective-C )的学生,自然不如那些一些科目满分,另一些不及格的学生引老师注意。BTW ,Swift 的编译器是 C++写的,在这些编译型语言里,算是少数没有自举的。

Kotlin 和 Groovy 了解不多。从 Compose 这个项目就能看出,Kotlin 也充满野心,除了 JVM ,也能编译到 Native 和 JavaScript. Kotlin 、C♯和 Swift 像是奇特的结拜三兄弟,不怕 Feature 多,就怕糖不够甜,各自肩负着父辈平台的野心。

还有一个楼主没有提到的就是 Rust ,工具链完善,性能足够好,生态也在越来越丰富,很对一部分函数式爱好者的胃口。但没有 C++经历恐怕不好理解复杂的语言规则是要解决什么问题,而且乱七八糟的符号有点多,代码看着快跟 Logo 一样丑…
@FungKao
用的 Wordpress 的 Arke 这个主题,为了夜间模式魔改了下 CSS ,在 https://github.com/ecnelises/arke
2021-12-19 19:33:02 +08:00
回复了 Koell 创建的主题 Ruby on Rails Rails 7 发布
亮点是,这么多年了,他还在用 TextMate
借楼也发下我的周刊😁: https://weekly.love/
RSS: https://weekly.love/?feed=atom
2021-12-04 01:04:37 +08:00
回复了 yngzij 创建的主题 生活 合租太难了
2021-12-04 01:03:56 +08:00
回复了 yngzij 创建的主题 生活 合租太难了
曾经的合租女生攒下的垃圾,还是已经整理过的哦。其他厕所什么的太恶心也没有照片留下来。

https://i.imgur.com/a/bPmC9II.jpeg
2021-11-15 00:09:41 +08:00
回复了 novadng 创建的主题 macOS 请教大家, macOS 的 application menu 有办法定制么?
换成中文...
2021-10-20 19:48:59 +08:00
回复了 x97bgt 创建的主题 程序员 大小端存储的疑问
大小端的最小单位是字节而不是位,而且针对的是内存操作中的单个数据,比如 int 、long 、double 等。所以如果你的数据单位也只有一个字节,就不用操心字节序问题。而多个 int 、long 组成的数组,元素之间的顺序也和字节序无关。

怎么理解呢?假设你有这样一个数组,其中两个 32 位 int,值分别是 0x01234567 和 0x89ABCDEF,在小端序机器上,内存里存的字节是 0x67 0x45 0x23 0x01 0xEF 0xCD 0xAB 0x89 ;而大端序上则是 0x01 0x23 0x45 … 0xCD 0xEF

所以你可以看到,大端序更直观,而两者各有各的好处。如今小端序更流行更像是 x86 造成的习惯原因。https://stackoverflow.com/questions/5185551

你想问的是,数据真正存储到文件里用的是什么字节序。严格来说这个问题本身是不存在的,因为字节序描述的是内存中的顺序。但不妨不准确地理解为大端序,因为从硬盘读取到内存里的都是一段一段的字节流,然后你可以随意「理解」为任意类型来读。

但是我们还是没有理解,为什么会有字节序这种东西存在,如何「理解」内存难道不是程序的自由吗?为什么要机器来规定?不是的。字节本身是没有意义的。两组 4 个字节,当作 float 和当作 int 进行相加,结果的字节是完全不一样的。所以机器需要一种确定的机制来从内存读数据到寄存器,或者直接从两个内存地址读数据进行操作。所以字节序只对机器指令集能够原生支持的数据类型有意义。
前面用到了额外断言的答案比较好理解。解释一下楼上面这个答案吧:

^(0(11)*0)*(1|01(11)*0)(0(11)*0)*((1|01(11)*0)(0(11)*0)*(1|01(11)*0)(0(11)*0)*)*$

如果让 X=(0(11)*0), Y=(1|01(11)*0),那么整个其实是 X*YX*(YX*YX*)* (开头结尾的符号省略了,不影响理解),而这个的意思其实是出现奇数个 Y 间隔任意个 X.

为什么 X 可以随意出现呢?因为 X 一定代表了偶数多个 0 和 1,无论是我们想要的奇数个 1 还是偶数个 0,减去偶数个 0 和偶数个 1 都没关系。Y 也不难理解了,因为穷举了所有奇数个 1 出现的情况。奇数个 1 出现奇数次还是奇数,所以满足要求。
2021-09-06 00:12:37 +08:00
回复了 ecnelises 创建的主题 V2EX V2EX 已经 800000 主题了
@Tink
那些被删掉的,ID 位置应该还留着的
2021-08-07 14:13:12 +08:00
回复了 ecnelises 创建的主题 推广 混沌周刊 #8 | It just works
@learningman
哈哈哈,因为 ID 有点鬼畜,改天想个好点的域名
2021-08-04 00:01:59 +08:00
回复了 mlxy123123 创建的主题 Redis Redis 可以独立存储数据吗?
2021-08-02 23:34:30 +08:00
回复了 ecnelises 创建的主题 JetBrains JetBrains 公布了 2021 年的开发者调查结果
@JudyHal 有点幸存者偏差的意思。国内给得多的公司,薪资在全世界都有竞争力。但大多数公司反映的都是普通的收入水平。
The Verge 内容不错。还有 Hacker News 经常会有一些有意思的东西,但数量可能比较多。
大胆推荐一个我的周刊 https://weekly.ecnelises.com/?feed=atom
2021-06-10 13:01:30 +08:00
回复了 ecnelises 创建的主题 Apple 说一次自己在 Apple 官方回收 Mac 的经历
@stimw
嗯,我看这种回收服务都不推荐邮寄
1  2  3  4  5  6  7  8  9  10 ... 12  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3320 人在线   最高记录 6543   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 41ms · UTC 12:49 · PVG 20:49 · LAX 05:49 · JFK 08:49
Developed with CodeLauncher
♥ Do have faith in what you're doing.