一个六年经验的python后端是怎么学习用java写API的(6) 基本的Auth

2020-03-18
阅读 6 分钟
2.2k
实现了依赖注入之后就可以方便的实现各种API的业务逻辑了,下一部的问题就在于权限,我们知道大部分的系统API并不是开放的,需要基本的用户体系(注册、登录、购买、会员、不同的role等等),例如管理员能看到CMS,登录用户才能查看文章详情等等。

一个六年经验的python后端是怎么学习用java写API的(5) Service 和 google 依赖注入

2020-02-25
阅读 8 分钟
1.8k
上一篇(一个六年经验的python后端是怎么学习用java写API的(4) RestAPI,dropwizard 的第一组API)写完第一组API后发现,每次实现一个resource,都需要在 Application.java里面的sessionFactory的config里面addMapper,然后在具体使用mybatis查询的时候也需要先拿到 session 然后再把这个mapper类拿出来,非常不方便 s...

一个六年经验的python后端是怎么学习用java写API的(4) RestAPI,dropwizard 的第一组API

2020-02-19
阅读 7 分钟
1.6k
描述 上一篇(一个六年经验的python后端是怎么学习用java写API的(3)Java 开发环境搭建)开发环境准备完成后,就可以开始看java语法和框架了。 廖雪峰java语法教程, 半天时间过一遍语法,看到集合那里即可 dropwizard文档 半天时间过一遍 Getting Started 部分 代码 parrot tag: first_api dropwizard 与 django 的简...

一个六年经验的python后端是怎么学习用java写API的(3)Java 开发环境搭建

2020-02-18
阅读 4 分钟
3.2k
描述 上一篇(一个六年经验的python后端是怎么学习用java写API的(2)Extracter,微信文章抓取清洗入库)物料准备完成后,就可以正式进入java的学习了。 开始正式开发前,我需要搭建开发环境,顺手的开发环境不仅提高开发效率还能改善心情。 首先描述之前个人在用的 python 的开发环境: pc两台,macbook pro + 高配wind...

一个六年经验的python后端是怎么学习用java写API的(2)Extracter,微信文章抓取清洗入库

2020-02-17
阅读 7 分钟
1.8k
pirate 是由我的 django 脚手架 original 实现的,文件上传提供了七牛和腾讯云两个 backend,部署提供了默认的配置文件,因此只要关注具体的微信的抓取逻辑即可。

一个六年经验的python后端是怎么学习用java写API的(1)设定场景,选择框架dropwizard

2020-02-16
阅读 2 分钟
2.7k
我是一个远程工作者(远程3年),从业六年一直在做python web后端相关的开发,最近闲来无事想看下Java是怎么写API的,知乎的一句话介绍贴在这里,大概介绍下笔者的经历。

SaaS化实践——如何用一个微信公众号登录多个不同的域名

2019-01-15
阅读 3 分钟
3k
SaaS 作为一种服务,需要为不同的客户定制不同的域名以满足客户定制化的需求。而微信登录时需要填写一个回调地址,单一的回调地址是难以处理多客户域名的业务需求的,经过不同的 SaaS 项目的实践,总结出了下面的方式。

对于后端来说,一个项目究竟应该怎么做

2017-12-29
阅读 2 分钟
9.6k
引子 作为一个程序员,平时的工作是与项目来挂钩的,但是有的时候会发现有些项目做得风生水起,有的则做得浑身难受,那么一个项目究竟应该怎么做? 一个后端接到项目的主要流程 需求咨询 需求评审 项目估期 技术评审 跟上游约定 api 开发 联调测试 产品验收 上线 整理必要的文档 需求咨询 这个阶段是后端最初接触某项目...

我所理解的服务化

2017-08-21
阅读 2 分钟
7.5k
很久很久以前(其实现在大部分网站都是这样),我们做一个网站,所有的功能代码都会在一个代码库中,部署的时候 db 几台机器、nginx 几台机器、业务 server 几台机器。其中业务 server 的所有逻辑都是在一个进程中的,例如网站的登录、用户的评论、新建问题、某个活动等等。

用buildout来构建python项目

2016-09-28
阅读 2 分钟
7.7k
Buildout是一个基于Python的构建工具, 通过一个配置文件,可以从多个部分创建、组装并部署你的应用,即使应用包含了非Python的组件,Buildout也能够胜任. Buildout不但能够像setuptools一样自动更新或下载安装依赖包,而且还能够像virtualenv一样,构建一个封闭隔离的开发环境.

