👋 欢迎来到我的空间!
- 这里是我的个人博客,记录了一些技术、生活、读书、随笔等内容。 如果你喜欢这里,可以点击右上角的 Github 图标。 如果你有任何问题或建议,欢迎在评论区留言。 email: qvqw2233@gmail.com
👋 欢迎来到我的空间!
JPA 这部分内容上手很容易,但是涉及到的东西还是挺多的,网上大部分关于 JPA 的资料都不是特别齐全,大部分用的版本也是比较落后的。另外,我下面讲到了的内容也不可能涵盖所有 JPA 相关内容,我只是把自己觉得比较重要的知识点总结在了下面。我自己也是参考着官方文档写的,官方文档非常详细了,非常推荐阅读一下。这篇文章可以帮助对 JPA 不了解或者不太熟悉的人来在实际项目中正确使用 JPA。 项目代码基于 Spring Boot 最新的 2.1.9.RELEASE 版本构建(截止到这篇文章写完),另外,新建项目就不多说了,前面的文章已经很详细介绍过。 1.相关依赖 我们需要下面这些依赖支持我们完成这部分内容的学习: <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <scope>runtime</scope> </dependency> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <optional>true</optional> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> </dependencies> 2.配置数据库连接信息和JPA配置 由于使用的是 h2 内存数据库,所以你直接运行项目数据库就会自动创建好。 下面的配置中需要单独说一下 spring.jpa.hibernate.ddl-auto=create这个配置选项。 这个属性常用的选项有四种: create:每次重新启动项目都会重新创新表结构,会导致数据丢失 create-drop:每次启动项目创建表结构,关闭项目删除表结构 update:每次启动项目会更新表结构 validate:验证表结构,不对数据库进行任何更改 但是,一定要不要在生产环境使用 ddl 自动生成表结构,一般推荐手写 SQL 语句配合 Flyway 来做这些事情。 # 数据库url地址 spring.datasource.url=jdbc:h2:mem:jpa-demo spring.datasource.username=root spring.datasource.password=123456 spring.datasource.platform=h2 spring.datasource.driverClassName =org.h2.Driver spring.jpa.properties.hibernate.enable_lazy_load_no_trans=true # 打印出 sql 语句 spring....
使用 cpolar 为 rock 5A 进行内网穿透 github 上有开源的 frp 项目,如果有一台云服务器的话,用来内网穿透很不错。但是,使用云服务+frp 的方案,开放某个端口,还需要去修改云服务的安全组,比较麻烦。考虑到方便性,我用了 cpolar 做内网穿透。 注:rock 5A 为 arm 开发板,系统为 debian12(和树莓派、香橙派等 arm 计算机的教程理论上通用) 安装 我这里使用的官方的一键安装脚本 curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash 授权 执行下面 的命令进行授权(授权码在 cpolar 验证页面获取) cpolar authtoken xxxxxxxxxxxxxxxxxx 设置开机自启动并启动 cpolar 服务 systemctl enable cpolar systemctl start cpolar 完成上面的内容就基本上配置好了,你可以在 cpolar 官网的状态页面看到你的 ssh 隧道,可以通过该域名和端口远程访问本地的 rock 5A 注意:cpolar 默认会配置本地机器 ssh 的 内网穿透,如需定制自己的内网穿透,请尝试根据官网文档修改配置文件。免费的内网穿透会在机器重启后变更域名和端口,重启后可以从 cpolar 官网状态页面获取,也可以考虑升级付费用户。 配置文件 默认的配置文件在 /usr/local/etc/cpolar/cpolar.yml 补充说明 使用过程中,我发现 cpolar 代理 http 导致了 rock 5A 的 cpu 占用飙升。后续我用了阿里云的服务器+frp 代理了 ssh,cloudflare tunnel 代理 http,cpu 占用几乎忽略不计。因此,建议 cpolar 内网穿透方案仅作备选。
记录一次系统迁移 开发板为 rock 5a,使用的为 Debian 系统。最近买了一个香橙派 5plus 的 64G 的 emmc(和 rock5A 通用并且比官方的更便宜),打算将系统从内存卡迁移到 emmc。 查看当前磁盘情况 fdisk -l 得到新磁盘名字为/dev/mmcblk0,原内存卡设备为/dev/mmcblk1 使用 dd 命令迁移 系统 sudo dd if=/dev/mmcblk1 of=/dev/mmcblk0 bs=4M status=progress dd:待执行的命令,即复制和转换命令。 if=/dev/mmcblk1:if 表示输入文件(input file)。/dev/mmcblk1 是源设备的文件路径,也就是数据的来源。 of=/dev/mmcblk0:of 表示输出文件(output file)。/dev/mmcblk0 是目标设备的文件路径,也就是数据要写入的地方。 bs=4M:bs 表示块大小(block size)。设置为每次读写 4M 数据。设定一个适当的块大小可以提高数据的复制速度。 status=progress:这是一个可选参数,它可以实时显示dd命令的进度信息。这对于一些需要花费长时间的复制任务来说非常有用,可以让用户知道复制过程的进度。 使用 parted 命令调整磁盘大小 如果不进行调整,系统可用大小还是默认的 32G 先查看磁盘情况 parted /dev/mmcblk0 print #查看指定设备的磁盘大小 然后我对第 3 个分区进行了调整,使其扩容到 emmc 最大能支持的容量 parted /dev/mmcblk0 resizepart 3 100% 最后用 resize2f 命令调整文件系统大小
前端路线 0 Roadmap 新手 进阶 1 HTML & CSS freecodecamp网站 里的 『响应式网页设计认证』 css学习:learnlayout网站 flex 布局: 学习:vgee.cn网站 练习:flexboxfroggy 2 JavaScript 《JavaScript权威指南》第六版 (2012年出版)PDF 《JavaScript 高级程序设计》(2019年出版) JavaScript 教程:网址 阮一峰的 ES6 教程 3 框架 React Vue 4 构建工具 《前端工程化》基于Vue3 教材:网址 Webpack Vite 5 大而全的教程 微软的前端教程:github网址 coderwhy 大前端系列教程 各种教程的网站:质量挺高(英语) frontendmasters网址 MDN 网址:大而全的文档 ChatGPT:升级到 plus 版本,打开使用网络内容的设置 6 具体步骤 基础知识(a、b可同步进行) HTML & CSS JavaScript 学习框架 React:更适合作为第一个框架学习 Vue:使得用起来更方便,但不利于新人了解具体实现原理 构建工具 在学习框架时也会用到构建工具 学完框架后再系统性学习 抄一个网站 在学完 HTML & CSS 时可以抄静态页面 学完 JavaScript、框架后可以抄整个站
基于s3协议的对象存储如何创建或者删除文件夹 首先我们必须明确的是,对象存储没有文件 夹的概念,所谓的文件夹只是文件的前缀 参考链接https://www.codemzy.com/blog/delete-s3-folder-nodejs