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

告别了Jenkins,我将开源的所有项目迁移到了Spug

最近半年以来,一直受到服务器偶尔重启的困扰,看了下原因,是服务器内存被占满了,这还是没有使用呢,要是发布个流程,直接服务器挂掉 因为我的8G的服务器,涵盖了开源所有的产品,其中有两个大头:Mysql和Jenkins...(其实可以限制它的大小1G左右),数据库可不能放弃吧,就指望着它呢,虽然Mysql腾讯云有卖的,但是舍不得买,开源这六年来,光腾讯云就快两万的花费,还不考虑其他的花销,有没有腾讯云的粉丝老铁,给个好用的优惠券....NetCore项目》 《Jenkins 安装与项目构建》 《升级Jenkins:发布和代理 VUE 项目》 《升级Jenkins镜像,支持.NET6.0》 《【CI/CD系列】使用Docker安装...Jenkins》 但是在昂贵的服务器面前,我还是决定对Jenkins动手了,正好平时都逛一下技术博客,偶尔看到了一个国产开源的轻量级的运维工具——SPUG吸引到了我, 通过整体对比,正好能满足我的需求,...所以整体下来大概五个服务,总体内存才不到400M,我的服务器一下子就少了2个G,开心到飞起 八个核心项目都已经迁移完成。

76710

一个让我欲罢不能的 GitHub 开源项目!

