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

技术相干订阅~
另外有 throws 闲杂频道 @dsuset
转载频道 @dsusep
极小可能会有批评zf的消息 如有不适可退出
suse小站(面向运气编程): https://WOJS.org/#/
Download Telegram
#JavaScript #frontend #Backend https://github.com/sindresorhus/is

对值进行类型检查,很甜、支持 TypeScript 的 Type guard(就是 Kotlin 的智能类型推导)

function excited(arg) {
if (is.string(arg)) {
return arg + '!';
}

if (is.number(arg)) {
return arg & 1926;
}
}

['frog', -1].map(excited).forEach(console.log);
Forwarded from Linux Update
PostgreSQL
11.1 -> 11.2
#GeekApk https://github.com/duangsuse/GeekApk/commit/ca554b78c042da018366f5138c6799bfe3707522

控制器逻辑的最后一道坎🤔
写完,就开始正式实现控制器逻辑了。

管理员用户验证已经实现了,手工测试正常(但是目前服务器好像不会自动创建第一个管理员用户,是个问题)

用户验证部分,估计一时间考虑的不周全,有些验证应该抽出来单独做的,然后有一个 general 一点的逻辑的可以用 middleware 实现


现在好像越写越没有信心了,大概是垃圾代码写多了(是真的,好多余赘代码、非常平铺直叙或者莫名其妙),时间拖长了(绝望)

我不想重构重构重构... 能用就可以,等待 v2 重写吧(绝望)

有没有愿意帮忙一起实现的(
Forwarded from dnaugsuz
HTML 的代码都是 GeekSpec(就是 GeekApk 的 Swagger)测试项目里的视图模板(完成了,不需要操心),目前 Server 没有任何的 View Mapping(

Haskell 代码是没有任何业务代码的空壳(以后可能打算写来利用 GeekSpec DSL 生成代码),目前项目还没有用 Haskell,也不需要操心(别问我为什么不会 Scala)

JavaScript 的代码是不需要操心的,目前写的就是一个 GeekSpec DSL 的 Parser 和 GeekSpec 的 Kotlin+Spring API Endpoint 绑定代码生成器

Ruby 的就是一个 Spectrum + Spectrum Checks,第一个是 GeekApk 的 API 测试工具(也可以用于其他能被 GeekSpec 描述的 API)
第二个是基于 Spectrum API 客户端的黑盒接口测试

Groovy 的是一个小工具的代码(用 Groovy 只是为了方便从 Kotlin 类里读取数据,它也是个代(类似)码导出器),不需要考虑

Kotlin 才是需要写的,然而 Kotlin 语法结构很类似 Java,很多 Java 程序员一下子就可以入门(确信)

目前项目不需要测试驱动开发(因为我不想在一大堆测试不通过的情况下写代码...),也没有一个 OAuth、Message Queue、高级 CDI、外部验证库什么的,可以说是非常纯的 MC(没有 V),甚至每写一段逻辑都不需要写对应的自动化测试,所以说是小学生都会啊(比起那些真正的大佬来说,已经完全超离 MVC 的抽象,进入 HTTP 甚至 TCP/UDP 甚至 Socket 层了,序列化、持久化什么的都是自己搞)

而且只需要写基于 MVC 框架思维方式的很模式化的代码,所以我觉得对于任何有 J2EE MVC 经验的后端都不难
Forwarded from duangsuse Throws
🤔我去我居然才想起来其实 CoolApk API v6 居然不是基于 RESTFul 的,而且设计上也有问题... (该用 DELETE 方法的全部用的是 POST,而且没有树形结构,就是所有 controller 平铺在 / 路径下)

GA v1 API 已经可怜垃圾至此了居然还有比 CoolApk v6 Api 好的地方.... 感动到不行。

为了庆祝顺便恢复一下失败感,决定拿 Spectrum 0.1.0 测试一下访问 CoolApk API,自然也包含逆向工程内容的(因为他们做了该死的验证...),限时两天。
#dev 看到 TravisCI 的小绿勾瞬间爽到... 🤔
偶尔红叉一下很难受
习惯性的在写 parser 🤔 可是觉得不如 Android 开发有时候用到的 Pattern 们和自己布局的 View 们,怕被喷。
duangsuse::Echo
习惯性的在写 parser 🤔 可是觉得不如 Android 开发有时候用到的 Pattern 们和自己布局的 View 们,怕被喷。
这里为了兼容用的是 Ruby 的 ARGF 特殊文件... emmm

这个对象有时候是没有 ungetc 方法的 🤪
我没法用 ungetc 实现 peek(从输入流拿到一个 char,然后放回去,用来实现简单的结构判定)

不得不说,不能 lookahead 非常淡疼(虽然我可以模拟 buffer 来实现 peek_char)
那么写不写这个 buffer 呢?算了...
This media is not supported in your browser
VIEW IN TELEGRAM
这个 parser 不够好,但也足够用。只要能解析这个文件就可以了。
连这都不会的 duangsuse 总算写出来了... 🤔 不过是一个简单的 scannerless parser 而已就花了好多时间,这还能不能和任何一个懂一分钱设计模式的 Android 前端比呢... 希望哪天能回到 Android.
HackingCoolApk.zip
31.7 KB
目前的工作目录 #CoolApk
居然还要处理多 Annotation 的情况... 气死我了
Forwarded from Solidot
Delphi 二十四岁,释出 10.3.1

Borland 在 1995 年 2 月 14 日释出了 Delphi 1,二十四年后,收购 Borland 的 Embarcadero 公司为了庆祝这一纪念日释出了 Delphi 10.3 Rio Release 1(10.3.1)。对比 Delphi 1 和运行它的 Windows 3 操作系统与 Delphi 10.3.1 和 Windows 10,你可以看到软件在二十四里的巨大变化。Media

https://www.solidot.org/story?sid=59580
Forwarded from 羽毛的小白板
总的还是能发现些套路,虽然还不习惯这种开发模式