Skip to content

Instantly share code, notes, and snippets.

View walkermanx's full-sized avatar
🎯
灭Bug

5Mall walkermanx

🎯
灭Bug
  • 北京小米移动软件有限公司
  • Beijing,China
View GitHub Profile
@walkermanx
walkermanx / 20171230_03.md
Created December 30, 2017 14:47
Django Serializers高级用法之动态修改Fields参数

###一言不合,上代码

class SlidesSerializer(serializers.ModelSerializer):
    class Meta:
        model = models.Slides
        fields = ('id', 'title', 'image', 'url', 'no',)

使用Django开发的童鞋应该很面熟上面的代码吧,因为在开发中常常会编写如上的各种Serializer类来为我们的Model类数据进行序列化操作。通常上面这个SlidesSerializer类的主要作用就是将其Meta类中指定Model对象models.Slides序列化成由其 fields属性声明的那些字段组成的字符串

@walkermanx
walkermanx / 20171230_02.md
Created December 30, 2017 14:46
Android Studio之神奇魔法Live Templates,让编码从此飞起来~

如果你是一位安卓程序员,你一定不会对Toast感到陌生,你有没有在编写Toast千百次之后,感觉到了一丝丝厌倦?你有没有即使敲了千百遍,依然偶尔会犯些低级错误,比如将Toast写出这样:

Toast.makeText(MainActivity.this, "神啊,赐我一个妹子吧!");

可能机智的你早已看穿一切!不屑一顾的说,直接写个工具类封装一下不就OK了,于是你写了下面这些代码(图1):

@walkermanx
walkermanx / 20171230_01.md
Created December 30, 2017 14:45
颜色渐变<gradient>标签之坑爹的 @android:color/transparent

先来切入一个场景:

[小五][]童鞋想要一个直线的渐变,从左到右,颜色从绿色逐渐变成透明的,按照这个想法,[小五][]童鞋写下了如下代码:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
 android:shape="rectangle"&gt;
@walkermanx
walkermanx / 20171230.md
Created December 30, 2017 14:40
【笔记】Django Model类下,Field字段中,choice属性有个坑!

前言


用Python从事后端开发的同学应该都很熟悉大名鼎鼎的Django吧, Django开发中我们常会在models.py文件中编写我们的数据模型类,在编写模型类的时候我们常常会根据需求用到各种Field字段用以映射对应的数据表列。

于是,掉坑之旅了开始

###鄙人不才,于某日一个神志不清的下午写下了如下代码:

@walkermanx
walkermanx / bulid a personal maven repo by github.md
Last active December 21, 2017 01:30
什么?!Github也可以用来搭建个人Maven仓库?

​ 我记得刚开始入门做程序员那会儿,很喜欢自己琢磨,所以项目中遇到了需要实现的功能,总是会先尝试着自己编码来实现 (矮油,小五童鞋很牛逼啊,刚入门就是高起点呐,简直屌得不要不要的嘛!) , 哈哈,说来惭愧,其实之所以这样做 ,恰恰是因为自己当时太嫩,还不太会利用[GitHub][]找轮子, 也因为如此,自己经历了一段黑暗不堪回首滴重复造车轮子滴苦逼岁月, 哭泣ing T_T , 虽然话是这么说,但现在回想起来,当时自己也算是苦中作乐确有收获了。

​ 不好意思,好像说了一堆废话,哈哈,见谅见谅,我们现在就回归正题。

​ 之前在做公司的一个仓库项目管理的APP的时候,需要使用数据库在手机端保存数据,所以我就在项目中使用了大名鼎鼎的[greenDAO3][]依赖来完成这一块的功能逻辑开发,然后问题出现了,[greenDAO3][]本身的异步操作功能实现是通过引用旧版本的[Rxjava][]来完成的,和当时这个项目中已经在使用的新版本[Rxjava2][]就一下子不和谐了,虽然他们可以同时存在,不影响项目的构建,但无疑俩个功能高度雷同的俩代库会让项目变得臃肿,为此,我想着fork一下[greenDAO][]的源码,然后将里面的[Rxjava][]依赖更新到[Rxjava2][], 但在其项目的[issue][1]中发现,已经有一个叫[AndroidClasses][]人这样做过了,于是自己就使用[JitPack][]将这位童鞋的代码生成了一个maven依赖直接引入解决了这个问题。

​ ![使用JitPack 生成的依赖代码][img01]

PS: 此处建议比较好的做法是先将AndroidClasses的项目代码fork到自己的GitHub然后使用JitPack来生成对应的maven依赖,这样可以保证项目依赖的安全性,防止这位童鞋哪天失恋心情不好,直接删库带来一些不必要的麻烦