浅谈 Django-REST-Framework 的设计与源码 Recommended
10月 20, 2016
最近又重新接触 DRF,翻看文档发现,当时很难理解的东西,如今一看就懂了,顺带看了源码,也比较容易理解,至少比 Django 的源码简单不少。下面开始从 DRF 的设计和源码两个方面,结合自己的看法,谈谈DRF。 APIView # APIView 是 DRF 概 ...
最近又重新接触 DRF,翻看文档发现,当时很难理解的东西,如今一看就懂了,顺带看了源码,也比较容易理解,至少比 Django 的源码简单不少。下面开始从 DRF 的设计和源码两个方面,结合自己的看法,谈谈DRF。 APIView # APIView 是 DRF 概 ...
由于宿主机安装了 MySQL,为了避免安装 MariaDB 造成 MySQL 无法使用,所以在 Vagrant 中安装 Mariadb。 更换网易 apt-get 源 /etc/apt/sources.list 读取源软件列表 sudo apt update 更新软件版本 sudo apt upgrade 安装 MariaDB sudo apt install mariadb-server 安全性设置更新 root 密码 sudo mysql_secure_installation 服务器开始远程登陆:m ...
从上个月开始在大连云匠实习,在公司做 Python 后端,一个月来收获了很多。 首先是开发的流程和规范方面,之前都是自己做东西,除了实现功能外并没有考虑过多的内容。比如完整的测试用例,软件的设计模式,框架的开发标准, ...
做了一个Django小应用,主要内容是一个论坛,经过好几天的研究,也可以在服务器端运行了,以下所有代码中的操作都需要在命令行运行。 安装MySQL # apt-get update apt-get install mysql-server mysql-client 根据提示设置 MySQL root用户密码 MySQL设 ...
代码添加按钮和按钮监听方法 // ViewController.m #import "ViewController.h" @interface ViewController () @end @implementation ViewController - (void)tapButton:(UIButton *)sender{ NSLog(@"我是%@",[sender.titleLabel text]); } - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom]; [button setFrame:CGRectMake(100, 100, 200, 200)]; [button setTitle:@"hello" forState:UIControlStateNormal]; [button ...
iOS 中 textFieldShouldReturn 方法定义在 UITextFieldDelegate 协议中 // ViewController.m #import "ViewController.h" @interface ViewController () @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. } - (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; // Dispose of any resources that can be recreated. } - (BOOL)textFieldShouldReturn:(UITextField *)textField{ if (textField==_name) { [_passwd becomeFirstResponder]; }else if(textField==_passwd){ [self login:nil]; } return YES; } - (IBAction)login:(id)sender { [self.view endEditing:NO]; NSString *name = _name.text; NSString *passwd = _passwd.text; [_lable setText:[NSString stringWithFormat:@"username:%@ password:%@",name,passwd]]; } @end
ListA()创建一个链表并插入一个元素,ListB()创建一个链表并删除两个数之间的元素。 #include <stdio.h> #include <stdlib.h> #include <malloc.h> #include <string.h> #define NULL 0 void listA(){ static int n; int *p,i,k,x; printf("请输入n的长度:\n"); scanf("%d",&n); p=(int *)malloc(n*sizeof(int)); prin ...
练习2 # //从Detergent中继承产生一个新的类,覆盖scrub()并添加一个名为sterilize()的新方法。 class Cleanser{ private String s = "Cleanser"; public void append(String a ){ s+=a; } public void dilute(){ append(" dilute()"); } public void apply(){ append(" apply()"); } public void scrub(){ append(" scrub()"); } public String toString(){ return s; } public static void ...
练习1 # package access; //在某个包中创建一个类,在这个类所处的包的外部创建该类的一个实例。 public class Test1{ public Test1 (){ System.out.println("实例"); } } import access.*; public class Test { public static void main (String args[]){ new Test1(); } } 练习2 ...
练习1 # /*创建一个类,它包含一个未初始化的String引用。验证该引用被Java初始化成了null。*/ class Main { static String s; public static void main (String args[]){ System.out.println("s="+s); } }/*Output: s=null */ 练习2 # /*创建一个类,它包含一个在定义时就被初始化了的St ...