- 博客(390)
- 资源 (31)
- 收藏
- 关注
转载 Django 缓存系统
Django 官方关于cache的介绍:https://docs.djangoproject.com/en/1.6/topics/cache/Django 是动态网站,一般来说需要实时地生成访问的网页,展示给访问者,这样,内容可以随时变化,但是从数据库读多次把所需要的数据取出来,要比从内存或者硬盘等一次读出来 付出的成本大很多。缓存系统工作原理:对于给定的网址,尝试从缓
2015-09-23 11:46:53 489
转载 java整型数与网络字节序的 byte[] 数组转换关系
工作项目需要在java和c/c++之间进行socket通信,socket通信是以字节流或者字节包进行的,socket发送方须将数据转换为字节流或者字节包,而接收方则将字节流和字节包再转换回相应的数据类型。如果发送方和接收方都是同种语言,则一般只涉及到字节序的调整。而对于java和c/c++的通信,则情况就要复杂一些,主要是因为java中没有unsigned类型,并且java和c在某些数据类型上的长
2015-09-15 13:35:14 664
转载 关于大型网站技术演进的思考(六)--存储的瓶颈(6)
在讲数据库水平拆分时候,我列出了水平拆分数据库需要解决的两个难题,它们分别是主键的设计问题和单表查询的问题,主键问题前文已经做了比较详细的讲述了,但是第二个问题我没有讲述,今天我将会讲讲如何解决数据表被水平拆分后的单表查询问题。 要解决数据表被水平拆分后的单表查询问题,我们首先要回到问题的源头,我们为什么需要将数据库的表进行水平拆分。下面我们来推导下我们最终下定决心做水平拆分表的演进过程
2015-08-26 16:16:49 301
转载 关于大型网站技术演进的思考(五)--存储的瓶颈(5)
上文里我遗留了两个问题,一个问题是数据库做了水平拆分以后,如果我们对主键的设计采取一种均匀分布的策略,那么它对于被水平拆分出的表后续的查询操作将有何种影响,第二个问题就是水平拆分的扩容问题。这两个问题在深入下去,本系列就越来越技术化了,可能最终很多朋友读完后还是没有找到解决实际问题的启迪,而且我觉得这些问题都是像BAT这样巨型互联网公司才会认真思考的,因此本篇我打算换个角度来阐述本文的后续内容。
2015-08-26 16:02:30 359
转载 关于大型网站技术演进的思考(四)--存储的瓶颈(4)
如果数据库需要进行水平拆分,这其实是一件很开心的事情,因为它代表公司的业务正在迅猛的增长,对于开发人员而言那就是有不尽的项目可以做,虽然会感觉很忙,但是人过的充实,心里也踏实。 数据库水平拆分简单说来就是先将原数据库里的一张表在做垂直拆分出来放置在单独的数据库和单独的表里后更进一步的把本来是一个整体的表进一步拆分成多张表,每一张表都用独立的数据库进行存储。当表被水平拆分后,原数据表成为了
2015-08-26 15:38:53 297
转载 关于大型网站技术演进的思考(三)--存储的瓶颈(3)
存储的瓶颈写到现在就要进入到深水区了,如果我们所做的网站已经到了做数据库垂直拆分和水平拆分的阶段,那么此时我们所面临的技术难度的挑战也会大大增强。 这里我们先回顾下数据库的垂直拆分和水平拆分的定义: 垂直拆分:把一个数据库中不同业务单元的数据分到不同的数据库里。 水平拆分:是根据一定的规则把同一业务单元的数据拆分到多个数据库里。 垂直拆分是一个粗粒度的拆分数
2015-08-26 15:21:46 325
转载 关于大型网站技术演进的思考(二)--存储的瓶颈(2)
上篇里我讲到某些网站在高并发下会报出503错误,503错误的含义是指网站服务端暂时无法提供服务的含义,503还表达了网站服务端现在有问题但是以后可能会提供正常的服务,对http协议熟悉的人都知道,5开头的响应码表达了服务端出现了问题,在我们开发测试时候最为常见的是500错误,500代表的含义是服务端程序出现了错误导致网站无法正常提供服务,500通常是服务端异常和错误所致,如果生产系统里发现了500
2015-08-26 15:08:52 599
转载 关于大型网站技术演进的思考(一)--存储的瓶颈(1)
前不久公司请来了位互联网界的技术大牛跟我们做了一次大型网站架构的培训,两天12个小时信息量非常大,知识的广度和难度也非常大,培训完后我很难完整理出全部听到的知识,今天我换了个思路是回味这次培训,这个思路就是通过本人目前的经验和技术水平来思考下大型网站技术演进的过程。 首先我们要思考一个问题,什么样的网站才是大型网站,从网站的技术指标角度考虑这个问题人们很容易犯一个毛病就是认为网站的访问量
2015-08-26 14:47:49 517
转载 MySQL在大型网站的应用架构演变
本文主要描述在网站的不同的并发访问量级下,Mysql架构的演变。可扩展性架构的可扩展性往往和并发是息息相关,没有并发的增长,也就没有必要做高可扩展性的架构,这里对可扩展性进行简单介绍一下,常用的扩展手段有以下两种:Scale-up:纵向扩展,通过替换为更好的机器和资源来实现伸缩,提升服务能力Scale-out:横向扩展, 通过加节点(机器)来实现伸缩,提升服务能力
2015-08-25 15:25:28 318
转载 MySQL架构设计相关的方式方法和软件介绍(转)
前言最近,我在学习了解MySQL数据库架构相关的内容,从网上搜索了大量的相关资料和文章,粗粗阅览了一遍,发现架构相关的东西深不可测,需要非常丰富的知识阅历和实践经验。我的阅历和经验明显不够用,所以我把了解到的相关内容作了下分类整理,算作这次学习的一个大致总结吧!这篇文章的大部分内容都来自网络,由于我的水 平有限,整理的也并不准确,其中可能有很多错误之处,希望大家能不吝指正!希望这篇文章能抛
2015-08-25 11:50:23 832
转载 协程
协程,又称微线程,纤程。英文名Coroutine。协程的概念很早就提出来了,但直到最近几年才在某些语言(如Lua)中得到广泛应用。子程序,或者称为函数,在所有语言中都是层级调用,比如A调用B,B在执行过程中又调用了C,C执行完毕返回,B执行完毕返回,最后是A执行完毕。所以子程序调用是通过栈实现的,一个线程就是执行一个子程序。子程序调用总是一个入口,一次返回,调用顺序
2015-08-24 17:38:04 377
转载 MySQL中SELECT+UPDATE处理并发更新问题解决方案分享
这篇文章主要介绍了MySQL中SELECT+UPDATE处理并发更新问题解决方案分享,需要的朋友可以参考下问题背景:假设MySQL数据库有一张会员表vip_member(InnoDB表),结构如下: 当一个会员想续买会员(只能续买1个月、3个月或6个月)时,必须满足以下业务要求:•如果end_at早于当前时
2015-08-24 12:00:51 874
转载 网络攻击技术——Broken authentication
1.1.1 摘要在日常的互联网生活当中,我们几乎都离不开用户验证登陆功能,例如:登陆微博,Gmail,博客园,Stackoverflow等网站,这给我们带来了一些不便,就是要管理一堆的用户名和密码,也许有人会说现在很多网站都提供授权验证登陆功能,其中使用最广泛的是OAuth验证机制;在某些情况下,例如一些论坛网站提供微博账户登陆功能,它的实现的却方便了用户,因为它为用户开放服务和重用现有的
2015-08-21 10:25:36 1160
转载 网络攻击技术(三)——Denial Of Service
1.1.1 摘要 最近网络安全成了一个焦点,除了国内明文密码的安全事件,还有一件事是影响比较大的——Hash Collision DoS(通过Hash碰撞进行的拒绝式服务攻击),有恶意的人会通过这个安全漏洞让你的服务器运行巨慢无比,那他们是通过什么手段让服务器巨慢无比呢?我们如何防范DoS攻击呢?本文将给出详细的介绍。 1.1.2 正文
2015-08-21 10:21:54 496
转载 网络攻击技术(二)——Cross-site scripting
1.1.1 摘要 在本系列的第一篇博文中,我向大家介绍了SQL Injection常用的攻击和防范的技术。这个漏洞可以导致一些非常严重的后果,但幸运的是我们可以通过限制用户数据库的权限、使用参数化的SQL语句或使用ORM等技术来防范SQL Injection的发生,接来了要向大家介绍Cross-site scripting(XSS)。 定义:Cross-si
2015-08-21 10:19:24 806
转载 网络攻击技术开篇——SQL Injection
1.1.1 摘要 日前,国内最大的程序员社区CSDN网站的用户数据库被黑客公开发布,600万用户的登录名及密码被公开泄露,随后又有多家网站的用户密码被流传于网络,连日来引发众多网民对自己账号、密码等互联网信息被盗取的普遍担忧。 网络安全成为了现在互联网的焦点,这也恰恰触动了每一位用户的神经,由于设计的漏洞导致了不可收拾的恶果,验证了一句话“出来混的,迟早是要还的”
2015-08-21 10:12:56 387
转载 数据库范式——通俗易懂【转】
数据库范式是数据库设计中必不可少的知识,没有对范式的理解,就无法设计出高效率、优雅的数据库。甚至设计出错误的数据库。而想要理解并掌握范式却并不是那 么容易。教科书中一般以关系代数的方法来解释数据库范式。这样做虽然能够十分准确的表达数据库范式,但比较抽象,不太直观,不便于理解,更难以记忆。 本文用较为直白的语言介绍范式,旨在便于理解和记忆,这样做可能会出现一些不精确的表述。但对于初学
2015-07-27 13:51:28 426
转载 Mysql中的Cascade ,NO ACTION ,Restrict ,SET NULL
外键约束对子表的含义: 如果在父表中找不到候选键,则不允许在子表上进行insert/update 外键约束对父表的含义: 在父表上进行update/delete以更新或删除在子表中有一条或多条对应匹配行的候选键时,父表的行为取决于:在定义子表的外键时指定的on update/on delete子句, InnoDB支持5种方式, 分列如下 . cas
2015-07-24 14:05:52 351
转载 Django Models的数据类型 汇总
Django Models的数据类型AutoField IntegerFieldBooleanFieldtrue/false CharFieldmaxlength,必填 TextField
2015-07-24 10:39:55 457
转载 django 一对多关系操作
这段时间用django 做程序用到了一对多的关系的操作,下面分享一些心得体会,希望对大家有帮助。我先定义两个模型,一个是作者,一个是作者出版的书籍,算是一对多的类型。class Person(models.Model);name = models.CharField('作者姓名', max_length=10)age = models.IntegerField('作者年
2015-07-21 11:29:29 1337
转载 深入django :自定义ORM
Django的Model使用ORM来操作数据库,通常我们只需关注Model类本身,Django自己会处理到数据库的映射。但凡事总有例外,有时需要改变默认的映射行为。Django对此也提供了丰富的支持。 1. 自定义字段名默认的字段名与属性名相同,可以通过字段的db_column属性自定义,如 where = models.CharField(max_length=
2015-07-21 11:25:42 1287
转载 标准Web系统的架构分层
标准Web系统的架构分层– 转载请注明出处1、架构体系分层图在上图中我们描述了Web系统架构中的组成部分。并且给出了每一层常用的技术组件/服务实现。需要注意以下几点:系统架构是灵活的,根据需求的不同,不一定每一层的技术都需要使用。例如:一些简单的CRM系统可能在产品初期并不需要K-V作为缓存;一些系统访问量不大,并且可能只有一台业务服务器存在,所以不
2015-07-20 13:49:48 1162
转载 Django模型修改及数据迁移
MigrationsDjango中对Model进行修改是件麻烦的事情,syncdb命令仅仅创建数据库里还没有的表,它并不对已存在的数据表进行同步修改,也不处理数据模型的删除。 如果你新增或修改数据模型里的字段,或是删除了一个数据模型,你需要手动在数据库里进行相应的修改或者使用South。Django 1.7中已经集成了South的代码,提供了3个新命令:migrate: 用于执行迁
2015-07-20 12:21:53 2697
原创 mysql 表大小的限制
由于mysql可以使用不同的存储引擎,所以不同的存储引擎支持的表大小是有差别的。下面介绍myisam和Innodb。1,myisam由于允许的表尺寸更大,MySQL数据库的最大有效表尺寸通常是由操作系统对文件大小的限制决定的,而不是由MySQL内部限制决定的。2,Innodb表的大小:InnoDB存储引擎将InnoDB表保存在一个表空间内,该表空间可由数个文件创
2015-07-14 17:28:27 3731
转载 PYTHON 学习笔记之 join 和 split 函数用法
python join 和 split方法的使用,join用来连接字符串,split恰好相反,拆分字符串的。1.join用法示例 >>>li = ['my','name','is','bob'] >>>' '.join(li) 'my name is bob' >>>'_'.join(li) 'my_name_is_bob'
2015-07-10 15:01:01 466
转载 svn的恢复到指定版本操作
本文目的让未使用过版本控制器软件或者未使用过subversion软件的人员尽快上手。subversion的使用技巧很多,这里只总结了最小使用集,即主要的基本功能,能够用来应付日常工作。因此不涉及subversion服务器端的搭建和配置。为什么要使用版本控制当多人共同开发同一个软件时,会涉及源代码的共享以及带来的相关问题,比如追究某个代码是由谁在什么时间修改的
2015-07-09 10:26:34 1706
转载 SVN:回滚代码
发现自己提交错了代码如果把错误的代码回滚掉其实操作非常简单,大家一看就会了。第一步:将最新的代码下载到本地工作拷贝并保证目录是干净的(本地没有做过任何修改)第二步:右键show log第三步:执行回滚操作方法一: 右键选中正确的历史版本执行"Revert to this revision",意思是回滚到这个版本,也就是说这个版本以后所有的变更都会被删除。方法二:选中
2015-07-09 10:25:12 598
转载 Python里的string 和 unicode (二)
先说一下,前面提到,print(string)的时候,如果string是按当前环境编码方式编码的,可以正常输出,不会乱码;如果string不是当前编码的,就会乱码。而print(unicode)是不会乱码的。why?应为print(unicode)的时候,会把unicode先转成当前编码,然后再输出。我没看过print的源码,不过估计是这样的。string转unicode或者unicode
2015-07-08 15:38:14 351
转载 Python里的string 和 unicode (一)
首先要弄清楚的是,在python里,string object和unicode object是两种不同的类型。string object是由characters组成的sequence,而unicode object是Unicode code units组成的sequence。string里的character是有多种编码方式的,比如单字节的ASCII,双字节的GB2312等等,再比
2015-07-08 15:37:30 439
转载 Django用户认证系统(三)组与权限
Django的权限系统很简单,它可以赋予users或groups中的users以权限。Django admin后台就使用了该权限系统,不过也可以用到你自己的代码中。User对象具有两个ManyToManyField字段,groups和user_permissionsgroups = models.ManyToManyField(Group, verbose_name=_('gr
2015-07-08 09:57:29 2873
转载 TSUNG测试HTTP协议详解和实例【原创】
TSUNG用于多种协议压测 特点:1. 高性能,支持虚拟100万的轻量级进程。2. 可用于测试多种协议:目前可以用来测试HTTP, WebDAV, SOAP, PostgreSQL, MySQL, LDAP, and Jabber/XMPP等。3. 模拟真实用户,利用os IP别名技术在单个机器上使用多个IP。4. 模式真实流量,支持虚拟用户发呆时间以及随机
2015-07-07 10:57:04 3702 1
转载 Django对静态文件的处理——部署阶段
Django 的官方文档中说,Django 主要关注的是 Web App 的动态部分,像图片、CSS、JS 等的静态文件都应该交由专门的服务器来处理。但在开发阶段,本地不一定能模拟生产环境,这时也是要使用静态文件的。为此Django 提供了一些工具来处理静态文件,作为开发阶段的临时解决方案。所以就分 开发阶段 和 部署阶段 两种情况来说 Django 的静态文件处理。部
2015-07-06 15:41:34 728
转载 使用 PyCharm 远程调试 Django 程序
这阵子组内流行使用 Django 写管理端程序。大家习惯了在 Windows 上使用 PyCharm 等 IDE 快速方便地进行开发,但是由于管理端使用了一些公司的公共组件,而这些组件又只提供了 Linux 上的 Python 接口,因此必须在 Linux 上运行 Django 程序。值得庆幸的是,大多数的 IDE 都提供了远程调试功能, PyCharm 也可以经过简单配置进行远程调试。场
2015-07-06 11:03:58 8314
转载 django 1.7 新的migration框架,取代south
https://docs.djangoproject.com/en/dev/topics/migrations/迁移Django 1.7i 新特性Migrations是Django的方式将模型变更(添加一个字段,删除模型等)映射到数据库schema。它们设计成大部分都是自动进行的,但你需要知道什么时候做迁移,和运行迁移时你可能遇到的常见问题。
2015-06-29 18:53:36 867
转载 如何解决Django 1.8在migrate时失败?
在 linux 上使用 python manage.py migrate 命令报错:django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module: No module named MySQLdb的解决方法。工具/原料Django 1.8MySQL
2015-06-29 12:09:41 1164
转载 HttpClient-调用webservice客户端
import org.apache.commons.httpclient.HttpClient;import org.apache.commons.httpclient.HttpException;import org.apache.commons.httpclient.methods.PostMethod;public class TestClient { private s
2015-06-27 15:23:29 839
原创 python学习笔记二
2、pip使用安装特定版本的package,通过使用==, >=, , pip install 'Django==1.8.1' pip install 'Django>1.6, Django查看已安装的包 pip list 比较老的版本可能需要输入 pip freeze 升级包到
2015-06-24 17:35:21 359
原创 python学习笔记一
近期由于项目需要,开始学习python,我会把学习的点点滴滴记录在这里。1、python包管理首先要弄清楚python包管理工具直接的关系,工具包括:easy_install,setuptools,pip,distribute。下面这个图清楚的说明了四个工具的关系。其中:easy_install和pip是安装和管理Python包的工具,pip是easy_inst
2015-06-24 09:53:42 399
转载 mysql中间件研究(Atlas,cobar,TDDL)
mysql-proxy是官方提供的mysql中间件产品可以实现负载平衡,读写分离,failover等,但其不支持大数据量的分库分表且性能较差。下面介绍几款能代替其的mysql开源中间件产品,Atlas,cobar,tddl,让我们看看它们各自有些什么优点和新特性吧。AtlasAtlas是由 Qihoo 360, Web平台部基础架构团队开发维护的一个基于MySQL协议的数据中间层项
2015-06-04 09:49:19 395
转载 详解SESSION与COOKIE的区别
在PHP面试中 经常碰到请阐述session与cookie的区别与联系,以及如何修改两者的有效时间。大家都知道,session是存储在服务器端的,cookie是存储在客户端的,session依赖于cookie,但是让你说详细点,你会吗?我是不太清楚的,特意在网上找了很多资料,发现一篇不错的文章,特整理归纳在此,供有需要的朋友查看。 具体来说cookie机制采用的是在
2015-06-03 17:49:01 322
2022年最新新疆维吾尔自治区五级行政区划代码
2022-08-05
2022年最新宁夏回族自治区五级行政区划代码
2022-08-05
2022年最新青海省五级行政区划代码
2022-08-05
2022年最新甘肃省五级行政区划代码
2022-08-05
2022年最新陕西省五级行政区划代码
2022-08-05
2022年最新西藏自治区五级行政区划代码
2022-08-05
2022年最新云南省五级行政区划代码
2022-08-05
2022年最新贵州省五级行政区划代码
2022-08-05
2022年最新四川省五级行政区划代码
2022-08-05
2022年最新重庆市五级行政区划代码
2022-08-05
2022年最新海南省五级行政区划代码
2022-08-05
2022年最新广西壮族自治区五级行政区划代码
2022-08-05
2022年最新广东省五级行政区划代码
2022-08-05
2022年最新湖南省五级行政区划代码
2022-08-05
2022年最新湖北省五级行政区划代码
2022-08-05
2022年最新河南省五级行政区划代码
2022-08-04
2022年最新山东省五级行政区划代码
2022-08-04
2022年最新江西省五级行政区划代码
2022-08-04
2022年最新福建省五级行政区划代码
2022-08-04
2022年最新安徽省五级行政区划代码
2022-08-04
2022年最新浙江省五级行政区划代码
2022-08-04
2022年最新江苏省五级行政区划代码
2022-08-03
2022年最新上海市五级行政区划代码
2022-08-03
2022年最新黑龙江省五级行政区划代码
2022-08-03
2022年最新吉林省五级行政区划代码
2022-08-03
2022年最新辽宁省五级行政区划代码
2022-08-03
2022年最新内蒙古自治区五级行政区划代码
2022-08-02
2022年最新山西省五级行政区划代码
2022-08-02
2022年最新河北省五级行政区划代码
2022-08-02
2022年最新天津市五级行政区划代码
2022-08-02
2022年最新北京市五级行政区划代码
2022-08-01
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人