现在在用的HEXO主题里,有一个标题旁边的图片写错了,导致显示是个方块,挺丑,想从现在的字体里选一个,却不知道怎么弄出来全部的。
发现有个网站,https://icomoon.io/app/#/select
选择导入图标,然后选择SVG文件。
选择一个图标,点下面的产生字体,就能在下一页看到这个图标的16进制编码了。
GoLang的编程规范
分享一张Golang的编程规范,来源见水印。
新一轮学习开始了
新的产品release,经过两个多月的努力已经正式的发布了,突然感觉又要闲下来了。
过去的一段时间还是挺充实的,干的不少的活,下一步计划还没有完全确定下来,不过,现在可以准备学习一个Go Lang了。
活在当下
思考过去,过去全是悔恨;
思考未来,未来全是焦虑。
只有当下的时刻,才是生命的展开。
过去的快乐被回忆,害怕将来不再拥有,徒增焦虑;
过去的不快乐被回忆,悔恨又增加几分。
担心未来的快乐会变成泡影,快乐变焦虑;
惦记未来的不快乐是徒劳无功,更加焦虑。
人生不会有永恒的快乐,只有快乐和不快乐,
活在当下,活在现在的这一刻,
忘掉所有的不快乐,平淡才是真的快乐。
github push失败,删除git历史中的大文件
转移repo的时候,直接push会报错文件大小受到限制,但是这个文件只存在于commit history, 并不在实际文件中。解决步骤如下。
- 使用如下的命令找出history的大文件.
https://stackoverflow.com/questions/10622179/how-to-find-identify-large-commits-in-git-history
1 | git rev-list --objects --all | |
- 使用bfg -D <文件名>, 直接删除。
- 清理缓存。
1 | git reflog expire --expire-now --all && git gc --prune-now --aggressive |
- 强制推上Github。
1 | git push -f |
罗翔老师讲的一点感悟
昨天是段历史, 明天是个谜团,
而今天是天赐的礼物, 像珍惜礼物那样珍惜今天.
对于不可控的事情,我们要保持乐观和自信;
对于可控的事情,我们要保持谨慎和节制。
对于不可控的事情,你的焦虑和恐惧于事无补,
你焦虑改变不了明天,反而会影响今天的心情;
你的恐惧也改变不了明天,因为人生,唯一恐惧的就是恐惧本身。
但是对于可控的事情,能不能好好的利用时间就是可控的,你要谨慎,要节制。
因为如果不谨慎不节制就会乐极生悲。
今天是个礼物,大家好好的把握今天。
Python的三元运算符几种替代方案
在Python语言中,是不支持三元计算符的,比如Java中用这种形式,来判断身份证的男女
1 | String gender = Integer.parseInt(idcard.substring(16, 17)) % 2 != 0 ? "男" :"女"; |
而在Python中没有这个运算符,有一个if else可以替代
1 | gender = "男" if int(idcard[16:17]) % 2 != 0 else "女" |
或者这样:
1 | gender = int(idcard[16:17]) % 2 != 0 and "男" or "女" |
更或者这样:
1 | # 利用int(True)=1和int(False)=0, 可以实现下面的选择 |
还可以这样
1 | # 利用True和False当作字典的key, 可以实现下面的选择 |
如果判断的东西是否定和非否定关系,甚至还可以这样.
1 | # 同样是利用利用int(True)=1和int(False)=0, 然后切片数组 |
windows 10 切换WIFI和网线的优先级
在办公室里需要同时连接网线和WIFI,网线连通公司内网,WIFI链接外网,手动切换比较麻烦,手动配置路由也比较麻烦。
查询了一下,发现可以通过设置网络的优先级来实现切换默认网络,找了找命令,可以用powershell来执行。
管理员模式运行powershell,获取网络列表, 过滤出IPv4且连接状态的网络.
1 | PS C:\Users\JinlohWu> Get-NetIPInterface -AddressFamily IPv4 -ConnectionState Connected |
然后调整WIFI的优先级:
1 | PS C:\Users\JinlohWu> Set-NetIPInterface -InterfaceIndex 21 -InterfaceMetric 95 |
这个命令中-InterfaceIndex 指的是第一个命令结果网卡的索引号,-InterfaceMetric 用于指定接口跃点数。
接口跃点数数值越小,那么优先级越高,优先级高就会变成首选网络。
通过把WIFI网络的跃点数调成95或5, 这两条命令的交替执行就能达到wifi网络和有线网络交替成为默认网络,状态栏的网络图标的变换可能稍有延迟。
flask-sqlalchemy 同时连接多个数据库,动态获得不同的session
目前正在用Flask做一个小项目,持久层用的是flask-sqlalchemy, 这个和直接使用sqlalchemy还略有些不同。
项目中有个需求,要从另外一个mssqlserver数据库中读取数据,查到的很多资料都是需要再次在代码定义数据库的表结构,通过定义不同的bind,然后使用关键字”bind_key“把表映射的不同的数据库中。这样略有些麻烦,要对接的mssqlserver是另外一个C/S系统的数据库,主要是读取报表功能,已经找到了一个方法,可以通过在界面上操作,直接获取到所有对数据库的操作。
1 | SELECT st.text as sql_statement, |
执行这条sql就可以知道这个客户端对sqlserver最终执行了什么,所以简单的操作就是直接把sql语句拿到我们的系统里直接执行就可以了,所以就需要一个方法传入一个变量,就直接拿到特殊的session,而这个session又是ORM框架管理,查了很多资料,包括flask-sqlalchemy的官网后都没有找到直接答案,自己翻了翻源码,发现这样实现是可以的。
配置部分:
1 | from contextlib import contextmanager |
正常的按照官网的逻辑是可以使用的。具体参考这里https://flask-sqlalchemy.palletsprojects.com/en/2.x/binds/
如果想直接拿到一个session去执行sql语句,可以这样:
1 | sql = 'select * from user' |
通过给session_scope传入不同的变量,就可以获得一个针对不同的数据库的session。