无标题
前言由于我主学 Java,所以我做 Web应用 的次数很多,但我觉得一直写Web应用,好像跟我想的不一样。 关于应用 不管是电脑桌面的应用,手机上的APP,还是浏览器网页,都是需要和服务端进行通信,从而获取数据的(需要联网的应用)。我之所以会觉得跟想象的不一样,主要是因为桌面应用的制作对我来说是盲区,我不知道它的制作流程,当然这部分应该不属于后端开发应该关注的事情,但我确实很想了解。 第一个桌面应用 timeChecker GO 1.23.2 npm 1.18 Vite 每天都只有24h,虽然我开电脑的时间很长,但不是每一刻都在做同一间事情,所以我就想可视化我的电脑使用情况,加上我也确实想做一款桌面应用和丰富简历,所以我即刻着手。 每当我想做一件事情的时候,我总喜欢提前规划,然后遇到不理解的点的时候就开始想,然后找方法,结果往往是找不到,那是肯定的了,因为我都没有遇到具体的问题,能找到才奇怪吧。 The Evolution of Software Development Make it work Make it right Make it...
想要了解
桌面应用是怎么制作的? 窗口监控 最近我在制作窗口监控的程序,现在已经使用Go语言完成了对基本逻辑的编写,只要在后台运行程序,就可以窗口和应用的使用数据保存,数据存储于sqlite数据库中 接下来,我想要使用Go语言的GUI框架可视化,不想使用之前一直使用的浏览器了,想尝试新东西。 可以最小化到托盘的程序如何制作? 昨天(2024.11.25)的我或许无法回答这个问题,但是今天已经可以,尽管只是皮毛。 我使用的工具是Electron(网上说它有占用体积大等劣势,但这不是我刚开始开发桌面应用应该考虑的),想在关闭程序的时候最小化到托盘,只需要1234567891011121314151617181920212223242526272829303132const { Tray } = require('electron)let tray/* 托盘操作项目 */const tray_operation = () => { // 创建托盘图标 tray = new...
里程碑
前言记录一些我认为值得纪念的事情 Leecode 算法 100 题!时间 :2024 年 11月 22日我刷算法的时间比较晚,主要是2023年 发生事让我落后太多了。
算法历程总结
回溯算法看代码随想录教程刷得回溯算法如果是以前,我在笔试中看到这种组合题,我高低直接交白卷子但是现在不一样了,感觉自己已经有一点稍稍入门了,其实就是一个组合的基础模板,然后根据题意修改 循环的开始,亦或是加入一点去重操作。 树树的解法中必定涉及遍历,我常用的方式是递归,在递归函数之中根据题意对节点进行操作 动态规划对我来说学起来很难的一种算法0 1 背包问题现在还是没有理解透彻 (2024年 11月24日)
实习
...
java基础之关键字
关键字staticstatic 关键字可以修饰类,方法,变量,代码块· 修饰类的时候,表示这个类是一个静态类,静态类不能够被实例化· 修饰方法的时候,说明这个方法是一个静态方法,静态方法不能够调用非静态成员,静态方法应该通过类名直接调用· 修饰变量的时候,代表这个变量是一个静态变量,静态变量为类所有,但是所有的实例化共享静态变量· 修饰代码块的时候,说明这个代码块只会在类加载时执行一次,且只执行一次 与静态方法不能调用非静态成员类似,static关键字不能够修饰函数中局部变量 final 与 finally虽然看起来很像,但其实一点也不一样final 和 static 有点像,都是修饰类,方法,变量的它修饰的类不能被继承,修饰的方法不能够被重写,修饰的变量不能够被更改,这就跟它的英语意思一模一样 finally块一般是搭配try-catch块一起使用的finally块可以保证块中的内容一定会被执行,即使发生异常也会执行,关闭文件流,打印日志。
微前端
起初我以为微前端对标的是大前端呢,通过资料查看才发现微前端 是对标后端的微服务,这不就不困了吗 微前端 一种类似于微服务的架构模式,将前端应用拆分成多个小型前端应用,从而实现更加灵活,高效地开发,测试,部署升级,降低应用程序的复杂度和维护成本。 我愿称之为微服务 前端版本 它的特点跟微服务应该是差不多的· 独立开发: 每个前端应用独立开发,测试和部署· 技术栈无关: 技术栈无关 每个微前端应用可以使用不同技术栈开发· 代码隔离: 每个微前端应用代码相互隔离,避免代码冲突· 灵活扩展: 可以根据需要添加,删除或修改微前端应用 优点:· 提高开发效率:每个微前端应用都可以独立开发,团队之间可以并行开发· 降低维护成本:代码相互隔离,便于维护和修复· 提高可靠性:一个微前端出现故障也不会影响其他微前端应用· 易于扩展:微前端可以很容易地扩展前端应用程序,因为可以根据需要添加,删除或修改微前端应用。 缺点:· 增加复杂性:需要管理更多微前端应用· 性能损耗:不同微前端应用之前进行通信的方式是网络· 调试困难,不知道到底是网络出问题还是代码自身的问题。 相关开源框架·...
MySQL与Oracle
数据库功能主从复制今天刚知道的新词我们可以部署多台mysql,其中一台作为主服务器,剩下的作为从服务器复制的过程是异步的,从服务器不需要一直连接到主服务器 复制原理二进制日志当主服务器中的数据发生了更改的时候,会将操作和时间记录到一个二进制文件中。这个二进制文件包含了主服务器进行操作的SQL语句以及服务器ID以及时间戳 I/O线程从服务器 会创建一个I/O进程,这个进行连接到主服务器的 log dump 进程I/O进程从...
什么是微服务
概念!!! info 个人理解微服务 将原本在一起提供功能的代码抽取出来,各自独立部署 提供服务 UserController UserService UserServiceImpl UserMapper + 配置文件 + 存储用户信息的数据库这一整套关于User的操作起初是和其他功能在一个文件夹中,比如Controller文件夹中就可能还含有 OtherController 如果单单是因为文件在一起就拆分,那可能是有强迫症 我觉得真正需要将服务拆分的原因还是因为: 一个功能的被访问次数过多会影响其他服务的性能,这是单体项目所不能避免的当然我们可以提供加机器的方式做集群,来使得服务高可用但是单体架构的项目一旦某个功能出现异常,也还是会影响其他正常功能。 从扩展性方面看,每一个服务单独部署,我就可以将用户量请求大的服务多部署几个,做一下负载均衡,请求量小的或者说压力小的就没有必要了。 !!! warning 不要迷信微服务 我参考网上java的学习顺序进行自学,按照以往的学习习惯,后期学的东西应该是比前期学的更加高级,应该经常使用。 ...
nacos 配置
关于中间件 就算是还要很多年之后才能去做微服务或者根本不做,我觉得学一下这些中间件也都是有必要的。比如 docker,k8s,当然它们两个应该不能算中间件,它们一个是工具,一个是管理工具的工具,注册中心nacos,zookeeper,dubbo( rpc 框架), ElaskSearch 它们好像不仅仅可以用在服务端开发上,只能说我自己的眼界窄了。 有一说一 docker 确实好用,哈哈哈哈,不过我也就算是基础使用 注册中心 微服务的每一个功能都对应着一个服务,它们之间有些服务会互相依赖,在不同的机器上部署服务,首先应该想到的就是通过网络,响应哪一门语言都提供了并发编程的工具包 同样的,既然使用了微服务,那说明项目很大,可能每一个服务都部署在不止一台服务器上,既然如此,仅依靠java原生的网络编程包 如何做负载均衡,难道要搞一个集合,集合里面的是要依赖服务的ip地址吧?...