说说 Django 如何优雅地对接 Mongodb
大家好,我是猴哥。
近来在研究 Django 对接 MongoDB 数据库,遇到一些坑,自己随便做下总结。
1.前言Django 更新迭代速度真的是快,现在最新版本都 3.0.5 了。如果有留意 Django 在 GitHub 上的仓库,不难发现几乎每天都有人在提交。
不得不能说 Django 官方团队好积极呀。
软件的版本更新快,其实也算是一件好事。如果我们在使用过程中发现问题和缺陷,提交给团队,能很快得到修复。但这不意味着我们要跟着版本更新的节奏走,建议跟进自身情况来定。
个人研究和学习,使用最新版本倒不是问题。
如果是公司或者团队要用于商业,特别是已经上线的,最好是求稳。选择官方有长期支持版本,或保持跟最新版本有两~三个版本差。
目前,Django 团队对各个版本的支持情况。
不难看出,Django 3.0 版本也算是一个过渡版本。
3.0.5 在今年 8 月份就停止主流维护支持,到明年 4 月份就停止维护了。
具体是什么意思?说人话。
3.0.5 版本从现在到 2020 年 8 月份,再这段时间内版本更新迭代会比较快,既有实现新需求,又要修复遗留的重大缺陷。
8 月份 ...
GitHub 标星10k+,新型冠状病毒(2019-nCoV)最全的数据集在这里!
2020 年的春节是不平凡的。
新型冠状病毒(2019-nCoV)突然降临武汉,随着春运大潮,逐渐扩散到全国各省份。
这让原本应该是热热闹闹的春节,一下子气氛冷到冰点,感觉空气中都带着恐怖的气息。我们国家在疫情面前表现出强大一面,采取封城措施,举国禁足,共同对抗疫情。
经过一个月多的努力,目前疫情在国内算是得到控制。但海外情况却不容乐观,欧洲发达国家,英国、瑞典宣布放弃抵抗新冠病毒。
容许我大声喊一句:中国牛逼!我为自己身为中国人而感到骄傲!
我自己是学技术出身,想利用优势来获取全球疫情的第一手数据。
几经寻觅之后,我发现 GitHub 有个开源项目 COVID-19。这是美国约翰·霍普金斯大学系统科学与工程中心(JHU CSSE)收集各国卫生机构公开 2019 年新型冠状病毒的数据存储项目。
项目是处于教育和学术研究目的而开源,还提供了可视仪表板 Web 界面。不得不说是一个很良心的项目。
截止文章发布前半个小时,我们通过仪表盘数据可知,全球有 18 万人确诊,7155 人死亡,79433 人治愈。
意大利也是重灾区,伊朗、西班牙、韩国、德国、法国等也有超过 6 千人确证。
通 ...
国外大神制作的超棒 Pandas 可视化教程
如果读者们计划学习数据分析、机器学习、或者用 Python 做数据科学的研究,你会经常接触到 Pandas 库。
Pandas 是一个开源、能用于数据操作和分析的 Python 库。
1.加载数据加载数据最方便、最简单的办法是我们能一次性把表格(CSV 文件或者 EXCEL 文件)导入。然后我们能用多种方式对它们进行切片和裁剪。
Pandas 可以说是我们加载数据的完美选择。Pandas 不仅允许我们加载电子表格,而且支持对加载内容进行预处理。
Pandas 有个核心类型叫 DataFrame。DataFrame 是表格型的数据结构。
因此,我们可以将其当做表格。
DataFrame 是以表格类似展示,而且还包含行标签、列标签。另外,每列可以是不同的值类型(数值、字符串、布尔型等)。
我们可以使用 read_csv() 来加载 CSV 文件。
12# 加载音乐流媒体服务的 CSV 文件df = pandas.read_csv('music.csv')
其中变量 DF 是 Pandas 的 DataFrame 类型。
Pandas 同样支持操作 Excel 文 ...
爱自己多一点,对自己健康负责
近期关于身体健康的热点新闻颇多的,前有“网易裁员,让保安把身患绝症的我感触公司。
我在网易亲身尽力的噩梦!”,后有“35岁高以翔意外猝死”。
每次看到这样的新闻,都是惊讶和不安,怎么好端端的人突然就没有了。
有个段子说得挺好的,反馈出当前社会年轻人的现状。
前程四紧:眉头紧、手头紧、衣服紧、时间紧。
每个人都有自己的理想和人生追求目标,想为自己奋斗一把。
虽说可以热爱工作,可以趁年轻的时候多努力,但也别拿宝贵的生命来交换。
自己所追求的东西,只有健康的身体才能够真正看到。
其实这些道理自己都懂,但我就是做不到!
其实我自己也是这样,我这两年也是晚上经常熬夜,但有次体验让我惊出一身冷汗。
检查报告显示身体一些指标异常,然后自己各种去医院检查。
最后医生一开口就说:小伙子,是不是天天熬夜?熬夜对身体伤害很大,你现在还年轻没什么,等过几年你就知道后果。不要再熬夜了,多运动吧。
这件事确实给我敲响警钟,我告诉自己:人生漫漫,爱自己多一点,自己自己健康负责。
现在自己也调整自己的生活规律,我也希望大家也能像对待自己的朋友一样关心爱护身体。以下是我自己的一些建议:
1.每周进行至少三次合理运动。 ...
利用 Github+Hexo 搭建个人博客网站
我之前写过一篇文章《利用Github+Jeklly搭建个人博客网站》,利用 Github 仓库提供的 github pages 来搭建个人博客。
Jekyll 和 Hexo 可以说是最受欢迎、用户都非常多的两个静态博客生成系统。
本文给大家介绍利用 Hexo 结合 Github pages 来搭建个人网站。
1.什么是 Hexo?Hexo 是一个基于 node.js 制作的快速、简洁且高效的博客框架。
Hexo 可以将我们撰写的 Markdown 文档解析渲染成静态的 HTML 网页。
2.Hexo VS Jeklly2-1.本地环境Jeklly 是由 Ruby 语言编写,需要到官网下载并安装 RubyInstaller。
Hexo 则需要安装 Node.js 环境。
网上经常看到很多人吐槽安装 Jekyll 经常碰到各种问题。
我分别在 Windows 下安装过这两个环境。
整个流程跑下来还是挺顺利的。
2-2.速度说是比较 Hexo 和 Jeklly 这两个框架,其实要比较 Ruby 和 Node.js 的运行速度。
Node.js 是一个 Javascrip t运行环境(Ru ...
利用 Github+Jeklly 搭建个人博客网站
在上篇文章《个人博客如何选型?》中讲到,可以利用 Github Pages 来搭建个人博客网站,本文主要讲解其中的各种细节。
1.评估 Github Pages 方案前面说到几种博客方案,我都玩过,可以说是各有各的特点与优势。
在你考虑选择是否 Github Pages 方案之前,可以先了解其优缺点,然后根据自己情况加一判定。
优点:
完全免费。因为它本质上是一个 Github 仓库,只不过 Github 官方提供网页寄存服务。
简单省心。无须自己购买云服务,也不需要关系环境搭建、系统维护等,我们只需专注写作。
带宽够用。在使用的时候项目和网站的大小不要超过 1GB,也不要过于频繁的更新网站的内容(每小时不超过 10 个版本),每个月的也要注意带宽使用上限为 100GB。这些对于个人网站其实是够用。
缺点:
它是静态网站,无法支持数据库,涉及一些数据存储的操作需要自己找其他解决方案。例如页面浏览的阅读人数统计、点赞数等。
访问速度比较慢。我们的网站是寄托在 Github 网站上,Github 服务器节点是在美国,所以访问速度没有国内主机快。
以上是我对于 Github ...
个人博客如何选型?
当看到别人比自己优秀的时候,有时候会自嘲一句:“同九年,汝何秀”。
别人之所以优秀,自然是有过人的能力。身边有优秀的人,是一件很幸福的事,我们能偷而学之。
但学习也要注重一些学习方法,让学习效率最大化,满脑子死啃有时候会走很多弯路。
我推荐一种非常有用的学习方式,同样我自己也一直在使用,那就是分享。
教别人是最好的学。如果我们无法用自己的语言表述学到的东西,说明我们还没有掌握该知识。
另外,我们教别人的时候,不但能加深印象,还能发现自己的不足之处。
分享的形式有很多,有以文字的形式,比如写作;有以视频的形式,比如短视频,演讲等。相比视频的形式,我更推荐写作的方式。这个也是最适合大多数人的,不需要克服面对镜头的紧张。
1.写作有什么用处?写作能锻炼自己的表述能力。
写作的过程就是表达自己的想法的过程。在这过程中,我们不仅让别人理解自己的想法,也让自己理解自己的想法。
况且,文章写出来和别人能不能看懂是两回事。
就好比我们看网络小说,能一下子看很多章;而看一些经典名著,我们会发现很生涩,有点读不动的感觉。
在要排除书籍的深度、个人阅读能力等因素之外,一般人能更能接受通俗易懂的白话文文章。 ...
Python 创建二维数组的正确姿势
List (列表)是 Python 中最基本的数据结构。
在用法上,它有点类似数组,因为每个列表都有一个下标,下标从 0 开始。
因此,我们可以使用 list[1] 来获取下标对应的值。
如果我们深入下列表的底层原理,会发现列表是基于 PyListObject 实现的。
PyListObject 是一个变长对象,所以列表的长度是随着元素多少动态改变的。
同时它还支持插入和删除等操作,所以它还是一个可变对象。
可以简单理解为,Python 的列表是长度可变的数组。
一般而已,我们用于列表创建都是一维数组。那么问题来,我们如果创建多维数组呢?
1.列表能创建多维数组?列表是支持操作符,如果一个列表与 ‘ * ’ 号结合使用,能达到重复列表的效果。比如
123456789list_one = [0]list_two = [0] * 3print(list_one)print(list_two)>>> 运行结果:[0][0, 0, 0]
那么利用这个重复特性,我们是否可以来创建一个二维数组呢?于是乎,我进行一顿猛操作,结果就被我折腾出来了。
12345678list_on ...
如何将 Pycharm 打造得更称手
截止至 2019 年 9 月,在 PYPL 编程语言榜单上,Python 因近几年受欢迎程不断提高而继续霸榜。
微软开源的 VS Code 编辑器对 Python 支持力度越来越好,近期也推出了 Python 插件,支持了 Jupyter Notebook。
俗话说“萝卜青菜,各有所爱”,各大编辑器都是挺不错的,因每个人的使用习惯不同,也会选择各自的喜欢的编辑器。
在没有 Pycharm 的年代,我看中 Sublime Text2 编辑器的炫酷的个性,将其作为主力生成工具。
后来 JetBrains 推出的 Pycharm IDE 工具,自己也逐渐习惯使用 Pycharm 工具。我
分享下自己 Pycharm 使用小技巧。
1.版本选择?Pycharm 分为 Community (社区版) 和 Professional(专业版),两个版本对比如下:
社区版虽然能免费使用,但是功能比专业版少了一些。
主要少了一些 Web 开发相关组件、数据库支持等。
另外,其中的 Scientific tools 功能,其实是 Pycharm 里面预装了Matplotlib 和 NumPy 这两个 ...
假期的所见所闻
国庆假期是难得的休息时间,也是难得拥有完整的时间块。
前几天,我自己好好放松自己,跟朋友跟亲戚去嗨。后面几天则是利用时间去研究下行业数据。
本文分享下自己的一些发现,充当一回“事后诸葛”。
在 8 月份的时候,有句话很流行,“70后炒股,80后炒房,90后炒币,00后炒鞋”。
我对比下几双鞋子的官方发行价和二级市场的现价,结果吓我一跳。
这差价是好几倍啊!真的是太疯狂。
我从 StockX 上搞到 2018 年全年各大品牌上市鞋款款式、销量、销售额等在二级市场的数据。
从销量上看,Jordan、Nike、adidas 分别占据前三甲,这三者的销量总和已经占据整个二级市场的 94% 份额。
那为什么鞋子价格能飞天?我说下自己的一些看法。
1.存量少
商家推出一些限量款、纪念款等鞋子,外加采用“饥饿销售”策略,线上摇号中签方式购买,而且中签率相当低。
2.市场庄家炒作
普通消费者在官方的售卖渠道无法买到,只能通过第三方平台渠道。
同时,消费者担心买到假鞋所以选择比较知名的交易平台,一旦有了买卖交易,会衍生出“庄家”和“散户”。
炒鞋这分为两类:一类是通过官方渠道抢鞋,并在市场售卖赚利差 ...