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

技术相干订阅~
另外有 throws 闲杂频道 @dsuset
转载频道 @dsusep
极小可能会有批评zf的消息 如有不适可退出
suse小站(面向运气编程): https://WOJS.org/#/
Download Telegram
Forwarded from duangsuse Throws
#GeekApk #Backend
当然,这不意味着我会等到写前端的时候又折回来解决后端有 bug 甚至根本没法用的问题,目前我觉得还是先弄个 Ruby 的 client library,然后我可以用 Ruby 客户端手工测试、或者使用测试脚本(因为我让 Hibernate 每次服务器重启都 create-drop tables 了,所以是 repeatable 的,很不符合 ACID 的 D 但是很符合它的 C,跑)来黑盒接口测试

至于这个客户端的编写,当然是直接在 GeekApk SB (滑稽)这个项目里继续写... 所有真正的 JsonRPC 接口绑定代码都会使用 GeekSpec 和 Ruby 元编程自动生成(因为 Ruby 是一门非常灵活的语言,真心的,反正现在弱类型就是****)

(所以使用 GeekSpec 语言定义 HTTP 接口的代码复用好处又在此处显现出来了,跑,这̶个̶可̶比̶一̶些̶强̶类̶型̶ ̶O̶O̶ ̶语̶言̶的̶设̶计̶模̶式̶爽̶多̶了̶)

那么就这么愉快的决定了(恳愿)
duangsuse::Echo
后端写完了还有 bug 的话,就先在前端 hack,有空了再修
我这里一直有空
因为我两边都写啊,而且我也不一定需要 IDE 来编程
duangsuse::Echo
不需要异步的话,你可以试试改成函数间传递参数,叫后面的函数读前面的函数的输出行事
其实你说的那种,我也可以直接写几个 compound test 来调用那些子逻辑也可以(你说的那个换到我这里的情况就是这个意思,其实目前传递我是用 this 的字段,因为用起来方便一些也没有糟糕到全局变量的级别),不过我觉得还是 boilerplate 太多,不是我想要的那种业务逻辑,我真的很讨厌 boilerplate code,我....
我从学到弃全程写明变量名称,没有 this 的事🙃发现既没有啰嗦(有箭头函数可用)又没有导致变量名称一大堆(有局部变量)
duangsuse::Echo
不需要异步的话,你可以试试改成函数间传递参数,叫后面的函数读前面的函数的输出行事
另外异步但依赖不大的话也可以利用 Promise/Future(一件东西的两个名称)串起来的,其实也不是很累,但我觉得这些 linear 的东西太多了,写起来难受而且无聊
就好比拿一队工人去替换掉全自动机床一样,很 Meaningless
duangsuse::Echo
我从学到弃全程写明变量名称,没有 this 的事🙃发现既没有啰嗦(有箭头函数可用)又没有导致变量名称一大堆(有局部变量)
Lambda expression 还有现在... 反正就是那堆东西... (他们很喜欢给东西起名字,比如 Block... Lambda.. Proc/Future... Promise...)(有的也是有区别的,这里就吐嘈一下某些东西弄几个名词的情况)

现在作为一个技巧还是不错的,在 Ruby 里它被广泛地用于延长变量的生存时间。

顺便对于 ECMAScript 的开发者,ES6 里面箭头函数的 this 是当前词法作用域的 this,它不像 function () {} 有自己的 this 你们应该知道吧。
箭头函数的 this 要照顾箭头函数能简则简的语法,同时也修正了 this 在面向对象编程思想方面的偏差。
duangsuse::Echo
所以最好放弃异步,去用一样呆板的传参数(
噢我这里因为是测试不需要异步,测试的都是简单的同步逻辑,所以才说 linear(不强调必须 synchronous 才算 linear,只是说逻辑简单)
羽毛的小白板
https://www.cnblogs.com/conmajia/p/no-overdesign-just-experiment.html
看完以后 duangsuse 觉得自己画图和统计、分析的能力还是太不好了...(其实是不常用...

里面的当然都 get 了,是比较 trivial 的知识


static randomCount = 0;
static int GetRandomNumber() {
randomCount++;
Guid guid = Guid.NewGuid();
int key1 = guid.GetHashCode();
int key2 = unchecked((int)DateTime.Now.Ticks);
int seed = unchecked(key1 * key2 * randomCount);
Random r = new Random(seed);
return r.Next(0, 100);
}

这段代码的作者甚至还想到了用unchecked略微优化一下代码的健壮性。
上手就来秀优化,全然不顾丫的压根儿从算法上就有毛病。
习惯成自然,
可以猜测他平时在业务工作中没少这么干。
然后是hashcode、time tick各种key一顿花里胡哨得到一个seed来初始化Random。可是这又有什么卵用呢?朋友?为了这个和 Case #1 几乎一样效果的输出结果花掉了 56倍(43秒)的计算时间
您觉得合适吗??
duangsuse::Echo
我这里一直有空 因为我两边都写啊,而且我也不一定需要 IDE 来编程
#recommended #blog https://www.cnblogs.com/conmajia/

这个作者也是相当有水平的作者,非常推荐。学的比较杂,一些数学和底层相关的东西也涉及,前端的也有,推荐阅读。
duangsuse::Echo
#recommended #Learn #AI #Machl #ANN https://www.cnblogs.com/conmajia/p/annt-feed-forward-fully-connected-neural-networks.html 不错的入门文章
阅读需要一些高等数学基础,不过我这里有数学书,我也有一些其他的相关资料,所以可以学习。

需要的知识主要还是微积分、统计分析和预测 还有基础数学表达方面的... 比方说这些公式不能看不懂。各种扭来扭去的希腊字符我是不害怕的(反正 lambda 演算的理论还有 PLT 那些东西也经常... 呃)

改天都会打印下来下去看。