微信公众号开发小记——5.python微信红包

2016-08-02
阅读 2 分钟
8.9k
微信支付比较烦,因为他有自己的加密方式,还要用证书,所以不能用之前sdk的东西,自己随便按照文档封了下加密以及api之类的算法,代码什么的很简单,跟着文档来好了。

微信公众号开发小记——4.两种邀请用户的方式 扫码&&链接

2016-04-21
阅读 6 分钟
8.4k
假设的我们的服务号有这么一些功能,比如底部有按钮,点击会有一些复杂的功能,这时候可能就需要一个用户系统,有用户系统就经常想要做什么分享邀请新用户之类的,这时候就又有几种方式,1.直接一个连接,让其他用户点;2.有一个二维码,让离得近的朋友扫。

微信公众号开发小记——3.接入三方登录

2016-04-15
阅读 2 分钟
4.7k
如果你的微信服务器要做复杂的逻辑,比如html5、给用户提供高级的服务,并且有很好看的页面等等,这种时候你就需要一个正常的web服务器,用户打通就需要做三方登录了。

微信公众号开发小记——2.80端口上的服务

2016-04-15
阅读 3 分钟
5.7k
1.用户直接做了某些操作(回复信息、订阅、扫码、发语音、点按钮等),此时这些信息微信会发送到微信服务器的80端口,这是一种开发类型;2.通过连接(按钮、文章)引导用户到另一个网站,网站通过oauth实现微信的三方登录做到用户打通,然后提供更多服务

微信公众号开发小记——1.接入微信服务器

2016-04-08
阅读 2 分钟
7.3k
由于马上要做一波公众号开发,今天先调研,把基本的服务器接起来。微信公众号服务器在接入的时候要做一些烦躁的事情,改配置的时候要进行握手,api调用要做一些烦躁的加密解密检查,而且微信使用的是xml解析也比较烦,所以需要找一个靠谱的sdk来做api调用以及各种解析。

一个后端的前端学习之旅——4.第一个demo上线以及关于前端框架我的看法

2016-02-16
阅读 10 分钟
5.2k
过年回来终于把第一个demo写完了,根据学堂在线的api,写了一个瀑布流的知识点照片墙一样的东西,鼠标hover的时候在图片切换时有某种direction效果,现在还有些东西需要完善。

一个后端的前端学习之旅——3.喜闻乐见的跨域问题

2016-02-04
阅读 5 分钟
4.2k
在写完 一个后端的前端学习之旅——1.决定学什么 后我决定用coffeescript来看一些js框架,本来想用react,结果发现用它跟gulp配起来略烦,选来选去选择了小半天决定最终用 spinejs, 看起来比较小,而且源码有coffee和js两个版本,还方便看,当然我知道这不是什么主流框架,可能文档什么的少一些,但这样更可以看出看源码的...

一个后端的前端学习之旅——2.先搞定gulp

2016-02-03
阅读 7 分钟
4.9k
这是我的小本本的笔记,先列出了dev中用到的东西,blog可能写了就懒得懂了,但是小本本是随时更新的 小本本位置 一个gulp的脚手架 [链接] npm淘宝镜像 [链接] {代码...} install {代码...} 用法看Readme有介绍, 大体贴两条 For development: gulp dev then navigate to [链接]:3000 (or IP address). For deploy: gulp b...

一个后端的前端学习之旅——1.决定学什么

2016-02-03
阅读 1 分钟
3.1k
首先考虑选择用什么,公司的前端同学给我了两个链接 es6 babel,大体看了下es6是下一波js规范,出了一些js的新语法,解决了一些坑(肯定有新坑),babel是虽然现在很多浏览器不支持es6但是你可以写es6我给你编译成支持的东西。

Django REST framework的各种技巧【目录索引】

2016-02-01
阅读 1 分钟
26.1k
为了防止各位看同学不好找,在这边丢了个目录过来,因为以后可能继续写 目录 Django REST framework的各种技巧——1.基础讲解Django REST framework的各种技巧——2.serializerDjango REST framework的各种技巧——3.权限Django REST framework的各种技巧——4.Generic ViewDjango REST framework的各种技巧——5.搜索Django REST ...