自 2015 年的千播大战至今,社交直播已经衍生出很多不同的玩法了。传统的简单 “你说我听”,已经再基础不过,又很难给观众带来 “刺激” 的形式了。...但问题是,实时音视频技术背后有非常多的坑,很难有一个人能从后端到前端自研出来一套直播系统。而通过调用不同的 API 来搭建是最佳的实践途径。...最近在 GitHub 上就有这样一个新的开源项目,它实现了单主播直播、多人连麦直播、PK 直播、虚拟主播,四种现在社交直播领域最成熟的场景。...Github URL:https://github.com/AgoraIO-usecase/agoralive 这个项目原本是声网 Agora 开发的「Agora Live」,是作为一个 Demo 提供给用户来体验不同互动直播场景而开发的...官方表示还将在接下来几个月对 repo 中的代码进一步梳理、优化,提升源码的易用性、可读性。而且,未来还会增加新的场景。

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

    我为什么要创建一个不能被实例化的类

    但如果有一天,你发现我写了这样一个类: class People: def say(self): print(f'我叫做:{self.name}') def __new...__(self): raise Exception('不能实例化这个类') kingname = People() kingname.say() 一旦初始化就会报错,如下图所示:...一个不能被初始化的类,有什么用? 这就要引入我们今天讨论的一种设计模式——混入(Mixins)。 Python 由于多继承的原因,可能会出现钻石继承[1]又叫菱形继承。...显然,这样写会报错,因为两个类的实例是不能比较大小的: 但在现实生活中,当我们说 某人比另一个人大时,实际上是指的某人的年龄比另一人年龄大。...混入: 不能包含状态(实例变量)。 包含一个或多个非抽象方法。 参考资料 [1]钻石继承: https://en.wikipedia.org/wiki/Multiple_inheritance

    4.1K10

    Jetpack组件之LifeCycle

    作为 Flutter 的重大升级,使用 Flutter 2 开发者可以用相同的代码,把使用 Flutter 开发的应用发布到五个操作系统:iOS,Android,Windows,macOS 和 Linux...作为一个Flutter开发者,也马上下载了Flutter 2.0 sdk,并将自己的Flutter项目运行到Chrome上,效果很好,就是代码中有些差别,Web端对图片以及dart的io包不支持等等。...如果要将项目迁移到AndroidX,在Android Studio的菜单栏中选择Refactor—>Migrate to AndroidX。...完成之后,打开gradle.properties文件,可以看到这两行代码: # 表示是否使用AndroidX android.useAndroidX=true # 表示是否将第三方库迁移到AndroidX...有了ProcessLifecycleOwner,我们可以方便获取到应用生命周期的变化,在其中做一些业务操作,减少了项目代码的耦合性。

    1.3K20

    【Flutter】Flutter 拍照示例 ( Android 应用兼容 Android X | Gradle 版本号 | Gradle 插件版本号 | Android X 支持 | SDK 版本 )

    文章目录 一、Gradle 及 Gradle 插件版本 二、支持 AndroidX 配置 三、设置 Android 编译目标版本 四、相关依赖库修改 Flutter 插件 " image_picker..." 需要调用 AndroidX 中的相机相关 API , 在 Android 应用中需要添加 AndroidX 相关依赖 ; Flutter 官方文档 : AndroidX Migration 一、Gradle...及 Gradle 插件版本 ---- 确保使用的 Gradle 版本是 4.10.2 以上的版本 , Gradle 插件版本是 3.3.0 以上的 , 这两个版本号有一定的对应关系 , 不能随意设置...项目下的 android 目录 , 选择 " Open Module Settings " 选项 ; 在弹出的对话框中的 Project 选项卡下设置 Gradle 和 Gradle 插件版本号 ,.../studio/releases/gradle-plugin 二、支持 AndroidX 配置 ---- Flutter 源码根目录/android/gradle.properties 配置文件中 ,

    1K10

    JetPack最新库的简单介绍

    Compose源码里的注释直接给出说他们参考了很多Flutter的东西。估计最终结局会和rn,flutter一样不冷不热。...同 androidx.activity,简化了一部分用法 7.androidx.hilt 官方地址 Hilt 是 Android 的依赖项注入库,可减少在项目中执行手动依赖项注入的样板代码。...JetPack Material Design 组件简单介绍 这是本人写的,里面有一两个还是可以用到现有项目中的,不过大多没啥用,主要是有更成熟的方案 10.androidx.navigation...navigation库就是在单activity多fragment的情况下不用回退栈的方案 11.androidx.paging 我自己写了一篇 android paging 库介绍。...我写的时候因为编译器的原因没有用高版本,据说高版本支持RxJava(RxPagedListBuilder)。

    94230

    谷歌社区说|聊聊Compose跨平台与KMM

    ,不会涉及跨平台的底层原理,比如为什么可以跨平台这些深奥的道理。...为什么不讲这些呢?原因很复杂,简单的说就是我不会。...最主要的是,paging-common中的API与AndroidX 下的API完全相同,仅仅是将包从androidx.paging迁移到了app.cash.paging中,所以这部分的使用我们直接按照AndroidX...创建项目 下载最新版本的IDEA,创建Compose Multiplatform项目,但是更尴尬的是,由于当前iOS还在alpha阶段,所以IDEA并不能创建iOS平台的项目。...当然这是一个非常开放的话题,我只表明个人观点。Flutter永远都会存在语言壁垒的问题,但是KMM和Compose Multiplatform对Android开发者来说几乎是赠送的。

    2K10

    Jetpack Compose开篇 之 HelloWorld

    Jetpack Compose相比,更喜欢和Android相比,并得出了一些结论,那些结论我不去评判对错,我也没有资格去评判,但是如果你问我,一个Android开发者 Flutter、Jetpack Compose...或者Android 我该怎么选,我觉得这两种东西根本没有任何可比较性,因为根本就不是一个东西,对于个人选择可以分下面两种情况考虑: 1、公司无跨平台业务需求 如果你的公司无跨平台业务需求,除了跳槽到有Flutter...需求的公司,学习Flutter的意义并不大,你可能会反驳说,技多不压身,我不赞同但我也不反驳,但你要知道的是公司是以业务为导向的,你会的再多,所谓一身才华无处施展便也无济于事。...2、公司新增跨平台业务需求 如果你的公司新增了跨平台的业务需求,需要你不得不去学习Flutter,这个时候你要知道的是,从Android转到了Flutter相当于转行,如果你看好公司的发展并打算长久战斗...我们选择新建一个空的Compose Activity项目,依次输入项目位置、填写包名即可。 我们先来运行一下生成项目的默认效果,效果如下图所示: ?

    2K20

    Spring Boot 打包成的可执行 jar ,为什么不能被其他项目依赖?

    前两天被人问到这样一个问题: “松哥,为什么我的 Spring Boot 项目打包成的 jar ,被其他项目依赖之后,总是报找不到类的错误?”...有的小伙伴可能就有疑问了,既然同样是执行 mvnpackage 命令进行项目打包,为什么 Spring Boot 项目就打成了可执行 jar ,而普通项目则打包成了不可执行 jar 呢?...打包 repackage 功能的 作用,就是在打包的时候,多做一点额外的事情: 首先 mvnpackage 命令 对项目进行打包,打成一个 jar,这个 jar 就是一个普通的 jar,可以被其他项目依赖...,被重命名的 jar,这是一个不可执行 jar,但是可以被其他项目依赖的 jar。...如果有这种需求,建议将被依赖的部分,单独抽出来做一个普通的 Maven 项目,然后在 Spring Boot 中引用这个 Maven 项目。

    3K10

    Spring Boot 打包成的可执行 jar ,为什么不能被其他项目依赖?

    前两天被人问到这样一个问题: “松哥,为什么我的 Spring Boot 项目打包成的 jar ,被其他项目依赖之后,总是报找不到类的错误?”...有的小伙伴可能就有疑问了,既然同样是执行 mvnpackage 命令进行项目打包,为什么 Spring Boot 项目就打成了可执行 jar ,而普通项目则打包成了不可执行 jar 呢?...打包 repackage 功能的 作用,就是在打包的时候,多做一点额外的事情: 首先 mvnpackage 命令 对项目进行打包,打成一个 jar,这个 jar 就是一个普通的 jar,可以被其他项目依赖...,被重命名的 jar,这是一个不可执行 jar,但是可以被其他项目依赖的 jar。...如果有这种需求,建议将被依赖的部分,单独抽出来做一个普通的 Maven 项目,然后在 Spring Boot 中引用这个 Maven 项目。

    1.3K31

    【Flutter 专题】77 图解历史 Android Native 项目接入 Flutter Module

    随着 Flutter 的逐渐发展与完善,与 Native 结合使用的场景越来越多;和尚今天尝试将一个历史的 Android Native 项目接入 Flutter Module; AndroidX...Flutter 的发展很迅速,大部分插件均适配 AndroidX,为了今后开发的便利性,和尚优先由如下版本升级适配 AndroidX; minSdkVersion 17 targetSdkVersion...26 compileSdkVersion 28 buildToolsVersion "28.0.3" 和尚以前尝试过 Flutter 升级适配 AndroidX[1],Android 的处理类似...架构,而 Flutter 支持的是 armeabi-v7a,加入之后检验;若项目有特殊要求 NDK 必须是 armeabi 时,可考虑将 armeabi-v7a 的 flutter.so 拷贝到项目中...AndroidX 并接入 Flutter Module 基本完成,下一步是两者之间的交互;升级适配是一个艰难复杂的过程,可能会有很多意想不到的问题,希望可以沉下心来慢慢解决;如有问题请多多指导!

    1.2K51

    不得不看的Flutter与Android混合开发

    这就是我们需要注意的一点,native项目的minSdkVersion不能小于Flutter模块的minSdkVersion。...其中flutter_assets存放的就是flutter代码,到这里native项目就成功的导入了flutter模块。 注意:如在果项目中使用AndroidX,就会导致很严重的兼容性问题。...所以如果项目中使用了AndroidX,则要慎重导入flutter模块。如果一定要导入,则可以去阅读flutter官方提供的解决方案——AndroidX compatibility。...这样就让flutter的一个重大优势失效了,降低了调试效率。那么我们能不能在混合项目中做到flutter模块的热重载尼?其实也是可以的,但需要经过一些步骤。 1....最后针对Android程序员,我这边给大家整理了一些资料,包括不限于高级UI、性能优化、移动架构师、NDK、混合式开发(ReactNative+Weex)微信小程序、Flutter等全方面的Android

    5.6K41

    踩坑记 | Flutter升级影响了NestedScrollView?

    [007S8ZIlly1ghey59d868j305u05uwee.jpg] 不对啊,我这个页面是原生的啊,井水不犯河水的Flutter,还能影响到我的页面?...Android,您会注意到,现在创建新的 Flutter 项目时只提供 AndroidX 选项。...在上一个版本中,我们不再支持原先的 Android Support Library,转而将 AndroidX 作为所有新项目的默认选项。...虽然现有的不使用 AndroidX 的 Flutter 应用依然可以编译,但是时候迁移至 AndroidX 了。...首先嵌套滑动场景可能不止一处业务在用,我的页面修了,其他地方可能还有没发现的bug呢~其次,单纯为了升Flutter而接受更新的AndroidX,本来就是高风险的事情(传递依赖),鬼知道哪天又被升了更高的版本

    1K00

    我用编程模拟疫情的传播来告诉你: 为什么现在的你还不能出门

    看完视频你就明白为什么不能出门了,千万不要放松警惕!(@Ele实验室 ) 在家憋了一段时间的人们,耐心也在一点一点消磨中。很多人已经忍不住开始想蠢蠢欲动了。...他们总有一套自己的理论:我们城市才一点确诊病人,而且在距离我们很远的地方,我就出去一会儿,哪有那么巧合,就感染上了。没事儿的!大街上都没人,我戴着口罩又没事。...疫情的防控工作的防控点或者是成功与否主要在于感染人员是否戴口罩、医院里的隔离床位(或者是自我隔离位)、人口的流动。...因此通过这一次的疫情防控,为了你、我、他,请以后感冒发烧生病之后,能够带个口罩,减少传染率。因为不知道你体内的这一个病毒威力如何。 ?...因此一个疫情发生,必须依靠强大有力的政府比如中国,和广大的医院医生护士等伟大的工作者们的努力,所以平时请尽量的尊重他们的这个职业。 ?

    2.5K10

    踩坑记 | Flutter升级影响了NestedScrollView?

    不对啊,我这个页面是原生的啊,井水不犯河水的Flutter,还能影响到我的页面?找了组里的老哥一起看,才发现,竟然是Flutter升级1.17引起的! 本文约3300字,阅读大约9分钟。...Android,您会注意到,现在创建新的 Flutter 项目时只提供 AndroidX 选项。...在上一个版本中,我们不再支持原先的 Android Support Library,转而将 AndroidX 作为所有新项目的默认选项。...虽然现有的不使用 AndroidX 的 Flutter 应用依然可以编译,但是时候迁移至 AndroidX 了。...首先嵌套滑动场景可能不止一处业务在用,我的页面修了,其他地方可能还有没发现的bug呢~其次,单纯为了升Flutter而接受更新的AndroidX,本来就是高风险的事情(传递依赖),鬼知道哪天又被升了更高的版本

    87820

    Jetpack Compose for Desktop: 里程碑1发布

    在深入详解 Jetpack Compose | 优化 UI 构建 中谷歌介绍了为什么要设计 Jetpack Compose 来完成原生 Android 的开发,如今 Jetpack Compose for...image 更轻松桌面 UI 开发 Compose for Desktop 提供了声明式和响应式的方法,通过使用 Kotlin 来创建用户界面,它的 API 参考了其他现代框架(如 React 和Flutter...上使用 Jetpack Compose 的能力直接转移到 Compose for Desktop ,反之亦然。...Compose for Desktop 的入门很简单,设置项目依赖关系后,开发者就可以简单的使用几行代码来表达一个简单的有状态用户界面,并且有现成的 Material Design 元素库可以帮助快速创建...import androidx.compose.desktop.Window import androidx.compose.foundation.Text import androidx.compose.material

    4.9K30

    国内大厂都在使用哪些移动跨平台框架

    抛开传统的Hybrid技术技术,目前比较流行的移动跨平台技术方案当属React Native、Weex和Flutter。...我的常州 1.3.5 93. 刷宝短视频 ✔ 2.0 94. 比心陪练 4.8.0 97. 中国银行手机银行 ✔ 6.5.0 114....1、微信(v7.0.15) arm框架: arm64-v8a 语言:kotlin、androidx 跨平台框架:flutter,自定义的 skia 2、腾讯课堂(v4.10.3.13) arm框架:...、androidx 跨平台框架:flutter 42、快手(v7.5.10) arm框架: armeabi-v7a 包含 androidx 跨平台框架:flutter 43、得到(v8.0.1) arm...相比去年,跨平台 Flutter 的比例提升不少,react-native 作为过去三年最流行的跨平台框架,还有很多的项目还在使用它,而使用weex技术的大多是阿里系 的产品 ,并且比例还不低(让我有点意外

    2.6K20

    重构 --好好的项目,为什么要我一遍遍重写

    是什么 对项目内部结构的一种调整,目的是在不改变成品可观察行为的前提下,使项目更加亲切,通俗易懂,高效。 喔,亲切排第一位,然后是通俗易懂,然后是高效。 为什么我喜欢重构?...项目拿到手上,经过前期的立项、分析,分工之后,首先想的自然是赶紧实现功能吧,如果有哪位大神已经通篇规划之后再像填空一样填代码,我服。...我目前还没有那么深厚的功底,所以当功能实现之后,我的项目就像是鸡啄米一样,混乱不堪但是暂时还是尽在掌握的。这时候就需要第一波重构了。...但是,曾经一个亲身经历让我明白,重构所花费的时间都不算什么。那是我刚开始做项目时候的事情了,刚开始还好,代码之间的联系不多,写了几天之后,各个功能需要串在一起了,这时候麻烦来了。...首先是函数接口不明朗,有的功能函数,单独的测试demo都好好的,但是一接起来就各种不适应出来,好不容易串起来了,又出现那种牵一发而动全身的状况,陷入泥潭之后,又发现有些细节的东西就忘了,不知道某些地方为什么要那样写

    77020
    领券