📄🌱🐂🧭🏖️
Tim's Blog
代码慢慢写,路慢慢走

CSS日常使用

本文记录了开发者在日常开发和学习中使用的 CSS 属性,重点介绍了 `transition` 和 `opacity` 的使用技巧和问题。 * **`transition`**: 用于定义元素在不同状态间切换时的过渡效果,可以通过设置属性名、持续时间、缓动函数和延迟时间来实现平滑的动画效果。 * **`opacity`**: 用于设置元素的不透明度。文章指出,当父元素设置 `opacity` 时会影响其子元素。 推荐两种解决方案: * 使用 RGBA 设置背景色透明度。 * 使用伪元素(`::before` 或 `::after`)创建一个透明层,通过改变伪元素的背景透明度来实现 hover 效果,避免影响子元素的不透明度。

JavaScript通用库

本文记录了开发中使用的通用库,主要介绍了用于处理日期和时间的 **Day.js** 库。Day.js 是一个轻量级的 JavaScript 库,用于解析、验证、操作和显示日期和时间,并提供了 npm 安装方法。

MATLAB函数外部使用

本文探讨了在C#中使用MATLAB函数的几种方案,主要目的是为了在C#项目中调用MATLAB函数。 * **ArrayFire/Armadillo:** 通过C++库对MATLAB函数进行逐句翻译,编译成DLL,效率最高,但需要硬件支持。 * **Octave/Python:** 将MATLAB代码转换为Octave或Python,工作量较小,效率尚可。其中,Octave可以通过`mkoctfile`编译DLL,`Octave.NET`提供.NET拓展包,支持直接在C#中运行Octave代码,包括基础运算、绘图、包加载和调用外部`.m`文件。 * **MATLAB Compiler:** 将MATLAB函数编译为DLL或EXE,需要依赖MCR,调用前需启动引擎,影响效率。打包MATLAB函数需要使用MATLAB的Library Compiler,并引用生成的DLL和`MWArray.dll`。

宝塔 - 国际版

宝塔 - 国际版

本文介绍了宝塔面板国际版的安装和中文语言包的配置方法。 * **登录问题:** 宝塔面板需要登录才能使用,国际版曾经不需要登录,但现在最新版似乎也需要登录。 * **安装:** 使用 `yum` 命令安装 `wget`,然后下载并运行安装脚本来安装aaPanel(国际版宝塔)。 * **中文语言包:** 修改 `settings.json` 文件,添加中文配置即可启用中文语言包。

Win32API函数

Win32API函数

本文介绍了三个 Windows API 函数: * **SendMessage:** 将消息发送到一个或多个窗口。它接受窗口句柄、消息常量、wParam 和 lParam 作为参数。 * **ShowWindowAsync:** 设置指定窗口的显示状态,接受窗口句柄和显示状态命令作为参数。 * **SetForegroundWindow:** 将指定窗口带到前台并激活它,接受窗口句柄作为参数。 文章提供了这三个函数在 C++ 和 C# 中的语法示例。

WPF - 单例程序和系统托盘

本文介绍了在C#程序中实现单例运行、隐藏到系统托盘以及唤起隐藏程序的方法。主要包含以下几个部分: 1. **使用互斥锁 (Mutex) 实现单例运行:** 在程序启动时创建互斥锁,如果锁已存在,则关闭当前程序实例,并唤起已存在的程序。 2. **使用 NotifyIcon 实现系统托盘功能:** 在主窗体加载时创建系统托盘图标,添加右键菜单,并实现双击图标显示主窗体的功能。 3. **使用 Win32 API 唤起隐藏程序:** 通过 `FindWindow` 查找窗口句柄,使用 `SendMessage` 发送显示消息,并结合 `ShowWindowAsync` 和 `SetForegroundWindow` 确保窗口正常显示在前端。

Linux - Systemd守护进程

本文档主要介绍了使用 systemd 管理 Linux 服务的方法,包括安装、创建服务、基本操作和日志管理。 **主要内容:** * **安装:** 使用 `sudo apt-get update` 和 `sudo apt-get install systemd` 安装 systemd。 * **创建服务:** 提供了创建 WebAPI (.NET 6) 和 CS1.6 服务器服务的示例,包括 .service 文件的配置。 * **基本操作:** 介绍了服务的开机启动 (enable/disable)、启动 (start)、关闭 (stop)、状态查看 (status) 以及 `daemon-reload` 命令 (作用未明确)。 * **日志管理:** 讲解了查看日志 (journalctl -fu)、查看日志大小 (–disk-usage) 以及日志管理 (配置 `/etc/systemd/journald.conf`,包括 SystemMaxUse、SystemKeepFree 等参数),并说明了重启日志服务 (systemd-journald) 的方法。

Linux - Samba共享服务

本文档介绍了在Linux系统上配置Samba服务器以实现文件共享的步骤,主要包括: 1. **安装Samba:** 使用 `sudo apt-get install samba samba-common` 命令安装 Samba 服务。 2. **创建共享目录:** 使用 `sudo mkdir -p /home/share` 命令创建共享目录。 3. **添加权限:** 使用 `sudo chmod a+rwx -R /home/share` 命令为共享目录添加读写权限。 4. **修改Samba配置:** * 备份原始配置文件:`sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak` * 编辑配置文件:`sudo vim /etc/samba/smb.conf`,添加共享配置,例如: ``` [share] path = /home/share available = yes browseable = yes public = yes writable = yes ``` 5. **添加Samba用户:** 使用 `sudo smbpasswd -a test` 命令添加 Samba 用户。 6. **重启服务:** 使用 `sudo /etc/init.d/smbd restart` 命令重启 Samba 服务。

Linux - Crontabs定时任务

本文介绍了在Linux系统上配置和使用cron定时任务清理Nginx日志的方法,主要包括以下几个步骤: 1. **安装cron:** 使用`apt-get install cron`或`yum install crontabs`命令安装cron服务。 2. **基本操作:** 介绍了cron服务的启动、重启、停止和状态检查等基本命令。 3. **开启日志:** 通过修改`/etc/rsyslog.d/50-default.conf`文件开启cron日志。 4. **清理Nginx日志:** * **创建脚本:** 编写bash脚本`/opt/usersh/nginx_logs_clean.sh`,用于将Nginx日志移动到指定目录,并删除旧日志,最后重新加载Nginx配置。 * **添加权限:** 使用`chmod +x nginx_logs_clean.sh`命令为脚本添加执行权限。 * **设置定时任务:** 使用`crontab -u root -e`命令设置定时任务,每天0点执行清理日志的脚本。