Django REST framework的各种技巧——7.导入导出

2016-02-01
阅读 13 分钟
14.5k
导入导出在cms中是一个非常常用的功能,思考做成通用的东西,最终选择django-import-export,虽然这玩意儿最初是想放在admin中用的,虽然用起来很繁琐,但是可以做成通用的东西,而且用起来比较像rest的serializer。

Django REST framework的各种技巧——6.异常处理

2016-02-01
阅读 4 分钟
12.9k
restframework内置了基本的异常处理,然而并不够用 Django REST framework的各种技巧【目录索引】 异常处理应该考虑的事情 异常时为了保持api的一致,应该返回json error_code 给开发看的error_message 给用户看的message 开始怼代码 源码中的异常处理,可见是不符合需求的。 {代码...} 实现想要的handler 注意我在handl...

Django REST framework的各种技巧——5.搜索

2016-02-01
阅读 5 分钟
26.2k
restframework内置了一些搜索功能,可以快速的实现搜索 Django REST framework的各种技巧【目录索引】 写在上面 所有的代码都是在下面的两个版本来做的 {代码...} 查询 我们经常要做一些查询的东东,大体有两种,如下图: 多字段模糊搜索 单字段相等搜索 restframework通过 filter_backends = (filters.DjangoFilterBack...

Django REST framework的各种技巧——4.Generic View

2016-02-01
阅读 5 分钟
18.1k
generic view是django神奇的地方,而restframework遵循了这个powerful的机制 Django REST framework的各种技巧【目录索引】 写在上面 所有的代码都是在下面的两个版本来做的 {代码...} 一个之前的blog,解释django generic view Django generics view 以及看源码为什么这么重要 一组标准的api的实现实现 例如有一个课程...

Django REST framework的各种技巧——3.权限

2016-02-01
阅读 10 分钟
30.5k
django内置强大的权限系统,restframework也完全支持,为什么不用呢? Django REST framework的各种技巧【目录索引】 文档 django permission的文档restframework permission的文档 权限的类型 用户是否有访问某个api的权限 用户对于相同的api不同权限看到不同的数据(其实一个filter) 不同权限用户对于api的访问频次,...

Django REST framework的各种技巧——2.serializer

2016-02-01
阅读 3 分钟
25.8k
serializer只做一件事情,json化model对象,所以这一部分相当简单 Django REST framework的各种技巧【目录索引】 写在最上面 所有的代码都是在下面的两个版本来做的 {代码...} 首先是官方文档 讲解 拿基本的user,group为例子 首先一个关联的model {代码...} User对应的serializer {代码...} 一个请求的response {代码.....

Django REST framework的各种技巧——1.基础讲解

2016-02-01
阅读 3 分钟
37.7k
django是一个神奇的框架,而restframework又是遵循了这个框架的另一个神奇的框架,然而由于restframework的文档稀烂无比,很多时候你必须看源码才能写出科学的代码,这挡住了很多新手的路。

Django generics view 以及看源码为什么这么重要

2015-09-28
阅读 10 分钟
9.3k
我们知道,得益于python的语言特性,python的源码是直接可以看的到的,而django是一种大而全的东东,虽然django的文档看似全面,但实际上有些模块写的确实不怎么样,而且平时遇到的需求也是多变的,有的时候你需要实现某种诡异的功能,当然我们可以用google或者做github的搬运工,但是有的时候框架已经给你做了很多事情...

邮箱扒头像来告诉你怎么写简单的脚本扒图

2014-12-02
阅读 11 分钟
14.4k
手上有几十万邮箱,本来用户系统没有做头像的东西,现在想根据这些邮箱能拿一部分用户的头像,可以直接使用 gravatar的服务,不过这玩意儿不时会被墙,还是拉回来靠谱,第2个途径是qq邮箱,通过分析数据发现,这几十万 用户里面居然有一半以上是qq邮箱,so 要想办法通过不用oauth的方式拿到.

用django-pipeline为静态文件添加hash

2014-10-31
阅读 2 分钟
5.3k
这样,当静态文件有修改时,会很方便的拿到最新的修改版本,而未修改的静态文件则依然使用缓存。这样避免了修改后用户静态文件不更新的尴尬,并且可以充分利用缓存。