duangsuse::Echo
719 subscribers
4.28K photos
130 videos
583 files
6.49K links
import this:
美而不丑、明而不暗、短而不凡、长而不乱,扁平不宽,读而后码,行之天下,勿托地上天国。
异常勿吞,难过勿过,叹一真理。效率是很重要,盲目最是低效。
简明是可靠的先验,不是可靠的祭品。
知其变,守其恒,为天下式;穷其变,知不穷,得地上势。知变守恒却穷变知新,我认真理,我不认真。

技术相干订阅~
另外有 throws 闲杂频道 @dsuset
转载频道 @dsusep
极小可能会有批评zf的消息 如有不适可退出
suse小站(面向运气编程): https://WOJS.org/#/
Download Telegram
This media is not supported in your browser
VIEW IN TELEGRAM
#Gimp #CG 尝试利用 GIMP 的 Python 脚本接口完成移动一堆固定模式 layer 的功能...
但是没有回应,因为他们吃光了所有牡蛎...
duangsuse::Echo
但是没有回应,因为他们吃光了所有牡蛎...
🤔 文本图层和普通图层、移动对象的方法都容易找到,我觉得如果有下次,可以写一个 GIMP 插件来画类似这样的动态图... 甚至可以自动执行过程可视化
辣鸡 GIMP 没有提供相应接口,但是有这样的福利可以制作快捷方式
总算让人省了一回心... (辣鸡 #Python 的 Unicode 支持不好,我使用 Unicode 符号做图层名,结果 python 索引到的字符串里居然都是不完整编码的,直接区间下标访问不方便,气死
不是不能这样,我不想... 人家是一个字符不是三个 unsigned int8...
anim_BlakcListRstrstr.xcf
1.6 MB
#Gimp #mulitmedia 一个小实验
实验需要使用到 #gui, Python 作为『脚本语言』自然带有一个,Tk Toolkit 的 TkInter,类似 Java 的 Swing
这个脚本只是需要一个简单的逻辑,来帮助我完成对程序可视化图片的操作
duangsuse::Echo
这个脚本只是需要一个简单的逻辑,来帮助我完成对程序可视化图片的操作
规范大概是这样:

Code 是一个文本图层,包含程式码,目前仅仅创建 VFS 不需要关心其内容
Trace 是一个文本图层,包含变量的追踪

要提供一个 GUI,展示变量列表

List(Label, Textfield)

『同步』操作:利用正则表达式解析所有键值对 (k = v) /(\w+)\s*=\s*(.+)$/ 更新列表
『更新』操作:替换原文本为更新值后的文本

Visual 是可视化图层组,包含所有需要可视化的图层

这些图层的名字做固定处理即可得到相应数据指针的名字

Vals 是不变量的图层组,其中每个图层都对照了一个 Visual 里的图层,映射方式是 ("v" + x)
目前也只是建模,不做其他考虑

Pointers 是可视化指针组,其中项目都是图层组,
每个项目都对照到了 Visual 里的图层或 Code,映射方式是 ("p" + x.lower() + "s")

提供一个『更新箭头』操作,根据指定的『Trace 层』变量名自动显示 Trace 层变量指向(数组下标,从 0 起始)并且隐藏前一个箭头的显示(上次设置的箭头)
提供一个『上移 Code 指针』操作和一个『下移 Code 指针』操作
duangsuse::Echo
规范大概是这样: Code 是一个文本图层,包含程式码,目前仅仅创建 VFS 不需要关心其内容 Trace 是一个文本图层,包含变量的追踪 要提供一个 GUI,展示变量列表 List(Label, Textfield) 『同步』操作:利用正则表达式解析所有键值对 (k = v) /(\w+)\s*=\s*(.+)$/ 更新列表 『更新』操作:替换原文本为更新值后的文本 Visual 是可视化图层组,包含所有需要可视化的图层 这些图层的名字做固定处理即可得到相应数据指针的名字 Vals 是不变…
需要使用的 GIMP API:

Gimp.message(str)
Gimp.get_foreground()

gimp.Image.layers
gimp.GroupLayer
gimp.Layer
gimp.Layer.visible~bool
gimp.pdb.gimp_text_layer_get_...
gimp.pdb.gimp_text_layer_set_...

如果从 get_text 读取到空,则读取 markup,忽视任何标签解析
替换的时候还要考虑到变更自动变色的选项,自动改为前景色

需要使用的 Tkintr API:
This media is not supported in your browser
VIEW IN TELEGRAM
之前吐槽 Ruby 的 Nokogiri 不友好的我现在可真的是想死 Nokogiri 了
Nokogiri 真甜。
我真的搞不懂,为什么这一群人要把 XML 解析器通通做成 Pull Parser 的形式,通过 XXXHandler Callbacks 来提供结构解析接口
而且还不同时提供文档树的 API
都说『Pull Parser 性能是最高的』
可是我就不明白啊,有时候要这性能有毛用啊!

为啥我要为了剔除标签这种弱智的小问题,去专门写个 handler 去弄???
如果想要直观,就不能自己先建好了文档树提着来见?性能真的有必要让你『不提供』这种解析方式吗?

为啥 Python Regex 连个粘滞功能都没有?这真的很脑残

还不如 Perl 了,这么多年了标准库辣鸡,还是没有变啊,这都能叫『脚本语言』?
#java 今天学到了编写 #Gradle 插件和 sun.nio.Files 和 sun.nio.Path 的使用

Paths.getPath(URI)
Files.getAllBytes(Path)
Files.write(Path, byte[])
Forwarded from Rachel 碎碎念 (IFTTT)
从这个角度就很容易理解了 pic.twitter.com/SrGUeEemlE
— 清凌渡 (@ijse) April 28, 2019