并不是说 JS 的类有问题,但是如果你使用该语言已有一段时间,特别是使用过ES5,那么你可能就知道了从原型继承到当前类模型的演变。 原型链会有什么问题? 以我的拙见,这个问题的答案是:没有。...但是社区花了很多年的时间才将类的概念强加到不同的结构和库中,因此ECMA技术委员会决定无论如何都要添加它。 你会问,这有什么问题吗?...抽象类 每当我尝试对我的代码进行完整的OOP操作时,我肯定会错过JS中的抽象类。 抽象类是定义和实现方法的类,但永远不会实例化。 这是一种可以扩展但从未直接使用的常见行为的分组方式。...受保护的属性和方法 我们已经有了公开的可见性,而且我们很快就得到了方法和属性的私有可见性(通过#前缀)。...我认为下一步应该是添加受保护的可见性,然而,现在还没有,我认为如果你想要有一个合适的OOP体验,这三个都是必要的。
上已经收录,文章的已分类,也整理了很多我的文档,和教程资料。 并不是说 JS 的类有问题,但是如果你使用该语言已有一段时间,特别是使用过ES5,那么你可能就知道了从原型继承到当前类模型的演变。...原型链会有什么问题? 以我的拙见,这个问题的答案是:没有。 但是社区花了很多年的时间才将类的概念强加到不同的结构和库中,因此ECMA技术委员会决定无论如何都要添加它。 你会问,这有什么问题吗?...抽象类 每当我尝试对我的代码进行完整的OOP操作时,我肯定会错过JS中的抽象类。 抽象类是定义和实现方法的类,但永远不会实例化。 这是一种可以扩展但从未直接使用的常见行为的分组方式。...受保护的属性和方法 我们已经有了公开的可见性,而且我们很快就得到了方法和属性的私有可见性(通过#前缀)。...我认为下一步应该是添加受保护的可见性,然而,现在还没有,我认为如果你想要有一个合适的OOP体验,这三个都是必要的。
前言 之前我介绍了深色模式适配和 UIColor 相关的分类,今天要介绍的继续和UI相关,是一个库,叫 SFSafeSymbols,大家跟着我一起来看看吧。...这里软件是用来干嘛的呢,我上个截图大家就知道了: SF Symbols 在 WWDC 2019 期间推出。...比如上图中的第一个图标我觉得不错,想在 iOS 中进行开发,我先右键拷贝下来这个名称: 然后通过函数进行调用: let image = UIImage(systemName: "folder.badge.person.crop...更多详细的用法,大家可以在 Github 中去查了,我这就不多费笔墨了。 现在,有了 SFSafeSymbols 库,没有 UI 我也不愁了。...这对于独立开发,或者是苦于找不到素材的开发人员是一件好事。我们甚至可以把 SF Symbols 软件分享给 UI,让他们设计出更 Apple 的图标。
在 Java 7, Update 6 之前,substring 方法会有内存泄漏的问题。...substring 会构造一个新的 string 对象,该 string 对象引用了原来的 string 对象的一个 char 数组。这会导致原有的 string 对象不会被垃圾回收。引发内存泄漏。...value 用的还是原来 string 对象的 value。...即这个 value 的值会被两个 string 对象共享着。(String 类中的私有成员:private final char value[]; ) 内存模型如下: ?...值的赋值方式为: this.value = Arrays.copyOfRange(value, offset, offset + count); 也不会有内存泄漏的问题。
忙活了有一段时间,零零散散的写了一个Chrome扩展。这里发发一篇文章安利一下。 怎样的一个扩展呢 它是一个Gmail 过滤器辅助工具,使用这个扩展可以轻松的创建邮件过滤器。 有图有真相 ?...如何下载 Chrome Store 大中华局域网用户下载地址 为什么写这个扩展 还是那个原因,自己遇到了不爽与痛点。 我是一个重度的Gmail用户,工作的邮箱使用Gmail托管。...好在,我是一个程序员(虽然不是一个前端攻城狮),但是还是花了周末的一个下午写出了这个应用的雏形。再加上后续的修修改改就成了这个样子。...开源么 当然开源,原因如下 个人能力和精力毕竟有限 希望通过社区的力量推动这个扩展持续发展 所以,如果你有想法的话,可以访问这个Github地址 https://github.com/androidyue.../Gmail-Helper-Filter 贡献力量 除了开源贡献代码外,如果你有想法,也可以共享力量,比如 提需求 提bug 分享本文或扩展 捐赠(下面那个红色按钮) 感谢 再次感谢我的御用设计师 大麦
SWIG) Boost.python KISS Keep It Small and Simple 让他小且 简单 YAGNI You Ain't Gonna Need It 即并不需要他 拿不准的时候就穷举...www.docbook.org http;//musicxml.org http://humanmarkuo.org http://xml.coverpages.org/pml0ones.html ---东西太太多了,我就不传上去了
之前分享过那些我常用的 Chrome 扩展 ,一篇文章内容有限,于是有了后续篇。...hl=zh-CN Easy to RSS 很多网站都有rss,可以让用户获取网站内容的最新更新。这个扩展可以直接获取网页RSS,复制到剪贴板并打开该RSS网页,并且与RSSHub联动。...比如这个视频 https://www.bilibili.com/video/av10914119 ,安装扩展登录b站后右侧有个助手按钮,可以直接下载当前播放的视频和弹幕。 ?...查看类似网站 这个扩展能让你获得正访问的网站相关的10个类似网站结果,来看看微博类似的有Facebook,baidu。...豆瓣电影传送门 妈妈再也不会担心我找不到资源了,直接在豆瓣电影右侧显示可以观看电影的链接。
上篇文章写了怎么调试 antd 的源码,反响很不错: 但很多小伙伴是写 Vue 的,可能平时用的是 Element UI 的组件库,所以这篇文章就来讲下怎么调试 Element UI 的源码。...element ui 的库,并在入口引入: 然后在 App.vue 里用一下 button 组件 之后 yarn run serve 把开发服务跑起来,就可以看到这样的页面: Element UI...接下来调试 button 组件的源码,那问题来了,我怎么知道在哪里打断点呢? 我们可以知道的是,这个 button 会处理点击事件,但是却不知道事件处理函数的代码在什么地方。...确实,有了 sourcemap 之后就有更简单的调试方式了。...有了 sourcemap 之后,Chrome DevTools 会直接把 vue 文件列在 sources 里,我们可以找到对应的 vue 文件来打断点,就不用通过事件断点来找了。
我持续组织了近一年的源码共读活动,感兴趣的可以 点此扫码加我微信 ruochuan12 参与,每周大家一起学习200行左右的源码,共同进步。...---- 上篇文章写了怎么调试 antd 的源码,反响很不错: 但很多小伙伴是写 Vue 的,可能平时用的是 Element UI 的组件库,所以这篇文章就来讲下怎么调试 Element UI 的源码...element ui 的库,并在入口引入: 然后在 App.vue 里用一下 button 组件 之后 yarn run serve 把开发服务跑起来,就可以看到这样的页面: Element UI...确实,有了 sourcemap 之后就有更简单的调试方式了。...有了 sourcemap 之后,Chrome DevTools 会直接把 vue 文件列在 sources 里,我们可以找到对应的 vue 文件来打断点,就不用通过事件断点来找了。
每天公众号后台有很多消息,大多数是自动回复,我基本上不看,主要是太费时间了,如果有什么问题随便找篇文章留言,我看到都会及时回复: 实在有需要加我微信,不过写好申请理由,否则不通过,我也很少发朋友圈,...最近一条还是6月20号的: 今天主要回答下几个粉丝提的问题,你有什么问题也可以在文章末尾留言。...cloudmusicsetup2.9.5.199424.exe 或者 https://d1.music.126.net/dmusic/cloudmusicsetup2.9.9.199909.exe ,然后勾选有新版本时提醒我...有什么用 ,一般命令行工具都有-h参数告诉如何用,常用的命令行比如curl,awk可以用https://github.com/chubin/cheat.sh或者 github.com/cheat/cheat...Windows7用不了 我写的公众号音频/视频批量下载工具整理下苏生不惑开发过的那些软件和脚本 和道客巴巴文库下载2022 最新一键下载百度文库/豆丁/道客巴巴/原创力文档 是在Windows10基于python3.9
大家好,我是 ConardLi,今天来给大家推荐几个我常用的 Chrome 扩展。 不能翻墙怎么装 Chrome 扩展?...很多小伙伴不能翻墙,安装 Chrome 扩展一直是个很麻烦的事,开始推荐这些插件之前,我先教大家个小技巧,不翻墙怎么安装 Chrome 扩展。...webstore/detail/proxy-switchyomega/padekgcemlokbadohgkifijomclgjgif 在浏览器使用代理IP这个功能上,各种浏览器在配置上都不是特别友好,尤其是在我们有多个代理...这个扩展可以帮你轻松快捷地管理和切换多个代理设置,可以很方便的切换本地开发环境、自定义抓包环境、以及无代理环境等等。...hl=zh_CN 可以自动查询180天历史价格、比较同款商品的全网最低价、提示促销和隐藏优惠券,剁手党的神器。 这个插件对PC端比较友好,手机上我经常用的是「历史价格查询」这个小程序,也很好用。
前言 上回咱们说到ViewRootImpl.performTraversals()这个方法,从这里开始,会进入真正的View的绘制流程。第一次看的同学先去隔壁我奶奶都能懂的UI绘制流程(上)!...到这里还是懵逼的道友,建议你们去学习下计算机组成原理相关的知识,在这里推荐下《程序是怎样跑起来的》(日)矢泽久雄著,感觉很棒。大家放心阅读,我没有淘宝链接。...Measure总结 子View的测量在measureChildWithMargins()中也终于搞定,说了这么多,UI绘制的第一步measure终于差不多了,我们来总结下吧。...仔细想想这也是理所当然的,我没有背景,有什么好画的。这也是产生过度绘制的原因之一。 稍微拓展一下,为什么说LinearLayout比RelativeLayout绘制快?...我们一般不会和他打招呼,draw更多的是应用在自定义View中,也就是说只要重写onDraw()方法即可。 到此为止,Draw也说完了,整个UI绘制结束!
分享过的扩展有油猴,ocr图片取字,音乐聚合,图片助手,微博图床,视频下载器,翻译,截图,微博备份,微信同步助手,b站助手,豆瓣电影传送门等等,这里继续分享那些好用的 Chrome 扩展。...IDM可以让用户自动下载某些类型的文件,可将文件划分为多个下载点以更快下载,并行出最近的下载,方便访问文件 下载idm软件后会直接安装好Chrome扩展 ? 在扩展程序里开启idm扩展 ?...知识星球助手 知识星球是我最常用的网站了,除了APP,网页版也很好用,我几乎每天会更新星球内容,目前已经近1000条内容了,星友也快1000人了,微信扫码免费加入吧。 ?...置顶星球,这个功能本来只在APP上有,有了扩展网页上也可以用了。 ?...离线保存网页 遇到自己喜欢的网页文章可以离线保存下来,不管是gif还是图片, 都会原封不动的保存下来,这里以知乎首页为例。 ? 下载后的网页有8.5M,有点大,页面上的链接图片都在。 ?
ImageMagick是一个免费的创建、编辑、合成图片的软件。它可以读取、转换、写入多种格式的图片。...imagemagick.org/script/download.php 1.window 下载安装可执行文件即可:https://imagemagick.org/script/download.php#windows 下载安装扩展...:https://pecl.php.net/package/imagick 拓展的版本需要和PHP版本相匹配,版本不匹配时扩展无法加载(32位、64位、兼容的PHP版本等) 2...., 30, 140, 0, '使用php/windows 安装 ImageMagick 扩展'); /* Give image a format */ $image->setImageFormat('.../file.png'); // 将图像的大小更改为给定的尺寸并删除所有关联的配置文件。
生活多姿多彩,我有我的故事,我是小王。今天这篇文章,感慨一下学习编程的心情。...在朋友们看来学习编程很高大上,也是高收入群体的象征,但是他们都有一个统一的名字“码农”和在地里的农民一样,在电脑上打代码就是他们的工作。...我也是在3月份的一天收到了母亲的通知:“我给你找了一个学习电脑的学校,把你时间调整好的我通知。”我一脸的茫然,对于只会在电脑上打游戏的我,居然会去当码农。...但是母命难违,我也做不到给她说我不去,因为我不想让她伤心。我就怀揣着坎坷的心情去了软件学校。
前言 从今天开始,慢慢整理Android高级UI的知识,涉及到各种酷炫狂拽吊炸天的特效。 之前写过一篇Window一本满足算是这个专题的预备知识,本文就基于这篇文章,继续往下探索UI的绘制流程。...关于mContentParent和mDecor的关系,直接看官方注释,我就不翻译了。 ? 接着来看看先前猜测的installDecor()方法到底做了些啥 ?...继续下潜,有很长一段代码都是用来判断subDecor需要加载什么系统布局,这个过程和Activity中的类似,我们依然以simple布局为例 subDecor = (ViewGroup) inflater.inflate...() { doTraversal(); } } doTraversal()又会调用performTraversals(),这个方法那是相当长,一看就是有特殊癖好的变态工程师写的...,我们主要看其中与UI绘制有关的部分。
但是sheral决不只限于UI库,它还拥有了30+ sass 的基础mixin或%的封装及其他基础能力,有了这些基础能力,不仅快捷便利,更是拥有了更多扩展可能。下面是sheral的三张UI截图: ?...UI组件扩展了 UI组件扩展 常用的UI效果,90%的前端都可以搞定,并且满足跟设计图一样。...有了上面条件的限制,一个好的UI组件就会浴火而成,而一个好的UI组件除了解决上述的三大问题,还可以帮助我们轻松面对一个所有人都必须面对的终极大问题,赶时间。...组件,sheral有25+(全部组件可见sheral components),同时还在不断加入新的好用组件,除了直接使用这些提供的组件外,用户还可以基于sandal提供的丰富基础能力,轻松高效扩展出自己所需组件...总体优势 正是上面说的sandal的基础能力及UI组件的扩展,最后汇集成sheral的四大优点: 优秀的设计思想——基础通用 + UI组件 有了sandal作为基础能力的保证,提供了良好的接口设计及丰富的功能调用
正文前序 我在之前的文章推送里写了不少关于SAP Fiori的文章,有关于技术的也有浅谈理论发展的文章,有兴趣的朋友可以阅读一下。...启动板是基于角色的,根据用户的角色显示切片。 今天聊一下,如何使自定义UI在SAP Fiori启动板中显示为应用程序磁贴,使用自定义UI应用程序扩展业务目录。...如下图所示: image.png 有了这个扩展应用程序后,就方便了我们后面的步骤中使用。...扩展业务目录 我们点击下图中的Add按钮,开始扩展新应用程序,扩展到需要添加的业务目录里。如下图所示: image.png 添加的时候,系统就有选项提供,需要我们完善。...今天的技术篇就聊到这,如果读者朋友们有什么好的想法可以留言,这里是关于技术又不止技术的地方,这里有很多技术未来发展趋势的探讨和职场内容。
大家好,我是不才陈某~ 做一些C端业务,不可避免的要引入一级缓存来代替数据库的压力并且减少业务响应时间,其实每次引入一个中间件来解决问题的同时,必然会带来很多新的问题需要注意,比如缓存一致性问题。...背景 热key是什么问题,如何导致的?...为了防止过多冗余的统计,还可以设定一些规则,仅统计对应前缀和类型的key。这种方式需要至少有proxy的代理机制,对于redis架构有要求。...,我们设置多长的缓存过期时间,就会导致最长有多久的线上数据不一致问题,这个缓存时间需要衡量自身的集群压力以及业务接受的最大不一致时间。...一些整合的方案 目前市面上已经有了不少关于hotKey相对完整的应用级解决方案,其中京东在这方面有开源的hotkey工具,原理就是在client端做洞察,然后上报对应hotkey,server端检测到后
领取专属 10元无门槛券
手把手带您无忧上云