前言 前几篇文章中,我们学习了许多Jetpack架构组件,虽说每个架构组件都是相互协调使用的,但是相信还是有很多人不知道如何搭建一个Jetpack的项目,不知道网络请求该放在什么地方,或者说其他的开源项目功能比较多导致学习也无从下手...那么这个开源小项目MvvmNews一定能帮助到你!...项目使用聚合数据API 来获取新闻数据,采用Retrofit + Rxjava 网络请求方式,通过DataBinding来显示数据、构造监听事件,Navigation构造导航栏,并处理自定义图标等问题,...为了体现ViewModel的多种使用方式,编写了一个简单的登陆页面,可从登陆页面开始学习ViewModel的使用。...项目运行如图所示: ? ? ? 所有MVVM架构项目都可使用下图表示(摘自官网) ? 本项目 未使用本地数据库 即缺少左下Room部分。
从我最喜欢的资源库开始。有了这个库,可以从Adobe After Effects中创建的动画直接导出到你的网站。 事例: 2....有了这个库,我们可以创建一个美丽的视差效果,可以用鼠标移动来控制,还可以调整移动物体的速度。 3....WebSlides 是一个开源的 HTML 幻灯片项目,能够帮助熟悉前端语言的开发者快速制作出效果精美的幻灯片。...对于 95% 的动画组件使用案例,我们没有必要用硬编码(把配置写死)式的缓冲曲线和时间过渡来重排序。只需要给你的 UI 设置一个刚度系数和阻尼系数,接下来让神奇的物理原理处理即可。...~完,我是刷碗智,这篇文章整理完是北京时间: 2021/09/22 中午:12:35,我去刷碗了,我们下期见~ ---- 编辑中可能存在的bug没法实时知道,事后为了解决这些bug,花了大量的时间进行log
前言 大约在两年前,我发布了一个MVVM的开源小项目,我的MVVM 开源小项目已发布~ 从现在角度来看这只是一个小Demo,所以后来写了这个开源项目——出行防疫App 项目简介 出行防疫App是一款MVVM...模式的App,采用了组件化、Aroute、协程、flow等技术,适合初学者学习使用。...此项目将长期维护,后续所有的新技术、平台适配等都将基于此项目实践,且会开发Jetpack Compose版本。...项目数据基于 "聚合数据"在线API,需申请对应的API,申请成功后将key值替换到appbase下BaseApi中的KEY变量中。...请务必自行申请API接口并将KEY填入,否则程序将抛出异常等问题 公共KEY,接口每天仅可使用50次,请酌情使用 项目地址 如果你觉得项目对你有帮助,欢迎start和Issue~ 项目地址:https
前言 在我的新书《Android Jetpack开发:原理解析与应用实战》 项目实战中,我们实现了一个MVVM版本的出行防疫App。...之前说过,会开发对应的Compose版本,如今,他来了~ 项目简介 如果你还没看过非Compose版本可以点击链接查看。...这是一款MVVM模式的Compose App,采用了组件化、Aroute、协程、flow等技术,适合初学者学习使用。此项目将长期维护,后续所有的新技术、平台适配等都将基于此项目实践。...项目数据基于 "聚合数据"在线API,需申请对应的API,申请成功后将key值替换到appbase下BaseApi中的KEY变量中 模块说明 app 入口模块 appbase 基础模块:基类...: Compose-MVVM开源项目 出行防疫AppCompose-MVVM开源项目 出行防疫App.
(我的项目我做主,折腾不嫌事儿多)。...好在gn的配置文件是可读性比较高的,理解一些基本的知识点就可以用了。 GN的组件依赖 GN构建系统,它的依赖树根节点是executable类型的对象,然后在这个对象的依赖组件上,延伸至末端组件。...deps --tree来获得,该命令的${BOARD}环境变量为TencentOS_tiny_EVB_AIoT) //TinyOS:TinyOS //TinyOS/arch/arm/arm-v7m/.../TinyOS:TinyOS,这是executable对象所引用的第一个依赖组件,它的路径是根目录下的TinyOS目录,在此目录下的BUILD.gn配置文件中,使用的是TinyOS同名的对象。...从组件解耦来说,真正能做到所有的组件都能通过健康的依赖完成整个项目构建的(没有循环依赖和恶性依赖),功能解耦就做的不错了。
C语言学不会,编程能力无法提升?这篇文章助你走上编程大牛之路。...学编程最重要的是实践,就是写代码、看别人写的代码、再写代码,你看再多的书,不写代码,你还是不会编程。...二、老师问题 面对就读相关专业的小伙伴来说,学校里的老师真的是纸上谈兵,没有太多的实践项目。...不停的使用,最后忘记所有的语法,就像张三丰教张无忌太极拳时说的那样,忘记招式,只记得打人,你忘记语法,只记得用语言来完成工作。...像那些没有就读相关专业的小伙伴,自己本身是在工作利用闲暇时间来学习的人来说:他们的世界根本没有老师这样一号人物。
当业务中被第三方库的一些方法限制时,我们可以通过修改第三方库的方法实现来满足我们的需求 本文使用了byte-buddy[1]参考资料 1、场景 es用Query.Builder 构建条件的时候,...查询字段太长了 被截断了 断点图如下 造成这种方法的原因 通过查阅源码发现他重写了toString方法,当构建的参数过长是就会截断 最后拼接… 所以造成了dsl截断 但是这个需求是必须要做的...,我们可以修改这个maxToStringLength的返回值值来解决这个问题 2、如何修改?...上边只是一种场景,下边如何修改举例,就不使用公司项目是,我们从stream-query中选一个方法来修改 我们之间修改这个方法的内容,让他直接返回一个我们想要的值 2.1、引入byte-buddy...类的highlight方法,验证修改是否成功。
在Vue项目里,.vue文件写的是类似于html的格式,不是标准的JavaScript文件,ESLint无法直接识别.vue文件里的JavaScript代码,那么这个时候我们需要去安装一个工具, $ npm...现在我们就可以到terminal里面输入 $ npm run lint 来检验项目里的代码是否符合ESLint的规则。...怎么在项目中预处理错误,eslint-loader来帮忙 我希望在项目开发的过程当中,每次修改代码,它都能够自动进行ESLint的检查。...所以一般来说,我们用webpack和babel来进行开发的项目,都会指定它的parser使用babel-eslint。...里面就会马上报错,此刻我猜想terminal的内心活动应该是:“TMD,写的什么烂代码,天天写bug气得我每次脸都涨的通红”~~~ 幸运的是,机器是没有感情的,我们却可以嗨皮地立马定位到错误,然后把它改掉就可以了
libmdbx 是一个超级快的嵌入式数据库。 crates.io/crates/mdbx 是我对libmdbx的rust包装。 支持存储自定义rust类型。支持多线程访问。...可以一个模块中用 lazy_static 定义好数据库,然后用简单引入并使用,比如 use db::User; let id = 1234; let user = r!...(User.get id); 点此浏览文档了解更多 顺便安利一下我的这个vuepress博客,可以实现多国语言自动翻译,大家发布开源文档可以用
导语 Redis是我们很常用的一款nosql数据库产品,我们通常会用Redis来配合关系型数据库一起使用,弥补关系型数据库的不足。 其中,Redis的发布订阅功能也是它的一大亮点。...虽然它不是一款专门做发布订阅的产品,但其自带的发布订阅功能已经满足我们日常需求了。 那Redis的发布订阅功能都可以用在哪些场景呢?我在生产项目里又是如何使用Redis发布订阅的?...发布订阅的原理详细参考:https://www.cnblogs.com/duanxz/p/6053520.html 我在哪些业务场景使用Redis发布订阅?...1、异步消息通知 比如渠道在调支付平台的时候,我们可以用回调的方式给支付平台一个我们的回调接口来通知我们支付状态,还可以利用Redis的发布订阅来实现。...是的,但有的过期时间设置的较长如24小时并且我们想立即生效怎么办?这时候我们就可以利用Redis的发布订阅机制来实现数据的实时刷新。
创建你的第一个库 每一个开发者都应该知道类库。它们很难移动或用于不同的项目。因为它们的输出是dll文件。在本文中,我不会谈论如何构建库。我将展示如何将它们转换为可移植的nuget包。...这就是奇迹发生的地方!准备好你的代码,右键单击您的项目,然后单击“打包”按钮。您的nupkg文件将在您项目的bin文件夹中等待着您。...如果您的开发环境不是Visual Studio,则可以使用命令提示符来执行此操作,如下所示: dotnet pack My.Package.csproj 4-与全世界分享!...转到nuget.org上的个人资料,然后找到“ API密钥”部分,如下所示。 ? 创建一个API密钥并保存它。您将无法再次看到它。因此,您需要保存它。...dotnet pack --configuration Release -o .packages/ 这意味着在发布模式下构建项目,并将输出文件放置到“ .packages”文件夹中。
个人觉得写的非常好,当时抓取的效率和成功率还是特别特别高,现在可能知乎反扒做的更好,这个开源知乎爬虫没之前抓取的那么顺利了。我记得当时在我的i7+8g的机器上爬了将近两天,大概爬取了60多w的数据。...SSM环境的搭建; 如何在SSM项目中使用Echarts 1.3 效果图展示 细心的同学会发现,我其实只从数据库抓取了9条数据出来。因为我的SQL语句写错了(逃....)...2.1 项目结构 [项目结构] 2.2 配置文件 2.3.1 pom.xml 需要的jar包,都在这里配置好。...另外我配置了一个Tomcat插件,这样就可以通过Maven Build的方式来运行项目了。...比如可以使用redis来做缓存提高查询速度、可以创建索引提高查询速度或者直接将查询到的数据缓存下来等等方法来提高查询速度。
上篇文章讲了在实际项目里的哪些业务场景用到Redis发布订阅,这篇文章就讲一下,在Java中如何实现的。...图解代码结构 发布订阅的理论以及使用场景大家都已经有了大致了解了,但是怎么用代码实现发布订阅呢?在这里给大家分享一下实现方式。 我们以上篇文章讲述的第三种使用场景为例,先来看一下整体实现类图吧。...我们再来看 RedisMsgPubSub,它继承 redis.clients.jedis.JedisPubSub,主要重写其 onMessage() 方法(订阅的频道有消息到来时会触发这个方法),我们在这个方法里调用...并且我们单独开启一个线程来维护发布订阅,所以管理器继承了 Thread 类。...我们可以选择在启动项目时完成订阅和基础数据的加载,所以我们通过实现javax.servlet.SevletContextListener来完成这一操作。然后将监听器添加到web.xml。
很多团队内部冲突可以通过一句“我刚才和客户谈过,他们说……”来解决。在做基础架构时,我们往往不需要猜测客户的需求,我们可以直接问他们。...4、但要意识到客户可能无法表达他们真正需要的东西;不要只看到需求的表面价值,而要花时间详细地理解他们的用例,阅读他们的代码。...项目地址:https://github.com/YunaiV/ruoyi-vue-pro 2 项目管理 5、要有一个简单明了的使命宣言来表达你存在的理由。...30、有时候,你只有在一个 IC 写出了一个候选的设计方案后才意识到这个设计是正确的。要抵制说“哦,好吧,让我们先落地,然后再修复它”的冲动;你这样做对 IC 和项目都没有帮助。...该团队是如何为公司增加价值的,以及它如何在未来继续这样做? 32、跟踪公司内你所在领域的每个其他主要项目:你应该能够比他们自己的 IC 更好地解释他们的技术设计。
java库也托管在上面,让大家像使用Jackson、Spring那样轻松简单的使用您的jar,就请随本文一起操作吧; 先看看效果,下图是我发布的java库在中央仓库的搜索结果: 前提条件 由于sonatype...库发布到maven中央仓库: 文末还会对曾经踩过的小坑做了总结,希望能帮助读者们提前避开 看起来略有些繁琐,但其实很简单,接下来开始吧 准备工作 首先请把您的java工程准备好,我用的是一个非常普通的...在issue上进行回复 打开issuse,增加一个评论,如下图: 不久后(我这边是十多分钟),就会收到一条新的评论,通知你可以去做发布了,并给你了snapshot和release的发布地址: 5....: 至此,自己的java库已成功发布到maven中央仓库,可以像Jackson、Spring库那样使用这个库了,用法就是添加这个依赖: io.github.zq2599...java库发布到maven中央仓库,希望本文能给您一些参考
还记得我之前给大家介绍的 Sorry 项目嘛,一个可以自己做表情包的项目,这个的沙雕程度在下面这些项目面前只能算弟弟。...Chinese sticker pack/中国的表情包,就是这么一个表情包的博物馆,能让我尽情的盗图,号称 GitHub 上最有毒的仓库,现在已经收录了 3526 张表情包......还在为夸心爱的她而不知如何洋洋洒洒嘛?别怕,它来了... 它轻轻的来了,携势不可挡之势登顶,对,它就是狗屁不通文章生成器!...看,它的文章生成的是这么丝滑,引经据典,侃侃而谈,竟然还是这么的头头是道,夸的我本人都不好意思了... 谁说他狗屁不通,我第一个不同意,Rocky就是个大帅比呀... ?...来,听我的,用起来,被老师给零分怕啥,爽就完事了... ? GitHub 网址: https://github.com/menzi11/BullshitGenerator ? ?
由Comodo和Elastic Endpoint Security发布的OpenEDR。因此,我认为现在是查看Elastic的更改并尝试其新Endpoint Security的好时机。...我们无法建立检测或用例。此功能不是“开箱即用”的,要使用它,我们必须首先在所有不同节点之间配置安全性。X-Pack是Elastic软件包,它基本上负责所有Elastic Security功能。...所需的一个关键组件是配置每个节点之间的SSL连接,可以通过多种方法进行。我们也将使用X-Pack来执行此操作。...启用检测 您可能会注意到您仍然无法创建检测。最后一步是要完成的。...我们还可以通过一个不错的小过程尝试图形和事件概述来更深入地研究。 结论 这样一来,这篇文章就结束了,希望您对它有所帮助。它具有企业级工具的外观和感觉,考虑到它的开源特性,这是惊人的。
在 Github 可以发布自己的 NuGet 库,本文将告诉大家如何发布 在 Github 的仓库的首页,可以看到 Package 功能 ?...点击打开一个项目的 Package 默认会邀请你加入,点击开启功能 ?...单击 Generate new token(生成新令牌) ? 输入随意的名字,然后注意勾选 Package 权限,也就是 write:packages 和 read:packages 权限 ?...NuGet 包 dotnet new console -o Lindexi_gd 然后编译生成 NuGet 库 cd Lindexi_gd dotnet pack cd bin\Debug 在 bin\...原因是要求 NuGet 库的 id 必须要在对应的 github 组织找到对应的仓库,如我上面上传 HehuhallqaLinearjeebar.Source.1.0.0.nupkg 文件,但是我没有
创建XBAP应用程序你可以克隆我的PoC,或按照以下说明来构建你自己的POC: 1.下载 visual studio 2010 professional service pack 1 trial。...让我们来创建一个简单的UI,即在左侧输入命令右侧输出结果。此外,我还将添加一个带有单击事件的按钮。 如果此时你尝试运行该应用程序,将会收到“Button_Click”未定义的错误提示。...我们打开Page1.xaml.cs定义按钮单击方法。这里我将使用C#的Pipeline类来运行PowerShell命令(有趣的是,以这种方式运行PowerShell命令可以绕过约束语言模式)。...添加引用后,你应该能够编译该项目(如果未将项目命名为“powershell”,则可能需要更改命名空间)。现在如果你运行xbap它应该会成功打开,但当你尝试运行命令时会出现以下错误: ?...如果你从网站下载该文件,它将无法运行,因为它将包含Web标记。你可以通过右键单击该文件,然后单击“Unblock(取消阻止)”复选框来删除Web标记(或者你也可以使用 PowerShell)。 ?
这一功能的最大亮点在于,它允许在没有组态软件的环境中,将HMI组态直接传输到操作面板上。...一个专门用于将项目文件传输到操作面板的程序,它简化了传输过程,提高了工作效率。 在实际应用中,这一功能具有广泛的应用场景。...例如,工程部门为新操作面板设计了一个项目,但组态工程师无法直接前往工厂进行安装和配置。此时,组态工程师可以通过电子邮件或者其他社媒软件将“Pack&Go”文件发送给现场的工程师。...具体操作说明 当我们无法建立从组态PC到HMI设备的直接连接,例如,现场PC未安装TIA Portal软件,还需要将项目下载到HMI设备,除了使用U盘方式下载程序外,还可以创建Pack&Go文件进行程序下载...2.将项目从“Pack&Go” 文件下载到 HMI 设备 2.1 在控制面板中设置PG/PC接口参数 通过键盘“Win+R”,打开 “运行” 对话框,输入“Control.exe",单击确定。
领取专属 10元无门槛券
手把手带您无忧上云