通过二进制的位操作,可以简化很多问题的分析。
例如现在有四个角色,分别为:读者,作者,编辑和管理员。有四个不同的权限使用四位的二进制数表示:
每个角色的权限如下:
要判断一个角色有哪些权限,人眼可以直接看对应的位置上面是0还是1,是0就是没有权限,是1就是有权限。在程序里面可以通过和对应权限的四位二进制数取位与操作。例如,0111编辑是否有写权限?因为0111 & 0010 = 0010 所以有写权限。只要角色的四位二进制数和权限的四位二进制数取位与,得到的结果还是权限的四位二进制数,那么就有这个权限。
正常情况下人有十根手指,所以一共可以计数1023个,但是一般在计数到第4个数的时候你就会挨打。明白二进制的自然知道我说的是什么意思。不明白二进制的,请看下面的动图:
Markdown在写作方面有非常好的优势,可以让写作的人不用关心格式,从而专注于要写的内容。但是Markdown不能进行缩进,这导致在一些大纲类的文本信息的显示上不太友好。Workflowy的出现可以解决这个问题。Workflowy只支持文本,界面极其简洁:
通过它来创建一个大纲,有助于理清思路。
在HTML的<form></form>
表单中,有一个属性叫做action
,它的值是空或者是一个URL的相对路径或绝对路径。如果为空,表单将会被提交到现在这个页面的URL;如果不为空,表单将会被提交到action的值对应的页面来处理。
理解这一点,那些喜欢在Flask中,把GET和POST写到一个Route,同时又要为GET带参数的人,需要特别注意。因为当你POST的时候,如果action不为空,参数可能会被丢失。
如果你想在局域网中共享一个文件,你可以通过Python 3快速完成:
cd
进入你需要分享的文件所在的文件夹python3 -m http.server
回车ip地址:8000
例如:192.168.2.13:8000