Wagtail-基于Python Django的内容管理系统CMS实现公网访问 文章目录 Wagtail-基于Python Django的内容管理系统CMS实现公网访问 前言 1....固定的Wagtail公网地址 前言 Wagtail是一个用Python编写的开源CMS,建立在Django Web框架上。...选择wagtail的原因: 它能快速实现页面的表达,对于我这种对新实现的功能想要找到地方进行展示,但前端能力又不太行的同学 基于django 一直会对django的稳定版本进行支持 Wagtail由开发人员为开发人员构建...那么结合cpolar内网穿透可以进行公网远程访问,实现花更少的时间进行配置,而将更多的时间用于完善您的网站。本篇文章介绍如何安装运行Wagtail,并实现公网访问网站界面。 1....固定的Wagtail公网地址 由于以上使用cpolar所创建的隧道使用的是随机公网地址,24小时内会随机变化,不利于长期远程访问。
如何让 .NET Core 命令行程序接受密码的输入而不显示密码明文 发布于 2018-05-26 08:51...而且,由于我们后面持续不断的有输出,控制台不会清除掉这些输出,所以密码会一直显示到缓冲区中——这显然是不能接受的。...写一个让用户输入密码并显示掩码的方法 既然控制台本身并没有提供可以为密码进行掩码的方法,那么我们只能自己来写了: public static SecureString ReadPassword(string...Console.Write(mask); } } password.MakeReadOnly(); return password; } 方法内部接受用户的输入...转换密码 当然,只有对安全级别比较高的库才会接受 SecureString 类型的字符串作为密码;一些简单的库只接受字符串类型的密码。那么在这些简单的库中我们如何才能得到普通的字符串呢?
斯坦福大学兼职教授、谷歌前人工智能科学家吴恩达与腾讯 AI Lab 主任张潼近日接受了华尔街日报全球科技编辑 Jason Dean 的采访。AI科技评论对采访内容进行了整理编辑。 ?...我知道你是对此持怀疑态度的,那么人工智能真正要担心的是什么,最大的机会在哪里?...但我们现在担心还为时过早,因为还没有落地火星,所以我不知道如何有效的解决这个问题。把恐惧的想法抛开,我认为人工智能是一次新的“电力革命”,无论你是在哪一个行业工作,AI都有可能改变它。...就像100年前,电的发明和兴起改变了整个工业一样——从运输、通讯、制造到保健,点点滴滴都在发生改变。 因此,我希望无论从事什么行业,你都能发现如何运用AI。...我确实认为现在正在进入一个需要终身学习的时代。旧的教育模式是,你上大学四年,然后接下里的四十年都可以是不用学习的。而在当今瞬息万变的社会,显然是不行的。
一张图理解: 📷
最近,有读者留言让我推荐开源 CMS。我本想直接回复 WordPress,但是转念一想我玩 WordPress 是 2010 年左右的事情了,都过去十年了,它会不会有些过时呢?...相信你看完这篇文章就会知道:什么是 CMS、什么是无头 CMS、它们能用来做什么,甚至可以头头是道地向别人介绍几款,让人眼前一亮的开源 CMS 呢! 闲话少叙,让我们直接开始今天的分享。 1....独特的 StreamField 技术,可以让内容排版灵活又不失结构,再加上强大的多语言系统,让它在众多开源 CMS 中脱颖而出。...它的强大之处在于提供了丰富、免费、可自定义的主题,用户可以自由搭配轻松建站。专业的会员订阅和数据可视化功能,让内容创作者可以围绕内容,尝试发展商业化业务。除此之外,它还拥有先进的所见即所得编辑器。...会 Python:django-cms 容易接受,wagtail 则更新、势头更猛。 会前端:推荐 strapi 它背后有商业化公司支持,吃透了可以谋个远程全职。
明略是一个大数据分析计算的平台,也是企业级人工智能方案的供应商。 从专业研究到商业化方案,吴明辉如何看待人工智能当前遇到的问题?...所以吴明辉认为,AI商业化的最大障碍在于“人”本身,AI商业化的核心,是如何让用户合理的接受机器的错误。 有无先例可循?...于是归而言之,这位北大AI实验室的高材生认为,现阶段做好AI的商业化应用,一方面抓算法,另一方面抓用户预期,让二者尽可能趋于一致,甚至让算法超预期。...他认为这是一个永无止境的挑战,但如果把算法面对的问题具体化、垂直化,就会让整个挑战变得简单,也更容易在具体问题中实现方案迭代。...其次是对话式人机交互,让应用门槛降到最低,实际使用者通过一个对话框就能解决面临的问题。
设计指南文档中是这样描述的:“当用户用手托举着纸板眼镜时,他们的头部转动速度会受限于身体的转动速度,这样会比只转动脖子要慢得多,从而降低了渲染和延迟所带来的VR晕眩症的发病率,并增强了VR的代入感。...戴着纸板眼镜时移动过快会让人感到不适,因此谷歌耍了个小把戏,强迫用户移动整个上身而不仅仅是头部,借以让他们的移动速度慢下来。 这件轶事值得牢记在心,因为谷歌已准备好在VR上更上一层楼。...它有助于开发者再次使用巧妙的小花招,比如不久之前Penrose Studios为其Gear VR体验所开创的那个:虽然不能让用户在虚拟世界里漫步,但Daydream的开发者可以让用户旋转周围的世界,并放大某个对象...,这样不需离开舒适的沙发,用户就能探索3D空间,从而让Daydream更有可能推广开来,因为并非所有人都有地方或者意愿在家里安装一个带有房间定位的VR系统。...Daydream是基于手机的,这会让相应的头戴视图器更加实惠。虽然不像纸板眼镜那么便宜,但对大多数人来说是负担得起的。
其实,让 JOIN 跑得快的关键是要对 JOIN 分类,分类之后,就能利用各种类型 JOIN 的特征来做性能优化了。...需要说明的是,这里说的主键是指逻辑上的主键,也就是在表中取值唯一、可以用于唯一确定某条记录的字段(或字段组),不一定在数据库表上建立过主键。 主键关联是指用一个表的主键关联另一个表的主键或部分主键。...外键序号化的过程是这样:先读入一批订单数据,设其中某记录 r 中的 pid 对应的是内存中产品表的第 i 条记录。我们要将 r 中的 pid 字段值转换为 i。...回顾与总结 回顾上面两大类、各场景 JOIN,采用 SPL 分情况提供的高性能算法,可以利用不同类型 JOIN 的特征提速,让 JOIN 跑得更快。...对于 JOIN 的不同分类和场景,程序员有针对性的采取上述高性能算法,就能获得更快的计算速度,让 JOIN 跑得更快。 SPL资料 SPL官网 SPL下载 SPL源代码
事实上,服务器端只需要单线程可以达到非常高的处理能力,Redis 就是一个非常好的例子。仅仅靠单线程就可以支撑起每秒数万 QPS 的高处理能力。...今天我们就来带大家看看 Redis 核心网络模块的内部实现,学习下 Redis 是如何做到如此的高性能的! 一、理解多路复用原理 在开始介绍 Redis 之前,我想有必要先来简单介绍下 epoll。...在传统的同步阻塞网络编程模型里(没有协程以前),性能上不来的根本原因在于进程线程都是笨重的家伙。让一个进(线)程只处理一个用户请求确确实实是有点浪费了。...如果同时来了 1000 只羊,那就得 1000 个人去放,这人力成本是非常高的。 性能提升思路很简单,就是让很多的用户连接来复用同一个进(线)程,这就是多路复用。...write 系统调用让内核帮其把数据发送出去即可。
更全面的掌握 看过那么多的博客,如果没有经过自己的整理,终究总是一块块记忆碎片,难成体系!使用合适的工具,正确的方法,才能更好地掌握知识,让知识凝固在脑海,形成一个整体的脉络。...更高效的检索 程序员经常遇到同样的问题,例如说部署开发环境的时候,如果有把解决方案记录下来,就能省去重新解决问题的时间。毕竟重复的谷歌,也是耗时操作。 4 如何管理知识?...另一方面,在这个时代,对于生活中的绝大多数人来说,拓宽朋友圈子的途径几乎只有一个,通过网络,而如何在网络中寻找到气味相投的朋友,如何判断别人和自己是否有共同语言?...献给写作者的 Markdown 新手指南 书写是为了更好的思考 为什么你应该写博客 如何建立自己的知识体系?...如何构建自己的笔记系统? 你的知识管理体系是如何的? 如何提高影响力,为自己代言 我为什么坚持写博客? 方法论-有意识的学习
关于搜索之前分享过 那些你可能不知道的搜索奇技淫巧 ,2020 最全百度网盘搜索,找电影资源不再愁 ,2020 最全电子书搜索网站,找电子书不再愁 ,今天分享的是如何让你的搜索更高效。...不过大多数人还是用百度居多,这里推荐一个 Chrome 扩展 广告终结者 ,它可以清除网页上的浮动广告,购物广告,恶意弹窗,跟踪代码,让你浏览网页更快更清爽, 而且支持绝大多数浏览器。 ?...hl=zh-CN ,安装Chrome扩展方法见之前文章上不了谷歌如何安装 Chrome 扩展? 安装扩展后再次百度搜索没有垃圾广告了,第一个就是官网,搜索效率明显提高了。 ?...,能更友好的自定义设置,修复百度搜索样式丢失的问题。...关于油猴脚本之前介绍过很多次了,公众号后台回复 油猴 获取,安装详情见文章实用油猴脚本推荐,让你的谷歌浏览器更强大 搜索框下方列出了网页,翻译,知识,图片,视频,音乐,社交,购物等搜索网站快捷方式,可以直接进入这些网站搜索对应关键词
为了节省大量用户下载占用的带宽,又不便使用 P2P 技术,需要做一个尽量小的独立 EXE,这里是对如何让一个简单的 EXE 体积尽量小的部分方法与每一步的实际效果。...可能是示例程序过于简单,所以此开关并没有产生实际的影响,但是在其它有需求的情况下是可以考虑使用它的,在复杂程序中开优化减小体积还是比较明显的,当然也要提防优化带来的问题。...这个开关对 Release 文件体积影响较小,在文件较大时也只能压缩几 KB 的大小,而且要承担没有 PDB 后期调试困难的结果,不太建议使用。...自己实现用到的 CRT 函数 上面的程序里用到了strcpy,那么我们就自己来实现它,当然你用跟它相同的名字和声明实现一个函数是通不过编译的,VC 会报错error C2169: 'strcpy' :...这些在代码量大的情况下可能会是一个比较繁琐的过程。 加壳压缩 使用比如 UPX,ASPack 等加壳工具对可执行程序进行压缩。
# 0 移动到行首 # $ 当前行的末尾 # gg 文件第一行 # G 文件最后一行 # 行号+G 指定行 # +o 跳转回之前的位置 # +i 返回跳转之前的位置 退出 #...old/new 替换该行第一个匹配串 # :s/old/new/g 替换全行的匹配串 # :%s/old/new/g 替换整个文件的匹配串 执行外部命令 # :!...\ } # o 打开关闭文件或目录 # e 以文件管理的方式打开选中的目录 # t 在标签页中打开 # T 在标签页中打开,但光标仍然留在 NERDTree # r 刷新光标所在的目录 # R 刷新当前根路径...# I 显示隐藏文件 # C 将根路径设置为光标所在的目录 # u 设置上级目录为根路径 # ctrl + w + w 光标自动在左右侧窗口切换 # ctrl + w + r 移动当前窗口的布局位置...# :tabc 关闭当前的 tab # :tabo 关闭所有其他的 tab # :tabp 前一个 tab # :tabn 后一个 tab # gT 前一个 tab # gt
类型提示 当我在看一些第三方库时,看到了如些的写法。...def add(x:int, y:int) -> int: return x + y 这里的冒号和箭头是什么东西了,当时是很奇怪这里的写法,后面在网上查阅资料时,说是type hints,也就是类型提示...这一点是不会改变的,但在 Python 3.5 引入了一个类型系统,允许开发者指定变量类型。它的主要作用是方便开发,供IDE 和各种开发工具使用,对代码运行不产生影响,运行时会过滤类型信息。...例如上面的代码,我们就知道传入的x和y是整数型,返回的也是整数型,但是我们需要注意的是,如果不按照其指定类型传入参数,代码也是不会报错的。...,通过函数定义,我们就可以看出参数的类型。
牢记变量、函数或者类的名称应该要回答这三个大问题:存在的理由?做了什么?和如何使用?...除此之外,我们也要使得函数内的语句处于同一个抽象程度。 在同一个函数中混合不同层次的抽象,会使得其令人迷惑,并且不利于管理。主程思考函数就像在讲故事一样,而非如何去写代码。...想要通过清晰的条理,细节的关注和明晰的想法来让人留下深刻印象。再看看代码,如果他们看到乱七八糟的代码,没有清晰的开头和结束,那么毫无疑问会会玷污我们的荣誉。...如果你觉得让代码工作是专业开发者的头等事情,那你离真相将更远。你现在创建的功能很有可能在下个版本中被替换,但你的代码可读性将不会改变。...最后 正如Harold Abelson总结道: 程序员必须为了让人能阅读代码而书写代码,而机器执行只是顺便的。
如何让谷歌收录你的网站 说明 网站在没有提交搜索引擎收录之前,直接搜索你网站的内容是搜不到的,只有提交搜索引擎之后,搜索引擎才能收录你的站点,通过爬虫抓取你网站的东西。...步骤一:修改config.yml下的url 在hexo根目录的_config.yml文件,找到url,将url的值改为自己的域名 url: 域名 例如:url: https://www.xxxxx.top...搜索引擎通过这个文件来抓取网站页面 步骤四:进入谷歌站长工具配置(需要科学上网) 1.现在我们需要将网站提交谷歌搜索引擎搜索,进入谷歌站长平台,(需要科学上网)点击跳转:searchconsole登录你的谷歌账号之后会让你验证网站所有权...2.选择第一个,填入你的域名,子域名部分(例如:xxxxxx.top) 3.确定之后会给你一个 TXT 的记录值,复制它到你域名 DNS 增加一个 TXT 记录,点击验证即可 ?...5.配置完毕即可 6.之后我们点击站点地图,随后在添加新的站点地图中将sitemap.xml的位置填上去,点击提交即可 ?
Robert Martin的这句话非常合适: “唯一能有效测量代码质量的方式是每分钟说多少个What-the-Fk ”** 让我深入解释一下: 做代码回顾的时候,我的脑海会涌现出三种不同的情绪: ·...牢记变量、函数或者类的名称应该要回答这三个大问题:存在的理由?做了什么?和如何使用? 这不仅需要好的描述技巧,同时也需要跨越边界的共同文化背景,没有人能比你自己更好地教导你 “函数应该只做一件事.”...除此之外,我们也要使得函数内的语句处于同一个抽象程度。 在同一个函数中混合不同层次的抽象,会使得其令人迷惑,并且不利于管理。主程思考函数就像在讲故事一样,而非如何去写代码。...想要通过清晰的条理,细节的关注和明晰的想法来让人留下深刻印象。再看看代码,如果他们看到乱七八糟的代码,没有清晰的开头和结束,那么毫无疑问会会玷污我们的荣誉。...如果你觉得让代码工作是专业开发者的头等事情,那你离真相将更远。你现在创建的功能很有可能在下个版本中被替换,但你的代码可读性将不会改变。
“人们在接受领导者的愿景之前,首先认可的是领导者本人。”——John Maxwell 组织成员在追随任何有价值的愿景或事业之前,首先会全力追随“有价值的领导者”。...组织成员不会因为 DevOps “值得做”或是流行风尚就接受它,除非他们认可了推广这一愿景的领导者。因此,一个组织中的 DevOps 究竟会成功还是失败,完全取决于组织的领导者。...没有正确的心态和文化很难获得 DevOps 的全部收益,而创建正确的文化是领导者的责任。 耐心——这是领导者所有应具备的品质中最有意义的一项。...DevOps 由部门主管负责,他 / 她需要向组织的其他成员推销或证明这项服务。DevOps 部门主管与其他部门主管之间存在着“推销方 - 接受方”的动态关系。...对关键领域进行检查 组织要在一些关键领域做检查,包括: 组织成员都是如何看待 DevOps 的? 谁真正在倡导 DevOps? 谁在阻挠 DevOps?
牢记变量、函数或者类的名称应该要回答这三个大问题:存在的理由?做了什么?和如何使用?...除此之外,我们也要使得函数内的语句处于同一个抽象程度。 在同一个函数中混合不同层次的抽象,会使得其令人迷惑,并且不利于管理。主程思考函数就像在讲故事一样,而非如何去写代码。...想要通过清晰的条理,细节的关注和明晰的想法来让人留下深刻印象。再看看代码,如果他们看到乱七八糟的代码,没有清晰的开头和结束,那么毫无疑问会会玷污我们的荣誉。...如果你觉得让代码工作是专业开发者的头等事情,那你离真相将更远。你现在创建的功能很有可能在下个版本中被替换,但你的代码可读性将不会改变。...作为开发者,我们致力于让 代码的如期运行。然而,问题不在于解决错误,而是用干净可读的方式解决错误。 很多代码是由错误处理组成的。代码就变得如此分散,以至于完全磨灭了主代码的目的和逻辑。
领取专属 10元无门槛券
手把手带您无忧上云