使用 WPF + Chrome 内核实现高稳定性的在线客服系统复合应用程序
对于在线客服与营销系统,客服端指的是后台提供服务的客服或营销人员,他们使用客服程序在后台观察网站的被访情况,开展营销活动或提供客户服务。在本篇文章中,我将详细介绍如何通过 WPF + Chrome 内核的方式实现复合客服端应用程序。
先看实现效果
客服程序界面中的 聊天记录部分、文字输入框部分...[2024/2/7]
完蛋,我被offer包围了|秋招自救指南
前言
?? 白泽时隔8年终于记起了b站的密码,这篇文章的视频讲解版已经上传,出镜怪不好意思的,后面写技术文章也会同步用视频的方式讲解,期待您的关注。
公众号:白泽talk,交流群:622383022。
大家好,我是白泽。过去几年来,我一直在书写技术博客,看别人的面经,终于今年轮到了自己秋...[2024/2/7]
一款后台管理框架的年终总结
这是一篇关于 Fantastic-admin 这款后台管理框架的年终总结。
不过与其说是年终总结,更像是一场回顾,看看这一年 Fantastic-admin 都做了哪些与众不同的功能,也给大家提供一些创造思路。或许有些功能,你可以在自己的项目里实现。
以下按 commit 时间顺序汇总:
...[2024/2/7]
亿级流量高并发春晚互动前端技术揭秘
前言
2022年1月,京东成为央视总台2022年春节联欢晚会独家互动合作伙伴,双方在红包互动、电商等方面展开全方位深度合作。在除夕当天产生691亿次互动,送出15亿元红包好物。
如何在这种大规模、高并发的场景下,确保系统的稳定性和性能,为用户提供稳定流畅的互动体验,成为了我们亟待解决的问题。
...[2024/2/7]
redmine获取cookie和其他系统实现单点登录 - John-zh
前言
最近有个需求,需要将我们一个平台对接到redmine,让用户可以通过这个平台直接在redmine提工单,需要实现免登录跳转。首先是想到去查redmine有无相应的单点登录功能,查到redmine是有LDAP认证功能的,
解决方案
LDAP认证
Redmine 支持通过 LDAP (轻量级...[2024/2/7]
Matter开发,看这一篇就够了
1. Matter介绍
Matter(以前称为 Project Connected Home over IP 或 Project CHIP)是由CSA联盟制定的一个应用层面的标准,旨在打造一个统一的智能家居应用标准,以消除智能家居市场的碎片化。在Matter出来之前...[2024/2/7]
程序语言多态(overide) - delphi 版本
前言:
所有程序语言都差不多,特写一篇 delphi 版本 的多态;其它语言 类同。
都是一些别人规定的语法而已,别人用一个下午设计一门语言,愚弄天下程序员一生;
不要过于纠结。。。。。。。。
TObject的构造和析构方法
从这说起,先看下定义:
TObject = cla
pu...[2024/2/7]
新零售SaaS架构:促销系统架构设计
促销业务概述
什么是促销?
促销是商家用来吸引消费者购物的一种手段,目的是让更多的人知道并购买他们的产品,这样就能卖得更多。促销的方法有很多种,比如,价格优惠、赠品、优惠券、折扣、买一赠一等形式。
特别是在新零售行业,促销更加重要,由于新零售是线上和线下结合的,顾客可以在线上看到促销信息,然后...[2024/2/5]
从CPU100%高危故障到稳定在10%:一个月的优化之旅,成功上线!
引言
经过三个月的开发,项目通过了所有测试并上线,然而,我们发现项目的首页几乎无法打开,后台一直发生超时错误,导致CPU过度负荷。在这次项目开发过程中,我制定了一份详细的技术优化方案。考虑到客户无法提供机器硬件配置,我们只能从软件方面寻找解决方案,以满足客户的预期。同时,我还准备了一个简单的项目...[2024/2/5]
理解『注意力机制』的本质理解『注意力机制』的本质
一、引例
假设有这样一组数据,它们是腰围和体重一一对应的数据对。我们将根据表中的数据对去估计体重。
如果现在给出一个新的腰围 62 ,那么体重的估计值是多少呢?
凭经验,我们认为腰围和体重是正相关的,所以我们会自然地『关注』和 62 差距更小的那些腰围,来去估计体重。也就是更加关注表格中...[2024/2/5]
webrtc终极版(二)搭建自己的iceserver服务,并用到RTCMultiConnection的demo中
webrtc终极版(二)搭建自己的iceserver服务,并用到RTCMultiConnection的demo中
目录webrtc终极版(二)搭建自己的iceserver服务,并用到RTCMultiConnection的demo中前言一、stunserver,turnserver,iceser...[2024/2/5]
【可观测性系列】 OpenTelemetry Collector的部署模式分析
??作者简介:大家好,我是蓝胖子??
??博客首页:主页蓝胖子的编程梦
??热门专题:我的服务监控实践 ,500行代码手写Docker
**??每日一句:白日莫闲过,青春不再来
大家好,我是蓝胖子,在前面我介绍了下OpenTelemetry的概念,但是究竟在项目中应该如何来使用O...[2024/2/5]
升腾C92 刷 OpenWrt 作旁路由设置 DNS 服务、扩容分区、设置 swap
最新博客文章链接
文字更新时间:2024/02/04
一直知道 OpenWrt 经常拿来做软路由软件。最近买了个二手小主机升腾 C92 来做旁路由服务器,其被归为瘦客户机一类,感觉和工控机差不多,现价百元以内。想就着这个机会,了解体验一下 OpenWrt。
大体思路
下载预设置好的固...[2024/2/5]
WebAssembly核心编程[4]: Memory
由于Memory存储的是单纯的二进制字节,所以原则上我们可以用来它作为媒介,在wasm模块和数组程序之间传递任何类型的数据。在JavaScript API中,Memory通过WebA embly.Memory类型表示,我们一般将它内部的缓冲区映射相应类型的数组进行处理。WebA embly也提供...[2024/2/5]
禅道开源改造
1、禅道介绍
禅道项目管理软件是第一款国产的开源项目管理软件。它集产品管理、项目管理、质量管理、文档管理、 组织管理于一体,在数据可视化、度量、DevOps、文档资产管理和自动化测试等模块的加持下,禅道软件形成了项目流程管理、DevOps 一体化、自动化测试等三大解决方案,完整的覆盖了产品研发的...[2024/2/2]
(硬核中的硬核)链路追踪落地过程中的挑战与解决方案
??作者简介:大家好,我是蓝胖子??
??博客首页:博客园主页蓝胖子的编程梦
??每日一句:编程中我们会遇到多少挫折?表放弃,沙漠尽头必是绿洲。
大家好,我是蓝胖子,关于链路追踪的demo的讲解文章其实很多,但是想把链路追踪真正融入到生产环境却不是那么容易,今天我们来聊聊链路追踪技...[2024/2/2]
Azure Data Factory(十二)传参调用 Azure Function
一,引言
在实际的项目中,Azure Data Factroy 中的 Data Flow 并不能彻底帮我们完成一系列复制逻辑计算, 比如我们需要针对数据集的每一行数据进行判断计算,Data Flow 就显的有些吃力。别怕,Azure Data Factory 提供了调用 Azure ...[2024/2/2]
发布、部署,傻傻分不清楚?从概念到实际场景,再到工具应用,一篇文章让你彻底搞清楚
部署与发布:缺乏发布管理的部署活动对软件交付是低效的
部署和发布是软件工程中经常互换使用的两个术语,甚至感觉是等价的。然而,它们是不同的!
部署是将软件从一个受控环境转移到另一个受控环境,它的目的是将软件从开发状态转化为生产状态,使得软件可以为用户提供服务。
发布是将软件推向用户的过程,应用程...[2024/2/2]
【学习笔记】线段树
1.线段树合并
P4556 雨天的尾巴
首先我们可以把链上操作转成树上差分。然后我们对每个节点开一棵权值线段树。朴素的树上差分都是开一个桶然后加和,但是这里开的是线段树。
所以就有了线段树合并。
在把 \(y\) 并到 \(x\) 的过程中,如果 \(x\) 本身没有一个 \(y\) 有的...[2024/1/29]
布隆过滤器和寻找嫌疑人
布隆过滤器,听过也学过,实际中没怎么用到,时间长了再接触这个概念就陌生了,说到底还是没有彻底掌握。为了真正理解一项技术或一个概念,最好还是从问题出发,所以布隆过滤器到底解决了什么问题呢?
布隆过滤器可以用来检测一个元素是否属于某个集合。
上面的定义比较抽象,下面有些具体的例子(参考这...[2024/1/29]
PDF标准详解(一)——PDF文档结构
已经很久没有写博客记录自己学到的一些东西了。但是在过去一年的时间中自己确实又学到了一些东西。一直攒着没有系统化成一篇篇的文章,所以今年的博客打算也是以去年学到的一系列内容为主。通过之前Vim系列教程的启发,我发现还是写一些系列文章对自己的帮助最大。它能最大化自己的学习成果,并强迫自己深入了解一些...[2024/1/29]
从 WebStorm 转到 VSCode!使用一周体验报告
前言
最近我的 Jetbrains 开源项目授权到期了,想要续订的时候发现 Jetbrains 提高了开源项目申请门槛,我的 StarBlog 项目因为名字里包含 blog 这个词无法申请,虽然我在 github 上有很多开源项目,但年底比较忙,疏于更新,一时间竟然找不到一个满足 jetbrai...[2024/1/29]
WebAssembly入门笔记[3]:利用Table传递引用
在《WebA embly入门笔记[2]》中,我们介绍了如何利用Memory在作为宿主的JavaScript应用和wasm模块之间传递数据,但是Memory面向单纯二进制字节的读写在使用起来还是不太方便,此时我们会更多地用到另一个重要的对象Table。Table利用用来存储一组指定类型的对象,说得...[2024/1/29]
FMEA:总监和架构师都在用的高可用架构分析方法
FMEA:总监和架构师都在用的高可用架构分析方法
记得之前准备春晚项目的时候,团队成员在一起过架构,老板最常问的问题是“这个组件挂了怎么办?有什么影响?”,我当时还在心里默默嘀咕:这咋都这么容易挂呢?其他组件不做高可用的吗?最近看到FMEA,我恍然大悟:哦,这原来不就是 FMEA 吗?原来是我“...[2024/1/29]
共性化异步任务处理方案共性化异步任务处理方案
背景
考虑到现有业务很多依赖于MQ的方式进行,这种方式需要依赖于MQ,发送消息到mq和消费mq消息时需要了解mq消息结构进行相应处理;
对于后续对同样的事件做其他处理的人如不能提前了解到已有相应消息发到了mq就得再发一次消息到mq等。
图1.1...[2024/1/29]
分布式ID介绍&实现方案总结
分布式 ID 介绍
什么是 ID?
日常开发中,我们需要对系统中的各种数据使用 ID 唯一表示,比如用户 ID 对应且仅对应一个人,商品 ID 对应且仅对应一件商品,订单 ID 对应且仅对应一个订单。
我们现实生活中也有各种 ID,比如身份证 ID 对应且仅对应一个人、地址 ID 对应且仅对应...[2024/1/29]
手把手教你为开源项目贡献代码
背景
前段时间无意间看到一篇公众号 招贤令:一起来搞一个新开源项目,作者介绍他想要做一个开源项目:cprobe 用于整合目前市面上散落在各地的 Exporter,统一进行管理。
比如我们常用的 blackbox_exporter/mysqld_exporter 等。
以往的每一个 Expo...[2024/1/26]
死锁详解
什么是死锁?
死锁是指两个或多个进程在执行过程中,因争夺资源而造成的一种相互等待的现象,如果没有外力干涉,这些进程将永远无法继续执行
死锁通常发生在多个进程试图同时访问同一资源而无法获取的情况下,例如,进程 A 需要访问资源 C,进程 B 需要访问资源 D,如果进程 A 获取了资源 C 的锁,...[2024/1/24]
什么是 doris,为什么几乎国内大厂都会使用它
转载至我的博客 https: www.infrastack.cn ,公众号:架构成长指南
今天给各位分享一个非常牛的实时分析型数据库Apache Doris,几乎国内的一二线大厂都在使用它做数据分析,如下图,这只是一小部分
同时我司也在使用它,他目前支撑了我们亿级业务数据的多维实时查...[2024/1/24]
单层应用升级到多层应用3
接上文,我们已经初步完成了单层到多层的拆分,接下来就是再优化我们的结构了。
升级思路
在前文的Core项目中,包含了我们所有的基础功能,但是有些项目可能只需要部分功能却引用整一块Core的话,会显得有些多余,需要将这部分基础设施再做一下细致化的拆分。
在Host项目中,仍旧还有许多功能代码没...[2024/1/24]
数据库缓存策略数据库缓存策略
数据库缓存策略
以下是数据库与缓存的五种常见策略。
1缓存旁路
缓存旁路(Cache-Aside)
在缓存旁路策略中,数据库缓存位于数据库旁边。
当应用程序请求数据时,它会首先检查缓存
如果缓存中存在数据(缓存命中),则会直接返回数据
如果缓存中没有数据(缓存未命中),则应用程序将查询...[2024/1/24]
主席树(可持久化线段树)主席树(可持久化线段树)
主席树
前言
主席树也是一种数据结构,是线段树的进阶,作用是可以保留历史版本,支持回退,就是回到之前某个未修改的状态。就像我们在写博客时如果误删了重要的内容,就可以用 Ctrl + z 撤回一次操作,也可以用Ctrl + Shift +z 还原我们撤回的操作,这就需要存下每次编辑的操作。
基本原...[2024/1/24]
一个例子形象的理解同步与异步一个例子形象的理解同步与异步
请看一个示例:
同步方式请求接口
请求一次接口耗时大约100多毫秒
代码
一个for循环,循环500次,调用方法Reuest,Reuest方法中一个while(true)无限循环,同步方式请求url获取数据。
代码点评:要是写一个while(true)没问题,这是是想运行500个while...[2024/1/22]
实现定时任务的六种策略
这篇文章,我们聊聊实现定时任务的六种策略。
1 自定义单线程
上图中,我们启动一个线程,该线程无限循环执行,每隔20毫秒执行业务代码。
这种方式非常简单易用,在很多中间件中得到广泛应用。
2 JDK ScheduleExecutorService
ScheduledExecutor...[2024/1/22]
【动画进阶】神奇的 3D 卡片反光闪烁动效
最近,有群里在群里发了这么一个非常有意思的卡片 Hover 动效,来源于此网站 -- key-drop,效果如下:
非常有意思酷炫的效果。而本文,我们不会完全还原此效果,而是基于此效果,尝试去制作这么一个类似的卡片交互效果:
该效果的几个核心点:
卡片的 3D 旋转跟随鼠标移动效果...[2024/1/22]
基于taro搭建小程序多项目框架基于taro搭建小程序多项目框架
前言
为什么需要这样一个框架,以及这个框架带来的好处是什么?
从字面意思上理解:该框架可以用来同时管理多个小程序,并且可以抽离公用组件或业务逻辑供各个小程序使用。当你工作中面临这种同时维护多个小程序的业务场景时,可以考虑使用这种模式。灵感来自最近webpack的多项目打包构建
起步
首先你得...[2024/1/22]
龙蛇入笔,身不由己,码农出书以及无法控制的表达欲龙蛇入笔,身不由己,码农出书以及无法控制的表达欲
拙著《Tornado(龙卷风)编程实战》结集付梓,自惟庸陋,略為芹献,积年咳唾,不入方家,聊供诸君一哂。
这本书以异步框架Tornado为基底,透过一个完整的项目阐释异步框架结合Vue.js如何实现一个低成本的前后端分离架构。项目内涉及的知识点涵括:Web3.0、数据库、设计模式落地、算法...[2024/1/22]
一个十分有趣的文档页面 - ops-coffee
我的博客里有一个devops页面,专门用来汇总我写过的一些DevOps运维自动化相关的技术文章,页面很简单,就是一段文字描述加上一堆的文章链接,像下面这个样子
一直以来这个页面都安安静静的存在着,访问者甚少,像是一个默默无闻没人关注的孩子,躲在角落里,偶尔有人来看上两眼,也会因为他的丑陋而...[2024/1/22]
盘一盘这个没资格出现在面试环节的场景题。
你好呀,我是歪歪。
前两天在一个技术群里看到有人抛出一张图片,提出了这样的一个问题:
请教一下,线程池可以做到根据任务的类型,来指定特定线程执行吗?
了解了一下背景,是批量任务触发,从订单表中查询出“处理中”状态的订单,订单可能属于不同的通道,所以需要调用不同通道的接口。
现在的方...[2024/1/10]
屎山代码风格指南(避免被优化&&避免被接盘)
欢迎补充!!!
序言
良好的代码结构:Bad ????
使用有意义的变量和函数名,遵循命名规范,使代码易于理解。
组织代码,使用适当的文件和文件夹结构,保持模块化。
避免全局变量的滥用,尽量使用局部作用域。
单一职责原则:Bad ????
每个函数或模块应该只负责一个特定的功...[2024/1/10]
CUDA驱动深度学习发展 - 技术全解与实战CUDA驱动深度学习发展 - 技术全解与实战
全面介绍CUDA与pytorch cuda实战
关注TechLead,分享AI全维度知识。作者拥有10+年互联网服务架构、AI产品研发经验、团队管理经验,同济本复旦硕,复旦机器人智能实验室成员,阿里云认证的资深架构师,项目管理专业人士,上亿营收AI产品研发负责人
一、CUDA:定义...[2024/1/10]
请注意,你的 Pulsar 集群可能有删除数据的风险
在上一篇 Pulsar3.0新功能介绍中提到,在升级到 3.0 的过程中碰到一个致命的问题,就是升级之后 topic 被删除了。
正好最近社区也补充了相关细节,本次也接着这个机会再次复盘一下,毕竟这是一个非常致命的 Bug。
现象
先来回顾下当时的情况:升级当晚没有出现啥问题,各个流量指...[2024/1/10]
Odoo16—级联删除Odoo16—级联删除
我们在odoo中构建业务系统模块的时候,通常会使用one2many、many2one或many2many将模型进行关联,由此产生的数据也会通过外键发生关联。那么在odoo中删除数据的时候,如何关联删除呢?接下来我们以初学者的视角来观察下这一过程。
刚开始接触odoo,可能时不时的就会感叹odo...[2024/1/10]
RV1126 DSI 调试
一、基本信息
开发板:RV1126
linux版本:4.19.111
显示屏:HX070JGI50(7寸)
显示器分别率:1024 * 600
二、MIPI协议
连接示意图(图片来源,正点资料)
MIPI DSI 分层
注意: 屏幕,应用层有 DCS,协议层主要有 DSI...[2024/1/10]
网站优化之favicon.ico
本文于2015年底完成,发布在个人博客网站上。 考虑个人博客因某种原因无法修复,于是在博客园安家,之前发布的文章逐步搬迁过来。
背景
某一天在办公室分析产品首页加载速度时,无意中从Chrome浏览器的调试窗口看到浏览器在请求一个名为favicon.ico文件,由于Web系统的根路径下不存在这...[2024/1/10]
Baidu Comate实践指南,惊艳了我... - Hello-Brand
1 啥是Baidu Comate
Comate是百度开发的编程大模型工具,它基于文心大模型,结合百度积累多年的编程现场大数据和外部优秀开源数据,为我们生成更符合实际研发场景的优质代码;它能提升编码效率,极大提高研发生产力。
百度打出了释放“十倍”软件生产力的宣言,通过下面的演示,你会发现,虽然...[2024/1/8]
分布式架构设计思路和要点
分布式架构设计
设计分布式架构时,需要考虑以下几个关键思路和要点:
弹性和可伸缩性:分布式架构应具备弹性和可伸缩性,能够根据负载情况自动调整资源分配。这可以通过采用水平扩展和自动化调度等技术实现。
容错和高可用性:分布式系统应具备容错和高可用性能力,即使部分组件或节点发生故障,整个系...[2024/1/8]
麻了,这让人绝望的大事务提交
背景
继上次的if else优化也有段时间了,最近小猫又又又着道了,接手的那个项目又遇到了坑爹的地方,经常性的报死锁异常,经常性的主从延迟......通过报错信息按图索骥,发现代码是这样的。
这是一段商品发布的逻辑,我们可以看到参数校验、查询、最终的insert以及update全部揉...[2024/1/8]
保证接口安全的11个小技巧
前言
最近知识星球中有位小伙伴问了我一个问题:如何保证接口的安全性?
根据我多年的工作经验,这篇文章从11个方面给大家介绍一下保证接口安全的一些小技巧,希望对你会有所帮助
1 参数校验
保证接口安全的第一步,也是最重要的一步,需要对接口的请求参数做校验。
如果我们把接口...[2024/1/8]
从菜鸟到大师:编程必须遵循的三个基本原则
任斗转星移,原则恒定
在软件开发的世界里,虽然技术日新月异,但有些原则是经久不衰的。就像建房子需要坚实的地基,软件开发也有其基础原则。它们像是指南针,帮助开发者在变化莫测的技术海洋中保持方向。接下来,我们就来聊聊这三个基本原则:DRY、KISS和YAGNI。
DRY —— 重复是编程之敌
1....[2024/1/8]