Blog of Jeff Xue

  • Home

  • Categories

  • 读书

  • 编程

  • 思考

  • Archives

  • Tags

【编程】django resf framework教程

Posted on 2021-04-23 In 编程

Django Resf Framework教程

本教程主要为翻译官方教程,用来快速熟悉如何在django上使用REST framework

官网教程:https://www.django-rest-framework.org/tutorial/quickstart/

Github对应仓库: https://github.com/JeffXue/django-resf-framework-tutorial

18年的记录,当前进一步同步到博客中,可能内容跟当前官方最新版本有出入


quick start:快速开始

本章节主要从一个极小的应用去讲解所涉及到的相关内容

  • 初始化django应用
  • 使用serializers.HyperlinkedModelSerializer设置序列化类
  • 使用viewsets.ModelViewSet设置视图集
  • 使用routers.DefaultRouter()设置路由
  • 配置REST_FRAMEWORK全局参数

初始化项目

1
2
3
4
5
6
7
8
9
10
# 新建项目及应用
django-admin.py startproject tutorial
cd tutorial
django-admin.py startapp quickstart

# 同步数据库,默认为db.sqllite3
python manage.py migrate

# 创建超级用户,即管理员用户
python manage.py createsuperuser
Read more »

《高效能人士的七个习惯》

Posted on 2020-08-02 In 读书

七个习惯概概论

新的思想水平: 强调以原则为中心,以品德为基础,要求“由内而外”地实现个人效能和人际效能。

成熟模式图:

  • 依赖期以“你”为核心:你照顾我;你为我的得失成败负责
  • 独立期以“我”为核心:我可以做到,我可以负责;我可以靠自己,我有权选择
  • 互赖期以“我们”为核心:我们可以做到;我们可以合作;我们可以融合彼此的智慧和能力,共创前程

成熟模型图

Read more »

《胜者思维》

Posted on 2020-07-21 In 读书

将军的诞生


  • 战争到来, 首先要淘汰一批和平时期的将帅。– 什捷缅科大 苏军作战部长

    思考点:我们自身如果停留在温室环境下,在面临危机的时候,同样会有一批人因为危机而被淘汰,在感知到自身在舒适圈时,需要跳出来,给自己制造危机,提升应对的能力

  • “将军”一词,强调的不是官位,是“战略”。

    将军是一个筹划的位置,是一个管全盘、管总体、管大局、开展战略谋划的位置

  • 美国国会规定未来军人的标准:

    • 第一,必须具有分析能力,能够超越孤立的事实或者某一领域专长,看到并整理出事物之间的相互联系
    • 第二,必须是实用主义的,能够有意识地重新构建自己的战略模式,使之符合形势和实际的需要
    • 第三, 必须具有创造性,经常要挑战现状
    • 第四,必须接受过多种教育,是通才,而不是专才

      思考点: 我们对于管理人员的标准是什么?其实上面的这套标准是属于一套通用的标准,对于管理者而已也是适用的
      分析能力、实用主义,创造性,通才

Read more »

Neo4j初探及应用

Posted on 2020-06-19 In 编程

什么是图数据库

维基百科定义:

在计算机科学中,图数据库是一个使用图结构进行语义查询的数据库,它使用节点、边和属性来表示和存储数据。

图数据库并非是存储图片的数据库,而是面向或基于图的数据库(与其底层存储方式有关),属于非关系型数据库,即NoSQL的范畴。
它直接将存储中的属性、节点和节点间表示关系的边相关联。这些关系允许直接将数据链接在一起,并且在很多的情况下可以通过一个操作进行快速搜索。

图数据库的优势: 可以简单快速的检索多层次关系系统中复杂的关系数据。例如在社交网络关系中快速的查询到N度人脉数据,就可以在图数据库中实现快速检索,如果在关系型数据库上实现,其查询效率可能会极低。

图具备以下的特征:

  1. 包含节点和边
  2. 节点和边上均可以用拥有自己的属性
  3. 边有名字和方向,并总是有一个开始节点和一个结束节点

如下截图可以直观看出其特征:

  • 两个Person节点、一个Movie节点
  • 每个Person节点拥有name和born属性,Movie节点拥有title和released属性
  • 其中一个Person与Movie之间的关系是DIRECTED,另一个Person与Movie之间的关系是ACTED_IN
  • ACTED_IN关系中拥有属性roles

72247593.png

Read more »

【编程】python日志最佳实践

Posted on 2020-02-05 In 编程

print的局限性

使用print输出日志是一个常规性的做法,但应该尽可能避免使用print来输出日志,而是使用内置的logging模块。
使用print输出日志存在以下局限:

  • 无法区分信息的重要性
  • 可能存在很多垃圾信息在日志中,不便于找到目标日志
  • 不能通过修改代码的方式控制日志
  • 所有print信息将输出到标准输出中
