tan9le 发布的文章

用python生成golang支持的所有交叉编译环境脚本

虽然标题有些奇葩,但是对于我这个强迫症来说,每次golang版本更新,第一件事就是把常见的交叉编译环境给弄好,每次都写也挺麻烦,再加上随着golang版本的升级,支持的GOARCH和GOOS也不断的变多,也懒得去查wiki或者手册,就直接用下面的代码生成吧

#!/usr/bin/env python3
# -*- coding: UTF-8 -*-

__author__ = 'Chungpei Wang'
import os
import json

if __name__ == '__main__':
    env_dist = os.environ
    goroot = env_dist['GOROOT']
    gocmd = os.path.join(goroot, "bin", "go")
    result = os.popen(gocmd + " tool dist list -json")
    strresult = result.read()
    jsonresult = json.loads(strresult)
    shell_content = "#!/bin/bash" + os.linesep * 2 + "export CGO_ENABLED=0" + os.linesep * 2
    # 仅仅是因为强迫症,按照GOARCH进行排序,这样看起来整齐点
    jsonresult.sort(key=lambda k: (k.get('GOARCH', 0)))
    for data in jsonresult:
        shell_content += "export GOARCH=" + data['GOARCH'] + os.linesep
        shell_content += "export GOOS=" + data['GOOS'] + os.linesep
        shell_content += "./make.bash --no-clean" + os.linesep
        shell_content += os.linesep
    print(shell_content)

即:

1.先从系统环境变量中获取到$GOROOT
2.再执行$GOROOT/bin/go tool list list -json,获取对应版本golang所支持的所有GOARCH和GOOS
3.依次export GOARCH、GOOS,并执行make.bash(windows下应该改为make.bat)

解决windows 10烦人的"没有默认的邮件客户端"对话框

1.在系统设置中,将默认邮件程序设置为“邮件”
2.在下方“按应用程序默认值”选项中,找到邮件,点击管理,将所有关联项选择为“邮件”
3.费事一些,新建一个空白文件分别将后缀修改为:

.mapimail
.ofs
.ost
.oft
.pst

依次在上述文件上右键,选择打开程序,变更为始终使用IE打开
4.编辑注册表,找到

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services

下。 找到4项 “OneSyncSvc”“OneSyncSvc_sessionID”“UserDataSvc”“UserDataSvc_sessionID” 把每项里“Start”的值设为4,重启就能看到效果了。(0 引导,1 系统,2 自动-默认,3 手动,4 禁用)
其中sessionID为数字

解决outlook 2016 for mac 无法全文检索邮件

1.关闭所有office应用(含outlook)
2.进入终端命令行:

#关闭索引
sudo mdutil -i off
#删除索引
sudo mdutil -E 
#重建索引
sudo mdutil -i on / 

3.为outlook邮件创建索引,完全复制运行此命令

mdimport -g /Applications/Microsoft\ Outlook.app/Contents/Library/Spotlight/Microsoft\ Outlook\ Spotlight\ Importer.mdimporter -d1 ~/Library/Group\ Containers/UBF8T346G9.Office/Outlook/Outlook\ 15\ Profiles/Main\ Profile

通过以上命令操作完成,打开outlook2016就可以搜索了

golang初始化脚本

血的教训,windows环境中一定在golang编译的时候先停止alibaba pc safe service这个操蛋的进程!!!

@echo off

rem 环境变量定义
set BASE_PATH=%~dp0
set REAL_GOROOT=%BASE_PATH%GOROOT\go1.10.2\
set REAL_GOPATH=%BASE_PATH%GOPATH\
set DEST_GOROOT=c:\go
set DEST_GOPATH=c:\gopath

rem 打印变量
echo ========================== 环境变量 ================================
echo 当前目录为%BASE_PATH%
echo 将【%REAL_GOROOT%】链接至【%DEST_GOROOT%】
echo 将【%REAL_GOPATH%】链接至【%DEST_GOPATH%】
echo ================================================================
echo 按任意键开始
pause

echo 开始执行....

if exist %DEST_GOROOT% (
    echo 【%DEST_GOROOT%】 已存在,即将删除
    rd /s /Q %DEST_GOROOT%
) else (
    echo 【%DEST_GOROOT%】 不存在
)
mklink /J "%DEST_GOROOT%" "%REAL_GOROOT%"
::如果有的话,先删除GOROOT
wmic ENVIRONMENT where "name='GOROOT'" delete
::创建GOROOT
::wmic ENVIRONMENT create name="GOROOT",username="<system>",VariableValue="%DEST_GOROOT%"
wmic ENVIRONMENT create name="GOROOT",username="%username%",VariableValue="%DEST_GOROOT%"


if exist %DEST_GOPATH% (
    echo 【%DEST_GOPATH%】 已存在,即将删除
    rd /s /Q %DEST_GOPATH%
) else (
    echo 【%DEST_GOPATH%】 不存在
)
mklink /J "%DEST_GOPATH%" "%REAL_GOPATH%"
::如果有的话,先删除GOPATH
wmic ENVIRONMENT where "name='GOPATH'" delete
::创建GOPATH
::wmic ENVIRONMENT create name="GOPATH",username="<system>",VariableValue="%DEST_GOPATH%"
wmic ENVIRONMENT create name="GOPATH",username="%username%",VariableValue="%DEST_GOPATH%"

echo 执行完成,请手动在环境变量PATH中添加【%DEST_GOROOT%\bin】
echo 按任意键结束
pause