🧱 后端开发与架构
未读项目搭建采用技术栈为:Spring+Spring MVC+Hibernate+Jsp+Gradle + tomcat+mysql5.6 搭建环境文档目录结构说明: 使用 Intellj Idea 搭建项目过程详解 项目各配置文件讲解及部署 各层包功能讲解 & 项目搭建完毕最终效果演示图 项目中重要代码讲解 配置 tomcat 运行环境 webapp 文件夹下分层详解 1. 使用 Intellj Idea 搭建项目过程详解1.1 打开 Intellj Idea 1.2 操作 Intellj Idea 工具栏 新建项目 需要说明的是,最初创建的项目视图是不完整的,包括 webapp 文件夹下没有 web.xml,以及 src 包下缺少 Java 文件夹 (放置 java 源代码文件),Resources 文件夹(放置项目配置文件)。 我们继续做以下操作,使得项目的结构符合 web 应用项目的层级标准。 出现如下视图: 接下来:单击 main 文件夹按照如下操作: 屏幕快照 2016-11-20 下午 4.44.33.png 点击 ok,再按照上 ...
要想统一处理所有 http 请求和响应,就得用上 axios 的拦截器。通过配置 http response inteceptor,当后端接口返回 401 Unauthorized(未授权),让用户重新登录。 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970// http request 拦截器axios.interceptors.request.use( config => { if (store.state.token) { // 判断是否存在token,如果存在的话,则每个http header都加上token config.headers.Authorization = `token ${store.state.token}`; } ...
Sublime Text 是一个强大的文本编辑器,提供了丰富的快捷键来提高编程效率。以下是 Sublime Text 中一些常用的快捷键。 基本操作 打开命令面板:Shift + Cmd + P 控制台:Ctrl + (反引号) 新建标签页:Cmd + N 切换标签页(通过数字):Cmd + 数字 分成两屏显示:Cmd + Option + 2 查找与替换 查找文本:Cmd + F 查找并替换文本:Option + Cmd + F 跳转到函数或方法:Cmd + R 添加/删除选中行的注释:Cmd + / 编辑与格式化 智能缩进(增加或减少缩进):Cmd + [ 或 Cmd + ] 显示/隐藏侧边栏:Cmd + K, B **删除光标前所有字符 (Mac)**:Cmd + Delete JSON 和 HTML 格式化 格式化 JSON 文件:Ctrl + Cmd + J 格式化 HTML 文件:Shift + Cmd + H 具体命令列表以下是一些具体操作对应的快捷键: 文件跳转: Cmd + T 行号跳转 (类似 Vim 的 num + gg): ...
在 macOS 操作系统中,快捷键是提高工作和生活效率的重要工具之一。掌握这些常用快捷键能让你更加得心应手地操作电脑。本文将详细介绍 macOS 系统、应用程序以及开发工具相关的快捷键。 常用 macOS 快捷键系统级快捷键 控制 + shift + 关机键 - 让 Mac 进入休眠模式。 开机时按住 shift+enter - 忽略自启动软件,直接加载系统。 控制 + f2 - 在任务栏(Dock)上移动焦点。 控制 + f3 - 选择 dock 中的应用或图标。 opt + cmd + 右上角 - 锁定屏幕。 option + command + esc - 强制退出未响应的应用程序。 control + 右上角 - 调出关机帮助界面。 Ctrl + 关机键 - 显示关机提示对话框,可以取消关闭操作。 Ctrl + Opt + 关机键 - 安全地关闭 Mac 电脑。 Ctrl + Cmd + 关机键 - 重启 Mac 电脑。 Shift + Ctrl + Opt + 关机键 - 立即断电关闭电脑,不进行任何保存操作,请谨慎使用此快捷键。 opt + \ - 打开 Finde ...
🔥 效能提升
未读在使用终端模拟器和 tmux 时,掌握一些快捷键可以帮助你提高工作效率。以下是 iTerm2 和 tmux 的一些常用快捷键。 iTerm2 快捷键基本操作 打开/关闭 iTerm:F12 快速标记:Cmd+Shift+m 回到标记位置:Cmd+Shift+j 搜索和历史记录 正则表达式搜索:Cmd+f 剪切板历史:Cmd+Shift+h 显示命令历史记录:Cmd+; 切换 Tab 和 Pane 切换 tab: Cmd+←, Cmd+→, Cmd+{, Cmd+} 新建 tab: Cmd+t 顺序切换 pane: Cmd+[, Cmd+] 按方向切换 pane: Cmd+Option+方向键 切分屏幕 水平切分: Cmd+d 垂直切分: Cmd+Shift+d 其他快捷操作 高亮显示鼠标指针:Cmd+/ 快照返回: Cmd+Option+b 文本编辑相关 Ctrl+q: 清空当前行 ⌃ + u: 删除从当前位置到行首的内容 ⌃ + a: 移动到行首 ⌃ + e: 移动到行尾 ⌃ + f: 向前移动一个字符 ⌃ + b: 向后移动一个字符 ...
🛠️ 开发工具与插件
未读IntelliJ IDEA 是一款功能强大的集成开发环境(IDE),它提供了丰富的快捷键来提高编程效率。下面是一些常用的编辑器背景色、行号栏颜色以及控制台背景色的设置方法,同时涵盖了自定义代码折叠和一些 IDEA 常用及自定义快捷键。 设置编辑器颜色 编辑器背景色: 前往 Preference -> Editor -> Color & Fonts -> Editor -> General -> Text -> Default text 行号栏的颜色: 前往 Preference -> Editor -> Color & Fonts -> General -> Editor -> Gutter background 控制台背景色设置: 在 Setting 中找到 Editor,然后选择 color Scheme -> console Colors。右侧的 Console 部分可以调整背景颜色。 其他编辑器颜色设置: 调整光标当前行颜色:前往 Editor -> Col ...
🛠️ 开发工具与插件
未读文件和编辑相关 control+enter - 插入(与 alt+insert 相同) option+enter - 排错(与 alt+enter 相同) shift+enter - 在当前行下面插入新行 command + enter - 在光标前一行插入新行 shift + command - 创建测试用例 shift + control + r - 运行配置的运行/调试任务 option + commmand + (+/-) - 快速折叠代码段或打开折叠的部分 (Ctrl+Shift+/) command + > 或 < - 关闭或展开当前文件夹内的所有折叠部分(仅针对文件夹) command + [ 或 ] - 跳转到上次编辑的位置 shift + command + F - 在项目中查找关键字 option + command + l - 代码格式化 (Ctrl+Alt+L) shift+command+j - 插入代码模板(Live Templates) command + j - Acejump: 快速定位到行首、变量或方 ...
🧱 后端开发与架构
未读字符串常量归常量池管理,那比如 String str = “abc”; “abc” 这个对象是放在内存中的哪个位置,是字符串常量池中还是堆? ”这句代码的 abc 当然在常量池中,只有 new String(“abc”) 这个对象才在堆中创建“,他们大概是这么回答。 “abc”这个东西,是放在常量池中,这个答案是错误的。 字符串“abc” 的本体、实例,应该是存在于 Java 堆中。 可能还真的有部分同学对这个知识点不熟悉,今天和大家聊聊字符串这个问题 ~ 初学 Java 时,学到字符串这一部分,有一段代码 123String str1 = "hello";String str2 = new String("hello");复制代码 书上的解释是:执行第一行的时候,已经把 “hello” 字符串放到了常量池中,执行第二行代码时,会将常量池中已经存在的 “hello” 复制一份到堆内存中,创建一个的新的 String 对象。虽然值一样,但他们是不同的对象。 当时看完这个解释,我产生了很多疑惑。因为在此之前已经知道字符串的底层 ...
🖥️ 基础设施与运维
未读一、升级到最新版1. 检查当前已安装的 docker 相关软件包1rpm -qa | grep docker 2. 卸载旧版本执行以下命令卸载所有列出的相关软件: 12345yum remove docker-<version>yum remove docker-client-<version>yum remove docker-common-<version># 示例:# yum remove docker-1.13.1-53.git774336d.el7.centos.x86_64 3. 升级到最新版使用 curl 命令安装最新的 Docker 版本: 1curl -fsSL https://get.docker.com/ | sh 4. 启动和设置开机自启 Docker 服务 重启 Docker 1systemctl restart docker 设置启动项,确保 Docker 在系统启动时自动运行: 1systemctl enable docker 二、解决升级后容器启动错误若从旧版本(如 1.13.1)直接升级到新版 ...
🖥️ 基础设施与运维
未读Docker 入门指南Docker 是一个开源的应用容器引擎,让开发者能够将软件及其运行时环境封装起来以方便地进行移植和部署。通过使用 Docker,可以快速打包、发布以及运行应用程序在几乎任何地方(包括物理机或虚拟机上)。它利用 Linux 内核的资源隔离特性来实现轻量级的操作系统级虚拟化,使得开发人员能够创建和管理容器化的应用和服务。 安装 Docker在 Ubuntu 上安装 Docker 更新包索引: 1$ sudo apt-get update 安装必要的软件包以允许 apt 使用 HTTPS 来获取安全存储库: 1$ sudo apt-get install apt-transport-https ca-certificates curl software-properties-common 添加 Docker 的官方 GPG 密钥: 1$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - 利用该密钥来验证 Docker 存储库中的所有软件包的完 ...
🛠️ 开发工具与插件
未读JUnit 是一个开放源代码的 Java 测试框架,用于编写和运行可重复的测试。他是用于单元测试框架体系 xUnit 的一个实例(用于 java 语言)。 为什么使用 Junit我们以前测试一个类的步骤: 新建一个 test 类 创建 main() 方法 在 main 类 new 一个我们要测试的类的实例 然后调用这个类的方法,输出一个结果 当测试的类有多个方法时,我们必须调用所有的方法,为了不让上一次的方法调用对下一次的调用产生影响,我们会在 new 一个实例出来,或者将上一次的代码注释掉.则将造成整个测试代码的混乱.这个时候我们希望如果可以有多个 mian() 方法,每个 main() 方法内只调用一个需要测试的类的方法,这样显得调理清晰.但是这是不可能的,一个程序只能有一个入口 这个时候,Junit 站了出来,它大声的说它可以做到. 怎么使用 Junit主要步骤: 新建一个 java 项目 在 src 下新建一个 util 包,编写一个普通的类 123456789101112131415161718192021222324252627/** * 对名称,地址等字符 ...
🛠️ 开发工具与插件
未读Maven 添加 IntelliJ IDEA 项目文件在使用 Maven 构建 Java 项目时,若需生成与 IntelliJ IDEA 兼容的项目文件,可以通过以下命令进行: 1mvn idea:idea idea:idea 插件的目标执行了另外三个目标:project、module 和 workspace。 idea:project: 用于生成 IntelliJ IDEA 项目的配置文件(*.ipr)。 idea:module: 用于生成 IntelliJ IDEA 模块的配置文件(*.iml)。 idea:workspace: 用于生成工作区文件(*.iws),此目标在大多数情况下不会直接使用,因为默认会包含在 idea:idea 中。 删除指定依赖如果你想从本地仓库中删除特定版本的依赖,可以使用以下命令: 1mvn com.xxx:xxx-assist-maven-plugin:2.0.0-SNAPSHOT:delete-v5-dependence -Dversion=1.7.1 或者首先下载指定的依赖项,然后删除它: 123456mvn dependency: ...
🧩 开发框架与中间件
未读spring boot 之所以能够自动配置 bean,是通过基于条件来配置 Bean 的能力实现的。 常用的条件注解如下 1234567891011121. @ConditionalOnBean:当容器里存在指定的Bean的条件下2. @ConditionalOnClass:当前类路径下存在指定的类的条件下3. @ConditionalOnExpression:基于SpEL表达式作为判断条件4. @ConditionalOnJava:基于JVM版本作为判断条件5. @ConditionalOnJndi:在JNDI存在的条件下查找指定的位置6. @ConditionalOnMissingBean:当容器里没有指定的Bean的条件下7. @ConditionalOnMissingClass:当前类路径下没有指定的类的条件下8. @ConditionalOnNotWebApplication:当前项目不是web项目的条件下9. @ConditionalOnProperty:指定的属性是否有指定的值的条件下10. @ConditionalOnResource:类路径下是否有指定的值11 ...
🧱 后端开发与架构
未读一、SQL Mode 设置查看当前 SQL 模式为了查看 MySQL 当前使用的 SQL 模式,请执行以下查询: 1SELECT @@sql_mode; 修改 SQL 模式 会话级别设置若要在当前会话中临时修改 SQL 模式,可使用如下命令:1SET sql_mode = 'STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'; 全局设置若要永久更改 SQL 模式,需要在 MySQL 的配置文件(如 my.cnf 或 my.ini)中添加以下内容:1sql-mode = "STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION" 二、修改数据库和表的字符编码修改整个数据库的 ...















