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

技术相干订阅~
另外有 throws 闲杂频道 @dsuset
转载频道 @dsusep
极小可能会有批评zf的消息 如有不适可退出
suse小站(面向运气编程): https://WOJS.org/#/
Download Telegram
Forwarded from YuutaW 鱼塔
WTF?
Yuuta 也会开发一天啊 😫 累死了
Forwarded from YuutaW 鱼塔
终于发觉 妙啊 这个 App 的亮点在哪了 😅
写了一天程序很累,编译安装的时候可以休息会眼睛,正好 WiFi 慢,安装也慢,用 妙啊 能在安装完了及时提醒,太棒了!
#regex 其实蛮好学的啊?只要记下 ^$+*|?[]{}\ 几个元字符就好很多了,很符合直觉很有用 推荐 Regex tutorial
Forwarded from 永久封存 | Yuuta 台 | 😷 #Pray4Wuhan (YuutaW 鱼塔)
看来 Idea 也知道正则不好学(x
永久封存 | Yuuta 台 | 😷 #Pray4Wuhan
https://t.me/TooruchanNews/19022 妈耶 Python 强制缩进差评 Kotlin 我也不太清楚,按换行?
Kotlin 你可以参考 ANTLR v4 Grammars — Kotlin

这个规则抽象的 Kotlin 版本(我相信)应该是 Kotlin 1.2+

相关语法规则:

statements: anysemi* (statement (anysemi+ statement?)*)?;

semi: NL+ | NL* SEMICOLON NL*;
// SEMICOLON: ';' ;
anysemi: NL | SEMICOLON;
// NL: '\u000A' | '\u000D' '\u000A' ;

semi
规则匹配类似 (多个换行) 或者 (无换行或多个换行) ";" (无换行或多个换行)

For Example:
Hello
...

world

Hello; world

Hello

;

world


anysemi 则匹配一个换行或者分号 ";"

statements: anysemi* (statement (anysemi+ statement?)*)?;

Kotlin 是这么看语句的,类似 JavaScript 直至 ES2019 的版本:
;;; println("abc") ;;; println("def")

anysemi(3) Some<Stmt<println("abc")> anysemi(3) Some<Stmt<println("def")>>(1)>

作为比较,Kotlin 的 import 语法

importHeader: IMPORT identifier (DOT MULT | importAlias)? semi?;

import foo.a.b.bar
import foo.a.b.bar.*;


import foo.a.b.bar.* as van.fuckingdeep

anysemi 和 semi 的确有定义上的区别,但不大,这里不说。
#Security #🇺🇸
FBI网站被黑 黑客获取100万条联邦特工身份信息
#www #web #JavaScript 我们来复习一下 HTTP/1.1 协议:

RFC 编号是 2616

[method] [url] HTTP/1.1 [cr] [lf]
{[Header-Name]: [Header-Value] [cr] [lf]}
[Body]?

🤔

GET /helloworld HTTP/1.1[cr][lf]
Host: duangsuse.me


然后考虑 JAX-RS 的一些抽象

ApplicationPath, HttpMethod/GET/POST/PUT/DELETE/OPTIONS/HEAD, PathParam/QueryParam/CookieParam/HeaderParam/FormParam/MatrixParam/DefaultValue, Cosumes/Produces/Encoded


我们来复习一下 JSON

[1, 2, "hello"] array
{ a: 1, b: 2; c: 3 } object

1.2 2 -10 9e1 10E-17 number
"hello" string
true boolean
null object

"\\ \b \f \n \r \t \u0007 \\ \/ \" "
https://github.com/duangsuse/GeekApk/blob/master/geekapk_v1b_api.geekspec #GeekApk

GeekApk 的 GeekSpec 规范即将准备制定 v0.2 新版本,新的规范使用了宏预处理和 Markdown,将支持使用 SPEC 语言进行控制器编程(所以可以将能自动生成的逻辑尽可能自动生成)

🤔
duangsuse::Echo
https://github.com/duangsuse/GeekSpec-GeekApkv1.0b 正在重写逻辑
This media is not supported in your browser
VIEW IN TELEGRAM
GeekSpec 0.2 已经有一些眉目了
duangsuse::Echo
Model 部分基本完成
由此大家可以看出,GeekApk 即使是 v1.0b 也是蛮大的东西,和那些评论系统、微型博客什么的不可同日而语... 至少是逻辑上要实现的东西多得多了。

今天我会完成并且检查 Model 部分,然后我会尝试写一个 JSON 解析器和一个计算器,可能要支持 Java 反射
这些东西都要改天写个 Markdown Parser 再弄个基于 Markdown 的结构提取检查器来解决... 问题是宏系统我还不是特别有设计... 目前用了一个 See [](fileLink) 自动嵌入预处理
duangsuse::Echo
这些东西都要改天写个 Markdown Parser 再弄个基于 Markdown 的结构提取检查器来解决... 问题是宏系统我还不是特别有设计... 目前用了一个 See [](fileLink) 自动嵌入预处理
我希望比较线性的逻辑编写,利用宏系统可以这样,真正意义上的『汉语编程』,而且说不定能跨开发平台:

_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
即使是这样的宏处理器而已,比隔壁的 EPL 高到不知哪里去了,这种弱智翻译怎么好意思称为汉语编程?