IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    love 0
    admin
    发表于
    2024-05-25 11:45:38

    关于研发效能在组织层面的一些思考和总结

    组织结构决定了信息流动、资源分配和决策过程的效率。在研发效能的提升中,扁平化的管理层级、跨功能的团队配置以及灵活的人员动态管理,都能够促进创新和加速决策过程。最近在思考关于软件研发效能的事情,而其中关于组织层面有一些想法和总结,如下:康威定律和逆康威定律在 1968年,梅尔·康威在《Datamation》杂志发表文章《How Do Committees Invent?》,探讨了组织结构和系统设计的关系。其中一句话后来被总结为康威定律:「任何组织所设计的系统架构,都不可避免的反映为该组织沟通结构的副本。」康威在开发早期电子计算机系统的组织中观察到,组织的真实沟通路径(即价值创造架构)与最终的软件架构之间存在强相关性。这种同态力将软件架构和团队结构塑造成相同的「形状」。也就是说,构建软件需要理解团队沟通路径,以更加实际地考虑什么样的软件架构是可行的。如果理论上的系统架构与组织模型不符,就需要对其中之一做出改变。当组织结构变化时,系统架构就会被影响,身在局中的我们感触非常深刻,本来负责 A 业务,调整后负责 B 业务,原来的工作就不想动了;本来在重构某块技术,想把历史的债务还清先,调整后也没有了动力。作为一个技术人面对这种情况,有时也无能为力,调整后大量的时间是投入在当前的业务中,而看到的历史问题不在你的工作边界之中,只能看着历史债务越集越多,直到某一天,雪崩。特别是后端,作为业务核心的 ...继续阅读 (171)


    love 0
    Jayden\'s site
    发表于
    2024-05-25 09:45:53

    Deploy X-Ray Data Process Software on Linux

    该渲染由 marked 生成,可能存在排版问题,最佳体验请前往:https://xxu.do/posts/structure/Deploy-X-Ray-Data-Process-Software-on-Linux==This note is based on Linux Mint 21.3==, it should be also useful if you running a Ubuntu.XDS Related SoftwareReference:https://wiki.uni-konstanz.de/xds/index.php/InstallationXDS package:wget https://xds.mr.mpg.de/XDS-INTEL64_Linux_x86_64.tar.gz --no-check-certificate # For some reason, wget cannot verify the server's SSL Certificates, add the --no-check-certificate parameter to igonre it tar -xzvf XDS-INTEL64_Linux_x86_64.tar.gz mv XDS-INTEL64_Linux_x86_64 /usr/local/bin/ ln -sf /usr/l ...继续阅读 (128)


    love 0
    xiaoz
    发表于
    2024-05-25 08:48:13

    探索星空组网:无公网IP的NAS用户,也能享受顺畅的网络连接体验

    最近群里的小伙伴向xiaoz推荐了一款名为星空组网的组网工具。经过安装和体验,我发现它非常适合没有公网IP的NAS用户。对此有需求的朋友们可以尝试一下。本文将详细介绍星空组网的基本用法。关于星空组网星空组网是一款采用前沿云虚拟局域网和SD-WAN智能组网技术的创新网络连接应用,旨在彻底改变设备间的互 ...继续阅读 (177)


    love 0
    Jayden\'s site
    发表于
    2024-05-25 06:59:35

    星巴克臻选 上海烘焙工坊

    该渲染由 marked 生成,可能存在排版问题,最佳体验请前往:https://xxu.do/notes/129学校书院为助力未来庭院咖啡角的建设,为同学们更好理解咖啡产业商业经营、咖啡评鉴和制作工艺,出台了这次活动。(活动针对本科生,但我好像混进去了,不是)我们拜访的这家上海烘焙工坊是星巴克全球唯六的烘焙工坊之一,也是美国本土海外的第二家烘焙工坊。很多人称这家店为星巴克旗舰店,其实并非这样 ,它是一家烘焙工坊,您可以在官网了解更多。我们是早上 10 点到店的,与外面南京西路的人流量相比,店里面已经坐了不少人了。我们的活动从介绍咖啡豆的生长开始,咖啡种植主要分布在拉丁美洲、亚洲及太平洋地区和非洲,因当地的经济发展导致的**工艺差异**,使得这三个产地的咖啡豆各有特色。接下来参观了两种咖啡机对浓缩咖啡进行制作,尤其是反重力咖啡机印象深刻(您可以从**这个视频**窥见一二),有幸运的同学甚至体验了拉花。另一位同事对咖啡的烘焙进行的介绍,包括对咖啡豆烘焙的质量控制等,我们得此机会看到了咖啡出炉的一刻。Your browser does not support the video tag.烘焙咖啡豆的机器类似于波轮洗衣机,咖啡豆在里面翻滚烘焙,时间到开盖到容器里面搅拌快速冷却至室温,同时根据光谱对咖啡豆进行质量控制,合格的咖啡豆通过风力筛选出来,将咖啡豆中的杂质如石头等去除(disston ...继续阅读 (148)


    love 0
    xiaoz
    发表于
    2024-05-25 03:58:43

    115网盘618限时促销,仅需500元享4年VIP服务

    xiaoz 从高中时期开始使用115网盘,那时还没有百度网盘。曾经一度担心115网盘会跑路,但至今依然坚挺,真是神奇一般的存在。近期,115网盘推出了618特惠活动,仅需500元即可享受长达4年多的VIP服务。对于需要观看电影或进行离线中转的用户来说,这是一个不错的选择。如果您目前没有这些需求,不建 ...继续阅读 (151)


    love 0
    百战百胜
    发表于
    2024-05-25 03:40:39

    11个Java代码优化技巧

    Java编码优化确实是一个持续的过程,它需要在保持代码可读性和可维护性的同时,关注性能提升和资源使用的优化。以下是一些常见的Java编码优化技巧,以及相应的业务场景化案例和代码示例。 1. 避免不必要的对象创建 业务场景:在处理大量数据的业务场景中,频繁创建对象会增加垃圾收集的负担。 优化前: pu ...继续阅读 (136)


    love 0
    冠军
    发表于
    2024-05-25 01:55:00

    使用 Azure AI Studio 构建和部署使用提示流的问答助驾系统 - 冠军

    【摘要】使用 Azure AI Studio 构建和部署使用提示流的问答助驾系统 See: Build and deploy a question and answer copilot with prompt flow in Azure AI Studio - Azure AI Studio | Micro阅读全文 ...继续阅读 (262)


    love 0
    冠军
    发表于
    2024-05-25 01:19:00

    在 Azure AI Studio 中创建项目并使用聊天演练场 - 冠军

    【摘要】在 Azure AI Studio 中创建项目并使用聊天演练场 See: Create a project and use the chat playground in Azure AI Studio - Azure AI Studio | Microsoft Learn 在本动手实验中,你将创建项阅读全文 ...继续阅读 (154)


    love 0
    admin
    发表于
    2024-05-25 00:17:00

    在OCI上,使用Terraform自动化创建Compute/Database

    在开始创建Compute/Database资源之前,需要先完成认证,再将需要的基础资源准备好。基础资源包括VCN/Subnet等相关的网络基础组件。本文将通过简单的示例展示这些基础组件的创建。区域/Compartment/AD和所有的Provider一样,我们会在Oracle Cloud的provider基础配置中配置好region。在资源创建的时候,核心资源都需要配置compartment_id,可以简单理解为,该资源属于哪个逻辑组(关于Compartment)。例如,一个典型的、简单的VCN的创建代码如下:provider "oci" { region = var.region } # 创建一个新的compartment,他的parent compartment是tenancy_id resource "oci_identity_compartment" "oic" { #Required compartment_id = var.tenancy_id description = "for database benchmark" name = var.naming } resource "oci_core_vcn" "ocv" { #Required compartment_id = oci_ident ...继续阅读 (179)


    love 0
    豌豆花下猫
    发表于
    2024-05-25 00:00:00

    Python 潮流周刊#52:Python 处理 Excel 的资源

    本周刊由 Python猫 出品,精心筛选国内外的 250+ 信息源,为你挑选最值得分享的文章、教程、开源项目、软件工具、播客和视频、热门话题等内容。愿景:帮助所有读者精进 Python 技术,并增长职业和副业的收入。本期周刊分享了 12 篇文章,12 个开源项目,赠书 5 本《网络是怎样连接的》,全文 1900 字。以下是本期摘要:🦄文章&教程① 正则表达式匹配可以很简单且高速② 如何利用内存中还在运行的代码,恢复已删除的源码?③ PEP-667:命名空间的一致视图④ 用 100 行代码替换 pyinstaller⑤ py.space:免费开发在线的 Python 应用⑥ 使用 Python 3.12 作静态类型函数式编程⑦ 如何用 Python 动态生成 Github 个人主页 README?⑧ 用 pyastgrep 作自定义 linting⑨ 使用 pygments 生成代码片段的图片⑩ 使用纯 NumPy 实现 Llama 3⑪ AI 帮你写的代码,所有权归谁?⑫ 聪明的代码可能是你写过最糟糕的代码🐿️项目&资源① 用于处理 Excel 的 Python 资源② yen:Python 虚拟环境管理工具,无需预装 Python③ Tensor-Puzzles:21 个张量谜题④ dishka:依赖注入框架⑤ hstream:将 Python 脚本转换为 Web 应用⑥ cov ...继续阅读 (158)


    love 0
    血衫非弧の一存
    发表于
    2024-05-25 00:00:00

    如何检查 iOS ipa 文件的签名信息

    方法一:使用codesign工具codesign是 macOS 自带的工具,可以用来检查应用的签名信息。以下是具体步骤:解压 IPA 文件: IPA 文件其实是一个 ZIP 压缩包,先将其解压缩。unzip MyApp.ipa找到应用包: 解压后,你会得到一个Payload文件夹,里面有一个.app文件夹。使用codesign检查签名:codesign-dvvvPayload/MyApp.app这条命令会显示详细的签名信息。方法二:使用codesign结合ldid工具ldid工具可以更详细地查看签名信息,尤其是在查看 entitlements(权限)方面。安装ldid: 首先需要安装ldid,可以使用 Homebrew 安装:brewinstallldid使用ldid检查签名:ldid-ePayload/MyApp.app/MyApp这条命令会显示应用的 entitlements 信息。方法三:使用第三方工具iOS App SigneriFunbox ...继续阅读 (170)


    love 0
    张善友
    发表于
    2024-05-24 23:51:00

    网页视频下载插件FetchV,支持Chrome/Edge/FireFox浏览器 - 张善友

    【摘要】FetchV 是一款专为现代浏览器用户设计的高性能视频下载工具,全面兼容 Chrome、Edge 及其他基于 Chromium 内核的浏览器。其特点如下:全能视频下载解决方案:轻松下载包括 HLS(m3u8)在内的多种流媒体格式、MP4、WEBM、FLV 等静态网页视频及音频文件(如 MP3),满足阅读全文 ...继续阅读 (202)


    love 0
    Yinan
    发表于
    2024-05-24 19:04:45

    Hoarder - The Self-Hosted Bookmark Manager

    Trying outHoarderapp today, to see whether it would competes Anybox as my main bookmark manager. I do like self-hosting services, and I like hoarding stuff 🤭.At first sight, it feels like a complete app I can put in production, it has a iOS app with share sheet support, chrome extension for easily save from browser, it saves note and images.I really like the ability to have AI tagging for links and images so that I don't have to manually organize them. And the full text search is something Anybox doesn't have yet. While I write this article, May 2024, it is still under review in thecanny page ...继续阅读 (147)


    love 0
    yuanj\'s blog
    发表于
    2024-05-24 18:51:09

    把私生活放进 Telegram 里

    其实很早就听说过 Telegram,但是一直没去用,一来是这玩意儿登录方面的问题稍多,二来是没有那个需求。最近试用了一下,实在是带给我很大的惊喜,于是将自己的一些活动都放在这里了。 ...继续阅读 (162)


    love 0
    yuanj\'s blog
    发表于
    2024-05-24 18:51:09

    把私生活放进 Telegram 里

    其实很早就听说过 Telegram,但是一直没去用,一来是这玩意儿登录方面的问题稍多,二来是没有那个需求。最近试用了一下,实在是带给我很大的惊喜,于是将自己的一些活动都放在这里了。 ...继续阅读 (96)


    love 0
    CatUncle4
    发表于
    2024-05-24 18:51:09

    把私生活放进 Telegram 里

    其实很早就听说过 Telegram,但是一直没去用,一来是这玩意儿登录方面的问题稍多,二来是没有那个需求。最近试用了一下,实在是带给我很大的惊喜,于是将自己的一些活动都放在这里了。 ...继续阅读 (92)


    love 0
    Teacher Du
    发表于
    2024-05-24 17:38:45

    iStoreOS 路由系统介绍与安装

    最近托管在群晖的 GitLab 非常不稳定,想必是群晖的性能不够用了。想着软路由的性能有很多的冗余,就想移植到软路由。结果运行的爱快怎么都不成,看到前段时间宋童靴的推荐,决定更换到 iStoreOS!系统介绍iStoreOS 源于 OpenWRT,重点是做了很多很多的交互简化。iStoreOS 入门极客版本 UI 是默认 UI,目标是提供给懂点技术的入门极客爱好者,或者偷懒极客老手,核心特性:首页提供网络向导、磁盘向导、Docker 向导等众多向导,不管新手还是老手,都能快速配置自己想要东西;修复众多 OpenWRT 不人性的小问题,如 Samba 设置独立用户名密码很麻烦、磁盘挂载;更多首页工具帮手,比如在线升级、各种错误检测、网口图形化配置等;其它很多常用功能,如 DDNS 配置、Docker 配置等。iStoreOS 还提供软件中心,尽可能解决插件之间的依赖关系,可让大家自由自在安装插件。手动安装离线包也是支持的。除此之外,为了方便大家折腾不出问题,避免掉坑,还做了很多防坑操作如:救援模式,即是固件完全刷坏,也可以进入救援模式救回来;沙箱模式,通过 U 盘进入沙箱模式,后续软件安装更新都在沙箱进行。不管如何安装插件搞坏系统,拔掉 U 盘就会回到上个状态。沙箱模式本身也是系统扩容最简单的方法。系统截图iStoreOS 的首页截图:iStoreOS 的软件中心截图:准备安装一个 ...继续阅读 (159)


    love 0
    Teacher Du
    发表于
    2024-05-24 16:44:48

    基于 rsync+sersync 实现文件的同步备份

    上一篇我们使用了 rsync+inotify 实现文件的实时同步,inotify 常用于监控目标文件变化。本篇教材说明如何通过 sersync 实现文件的同步备份,底层仍使用 rsync+inotify,优点是只对变化的目录数据操作,甚至是一个文件不同的部分进行同步。工具介绍rsync是一个远程数据同步工具,可通过网络在不同的主机之间快速同步文件和目录。sersync是基于rsync开发的一款高性能的文件同步工具,它提供了更简单的配置和更好的性能。部署思路在需要进行同步的主机上安装rsync;配置rsync服务器,在源主机配置rsync服务器,允许其它主机通过rsync连接并获取文件;在目标主机安装sersync;配置sersync指定源主机信息、要同步文件或目录、同步频率;启动sersync服务使开始执行文件同步备份操作;测试并调试相关的服务,具体的配置步骤可能因操作系统和实际需求而有所不同。配置参考以下是一个简单的示例,展示了基本的配置思路。源主机上rsync服务器配置:1234567891011# 编辑 rsync 主配置文件vim /etc/rsyncd.conf# 添加以下内容[backup]path = /path/to/backup/directoryreadonly =yeslist =yesauthusers= backup_usersecrets file = ...继续阅读 (207)


    love 0
    Teacher Du
    发表于
    2024-05-24 16:44:48

    基于 rsync+inotifywait 实现文件的实时同步

    之前有透露过,杜老师的去不图床使用三点备份,除本地备份外,还有内网存储备份,以及云上备份。而内网存储备份是通过 rsync 实现的,同步周期为每半个小时。近期打算配合 inotifywait 实现文件的实时同步!工具介绍rsync是一个用于文件同步和备份的工具,inotifywait是一种文件系统事件通知机制。通过结合用rsync和inotifywait,可实现文件的实时同步。工具安装安装rsync软件包:1sudo apt -yinstallrsync安装inotify-tools软件包:1sudo apt -yinstallinotify-tools服务配置在源服务器上,创建一个rsync的配置文件,如/etc/rsyncd.conf,指定要同步的文件或目录及其它相关设置。安装并配置inotifywait,确保inotifywait模块已加载。使用inotifywait命令监视源目录事件。编写同步脚本,使用inotifywait输出触发rsync命令,将更改的文件同步到目标服务器。设置定时任务或者守护进程,使用cron或其它合适的工具定期执行同步脚本以实现实时同步。示例脚本123456789101112131415161718192021#!/bin/bash# 定义源目录和目标目录SRC_DIR=/path/to/sourceDEST_DIR=/path/to/destina ...继续阅读 (182)


    love 0
    quqi99
    发表于
    2024-05-24 15:21:57

    copy.deepcopy (by quqi99)

    openstack中的所有对象如(BlockDeviceMapping)对实现了__deepcopy__方法, 这样无论是openstack中的对象还是 python中的对象都可以通过copy.deepcopy(obj)来实现深拷贝了。Python的copy模块中的deepcopy函数紧密相关,因为deepcopy函数在复制对象时会检查并可能调用该对象的__deepcopy__方法。在实际应用中,你可以根据对象的结构逐一递归地进行深拷贝操作,以确保对象及其嵌套元素都被正确复制。何为deepcopy? ...继续阅读 (157)


    love 0
    惜分飞
    发表于
    2024-05-24 13:26:46

    PASSWORD_ROLLOVER_TIME—实现新老短期密码共存

    联系:手机/微信(+86 17813235971) QQ(107644445)标题:PASSWORD_ROLLOVER_TIME—实现新老短期密码共存作者:惜分飞©版权所有[未经本人同意,不得以任何形式转载,否则有进一步追究法律责任的权利.]在oracle老版本中(特别是11g版本),你可能多少都遇到过应用修改密码,但是由于系统运行应用较多,在修改应用密码的过程中有业务忘记修改密码,从而导致业务无法正常使用,甚至由于密码延迟认证特性导致数据库hang住,对于这些问题,oracle 从19.12开始引入了PASSWORD_ROLLOVER_TIME,可以在这个profile限制时间内,新老密码都可以登录数据库,避免了上述问题.在手上有的23ai的数据库中进行测试,创建一个测试用户,使用的是default profile,PASSWORD_ROLLOVER_TIME为0(没有启用)SQL> select banner from v$version; BANNER -------------------------------------------------------------------------------- Oracle Database 23ai Free Release 23.0.0.0.0 - Develop, Learn, and Run for ...继续阅读 (133)


    love 0
    惜分飞
    发表于
    2024-05-24 13:26:46

    PASSWORD_ROLLOVER_TIME—实现新老密码短期共存

    联系:手机/微信(+86 17813235971) QQ(107644445)标题:PASSWORD_ROLLOVER_TIME—实现新老密码短期共存作者:惜分飞©版权所有[未经本人同意,不得以任何形式转载,否则有进一步追究法律责任的权利.]在oracle老版本中(特别是11g版本),你可能多少都遇到过应用修改密码,但是由于系统运行应用较多,在修改应用密码的过程中有业务忘记修改密码,从而导致业务无法正常使用,甚至由于密码延迟认证特性导致数据库hang住,对于这些问题,oracle 从19.12开始引入了PASSWORD_ROLLOVER_TIME,可以在这个profile限制时间内,新老密码都可以登录数据库,避免了上述问题.在手上有的23ai的数据库中进行测试,创建一个测试用户,使用的是default profile,PASSWORD_ROLLOVER_TIME为0(没有启用)SQL> select banner from v$version; BANNER -------------------------------------------------------------------------------- Oracle Database 23ai Free Release 23.0.0.0.0 - Develop, Learn, and Run for ...继续阅读 (126)


    love 0
    ysicing (i@ysicing.me)
    发表于
    2024-05-24 12:54:08

    植物大战僵尸docker版

    最早接触的单机游戏,最近B站UP主更新了魔改版,目前只支持Windows版本,但是我找到了docker版本部署比较简单,这里简单记录一下version: '3' services: pvz: image: danbai225/pvz:he container_name: pvz restart: always ports: - "8080:8080"将上面的文件保存为docker-compose.yaml启动服务docker compose pull docker compose up -d访问你的ip:8080端口,选择vnc的html,任意一个都可以, 这里我选择vnc_auto.html@那个点击之后,会跳转到终端,输入pvz启动游戏游戏页面参考项目地址danbai225/pvz目前存在的问题:没有声音对资源的要求比较高(黄鸡龙年可以跑) ...继续阅读 (220)


    love 0
    caimouse
    发表于
    2024-05-24 12:24:12

    鸿蒙应用开发之OpenGL应用和X组件6

    接着重要的功能,就是设置X组件回调函数对象m_callback,它的4个调函数指针,都设置好之后,就可以给X组件进行处理了。前面已经分析怎么样注册X组件的回调函数,然后这些回调函数就可以在X组件合适的时机进行回调,就可以让C++的代码在合适的时间做合适的事情。在这段代码,先从容器里查找是否在存在这个ID的X组件插件,如果没有就会创建一个PluginRender对象,这个对象负责注册回调对象维护,并且管理显示图像的对象。在这个回调函数里,传入两个参数,第一个参数component是一个X组件的指针; ...继续阅读 (169)


    love 0
    admin
    发表于
    2024-05-24 09:54:32

    云数据库技术动态@2024-05-24

    标题:腾讯TDSQL-C灰度发布列存索引; Azure Copilot集成支持Azure上各种托管数据库;重要更新Copilot for Azure新增了对Azure SQL、 Azure Database for MySQL的支持[8] [14]。Copilot for Azure是微软云提供的基于大模型技术的助手工具,主要能力包括了:该大模型可以获得最新的文档,以及客户的Azure资源情况,可以作为最为有用的咨询助手、故障排查与诊断、产品架构咨询 。目前来看,功能还不是很强大,但是看到了微软在全面拥抱AI上的执行力[6]最近ICDE(三大数据库学术会议之一)在荷兰举行,国内厂商们卷的很厉害,算是非常高水平的卷了,感兴趣可以去看看大家都共享了什么成果:《全球厂商之最,华为GaussDB&GeminiDB;,17篇论文入选国际数据库顶会ICDE》[1]《阿里云PolarDB论文斩获ICDE 2024工业赛道「最佳论文奖」》[2]《3篇论文入选国际顶会ICDE 2024|OceanBase联合高校研究成果再获认可》[3]《入选国际数据库顶级会议ICDE,腾讯云数据库技术创新获权威认可》[4]更新详情腾讯云TDSQL-C MySQL 版8.0内核版本更新3.1.14,发布列存索引功能(地域级灰度中)[58]阿里云RDS MySQL数据库代理支持了可用区迁移[5]Azure(微软云)托管 ...继续阅读 (222)


    love 0
    Yiwei Zhang
    发表于
    2024-05-24 09:29:17

    路由器工作模式

    无线路由器上一般有AP(接入点)模式、Router(无线路由)模式、Repeater(中继)模式、Bridge(桥接)模式、 Client(客户端)模式,本文介绍相关内容。 ...继续阅读 (130)


    love 0
    Oilbeater
    发表于
    2024-05-24 09:13:20

    Kubernetes 多集群通信的五种方案

    随着企业的业务规模不断扩大,Kubernetes 的使用也从单集群逐步扩展到多集群部署。多集群环境下,集群之间的通信成为一个重要的研究课题。本文将介绍五种跨 Kubernetes 集群通信的方案的基本原理,优点及其局限性。1. Underlay 网络这类网络插件包括macvlan/ipvlan/Kube-OVN underlay以及各种云上的 VPC CNI 等。基本原理:Underlay 网络从 CNI(容器网络接口)的角度来看是最简单的方式。这种方式依赖于底层基础设施在网络层面实现打通。例如,使用公有云上的 VPC Peering 或者物理网络配置路由和大二层。当底层网络实现了连通,跨集群的容器网络就自然连通了。优点:CNI 角度最为简单,无需额外操作。架构上清晰,把跨集群通信的责任交给底层网络。局限性:依赖于特定 CNI,Underlay 类型的网络场景使用范围有限,有些情况只能使用 Overlay 网络。在异构的环境,比如多云之间、公有云和私有云之间打通存在困难。只是做了基础的容器网络通信打通,更上层的服务发现,域名和网络策略等功能存在缺失。一次性打通所有集群的容器网络,缺乏细粒度的控制。2. 提供跨集群通信能力的 Overlay CNI在无法使用 Underlay 网络的情况下,一些特定的 CNI 在 Overlay 层面也实现了跨集群。例如Ciliu ...继续阅读 (127)


    love 0
    Oilbeater
    发表于
    2024-05-24 09:13:20

    k8gb: 云原生最佳开源 GSLB 方案

    如何将流量在多个 Kubernetes 集群之间进行负载均衡,并做到自动的灾备切换一直是一个让人头疼的问题。我们之前调研了公有云,Karmada Ingress,自己也做了一些手动 DNS 的方案,但这些方案在成本,通用性,灵活度以及自动化程度上都有所欠缺。直到调研到了k8gb这个由南非银行Absa Group为了做金融级别的多活而启动的一个项目。k8gb 巧妙的利用了 DNS 的各种协议完成了一个通用且高度自动化的 GSLB 方案,看完后我就再也不想用其他的方案了。这篇博客会简单介绍一下其他几个方案各自存在的问题,以及 k8gb 究竟是如何巧妙的利用 DNS 来实现的 GSLB。什么是 GSLBGSLB(Global Service Load Balancer)是相对于单集群负载均衡的一个概念,单集群负载均衡主要作为一个集群的入口将流量分发到集群内部,而 GSLB 通常作为再上一层多个集群的流量入口,进行流量负载均衡和故障处理。一方面 GSLB 可以设置一些地理亲和的规则达到流量就近转发提升整体的性能,另一方面当某个集群出现问题后可以自动将流量切换到正常集群,减少单个集群故障对用户的影响。其他方案的问题商用负载均衡GSLB 并不是一个新出的概念,所以不少商业公司都在这方面有很成熟的产品,例如F5 GSLB。这类产品通常有以下几个缺点:没有很好的和云原生对接,通常需要在 Kuber ...继续阅读 (151)


    love 0
    Oilbeater
    发表于
    2024-05-24 09:13:20

    如何轻松将 AI 生成内容整合入 Logseq 笔记

    我的日常生活已经融入了很多 AI 的协助,比如翻译一段文字、解释某个名词、回答一个问题等等。但是频繁使用后发现了另一个问题就是这些 AI 的产出对我的知识来说是个有益的补充,可是使用的时候通常是一次性的解决问题,并没有把这些内容沉淀下来。当需要把他们收集到笔记里的时候还要再回去整理,很是不方便。想象一下,如果这些临时查询的宝贵信息可以自动保存到自己的笔记系统中,就再也不用担心丢失重要的知识片段了。于是就萌生了做个工作流把这些 AI 生成的内容自动存到我的笔记系统里,然后再定期回顾。这里会介绍我调研的一些工具的局限,以及如何用了一个简单的框架把 AI 生成的内容自动导入到 logseq,并做成 flashcard。问题分解和初步调研这里以我一个日常翻译的场景为例:当遇到读不懂的句子是我希望能够划词翻译,然后让 AI 帮我分析这个句子里疑难的单词,最后把这些内容以 flashcard 的格式保存到 logseq 里,这样借助手机端的同步我就可以在碎片时间来复习这个句子了。所以问题大致就是三个,1. 取出划线的文本 2. 编写一个 prompt 生成我想要的内容 3. 保存到 logseq。前两步其实很多工具都已经集成了包括 Raycast AI 和 OpenAI-translator,但是第他们都没提供把前两步的结果导出到第三方的扩展接口。Raycast 理论上可以通过自己的插件体系来 ...继续阅读 (101)


    love 0
    Oilbeater
    发表于
    2024-05-24 09:13:20

    实现 VS Code Remote SSH 下的自动关机

    我现在所有的开发环境都转移到了 GCP 的 Spot Instance 实例,然后用 VS Code Remote SSH 插件进行连接。这种方式的好处是 GCP 可以按秒计费,即使开了很高规格的机器只要及时关机费用也是可控的,缺点是如果中间忘了关机赶上过节那费用就烧开了。再被烧掉了 10 多美元后,痛定思痛决定找个能在 VS Code 空闲时自动关机的方法。过程中为了能够在 Docker 容器内执行 shutdown 命令还搞了一些黑魔法。如何判断空闲这个功能其实类似 CodeSpace 里的 idle timeout,但是 Remote SSH 这个插件并没有暴露这个功能,所以只能自己实现。其实主要的难点在于如何在 Server 端判断空闲,找了一圈没在 VS Code 里看到有暴露的接口,于是就想能不能跳出 VS Code 看看有什么方法能够简洁的判断空闲发生。最直接的想法就是去看 SSH 的连接,因为 Remote SSH 也是通过 SSH 连接上来的,如果当前机器没有存活的 SSH 连接,那么就可以认为是空闲直接关机了。但是问题是 Remote SSH 的连接超时时间会特别长,搜索了一些 Issue 有说是 4 个小时的,我也尝试了直接关闭 VS Code 的客户端,发现 Server 端的 SSH 连接也一直没有消失。如果在 Server 端设置 SSH 超时,Clie ...继续阅读 (123)

上一页 330/4404 下一页
沪ICP备19023445号-2号
友情链接