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

技术相干订阅~
另外有 throws 闲杂频道 @dsuset
转载频道 @dsusep
极小可能会有批评zf的消息 如有不适可退出
suse小站(面向运气编程): a19a0b
Download Telegram
duangsuse::Echo
简化一下主代码,一行(相对于函式库代码来说) Object.prototype.run = function (opt) { opt(this) }; const GITHUB_REPO_REGEX = /^https:\/\/github.com\/([A-Za-z0-9_-]+)\/([A-Za-z0-9_-]+).*/; $('#network').children .map(x => x.children.length) .zipWith($('#network').children)…
#recommended #javascript 一个惨痛的排序性能教训(XD

说到排序自然而然又想到 @drakeet 那事了... 其实他不是不会排序... 不至少还写过 Sorter 类么
只不过有序列表处理时可以不用一起 sort 而也可以将几个列表 merge (不过对列表来说应该叫 concat)到一起的...

...头晕(口头禅了...)

好吧... 天才也要学习啊,没有人是生而知之也没有人可以学十几年以后就不再提升自己了...
反正我不关心这些... 他主动屏蔽我我也不会再尝试了解他 可惜啊,不过纯纯写作现在发展得还不错还在维护
duangsuse::Echo
#recommended #javascript 一个惨痛的排序性能教训(XD 说到排序自然而然又想到 @drakeet 那事了... 其实他不是不会排序... 不至少还写过 Sorter 类么 只不过有序列表处理时可以不用一起 sort 而也可以将几个列表 merge (不过对列表来说应该叫 concat)到一起的... ...头晕(口头禅了...) 好吧... 天才也要学习啊,没有人是生而知之也没有人可以学十几年以后就不再提升自己了... 反正我不关心这些... 他主动屏蔽我我也不会再尝试了解他…
*注: Sorter 是 Go 语言的一个 pattern(貌似)
它要实现 CmpLenLess,不过最用的就是 Cmp(a, b): Bool 了。
单纯的面向对象里想传递逻辑(代码块)只能附着在对象上传递,Comparer(比较器)就是一个例子
而函数式里根本不存在这种必须写这种代码的问题(Groovy,我这里没 JShell):

List<Integer> ls = [2, 1, 5, 8, 4, 9]
List<Integer> ls_asc = Arrays.sort(ls, new Comparator<Integer>() {
public int compare(Integer a, Integer b) { return b - a; }
});


好像不能解析... 算了 :V
This media is not supported in your browser
VIEW IN TELEGRAM
#bug #app #web #javaScript #dev 鲁迅追番/// 官方网页版的季度转换只考虑了 1、4、7、10 月这几种情况,不是就 undefined...\
btw. 鲁迅的数据可以在 https://luxun.pro/luxun.json 下载,据说它是有版本控制的,可实际上 _r URL 查询参数啥用都没有...
btw. 鲁迅追番现在有 Windows 和 Android 客户端,Android 客户端可在酷安下载
btw. 鲁迅追番 Windows 客户端是 electron 开发的
duangsuse::Echo
#bug #app #web #javaScript #dev 鲁迅追番/// 官方网页版的季度转换只考虑了 1、4、7、10 月这几种情况,不是就 undefined...\
btw. 鲁迅追番开发者的应用基本都是 MD2 / 3D 高光 iOS 风格
which 现在有些界面设计师是这种设计的铁杆粉丝

MD2 hhhhhh 😶 那个不堪入眼的 FloatingActonButton...
如果有人买了(当然是不可能的,因为没有编译原理的 dalao 关注我?233333)《深入分析 GCC》这本书,会发现作者写了很多 AWK/sed/GNU bc/Bash 代码辅助分析(其实还用了 Graphviz)...

看到 188 面有一些代码可以生成这种树结构,抄下来看看: #c #linux #share #book #pl
(我修改了一些标识符语义上的错误,格式化了代码,增强了代码语义的易读性)

