蘑菇房的博客

Github Clone龟速问题处理

经常需要在Github上拉代码,这速度实在是慢,慢~~ 慢~~~

常规处理方法

  1. 使用国内的Git网站Clone
  2. 使用工具提供的打包下载
  3. 使用代理

1和2的方法对那些没有关联库引用还是非常方便快捷,如果下的库有关联库就是个大麻烦。

Git代理设置方法

如你用的Socket代理是 127.0.0.1:10808

全局代理:

git config --global http.proxy 127.0.0.1:10808

局部代理:,在github clone 仓库内执行

git config --local http.proxy 127.0.0.1:10808

取消代理:

git config --global --unset http.proxy
git config --local --unset http.proxy

特定地址使用代理

如对 github.com 设置代理, 有两个方法

使用命令

# 全局使用
git config --global http.https://github.com.proxy http://127.0.0.1:10809
# 取消代理
git config --global --unset http.https://github.com.proxy

# 特定库
git config --local http.https://github.com.proxy http://127.0.0.1:10809
# 取消代理
git config --local --unset http.https://github.com.proxy

编辑配置文件

TortoiseGit 打开设置Git分类中可以找到,直接进行编辑.

  • mac直接打开 ~/.gitconfig
  • windows在用户根目录下 如 C:\Users\Administrator\.gitconfig

在文件中加入下面配置

[http "https://github.com"]
    proxy = http://127.0.0.1:10809

END蘑菇房

Win10右键增加Cmd命令菜单

Win10按住Shift默认有PowerShell,取代原来Cmd的命令。如果经常要敲些命令,而又会出现PowerShell命令不兼容问题。比较头痛,所以吗干脆加个Cmd命令菜单。

  1. 新建 cmd.reg
  2. 添加下面命令
  3. 双击执行cmd.reg即可

注册表代码

Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\background\shell\cmd_here]
@="cmd"
"Icon"="cmd.exe"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\background\shell\cmd_here\command]
 @="\"C:\\Windows\\System32\\cmd.exe\""
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\cmdPrompt]
@="cmd"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\cmdPrompt\command]
@="\"C:\\Windows\\System32\\cmd.exe\" \"cd %1\""
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\shell\cmd_here]
@="cmd"
"Icon"="cmd.exe"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\shell\cmd_here\command]
@="\"C:\\Windows\\System32\\cmd.exe\""

Sublime Text 里批量转换大小写

经常要处理一些基础数据,会用到批量设置首字大写的问题。

常见的情况如:

  • 把 HTML 里所有的标签都统一改成小写
  • 把 CSS 里所有的颜色值都统一改成大写
  • 把英文中所有句首字母大写

Sublime Text 的正则表达式查找替换,就可以实现批量转换大小写的功能。

正则的查询方式相同,在替换时在转换内容前加上 \U 和 \L,后加 \E 结束转换,即可转换整段内容为大写或小写;

在要转换的内容前加上 \u 和 \l,即可转换内容中的第一个字母为大写或小写。

转换前缀:
\U --- 转换所有字符为大写
\L --- 转换所有字符为小写
\u --- 首字大写 \l --- 首字小写
\E --- 大小写转换结束表示,有多个正则转换变量时需要需要

安装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