Read more »

【编程】python应用场景指南

Posted on 2020-01-16 Edited on 2020-01-19 In 编程

来源: python最佳实践指南


网络应用

  • requests 库
  • 分布式系统
    • ZeroMQ
    • RabbitMQ

Web应用 & 框架

  • WSGI: web server gateway interface。web服务网关接口
  • 大多数web框架包含的模式和工具
    • URL路由(URL Routing)
    • 请求和响应对象(Request and Response Objects)
    • 模板引擎(Template Engine)
    • Web服务器开发(Development Web Server)
  • 框架
    • Django:是一个功能齐全的web应用框架
    • Flask:轻量级web框架
    • Falcon:构建快速、可扩展的REST风格API微服务
      • Tornado:一个异步web框架
    • Pyramid:灵活的框架,重点关注模块化
    • Masonite:一个现代,以开发人员为中心的功能齐备的网络框架
  • Web服务器
    • Nginx
  • WSGI 服务器:独立WSGI服务器相比传统web服务器,使用更少的资源,并提供最高的性能
    • Gunicorn: 有周全的用户界面,十分易于使用和配置
    • Waitress:具备非常可接受的性能
    • uWSGI:用来构建全栈式的主机服务
  • 服务端最佳实践: WSGI服务器为Python应用服务,它能更好的处理诸如静态文件服务、请求路由、DDoS保护和基本认证的任务。
  • Hosting:平台及服务(Paas)是一种云计算基础设施类型,应用开发者只需关注应用代码,无须关注配置细节
    • Heroku:支持所有类型的Python web应用、服务器和框架。在Heroku上可以免费开发应用程序
    • Eldarion
  • 模板
    • JinJa2:很受欢迎的模板引擎
    • Chameleo:
    • Mako: 它的语法和API借鉴了其他模板语言,如Django和Jinja2中最好的部分
Read more »

【编程】python代码最佳实践指南

Posted on 2020-01-16 Edited on 2020-01-19 In 编程

来源: python最佳实践指南


结构化工程

仓库结构

根据项目的实际情况初始化下面的目录结构,可参考GitHub samplemod

1
2
3
4
5
6
7
8
9
10
11
README.rst # 说明文档
LICENSE # 许可证,请查看[choosealicense.com](https://choosealicense.com/)
setup.py # 打包和发布管理
requirements.txt # 依赖
sample/__init__.py # 真正的项目模块
sample/core.py
sample/helpers.py
docs/conf.py # 参考配置
docs/index.rst # 参考文档
tests/test_basic.py # 测试套件
tests/test_advanced.py

另外对于django的初始化项目,需要减少不必要的嵌套:

1
2
3
4
5
# 错误的初始化操作
django-admin.py startproject samplesite

# 正确的初始化操作,注意最后有`.`,在当前目录做初始化
django-admin.py startproject samplesite .

Read more »

【编程】python环境隔离

Posted on 2020-01-16 Edited on 2020-01-19 In 编程

来源: python最佳实践指南


隔离环境:虚拟环境

virtualenv 是一个创建隔绝的Python环境的 工具。virtualenv创建一个包含所有必要的可执行文件的文件夹,用来使用Python工程所需的包

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# 安装virtualenv
pip install virtualenv

# 创建一个虚拟环境
cd your_project_folder
virtualenv venv

# 激活虚拟环境
source venv/bin/activate

# 安装依赖包
pip install requests

# 记录环境依赖,能帮助确保安装、部署和开发之间的一致性
pip freeze > requirements.txt

# 退出虚拟环境
deactivate

《单核工作法图解》

Posted on 2019-09-29 Edited on 2020-01-19 In 读书

单核工作法图解.xmind

0x00 重新出发

Posted on 2019-08-01 Edited on 2020-01-19 In 思考

上一次更新博客已经是在2年前,荒废了这么久……

这两年尝试做了很多新的事情,从17年底开始负责平台测试管理,经历了半年的时间后正式转成副经理,从18年中开始投入测试团队管理,一直到现在,团队编制调整及整体重心变化,又开始转技术+管理,简短的梳理了下这两年核心的职责,下一篇希望是梳理下这几年的职场经历,对自己的优劣势做分析,找准第二发展曲线。

回过头来看,这两年也荒废了很多的东西,例如运动、博客、技术、看书,还有一些其他的爱好,还是想把自己喜欢的东西捡起来,重新出发,打破现在的自己。

下一篇梳理下这几年的职场经历,也希望多这几年的成长历程做一次总结,先立个碑

12…11
Jeff Xue

Jeff Xue

Think Bigger, Start Simple!
104 posts
10 categories
48 tags
GitHub
© 2016 – 2021 Jeff Xue
Powered by Hexo v3.9.0
|
Theme – NexT.Gemini v7.3.0