下半年的一些计划

越来越觉得自己进步很慢了,几乎停止不前了,大城市的焦虑、生活的琐碎搞的整个人都比较消沉,需要找点事情做,找个感兴趣的事情。

准备看看数据结构、算法,虽说工作中用不到,但是觉得挺有用的,能理解很多东西,觉得挺有意思,而且现在有很多刷题的网站,能够做出来也会有些喜悦。

接下来就坚持学习算法,每日做题了,充实!

Comments

近况

转眼19年过去了一半了,回想这半年好像也没做啥,时间过的就是这么快。

想想自己都要三十了,不敢想啊,可怕。

毕业也5年过去了,有时候总是会回想自己工作的这几年,开始进步还挺大,后来越来越小,有考虑自身的原因,也想过所在环境的问题,都有吧,主要还在于自己,对自己有些认知。

年龄越大,琐事越来越多,自己不够自信,可能从小没有培养出来,我哥一直安慰我,哈哈哈。

接下来继续努力,有进步就可以,平平淡淡。

Comments

有趣的乘法

leetcode算法思路

leetcode地址:递归乘法

该题让用递归的方法求乘法的结果,要求不要用 * 运算符,可以使用加、减、位移

题目比较简单,把乘法换成加法去做

解法1:

1
2
3
4
5
6
7
8
9
10
11
12
class Solution {
public int multiply(int A, int B) {
// A * B = (A<<1)(b>>1) + A(B%2)
if (B == 0) {
return 0;
}
if (B == 1) {
return A;
}
return multiply(A, B-1) + A;
}
}

image-20200909112413655

在题解中看到一种换算成位运算的操作A * B = (A<<1)(b>>1) + A(B%2),结果内存消耗稍稍少了一点

解法2:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
class Solution {
public int multiply(int A, int B) {
// A * B = (A<<1)(b>>1) + A(B%2)
if (B == 0) {
return 0;
}
if (B == 1) {
return A;
}
if (B % 2 == 1) {
return multiply(A<<1, B>>1) + A;
} else {
return multiply(A<<1, B>>1);
}
}
}

image-20200909112245826

Comments

2018 年终总结

2018就要结束了,总会想起2010年上大学的情景,当时年末还在想明年就是2011年,这个念起来好拗口,一眨眼2018年都要结束了,回顾这一年。。。

加油吧!!!

Comments

程序员的自动化

18年是个多病的年,妈妈从年初腿部肿,找了好多医院医生现在吃药也没根治。随着现在电子设备的普及,电脑、手机重度使用者,导致现在眼睛疾病越来越多。先是室友眼睛有问题,寻医问药很多地方,最后拖的时间长了,做了手术恢复中,恢复的挺不错,又是我女朋友突然一天说眼睛不舒服,感觉磨的厉害睁不开眼,赶紧带去医院,最后诊断为干眼症,好在及时发现,医生开了些药需要慢慢调理,是个长期的病,以后用眼都要注意休息了。

经过这次事情之后,毕竟班还是要上的,医生也不建议丢了工作,平时工作就需要多多注意了,但是毕竟天天面对电脑也很无奈,女朋友在一家知识产权公司做文职工作,在我看来没什么技术含量也没啥提升的空间,尽早离开为好,放在年后考虑了,只是目前有一份每天都要整理邮件的工作,最初几天我去公司帮忙弄了下,去了一次我眼睛都要瞎了,windows电脑,屏幕小,分辨率低,实在是受不了,更别说她现在眼睛还不好,于是到家想了下写个程序能提高一些效率,于是便有了下文的产出。

首先邮件是outlook导出的.msg后缀的文件,本人电脑Mac Pro无奈打不开这种格式,还花钱买了MailReader软件,后来发现没有必要,分析了下需求准备用python写一个简单的处理脚本,本人平时也不接触python,写的比较垃圾,大家不要在意细节。

主要记录一下使用的关键package,其它的都是一些细节的需求,没有什么难度,无非是一些字符串的处理,循环,文件处理,最大的问题就是没有办法读取到邮件的主题,千辛万苦最后找到了一个包 extract_msg 需要的依赖也比较多,一一安装好就可以,主要用到了它的

1
2
3
msg = extract_msg.Message("path/to/msg/file.msg", attachmentClass = CustomAttachmentClass)
# get mail subject
subject = msg.subject

