Forwarded from moke 的 日常分享、吐槽和动态
《欧洲最大云服务公司 OVH 法国机房着火:1个数据中心被完全烧毁、部分客户数据完全丢失且无法恢复》
https://www.oschina.net/news/132638/france-ovh-fire
字面意义上的 数据上云
https://www.oschina.net/news/132638/france-ovh-fire
字面意义上的 数据上云
duangsuse::Echo
妈耶,指捏缩放没有好的解决方法? 虽然我的 kx 建模目前也没明显的和 px 单位相关…… 因为 JS 出问题总是让人很草的 我去找了一下,现在最主流的辅助库是 https://hammerjs.github.io/ ,但它 7k gzipped ,我整个应用编译后才 7k... 感觉有点不爽 https://github.com/manuelstofer/pinchzoom/blob/master/src/pinch-zoom.js 也有点长(TM 30kb) https://github.com/Jam3/touch…
[Android 4.x touchmove事件兼容问题 - 程序园](http://www.voidcn.com/article/p-fkfhxnuh-bqb.html)
[安卓部分机型touch 事件失效的hack方式 - Tony_M - 博客园](https://www.cnblogs.com/childsplay/p/5477328.html)
找了一下, Chrome 上的问题解决了,但手机 FF 还是废的😂👍
[安卓部分机型touch 事件失效的hack方式 - Tony_M - 博客园](https://www.cnblogs.com/childsplay/p/5477328.html)
找了一下, Chrome 上的问题解决了,但手机 FF 还是废的😂👍
Cnblogs
安卓部分机型touch 事件失效的hack方式 - Tony_M - 博客园
常规写一段滑动代码,我们可能这么写 直接复制粘贴,请忽视相关业务代码。一般在touchmove中加e.preventDefault()来防止安卓手机只触发一次move和不触发end事件的问题和一些浏览
Forwarded from duangsues.is_a? SaltedFish
#Kotlin #design 提问!怎么写 matcher 库呢?
你需要了解如何写可组合的操作,这里是
接着,考虑是 val 还是 fun,用不用 receiver 参数或带 receiver 参数的 Scope 闭包即可。
组合很简单,用函数的闭包(即 #OOP 对象)拼凑实际表达式
咱可以看到,这个「高复用」办法本质只是在隐式化、拼凑参数罢了,其实
当然,它们本身也是可被组合的,就像程序结构本身一样;但,原来十行代码的东西就只用写一行了,多快好省。
如果只是这样根本没必要单独开项目,反正计算开销小,可以取消 all 等组合器的部分求值,即便已知 mismatch 也只是存到一个结果报告(Map+path 足矣)里继续测试,这只需要让 all matcher 能知道自己的「路径」并且给子项们接上「新路径」。
只需把只能 apply() 的 function value 变成带构造器和 .var 的 interface ,在构造器里给子项进行 .path= 的「注入」隐式提供其路径,它之后的生命里全复用即可。
不过,这么一来就变成
不过,这也照应了程序本身树穷尽遍历的性质,不再是逻辑表达式的「解释器」了。
你需要了解如何写可组合的操作,这里是
predicate: (T) -> Boolean ,当然实际上必须维护可阅读的结果报告(String path, Map mismatchs)接着,考虑是 val 还是 fun,用不用 receiver 参数或带 receiver 参数的 Scope 闭包即可。
组合很简单,用函数的闭包(即 #OOP 对象)拼凑实际表达式
1.match { all(eq(1), lt(5)) } 其中 lt 是 lessThan 的意思。const eq=a=>b=>(a==b), //lt也是一样模式,除了(b,a)=>(a<b)倒个语序
all=(...ps)=>x=>{ for(let p of ps) if(!p(x))return false; return true; } 咱可以看到,这个「高复用」办法本质只是在隐式化、拼凑参数罢了,其实
==,!=,<>,in 等二元逻辑算符的引入都是预提供一个参数,等另一个参数 ,而 all, any, none (&|, !|) 则是在组合 Predicate 类型,用 for 循环解释 && 等算符短路(即惰性)求值的语义(any,all 等列表处理操作本是如此性质)。当然,它们本身也是可被组合的,就像程序结构本身一样;但,原来十行代码的东西就只用写一行了,多快好省。
如果只是这样根本没必要单独开项目,反正计算开销小,可以取消 all 等组合器的部分求值,即便已知 mismatch 也只是存到一个结果报告(Map+path 足矣)里继续测试,这只需要让 all matcher 能知道自己的「路径」并且给子项们接上「新路径」。
只需把只能 apply() 的 function value 变成带构造器和 .var 的 interface ,在构造器里给子项进行 .path= 的「注入」隐式提供其路径,它之后的生命里全复用即可。
不过,这么一来就变成
interface Matcher { var name:String, fun test(x:T, m:Map<String,ErrMsg>) } 了,不需要给父组合器提示返回值了呢。不过,这也照应了程序本身树穷尽遍历的性质,不再是逻辑表达式的「解释器」了。
Forwarded from dnaugsuz
https://t.me/dsuse/16941 早上没起床就写了点相关知识……
嘛其实我觉得
(不对…… ParserKt 的问题是 Repeat.not 的肯定要 rewrap ,但是这个的数据类型没有不同(不对,这个靠 ErrList 依然会有变换后否决错误信息缺失的问题……
如果让动苏来设计就不会有这种问题
嘛其实我觉得
mvc.perform(httpOp).andExpect(matcher) 挺冗余的, mvc.expect(arrayOf(httpOp to matcher)) 合适点status=>ResultMatcher { AssertionErrors.assertNotEqual("status", status.value(), it.response.status) } 吗mockMvc.perform(post(path)).andExpect(status().isNotFound) 不能 Matcher.not() 是肯定的,如果要的话需要更改最下层的(==)命题,直接否决Telegram
duangsuse::Echo
#Kotlin #design 提问!怎么写 matcher 库呢?
你需要了解如何写可组合的操作,这里是 predicate: (T) -> Boolean ,当然实际上必须维护可阅读的结果报告(String path, Map mismatchs)
接着,考虑是 val 还是 fun,用不用 receiver 参数或带 receiver 参数的 Scope 闭包即可。
组合很简单,用函数的闭包(即 #OOP 对象)拼凑实际表达式
1.match { all(eq(1), lt(5)) } 其中…
你需要了解如何写可组合的操作,这里是 predicate: (T) -> Boolean ,当然实际上必须维护可阅读的结果报告(String path, Map mismatchs)
接着,考虑是 val 还是 fun,用不用 receiver 参数或带 receiver 参数的 Scope 闭包即可。
组合很简单,用函数的闭包(即 #OOP 对象)拼凑实际表达式
1.match { all(eq(1), lt(5)) } 其中…
duangsuse::Echo
#Kotlin #design 提问!怎么写 matcher 库呢? 你需要了解如何写可组合的操作,这里是 predicate: (T) -> Boolean ,当然实际上必须维护可阅读的结果报告(String path, Map mismatchs) 接着,考虑是 val 还是 fun,用不用 receiver 参数或带 receiver 参数的 Scope 闭包即可。 组合很简单,用函数的闭包(即 #OOP 对象)拼凑实际表达式 1.match { all(eq(1), lt(5)) } 其中 lt…
#Java #statement https://t.me/Javaer/561982 但是大佬还是大佬呢
不过即便大佬很大佬,我也会向着既定的目标前进;对自己重视的东西我是有绝对的自信的。
我要扼住命运的咽喉,使它不能阻止我交易
不过即便大佬很大佬,我也会向着既定的目标前进;对自己重视的东西我是有绝对的自信的。
Telegram
duangsuse in Java 编程语言
不高深, byte int long 等数值类型有二进制位长度, char 也是某种数值, 窄化缩减长度会导致高位信息溢出,比如 (char)0xffff != (int)0xffff
c是16位 i是 32位
Java 和 C 里宽化可以隐式,窄化必须 (char)c 的写出来
c是16位 i是 32位
Java 和 C 里宽化可以隐式,窄化必须 (char)c 的写出来
Forwarded from dnaugsuz
有时候虽然他们只是在吐槽过于简单,我都觉得有点太爱秀了的意思,大概是老「反向偏见」了
可能是我对数学的一些人的某些作风有一些成见吧,不过本苏也不会算法和 DP 动态规划,当然递归和缓存是会的。
不过这道题 JavaScript 里也可这样答:
然后
其实我最大的成见就是,算法在实际应用中不是最重要的;学会设计和编程调试在大部分应用/服务里对性能及健壮性、易用性的影响更显著,很多时候看似简单的算法反而有更低时间复杂度;人的能力不是通过「不明觉历」能评价的。 🤔💭
可能是我对数学的一些人的某些作风有一些成见吧,不过本苏也不会算法和 DP 动态规划,当然递归和缓存是会的。
不过这道题 JavaScript 里也可这样答:
const
int2float=(n)=>applyKeepSign(n, i=>digitCat(0.0, [...digitPop(i)].reverse())),
digitPop=function*(n){ let acc=n; while(acc>0) { yield acc%10; acc=Math.floor(acc/10); } },
digitCat=(init,ds)=>{ let acc=init; for(let d of ds)acc=acc*10+d; return acc },
applyKeepSign=(n,op)=>Math.sign(n)*op(Math.abs(n)); 然后
[-10, 251, 0].map(int2float) == [-10,251,0]其实我最大的成见就是,算法在实际应用中不是最重要的;学会设计和编程调试在大部分应用/服务里对性能及健壮性、易用性的影响更显著,很多时候看似简单的算法反而有更低时间复杂度;人的能力不是通过「不明觉历」能评价的。 🤔💭
#Python https://github.com/tiangolo/fastapi#example-upgrade doc generator Swagger (笑) 👌
不知道从什么时候开始我懒得看 fast 一词了,你们随意。 🌚 1k forks ,真够的
不知道从什么时候开始我懒得看 fast 一词了,你们随意。 🌚 1k forks ,真够的
GitHub
GitHub - fastapi/fastapi: FastAPI framework, high performance, easy to learn, fast to code, ready for production
FastAPI framework, high performance, easy to learn, fast to code, ready for production - fastapi/fastapi