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

    love 0
    bluishglc
    发表于
    2024-03-20 09:49:35

    Flink Temporal Join 系列 (2):用 Temporal Table DDL 实现基于处理时间的关联

    本文要演示的是:使用 Temporal Table DDL 定义被关联表(维表),然后基于主动关联表(事实表)的“处理时间”去进行Temporal Join(关联时间维度上对应版本的维表数据)。该演示涉及三个要点:被关联的表(维表)是用 Temporal Table DDL 形式定义,必须是一张时态表(版本表);主动关联的表(事实表)需要定义“处理时间”属性,但并不需要是一张时态表(版本表);Temporal Join 是使用 Temporal Table DDL + FOR SYSTEM_TIME AS ...继续阅读 (184)


    love 0
    RobinDong
    发表于
    2024-03-20 09:43:41

    “No space left on device” problem I met on ext4

    After downloading the whole CC12M dataset from Huggingface, I wrotea toolto extract all of the image-text-pair files into one directory. But after extracting 17 million (17681010 exactly) files, the tool reported the error:Exception: [Errno 28] No space left on device: '/home/robin/Downloads/cc12m/011647171.txt'I checked the space and inodes in my ext4 filesystem, and seems they all have free capacity:# "df -lh" Filesystem Size Used Avail Use% Mounted on tmpfs 3.2G 2.0M 3.2G 1% /run /dev/nvme0n1p1 916G 410G 461G 48% / tmpfs 16G 412K 16G 1% /dev/shm tmpfs ...继续阅读 (158)


    love 0
    磊磊落落
    发表于
    2024-03-20 08:00:00

    深入理解 Java 中的对象克隆

    在 Java 中,对象克隆指的是创建一个现有对象的副本。该副本具有与原始对象相同的状态和属性,但在内存中两者是独立存在的,针对其中一个对象的修改不会影响到另一个对象。 ...继续阅读 (229)


    love 0
    路过秋天
    发表于
    2024-03-20 07:01:00

    .NET Emit 入门教程:第一部分:Emit 介绍 - 路过秋天

    【摘要】Emit 技术是一种强大的动态生成IL代码的技术,通过使用 System.Reflection.Emit 命名空间中的类,开发人员可以在运行时创建和修改程序集、类型和方法。它为开发人员提供了更高级别的灵活性,使他们能够根据需要动态生成和执行代码。阅读全文 ...继续阅读 (237)


    love 0
    Xin LI
    发表于
    2024-03-20 04:37:09

    postfix 的 SNI 支持与 gmail 的兼容问题

    今天在家里的票务系统上修改某个票的状态(该操作会出发点一封邮件)时, 我正好另一个窗口开着邮件服务器的日志,观察到一些奇怪的现象:Mar 19 20:17:12 XXXXXX postfix/smtp[XXXXX]: certificate verification failed forgmail-smtp-in.l.google.com[2607:f8b0:4023:1c03::1a]:25: self-signed certificateMar 19 20:17:12 XXXXXX postfix/smtp[XXXXX]: Untrusted TLS connection establishedto gmail-smtp-in.l.google.com[2607:f8b0:4023:1c03::1a]:25: TLSv1.3 with cipherTLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS(2048 bits) server-digest SHA256Mar 19 20:17:12 XXXXXX postfix/smtp[XXXXX]: XXXXXXXXXX: Server certificate not verifiedMar 19 20:17:13 XX ...继续阅读 (144)


    love 0
    xiaoz
    发表于
    2024-03-20 02:00:21

    OneNav浏览器扩展1.1.0重构发布

    OneNav是一款开源免费的书签(导航)管理程序,由xiaoz使用使用PHP + SQLite 3开发,界面简洁,安装简单,使用方便。OneNav可帮助你将浏览器书签集中式管理,解决跨设备、跨平台、跨浏览器之间同步和访问困难问题,做到一处部署,随处访问。安装OneNav:https://doc.xi ...继续阅读 (190)


    love 0
    Elmagnifico\'s Blog
    发表于
    2024-03-20 00:00:00

    Git bash卡顿

    Foreword遇到一个奇怪的问题,重启电脑以后,使用Git Bash 弹出对话框非常慢,弹出来以后显示当前路径也非常慢,输入任何指令慢,反馈也非常慢,多次重启重装都无法解决。Git Bashhttps://stackoverflow.com/questions/42888024/git-bash-mintty-is-extremely-slow-on-windows-10-os以此条问答,试遍了了所有方案,全都不能解决HOME缺失简单说就是git找不到HOME所在路径,所以导致了延迟启动,这个简单,环境变量里直接加上HOME,指定到C:\Users\你的用户名,这个问题一般可能会出现在Linux那边,windows其实反倒不会AMD Radeon graphics driver问题部分笔记本双显卡的情况下,AMD的显卡某个驱动会导致git显示有问题,更新或者禁用显卡(为了git不要显卡了,有点脑残)就能解决__git_ps1__git_ps1这个是git目录下/etc/profile中的一段命令行调用的代码,但是新版本git早就没有这个东西,所以无效fast_git_ps1 () { ...继续阅读 (164)


    love 0
    mephisto.cc
    发表于
    2024-03-20 00:00:00

    解决Linux下网络配置无法变更保存的问题

    日常使用 Ubuntu 工作,有时候需要更改网络配置信息并保存。Gnome 下有相关菜单可以设置,在某些状况下更改保存会发现,save 按钮置灰,操作不了。阅读更多 ...继续阅读 (126)


    love 0
    mephisto.cc
    发表于
    2024-03-20 00:00:00

    解决Linux下网络配置无法变更保存的问题

    日常使用 Ubuntu 工作,有时候需要更改网络配置信息并保存。Gnome 下有相关菜单可以设置,在某些状况下更改保存会发现,save 按钮置灰,操作不了。阅读更多 ...继续阅读 (24)


    love 0
    smallnest
    发表于
    2024-03-19 23:38:43

    goroutine调度器揭秘

    你以前可能听说过 Goroutine 调度器,但你对它的工作原理了解多少?它如何将 goroutine 与线程配对?原文:Goroutine Scheduler Revealed: Never See Goroutines the Same Way Again不用着急理解上面的图像,因为我们要从最基本的开始。goroutine 被分配到线程中运行,这由 goroutine 调度器在后台处理。根据我们之前的讨论,我们了解到以下关于 goroutine 的几点:就原始执行速度而言,goroutine 并不一定比线程更快,因为它们需要在实际线程上运行。goroutine 真正的优势在于上下文切换、内存占用、创建和销毁的成本等方面。你可能以前听说过 goroutine 调度器,但我们真正了解它的工作原理吗?它是如何将 goroutine 与线程配对的?现在让我们一步一步地分解调度器的工作原理。goroutine M:N 调度器模型Go 团队真的为我们简化了并发编程,想想看:创建一个 goroutine 只需要在函数前加上 go 关键字就可以了。1godoWork()但在这个简单的步骤背后,有一个更深层次的系统在运作。一开始,Go 就没有简单地为我们提供线程。相反,中间有一个助手,即 goroutine 调度器,它是 Go 运行时的关键部分。那么M:N这个标签是什么意思呢?它体现了Go调度器 ...继续阅读 (168)


    love 0
    神奇的程序员
    发表于
    2024-03-19 15:22:28

    优化下自己3年前写的代码

    前言我的截图插件js-web-screen-shot,在三年的时间里,经历了从1.0.0到1.9.9的版本迭代。随着功能的不断增加,原本的入口文件变得越来越复杂和混乱,代码行数已接近1500行。最近,在着手开发2.0大版本的功能,面对这些复杂的代码,我感到非常困扰,这也使得很多想要为项目贡献新功能的人因为代码的复杂性而望而却步。经过综合考量后,我决定优化和拆分入口文件中的冗余部分,使结构更加简洁明了。本文就跟大家分享下我的优化过程,欢迎各位感兴趣的开发者阅读本文。逻辑梳理从入参开始,逐行分析代码,捋清函数间的依赖关系,这是我们首先要做的。我在做复杂的事情时,习惯把自己脑子里想的东西以思维导图的形式呈现出来,如下图所示,插件从实例化到加载,总共分为9个步骤:获取用户配置创建辅助DOM(webrtc模式时需要用到)实例化全局响应式对象提取可选配置获取截图区域的canvas容器修改容器的可滚动状态加载截图组件调整容器层级创建事件监听这9个步骤中,加载截图组件是其核心处理逻辑,也是依赖关系最错综复杂的地方。此处就不做过多赘述了,感兴趣的开发者可以结合图中的路线去翻阅mian.ts文件中的**load方法**。制定方案分析完load方法,以及与其关联的类内部的私有方法。它们都有1个共同点:在截图期间对类内部引用类型和基本类型数据的各种计算与修改那么,我们能做的就是把这些计算逻辑拆分成方法,独 ...继续阅读 (126)


    love 0
    admin
    发表于
    2024-03-19 14:37:38

    homebrew客户端 Applite

    Applite是一个免费且开源的macOS应用程序,它使用Homebrew简化第三方应用程序的安装和管理。该应用程序使用Swift和SwiftUI构建。应用程序的主要目标是为非技术用户带来Homebrew casks的便利。因此,UI的设计考虑了简洁和易用性。虽然提供了可视化界面,但是主要针对的是软件,像博主会借助brew安装一些开发环境包,比如python 等等,这个没办法在这个软件层面展示了。主要特点一键安装、更新和卸载应用程序为非技术用户设计的简洁易用的用户界面免费且开源精选的精彩应用程序展示馆可以与现有的brew安装一起使用安装下载地址:https://github.com/milanvarady/Applite/releases ...继续阅读 (149)


    love 0
    broadview2006
    发表于
    2024-03-19 14:02:02

    万众期待,催更5年,《码农翻身2》强势来袭!!!

    再比如,对于“编程语言的巅峰”这一节,如果你对基本的数组、条件分支、函数都不了解,就无法领略汇编语言的厉害之处。现在《码农翻身2》终于来了,之所以拖了这么长的时间,主要是因为中间“插播”了另外一本书——《半小时漫画计算机》,该书使用纯漫画的方式来讲解计算机基础知识,这对我来说是一个全新的尝试,花费了我不少的时间和精力。所以,我在写文章的时候也有意把枯燥乏味的技术包装一下,变成好玩有趣的故事,在故事中让主人公不断遇到问题,不断制造悬念,吸引大家看下去,不知不觉就把技术掌握了。 ...继续阅读 (200)


    love 0
    Innei
    发表于
    2024-03-19 12:07:16

    感觉虚度

    该渲染由 Shiro API 生成,可能存在排版问题,最佳体验请前往:https://innei.in/notes/166时间总是过得很快,但又觉得过得很慢。过去的一个月中,我感觉我什么都没有干,但仔细回想一下,又好像做了挺多事。Next.js 小册写了 7 节,同时也开源了一个非常简单的 SSG 模板https://github.com/Innei/book-ssg-template把Shiro用的Modal 组件封装成一个库了,同时也输出了一篇如何写一个库的文章,发布之后又一次让本站的流量达到了一个高峰。到现在,这篇文章还有 12 人在读。https://github.com/Innei/rc-modal此图片不支持在 RSS Render 中查看。第一次接到了 AMA,如果有需要的话可以找我呐。一对一咨询最近的想法碎碎念垃圾桶总要找点事做。最近连续一个月都在使用多邻国学习日语。已经很久没有弹过琴了,双音开始弹不来一点坚持不下去,现在基本都忘完了。最近在联系一些厨艺,偶尔学着一些视频做菜。(对了,今天的晚饭是番茄培根虾滑卷,特下饭。食谱:培根卷上下滑。番茄切碎。 先煎培根卷,然后加切碎的番茄和酱汁(番茄酱+少许酱油+盐+水)烧成汤汁浓稠)此图片不支持在 RSS Render 中查看。总是感到焦虑,我今天又是一事无成的一天呐,虚度光阴真的很可悲。这是这样的心理,再一次又来到了情绪 ...继续阅读 (155)


    love 0
    sum墨
    发表于
    2024-03-19 11:30:52

    为什么现在连Date类都不建议使用了?

    一、有什么问题吗java.util.Date?java.util.Date(Date从现在开始)是一个糟糕的类型,这解释了为什么它的大部分内容在 Java 1.1 中被弃用(但不幸的是仍在使用)。设计缺陷包括:它的名称具有误导性:它并不代表一个日期,而是代表时间的一个瞬间。所以它应该被称为Instant——正如它的java.time等价物一样。它是非最终的:这鼓励了对继承的不良使用,例如java.sql.Date(这意味着代表一个日期,并且由于具有相同的短名称而也令人困惑)它是可变的:日期/时间类型是自然值,可以通过不可变类型有效地建模。可变的事实Date(例如通过setTime方法)意味着勤奋的开发人员最终会在各处创建防御性副本。它在许多地方(包括)隐式使用系统本地时区,toString()这让许多开发人员感到困惑。有关此内容的更多信息,请参阅“什么是即时”部分它的月份编号是从 0 开始的,是从 C 语言复制的。这导致了很多很多相差一的错误。它的年份编号是基于 1900 年的,也是从 C 语言复制的。当然,当 Java 出现时,我们已经意识到这不利于可读性?它的方法命名不明确:getDate()返回月份中的某一天,并getDay()返回星期几。给这些更具描述性的名字有多难?对于是否支持闰秒含糊其辞:“秒由 0 到 61 之间的整数表示;值 60 和 61 仅在闰秒时出现,即使如此 ...继续阅读 (260)


    love 0
    bluishglc
    发表于
    2024-03-19 10:56:33

    Flink:使用 Faker 和 DataGen 生成测试数据

    DataGen 是开源 Flink 就内置的随机数据生成器;DataGen 生成的数据仅支持随机和序列值两种,且也并不是所有的数据类型都能支持随机或序列值,例如最见的一个需求:针对时间类型就不能生成指定区间内的单调递增的数值,相较而言,Faker 的功能要明显由于 DataGen,我们只需掌握 Faker 这一种数据生成器就足够了。 ...继续阅读 (187)


    love 0
    Hyoban
    发表于
    2024-03-19 09:51:53

    xLog SDK 的一些进展

    为什么我们需要 xLog SDK?#尽管我对于 xLog 的整体体验十分满意,但不得不说,相比于 Hexo、VitePress 之类静态生成的站点,它的访问速度还是有些慢。目前来说,我们没有简单的方式来自己部署 xLog 或是利用 xLog 的数据生成静态站点。xLog 允许我们方便地通过 CSS 自定义网站的外观,但是当涉及到如何渲染页面时,这样的自定义程度就显得有限了。在如何优雅编译一个 Markdown 文档一文中 diygod 介绍了 xLog 如何渲染 Markdown。但是你可能会不满意代码高亮的样式,或是有支持高亮特定行的需求。有的时候,你可以通过给 xLog 提 PR 的方式来满足你的需求,但不是所有的需求都适合 xLog 的每个用户。如果我们能自己控制如何渲染 markdown 的话,就有了更多的自由度。对于很多人来说,xLog 不是他们唯一的博客、笔记或发布日常的平台,可能有人习惯使用 VS Code 来编辑博客,有人喜欢 Obsidian。拥有一个 xLog SDK 的话,集成其它平台时,社区的作者就不需要每个人都去实现一遍 xLog server 的逻辑了。这些重复性的工作应当通过 SDK 来统一解决。现在 SDK 具备的功能#我发布了 sakuin 0.1.0 版本,你可以通过 npm 安装:Copyni sakuin从 sakuin 导入Client并使 ...继续阅读 (187)


    love 0
    bluishglc
    发表于
    2024-03-19 08:57:41

    Flink Temporal Join 系列 (1):用 Temporal Table DDL 实现基于事件时间的关联

    本文要演示的是:使用 Temporal Table DDL 定义被关联表(维表),然后基于主动关联表(事实表)的“事件时间”去进行Temporal Join(关联时间维度上对应版本的维表数据)。该演示涉及三个要点:被关联的表(维表)是用 Temporal Table DDL 形式定义,必须是一张时态表(版本表);主动关联的表(事实表)需要定义”事件时间“属性,但并不需要是一张时态表(版本表);Temporal Join 是使用 Temporal Table DDL + FOR SYSTEM_TIME AS ...继续阅读 (159)


    love 0
    小王
    发表于
    2024-03-19 07:09:00

    新安装的Ubuntu22中无法apt安装软件,报错:Failed to fetch http://cn.archive.ubuntu.com/,,,,,,

    vim /etc/apt/sources.list尼玛,没有vimvi /etc/apt/sources.list把这段代码粘贴到文件末尾:deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ trusty main restricted universe multiverse# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ trusty main restricted universe multiversedeb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ trusty-updates main restricted universe multiverse# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ trusty-updates main restricted universe multiversedeb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ trusty-backports main restricted universe multiverse# deb-src https://mirrors.tuna.tsingh ...继续阅读 (181)


    love 0
    一线码农
    发表于
    2024-03-19 05:11:00

    记一次 .NET某施工建模软件 卡死分析 - 一线码农

    【摘要】一:背景 1. 讲故事 前几天有位朋友在微信上找到我,说他的软件卡死了,分析了下也不知道是咋回事,让我帮忙看一下,很多朋友都知道,我分析dump是免费的,当然也不是所有的dump我都能搞定,也只能尽自己最大能力帮助别人缩小问题范围吧,既然dump有了,接下来就开启分析之路。 二:WinDbg分析 1阅读全文 ...继续阅读 (224)


    love 0
    唐巧
    发表于
    2024-03-19 02:51:32

    替农夫山泉说句话

    最近看到网上抵制农夫山泉闹得轰轰烈烈,我去翻了一下,看看大家到底在骂什么,看完觉得莫名其妙。我把大家骂农夫山泉的点摘出来给大家看看:1、骂农夫山泉有日本资本我们现在是一个高度全球化的社会,我们身边用的很多东西,不但可能有日本资本了,甚至就是日本品牌。索尼,任天堂,佳能,尼康,这些日本品牌大部分人都见过或者用过。我们小时候看日本的动漫,灌篮高手,包括前段时间大家怀念的七龙珠,不都是日本的吗?一个外国资本,看好我们中国公司,买我们中国公司的股票,投资我们中国有什么问题?这不就是变相给我们中国公司的股票提高股价嘛?在国家都在鼓励外资投资的情况下,这些骂农夫山泉的人,是不是希望所有外资都撤出中国?我一直觉得,一个商品如果给我们带来了快乐,让人民幸福了,就是好的商品。不管他背后的资本来自哪里。我们在讨论一家公司的时候,也应该立足于他们的产品是否好,讨论产品和服务本身。2、骂农夫山泉的产品传播日本文化有人说这个π像靖国神社。我对这种杯弓蛇影的行为特别厌恶,因为这种可以通过想象力发散来进行的指责防不胜防。要这么说,每个人的下半段身子是不是也像一个π,也像靖国神社了?有人做了一张图,我感觉是比较能够代表这种想象发散力的危害的。如果按上面这张图的对比,那华为是不是都得把 logo 改了才行?3、骂农夫山泉捐款少有人翻了农夫山泉的某一次捐款,说捐少了。我想说,捐款这种事情是一个企业的自愿行为,企业捐不 ...继续阅读 (192)


    love 0
    Artech
    发表于
    2024-03-19 00:33:00

    自定义Key类型的字典无法序列化的N种解决方案 - Artech

    【摘要】当我们使用System.Text.Json.JsonSerializer对一个字典对象进行序列化的时候,默认情况下字典的Key不能是一个自定义的类型,本文介绍几种解决方案。阅读全文 ...继续阅读 (109)


    love 0
    Jiajun的技术笔记
    发表于
    2024-03-19 00:00:00

    Flatpak 使用小记

    《Flatpak 使用小记》一般的软件,都是直接用apt安装,不过桌面上有一些软件例如浏览器,是更新很频繁的,apt仓库的基本都过时了老旧了,因此有了flatpak 和 snap 这样的软件,不过我不是很喜欢snap,正好今天尝试了一下 flatpak,以Ubuntu/Debian为例... ...继续阅读 (173)


    love 0
    Elmagnifico\'s Blog
    发表于
    2024-03-19 00:00:00

    RouterOS配置双WAN并根据IP分流

    Foreword两路电信宽带接入,做一个网络分流,能访问同一个内网,但是外网隔离开。这样就可以轻易把一些可能会有问题的客户端都放到另外一个公网域中,主网中就不会有问题被人骚扰了Dual WAN先配置双WAN口新建一个pppoe拨号,接口选择新WAN口所在的以太网口填写账号密码,此处需要注意默认路由距离改为2,WAN1的距离是1可能此时会提示Client is on slave interface这是因为ether2还桥接在WAN上呢桥接中取消ether2的桥接,现在WAN2是独立口了到这里其实WAN2已经可以了,插上光猫的线,此时可以看拨号的log,如果一直提示错误,可以重启一下光猫,就能看到已经可以正常拨号连接了IP分流这里通过mangle进行分流首先进入Routing-Tables中新建一个路由表勾上FIB路由中新建一个静态表,网关选择刚才的pppoe-out2,下面的路由表选择刚才新建的表默认的NAT伪装是只给WAN口的,现在是双WAN口了,所以要去掉这个限制由于要允许内网访问,所以这里先新建一个Mangle,允许当前子网范围进行访问到这里总算是可以设置最终目标了,比如让这个ip的所有流量走向WAN2,这里设置他的路由标记到新路由表即可更进一步,可以通过地址列表,将需要的IP都加进列表里,然后一个规则就能把所有ip处理了WAN性能问题双WAN以后发现一个小问题,好像千兆跑不满 ...继续阅读 (149)


    love 0
    10k
    发表于
    2024-03-19 00:00:00

    System Design Interview and beyond Note7 - Efficient Communication

    Push vs PullPros and cons of push and pull modelPush: broker pushes messages to the consumer;(broker in charge)Pro: Optimized for latency: broker can send out message immediately ;Pro: client(consumer) logic is lightweight -> only send message and don't track message status ;Pro: load balancing among competing consumers ;Con: flow control-> need to send fast or slow depends on the consumption speed;Con: due to this flow control, the broker logic is more complex.Pull: consumer pull data from broker;(consumer in charge)Con: polling a tight loop: consumer needs to check often ;Con: client logic i ...继续阅读 (60)


    love 0
    二丫讲梵
    发表于
    2024-03-18 23:13:07

    对接腾讯云未集成到SDK的接口开发实践小记

    日常工作中,与腾讯云打交道,为了提高效率,会调用它的接口来完成一些重复性工作。一般都是通过官方集成好的 SDK 来完成交互。但有时候也存在一种情况,那就是这个接口还没有集成到 SDK 当中,又需要进行调用,此时可通过原生方式生成 curl 请求,以达到调用目的。本文记录如何快速实现并完成这样一个流程,以此记录,便于后续再次查阅。 ...继续阅读 (129)


    love 0
    Meng小羽
    发表于
    2024-03-18 20:30:05

    Phoenix框架 从0到1设计业务并发框架 怎么组织设计一个框架

    上篇文章主要讲了设计 Phoenix 框架前的遇到的问题和设计框架的思路《 Phoenix 框架 从0到1设计业务并发框架 小米商城产品站革新之路》,本篇文章主要讲一下如何设计框架的。不死鸟并发框架,是自动构建有向图按照深度进行构建并发组并进行并发调用结果的框架。产品站业务静态接口与动态接口都需要调用大量的后台服务进行获取数据进行业务编排,而各个并发调用之间又相互存在依赖,采用并发组设计拆解依赖,同时并发控制调用,BO to DTO 采用统一的 Transfer 层进行设计,开发人员只需要关系定义每次调用事件的 Task 和 Transfer 代码逻辑的书写,直接返回业务数据。名词解释PhoenixFramework不死鸟(凤凰)框架,此业务并发框架的名称;Task在业务并发中定义一次调用,可以是 HTTP、DUBBO 或者是 Redis 获取、MySQL 读库操作;Transfer在业务定义中是一个子业务模块的转换逻辑将 BO 数据转换为 DTO 数据;Task 与 Trans 注解怎么定义 Task在框架设计之初,我们内部有两种方案,一种是继承抽象类实现的方式,Task 通过继承实现 PhoenixTask 类实现定义 Task,另外一种是采用注解的方式,将每个 Task 都定义成具有强约束的 Task ,并且把详细的描述信息在注解中定义,给开发人员一目了然的设计思路。经过内部 ...继续阅读 (148)


    love 0
    Debug客栈
    发表于
    2024-03-18 20:00:00

    Phoenix框架 从0到1设计业务并发框架 怎么组织设计一个框架

    上篇文章主要讲了设计 Phoenix 框架前的遇到的问题和设计框架的思路《 Phoenix 框架 从0到1设计业务并发框架 小米商城产品站革新之路》,本篇文章主要讲一下如何设计框架的。不死鸟并发框架,是自动构建有向图按照深度进行构建并发组并进行并发调用结果的框架。产品站业务静态接口与动态接口都需要调用大量的后台服务进行获取数据进行业务编排,而各个并发调用之间又相互存在依赖,采用并发组设计拆解依赖,同时并发控制调用,BO to DTO 采用统一的 Transfer 层进行设计,开发人员只需要关系定义每次调用事件的 Task 和 Transfer 代码逻辑的书写,直接返回业务数据。名词解释PhoenixFramework不死鸟(凤凰)框架,此业务并发框架的名称;Task在业务并发中定义一次调用,可以是 HTTP、DUBBO 或者是 Redis 获取、MySQL 读库操作;Transfer在业务定义中是一个子业务模块的转换逻辑将 BO 数据转换为 DTO 数据;Task 与 Trans 注解怎么定义 Task在框架设计之初,我们内部有两种方案,一种是继承抽象类实现的方式,Task 通过继承实现 PhoenixTask 类实现定义 Task,另外一种是采用注解的方式,将每个 Task 都定义成具有强约束的 Task ,并且把详细的描述信息在注解中定义,给开发人员一目了然的设计思路。经过内部 ...继续阅读 (213)


    love 0
    Denis | 邓鸿华
    发表于
    2024-03-18 15:52:43

    46% 的网站由 WordPress 构建的,一起来看下关于 WordPress 的 10 大数据!

    1.世界上 46% 的网站由 WordPress 构建的:2. 自 2003 年成立以来,WordPress 的使用率一直在稳步上升:3. 而之前占据了很大的市场份额的建站软件 Drupal 和 Joomla 自 2015 年达到峰值之后,均大幅下降:4. 接近 20% 的 WordPress 站点还运行在非常旧的版本上,好消息是旧版本的 WordPress 仍然会得到安全更新。5.几乎 75% 的 WordPress 站点使用过时的 PHP 版本,现在还会收到安全补丁的最低版本的 PHP 是 8.1 版本了。6. jQuery 依然是 WordPress 中最常用的 Javascript 框架:7.古腾堡块是基于 React 构建的,因此它在 WordPress 中得到广泛使用,相应的在排名前 100 万的网站中越来越受欢迎:但是在 React 使用率在互联网范围内大幅下降:8. WordPress 的两个主要竞争对手 Wix 和 Squarespace 也做得不错,在建站市场分别占到了 11% 和 4% 的比例,而 WordPRess 是 46%。Wix 崛起了,并且没有任何衰退的迹象:Squarespace 自 2004 年以来大部分时间都在上涨,去年左右略有下降:9. 在电商方面,WooCommerce 和 Shopify 正在争夺第一大电商平台。Shopify 使用率仍然 ...继续阅读 (229)


    love 0
    quqi99
    发表于
    2024-03-18 14:27:07

    try langchain (by quqi99)

    想学习一个langchain, 所以先运行一下langchain的例子,但发现openai调用API改为收费的了。看来只能本地搭建LLM, 半年前也试过在家里的NUC上运行过LLAMA2,但速度比较慢。现在据说Gemma也开源了,试了一下它速度挺快的。 ...继续阅读 (120)

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