首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何让你回调更具Kotlin风味

很久就一直在使用Kotlin写项目,说实话到目前为止Kotlin用是越来越顺手了(心里只能用美滋滋形容了)。当然这次依然讲的是Kotlin,说下我这次需求开发中自己一些思考和实践。...Kotlin改造Java中回调 针对上述Java中回调写法,估计大部分人转到Kotlin后,估计会做如下处理: 1、如果接口只有一个回调函数可以直接使用lamba表达式实现回调简写。...区别就在这里,所以在性能方面object对象表达式这种方式会更优一点,但是通过问过一些Kotlin社区大佬们他们还是倾向于DSL配置这种写法。...kotlin撸个自动生成ListenerBuilder插件吧) 使用过DSL配置回调小伙伴们有没有觉得写这些代码没有任何技术含量,且浪费时间, 那么Don't Repeat Yourself从现在开始...有时候当我们在重复性一些操作时候,不妨去思考下用什么工具能否把整个流程给自动化。归根结底一句话: Don't Repeat Yourself.

1.6K20

django 1.8 官方文档翻译:14-1 按需内容处理

按需内容处理 HTTP客户端可能发送一些协议头告诉服务端它们已经看过了哪些资源。这在获取网页(使用HTTPGET请求)时非常常见,可以避免发送客户端已经获得完整数据。...第一个装饰器不知道后面的任何事情,并且可能发送“未修改”响应,即使第二个装饰器会处理别的事情。condition装饰器同时更使用两个回调函数,弄清楚哪个是正确行为。...例如,考虑以下客户端和服务端之间交互: 客户端请求/foo/。 服务端回复一些带有"abcd1234"ETag内容。 客户端发送HTTP PUT 请求到 /foo/ 更新资源。...客户端在接收到412响应之后,发送 GET请求到 /foo/,在更新之前获取内容新版本。 重要事情是,这个例子展示了在所有情况下,ETag和最后修改时间都采用相同函数计算。...如果一些都执行得非常快,坚持使用中间件在如果视图没有修改条件下也会使发回客户端网络流量也会减少。

42430
您找到你想要的搜索结果了吗?
是的
没有找到

C++模拟面试:宏、lambda、智能指针闲谈

有时候出于种种目的,我们会用宏来写一些函数。有人称之为宏函数。下面我们模拟一场面试: 面试官 先来个简单热热身,用宏实现求两个数最大。...其实我觉得叫做函数宏可能准确。因为从偏正短语文法角度讲,『宏』才是中心词,应该放后面。好了,不上语文课了。 为什么我想强调宏,而不是函数。因为并不是所有带括号宏,都能当成『函数』使用。...当然这是一个抽象后问题,大概知道有时候有这样一类需求,不是像三目运算符那样可以一行求值,当成函数用。需要一些额外操作才能出,这时候怎么变成宏函数呢?...是不是简洁了。 lamba形式繁多,在无参时候,可以省略参数列表。另外其实完整版lamba是连返回类型也要声明。但在编译器能正确推导返回类型时候,通常我们省略了。...= nullptr) { stg->run(); } 问题就是简化版lambda,无返回声明。然而这个lambda内部可能返回两种类型。

53820

headless CMS_model view controller

我可以简单地说,在某些情况下,解耦系统,容易更换前端并加快开发阶段是有用,但我觉得有必要使用无序列表更好地解释。...垂直解决方案:HCMS一件事。这使得学习和维护变得非常容易。 灵活性:一旦你选择了你HCMS(无论是本地还是云端),你开发人员都可以使用他们喜欢任何语言实现前端。...对其他auth系统进行身份验证可能性 可以使用挂钩/事件系统添加业务逻辑可能性 可以添加自定义端点来管理与数据无关事件可能性 可以在插件系统中添加功能可能性 验证数据可能使用多种协议公开数据...基于此,您可以通过实现lamba调整系统中所有内容。每个lambda实例都在运行时发现,并根据lamba类型和事件调用,并将数据上下文传递给它。 下面给出一些lambda示例。...兴趣点 HMCS是解耦架构和避免无用工作绝佳机会。这可能会带来诸如减少时间和成本等好处,使各方独立。当然,这不是灵丹妙药,您必须了解垂直解决方案是否方便,或者您企业登录是否避免你使用它。

