Django 写个过滤器 filter

用 Django 快速开发一个项目,发现 Django 的模板本身不带有整除功能,因此自己手写一个。 ├── templates │ ├── app │ └── base ├── templatetags │ ├── app_extras.py │ ├── __init__.py │ └── __pycache__ ├── tests.py ├── urls.py ├── utils.py └── views.py 这是目录结构。在 urls.py 添加 app 的名称,例如 app_name = ‘app’ ,然后在与models.py 同级的目录下,新建一个 python 包, templatetags 的,新建自己需要的包名即可。 app_extra.py: from django import template register = template.Library() def mod(value): return value % 11 register.filter('mod', mod) 这里因为需求比较简单,因此直接就赋值了 11. 应用到模板中: {% load app_extra %} {% for image in image_list %} {% if forloop.

Read More

记恢复 https

这几天 https 挂掉了,似乎是因为铁门的证书(过期,不被chrome认可)了。因此重新搞一下 https。 恢复 https 也没有做什么工作,就是把之前的证书重新申请一次,然后下载下来的文件把之前的 https 文件替换掉。https 相关的文章很多,我就不再赘述了。可以参见很多人的文章。 此处唯一需要注意的是,我使用 Docker,对于 certbot ,也就是 letsencrypt 的支持不够好(也可能是我在man里面粗略的看了一下,没有找到)。因此,对于三个与的letsencrypt我就不使用了。 本篇是老文,之前一直都没有发出。 今天发出,作为博客长时间滑水的终止符。 这次更新 https,也做了一些工作,就是把原来的 rewrite 选项改成了 301,做了一个重定向,整个速度都提升了不少(未测试,仅观感),感觉很不错。因此把之前的配置贴出来。 原来的配置 location / { rewrite ^ https://$host$request_uri? permanent; } location ^~ /.well-known { allow all; root /data/letsencrypt/; } 现在的 return 301 https://$host$request_uri;

Read More

python functools

Python functools 一直有个很好的特性,叫做 partial ,片函数,一直都没有使用过。最近通过阅读别人的代码,学会了这一技能,着实好用。 使用 partial,可以把一些固有功能代码做一个整合; 比如我希望一个函数专门做 int2 转换 int2 = partial(int, base=2) 甚至还可以再过分一点,把 base 变成一个字典量传入。 多使用内建函数 locals,可以极大的减少自己的代码量;真正的 Pythonista,永无止境。 def in_func(): a = 2 b = 3 def test(a, b, **args): return a + b print(test(**locals()))

Read More

为什么我密码对了,就是登录不上?

今天又偶遇了之前用阿里云出现的问题: 明明密码没有错,本地登录可以,但远程登录就是不ok。 之前一直没有排查到错误,今天终于在本地机器的加持下得以解决。这是什么问题呢?IP地址冲突。 的确是IP地址冲突。首先先使用校园网client ssh b-server 服务器,失败了。使用同一个物理主机的a-server与b-server进行互联,成功了。校园网client能够连接a-server。因此,观察 a-server 和 b-server 的区别,发现 a-server 子网掩码是255.255.255.128,而 b-server 的子网掩码是 255.255.255.0。 此外,还有: 查看系统开放的端口 netstat -nltp 测试本地是否能够访问,排查本地问题 ssh user@locahost 子网掩码不同,为什么就连接不上呢?(原理) 最终,解决了这个问题。通过重启 networking 以及 重新通过 dhcp 获取 ip 地址。 使用 systemctl restart networking.service 重启 networking 服务。 使用 ifconfig eth0 down; ifconfig eth0 up 来开关具体的网卡。 使用 # dhclient -r 释放当前ip 使用 # dhclient 获取新的ip 大功告成,算是阶段性的解决了这个问题。DDNS迫在眉睫啊!

Read More

安装 GNU/Linux

之前一直搞不清楚 UEFI 和 Legacy 区别在哪里,今天搞了一下 Manjaro 终于搞明白了;比较好笑的是,我参考的是 Ubuntu 的文档。 https://help.ubuntu.com/community/UEFI 安装 Manjaro 的时候,一直都有个安装引导程序到某处,很纳闷,为啥我这里有这个东西,别人截图就没有。后来更换了rufus的写入的模式,也就是 UEFI only。然后重新以 UEFI 模式载入,终于,引导不再有之前的“安装引导程序“了。 感动不已,于是在这里记录一下。 https://askubuntu.com/questions/63610/how-do-i-remove-ubuntu-in-the-bios-boot-menu-uefi

Read More

绘制流程图,形成文档

可以使用的工具 https://www.websequencediagrams.com/ MY CHOICE: https://mermaidjs.github.io/ Another choice: google key word: sequence graph 把 svg 转换成 png 文件 Or without installing anything: qlmanage -t -s 1000 -o . picture.svg It will produce picture.svg.png that is 1000 pixels wide. I have tested it only on OS X 10.6.3. 例如: sequenceDiagram App->Server: 请求视频服务 Server–>Server: 生成支付信息 Server->App: 返回支付信息 Note left of App: 获取支付的相关信息 App–>支付宝: 完成付款 支付宝–>App: 支付成功 Note left of App: 获悉支付结果 支付宝->Server: 根据回调URL,发送支付结果 Server->App: 根据支付结果,发送给客户端

Read More

ssh 显示图像

原来一直认为ssh仅仅是一个字符界面,最近发现其实可以传输xserver中的图像。 方法很简单,只需要在ssh的选项中添加-Y就可以了。比如原来的ssh命令是这样: ssh ubuntu@localhost 现在改成这样 ssh -Y ubuntu@localhost 非常简单有效。 另外,远程查看Ubuntu中的图像,可以使用eog命令。安装: sudo apt install eog 安装完成后,直接运行eog ./test.png即可。这对于服务器调试相当方便了! SSH 可选的加速策略 -C Requests compression of all data (including stdin, stdout, stderr, and data for forwarded X11 and TCP connections). The compression algorithm is the same used by gzip(1), and the “level” can be controlled by the CompressionLevel option for pro- tocol version 1. Compression is desirable on modem lines and other slow connections, but will only slow down things on fast networks.

Read More

classifier 文件分类

最近没有什么故事要讲,着实有点忙。但是文章太长时间不发也不好,说不定我有那么几个隐藏的很深的不爱说话的粉丝。 这里介绍一个小工具好了,·classifier· 是一个文件分类工具,包括音乐,pdf,图像等等。运行之后可以自动归类这些文件,懒人福音。 安装 pip install classifier 运行 进入目录,然后运行 classifier,像这样: $ classifier 然后文件就会变得井然有序啦! 官方示例: Example []1Before: Downloads │ ├── project.docx │ ├── 21 Guns.mp3 │ ├── Sultans of Swing.mp3 │ ├── report.pdf │ ├── charts.pdf │ ├── VacationPic.png │ ├── CKEditor.zip │ ├── Cats.jpg │ └── archive.7z []2After: Downloads │ ├── Music │ │ ├── 21 Guns.mp3 │ │ └── Sultans of Swing.mp3 | | │ ├── Documents │ │ ├── project.

Read More

# Difference between map & unordered_map

目前有三个容器我不太了解其内部实现,打算通过 进行学习 map multimap unordered_map map map 是目前最简单的结构,实现的方法是 BST(binary search tree)。因此,其时间复杂度等都与 BST 相同,搜索,增加,删除基本时间都是 log(n)。 use map when 数据有序 需要按照有序的顺序获得元素 unordered_map unordered_map 则是通常所说的 hash table,哈希表,搜索,增加,删除都是以hash表为主,较好的情况是o(1),也就是hash函数可以较好的把元素分布到表中,如果 hash 函数比较糟糕,则每一次添加删除查找,都是完整遍历一个表。 use unordered_map when 对数据计数 只需要根据 key 访问 value 简单来讲,就是当你需要使用 vector 来计数的时候,可以用 unordered_map 来代替。 | map | unordered_map --------------------------------------------------------- Ordering | increasing order | no ordering | (by default) | Implementation | Self balancing BST | Hash Table | likeRed-Black Tree | search time | log(n) | O(1) - Average | | O(n) - Worst Case Insertion time | log(n) + Rebalance | Same as search Deletion time | log(n) + Rebalance | Same as search multimap multimap containers are generally slower than unordered_multimap containers to access individual elements by their key, but they allow the direct iteration on subsets based on their order.

Read More

关于我

Master@USTB 开源爱好者。创业者。我相信Mozilla宣言。 Email:blog#svtter.cn Friends 英勇的小明 奋斗的承诺 Kinice It-tree 曾用博客 http://blog.csdn.net/svitter https://segmentfault.com/blog/svtter

Read More