其中是用了python的一个web框架 Django 初次使用,没有深入研究,另外前端页面没有写,本来打算找个前端UI框架的,最后放弃了,没有耽误功夫在前端上,主要实现了功能,后期有时间再补上。

代码上传到了 Github

接下来需要有时间待完成的:

  1. 自动识别邮件主题中的卷号
  2. 做一个漂亮的前端界面
  3. 后续优化
Comments

生命不息,折腾不止

最近老大提起了一个说很好玩的聊天客户端weechat,说是很Geek,让我研究下给大家做一下分享,下面记录一下过程。

网上搜索了如何能够在weechat中收发微信消息,最初有点一头雾水,无从下手,只是知道weecaht是一个IRC客户端,官方首页的说明

WeeChat, the extensible chat client.

Fast — Light — Free software

轻量级的开源的软件,听说很多大佬在用(大佬都是在用一些看起来很高大上的东西)

按照官方文档一步一步来就可以,文档写的很清晰,只是需要花点时间理解weechat是做什么的就可以了,实际上比较简单,weecaht只是一个IRC客户端,IRC客户端也有很多,可以选择其它的客户端,weechat可扩展性比较大,装好weechat之后,又在github上找了一个控制网页微信来收发微信的库,在这里https://github.com/MaskRay/wechatircd,按照Readme操作就可以,最后创建一个wechat server

1
/connect wechat

即可加载到网页微信端的所有消息,并且可以是现在terminal中收发消息,看起来很高大上,并且可以随时查看以前的消息,都有日志记录,不方便的是对图片、音频、文件收发不太方便,显示到Terminal都是链接形式,

效果如下:

weechat


2018.12.28 补充:

升级了电脑系统到10.14.2,发现无法显示中文字符,输入中文也无法显示了,都变成了? 查了资料应该是编码问题,最后升级了iTerm2到最新版本发现解决了。

Comments

创意

想一些有创意的ideas

Comments

使用libreoffice转换文档成pdf

需求

将doc、docx、xls、xlsx、ppt、pptx格式的转换成pdf文档

实施

系统是centos 7,这里使用libreoffice,在转换过程中发现,只要是文件中包含中文字符,转换之后文件中成了乱码,不可读

解决

由于centos 7系统中缺少对中文的支持,需要安装中文字库,参考这里centos安装中文字库
安装完成后重启libreoffice即可

附:转换脚本

Comments

Dropbox 同步问题

最初的时候下载了 Dropbox 做为我重要资料的网盘备份,可是最大的问题就是Dropbox的联网问题,众所周知此工具是被限制的,只能想一些办法FQ才可以使用,后来无奈从电脑上删除了,最近几天在整理1password备份的时候,觉得icloud有点问题(原先使用icloud做备份),而且今年icloud中国由云上贵州运营了,也曝出了一些不好的新闻,不知真假,虽然我也在用icloud的免费5G的空间,反正也没有放什么隐私的材料照片,也就无所谓了,密码这个东西还是需要注意些,比较了一下Dropbox相对安全一些,决定重新捡起Dropbox。

此站点我是用的Linode,每个月$5对我来说足够了(没什么浏览量),我在上面部署了ss服务,本地Mac安装ss客户端,添加服务器,选择自动代理模式,由于服务器在日本,延迟200多ms还算可以,基本的Google查询还是可以接受的。

下载Dropbox,安装在本地,安装好之后发现即使开启了ss还是一直处在连接中的状态,无法连接到服务器,于是在网上找到了方法,首先找到ss的自动模式的PAC文件 gfwlist.js,打来看到其中有一行

1
var proxy = "SOCKS5 127.0.0.1:1080; SOCKS 127.0.0.1:1080; DIRECT;";

根据每个人的不同配置跟我的不一样,仅供参考,接着打开Dropbox的偏好设置,找到网络 –> 代理服务器,点击更改设置,选择手动,代理服务器类型:SOCKET5,服务器端口号写上就可以了,点击更新,过几秒发现Dropbox可以连接了

1password在偏好设置中选择同步方式为Dropbox,我只是在Mac跟iphone之间同步,iphone上开启代理即可,经试验,同步还是很快的,可以开心的使用了。

Comments

image storage server

最近发现个人博客网站很少用到图,存储到一些云服务厂商不知道哪天就给封了,还是放在自己服务器比较安全,决定找时间在现有的图片站点加上图片上传功能。

Todo

  • 图片上传服务
  • 考虑服务器安全备份问题
Comments