因为 #Basic 没有内建 Regex 支持,我只好自己用 VBA.Strings 写的低效辣鸡满是 Shadow Copy (而不是 Zero Copy... 老是传 ByValue,我怀疑它是不是真的要复制一份字符串... 那多伤感情...)的扫描程序,虽然我其实可以用 Windows 的 COM Object 的.... 而且这是 #dotnet #CSharp VisualBasic for Applications 而不是 VisualBasic.NET 所以连
Of Generics 都没有,数组都得是 Variant(无类型检查),辣鸡死了... 话说 VB.NET 还有 Class、Interface、Type、Namespace 什么的?///Forwarded from Deleted Account
最近知道了一个免服务器发布静态配置的方法,DNS TXT 记录…
可以用来做应用内检查更新
可以用来做应用内检查更新
Forwarded from 每日消费电子观察 (Dave Lin)
《绝地求生:刺激战场》今日改名为《和平精英》正式上线
http://www.vgtime.com/topic/1054077.jhtml
在免费测试近一年之后,《绝地求生:刺激战场》官方微博在今天正式宣布停止测试,同时宣布另一款游戏《和平精英》在今天开启公测。
毕竟为了版号,什么都做得出来
至于对游戏评论
欢迎各位移步下文
为了过审,和平精英(前刺激战场)的做法把我看笑了
https://www.huxiu.com/article/298234.html
个人感觉可以和之前的清理"苏联政治笑话生成器"一样,成为当代魔幻主义的一部分了
http://www.vgtime.com/topic/1054077.jhtml
在免费测试近一年之后,《绝地求生:刺激战场》官方微博在今天正式宣布停止测试,同时宣布另一款游戏《和平精英》在今天开启公测。
毕竟为了版号,什么都做得出来
至于对游戏评论
欢迎各位移步下文
为了过审,和平精英(前刺激战场)的做法把我看笑了
https://www.huxiu.com/article/298234.html
个人感觉可以和之前的清理"苏联政治笑话生成器"一样,成为当代魔幻主义的一部分了
Vgtime
《绝地求生:刺激战场》今日改名为《和平精英》正式上线 - vgtime.com
《绝地求生:刺激战场》今日改名为《和平精英》正式上线,是不是所有玩家都买账,现在还不好说。
Forwarded from YSC 的频道
另外才发现微软开源了 wil。逆向 Windows 中 C++ 编写的程序经常能看到一些封装传统 Win32 API 的 wil class。有了这个可以用 modern C++ 的方式来写 Win32 应用,避开很多 C 语言的坑。
https://github.com/Microsoft/wil/wiki/RAII-resource-wrappers
RAII 好耶!
https://github.com/Microsoft/wil/wiki/RAII-resource-wrappers
RAII 好耶!
GitHub
GitHub - microsoft/wil: Windows Implementation Library
Windows Implementation Library. Contribute to microsoft/wil development by creating an account on GitHub.
C++ 语言特性的确比较多的... 手写起来恐怕还是比较难啊... 也要看后端的问题,你是打算弄优化编译,后面的汇编器、Linker 什么的是不是也要自己写,stl stdcxx 是不是也自己实现?
如果 stl 的 map 是 hashmap 的话,恐怕你也要学点数据结构和算法了,其他的我不清楚
如果 stl 的 map 是 hashmap 的话,恐怕你也要学点数据结构和算法了,其他的我不清楚
This media is not supported in your browser
VIEW IN TELEGRAM
说起来活命也不容易,前端没时间入,后端水太深,这还没扯到某些信息学、数学、计算机科学的内容呢。
就是做什么都很困难啊!
比如说,安全离不开的密码学、关系代数和关系数据库、信号处理、计算机图形学、信号处理、无线电、Hardware、机器学习、软件工程理论....
就是做什么都很困难啊!
比如说,安全离不开的密码学、关系代数和关系数据库、信号处理、计算机图形学、信号处理、无线电、Hardware、机器学习、软件工程理论....
duangsuse::Echo
说起来活命也不容易,前端没时间入,后端水太深,这还没扯到某些信息学、数学、计算机科学的内容呢。 就是做什么都很困难啊! 比如说,安全离不开的密码学、关系代数和关系数据库、信号处理、计算机图形学、信号处理、无线电、Hardware、机器学习、软件工程理论....
说起来今天我本来打算做这些的,可后来没啥时间了...(料到假使我把时间都拿来实现也不可能完成...)
我对 Maven, Gradle, CMake, Make 也稍微熟悉了一点,不至于卡项目创建
+ NotiMemo
类似 YuutaW 的 DoNotForget, 可能是要我尝试写一下 ListView 的 Adapter,使用 Android Notification 模型,Intents 以及基本的 Persistence, Activities
当然还有点动效的.... (L 上有 Ripple 就不必了)
想来是:
activity.Main()
activity.NotisEdit()
activity.NotiView(title)
Main 直接发一个 Keep alive 的 Notification 完事,然后这个 Notifiaction 留着,或者不管怎么样让 NotiEdit 能访问到,要更新其中的状态行
Notification 不需要其他的(比如,按钮),只要一个 text span 完事
NotiEdit 就是使用对话框风格的 Activity 了,它访问使用 SharedPreference 持久化的存储层,
Memo,就是一个记录,有一个 Title 和一个 Body,都是 Spannable,可以 Create-Read-Delete
作用是:
查看列表,可以使用『All/Finished/Working』状态过滤,Finished 列表项,使用半透明显示
删除 Memo,通过长按列表项
新建 Memo,通过 "+" 按钮
改变 Memo 的完成状态,通过点击 Memo 来完成
查看 Memo 的细节,通过双击 Memo 来完成(好像有点 dirty... 或许应该通过 Horizontal 滑动的...)
每次更新(插入、变态、删除)的时候再去更新应用启动的时候缓存的集合(而不是通过
Persistence 是一个 interface
直接让 list view 去 draw 当前的 memo list 然后再直接
+ Todo
也是一个类似的 App,不过是比较大的,使用普通的『Activity』+Fab 界面风格的,不过是测试 Kotlin Anko、Realm、RealmRecyclerView 用的
这时候就使用 ViewHolder 了,说白了就是抄 《Kotlin 极简教程》的
+ 完成之前学校里没写完的 HTML 一二三等奖名单评奖器
+ BinaryStreamIO....
关于,我又想了一个方式抽提 ByteOrder 读取写入逻辑,使用了 Higher-order-function 和变长位运算、位长度计算
可以直接
<T> readNBits<T>(T selector, T value)
readByte<T> = readNBits<T>(0xFF)
但其实我最终想要的还是
selectByteAt(32)(0xFF_EE_DD_CC)(0) //=> FF
moveByte(32)(0xFF_EE_DD_CC)(0)(2) // 0x00_FF_00_00
其中 select 的逻辑大概就是
(T) -> kotlin.Int
>>> f(0)
251658240
>>> f(0).toString(16)
f000000
>>> f(1).toString(16)
ee0000
>>> f(2).toString(16)
dd00
>>> f(3).toString(16)
cc
+ Spannable Builder
为什么我写完了 Python 的 XMLBuilder 却不会写 Spannable Builder 呢?
我对 Maven, Gradle, CMake, Make 也稍微熟悉了一点,不至于卡项目创建
+ NotiMemo
类似 YuutaW 的 DoNotForget, 可能是要我尝试写一下 ListView 的 Adapter,使用 Android Notification 模型,Intents 以及基本的 Persistence, Activities
当然还有点动效的.... (L 上有 Ripple 就不必了)
想来是:
activity.Main()
activity.NotisEdit()
activity.NotiView(title)
Main 直接发一个 Keep alive 的 Notification 完事,然后这个 Notifiaction 留着,或者不管怎么样让 NotiEdit 能访问到,要更新其中的状态行
Notification 不需要其他的(比如,按钮),只要一个 text span 完事
NotiEdit 就是使用对话框风格的 Activity 了,它访问使用 SharedPreference 持久化的存储层,
Memo,就是一个记录,有一个 Title 和一个 Body,都是 Spannable,可以 Create-Read-Delete
作用是:
查看列表,可以使用『All/Finished/Working』状态过滤,Finished 列表项,使用半透明显示
删除 Memo,通过长按列表项
新建 Memo,通过 "+" 按钮
改变 Memo 的完成状态,通过点击 Memo 来完成
查看 Memo 的细节,通过双击 Memo 来完成(好像有点 dirty... 或许应该通过 Horizontal 滑动的...)
每次更新(插入、变态、删除)的时候再去更新应用启动的时候缓存的集合(而不是通过
MemoDataAccess 获取的持久化状态),刷新状态栏 Notification 状态Persistence 是一个 interface
interface MemoDataAccess {
List<Memo> getAllMemo();
List<Memo> getWorkingMemo();
List<Memo> getFinishedMemo();
void addMemo(final Memo nt);
void deleteMemo(final String title);
void changeMemoState(final Memo nt, boolean active);
void flush() throws IOException;
}
然后就使用普通的 Adapter 模型,List Model 吧(而不是 Item Model/ViewHolder)直接让 list view 去 draw 当前的 memo list 然后再直接
f(x)=x 映射索引添加行为就可以了(+ Todo
也是一个类似的 App,不过是比较大的,使用普通的『Activity』+Fab 界面风格的,不过是测试 Kotlin Anko、Realm、RealmRecyclerView 用的
这时候就使用 ViewHolder 了,说白了就是抄 《Kotlin 极简教程》的
+ 完成之前学校里没写完的 HTML 一二三等奖名单评奖器
+ BinaryStreamIO....
关于,我又想了一个方式抽提 ByteOrder 读取写入逻辑,使用了 Higher-order-function 和变长位运算、位长度计算
可以直接
<T> readNBits<T>(T selector, T value)
readByte<T> = readNBits<T>(0xFF)
但其实我最终想要的还是
selectByteAt(32)(0xFF_EE_DD_CC)(0) //=> FF
moveByte(32)(0xFF_EE_DD_CC)(0)(2) // 0x00_FF_00_00
其中 select 的逻辑大概就是
fun <T: Int> selectByteOf(bs: T, sz: T) = fun (n : T) = bs.and(0xFF shl sz -n*8 -8)>>> f
val f=selectByteOf<Int>(0x0FEEDDCC, 32)
(T) -> kotlin.Int
>>> f(0)
251658240
>>> f(0).toString(16)
f000000
>>> f(1).toString(16)
ee0000
>>> f(2).toString(16)
dd00
>>> f(3).toString(16)
cc
+ Spannable Builder
为什么我写完了 Python 的 XMLBuilder 却不会写 Spannable Builder 呢?
duangsuse::Echo
展示性地介绍一下这个插件,目前例子还没做完....
我决定现在做完了(
VisualGimp 要火(求
VisualGimp 要火(求
This media is not supported in your browser
VIEW IN TELEGRAM
做完了,很累... 火?... 可能不是用来做这个的
duangsuse::Echo
我决定现在做完了( VisualGimp 要火(求
This media is not supported in your browser
VIEW IN TELEGRAM
其实我不火的(如果好像不应该火的话
下面我要做一个『鸡你太美』(篮球 rap 系)
java annotation Processor,它有如下功能:
把所有类中叫 jntm 的方法都改名为 “鸡你太美”
把所有方法中叫 chick 的局部变量都改名为 “鸡”
把所有 @chick 注释的 class/instance field 都改名为 『鸡』
算是一个 Java Annotation Processor 的 "Hello World",毕竟我以后可能要利用 Java Annotation 扩展 Java 语言的(比如加入 Kotlin 的 in out 泛型语法,加入 val 语法)
下面我要做一个『鸡你太美』(篮球 rap 系)
java annotation Processor,它有如下功能:
把所有类中叫 jntm 的方法都改名为 “鸡你太美”
把所有方法中叫 chick 的局部变量都改名为 “鸡”
把所有 @chick 注释的 class/instance field 都改名为 『鸡』
算是一个 Java Annotation Processor 的 "Hello World",毕竟我以后可能要利用 Java Annotation 扩展 Java 语言的(比如加入 Kotlin 的 in out 泛型语法,加入 val 语法)