duangsuse::Echo
那么,完成这程序需要的一些信息: #Kotlin #tools #project — Regex 正则表达式匹配 group 新消息的 Regex /^(.+), \[(\d{2})\.(\d{2})\.(\d{2}) (\d{2}):(\d{2})\]$/ 对应数据:data class MessageHead(val channel: DisplayName, val date: Date) 新消息,reply to /^\[In reply to (.+)\]$/ 数据:data class R…
话说,扫描器使用的 Regexp,有的(
VSCode 里,这些匹配断言需要开启特殊的配置选项(UsePCRE2)才能使用 🤔
/(^|\s)#(?!#)((\S(?<![\(\)]))+)/)使用了 PCRE2 的 Regexp Negative Lookbehind 和 Negative Lookahead 特性来保证 hastag 有正确的切分,不知道 Java stdlib Regexp 支不支持,Perl 真的是一个很有价值的 UNIX-like 解释器呢。VSCode 里,这些匹配断言需要开启特殊的配置选项(UsePCRE2)才能使用 🤔
duangsuse::Echo
话说,扫描器使用的 Regexp,有的(/(^|\s)#(?!#)((\S(?<![\(\)]))+)/)使用了 PCRE2 的 Regexp Negative Lookbehind 和 Negative Lookahead 特性来保证 hastag 有正确的切分,不知道 Java stdlib Regexp 支不支持,Perl 真的是一个很有价值的 UNIX-like 解释器呢。 VSCode 里,这些匹配断言需要开启特殊的配置选项(UsePCRE2)才能使用 🤔
可以使用。不过我觉得 Regex 可以修改以减少后序处理的过程。
import java.util.regex.*;
pat = Pattern.compile("(^|\\s)#(?!#)((\\S(?<![\\(\\)]))+)")
m = pat.matcher("#abc #dev")
m.reset()
while (m.find()) { println(m.group().trim()) }
duangsuse::Echo
F**king delegates 为什么没有用,然后不能直接 by... Kotlin 一大堆 Property 抽象也看不懂...
This media is not supported in your browser
VIEW IN TELEGRAM
啊我的 Delegate 写错了啊!只是
我应该写个 TimeStamp 接口然后一起的...
Serializable by 的话当然没有自动代理实现 Date... 对象代理用的也不对,应该引用 property 的我应该写个 TimeStamp 接口然后一起的...
https://github.com/duangsuse/TelegramMessageScanner-KotlinMulti-Failed/blob/master/src/commonMain/kotlin/org/duangsuse/messagescanner/model/Date.kt
白写了这么久,可惜 Kotlin Common 居然有这些东西本来应该自带的,Kotlin 的 Doc 上也有说有 Common 版本的,IDEA 的 project template 居然都没法直接用,真是令人心累啊...(跑
白写了这么久,可惜 Kotlin Common 居然有这些东西本来应该自带的,Kotlin 的 Doc 上也有说有 Common 版本的,IDEA 的 project template 居然都没法直接用,真是令人心累啊...(跑
GitHub
duangsuse/TelegramMessageScanner-KotlinMulti-Failed
[FAILED] (Gradle+Groovy/Kotlin JVM&JS) Tired of writing junk code over and over again - duangsuse/TelegramMessageScanner-KotlinMulti-Failed
duangsuse::Echo
可以使用。不过我觉得 Regex 可以修改以减少后序处理的过程。 import java.util.regex.*; pat = Pattern.compile("(^|\\s)#(?!#)((\\S(?<![\\(\\)]))+)") m = pat.matcher("#abc #dev") m.reset() while (m.find()) { println(m.group().trim()) }
🤔 一旦开始写的东西,都是一些对真正的业务逻辑来说可有可无的东西时,就比较危险了...
下面 duangsuse,唉,希望早日能有快速完成任何实际工程的能力吧。
—
Maven 的 POM 怎么写又忘了,我思量着要不要先拿大家都觉得很垃圾的 Java 8 来完成这个扫描器
下面 duangsuse,唉,希望早日能有快速完成任何实际工程的能力吧。
—
Maven 的 POM 怎么写又忘了,我思量着要不要先拿大家都觉得很垃圾的 Java 8 来完成这个扫描器
<dependenciesManagement>
<dependencies>
<dependency>
<groupId>org.duangsuse</groupId>
<artifactId>telegram_message_scanner</artifactId>
<version>1.0.0</version>
<scope>main</scope>
<dependency>
</dependencies>
</dependenciesManagement>
Gradle 的也很难记,Gradle 的 Configuration、Task、Artifact、Plugin、Dependencies、Repositories 也不好记... gradle 用一些 fileTree, doLast, extendFrom, copy, delete, each 什么的... 累。This media is not supported in your browser
VIEW IN TELEGRAM
duangsuse::Echo
🤔 一旦开始写的东西,都是一些对真正的业务逻辑来说可有可无的东西时,就比较危险了... 下面 duangsuse,唉,希望早日能有快速完成任何实际工程的能力吧。 — Maven 的 POM 怎么写又忘了,我思量着要不要先拿大家都觉得很垃圾的 Java 8 来完成这个扫描器 <dependenciesManagement> <dependencies> <dependency> <groupId>org.duangsuse</groupId> <artifactId>telegra…
立即把 randomSelection 重构一下找灵感(
GitHub
duangsuse/randomSelection
📚 Random text item selection for presentation-making usage 点名器 - duangsuse/randomSelection
duangsuse::Echo
😲 Sticker
duangsuse 不好的地方主要在于记忆不好,比如上次我记得我记了 Maven 的一些模型侧面,可是现在全忘了:
记得一个 Maven 包有(默写的,记住的):
ArtifictId, GroupId, VersionName
Name, PackagingType, Description, Url
Developer name, developer id
SCM, SCM Connection, SCM developer connection
Licence, licence name, licence url
可是,实际上还有
+ SCM(url)
+ Licence(dist)
太微不足道了,如果要开发 Qt 程序呢?有些 signal 和 slot 怎么记... 界面的东西
如果 duangsuse 能写出类似这样的代码,可能会稍微安心一点,可是好像没有写出过(或许吧)。
其实 duangsuse 真的会写位运算... 就差 OI 级别的位运算了。
记得一个 Maven 包有(默写的,记住的):
ArtifictId, GroupId, VersionName
Name, PackagingType, Description, Url
Developer name, developer id
SCM, SCM Connection, SCM developer connection
Licence, licence name, licence url
可是,实际上还有
+ SCM(url)
+ Licence(dist)
太微不足道了,如果要开发 Qt 程序呢?有些 signal 和 slot 怎么记... 界面的东西
如果 duangsuse 能写出类似这样的代码,可能会稍微安心一点,可是好像没有写出过(或许吧)。
其实 duangsuse 真的会写位运算... 就差 OI 级别的位运算了。
GitHub
shazam/axmlparser
An updated version of AXMLParser, compatible with aapt2 - shazam/axmlparser