蘑菇房的博客

破解Excel文件密码

Excel文件有密码保护,无法复制和统计有时候比较头痛。

网上找到一个比较简单破解xls文件的方法。不需要辅助工具只要执行VBA代码非常方便。

后缀为 .xls 的文件

操作步骤:

  1. 打开文件,进入VBA界面(Alt + F11)
  2. 左侧选择节点ThisWorkbook 双击节点,打开代码框,粘贴VBA代码
  3. 执行宏(F5)

windows下编译cef最新版本,让Chromium支持音频视频mp3mp4

在工程中需要用到一些视频功能。CEF发布的版本并不支持,网络上编译发布者也寥寥无几,即便在茫茫网络中找到,可能也是比较早的版本或不适合使用。

编译目标版本: Chromium 93.0.4577.82 x86

版本编译环境:
硬件: i3-9100 / 16G RAM / 1T固态
软件: windows10 x64
编译环境:
Visual Studio 2019 Pro
Python 3.9
Windows 10 SDK (10.0.19041.0)
ninja (python 的编译工具)
需要一把能够摘到苹果的梯子(网络环境很重要)

js文件打包 无法加载文件 ..\webpack.ps1,因为在此系统上禁止运行脚本

工程中使用到一些js脚本资源,散落在多个文件加载非常麻烦。发现webpack是个好东西,能把所有资源都打包在一起。做前端的一定不会陌生。

优点多多:

  1. 优化js代码,提高加载速度
  2. 压缩js代码的尺寸,合并成单一文件方便调用
  3. 后续脚本变多,可以大胆拆分模块文件易于代码维护

1. 安装Webpack

webpack是NodeJS的东西,工程并不是web前端的代码所以安装东西不少。

安装步骤:

  1. 下载安装NodeJS https://nodejs.org
  2. 使用npm安装包 webpack 和 webpack-cli
  3. 检查版本是否可用

安装包: 由于不是前端代码,不想要没用的临时代码,所以需要把包安装在全局位置

npm install -g webpack
npm install -g webpack-cli

Debian 安装最新版本CMake

debian 10自带的版本是3.13.4,一般情况下够用了。今天不知道啥问题,发现无法正常编译,ZLIB 包找不到。

网上转了一圈,没找到方法。debian使用的ZLIB包 zlib1g zlib1g-dev 都安装过

sudo apt install zlib1g
sudo apt install zlib1g-dev

看到有个帖子用了3.16版本能通过编译,赶脚升级CMake版本。

一、测试ZLib的CMake信息

主要问题是c代码会出现这个问题,c++版本不会有这个问题。

CMakeLists.txt 的测试内容

cmake_minimum_required(VERSION 3.5)
project(test C)

find_package(ZLIB REQUIRED)

获取网络下所有分配的IP地址

家里增加网络设备时,经常要找设备的IP,以便管理新的设备。如在网络中加树莓派Raspberry Pi之类的操作。要连接显示设备比较麻烦,可以直接用ssh进行连接操作。

windows 命令 arp

windows下自带命令 arp, 不需要额外工具软件去查找设备。

Mariadb中文字符集问题处理

默认情况下Mariadb的中文无法正常显示,需要设置默认字符集才能正常显示中文。

注: 修改的实际目的就是,Client和Server端的字符集保持一致

1.全局设置方法

  1. 编辑配置文件,增加默认参数 vi /etc/mysql/my.cnf
  2. 重启 systemctl restart mariadb

my.cnf 中增加下面一段 UTF8编码的默认配置。

[mysqld]
init_connect='SET collation_connection = utf8_unicode_ci'
init_connect='SET NAMES utf8'
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake

[mysql]
default-character-set=utf8

重启MariaDB即可

systemctl restart mariadb

linux sudo命令权限分配

新装系统是sudo命令没有需要自己安装,安装完成后当前普通账号是没有sudo命令权限的,需要设置。

test@testsvr:~/testsvr$ sudo apt update
[sudo] password for test: 
test is not in the sudoers file.  This incident will be reported.

设置方法

  1. 切换到root用户 su
  2. 取消sudores文件的只读状态 chmod u+w /etc/sudoers
  3. 编辑sudores分配用户test权限,保存退出 vi /etc/sudoers
  4. 撤销sudores文件的修改权限 chmod u-w /etc/sudoers
  5. 切回当前账号 su test

在sudores增加权限
找到这行 root ALL = (ALL) ALL,在他下面添加xxx ALL=(ALL) ALL (这里的xxx是你的用户名)

# User privilege specification
root    ALL=(ALL:ALL) ALL
test    ALL=(ALL:ALL) ALL

注: 这是测试机可简单权限处理。如果是正式的,那就需要考虑授权范围。

命令列表

test@testsvr:~/testsvr$ su
Password: 
root@testsvr:/home/test/testsvr# chmod u+w /etc/sudoers
root@testsvr:/home/test/testsvr# vim /etc/sudoers
root@testsvr:/home/test/testsvr# chmod u-w /etc/sudoers
root@testsvr:/home/test/testsvr# su test
test@testsvr:~/testsvr$

END (MoGuF)

linux 开启ll命令

习惯查看文件时使用列表方式ll命令就非常方便,默认装好系统后是没有开启的。

打开方法

  1. 编辑当前用户的 .bashrc 文件 vi .bashrc
  2. 删除 ll 命令前面的注册,开启 ls -l的命令别名
  3. 保存退出 :x
  4. 执行命令生效 source .bashrc

bat批处理命令使用

开发中经常需要自动处理一下事务,可以直接使用系统自带的Bat批处理命令来解决此类问题。windows中直接可以使用bat,Mac鸡可以直接用Shell,不用部署系统自带非常方便。当然如果想要处理比较复杂的事务,又要和平台无关Python是不错的选择。

Q: 为啥不用Python?
A: 够用方便就好。 Python首先需要系统有安装环境,一些机子上(其他同事)可能没安装。要部署比较麻烦。bat虽然弱,但够用有些简易处理是不二之选。

树莓派Octoprint章鱼实现WiFi无线3D打印

前段时间自己搭建了个3D打印机,折腾了一段时间。发现一个重要问题打印东西是复制文件到打印机非常不方便,每次复制文件插拔USB,要么连个很长的USB线到打印机。麻烦~

所以就想到树莓派。辗转到闲鱼上找了块Raspberry Pi 3B的板子价格合理,装个OctoPrint管理日常打印工作。

打印机环境:

  1. SKR 1.3 公版
  2. Raspberry Pi 3B

1.章鱼哥 OctoPrint

章鱼哥用Python写的Github上有完整的代码库。开源软件功能非常丰富,我只用了web打印管理功能。后续再继续挖掘。

  • web管理界面
  • 远程操控
  • 摄像头实时监控
  • 视频录制、延时摄影
  • 在线切片
  • 图形化的温度曲线显示
  • 手机监控操作
  • 免SD卡和U盘
  • 通过插件和USB/GPIO接口实现更多功能