蘑菇房的博客

安装MSYS2 Gcc环境

在windows下需要用GCC编译,安装GCC怎么说呢感觉比较麻烦。以前一直用MinGW进行安装,一装一个下午没了,不过现在有个比较好的选择MSYS2。用Cygwin核心(Posix)把MinGW的MSYS进行重构的版本。

选择这个主要有两个原因:
1、小啊,他很小一个x64的安装就86M左右,安装展开也没多大。安装高效率
2、有包管理工具pacman 使用很方便

安装也非常方便,唯一有处需要注意。国内需要镜像,最好设置镜像,一定要设置镜像。

安装步骤:
1、下载MSYS2
2、安装并设置镜像
3、更新MSYS2包数据
4、安装GCC
end .

本地环境Win10

youtube 视频下载

有些视频经常需要重复看,如技术类的。每次看都要去上去翻,而且可能出现某些不可抗力。反正经常会出现各种状况。在Github上找了下,发现能下载的工具不少。有个星数很高,没错了就是他youtube-dl,搜了一下网上各种教程满天飞。

这个工具实际能下载大部分视频网站的视频(其他网站没试过),在readme中列出了支持的网站,包括国内的网站。

下载方法 :
youtube-dl [--proxy 代理] -f 137+140 URL

使用例

//视频地址: https://www.youtube.com/watch?v=uT6Q_AeFTuQ

// 下载720P的视频
$ youtube-dl --proxy socks5://127.0.0.1:1086/. -f 136+140 https://www.youtube.com/watch?v=uT6Q_AeFTuQ

// 下载1080P的视频
$youtube-dl --proxy socks5://127.0.0.1:1086/. -f 137+140 https://www.youtube.com/watch?v=uT6Q_AeFTuQ

收缩VirtualBox虚拟硬盘文件的大小

VirtualBox虚拟机使用时间长了会逐渐增大,一般台式机现在都是好几个T的没啥问题。笔记本硬盘比较小的情况,占用多了是个麻烦事情。

想到的第一方法就是删除快照,第二个就是减肥。有些快照不能删恢复需要,空间还不够就只能减肥。

处理方法:
1、SDelete 整理虚拟机释放空间
2、VBoxManage 压缩VDI文件

命令:
sdelete64.exe -z c:\
VBoxManage modifyhd XXX.vdi --compact

Delphi使用WINAPI获取本机所有网卡的Mac信息

做项目有些授权需要网卡硬件信息进行检测,网上可以搜到很多解决方案(copy很多,我也copy一份)。

主要有两种:
1、使用WinSock单元
2、引用Iphlpapi.dll动态库的模式

很多方案都是Char 默认是 AnsiChar的(delphi7)代码,需要修改定义。

测试环境:
1、delphi 2010
2、win7 sp1 x64 (VBox 虚拟机)
3、网卡:桥接 x 2,NAT x 1, 内部地址 x 1 共设置了4个网卡

重点函数

iphlpapi.dll 是windows下一个IP的帮助API功能强大,具体可以到MSDN查看。用C的可以直接引用 IPTYPES.H 单元头,delphi的只能自己定义。

如果出现加载失败等问题,可以查一下DLL是否正常。

function GetAdaptersInfo(AI: PIPAdapterInfo; var BufLen: Integer): Integer;
  stdcall; external 'iphlpapi.dll' Name 'GetAdaptersInfo';

function SendArp(ipaddr: ulong; temp: dword; ulmacaddr: pointer; ulmacaddrleng: pointer): dword;
  stdcall; external 'Iphlpapi.dll' Name 'SendARP';

windows下绿色安装Redis

windows下Docker无法使用问题,为方便使用相关的数据库都要搬迁到windows下面,Redis也不例外。

Docker不能用是因为需要用虚拟机VirtualBox,无奈之举。不过好在安装都非常方便,基本没有什么周折就能搞定。

部署环境:

  • windows 10
  • Redis v3.2.100

安装过程:
1、下载
2、解压运行
3、服务安装
4、测试

安装过程比较简单,直接下载个zip,然后部署个服务。

windows下绿色安装MongoDB

Docker下部署MongoDB非常方便,但windows总会有各种情况。最糟糕的情况是,既要用虚拟机也想用Docker。

这个是什么情况,Docker需要windows的一个虚拟服务Hyper-V,而VirtualBox不能使用这个服务。

工作原因VirtualBox是必须的,只能舍弃Docker。

安装:
1、下载MongoDB
2、安装DB,运行
3、安装服务

部署环境:

  • windows 10
  • MongoDB 4.0.4 (current release)

程序功能图标资源res打包处理

PNG图标是个好东西,现在系统都支持而且工具软件都能很方便生成(包括PS),要比做Icon方便很多。因此理所当然的现在项目图标PNG已经霸占了ICON的霸主地位。

项目功能比较多的时候,就会有无数的图标资源。现做的项目功能图标单16x16规格已经有200个之多~~,一个功能一个PNG图标,散落在目录中(俺们的美工喜欢做PNG图标,不太喜欢做icon)。虽然有RC资源管理着,但程序第一次加载大量功能图标时,明显会感觉有些卡的感觉。实际性能测试中也确实反映出这个情况,加载功能图标耗时严重。

问题: 图标过多的时候时候出现加载程序慢
解决: 通过合并图标一次性加载,提高效率

处理图标方案:
第一种:直接加入RC资源
第二种:把一组资源拼接成单个文件

开发环境:
XE3
Win7

windows下精简安装MySQL

习惯了使用安装程序安装方法,发现会有一大堆的组建。对只想使用mysql数据库服务,那些东西都没有什么用。

只想安装数据库服务,其实也很简单。官网有个zip文件,下载解压配置初始化就能敲定。

官网下载: https://dev.mysql.com/downloads/mysql/
网盘: https://pan.baidu.com/s/1N6PU0PLvoAAUdBeIC7DWRQ
MD5: 2093a8d1cc66224b135d03c6883a17cb

安装步骤: 1、下载解压
2、创建配置
3、初始化服务并启动
4、运行mysql
5、OK搞定

安装环境:
win7 x64
mysql v8.0.12 x64

win10下使用Docker部署mongo

在window下部署mongo,实在是有些坑。网上的很多教程是基于liunx,一般不会碰到很多麻烦。但在win10下就可能会出现问题。

正常步骤:
1、注册账号,安装Docker
2、获取Mongo镜像
3、挂接数据目录启动容器
4、启动容器

相关连接: Win10下使用Docker运行redis

Win10下使用Docker运行redis

在windows下安装一些服务器的开发组件并不是很方便,通常都会用到虚拟机。

Docker 是个好东西,有现成的镜像直接可以使用。不用费时费力在windows上折腾服务器需要的环境。

只要几步就能搞定,非常方便

1、注册账号,安装Docker
2、获取Redis
3、运行Redis
OK