#include "gt-passes.h"

char *pass_type_names[] = {"GIMPLE_PASS", "RTL_PASS", "SIMPLE_IPA_PASS", "IPA_PASS"};

void dump_opt_pass(FILE *fp, struct opt_pass *pass, int indent) {
int i; struct opt_pass *p = pass;

while (p != NULL) {
for (i = 0; i < indent; i++) {
if (i % 4 == 0) fprintf(fp, "|");
else if (i == indent - 1) fprintf(fp, ">");
else if (i == indent - 2) fprintf(fp, "-");
else if (i == indent - 3) fprintf(fp, "-");
else fprintf(fp, " ");
}
fprintf(fp, " %-16s [%s]\n", p->name, pass_type_names[p->type]);

if (p->sub != NULL) dump_opt_pass(fp, p->sub, indent + 4);
p = p->next;
}
}
duangsuse::Echo
想写个程序演示一下... a: ds fds e b: a c: b a 这种嵌套链表... a: ds fds e b: $a c: $b $a 语法严格一点的输入,至于那个特殊标记选什么都可以 a { b { c } d } 这样的输入吧... 只是有点麻烦了就不容易实现接下来两个吧...
用 LinkedList 来说就是

rootNode
obj: a
next: node
ptr: b
next: node
ptr: c
next: NULL

... 这种抽象程度不够表述... 差了一个用来表示『自己』的指针

哦不.... 好像可以? [a, b [] ]... 好吧这根本不是数组结构... 我抽象错了,不过这是就 tree (fork tree)的问题而言,对我这个问题它还是需要一个额外指针

[a, b [c], d]

self: a
next:
self: b
next:
self: c
next: null


... 这种数据结构看起来就像可以给列表命名的链表... 算了比较没用 是我想多了... 来个正常链表

{
a
{
b
c
}
d
{}
}

[a, [b, c], d, []]
#include <stdio.h>

int main(int argc, char *argv[]);

inline linked_list parse_input(FILE *fp);
inline void recur_dump_list(FILE *out, linked_list *list);

typedef struct node_st {
void *obj; node *next;
} node;

typedef struct linked_list_st {
size_t len; node head; node tail;
} linked_list;

inline int llist_add(linked_list *list, void *obj);
inline void llist_remove(linked_list *list, int idx);
inline void llist_travse(linked_list *list, void (*)(void *));
inline void llist_deep_travse(linked_list *list, void (*)(void *));
inline int llist_find(linked_list *list, void *obj);
inline void *llist_shift(linked_list *list);
inline size_t llist_len(linked_list *list);
duangsuse::Echo
#include <stdio.h> int main(int argc, char *argv[]); inline linked_list parse_input(FILE *fp); inline void recur_dump_list(FILE *out, linked_list *list); typedef struct node_st { void *obj; node *next; } node; typedef struct linked_list_st { size_t…
#c #dev #emmm 🌝 不对啊,我怎么知道一个 void * 是不是 node ...

struct item_st {
_Bool is_list;
union {
linked_list *ls;
size_t ptr;
};
}
所以最后又还是什么都没做啊.... 😶
duangsuse::Echo
用 LinkedList 来说就是 rootNode obj: a next: node ptr: b next: node ptr: c next: NULL ... 这种抽象程度不够表述... 差了一个用来表示『自己』的指针 哦不.... 好像可以? [a, b [] ]... 好吧这根本不是数组结构... 我抽象错了,不过这是就 tree (fork tree)的问题而言,对我这个问题它还是需要一个额外指针 [a, b [c], d] self:…
结果就是我太蠢了... <del>蠢萌</del> 不是差了一个表述自己的,因为表述自己的已经有了,差的是表述子树的,有了这个才可以处理可能有 b, a {}, c 这种嵌套情况... ,a {},

> 根本不是数组结构

本来就不是啊... 是链表嘛... 幼儿园级别的入门数据结构算法白学了...