今日领导打电话说上次的自助机修好了,今天又不行了,这是第二次打电话了。目前也没有其他人反馈这个机器的问题。于是我就想能不能根据IP去ping这个自助机的网络是否正常,如果不正常,关机了就自动给我发到科室的微信群,这样值班的同事就能看到了;于是我把我的想法告诉了AI,AI给我做了这样的代码。
2025年07月03日
今日领导打电话说上次的自助机修好了,今天又不行了,这是第二次打电话了。目前也没有其他人反馈这个机器的问题。于是我就想能不能根据IP去ping这个自助机的网络是否正常,如果不正常,关机了就自动给我发到科室的微信群,这样值班的同事就能看到了;于是我把我的想法告诉了AI,AI给我做了这样的代码。
2025年07月03日
本文使用 Flask 和 H5 三件套(HTML+JS+CSS)实现大模型聊天应用的基本方式
话不多说,先贴上实现效果:
流式输出:
思考输出:
聊天界面模型设置:
模型设置会话切换:
大模型的聊天应用从功能到 UI 设计来说都已经非常标准化了,然而身为小白的我至今还天真地以为页面上的流式响应是一门了不起的技术。 于是在得空的时候亲手实现了一个名为 Chat Mate 的聊天应用,该应用主打低代码量和简单易用,并且实现了 Chat 应用需要具备的流式输出、历史记录、模型思考等功能。 项目采用前后端分离的方式,前端完全由原生 HTML、JS、CSS 编写,没有使用任何封装好的框架,后端使用 Python 的 Flask 编写,实现简单。
2025年07月03日
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!-- 引入 video.js 的 CSS 文件 -->
<link href="https://vjs.zencdn.net/7.17.0/video-js.css" rel="stylesheet" />
<title>Video.js Example</title>
</head>
<body>
<!-- 创建视频容器 -->
<video id="my-video" class="video-js" controls preload="auto" width="640" height="264"
data-setup="{}">
<!-- 视频源 -->
<source src="https://vjs.zencdn.net/v/oceans.mp4" type="video/mp4" />
<p class="vjs-no-js">
To view this video please enable JavaScript, and consider upgrading to a
web browser that
<a href="https://videojs.com/html5-video-support/" target="_blank">supports HTML5 video</a>
</p>
</video>
<!-- 引入 video.js 的 JavaScript 文件 -->
<script src="https://vjs.zencdn.net/7.17.0/video.min.js"></script>
<script>
// 初始化播放器
var player = videojs('my-video');
// 如果不想一个一个初始化,可以这样:
(function(){
var videos = document.getElementsByTagName('video');
for(i=0; i<videos.length; i++) {
var video = videos[i];
if(video.className.indexOf('video-js') > -1) {
videojs(video.id).ready(function(){
});
}
}
})();
//多个初始化 end
</script>
</body>
</html>
2025年07月03日
关于QSS要注意的坑。
- qss源自css,相当于css的一个子集,主要支持的是css2标准,很多网上的css3的标准的写法在qss这里是不生效的,所以不要大惊小怪。
- qss也不是完全支持所有的css2,比如text-align官方文档就有说明,只支持 QPushButton and QProgressBar,务必看清楚。
- 有时候偷懒直接来一句 *{xxx},你会发现大部分是应用了,也有小部分或者极个别没有应用,你可能需要在对应的窗体中 this->setStyleSheet() 来设置。
2025年07月03日
上周同事小周抱着笔记本来吐槽:“姐,我开个网页都要转5圈加载条,看个短视频缓冲1分钟,这破浏览器是要变‘电子拖拉机’吗?”我扫了眼他的Chrome——标签页开了20多个,地址栏挂着“正在等待资源加载”的提示,任务管理器里浏览器进程占了30%内存……
但这哪是浏览器的问题?明明是“隐藏加速开关”没打开!今天就把我私藏的
2025年07月03日
现在的网站效果多样而功能复杂,技术栈也多种多样,react\vue\jquery等层出不穷,对于编程爱好者初学者入门极不友好。我这里有一个简单的个人网站模板,包括主页、项目和联系方式、关于我四个部分。你可以根据自己的需求进行调整。
模板效果展示:
2025年07月03日
[翻译]
mxCell 是顶点和边的单元对象。mxCell 复制了模型中可用的许多功能。使用上的关键区别是,使用模型方法会创建适当的事件通知和撤销,而使用单元进行更改时没有更改记录。这对于临时视觉效果(如动画或鼠标悬停时的更改)可能有用。但作为一般规则,除非遇到此机制的特定问题,否则使用模型编辑 API。
2025年07月03日
在网页开发的世界里,HTML(超文本标记语言)是构建网页的基石。而理解 HTML 文档的基本结构,特别是 DOCTYPE、html、head 与 body 标签的作用,对于开发者来说至关重要。今天,就让我们一起深入探讨这些关键元素。
DOCTYPE,即文档类型声明,它位于 HTML 文档的最顶部,是浏览器识别页面类型的重要依据。在 HTML5 的世界里,DOCTYPE 声明变得简洁明了,通常就是<!DOCTYPE html>这一行代码。这行代码告诉浏览器,该文档遵循 HTML5 标准,浏览器将以 HTML5 的规则来解析和渲染页面。
2025年07月03日
版权声明
本文首发自微信公共帐号: 学习学习再学习(xiaolai-xuexi); 无需授权即可转载,甚至无需保留以上版权声明; 转载时请务必注明作者。
Markdown Here是个浏览器插件(Chrome/Firefox/Safari),可以将浏览器中编辑器里的 Markdown 文本转换成渲染过后的 HTML。又由于它能自定义 CSS,于是,对我这种平时大量使用 Markdown 格式写作的人来说实在是一大福音 —— 可惜我刚刚才知道还有这么个浏览器插件…… 要不是有人在新生大学的 APP 里提起这事儿,我还不知道啥时候能知道呢。