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

    love 0
    Fish
    发表于
    2024-05-15 07:38:06

    110公里盐田滨海骑行

    昨日天晴,出发去滨海骑行。我是从龙岗区坂田街道出发,骑到坪山区比亚迪公司附近,接着从坪葵路到大鹏新区葵冲,然后自东向西沿着海岸线穿越盐田区到罗湖区,再返回家中。中间会经过玫瑰海岸、溪涌、小梅沙、大梅沙等著名沙滩,也会经过盘山公路这一深圳骑行圣地。路线去程中间走错了一段,看到路边的园山方向指示牌才知道走错了。坪葵路坪葵路后半段得走罗葵路,不然就要穿隧道。罗葵路不长,在树林中穿梭,路很好。罗葵路从罗葵路出来,沿着坪西路走,到葵新南路就可以转到深葵路,然后就是一路向西的海岸线公路了。玫瑰海岸从玫瑰海岸到溪涌玫瑰海岸没什么吃的,只能骑到溪涌再吃。找了家偏僻的店,问老板一个人有什么吃的,老板推荐我吃海胆炒饭。我问多少钱,答曰 60。太贵了,要了一份最便宜的芥蓝鸡蛋炒饭,35 元。本来还想加个青菜,老板看我这么穷,直接说青菜也很贵,我说那就只要炒饭吧。炒饭味道不错,颗粒分明,但 35 还是有点贵了。芥蓝鸡蛋炒饭吃饱后继续出发。溪涌沙滩从溪涌到小梅沙,靠近小梅沙的路在修路,只有几百米。我是瓜车,通过没问题。公路车可能需要推车,不然容易爆胎。小梅沙沙滩过了小梅沙,就是大梅沙了。遥望大梅沙大梅沙愿望塔回望大梅沙海滩盐田港盘山公路(伯公坳)盘山公路之前上过两次,都是从罗湖往盐田方向。从盐田往罗湖方向这是第一次。起初感觉会比较难,因为盐田方向上山的路比较陡,骑上来发现还好,也不怎么很费力,可能是腿变强了 ...继续阅读 (128)


    love 0
    Fish
    发表于
    2024-05-15 07:38:06

    110公里盐田滨海骑行

    昨日天晴,出发去滨海骑行。我是从龙岗区坂田街道出发,骑到坪山区比亚迪公司附近,接着从坪葵路到大鹏新区葵冲,然后自东向西沿着海岸线穿越盐田区到罗湖区,再返回家中。中间会经过玫瑰海岸、溪涌、小梅沙、大梅沙等著名沙滩,也会经过盘山公路这一深圳骑行圣地。路线去程中间走错了一段,看到路边的园山方向指示牌才知道走错了。坪葵路坪葵路后半段得走罗葵路,不然就要穿隧道。罗葵路不长,在树林中穿梭,路很好。罗葵路从罗葵路出来,沿着坪西路走,到葵新南路就可以转到深葵路,然后就是一路向西的海岸线公路了。玫瑰海岸从玫瑰海岸到溪涌玫瑰海岸没什么吃的,只能骑到溪涌再吃。找了家偏僻的店,问老板一个人有什么吃的,老板推荐我吃海胆炒饭。我问多少钱,答曰 60。太贵了,要了一份最便宜的芥蓝鸡蛋炒饭,35 元。本来还想加个青菜,老板看我这么穷,直接说青菜也很贵,我说那就只要炒饭吧。炒饭味道不错,颗粒分明,但 35 还是有点贵了。芥蓝鸡蛋炒饭吃饱后继续出发。溪涌沙滩从溪涌到小梅沙,靠近小梅沙的路在修路,只有几百米。我是瓜车,通过没问题。公路车可能需要推车,不然容易爆胎。小梅沙沙滩过了小梅沙,就是大梅沙了。遥望大梅沙大梅沙愿望塔回望大梅沙海滩盐田港盘山公路(伯公坳)盘山公路之前上过两次,都是从罗湖往盐田方向。从盐田往罗湖方向这是第一次。起初感觉会比较难,因为盐田方向上山的路比较陡,骑上来发现还好,也不怎么很费力,可能是腿变强了 ...继续阅读 (98)


    love 0
    三生石上(FineUI控件)
    发表于
    2024-05-15 07:32:00

    ASP.NET Core的全局拦截器(在页面回发时,如果判断当前请求不合法,不执行OnPost处理器) - 三生石上(FineUI控件)

    【摘要】ASP.NET Core RazorPages中,我们可以在页面模型基类中重载OnPageHandlerExecuting方法。 下面的例子中,BaseModel继承自 PageModel,是所有页面模型的基类。 推荐方案:在BaseModel.cs中,重载OnPageHandlerExecutin阅读全文 ...继续阅读 (124)


    love 0
    王旭阳个人博客
    发表于
    2024-05-15 07:03:22

    接口优化技巧

    前言 之前工作中,遇到一个504超时问题。原因是因为接口耗时过长,超过nginx配置的10秒。然后 真枪实弹搞了一次接口性能优化,最后接口从11.3s降为170ms ...继续阅读 (155)


    love 0
    伍华聪
    发表于
    2024-05-15 05:43:00

    EAV模型(实体-属性-值)的设计和低代码的处理方案(2)--数据的查询处理 - 伍华聪

    【摘要】我在随笔《EAV模型(实体-属性-值)的设计和低代码的处理方案(1)》中介绍了一些基本的EAV模型设计知识和基于Winform场景下低代码(或者说无代码)的一些实现思路,在本篇随笔中,我们来分析一下这种针对通用业务,且只需定义就能构建业务模块存储和界面的解决方案,其中的数据查询处理的操作。阅读全文 ...继续阅读 (195)


    love 0
    fenxi
    发表于
    2024-05-15 04:42:32

    3大主流平台近期数据应用动向

    本文为大家整理「营销与运营新红利」知识星球内受欢迎的精华内容,从主流平台近期数据应用动向角度分享以下内容,欢迎大家加入知识星球一起深度交流(文末扫码加入): 01.淘天生态数据动向 02.微信生态数据动向 03.社媒平台:小红书KFS投放玩 […] ...继续阅读 (146)


    love 0
    coder4
    发表于
    2024-05-15 03:22:58

    解决Linux WPS Office黑体一大陀(一团)的问题

    Ubuntu 24.04亲测有效 sudo cp /snap/gnome-42-2204/current/usr/lib/x86_64-linux-gnu/libfreetype.so.6.18.1 /opt/kingsoft/wps-office/office6/libfreetype.so.6   ...继续阅读 (137)


    love 0
    Guang Cai Li
    发表于
    2024-05-15 01:51:10

    关闭数据库遇到SHUTDOWN: Active processes prevent shutdown operation

    近期遇到一客户数据库关闭时遇到无法关闭的情况。经检查是关闭前使用了sqlplus窗口直接使用host命名回到SHELL操作界面,然后又sqlplus / as sysdba登陆了数据库(具体切换了三、四次);在之后的发出关闭命令shutdown immediate;后,命令一直HANG住;此时查看ALERT日志,有“SHUTDOWN: Active processes prevent shutdown operation”提示;一开始以为是有活动会话没有关闭,查询ps -ef|grep LOCAL 和ps -ef|grep ora_j的进程,均无相应进程;也未配置EM–DB CONSOLE之类。刚开始以为是遇到有活动会话导致的,数据库版本是AIX6.1+11.2.0.1单实例;因此根据以往经验会提示出哪个进程导致SHUTDOWN无法完成,根据提示进程号进行KILL进程,就会正常关闭。——————-==》根据观察,在ORACLE10G及以上版本,会是如下提示:Active call for process 12345 user ‘oracle’ program ‘oracle@abcd’SHUTDOWN: waiting for active calls ...继续阅读 (121)


    love 0
    JiaoYuan\'s blog
    发表于
    2024-05-15 00:00:00

    突然发现博客已经一年多了

    今天在 V2 上看到 Randy 的帖子,好奇之余,去看了下这位大佬的 GitHub,突然发现了之前使用过的一个评论系统cusdis,这才突然反应过来,这个博客已经是一年多了,没想到时间过的这么快,近期忙于课程与复习,都忘了这一茬了。 ...继续阅读 (54)


    love 0
    caimouse
    发表于
    2024-05-14 17:08:14

    鸿蒙应用开发之调用C++开发代码库1

    由于鸿蒙应用主要基于ArkTS开发,主要使用的语言是ETS,也就是JS脚本方式来开发,这与C++语言开发是不同的语言,这样就不能直接相互调用,因为不同的语言使用不同的数据结构,不同的调用方式,不同的运行环境。因为C++语言开发的底层库已经比较长的时间,即使不考虑性能的情况之下,也需要很大的工作量来重写和测试,所以ArkTS一定需要能调用C++代码的能力,这样才能方便旧的项目,或者性能要求比较高的项目进行开发。简单起见,先来学习一个鸿蒙代码库提供的一个例子,这样杜绝各种创建项目的不同,以及填写不同的参数。 ...继续阅读 (141)


    love 0
    王中阳Go
    发表于
    2024-05-14 15:48:53

    Go-Zero定义API实战:探索API语法规范与最佳实践(五)

    前言上一篇文章带你实现了Go-Zero模板定制化,本文将继续分享如何使用GO-ZERO进行业务开发。通过编写API层,我们能够对外进行接口的暴露,因此学习规范的API层编写姿势是很重要的。通过本文的分享,你将能够学习到Go-Zero的API语法规范,以及学会实际上手使用。概述下文所说的是api是 go-zero 自研的领域特性语言(下文称 api 语言 或 api 描述语言),旨在实现人性化的基础描述语言,作为生成 HTTP 服务最基本的描述语言。api 领域特性语言包含语法版本、info 块、结构体声明、服务描述等几大块语法组成,其中结构体和 Golang 结构体 语法几乎一样,只是移除了struct关键字。实战前准备首先需要你在本地安装goctl、go-zero,下载教学和地址点击这里,按照教程操作即可,非常简单。下面按顺序和我操作吧,对使用模板快速生成API层不清楚的同学务必先看我前篇文章:Go-Zero goctl实战这里我假设你已经创建好了一个API服务的demo,且目录结构长这样:学习API语法对于Go语言开发者来说,Go-Zero的API语法学习和理解成本极低,我们可以很轻松的学会API语法。下面我会为大家介绍重点需要掌握的语法。更详细的语法规范,可以参考官网:API 规范 | go-zero Documentation生成API文件cd demo goctl a ...继续阅读 (210)


    love 0
    zhuxy
    发表于
    2024-05-14 14:51:48

    TypeScript – 函数重载

    TypeScript 中的函数重载允许你为一个函数提供多个函数类型定义,以便它可以以不同的方式处理不同的参数类型或参数数量。函数重载可以提高代码的可读性和类型安全性。在 TypeScript 中实现函数重载的步骤如下:声明重载签名:首先,你需要声明一个或多个重载签名,这些签名描述了函数可以接受的不同参数类型和返回值类型。这些签名不会包含函数体。实现签名:然后,你需要提供一个实现签名,这个签名必须与所有的重载签名兼容。实现签名包含了函数的实际逻辑。调用函数:在调用函数时,TypeScript 编译器会根据提供的参数类型来检查哪个重载签名与之匹配,并应用相应的类型检查。下面是一个简单的函数重载示例:// 重载签名 function makeDate(timestamp: number): Date; function makeDate(m: number, d: number, y: number): Date; function makeDate(mOrTimestamp: number, d?: number, y?: number): Date { if (d !== undefined && y !== undefined) { return new Date(y, mOrTimestamp - 1, d); } else { r ...继续阅读 (168)


    love 0
    crossoverJie
    发表于
    2024-05-14 14:39:48

    自动测试在 Operator 开发中的应用:以 OpenTelemetry为例

    背景最近在给opentelemetry-operator提交一个标签选择器的功能时,因为当时修改的函数是私有的,无法添加单测函数,所以社区建议我补充一个e2e test.因为在当前的版本下,只要给 deployment 打上了instrumentation.opentelemetry.io/inject-java: "true"这类注解就会给该 deployment 注入 agent。但没办法指定不同的 agent 版本(或者不同的环境变量),所以希望可以新增一个选择器,同时可以针对不同的 deployment 维护不同版本的Instrumentation(是用于控制需要注入 deployment 的资源);这样就可以灵活控制了。在这之前我其实也很少做 kubernetes 的 operator 开发,对如何做 kubernetes 的 e2e 测试也比较陌生,好在社区提供了详细的贡献文档。安装简单来说需要两个关键组件:kind: kubernetes in docker,是可以在本地利用 docker 启动一个 kubernetes 集群的工具,通常用于在本地进行开发、测试关于 kubernetes 相关的功能。安装 kind 的前提是本地已经安装好了 docker。chainsaw: 一个 e2e 测试框架,提供了声明式的方式定义测试用例,也有着丰富断言功能。他们的安装都很简单 ...继续阅读 (169)


    love 0
    白宦成
    发表于
    2024-05-14 14:39:45

    鱼跃 Anytime CT 15 血糖监测仪体验 & 个人心得分享

    本文内容仅作为个人体验分享,不作为任何医疗建议提供。如已有相关疾病,建议尽快就医咨询医生。CGM(Continuous glucose monitor)是指持续血糖检测仪,在下文中,指我自己购买的鱼跃 AnyTime CT15 血糖监测仪。个人使用体验在详细介绍我和 CGM 的故事之前,我想和你聊聊个人的使用体验。这 14 天的持续监测,对我来说是很不一样的,我经历过一开始的恐慌期(一开始因为适应的原因,导致我把自己吓了一跳)到小心翼翼期(担心胖胖的自己把设备给压坏了、担心洗澡会让设备失灵)再到无所谓期(把 CGM 当成日常来使用,不再担心会影响到 CGM 设备)心态变化还是挺大的。在使用整个 CGM 的过程中,我自己的认知也得到了更新,比如:过去我一直以为我的血糖是稳定在一个点位上(毕竟空腹血糖也只取一个点),但实际上,血糖是在不断波动的,只不过是在安全的范围内不断波动。经过佩戴 CGM 的这 14 天,我也变得能够更加坦然地和自己的血糖和谐相处的过程(当然,我的血糖其实没啥问题hhh,倒也没有到病的阶段)。作为一个个体,在经历过 CGM 的体验后,我认为:如果持续使用 CGM,那么他只适用于糖尿病患者:这句看似是废话,但我想表达的是,绝大多数人的血糖波动范围,完全没必要关注血糖波动。现有的 CGM 的设计基本上也是服务于糖尿病患者的保命需求的。普通人用起来可能没啥太大的感觉。糖 ...继续阅读 (183)


    love 0
    crossoverJie
    发表于
    2024-05-14 14:38:14

    OpenTelemetry agent 对 Spring Boot 应用的影响:一次 SPI 失效的

    背景前段时间公司领导让我排查一个关于在 JDK21 环境中使用 Spring Boot 配合一个 JDK18 新增的一个 SPI(java.net.spi.InetAddressResolverProvider) 不生效的问题。但这个不生效的前置条件有点多:JDK 的版本得在 18+SpringBoot3.x还在额外再配合使用-javaagent:opentelemetry-javaagent.jar使用,也就是 OpenTelemetry 提供的 agent。才会导致自定义的InetAddressResolverProvider无法正常工作。more在复现这个问题之前先简单介绍下java.net.spi.InetAddressResolverProvider这个 SPI;它是在 JDK18 之后才提供的,在这之前我们使用InetAddress的内置解析器来解析主机名和 IP 地址,但这个解析器之前是不可以自定义的。在某些场景下会不太方便,比如我们需要请求order.service这个域名时希望可以请求到某一个具体 IP 地址上,我们可以自己配置 host ,或者使用服务发现机制来实现。但现在通过InetAddressResolverProvider就可以定义在请求这个域名的时候返回一个我们预期的 IP 地址。同时由于它是一个 SPI,所以我们只需要编写一个第三方包,任何项目依赖它 ...继续阅读 (213)


    love 0
    鄢云峰
    发表于
    2024-05-14 14:33:11

    用纯 CSS 写了一个拟态键盘,真的很酷~

    这是我之前练习 CSS 的时候写的,反正我自己觉得效果很好,所以分享给大家。它的实现原理是:通过给每个键盘按键(div)添加 css 阴影实现的,因为 css 阴影可以模拟一个近似 3D 的视觉效果。 ...继续阅读 (131)


    love 0
    bluishglc
    发表于
    2024-05-14 10:36:00

    Flink CDC 的 Debezium Json 消息中文乱码的解决方法

    在使用 Flink CDC 的 API 摄取 CDC 数据到 Kafka 的时候,如果使用的是 JsonDebeziumDeserializationSchema,那么会有很大概率遇到中文乱码问题,下面就是一个示例 ...继续阅读 (149)


    love 0
    Jimmy He
    发表于
    2024-05-14 10:02:54

    读书笔记-《Best Practices for Gathering Optimizer Statistics with Oracle Database 19c》

    调整SET_TABLE_PREFS,按照表来单独设置,减低stale的百分比,比如变化1%就收集统计信息调整 ESTIMATE_PERCENT的比例,不用AUTO_SAMPLE_SIZE,而用更低的采样比例High-frequency Optimizer Statistics Collection自定义搜集统计信息的job,设置自定义的time intervalReal-time Statistics19c有实时统计信息,在display_cursor中可以看到 – dynamic statistics used: statistics for conventional DML配置参数:optimizer_real_time_statistics ,21c的参数backport到19c RU 10分区表:用Incremental Statistics,注意时长场景,时间窗口移动。“Out of Range” 场景:在range 分区表中比较常见,应对方法:DBMS_STATS.COPY_TABLE_STATS(注意,临时解决方案,还是需要搜集详细统计信息)另外,还可以通过分析数据增长或者变化的趋势,手动设置统计信息:DBMS_STATS.SET_COLUMN_STATSGATHERING STATISTICS MORE QUICKLYUsing ...继续阅读 (131)


    love 0
    时光巷陌
    发表于
    2024-05-14 09:28:00

    手机桌面引发的一次事故

    五一假期的第一天,一切都是那么的正常,前一天还在狂下的大雨,到了今天就不见了踪影,反而是太阳想要从多层中挣扎而出,但似乎效果不大,也就只能稍微露头一会 ...继续阅读 (78)


    love 0
    vacuity
    发表于
    2024-05-14 06:46:49

    钉钉自动打卡方案

    1、设备要求一部不常用的支持快捷指令且可以正常钉钉打卡的iOS( >=iOS13)设备2、前提条件登录钉钉,打开极速打卡,最好测试一遍打卡是否正常,设备要在打卡范围内,有网&#x ...继续阅读 (194)


    love 0
    vacuity
    发表于
    2024-05-14 06:46:49

    钉钉自动打卡方案

    1、设备要求一部不常用的支持快捷指令且可以正常钉钉打卡的iOS( >=iOS13)设备2、前提条件登录钉钉,打开极速打卡,最好测试一遍打卡是否正常,设备要在打卡范围内,有网&#x ...继续阅读 (173)


    love 0
    伍华聪
    发表于
    2024-05-14 04:52:00

    EAV模型(实体-属性-值)的设计和低代码的处理方案(1) - 伍华聪

    【摘要】一般我们在开发的时候,习惯上使用常规的关系型数据库来设计数据库表,对于一些业务表的字段比较固定的场景,是一种非常不错的选择,而且查询的时候,由于是基于固定的表字段进行查询,性能基本上是最优的。不过有一些场景下,业务信息的经常变化,使用常规的关系型数据库来创建表字段、删除字段的模式,肯定不是合适的处理方案,因此可能会进入JSON数据存储的方式,而现今很多关系型数据库也都支持JSON的存储和子查询处理,不过JSON的检索还是比较麻烦,而且对于复杂的子查询,性能据说也好不到哪里。而非关系型数据库的NoSQL数据库(MongoDB数据库),它的产生就是为了解决大规模数据集合多重数据种类带来的挑战。结合关系型数据库的熟练使用、性能优势和MongoDB数据库的弹性化文档处理特点,我对EAV模型(实体-属性-值)的设计和低代码的处理方案提供一个实用的思路供参考。阅读全文 ...继续阅读 (239)


    love 0
    Teacher Du
    发表于
    2024-05-14 02:57:59

    自建 CDN 联盟试运营

    很多小伙伴感觉杜老师说的访问速度很快,去不图床外链比较稳定,经常会问杜老师用的是哪家的 CDN,这里统一回复:杜老师说及其旗下的所有服务用的都是自建 CDN。今日突发奇想打算弄个自建 CDN 的联盟,感兴趣的小伙伴可进来看看加入规则!最低配置所加入的服务器需满足以下最低配置:项目配置CPU1H内存2G硬盘50G架构X86_64系统版本所加入的服务器需使用以下系统对应版本,并保证系统纯净度「指装好系统后,并未安装任何其它服务」系统版本Ubuntu18Ubuntu20Ubuntu22Debian10Debian11Debian12CentOS7CentOS8CentOS8 StreamCentOS9 StreamRocky Linux8Rocky Linux9端口列表所加入的服务器需开放以下端口:端口说明8000主控通信控制端口80节点程序必用端口443节点程序必用端口入盟规则满足以上配置、系统、端口需求;节点名额仅有 40 个,当名额耗尽时,将根据服务器配置排位,将最低配置服务器移除联盟;节点入联盟后需要完全托管,节点服务器上不能安装任何其它服务;联盟根据节点带宽发放对应积分,按每兆一元积分来兑换;平台使用积分兑换使用流量,费用为每 G 每小时 0.01 元积分「不足 1G 仍按 1G 计算」例如本日杜老师说 7-9 点流量消耗为 500M/1G/1.5G,则收费为 0.04 元;本 ...继续阅读 (116)


    love 0
    Teacher Du
    发表于
    2024-05-14 02:57:59

    通过 FFmpeg 替换音轨解决群晖不支持当前所选音轨问题

    最近经常刷到「无耻之徒」的短视频,特别喜欢卡尔那段,瞬间激发了杜老师的收集欲。看不看另外说,先下载进群晖。但通过 Video Station 无法播放,提示不支持当前所选的音轨。这里分享如何通过 FFmpeg 替换音轨解决群晖不支持当前所选音轨问题!问题截图杜老师是通过磁链下载 MKV 格式的版本,目前网上影视资源大多都是这个版本,群晖也支持该格式,只是该版本使用的是 DTS 音轨,自群晖升级至 7 版本后,就不再支持该音轨,提示界面如下:压缩分区1ffmpeg -iinput_video.mp4-c:v copy -c:aaac -strict experimental output_video.mp4注意:要使用 FFmpeg 替换视频文件中的音轨,需要安装 FFmpeg 并确保它已正确安装。确保输入的音频流和视频流的采样率和声道数兼容。如果需要,可使用-ar和-ac来指定采样率和声道数。命令解释这里参数解释如下:参数解释-i input_video.mp4指定输入视频文件。-c:v copy仅复制视频流,不重编码。-c:a aac指定输出音频编码格式为 AAC。-strict experimental用于解决某些编解码器问题。output_video.mp4是输出文件的名称。解决截图通过上面命令,将原有的 DTS 音轨转换为群晖支持的 AAC 音轨,再次上传至群晖后,即可通过 ...继续阅读 (117)


    love 0
    chancel
    发表于
    2024-05-14 00:00:00

    Docker的网络代理

    在国内的服务器上使用Docker时会经常遇到网络不稳定的问题,以下是3种在Docker使用场景中常见网络问题的解决方案,分别是拉取镜像镜像构建容器运行1. Docker pull拉取镜像失败有2种处理方法,分别是:更换Docker源设置Docker代理1.1. 更换Docker源编辑:/etc/docker/daemon.jsonJSONcontent_copy{"registry-mirrors":["https://registry.docker-cn.com","https://docker.mirrors.ustc.edu.cn","https://hub-mirror.c.163.com","https://mirror.baidubce.com"]}重启docker应用设置Bashcontent_copysudo systemctl daemon-reload sudo systemctl restart docker再尝试拉取镜像,可以看到速度非常快1.2. 设置代理佳如更换源在某些场景下也不被允许,那么可以通过网络加速代理来拉取镜像可以在拉取前执行网络代理,假设本地8080端口是用于加速的网络代理Bashcontent_copyexporthttp_proxy=http://localhost:8080exporthttps_proxy=http://localho ...继续阅读 (175)


    love 0
    1900
    发表于
    2024-05-13 23:00:16

    将博主PC上使用的应用信息实时显示到博客

    起因 这个功能是在大佬 Innei 的博客上看到的,效果就是在网站logo处实时的显示博主在PC上使用的应用程序信息,虽然是个不太显眼的功能,但是效果还是挺好的,让我感觉整个网站因为这个变的不再死板,不断变动的程序图标让这个网站像博主的一个身外化身。 真的很想要呀! 遂翻阅了一下大佬的博客源码和一些相关的配套文件,自己大概有了一些思路,后来也将这些想法整理了一下后请教了 一个球 大佬,大佬说这个思路是没什么问题。 所以,喜欢就干! 遂根据自己的思路搭配Kimi和ChatGPT终于在昨天将这个效果实现了一个大概,今天大概修复了一下BUG,撰文总结一下这次折腾和分享实现过程。 结构思路 对于这个功能的整个流程总结如下: 1. 电脑上有一个监控程序,定时或在切换程序时向服务器发送当前激活的程序信息 2. 服务器对发送来的信息进行鉴权、验证、过滤等处理后转发给所有客户端(既打开了我博客网站的浏览器) 3. 网页接收到信息后根据需求进行展示。 根据这个结构我们需要一个可以上报数据的监控程序和一个架设API的VPS或可以架设API功能的云函数等,技术架构如下。 1. ...继续阅读 (138)


    love 0
    caimouse
    发表于
    2024-05-13 13:24:40

    鸿蒙应用开发之Web组件7

    前面学习了Web组件选择文件文件上传的处理,现在来学习怎么样在一个Web容器里,再打开一个窗口来显示内容,相当于弹出另一个Web组件窗口,其实相当于两个Web组件同时在操作的方式。要想让Web组件运行上述的网页,就需要处理打开窗口的功能。”,当我们点击这个按钮之后,就需要Web组件来处理,并且打开一个窗口来显示。需要创建一个新的Web组件控制器WebviewController,同时创建一个新的Web组件来显示。这个是子窗口显示的Web组件,在前面介绍的窗口事件函数里响应处理,调用它来创建子窗口。 ...继续阅读 (183)


    love 0
    zhuxy
    发表于
    2024-05-13 13:03:23

    TS – 字面量类型

    在 TypeScript 中,字面量类型(Literal Types)是指那些与特定字面量值严格对应的类型。字面量类型包括字符串字面量类型、数字字面量类型和布尔字面量类型。使用字面量类型可以提高代码的准确性和可读性,因为它们限制变量只能赋值为特定的字面量。字符串字面量类型字符串字面量类型用于定义一个只能是特定字符串值的变量。type EventType = "click" | "mouseover" | "keydown"; const eventType: EventType = "click";在这个例子中,EventType是一个字符串字面量类型,它只能是"click"、"mouseover"或"keydown"中的一个。数字数面量类型数字字面量类型用于定义一个只能是特定数字值的变量。type StatusCode = 200 | 301 | 404 | 500; const status: StatusCode = 200;在这个例子中,StatusCode是一个数字字面量类型,它只能是200、301、404或500中的一个。布尔字面量类型布尔字面量类型用于定义一个只能是布尔值true或false的变量。type BooleanValue = true | false; const isReady: BooleanValue = false;在这个例子中,isReady变量 ...继续阅读 (163)


    love 0
    Debug客栈
    发表于
    2024-05-13 10:57:30

    Phoenix框架 从0到1设计业务并发框架 自动构建有向无循环图设计

    从 0 到 1 设计业务并发框架系列:Phoenix 框架 小米商城产品站革新之路Phoenix 框架 怎么组织设计一个框架Phoenix 框架 并发线程池的核心设计Phoenix 自动构建有向无环图的业务并发框架,核心就在于不需要开发人员关心调用分层和依赖互斥的排序问题,通过算法进行自动构建、收集 Task 任务、检测环或者依赖,最后打印并发组分层信息。本篇文章就讲解下如何构建有向无环图的设计实现方案及遇到的问题。实现方案有向无环图的构建采用的是设计模式中的策略模式,首先定义好 Builder 的实现方式,如下:1234567891011121314151617181920/*** @author debuginn*/publicinterfacePhoenixBuilder{// 过滤 Phoenix API 使用到的 Task 任务Map>filterApiUsedTask(ArrayListtransObjArrayList);// 根据 api 获取需要执行的 transMap>apiTransMap(ArrayListtransObjArrayList);// 是否存在依赖关系voidisHaveLoop(Map>apiUsedTaskMap);// 处理并发组分层划分Map>>processConcurrentGroup(Map>apiUsedTaskMap);// ...继续阅读 (259)


    love 0
    broadview2006
    发表于
    2024-05-13 09:59:05

    亿级流量下通用的高并发架构设计

    Proxy收到业务服务的数据库操作请求后,根据请求中的SQL语句进行归类,将属于写操作的请求(如insert/delete/update语句)转发到数据库Master,将属于读操作的请求(如select语句)转发到数据库任意一个Slave,完成读/写分离的路由。数据库承受的高并发请求压力,主要来自读请求。我们可以把数据库按照读/写请求分成专门负责处理写请求的数据库(写库)和专门负责处理读请求的数据库(读库),让所有的写请求都落到写库,写库将写请求处理后的最新数据同步到读库,所有的读请求都从读库中读取数据。 ...继续阅读 (178)

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