技术
未读
动手学设计模式:七种OOP设计原则是哪些?
前言 软件开发是一门技术,更是一门艺术。在学习开发的过程中,不管是阅读书籍和博客,还是浏览一些框架和语言的底层源码,我们常常发现设计模式贯穿其中。例如,在HTTP框架中的拦截器(或中间件)的设计,就是典型的职责链设计模式;Java中常见的各种Builder就是典型的建造者设计模式。 然而,对于为什么
技术
未读
星优灵犀项目介绍 | 中软杯国二 | 数智化教育应用平台
项目背景 在当今世界,以大模型为核心的AI技术的迅猛发展正遇上中国高等教育的数字化转型。握住了大模型的教育应用场景,就意味着掌握了教育数字化转型的“杀手锏” 我们团队成员在大学的学习中深刻地体会到:传统高等教育在课前、课时、课后的三个领域面临着诸多挑战,如知识孤岛、资料迷宫、评估耗时长等问题。基于此
技术
未读
Ascend C入坑笔记
初始AscendC 本文记录笔者在杭研学习Ascend C的所得和体会。本次学习AscendC主要涵盖从基础概念、产品定位到AscendC算子开发。 AI Core架构 物理结构 昇腾AI处理器架构图如下: AI Core是昇腾AI处理器的核心,采用达芬奇架构。 达芬奇架构的主要部分有: 计算单元:
技术
未读
博客搬迁踩坑指南:实现markdown图片的自动化替换
需求来源 Hexo博客难以长期维护 博客,是学习计算机科学的同学所必备的网站,好的博文能够体现一个人的能力和思考水平,一个长期维护的博客更是一个人是否拥有长期坚持品质的重要证明。毕竟,如果你能长期维护好一个博客,那么由你负责的项目大概率不会被你中途放弃。 说起博客,我自22年11月起搭建起了个人博客
技术
未读
部署Nacos也能踩坑?Nacos2.3.1部署踩坑记录
前言 笔者最近在写一个微服务的项目,在技术选型方面采用了Dubbo作为RPC框架,注册中心选用了Nacos,在部署Nacos的时候,本着怎么方便怎么来的缘故,我选用了Nacos Docker进行部署,却没想到在鉴权上也踩了一些坑,特写一篇文章记录一下。 Nacos Docker部署 Nacos部署
技术
未读
实践札记:内网穿透Frp踩坑
前言 最近在做一个物联网相关的需求,大致要求是用户使用指纹识别开门后,除了将设备属性上报到华为云IoT平台外,还需要在华为云配置数据转发,将开门日志转发到后端服务并存到数据库,用于向用户端展示开门日志。 这其实是一个挺朴实无华的需求的,只需要在华为云上把数据转发配置为自己服务器的地址就行了。问题就在
技术
未读
JVM基础:内存结构与垃圾回收
JVM内存结构 Java运行时数据区: 线程不共享:程序计数器、JVM栈、本地方法栈 线程共享:方法区、堆区 不属于Java运行时内存:直接内存 PC: PC的作用是控制指令的执行。 多线程下,需要通过PC记录CPU切换前的执行位置。程序计数器只会保存固定长度的内存地址,不会发生内存溢出。 程序员无
技术
未读
JVM基础:字节码文件与类加载器
认识JVM JVM的作用: 解释和运行:将字节码指令解释为机器码。 内存管理:自动分配对象和方法内存;GC 即时编译JIT:对热点代码做优化(将热点代码的机器码保存到内存中,下次直接调用) JVM规范: 规定字节码文件的定义、类和接口的加载和初始化、指令集 JVM规范并不是针对Java语言设计的要求
技术
未读
Docker实践:部署前后端分离项目
前言 笔者最近正在写一个前后端分离项目,涉及的技术栈比较传统,就是SpringBoot+Vue3。 整个项目需要部署到一个新的Linux服务器,鉴于配置各种环境和依赖大概率要碰一鼻子的灰,我使用了Docker进行环境的部署。 这个过程可以顺带复习一下很久没用的Docker命令,经过一番折腾和踩坑后,
技术
未读
实验:伯克利CS61B-BSTMap实现
本文记录伯克利的数据结构与算法课程 -- CS61B 21spring中Lab7的实现思路。 该Lab是实现一个基于二叉搜索树(BST)的Map。 完整代码可以参考我的GitHub仓库。 BSTMap需要实现的接口 /** Removes all of the mappings from this