首页
分类
后端开发
数据库
前端开发
学习笔记
错误合集
标签
Java
MySQL
MongoDB
Linux
IDEA
归档
海尔经典面试题
Linux清理磁盘空间
MySQL查询结果输出到文件
MongoDB数据处理
瞬间
留言板
友情链接
Java学习笔记
Java博客
累计撰写
66
篇文章
累计创建
22
个标签
累计收到
12
条评论
栏目
首页
分类
后端开发
数据库
前端开发
学习笔记
错误合集
标签
Java
MySQL
MongoDB
Linux
IDEA
归档
海尔经典面试题
Linux清理磁盘空间
MySQL查询结果输出到文件
MongoDB数据处理
瞬间
留言板
友情链接
Java学习笔记
目 录
CONTENT
以下是
陌念
的文章
2024-07-05
TypeScript语法
本文介绍了TypeScript的核心类型系统,包括原始类型(string、number、boolean)、数组、any类型、对象类型(含可选属性)、联合类型、类型别名、类型断言、字面类型以及null和undefined的处理。通过类型别名和联合类型,开发者可增强代码可读性和可维护性;类型断言和非空断言则帮助在特定场景下更灵活地处理类型。文章强调,TypeScript作为JavaScript的超集,通过静态类型检查、更好的IDE支持、提升代码可维护性与安全性,特别适用于大型项目和团队协作,虽在小型项目中可能显得冗余,但在复杂系统中能显著提高开发效率和代码质量。
2024-07-05
135
0
0
软件推荐
前端开发
2024-07-04
TypeScript的安装和使用
TypeScript是JavaScript的超集,引入静态类型系统,提升代码可维护性、可读性和开发效率,尤其适用于大型团队协作项目。其主要优势包括静态类型检查、更好的IDE支持、增强的面向对象特性、兼容JavaScript运行环境以及提前预防错误。安装可通过npm全局安装,并使用`tsc`命令编译。基础使用中,`.ts`文件经编译生成`.js`文件后可由Node执行。进阶使用可通过Sublime Text 4或IDEA实现自动编译:Sublime通过自定义编译系统集成`tsc`与`node`命令,IDEA则通过`tsconfig.json`配置输出目录并启用监听或配置运行前编译任务,实现开发流程自动化。选择TypeScript还是JavaScript,需根据项目规模和团队需求权衡。
2024-07-04
78
0
1
前端开发
软件推荐
2024-06-20
使用SSH登录远程服务器
当已配置密钥文件却仍被提示输入密码时,通常是因本地与远程服务器SSH版本不兼容,导致密钥算法不被识别。可通过在SSH命令中添加`-o`参数指定兼容算法解决,例如:`ssh -o PubkeyAcceptedKeyTypes=+ssh-rsa -o HostkeyAlgorithms=+ssh-rsa -i '/Users/mymac/.ssh/id_rsa' zndev@123.57.20.71`。同时,建议更新本地SSH客户端和服务器SSH服务以提升兼容性。若问题依旧,需检查密钥文件权限、服务器SSH配置,确保公钥正确无格式错误地添加至`authorized_keys`文件。Windows用户可尝试使用PuTTY或Git Bash等替代客户端进行连接。
2024-06-20
111
0
4
错误合集
建站系统
2024-06-19
Java版本切换
本文介绍了三种在多版本Java环境中切换 `JAVA_HOME` 的方法。第一种是使用 `jEnv`,通过安装、配置并添加Java版本路径,支持全局、会话或项目级别切换,操作灵活。第二种是手动修改 `.zshrc` 或 `.bash_profile` 文件,通过定义别名快速切换不同版本,适合简单场景。第三种是使用 `SDKMAN`,自动安装和管理Java版本,语法简洁,支持便捷切换。三种方法各有优劣:`jEnv` 和 `SDKMAN` 功能全面、易于管理,适合复杂环境;手动切换则轻量、易理解,适用于基础需求。用户可根据实际使用场景和个人偏好选择合适方案。
2024-06-19
46
0
0
建站系统
开发工具
2024-06-17
iTerm2使用教程
本文介绍了在 iTerm2 中配置 oh-my-zsh 及主题的完整步骤。首先通过 Homebrew 安装 zsh 并设置为默认 shell,接着使用 curl 命令安装 oh-my-zsh。用户可在 `~/.zshrc` 文件中修改 `ZSH_THEME` 变量来选择喜欢的主题(如 agnoster),并安装 Powerline 字体以支持复杂主题显示。完成设置后重启终端即可生效。此外,文章还列出了 iTerm2 的常用快捷键,涵盖窗口管理(如 Command+D 打开并列窗口)、标签页操作(Command+T 新建标签页)、文本编辑(Control+U 删除至行首)及剪贴板功能(Command+C/V 复制粘贴)等,极大提升终端使用效率。
2024-06-17
27
0
0
软件推荐
2024-06-15
Linux使用技巧
本文介绍了多个常用Linux命令的实用操作方法。通过在`~/.bashrc`中添加`export LESS='-R -M --mouse'`,可使`less`命令支持鼠标滚动查看日志;在`~/.vimrc`中配置`set mouse=a`,可启用vim的鼠标滚动功能。`grep`用于搜索文本,如`grep "error" filename`;`find`用于查找文件,如`find . -name "*.txt"`;`sed`实现文本替换,如`s/apple/orange/g`;`awk`用于文本处理,如`{print $1}`打印第一列。此外,`tar`命令可用于压缩和解压文件,如`tar -czvf mydir.tar.gz mydir`打包目录。这些技巧有助于高效管理日志、文本和文件。
2024-06-15
25
0
0
建站系统
2024-06-04
try-catch 到底写在循环里面好,还是外面好?大部分人都会答错!
关于`try-catch`写在循环内还是外,没有绝对优劣,需结合业务场景选择。写在循环外,若某条数据异常则整个循环终止,适合事务性场景或需整体回滚的业务;写在循环内,可隔离异常不影响其他数据处理,适合容忍部分失败的场景。但循环内频繁使用`try-catch`会降低效率,尤其异常频发时。阿里巴巴《Java开发手册》也指出异常处理开销大,应避免无意义的循环内异常捕获。因此,应根据实际需求权衡:如需保证数据一致性或整体成功则放外;如需容错、部分失败不影响整体则放内,且可结合异常类型(如超时)设置阈值强制退出,提升系统健壮性与效率。
2024-06-04
36
0
2
后端开发
2024-05-29
websocket封装:完美支持断网重连、自动心跳!
本文介绍了一个功能完善的 WebSocket 客户端封装方案,支持断网重连与自动心跳机制,且完全兼容原生 API,零学习成本。封装核心基于 `EventDispatcher` 实现事件监听与派发,提供 `onopen`、`onmessage`、`onclose`、`onerror` 等生命周期钩子。断网重连通过记录重连次数、设置最大重连数和重连间隔实现,支持指数退避策略;自动心跳通过定时发送心跳包(每30秒一次)并监听服务端响应,若超时则触发重连。代码采用 TypeScript 和 JavaScript 双版本,结构清晰,可扩展性强,适用于实时数据推送场景。虽当前配置固定,但可通过参数化增强灵活性,整体方案稳定可靠,适合生产环境使用。
2024-05-29
29
0
0
前端开发
2024-05-21
续签Let's Encrypt证书
本文介绍了如何自动续签 Let's Encrypt SSL 证书并更新相关配置。使用 `certbot renew` 命令配合 `--nginx` 参数和指定的 Nginx 配置根目录,可非交互式续签指定域名(如 wyong.fun 及其子域)的证书。续签成功后,通过 `nginx -s reload` 重载 Nginx 服务以应用新证书。若使用宝塔面板,需手动将新证书文件(fullchain.pem 和 privkey.pem)覆盖面板对应的证书路径。为简化操作,建议编写自动执行脚本,依次完成证书续签、Nginx 重载及宝塔面板证书更新,并输出成功提示。该方案确保证书自动续期且系统配置同步,提升服务器安全性与管理效率。
2024-05-21
76
1
2
学习笔记
2024-05-21
Linux自动清理文件脚本
本文介绍了一个用于Linux系统清理旧日志文件的自动化脚本方案。脚本通过获取当前日期,计算出两个月前的日期,并在指定日志目录中查找符合命名模式(如 `sentinel-record.log.*.0*`、`mogu*.log.*` 等)的文件,提取文件名中的日期,筛选出早于两个月的文件并删除。脚本需保存为可执行文件(如 `clean_log.sh`),并赋予执行权限(`chmod +x clean_log.sh`)。为实现定时清理,可通过 `crontab -e` 编辑定时任务,例如每月1日2:30执行脚本,或每两个月执行一次(`30 2 1 */2 * /path/clean_log.sh`)。该方案可有效管理日志文件,防止磁盘空间被占用,适合部署在服务器或长期运行的系统中。
2024-05-21
18
0
0
建站系统
2024-04-19
MongoDB进阶连表查询
本文展示了一个MongoDB聚合查询脚本及其对应的Spring Mongo Java实现。查询目标是从`collect.template`集合中根据指定的`_id`筛选出模板数据,通过`$lookup`关联`collect.template.group`表获取模板对应分组信息,并提取`groupId`组成数组。接着再次关联`collect.group.field`表,根据`groupId`查询字段信息,并筛选出`unit`为“万元”的数据。最终通过`$project`和`$map`格式化输出,仅保留模板名称、分组ID及字段的标题、编码和分组ID。Java代码中使用Spring Data Mongo的Aggregation构建相同逻辑,通过自定义`AggregationOperation`实现复杂投影和过滤操作,最终返回结构化的结果列表。
2024-04-19
44
0
0
数据库
学习笔记
2023-02-13
equals 和 == 的区别
在Java中,`a == b` 和 `a.equals(b)` 的区别主要在于比较方式:`a == b` 比较的是对象的引用(即内存地址),只有当两个引用指向堆中同一个对象时才返回 `true`;而 `a.equals(b)` 比较的是对象的内容,通过调用 `equals` 方法实现逻辑相等性判断。对于自定义类,通常需要重写 `equals` 方法以实现基于属性值的比较。例如,两个 `String` 对象内容相同但引用不同,`==` 返回 `false`,而 `equals` 返回 `true`。此外,重写 `equals` 时一般需同步重写 `hashCode`,确保对象在哈希表等集合中行为一致。
2023-02-13
27
0
0
后端开发
1
2
3
4
5
鄂ICP备20003961号-3