存档

作者存档

win10 英文系统控制台中文显示乱码

2019年11月1日 没有评论

最近写了一个console的小工具,但是发给对方,在界面上中文显示乱码。原因也很简单,就是因为对方使用的是英文系统,其语言代码页用的是英语。可以通过下面的方法来解决。

打开控制面板,切换图标按照类型显示,选择“时钟、语言和区域”链接,再选择“区域”,切换到最后一个“管理”选项卡。

在对话框的底部,有一个“更改系统区域设置…”的按钮,点击后会弹出一个新的对话框,在里面选择“中文(简体,中国)”,然后就一路确认,最后按照提示重启系统。

系统重启完成后,再运行程序,就可以正常显示中文了。

分类: 日常 标签:

C#中接收系统屏幕锁定和解锁的事件

2019年10月22日 没有评论

最近在做一个 demo,需要去监听用户是否有锁屏,或者注销操作。用 C++ 可以去接收特定的消息去处理,但我总觉得 C# 应该有更好的实现。

搜索了一番,果然找到了,还是微软好呀,啥都为我们考虑到了,搞了一点动力都没有。

为了实现这样的效果,需要使用 Microsoft.Win32.SystemEvents 类,他提供了一些事件,我们可以注册这些事件来完成自己的需求。

Microsoft.Win32.SystemEvents.SessionSwitch += new Microsoft.Win32.SessionSwitchEventHandler(SystemEvents_SessionSwitch);  
void SystemEvents_SessionSwitch(object sender, Microsoft.Win32.SessionSwitchEventArgs e)  
{  
  if (e.Reason == Microsoft.Win32.SessionSwitchReason.SessionLock)  
  {   
    // 屏幕锁定  
  }  
  else if (e.Reason == Microsoft.Win32.SessionSwitchReason.SessionUnlock)  
  {   
    // 屏幕解锁  
  }  
}

是不是很简单?都不需要实例化类。但是需要注意的是,因为是静态类,所以在必要的时候,需要显示地去取消事件注册,以避免内存泄露。

分类: 日常 标签:

Ubuntu 安装SSR

2019年10月11日 没有评论

先前在 Vultr上安装的是 SS,貌似状态不好,时好时坏。

后来无意间看到一个免费的 SSR 服务,虽然时不时地更新端口什么的,好在可以及时地感知更新,因为我专门写了一个python脚本实现自动化,斗智斗勇的过程中也学了基本知识。平时就用来搜索下开发相关的文章什么的,一时倒还蛮好的。

唯一的不顺的地方就是,该服务禁止下载大文件,也不知道是如何做到的。导致我从Google Drive里无法下载一些机器学习相关的数据集什么的。

只好回过头来,在服务器上搭建自己的SSR,借此来做文件中转。

我选择了别人提供的最简单的方式:一键安装脚本。

wget -N –no-check-certificate https://raw.githubusercontent.com/ToyoDAdoubi/doubi/master/ssr.sh && chmod +x ssr.sh && bash ssr.sh

后续的步骤就不用写了,都是中文提示,基本上使用默认配置就可以了。

分类: 一句话 标签:

Angular 的 base 文件路径

2019年9月18日 没有评论

在最近的Angular 项目中,由于需求变多,按照过去的流程,资源协调无法全部满足。所以就决定按照功能先打版本测试下,等逐渐稳定后再安装时间点合到主分支上。这就要求我们可以并行支持多个部署。

最简单的一个方式就是在原来的服务器目录下创建子目录,客户端根据不同的功能访问不同的版本目录。

实际操作后,发现有些资源无法显示,原因在于路径不对。网上检索了下,均提示使用 base-href 参数来打包。

调用后发现还是无法满足要求,最后换了个写法 ng build –base-href ./voip/../,跳到子目录里再跳出来,是不是很傻X,但是有效果诶。

分类: 一句话 标签:

下载 Google Drive 文件

2019年9月11日 没有评论

最近在跟进一些和机器学习相关的事情,就觉得自己的数学知识实在是太渣了,有一些还给了老师,剩余的部分不够用。

诶哟喂,这个公式怎么就推导出这个结论了?

扯远了,有一些数据集是放在墙外的,要下载回来就颇费点功夫了。因为我用的梯子是免费的,服务器后端貌似做了些限制,导致在下载大文件的时候无法成功下载。

有的模型或者数据就放在别人的Google Drive里,中转到自己的空间里就想着怎么可以下载回来。

