LYon's Blog

数据库的 join 连接类型

9月 30, 2017
MySQL, Database

内连接 # 内连接为默认连接方式,只有两张表都匹配的行才显示。 SELECT * from a INNER JOIN b on a.name=b.name; 左(外)连接 # 左边的表不加限制,会全部显示出来,右边的只会显示符合搜索条件的记录,不匹配的记录会以 null 显示。 SELECT * from a LEFT JOIN b on a.name=b.name; 右(外)连接 # 右边的表 … ...

Django 的软删除设计

2月 23, 2017
Python, Django

设计一个 Django 的软删除方案,要求数据库在删除的时候不能物理删除数据,同时尽量不要太侵入代码业务。 这里用到了 Django 的 Manager,它赋予了 Django Model 操作数据库的能力,每个 Model 都包含一个 Manager,比如我们常用的 objects 就是默认的 Manger。 这里我替换了默认的 manager,并重新实现了其 get_queryset 方法,这 … ...

浅谈 Django-REST-Framework 的设计与源码 R

10月 20, 2016
Python, Django, Recommended, 软件工程, 源码分析, 系统设计

最近又重新接触 DRF,翻看文档发现,当时很难理解的东西,如今一看就懂了,顺带看了源码,也比较容易理解,至少比 Django 的源码简单不少。下面开始从 DRF 的设计和源码两个方面,结合自己的看法,谈谈DRF。 APIView # APIView 是 DRF 概念体系中最基本类视图,它基于 Django 的 View,同时又实现了一层对自己创造的概念的封装,比 … ...

Vagrant 虚拟机 Ubuntu16.04 安装 MariaDB

9月 10, 2016
DevOps, Linux, MySQL, Database

由于宿主机安装了 MySQL,为了避免安装 MariaDB 造成 MySQL 无法使用,所以在 Vagrant 中安装 Mariadb。 更换网易 apt-get 源 /etc/apt/sources.list 读取源软件列表 sudo apt update 更新软件版本 sudo apt upgrade 安装 MariaDB sudo apt install mariadb-server 安全性 … ...

在公司实习了一个月的感悟

11月 24, 2015
Life

从上个月开始在大连云匠实习,在公司做 Python 后端,一个月来收获了很多。 首先是开发的流程和规范方面,之前都是自己做东西,除了实现功能外并没有考虑过多的内容。比如完整的测试用例,软件的设计模式,框架的开发标准,数据的初始化与备份,这些都是很重要的东西,在团队协作的时候更能凸显出来,同时还有需要Git熟练使用,基本在公司做的每一步都需要足够的理由去解释为什么才可以这样去做,不像之前就是各种堆 … ...

Ubuntu 下部署 Django 应用

7月 11, 2015
DevOps, Python, Linux, MySQL, Django

做了一个Django小应用,主要内容是一个论坛,经过好几天的研究,也可以在服务器端运行了,以下所有代码中的操作都需要在命令行运行。 安装MySQL # apt-get update apt-get install mysql-server mysql-client 根据提示设置 MySQL root用户密码 MySQL设置中文utf8格式 # 一般在/etc/mysql下 [client]下添 … ...

iOS 中添加按钮和按钮监听方法

9月 1, 2014
Objc, Xcode

代码添加按钮和按钮监听方法 // ViewController.m #import "ViewController.h" @interface ViewController () @end @implementation ViewController - (void)tapButton:(UIButton *)sender{ NSLog(@"我 …

iOS 中 textFieldShouldReturn 方法的使用

8月 31, 2014
Objc, Xcode

iOS 中 textFieldShouldReturn 方法定义在 UITextFieldDelegate 协议中 // ViewController.m #import "ViewController.h" @interface ViewController () @end @implementation ViewController - (void)viewDidLoad { … ...

数据结构与算法实验课 - 链表

10月 22, 2013
Clang

ListA()创建一个链表并插入一个元素,ListB()创建一个链表并删除两个数之间的元素。 #include <stdio.h> #include <stdlib.h> #include <malloc.h> #include <string.h> #define NULL 0 void listA(){ static int n; int …

Thinking in Java 习题 - 第七章

10月 19, 2013
Java

练习2 # //从Detergent中继承产生一个新的类,覆盖scrub()并添加一个名为sterilize()的新方法。 class Cleanser{ private String s = "Cleanser"; public void append(String a ){ s+=a; } public void dilute(){ append(" …


© 2012 - 2025 YINDONGLIANG