73720

Python基础语法(三)——函数

这个例子中,10块钱是我给儿子,就相当于调用函数时传递到参数,让儿子买烟这个事情最终目标是,让他把烟给你带回来然后给你对么,此时烟就是返回。...综上所述: 所谓“返回”,就是程序中函数完成一件事情后,最后给调用者结果。 (2)带有返回函数 想要在函数中把结果返回给调用者,需要在函数中使用return。...result已经保存了add2num返回,所以接下来就可以使用了 print(result) (六)4种函数类型 函数根据有没有参数,有没有返回,可以相互组合,一共有4种: 无参数,无返回 无参数...,有没有返回可以相互组合 定义函数时,是根据实际功能需求设计,所以不同开发人员编写函数类型各不相同 (七)函数嵌套调用 def testB(): print('---- testB...(十二)引用 在python中,是靠引用来传递。 我们可以用id()判断两个变量是否为同一个引用。 我们可以将id理解为那块内存地址标示。

1.2K10

python 函数进阶

函数参数和返回作用 函数根据 有没有参数 以及 有没有返回,可以 相互组合,一共有 4 种 组合形式 无参数,无返回 无参数,有返回 有参数,无返回 有参数,有返回 ?...,应用场景如下: 只是单纯地一件事情,例如 显示菜单 在函数内部 针对全局变量进行操作,例如:新建名片,最终结果 记录在全局变量 中 注意: 如果全局变量数据类型是一个 可变类型,在函数内部可以使用...函数返回 进阶 在程序开发中,有时候,会希望 一个函数执行结束后,告诉调用者一个结果,以便调用者针对具体结果后续处理 返回 是函数 完成工作后,最后 给调用者 一个结果 在函数中使用 return...关键字可以返回结果 调用函数一方,可以 使用变量 接收 函数返回结果 问题:一个函数执行后能否返回多个结果?...有时可能需要 一个函数 能够处理参数 个数 是不确定,这个时候,就可以使用 多值参数 python 中有 两种 多值参数: 参数名前增加 一个 * 可以接收 元组 参数名前增加 两个 * 可以接收

66930

为什么道理懂那么多,你依然是个弱鸡

这里没有特指,也没有嘲讽,更多是自我反思过后一些体会,只求写一篇爽文,记录下近期一些想法,再过一段时间回来看看,有哪些想法其实还可以再升华。...一些思考 有时候埋头苦干真的可能只是苦干 以前我也是以为只要专心做事就够了,每天上班下班把事情搞定,遇到问题自己埋头解决,加班加点,看起来好像很努力很励志样子,但最后发现其实是自我陶醉,一年下好像做了很多事情...道理2:别人挑战或者别人提问其实是能更好帮助自己去加深思考,别人可能会从更多维角度去看待你所做事情,让你这个事情更全面一些,而不是单点思考。...那怎么衡量你事情产生了多大价值呢,那就得用数据证明,那么日常工作中就得思考: 为什么要做这件事情,为什么必须由你,你这件事情有什么优势,你希望从这个事情得到什么(价值思考) 这个事情之前是怎么样...经常会被一些猎头骚扰,会问最近有没有看外面的机会,每次我都回一句,暂时不考虑。

44220

vue高频面试题合集(一)附答案

(3)对象式组件声明方式vue2.x 中组件是通过声明方式传入一系列 option,和 TypeScript 结合需要通过一些装饰器方式,虽然能实现功能,但是比较麻烦。...其实当代码功能复杂之后,必须有一个静态类型系统一些辅助管理。现在 vue3.0 也全面改用 TypeScript 重写了,更是使得对外暴露 api 容易结合 TypeScript。...,immediate 三个属性**; (3)监听是一个过程,在监听变化时,可以触发一个回调,并**一些其他事情**。...是用来函数劫持方式,重写了数组方法,具体呢就是更改了数组原型,更改成自己,用户调数组一些方法时候,走就是自己方法,然后通知视图去更新。...key 是给每一个 vnode 唯一 id,依靠 key,我们 diff 操作可以准确、更快速 (对于简单列表页渲染来说 diff 节点也更快,但会产生一些隐藏副作用,比如可能不会产生过渡效果,

93830

分享一些对你有帮助JavaScript技巧

前言 大多数编程语言都是足够开放,允许程序员用多种方式类似的结果。 JavaScript也不例外。...对于JavaScript,我们经常会发现,为了一个相似的结果,我们可以用多种方式事情,这有时会让人感到困惑。 有些用法比其他替代方法更好。 你如何改变你JS代码,让它简单,容易阅读?...->promise 为了让事情变得干净、更高效,你可以将回调(ourCallbackFn)转化为承诺是一个函数。...在调用函数时,你可以为这些参数传,也可以不传。如果你不为param传,它将是未定义可能会引起一些不必要副作用。 在定义函数参数时,有一种简单方法可以将默认传递给函数参数。...let [fire, clock, , watermelon] = emojis; 这和,让火=表情符号[0]是一样;但多了很多灵活性。 你有没有注意到,我只是用中间空位忽略了奖杯表情?

1.2K20

怎样使用 GitHub?文科妹子写 Github 入门教程

我们所谓「回退」到历史记录,随时查看更改了什么地方,利用这个功能可以事情简直太多啦!...想想看,用 git 分支管理不比拷贝粘贴方便吗? 3、健身 有个哥们为了激励自己健身把每日计划都放上去了,还可以邀请其他人一起相互监督!...· GitHub 就是国内一个自发组织起来团队,30多个人用9天时间即将翻译和校对工作全部完成,他们每人都还有自己事情,上班、上线、创业,这么大工作量在以往简直是不可能完成任务!...甚至专门有一个项目就是自动根据你 GtiHub 公开项目创建个人简历: 我们可以使用 Git 以及 GitHub 哪些事情?...- Kane Blueriver 回答 10、设计资源库(重点来了!!!) ppt 不知道到哪里去找高质量美图? 最近半年初入设计圈,收集了不少 bookmark 想在年底一个总结。

1K90

代码评审三怕

如果觉得上面我说不够清楚,可以这么理解:有压缩功能二进制算法都是有代价,代价就是需要遵循一定规则,升级很可能会打破这个规则,造成错误。...最冤枉是原来代码本来问题也不大,只是风格不符合代码评审人员习惯。结果评审人员非要编码人员改了,结果没改全出现了问题。虽然有一些手段进行规避,比如单元测试。但是修改代价还是很高。...我在进行代码评审时候,第一件事是确认代码编写人员修改范围,看看这个修改范围我之前有没有对逻辑细致梳理。如果没有梳理过,那我先梳理一遍,照着梳理内容进行评审。...最可怕是评审出来问题后,评审人让写代码者改什么,写代码者就是无脑照办。评审人很可能由于使用脑补细节有疏漏,造成问题。...后来我想明白了:就像99%时间会花在线上只有1%几率出现问题一样。多囫囵吞枣事情并不多花多少时间,而想把质量提高一些更好一些,却是更难事。

56030

干货 | 如何写一个更好Python函数?

基于我理解,如果一个Python函数能够符合下面的大部分条件,我会认为它是一个“好”函数: 命名合理 单一功能 包括文档字符串 返回一个 不超过50行 是幂等函数或纯函数 对许多人来说,这些要求可能显得过于苛刻了...这种处理方式,不仅能让测试函数容易,并且还允许这两个部分有了迁移性,如果合适的话,还可能一起应用到不同模块中。 在编程中,你会发现好多函数都可以很多很多事情。...如果你不能写一个清晰文档字符串描述函数做什么,就说明你需要再考虑考虑为什么要写这个函数了。 返回 函数可以被认为是一些独立程序。它们以参数形式接受一些输入,并返回一些结果。...参数有没有都可以,但从Python内部角度来看,返回是必须要有的。你不可能创建一个没有返回函数。如果函数没有返回,Python会“强制”返回None。...其次,即使这样不可行,复制某个参数成本太高,你也可以回到上一条建议。 “我需要返回多个。单独返回一个是没有意义。” 可以使用元组返回多个

58710

怎样才能写好一个 Python 函数

这种处理方式,不仅能让测试函数容易,并且还允许这两个部分有了迁移性,如果合适的话,还可能一起应用到不同模块中。 在编程中,你会发现好多函数都可以很多很多事情。...如果你不能写一个清晰文档字符串描述函数做什么,就说明你需要再考虑考虑为什么要写这个函数了。 4. 返回 函数可以被认为是一些独立程序。它们以参数形式接受一些输入,并返回一些结果。...参数有没有都可以,但从 Python 内部角度来看,返回是必须要有的。你不可能创建一个没有返回函数。如果函数没有返回,Python 会“强制”返回 None。...当给定函数没有返回时,有一些常见原因: “它所做只是[一些与 I/O 相关事情,比如将一个保存到数据库中]。我不能返回任何有用东西。” 我不同意。...其次,即使这样不可行,复制某个参数成本太高,你也可以回到上一条建议。 “我需要返回多个。单独返回一个是没有意义。” 可以使用元组返回多个

55220

干货 | 如何写一个更好Python函数?

基于我理解,如果一个Python函数能够符合下面的大部分条件,我会认为它是一个“好”函数: 命名合理 单一功能 包括文档字符串 返回一个 不超过50行 是幂等函数或纯函数 对许多人来说,这些要求可能显得过于苛刻了...这种处理方式,不仅能让测试函数容易,并且还允许这两个部分有了迁移性,如果合适的话,还可能一起应用到不同模块中。 在编程中,你会发现好多函数都可以很多很多事情。...如果你不能写一个清晰文档字符串描述函数做什么,就说明你需要再考虑考虑为什么要写这个函数了。 返回 函数可以被认为是一些独立程序。它们以参数形式接受一些输入,并返回一些结果。...参数有没有都可以,但从Python内部角度来看,返回是必须要有的。你不可能创建一个没有返回函数。如果函数没有返回,Python会“强制”返回None。...其次,即使这样不可行,复制某个参数成本太高,你也可以回到上一条建议。 “我需要返回多个。单独返回一个是没有意义。” 可以使用元组返回多个

59020

分享一些可能不知道但却很有帮助JavaScript小技巧

积极向上前端人! 前言 大多数编程语言都是足够开放,允许程序员用多种方式类似的结果。 JavaScript也不例外。...对于JavaScript,我们经常会发现,为了一个相似的结果,我们可以用多种方式事情,这有时会让人感到困惑。 有些用法比其他替代方法更好。 你如何改变你JS代码,让它简单,容易阅读?...->promise 为了让事情变得干净、更高效,你可以将回调(ourCallbackFn)转化为承诺是一个函数。...在调用函数时,你可以为这些参数传,也可以不传。如果你不为param传,它将是未定义可能会引起一些不必要副作用。 在定义函数参数时,有一种简单方法可以将默认传递给函数参数。...let [fire, clock, , watermelon] = emojis; 这和,让火=表情符号[0]是一样;但多了很多灵活性。 你有没有注意到,我只是用中间空位忽略了奖杯表情?

1.1K50

一篇文章搞懂机器学习中决策树那些事儿

那些带有文字线段(一般使用有箭头有向线段),线一端连是中间节点、另一端连是另一个中间节点或叶节点,然后线段上还有文字,它叫做边。 到这里,你可能已经看出来了。...最后叶节点又是怎样确认?到什么程度呢? 我们怎样把这个事弄细致,能够让计算机实现。 02 — 算法描述 从01中描述知道,决策树从根节点到叶节点,越往下,最后那个因变量取值越单一。...也就是说,越往下节点它因变量取某一个可能性越大,到达叶节点时候这个可能性达到最大。...内部节点每个属性都会引出一条边,那到底哪个好呢?这里要引入一个叫“信息增益“概念。 信息增益这个事可以用一大堆公式来说明,也可以先有个感性认识。...相对应晴天、阴天、雨天后验熵 ? 那知道天气情况后校运会条件熵为: ? 那么相对应有没有天气情况这个条件前后信息增益就是: ?

38330

优秀程序员共有的7种优秀编程习惯

编程是一个很有趣、容易事情,但是编写好程序可能是一项艰巨任务。...这样情况或许会降低我们信心,但事实上,我们可以通过适当发展实践解决。这里有7个值得习惯,用更少努力投入干净,智能代码。现在开始研究这些习惯!...使用一些简单标签键,您可以清楚地了解整个代码结构并编辑代码,并清楚了解它们功能。对于换行符,当同一行上2个代码执行不同事情使用它。...例如,最好不要在一行中链接CSS属性 – 这会使事情变得复杂。 组织与代码结构使用 除了清晰代码之外,代码结构、组织也有助于可读性问题。...只要有可能,请确保该语言只能达到特定目的。如果您使用CSS3编写动画效果,请避免编写jQuery动画效果,除非您有足够理由。如果你这样,在CSS文件中注释有关异常。

52131

优秀程序员共有的7种优秀编程习惯

编程是一个很有趣、容易事情,但是编写好程序可能是一项艰巨任务。...这样情况或许会降低我们信心,但事实上,我们可以通过适当发展实践解决。这里有7个值得习惯,用更少努力投入干净,智能代码。现在开始研究这些习惯!...使用一些简单标签键,您可以清楚地了解整个代码结构并编辑代码,并清楚了解它们功能。对于换行符,当同一行上2个代码执行不同事情使用它。...例如,最好不要在一行中链接CSS属性 – 这会使事情变得复杂。 组织与代码结构使用 除了清晰代码之外,代码结构、组织也有助于可读性问题。...只要有可能,请确保该语言只能达到特定目的。如果您使用CSS3编写动画效果,请避免编写jQuery动画效果,除非您有足够理由。如果你这样,在CSS文件中注释有关异常。

43320

追剧学AI (6) | 概率论在机器学习中迁移运用,手把手建一个垃圾邮件分类器

概率论给我们搭建了一个大框架进行上述决策,而通过这么, 我们能做出更有效决策。...相反,它有一组可能取值,也称作样本空间,以及这组里每一个取值可能发生概率是通过这样表示。它们既可以是离散,只表示一定数量,也可以是连续,能够取到一定范围内任何。...假设现在有两件可能发生事情 A和B,比如,我们抛一枚硬币,以及掷一枚六面的骰子。我们可以用三种方式衡量它们可能性,即当硬币是正面时,骰子是4概率,这便是条件概率。...贝叶斯统计 在机器学习中我们做了很多类似的假设,有些时候它们是错(一家公司),现在十分流行使用贝叶斯定理,它构建于条件概率原理之上。 它之所以被称为定理,是因为我们可以通过逻辑证明它真实性。...总结一下,概率论将有助于我们正式地将生活中不确定因素用模型建立出来,这简直太棒啦,贝叶斯定律描述一件事情概率是基于,之前所有可能和这个事件相关条件,朴素贝叶斯分类器,将带有独立性假设贝叶斯定律应用于各种特征之中

57720

“kill -9”一时爽,秋后算账泪两行

不过,如果把命令名字改了,效果也许会更好。因为在Linux上,kill根本就不是杀死意思。 它只是想要给进程发送一个信号而已。使用kill -l可以看到长长信号列表。 ?...大家都知道电视剧里,重要人物临死时候,会啰啰嗦嗦说很多话,话说不完是不会死。无论是武林高手,还是达官贵人,都得交代一些能让故事情节继续发展下去废话。...《水浒传》里“英雄们”,就相对直接一些。看不爽,直接单刀直入切中要害,不允许他人有一丁点废话,通常情况下直接嗝屁。...但有时候kill -15并不能杀死进程,这个时候,才是kill -9需要出场时候。 听够了15临死前说一些废话,使用9要它命。 一般,需要使用kill -15去尝试杀死进程。...kill默认信号,就是15,可以说是很贴心了。但还是有很多人使用9。 我想了半天原因,就是一个字:懒。 kill -15需要多次确认,而kill -9一次完事,多数情况下不会出事。

64930
领券