在网上发现了一个工具 Gdrive,是命令行方式的,虽然官方说不再支持了,但是看起来似乎够简洁。

首先,去 https://github.com/gdrive-org/gdrive/releases 下载和自己系统对应的版本,然后给移动到 /usr/bin 下 ,为其添加执行权限, chmod +x /usr/bin/gdrive 。

首先运行 gdrive about 命令,会显示一个链接地址,该地址即为验证链接,复制地址,在浏览器里打开(这里需要翻墙),登录成功,给予gdrive 访问权限后,浏览器界面里会显示一串字符。

复制该字符,然后粘贴到命令行里,回车。如果会显示云盘的大体信息时,就表明前置依赖都已经配置好了。

后面就很简单了,都是常用命令:

gdrive list 显示根目录下的文件夹和文件

gdrive upload xxx 上传文件到云盘里

gdrive download xxx 下载文件或者文件夹到本地

gdrive mkdir xxx 创建目录

我这里试了一下,貌似通过别人分享的内容,使用 list 参数是没有列出来的。这意味着白折腾了,囧。

分类: 一句话, 日常 标签:

增驾报名

2019年8月13日 2 条评论

距离上一次报名已经过去了好几年了,可是我仍然不会开车。嗯,哪种车都开不好。

小电驴已经陪伴了我好几个年头了,现在电池就需要一天一充了,而且最关键的是有的时候道路颠簸下,就直接断电了,也不清楚具体问题出现在哪里。

现在随着政策要求越来越严格,搞一个摩托车作为备选是明智的。 上个月终于去报名了,刚交完钱,学费就降了400软妹币。

上完法培课,又去考了科目一,现在就卡在科目二了。诶,头疼。要是可以直接买一个该多好呀。

分类: 日常 标签:

C++ 编译错误:对象或库文件是使用比创建其他对象所用编译器旧的编译器创建的

2019年7月19日 没有评论

今天在集成由 Intel 提供的一个lib库时发现,在release模式下,编译会失败,提示“对象或库文件是使用比创建其他对象所用编译器旧的编译器创建的”错误信息。

由于项目是使用VS2017创建的,但是lib库看样子是使用2015来编译的,开始的时候以为是版本不一致导致的,但是细细一琢磨,对于Debug来说,就没有问题,看起来这2者会有什么差异。

最后发现,如果针对release关闭“全程序优化”选项,就可以编译成功了。

分类: C++, 一句话 标签:

解决 Unable to locate package 问题

2019年6月5日 没有评论

今天要在服务器上安装 python 相关的一个服务,安装 pip 时提示无法找到包 python3-pip,第一次碰到喔。

在网上搜索了下,别人的答案都是说 sudo apt-get update ,以此来主动更新源。这么简单的方法我怎么可能想不到呢,就是因为没有效果嘛~

后来终于发现了有不一样的答案里,激活 ubuntu 的源:

sudo add-apt-repository main
sudo add-apt-repository universe
sudo add-apt-repository restricted
sudo add-apt-repository multiverse

这个时候再 update 就可以正常的安装了。至于为什么这些源莫名其妙地丢失了,实在是是不知道什么原因。而且有2台机器都是这样子。

分类: 日常 标签:

pip3 解决 ImportError: cannot import name ‘main’ 问题

2019年5月13日 没有评论

今天想升级 pip3 看看有没有什么需要更新的,在运行 python3 -m pip install –upgrade pip 升级后,查看 pip3 -V 版本号提示报错,错误为 cannot import name ‘main’ 。

网上搜索了一个简单的解决方法,打开 /usr/bin/pip3 这个文件,修改2行代码,然后保存即可。见下图红色字体标记部分。

再运行就没有问题了。

分类: 一句话 标签:

Git 代码签出错误解决

2019年5月5日 没有评论

今天是节后的第一个工作日,下午一到单位就开始拉代码,但是很遗憾,命令行有报错:

error: cannot lock ref ‘refs/remotes/origin/aparna_VAN-419‘: is at 6adb1ff7b8c5781af00d3d08125c69b30f127597 but expected f74fc99045f08484c68a20213768b87736edc244

除了重新克隆一份外,还找到了一个相对简单的方式:

进入到项目根目录,执行下面命令:
rm .git/refs/remotes/origin/aparna_VAN-419
git fetch

分类: 一句话 标签: