使用stomp实现服务器端向web客户端推送数据

1. 前言

在上篇文章java实现websocket的五种方式, 我详细讲述了使用java实现websocket的五种方式.
五种方式都集中在服务器端的实现, 客户端我们使用的是一个在线测试工具进行测试的. 只有针对stomp这种方式我自己写了一个javascript版本的客户端. 但是随着项目的推进, 发现整个体系就像魔方或拼图一样, 在完整体系中还缺少了一块, 那就是java客户端去连接stomp websocket服务. 其作用是,在服务器端主动向客户端发送消息时, 通过stomp客户端连接stomp websocket服务, 将消息发布到某个topic, 最终被订阅消息的前端页面接收到. 三者之间的关系 java client -> stomp websocket服务 -> 前端页面. 采用的是消息订阅模式, 消息订阅并不是pull, 实际是push.

阅读更多

Win11怎么把软件添加到开机自启动中

1. 前言

把程序设置为开机自启或取消一些开机自选项, 对我个人来说是一个很重要的功能, 因为它能提高我的专注力. 很多时候, 我们容易被一些琐碎的事情给诱惑.
不知道大家有没有仔细观察或回味自己使用电脑的习惯.

根据我以前的经验, 按下开机键后, 经过一个不算漫长的等待, 真正进入 windows 界面后, 我们往往会短暂的忘记或刻意的不想把注意力集中到我们开机前想干的事情上.

开机后往往第一件事查看一下邮件, 检查一下聊天软件上的, 看看今天都发生了哪些新闻. 等这些事情完成后, 才会或者才可能想起我们开机前想要干的事情.
如果这段时间中再弹个窗, 提示软件需要杀毒, 升级某娱乐明星又爆出了什么大瓜, 某电视剧又更新到多少级了, 一断被这些信息给吸引了, 对于自制力不强的人们来说,今天这一天可能就尽是去打蚊子拍苍蝇去了, 一天又荒废了.

而将重要的应用程序放置在开机启动项,并在开机后直接弹出应用界面,可以让我们立即专注到重要事情,并有效缓解注意力被分散的状况。

而此时有一个干净高效的自启动项设置, 往往有助于屏蔽这些干扰, 或提醒自己该干正事了.

阅读更多

如何通过表名获取所有字段信息

1. 前言

通常情况下, 如果想写一些比较通用的应用程序, 我们需要通过表名去了解整个表的情况, 才能编写一些比较通用的数据库工具.
通过表名获取字段名有多种方式:

  • 第一种 我们可以查询系统表或者数据字典来获取表的信息, 其优点是效率比较高, 缺点是所写的工具往往只适用与某种特定的数据库.

  • 第二种 通过一些标准的数据库连接库获取数据库元数据, 从而获取到相应表的结构信息, 这样做的优点是由于程序是面向标准库的API,
    无论底层是何种数据库都能够兼容. 在Java领域可以通过Jdbc库提供的接口获取表信息, 在.net领域可以通过odbc, PHP领域可以使用PDO,
    SQLAPI ++ 之于C++, database/sql之于golang, sqlx之于Rust等等

本文主要介绍使用jdbc获取数据库字段信息.

阅读更多

java实现websocket的五种方式

1. 前言

WebSocket 是 HTML5 一种新的协议。它实现了浏览器与服务器全双工通信,能更好的节省服务器资源和带宽并达到实时通讯,它建立在 TCP 之上.

本文主要讲述在Java技术领域实现websocket服务的五种方式.

阅读更多

使用Gradle整合angular和Spring boot

1. 前言

本文讲述如何使用 Gradle 搭建一个以 springboot 技术栈作为后端, 使用 Angular 作为前端技术栈, 同过 gradle 将其整合成一个项目的实践经验.

这里只是作为一种实践, 并不建议在生产环境中将前后端耦合在一起. 本文的目的是拓展 Spring 在(SPA)Single page Application 一种能力, 即将实现项目依赖关系, 测试,打包等等自动化.

实现思路就是通过 Gradle task 触发 npm build, 将编译后的静态资源文件, 部署到 springboot 的静态资源文件目录, 然后沿用后端打包过程, 将前后端应用程序整合在一起.

