duangsuse::Echo
这些东西都要改天写个 Markdown Parser 再弄个基于 Markdown 的结构提取检查器来解决... 问题是宏系统我还不是特别有设计... 目前用了一个 See [](fileLink) 自动嵌入预处理
我希望比较线性的逻辑编写,利用宏系统可以这样,真正意义上的『汉语编程』,而且说不定能跨开发平台:
_ClassName_ ServerController
_UseStatic_ ServerOperations
#### _implement_
_ClassName_ UserController
_UseStatic_ UserOperations
#### _implement_
_Define_ 创建用户(name)
已经创建实体(用户)
#### _implement_
_Define_ 有权限(b)
『删除用户(uid);实体已经删除(uid)』,
否则『权限验证失败(校验错误)』
🤔 一不小心弄了个中文编程出来....
_ClassName_ ServerController
_UseStatic_ ServerOperations
#### _implement_
serverDescription
_Define_ 服务器描述 serverDesc
写(服务器描述!)_ClassName_ UserController
_UseStatic_ UserOperations
#### _implement_
createUser username_Define_ 创建用户(name)
makeUser(name)
设置『用户』为『创建用户(username)』已经创建实体(用户)
#### _implement_
deleteUser uid_Define_ 有权限(b)
b == null
_Define_ 删除用户(uid) deleteUser(uid)
_Define_ 检查权限:用户(uid) checkByUserId(request, uid)
假若『有权限(设置『校验错误』为『检查权限:用户(uid)』)』则,『删除用户(uid);实体已经删除(uid)』,
否则『权限验证失败(校验错误)』
🤔 一不小心弄了个中文编程出来....
This media is not supported in your browser
VIEW IN TELEGRAM
duangsuse::Echo
Model 部分基本完成
那么就到这里了,这的确是一种不错的方法,可惜花的时间也是比较长...
https://github.com/duangsuse/GeekSpec-GeekApkv1.0b/blob/master/geekapk-1.0beta-zh_CN/models/comment.api-inline.md#entity-relation-comment
Entity Relation comment
Belonging to User by author
on delete set -1
Belonging to App by app
on delete set -1
Belonging to Comment by replies
observes delete onParentCommentDeleted
Has many Comment "reply" by Comment.replies
observes attach onNewReply
从这里就可以很明显地看出,如果一个用户删除了自己的帐号,他的评论默认不会删除,而是设置到一个保留的 『Ghost』 帐号下
如果一个应用被删除了,它的所有评论会被保留并且移动到一个『垃圾箱』应用下,不过这个行为应该改改的,我想想...
如果一个评论被删除,则它的所有子评论会被移动到系统新建的保留评论下... 不过 replies 字段是不可变的,应该修改以满足这种使用方式
如果评论有新的回复,则应该通知它的所有者
https://github.com/duangsuse/GeekSpec-GeekApkv1.0b/blob/master/geekapk-1.0beta-zh_CN/models/comment.api-inline.md#entity-relation-comment
Entity Relation comment
Belonging to User by author
on delete set -1
Belonging to App by app
on delete set -1
Belonging to Comment by replies
observes delete onParentCommentDeleted
Has many Comment "reply" by Comment.replies
observes attach onNewReply
从这里就可以很明显地看出,如果一个用户删除了自己的帐号,他的评论默认不会删除,而是设置到一个保留的 『Ghost』 帐号下
如果一个应用被删除了,它的所有评论会被保留并且移动到一个『垃圾箱』应用下,不过这个行为应该改改的,我想想...
如果一个评论被删除,则它的所有子评论会被移动到系统新建的保留评论下... 不过 replies 字段是不可变的,应该修改以满足这种使用方式
如果评论有新的回复,则应该通知它的所有者
GitHub
GeekSpec-GeekApkv1.0b/geekapk-1.0beta-zh_CN/models/comment.api-inline.md at master · duangsuse-valid-projects/GeekSpec-GeekApkv1.0b
📝 GeekSpec 0.2 document for GeekApk API 1.0 beta. Contribute to duangsuse-valid-projects/GeekSpec-GeekApkv1.0b development by creating an account on GitHub.
https://github.com/duangsuse/GeekApk/blob/master/geekapk_v1b_api.geekspec
https://github.com/duangsuse/GeekSpec-GeekApkv1.0b
两个版本,资磁的话可以打星哦 ⭐️ 🐱
https://github.com/duangsuse/GeekSpec-GeekApkv1.0b
两个版本,资磁的话可以打星哦 ⭐️ 🐱
GitHub
duangsuse-valid-projects/GeekApk
GeekApk, the dying SpringBoot(a.k.a. Sping initializr) server for GeekApk(a.k.a 极安) (R - duangsuse-valid-projects/GeekApk
duangsuse::Echo
https://github.com/duangsuse/GeekApk/blob/master/geekapk_v1b_api.geekspec https://github.com/duangsuse/GeekSpec-GeekApkv1.0b 两个版本,资磁的话可以打星哦 ⭐️ 🐱
This media is not supported in your browser
VIEW IN TELEGRAM
Forwarded from Hacker News
Learn more programming languages, even if you won't use them (Score: 101+ in 1 day)
Link: https://readhacker.news/s/3ZRtq
Comments: https://readhacker.news/c/3ZRtq
Link: https://readhacker.news/s/3ZRtq
Comments: https://readhacker.news/c/3ZRtq
不过一直要说的事情很多,比我周假的时间多....
现在正在准备一下...
现在正在准备一下...
#fix #cs 首先说两件错误:
1. #Python #cg #font 关于 freetype.py 的矩阵循环命名不当
出事的消息 👉
首先,不得不说 duangsuse 不是完全的了解 Python(比如说,我不理解 Python 元编程比如运算符重载、没有完整使用 Python 函数式编程、decorator,map 类数据结构,和 assert 等特性...),不过这其实也没啥
然后在吐槽丸自己后,我们来看看不对在哪里
这个函数呢,其实很简单,我们这么描述它:
给
draw_bitmap 会按照偏移量将叠加层混合到原图上(超出的部分忽略),并且利用
它是怎么做的呢?(算法)
我们假设有一个平直角座标系(并且,假设你的图片按照『最符合常识』的方法被放在第一象限),这就是我们对『Python Pillow
首先,假设我们确保原图一定比叠加大,那么,简单的算法可以这么描述:
那么,其实这个混成算法就是:
1. 算出添加『绘制』偏移量(像素)后最大的 x 轴和 y 轴索引
2. 循环,枚举『原图』偏移绘制化后的索引 ix iy,并且还要枚举『叠加图』的索引 bx by:
假若索引越了原图的索引范围(不可能越叠加图的索引,因为我们是要枚举它的全部索引的,而对它是不加偏移量的),跳过
否则,用索引去拿 i 图和 b 图的像素,混合(按位与运算,RGB 颜色系统 int32 格式里可以这么做,不能用加法,因为这 32 位是分成 3 部分 0x0-0xff 256 色深而不是真正的 integer)
然后设置原图像素
== 那么错在哪里?
其实算法没有错(我抄的,我承认,而且这也不是很厉害的算法,甚至有点幼稚,也没用三角函数等 CG 库用户级别基础...)
所谓的 row,列,所谓的 col,行,离散数学里会提到的,二维矩阵基础,不熟悉则可以说无法搞任何的信号处理、线性代数、计算机图形学、(尤其是)关系代数,数据分析怕不是都有点困难户
所谓学计算机科学需要数学功底,其实很多都是这种的,离散数学不知道别想毕业(虽然现在很多大学 CS 比较水... 真的,就是搞搞运维,还不如软件工程的呢... 然鹅,我觉得不知 NS 图、UML 是啥的大有人在
我恰巧不熟悉,其实它是这么说:
那么错就在这里:
2. 关于『第一个 x86 汇编程序』对机器栈的理解和模拟错误
出事的消息 👉
首先,会写 x86 / arm 汇编(或者 C inline assembly、或者 LLVM IL)本来就不应该被视为很厉害的技能,因为上个世纪的人打孔带、机器代码(可能也是利用打孔带,或者... 什么?)都手写过了(当然不是这个世纪的计算机可能)
(当时我写的是 intel 风格 386-compatible 的汇编)(其实是 AT&T 风格的... 我更喜欢 intel 风格的其实)
而且,按照老冯(冯·诺依曼)的说法,我们怎么能用 assembler 呢!怎么能用邪恶的 assembler 浪费处理器(即便是 CPU 而不是更没算力的 MCU、PLC...) cycle 呢?
当然都过去了哈哈,现代的计算机一秒内不知能进行多少整数运算... 还有并行处理呢!如果有显卡浮点也不成问题
duangsuse 该被批判的(
所以下次再敢膜我有时候会直接写汇编什么的,小心被 😫 哦(跑
1. #Python #cg #font 关于 freetype.py 的矩阵循环命名不当
出事的消息 👉
首先,不得不说 duangsuse 不是完全的了解 Python(比如说,我不理解 Python 元编程比如运算符重载、没有完整使用 Python 函数式编程、decorator,map 类数据结构,和 assert 等特性...),不过这其实也没啥
然后在吐槽丸自己后,我们来看看不对在哪里
def draw_bitmap(image, bitmap, x_pos=0, y_pos=0):为了阅读方便,我删除了注释、内联文档并且修改了一些语义无关的缩进。
x_max = x_pos + bitmap.width
y_max = y_pos + bitmap.rows
for row, i in enumerate(range(x_pos, x_max)):
for col, j in enumerate(range(y_pos, y_max)):
if i < 0 or j < 0 or i >= WIDTH or j >= HEIGHT:
continue
pixel = image.getpixel((i, j))
font_pixel = bitmap.buffer[col * bitmap.width + row]
pixel |= int(font_pixel) * ALPHA
image.putpixel((i, j), pixel)
这个函数呢,其实很简单,我们这么描述它:
给
draw_bitmap 一个『原图』(像素积通常比『叠加图』要大)和一个『叠加图』,再给一个『叠加图 x 轴偏移量』一个『叠加图 y 轴偏移量』draw_bitmap 会按照偏移量将叠加层混合到原图上(超出的部分忽略),并且利用
putpixel 设置原图像素,最后返回空它是怎么做的呢?(算法)
我们假设有一个平直角座标系(并且,假设你的图片按照『最符合常识』的方法被放在第一象限),这就是我们对『Python Pillow
Image』的高层抽象,我们忽视颜色系统等细节。首先,假设我们确保原图一定比叠加大,那么,简单的算法可以这么描述:
foreach bx by. ox = bx | ix, oy = by | iy或者说,就是简单的叠加混成
那么,其实这个混成算法就是:
1. 算出添加『绘制』偏移量(像素)后最大的 x 轴和 y 轴索引
2. 循环,枚举『原图』偏移绘制化后的索引 ix iy,并且还要枚举『叠加图』的索引 bx by:
假若索引越了原图的索引范围(不可能越叠加图的索引,因为我们是要枚举它的全部索引的,而对它是不加偏移量的),跳过
否则,用索引去拿 i 图和 b 图的像素,混合(按位与运算,RGB 颜色系统 int32 格式里可以这么做,不能用加法,因为这 32 位是分成 3 部分 0x0-0xff 256 色深而不是真正的 integer)
然后设置原图像素
== 那么错在哪里?
其实算法没有错(我抄的,我承认,而且这也不是很厉害的算法,甚至有点幼稚,也没用三角函数等 CG 库用户级别基础...)
for row, i in enumerate(range(x_pos, x_max)):下面循环算法结构相关的代码:
for col, j in enumerate(range(y_pos, y_max)):
if i < 0 or j < 0 or i >= WIDTH or j >= HEIGHT: continue为啥不对呢?命名名错了。
pixel = image.getpixel((i, j))
font_pixel = bitmap.buffer[col * bitmap.width + row]
所谓的 row,列,所谓的 col,行,离散数学里会提到的,二维矩阵基础,不熟悉则可以说无法搞任何的信号处理、线性代数、计算机图形学、(尤其是)关系代数,数据分析怕不是都有点困难户
所谓学计算机科学需要数学功底,其实很多都是这种的,离散数学不知道别想毕业(虽然现在很多大学 CS 比较水... 真的,就是搞搞运维,还不如软件工程的呢... 然鹅,我觉得不知 NS 图、UML 是啥的大有人在
我恰巧不熟悉,其实它是这么说:
for ix, bx in enum_with_index(ixs, ixe):... 这段代码会遍历两个图片指定像素偏移后 b 与 i 重叠的部分
for iy, by in enum_with_index(iys, iye):
bitmap.buffer[col * bitmap.width + row]后面这一行代码,稍微有点常识的人🐸 不难看出, 根本不对!访问计算表达式应该是 row * width + col(数学公式里 row 可能叫 n、col 可能叫 m)(这也体现出了“反直觉”『从 0 数』的一个好处,另外一个不识二进制人不知道的事情是,C 语言里数组指针的第一个元素的确是从 0 这个偏移量开始的,往后 n 个元素就是
*(ary + n * sizeof(t)) 这个数据,n = 0 时恰巧是第一个元素,当然即便是 CLR 也支持非零基的和多维度的数组,不过和那个无关,等到你们开始用 JDK 的高层抽象后,就不识得 C++ 的 std::array 和 std::vector 了... 所见不过是『一组有序数据』... 那一层的直觉的确是『从 1 数』... 说起来其实不知道的人现在还蛮多的...)那么错就在这里:
for row, i in enumerate(range(x_pos, x_max)):实际是(而且我代码缩进也有点莫名其妙了,我随了大流,其实这两个不应该显示出其嵌套关系的,因为是『平级』的枚举):
for col, j in enumerate(range(y_pos, y_max)):
for row, n in enumerate(range(x_start, x_end)):完美了!(跑)
for col, m in enumerate(range(y_start, y_end)):
2. 关于『第一个 x86 汇编程序』对机器栈的理解和模拟错误
出事的消息 👉
首先,会写 x86 / arm 汇编(或者 C inline assembly、或者 LLVM IL)本来就不应该被视为很厉害的技能,因为上个世纪的人打孔带、机器代码(可能也是利用打孔带,或者... 什么?)都手写过了(当然不是这个世纪的计算机可能)
(当时我写的是 intel 风格 386-compatible 的汇编)(其实是 AT&T 风格的... 我更喜欢 intel 风格的其实)
而且,按照老冯(冯·诺依曼)的说法,我们怎么能用 assembler 呢!怎么能用邪恶的 assembler 浪费处理器(即便是 CPU 而不是更没算力的 MCU、PLC...) cycle 呢?
当然都过去了哈哈,现代的计算机一秒内不知能进行多少整数运算... 还有并行处理呢!如果有显卡浮点也不成问题
duangsuse 该被批判的(
所以下次再敢膜我有时候会直接写汇编什么的,小心被 😫 哦(跑
sysprintf:以上,不过顺便说一句,虽然现在因为某些原因(想做一些好玩的工程... 不过,话说其实我并不懂字面意义的软件工程学科)duangsuse 『停止』了信息科学/计算机科学的学习,但是,还是能发现自己的『智商』在提高!因为模拟分析能力得到了大幅增强!
mov %rsp, %rbp # stdcall # 不应该是 stdcall,其实这里我不关心到底是 stdcall、fastcall 还是 cdef 什么的,因为这个函数是被仅仅内部使用(hidden)的,题外话,其实这句没有用,这层栈帧不需要任何空间
mov $1, %rax # sys_write
mov $1, %rdi # use stdout
pop %rsi # string ptr # 错!先 pop 出来的明明是长度而不是数据指针,后 push 的($20)先 pop,实际上我被 rsi 这个名字(我以为是 source indicator)糊住了
pop %rdx # length # 弄反了!
syscall
ret
Telegram
duangsuse::Echo
#Tool #CG #Python #Project 最终版... 权当玩具... 可是貌似花了我一些时间调试和了解,其实 PIL 封装得也是... 有好有不好
duangsuse::Echo
#fix #cs 首先说两件错误: 1. #Python #cg #font 关于 freetype.py 的矩阵循环命名不当 出事的消息 👉 首先,不得不说 duangsuse 不是完全的了解 Python(比如说,我不理解 Python 元编程比如运算符重载、没有完整使用 Python 函数式编程、decorator,map 类数据结构,和 assert 等特性...),不过这其实也没啥 然后在吐槽丸自己后,我们来看看不对在哪里 def draw_bitmap(image, bitmap, x_pos=0…
顺便就说说两件事情:
1. 之前有一次想法中提到『RangeMap』这种数据结构的(我开始考虑滚动字幕的算法优化支持),其实根本不需要,因为二分查找就可以了(其实我开始打算就是封装 bsearch...)(在知道当前播放位置和可以比较跳转时轴的时候可以进一步取子序列优化,基本操作是根据时轴查歌词),Java 的
2. duangsuse 之前有不少次对自己能力有估量错误的(高估了)
希望你们都能理解,我经常这样
现在 duangsuse 基本是暂停了学习,所以很多时候 CS 的内容可能要发少一点了,唉 😿
不过还是会经常使用一下已有的技能的,
这个星期主要看了一点 Agda(record... corecord,typed printf,数组越界检查实现,parser、interpreter 什么的)
此外也有一点代码例子吧... #ann 人工神经网络机器学习的我肯定没看
冰封哥总是不会停止学习的,对吧?不过我可能要停止一会... 因为实战的时间实在是太少了,我没兴趣(虽然理论都搞不好)看理论
总之,之后的学习,到底要到什么程度,到底该怎么学,怎么协调数据结构算法、异步和消息驱动、并行编程、图形前端和计算机图形学、计算机网络、信号处理、机器学习、软件工程学科、函数式编程、编译原理、关系代数、Web 应用设计、图形用户界面应用设计、嵌入式、操作系统、密码学、信息学、线性代数这些方向,得看我自己的选择。(虽然其中很多我没开始或者不算入门,比如数学什么的...)
1. 之前有一次想法中提到『RangeMap』这种数据结构的(我开始考虑滚动字幕的算法优化支持),其实根本不需要,因为二分查找就可以了(其实我开始打算就是封装 bsearch...)(在知道当前播放位置和可以比较跳转时轴的时候可以进一步取子序列优化,基本操作是根据时轴查歌词),Java 的
Arrays API 有封装2. duangsuse 之前有不少次对自己能力有估量错误的(高估了)
希望你们都能理解,我经常这样
现在 duangsuse 基本是暂停了学习,所以很多时候 CS 的内容可能要发少一点了,唉 😿
不过还是会经常使用一下已有的技能的,
这个星期主要看了一点 Agda(record... corecord,typed printf,数组越界检查实现,parser、interpreter 什么的)
此外也有一点代码例子吧... #ann 人工神经网络机器学习的我肯定没看
冰封哥总是不会停止学习的,对吧?不过我可能要停止一会... 因为实战的时间实在是太少了,我没兴趣(虽然理论都搞不好)看理论
总之,之后的学习,到底要到什么程度,到底该怎么学,怎么协调数据结构算法、异步和消息驱动、并行编程、图形前端和计算机图形学、计算机网络、信号处理、机器学习、软件工程学科、函数式编程、编译原理、关系代数、Web 应用设计、图形用户界面应用设计、嵌入式、操作系统、密码学、信息学、线性代数这些方向,得看我自己的选择。(虽然其中很多我没开始或者不算入门,比如数学什么的...)
duangsuse::Echo
https://github.com/duangsuse/GeekApk/blob/master/geekapk_v1b_api.geekspec https://github.com/duangsuse/GeekSpec-GeekApkv1.0b 两个版本,资磁的话可以打星哦 ⭐️ 🐱
This media is not supported in your browser
VIEW IN TELEGRAM
duangsuse::Echo
那么就到这里了,这的确是一种不错的方法,可惜花的时间也是比较长... https://github.com/duangsuse/GeekSpec-GeekApkv1.0b/blob/master/geekapk-1.0beta-zh_CN/models/comment.api-inline.md#entity-relation-comment Entity Relation comment Belonging to User by author on delete set -1…
没人打星... 考虑到这个只是 draft 的原因就算了,但我真的写了几个小时的... 那我就设置 vote 吧,既然怕污染自己的 GitHub star 列表就在这里打星... 别吐槽『毛都没有』什么的,看在 GeekSpec 0.1 的确有两个工具(虽然没和 Gradle、Maven 什么的集成)的份上好歹打颗星...
GitHub
duangsuse-valid-projects/GeekSpec-GeekApkv1.0b
📝 GeekSpec 0.2 document for GeekApk API 1.0 beta. Contribute to duangsuse-valid-projects/GeekSpec-GeekApkv1.0b development by creating an account on GitHub.
duangsuse::Echo via @vote
https://github.com/duangsuse/GeekSpec-GeekApkv1.0b 吼不吼啊? 🐸
anonymous poll
吼,概念不错 – 1
👍👍👍👍👍👍👍 50%
上面的不吼兼而有之 – 1
👍👍👍👍👍👍👍 50%
不吼,格式有点太冗长了
▫️ 0%
不吼,严重怀疑是否真的能如你说的那样利用 Markdown 文档生成代码
▫️ 0%
不吼,严重怀疑预处理器是否能实现
▫️ 0%
不吼,严重怀疑 Markdown 解析器是否能实现
▫️ 0%
不吼,还没有写出 API 规范格式呢
▫️ 0%
懒得看了
▫️ 0%
👥 2 people voted so far.
anonymous poll
吼,概念不错 – 1
👍👍👍👍👍👍👍 50%
上面的不吼兼而有之 – 1
👍👍👍👍👍👍👍 50%
不吼,格式有点太冗长了
▫️ 0%
不吼,严重怀疑是否真的能如你说的那样利用 Markdown 文档生成代码
▫️ 0%
不吼,严重怀疑预处理器是否能实现
▫️ 0%
不吼,严重怀疑 Markdown 解析器是否能实现
▫️ 0%
不吼,还没有写出 API 规范格式呢
▫️ 0%
懒得看了
▫️ 0%
👥 2 people voted so far.
Forwarded from duangsuse Throws
恕我直言(情商为零)我觉得,所谓不擅长回复的『技术人员』不适合叫做技术人员,真正的技术人员从来不害怕在任何时刻任何场地任何谈起任何领域的技术,他们会在生活中看到程序题,在不知道别人的抽象、模型时根据目标问题领域自己弄出自己的模型猜测,把一切符号背下来,一切 pattern 也都熟练于心、为自己的编程写工具、实现自己使用的程序设计语言,从高级控制结构看到指令流,学习 IDE 快捷键、重构,彻底理解测试、打包、部署和构建系统,至少不会做出有安全漏洞的设计,不断尝试攻破新的效率顶峰,从布局到 SIMD 到 TCP/IP 至网络层硬件内核驱动甚至密码学、机器学习、线性代数、数控、函数式编程,都不该害怕,这样才配叫做真正的技术人员。
如果你连 RSA 算法怎么手算都不知道,你怎么可能拿汇编去写一个 RSA 加解密实现?甚至可能带单指令多数据优化的
如果你连拼音有几个声母几个韵母、韵母是什么、声调是什么都不知道,怎么可能开发出语音合成软件?
如果你没有能力查找『不是你领域知识』的资料,没有看论文的能力,(假设你不学编译原理)编译器你怎么会写?解释器、Visitor Pattern、Annotation processor、2D 物理引擎这些哪里写得出来?
如果你连数学矩阵都不会,DIP (数字图形处理)算法对你来说就是天书,如果你连 sin cos 函数都联想不到直角三角型的图像,无法动动脑子就得出调用参数,五角星你都画不出来
如果你连关系代数、记录、外键都不清楚,那 SQL 和 Pg 的扩展对你来说只是抄
如果你连基础算法、暴力查找、IO 都搞不懂,那别指望应用编程了
🤔
编程应该是在脑子里,在生活中,你看到一个打水器、一部电梯都会想到要用什么控制平台,要怎么编程,而不是跟着已有的代码和 StackOverflow 走,有一句特别扎心的话:
我们学校也有不少会各种奇葩技能的同学,比如魔方、折纸、飞扑克牌,我都不会(甚至篮球都不会打)... 不过我觉得,对现在的『程序员』『软件工程师』要求还是太小了... 居然只会会一种事情...
这就是我对技术人员的看法,在我看来,我的最终目标就是成为这种技术人员,在这之前,都不能拒绝学习
如果你连 RSA 算法怎么手算都不知道,你怎么可能拿汇编去写一个 RSA 加解密实现?甚至可能带单指令多数据优化的
如果你连拼音有几个声母几个韵母、韵母是什么、声调是什么都不知道,怎么可能开发出语音合成软件?
如果你没有能力查找『不是你领域知识』的资料,没有看论文的能力,(假设你不学编译原理)编译器你怎么会写?解释器、Visitor Pattern、Annotation processor、2D 物理引擎这些哪里写得出来?
如果你连数学矩阵都不会,DIP (数字图形处理)算法对你来说就是天书,如果你连 sin cos 函数都联想不到直角三角型的图像,无法动动脑子就得出调用参数,五角星你都画不出来
如果你连关系代数、记录、外键都不清楚,那 SQL 和 Pg 的扩展对你来说只是抄
如果你连基础算法、暴力查找、IO 都搞不懂,那别指望应用编程了
🤔
编程应该是在脑子里,在生活中,你看到一个打水器、一部电梯都会想到要用什么控制平台,要怎么编程,而不是跟着已有的代码和 StackOverflow 走,有一句特别扎心的话:
离开了网络、GitHub,StackOverflow,现在还有多少程序员能编程?我觉得最好的程序员,肯定都是在睡觉时都能想到人工神经网络学习回归运作的。
我们学校也有不少会各种奇葩技能的同学,比如魔方、折纸、飞扑克牌,我都不会(甚至篮球都不会打)... 不过我觉得,对现在的『程序员』『软件工程师』要求还是太小了... 居然只会会一种事情...
这就是我对技术人员的看法,在我看来,我的最终目标就是成为这种技术人员,在这之前,都不能拒绝学习
AlPlank [Courtyard]
我是简体用户…无语。
性格变化大... 不会就是我害的吧... 🤔 23333