Here

Django ContentType组件

冷暖自知 提交于 2020-11-22 01:47:06
ContentType组件 遇到这一张表要跟多张表进行外键关联的时候~我们Django提供了ContentType组件~ ContentType是Django的内置的一个应用,可以追踪项目中所有的APP和model的对应关系,并记录在ContentType表中。 当我们的项目做数据迁移后,会有很多django自带的表,其中就有django_content_type表,我们可以去看下~~~ ContentType组件应用:   -- 在model中定义ForeignKey字段,并关联到ContentType表,通常这个字段命名为content-type   -- 在model中定义PositiveIntergerField字段, 用来存储关联表中的主键,通常我们用object_id   -- 在model中定义GenericForeignKey字段,传入上面两个字段的名字   -- 方便反向查询可以定义GenericRelation字段 建模: class Appliance(models.Model): """ 家用电器表 id name 1 冰箱 2 电视 3 洗衣机 """ name = models.CharField(max_length=64 ) coupons = GenericRelation(to= " Coupon " ) # 自用于反向查询 不生成字段

为什么我们需要C ++中的虚函数?

爱⌒轻易说出口 提交于 2020-11-22 01:11:40
问题: I'm learning C++ and I'm just getting into virtual functions. 我正在学习C ++,并且刚开始使用虚函数。 From what I've read (in the book and online), virtual functions are functions in the base class that you can override in derived classes. 从我阅读的内容(在书中和在线上)中,虚函数是基类中的函数,您可以在派生类中重写这些函数。 But earlier in the book, when learning about basic inheritance, I was able to override base functions in derived classes without using virtual . 但是在本书的前面,当学习基本继承时,我无需使用 virtual 就可以在派生类中覆盖基本函数。 So what am I missing here? 那我在这里想念什么? I know there is more to virtual functions, and it seems to be important so I want to be clear on

Delphi COM对象

三世轮回 提交于 2020-11-22 01:09:49
作者:巴哈姆特 http://www.cnpack.org(转载请注明出处并保持完整)  如果没有接触过COM对象的话,你会觉得接口真的很麻烦,也许会有:“还不如直接定义一个类更方便”的想法。 的确,没有经过COM封装的接口确实比较麻烦。在我看来,没有经过COM封装的接口似乎没有存在的意义。那么,什么是COM对象呢?它有什么优点呢?接下来开始对COM对象进行一个简单的介绍: COM是个二进制规范,它与实现的语言无关。这样,即使COM对象由不同的编程语言创建,运行在不同的进程空间和不同的操作系统平台,这些对象也能相互通信。COM既是规范,也是实现,它以COM库的形式提供了访问COM对象核心功能的标准接口以及一组API函数,这些API函数用于创建和管理COM对象。COM本质上仍然是客户服务器模式。客户(通常是应用程序)请求创建COM对象并通过COM对象的接口操纵COM对象。服务器根据客户的请求创建并管理COM对象。当然,客户和服务器这两种角色并不是绝对的。 记得我在刚刚接触COM对象的时候,我师傅曾经给我说过:“COM不是Dll,虽然它可能会以后缀名为dll文件呈现在你面前,但是它绝对不是我们传统意义上所说的dll(动态链接库)”。 其实在我看来,进程内的COM对象应该是一个以dll为载体而提供一些特殊服务的特殊的动态链接库。当然,也有进程外的COM。 现在

http流量复制工具goreplay

房东的猫 提交于 2020-11-21 11:14:35
场景 一个待测服务,用来处理线上千万量级用户的各式请求; 问题 如果数据交换使用比较简单的xml、json等,可以设计各类case,去覆盖正常、异常的情况,但是如果数据交换格式比较复杂,且服务逻辑也比较复杂,这样的话就需要对代码逻辑非常熟悉才能设计全面的case;但是如果没有足够的时间去熟悉代码逻辑,那怎么能保证各类case都能覆盖到呢? 解决方案 今天介绍一款能快速解决上述问题的工具——goreplay 工具原理 官方介绍: GoReplay is the simplest and safest way to test your app using real traffic before you put it into production. As your application grows, the effort required to test it also grows exponentially. GoReplay offers you the simple idea of reusing your existing traffic for testing, which makes it incredibly powerful. Our state of art technique allows to analyze and record your

Cobbler无人值守安装系统

混江龙づ霸主 提交于 2020-11-21 11:06:40
环境说明 系统版本 CentOS 6.9 x86_64 Cobbler是一款Linux安装服务器,可以快速设置网络安装环境。它粘合在一起并自动执行许多相关的Linux任务,因此部署新系统时不必在许多不同的命令和应用程序之间跳转,并且在某些情况下更改现有的命令和应用程序。Cobbler可以帮助进行配置,管理DNS和DHCP,软件包更新,电源管理,配置管理编排等等,Cobbler可以使用命令行方式管理,也提供了基于Web的界面管理工具(cobbler-web),还提供了API接口,可以方便二次开发使用。 Cobbler是较早前的kickstart的升级版,优点是比较容易配置,还自带web界面比较易于管理。 Cobbler内置了一个轻量级配置管理系统,但它也支持和其它配置管理系统集成,如Puppet,暂时不支持SaltStack。 cobbler官网 http://cobbler.github.io/ 1、安装 clbbler需要先配置epel源 yum -y install cobbler cobbler-web dhcp 需要手动安装Django [root@cobbler ~]# yum localinstall Django14-1.4.21-1.el6.noarch.rpm [root@cobbler ~]# rpm -ql cobbler # 查看安装的文件,下面列出部分。