阅读更多

Cmder安装与配置

1. 前言

相信很多开发者都在寻找一款在Windows下理想的命令行工具, 因为Windows10包括10之前自带的命令行工具真的是弱爆了, 而且它20多年都不曾经发生过太大的改变. 这种状况在应用软件快速发展的时代对很多人来说是不能忍受的, 即使在Windows 11中自带了一个叫terminal的工具, 虽然很强大但是我仍然没有打算使用它, 请容许我大胆的臆测一下它, 可能是因为WSL推出后微软实在觉得之前命令行工具太过简陋, 然后推出了Windows Powershell, 但是powershell还是难堪大任, 于是模仿市面上流行的终端推出了, terminal这样一款命令行工具. 至于之后会不会跟CMD一样数十年不再改进? 需要打一个大大的问号.

阅读更多

如何手动创建一个springBoot项目

1. 介绍

在本文中,您将学习如何创建一个简单的Spring Boot应用程序,以及您需要哪些依赖项和技术需要了解。
此外,我们将更深入地了解基本原理。我将解释一些最关键的工作机制,如果你想成为一名专业开发人员,你需要了解这些机制。

2. 创建一个SpringBoot项目

2.1. 先决条件

要创建新的Spring Boot应用程序,我们需要以下开发环境:

Java 1.8或更高版本

IDE: Spring STS, Intellij Idea或者vscode

包管理工具: Maven 3.2+ 或者gradle 4+

阅读更多

基于 Code-server 快速部署自己的云开发环境

1. 前言

Web IDE,顾名思义就是云端开发环境,把 IDE 部署在云上。打开浏览器,连上云 IDE,就可以方便敲代码跑程序。想象一下,带上一台 iPad 或者华为、小米平板,配上蓝牙键盘,坐在阴凉下,或者沙滩上,吹着海风,面朝大海敲代码,多么惬意。

其实 Web IDE 很早就有,但那些都只能说是玩具,直到现在才有一些不错的产品推出,比如微软和 Github 的 Visual Studio Codespaces、coding.net 的 Cloud Studio、华为云 CloudIDE 等。不过,这些产品要么还在测试,要么免费用会有限制或者价格不菲,目前还不是非常方便。

如果想要低成本愉快地使用,自己动手搭建是一个不错的方案。对配置要求不高的话,一年几十块一百多块就能买到廉价的 VPS 或者云主机就足够了。

自己DIY 一套Web IDE 比较成熟的方案有两个,code-server 和 Theia。毕竟 code-server 是基于VS code魔改的,与vs code的插件体系兼容性更好。所以更推荐code-server。Theia虽然有自己的插件体系,也宣称兼容vs code的插件,也是一套优秀的WEB IDE解决方案,但是兼容程度谁知道呢?

阅读更多

PostgreSQL高级篇

1. PG简介

PostgreSQL是一个免费的对象-关系型数据库服务器(ORDBMS), 在灵活的BSD许可证下发行.
PostgreSQL开发者把它念作post-gress-Q-L.
PostgreSQL的Slogan是世界上最先进的开源关系型数据库.
开源界的Oracle, 去O首选

阅读更多

Go database/sql 教程

1. 简介

Go使用SQL与类SQL数据库的惯例是通过标准库database/sql。这是一个对关系型数据库的通用抽象,它提供了标准的、轻量的、面向行的接口。不过database/sql的包文档只讲它做了什么,却对如何使用只字未提。快速指南远比堆砌事实有用,本文讲述了database/sql的使用方法及其注意事项。

阅读更多

在VSCode配置Rust环境

1. 安装Rust

安装Rust可以参考Windows上安装Rust

2. 安装VSCode和扩展

安装VSCode可参考vscode基本配置指南

2.1. 安装Rust analyzer

安装此插件需要安装vscode 1.67及以上版本的vscode.

在VSCode的扩展,搜索 Rust 。找到Rust analyzer点击install。

2.2. 通过VSCode Debug项目

安装CodeLLDB插件