Linux信号(Understanding Linux Kernel 3rd)

烈酒焚心 提交于 2020-11-21 06:13:39
总览 产生 内核或应用程序产生,一份简短的信息。 传递 挂起状态 非挂起状态 信号类型 发给进程的信号(所有线程共享) 发给线程的信号 处理者 进程信号是其中一个没有屏蔽这个信号的线程处理。 线程就是指定线程处理。 处理方式 do_signal 处理 创建对应的特定栈帧来处理。 信号处理函数 整个进程中的线程共享。 有默认也有自定义。 需要的信息也可以自定义。 信号的作用 简讯 一份简短的信息。 生产者是内核或进程。 处理者是具体的线程或者是进程组中符合处理条件的线程。 内容 标准的信号就只有一个数字。 32 位的整数,每一位对应一个信号位。 支持实时信号的系统是 64 位,即两个 long . 信号定义 trap -l 用上面的指令罗列出支持的信号。 在编程中一般是宏定义,然后每个宏对应一个数字。 #define SIGHUP 1 #define SIGINT 2 #define SIGQUIT 3 #define SIGILL 4 #define SIGTRAP 5 #define SIGABRT 6 #define SIGIOT 6 #define SIGBUS 7 #define SIGFPE 8 #define SIGKILL 9 #define SIGUSR1 10 #define SIGSEGV 11 #define SIGUSR2 12 #define

如何实现VMware下Ubuntu系统和Windows系统文件之间的复制和粘贴?

冷暖自知 提交于 2020-11-21 04:26:01
解决办法非常简单,只需要在虚拟机上安装一下VMware Tools即可。 第一步,打开虚拟机(我使用的虚拟机是ubuntu-16.04-desktop-amd64) 第二步,点击 VMware菜单栏 中的 虚拟机 --> 安装VMware Tools 。这一步要注意的是,如果你之前安装过,这个选项将会变成 “ 更新VMware Tools ” 。 第三步,点击后,会在Ubuntu系统中找到 VMwareTools-xxxx-xxxx.tar.gz 。将这个文件复制到桌面上或者其他文件夹中,再点击 Extract here(解压到当前目录) ,桌面上将会出现一个文件夹: vmware-tools-distrib 第四步,打开 Terminal终端 窗口,先输入 sudo su ,再输入密码,然后再输入 cd vmware-tools-distrib ,最后输入 sudo ./vmware-install.pl 开始安装。 第五步,开始安装后,然后下边提示的选项 yes/no 直接默认的就可以 ,也就是说我们只需要回车就好,出现 Enjoy,--the VMware team 就说明安装成功。 第六步,安装结束后,输入命令 reboot 重启系统就OK了,即可实现了文件的互相拷贝。 其他方法:   1、最好的方法:安装 VMware tools 后,即可进行共享。   2

MapServer Tutorial——MapServer7.2.1教程学习——第一节用例实践:Example1.3 Displaying Classes in a Layer

纵饮孤独 提交于 2020-11-19 07:25:30
MapServer Tutorial——MapServer7.2.1教程学习——第一节用例实践:Example1.3 Displaying Classes in a Layer 一、前言   关于第一节的案例,分别介绍了一个基本的地图站点应用程序创建和多图层地图站点 应用程序创建。这个案例 主要来介绍一下mapfile文件中 LAYER 对象里面,CLASS对象的应用。   同时还有如何根据CLASSITEM、EXPRESSION等配置去修改地图的显示方式。   最后还有一个很酷炫的方法一次性读取shp文件中的数据信息。   当前案例官网: https://www.mapserver.org/tutorial/example1-3.html#example1-3   附带一点其他的,当前系列博客的大纲博文《 MapServer Tutorial——MapServer7.2.1教程学习(大纲) 》,我会持续更新。   以及我所写博文的应用环境 《 MapServer Configuring with IIS 》。   希望能够给新手带来帮助。 二、创建 Example1.3 Displaying Classes in a Layer站点    老规矩,按照先前的创建站点规则。   在cmd中输入:cd /d E:\SvnWorkspace\LY_WEB_GIS\branches

在SharePoint 平台上发布一个Power BI 报表

落爺英雄遲暮 提交于 2020-11-19 05:42:13
使用SharePoint 列表数据创建一个桌面版的Power BI 报表 1. Let's use the same data Finance Sample Workbook from Power BI site for this example as well 2. Load the data in SharePoint List 3. Open the Power BI for desktop tool and sign in using your O365 ID & password 4. Click File -> New -> It should open the blank report 5. Click Get Data option from Home menu -> More -> Online Services -> SharePoint Online List as shown below: 6. Enter the SharePoint URL - just the site collection but not till the List URL 7. Once you enter, select Microsoft account option from Anonymous, Windows, Microsoft account options

AtCoder Beginner Contest 102

孤街浪徒 提交于 2020-11-19 03:53:59
A - Multiple of 2 and N Time Limit: 2 sec / Memory Limit: 1024 MB Score : 100 100 points Problem Statement You are given a positive integer N N . Find the minimum positive integer divisible by both 2 2 and N N . Constraints 1 ≤ N ≤ 10 9 1≤N≤109 All values in input are integers. Input Input is given from Standard Input in the following format: N N Output Print the minimum positive integer divisible by both 2 2 and N N . Sample Input 1 Copy Copy 3 Sample Output 1 Copy Copy 6 6 6 is divisible by both 2 2 and 3 3 . Also, there is no positive integer less than 6 6 that is divisible by both 2 2 and