各位朋友大家好,我是秦元培,欢迎大家关注我的博客,我的博客地址是http://qinyuanpei.com.在这个系列文章的第一篇中,我们着重认识和了解了HTTP协议,并在此基础上实现了一个可交互的Web服务器,即当客户端访问该服务器的时候,服务器能够返回并输出一个简单的“Hello World”.现在这个服务器看起来非常简陋,为此我们需要在这个基础上继续开展工作.今天我们希望为这个服务器增加主页支持,即当我们访问这个服务器的时候,它可以向我们展示一个定制化的服务器主页.通常情况下网站的主页被定…
各位朋友大家好,我是秦元培,欢迎大家关注我的博客.从今天起,我将开始撰写一组关于HTTP服务器开发的系列文章.我为什么会有这样的想法呢?因为人们对Web技术存在误解,认为网站开发是Web技术的全部.其实在今天这样一个时代,Web技术可谓是无处不在,无论是传统软件开发还是移动应用开发都离不开Web技术,所以在我的认识中,任何使用了HTTP协议实现数据交互都可以认为是Web技术的一种体现,而且当我们提及服务器开发的时候,我们常常提及Java或者PHP.可是这些重要吗?不,在我看来服务器开发和语言无关…
 各位朋友大家好,我是秦元培,欢迎大家关注我的博客,我的博客地址是http://qinyuanpei.com.在我们这个Web服务器有了一个基本的门面以后,我们是时候来用它做点实际的事情了.还记得我们最早提到HTTP协议的用途是什么吗?它叫超文本传输协议啊,所以我们必须考虑让我们的服务器能够接收到客户端传来的数据.因为我们目前完成了大部分的工作,所以对数据传输这个问题我们这里选择以最简单的GET和POST为例来实现,这样我们今天的重点就落实在Get和Post的实现这个问题上来.而从原理上来讲,无…
一. 操作系统层面安全 对于数据库来说,安全很重要,本章将从操作系统和数据库两个层面对mysql的安全问题进行了解. 1. 严格控制操作系统账号和权限 在数据库服务器上要严格控制操作系统的账号和权限,在安装mysql时就要重视安全问题. (1) 锁定mysql用户. (2) 其它任何用户都采取独立的账号登录,管理员通过mysql专有用户管理mysql服务,或者通过 root su到mysql用户下进行管理. (3) mysql用户目录下,除了数据文件目录,其它文件和目录属主都改为root. 我本…
一. 完全备份恢复说明 xtrabackup二进制文件有一个xtrabackup --copy-back选项,它将备份复制到服务器的datadir目录下.下面是通过 --target-dir 指定完全备份文件的目录,还原到datadir目录下. xtrabackup --copy-back --target-dir=/data/backups/ 可以使用xtrabackup --move-back选项恢复备份.这个选项类似于xtrabackup --copy-back,唯一的区别是它将文件移动到…
一. xtrabackup 选项说明 在操作xtrabackup备份与恢复之前,先看下该工具的选项,下面记录了xtrabackup二进制文件的部分命令行选项,后期把常用的选项在补上.点击查看xtrabackup Option 指南 选项名 说明 --apply-log-only 仅在准备备份时,执行重做阶段.这对于增量备份非常重要. --backup 做一个备份, 并把它放在xtrabackup——target-dir目录里 --binlog-info 此选项控制Percona XtraBack…
在今天,读书有时是件“麻烦”事.它需要你付出时间,付出精力,还要付出一份心境.--仅以<java web开发环境配置系列>来祭奠那逝去的…… 1.下载tomcat压缩包,进入官网http://tomcat.apache.org/,官网左侧有对应的下载列表,选择适合自己的版本,进入下载页面,这里下载的是64-bit Windows zip 2.下载后,解压到指定的文件目录中,如:D:\Program Files\tomcat 3.配置环境变量(右击“我的电脑”-->"高级&quo…
PHP开发环境配置系列(四)-XAMPP常用信息 博客分类: PHP开发环境配置系列 xamppphp 完成了前面三篇后(<PHP开发环境配置系列(一)-Apache无法启动(SSL冲突)> .<PHP开发环境配置系列(二)-XDebug设置> .<PHP开发环境配置系列(三)-项目源码映射> ),今天补充一下XAMPP的一些常用信息(<PHP开发环境配置系列(四)-XAMPP常用信息> ),有备无患.     1. XAMPP的启动路径     xampp…
最近学习了Java NIO技术,觉得不能再去写一些Hello World的学习demo了,而且也不想再像学习IO时那样编写一个控制台(或者带界面)聊天室.我们是做WEB开发的,整天围着tomcat.nginx转,所以选择了一个新的方向,就是自己开发一个简单的Http服务器,在总结Java NIO的同时,也加深一下对http协议的理解. 项目实现了静态资源(html.css.js和图片)和简单动态资源的处理,可以实现监听端口.部署目录.资源过期的配置.涉及到了NIO缓冲区.通道和网络编程的核心知识…
上一篇文章我介绍了如果动态加载dll文件来更新程序 一步一步开发Game服务器(三)加载脚本和服务器热更新 可是在使用过程中,也许有很多会发现,动态加载dll其实不方便,应为需要预先编译代码为dll文件.便利性不是很高. 那么有么有办法能做到动态实时更新呢???? 官方提供了这两个对象,动态编译源文件. 提供对 C# 代码生成器和代码编译器的实例的访问. CSharpCodeProvider 提供一下方法加载源文件, // 基于包含在 System.CodeDom.CodeCompileUnit…
原文链接 Go(Golang.org)是在标准库中提供HTTP协议支持的系统语言,通过他可以快速简单的开发一个web服务器.同时,Go语言为开发者提供了很多便利.这本篇博客中我们将列出使用Go开发HTTP 服务器的方式,然后分析下这些不同的方法是如何工作,为什么工作的.    在开始之前,假设你已经知道Go的一些基本语法,明白HTTP的原理,知道什么是web服务器.然后我们就可以开始HTTP 服务器版本的著名的“Hello world”. 首先看到结果,然后再解释细节这种方法更好一点.创建一个叫…
java开发邮件服务器的接收模块 用java建立socket服务端,监听端口25,实现SMTP协议.即可完成邮件服务器的接收模块. 这里要注意的是,SMTP协议其实可以分为两种.一种是你用手机.PC等客户端发邮件到邮件服务商的服务器的时候用的SMTP协议,这一类是需要登录验证的.一种是邮件服务商之间传递邮件的SMTP协议,此类协议是不需要登录的.比如你用Foxmail上你的QQ邮箱发送了一封邮件到163的邮箱.过程是这样的: 邮件从Foxmail通过SMTP协议发送到QQ邮箱的服务器. QQ邮箱…
转:http://www.cnblogs.com/springyangwc/archive/2011/08/03/2126763.html 概要 为时20多天的sharepoint开发学习笔记系列终于写完了,从基本的配置到web part开发,再到time job开发等等,其中由于自己才接触sharepoint一年的时间,很多认识还很浅,暂时先记下来,让自己能坚持学习的时候不忘写博客的习惯. 系例导航 步步为营 SharePoint 开发学习笔记系列 一.简介 步步为营 SharePoint 开…
上一章,我们讲到,怎么用蓝图建造一个好的项目,今天我们继续深入.上一章中,我们所有的接口都写在view.py中,如果几十个,还稍微好管理一点,假如上百个,上千个,怎么找?所有接口堆在一起就显得杂乱无章.flask没有推荐大家在这方面的功能,通常都是由自己来实现.我们通常的做法,都是按照功能划分文件,把不同功能的应用接口,划分到不同文件,如果某个功能的接口很多,再细分一下.当然你也可以按照其他划分方式划分,只要记住一点,项目怎么管理方便,就怎么划分,千万不要被框架框死. 废话说过了,来点实际的.上…
上一章我们讲到如何利用alembic来更新数据库,这章,我们讲如何通过七牛服务来存储图片. 像我们大多数公司一样,公司资金比较少,如果自己开发图片服务器,代价太大:如果我们用自己的网站服务器来保存图片,很可能会把带宽阻塞住.因此,一款优秀的第三方图片服务变得非常重要.七牛就是这么一款,上传代码简单,可以在线编辑,简单的变换url,可以得到图片的不同效果.关键是,它是在一定限额内是免费的,只要通过认证,基本都够用了.我们公司现在包括app,网站所有图片都放在七牛,一直用的很好,一分钱也没有花. 好…
这是敏捷开发用户故事系列的第十一篇.(栏目目录) 经常有人问起有没有完整的用户故事案例.本人在网上找了一下,大约能找到两三篇,但多数只是为了描述用户故事的语法而已,都不涉及用户故事的颗粒度.大量故事的组织结构这类内容. 本来想用我们自己的火星人做案例,但考虑到大家都不熟悉我们的工作内容,一直没有动手.前天突然想到何不用大家都熟悉的CSDN博客系统做一个演示,所以才有此文. 分析过程使用的方法是敏捷开发用户故事系列之十:八步走从用户故事生成代码结构提到的方法(前四步),如果只计算用Word生成故事…
前言 上篇文章地址:C#开发移动应用系列(1.环境搭建) 嗯..一周了 本来打算2天一更的 - - ,结果 出差了..请各位原谅.. 今天我们来讲一下使用WebView搭建WebApp应用. 说明一下为何要用WebApp的形式,因为首先..易于更新,其次学习成本又会降低一个档次 因为不需要去很深入的了解各种安卓的界面布局,我们直接全屏覆盖一个WebView就好了.(当然,实际应用中还是需要加入一部分原生控件来提高用户体验) 确定一下本篇的学习目标: 1.学会使用WebView基础功能 2.通过W…
前言 上篇文章地址: C#开发移动应用系列(1.环境搭建) C#开发移动应用系列(2.使用WebView搭建WebApp应用) 今天我们来讲一下如何使用Camera来调用照相机扫描二维码. (Tips:大神别问我为什么不用Camera2,饭要一口口吃..慢慢来.....................其实是我还没看懂..) 确定一下本篇的学习目标: 1.学会如何调用Camera来实现照相机预览 2.学会如何跳转Activity并传值 3.学会如何识别相机预览中的二维码,并读取 效果图: 正文 1…
前言 上篇文章地址: C#开发移动应用系列(1.环境搭建) C#开发移动应用系列(2.使用WebView搭建WebApp应用) C#开发移动应用系列(3.使用照相机扫描二维码+各种基础知识) 写完这篇..本系列基本也就结束了. 看完这些,基本做个Webapp应该是毫无问题的了..其实略微有点伤感,Xamarin确实是好东西.. 奈何,生不逢时..等完善了. 开源了..社区化了..APP应用(指的是安装包类客户端)已经逐渐没落了.. 算了,话不多说.开始正文 确定一下本篇的学习目标: 1.学会调用…
前言 上篇SSM框架环境搭建篇,演示了我们进行web开发必不可少的一些配置和准备工作,如果这方面还有疑问的地方,可以先参考上一篇“SSM框架开发web项目系列(一) 环境搭建篇”.本文主要介绍MyBatis的基础内容,包括基本概念.开发步骤.使用实例等.说起MyBatis,工作中做过SSH/SSM相关Web开发的或者正在学习MyBatis的人或多或少都会接触到类似“MyBatis和Hibernate有什么区别?”,“MyBatis和Hibernate哪个更好?”,“为什么Mybatis用的人越来…
前言 在上篇MyBatis基础篇中我们独立使用MyBatis构建了一个简单的数据库访问程序,可以实现单表的基本增删改查等操作,通过该实例我们可以初步了解MyBatis操作数据库需要的一些组成部分(配置文件.实体类.SQL映射文件.Mapper接口等等)和重要对象(SqlSession.Mapper实例等等).有了整体认知后,我们就可以进一步深入学习MyBatis的使用,resultMap本文主要围绕resultMap展开. resultMap作为MyBatis的Sql映射文件中重要的元素之一,主…
前言 在前面的MyBatis部分内容中,我们已经可以独立的基于MyBatis构建一个数据库访问层应用,但是在实际的项目开发中,我们的程序不会这么简单,层次也更加复杂,除了这里说到的持久层,还有业务逻辑层.视图层等等,随着代码量和需求复杂度逐渐增长,对象的创建.管理以及层与层之间的耦合度等等问题随之而来.Spring是目前比较流行的框架,它解决了诸多例如层次之间松耦合.帮助管理对象等问题.如果是有准备学习MyBatis的人,应该或多或少都学习过或者了解过Spring了,本篇要通过Spring集成M…
问题一:vs2015 无法连接到已配置的开发web服务器 最靠谱方法如下:(和防火墙开启无关联, 注册表增加什么键值无关联 , 缺失asp.net core.Dll文件无关联 ) 分析,因为前提是你的vs2015能用,并且新建asp.net程序可以正常启动 解决方案:出现此问题是由于你的项目是从别的地方拷贝过来,在项目根目录中有个.vs文件夹 ,手工删除:再启动项目,即恢复正常启动.问题二:无法向会话状态服务器发出会话状态请求.请确保 ASP.NET State Service (ASP.NET…
一.概述 在作何数据库里,备份与恢复都是非常重要的.好的备份方法和备份策略将会使得数据库中的数据更加高效和安全.对于DBA来说,进行备份或恢复操作时要考虑的因素大概有如下: (1) 确定要备份的表的存储引擎是事务型(innodb)还是非事务型.两种不同的存储引擎备份方式在处理数据一致性方面是不太一样. (2) 确定使用全备份还是增量备份.增量备份是备份每天的增量日志,恢复时需要全备份加所有增量备份.这里与sql server的完整备份+日志备份或差异备份有点类似. (3) 可以考虑复制方法来做异…
1.使用相同索引键值的冲突 由于mysql 的行锁是针对索引加的锁,不是针对记录加的锁,所以虽然是访问不同行的记录,但如果是使用相同的索引键,是会出现锁冲突的.设计时要注意 例如:city表city_id字段有索引,Cityname字段没有索引: 会话1 会话2 SET autocommit=0; SET autocommit=0; SELECT * FROM city WHERE city_id=14 AND Cityname='深圳' FOR UPDATE; city_id      cou…
使用 PySide2 开发 Maya 插件系列 总览 使用 PySide2 开发 Maya 插件系列一:QT Designer 设计GUI, pyside-uic 把 .ui 文件转为 .py 文件 使用 PySide2 开发 Maya 插件系列二:继承 uic 转换出来的 py 文件中的类 Ui_Form 使用 PySide2 开发 Maya 插件系列三:qt语言国际化(internationalization)…
使用 PySide2 开发 Maya 插件系列三:qt语言国际化(internationalization) 前言: 这是 qt for python 的语言国际化,基于 UI 的,python 也有自身的语言国际化,两者是不同的. 先来看最终效果: 前期准备: 这次创建一个 main window 在 menu bar 加一个 language 的 menu: 我们还要对 action 进行一些设置,如下: 生成 .py 文件: 生成代码: # -*- coding: utf-8 -*- #…
使用 PySide2 开发 Maya 插件系列一:QT Designer 设计GUI, pyside-uic 把 .ui 文件转为 .py 文件 前期准备: 安装 python:https://www.python.org/downloads/ 安装 PySide2:安装 python 后,在安装目录下有 /script 文件夹,里面有 pip.exe ,cmd执行:pip install PySide,pip install PySide2(注意: python2.x 对应 PySide,py…
使用 PySide2 开发 Maya 插件系列二:继承 uic 转换出来的 py 文件中的类 Ui_Form 开发环境: Wing IDE 6.1 步骤1: 打开 Wing IDE,创建一个新的 project,保存这个 project 到某个路径下,把之前生产的 py 文件所在的文件夹添加到该 project 中,然后在文件夹下新建一个 py 文件,我这里命名为 PySideTest.py 图中 PySide2ToPySide.py 是一个 PySide2 兼容 PySide 的一个补丁代码,…
该属性定义行内元素的基线相对于该元素所在行的基线的垂直对齐.允许指定负长度值和百分比值.这会使元素降低而不是升高.在表单元格中,这个属性会设置单元格框中的单元格内容的对齐方式. <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>vertical-align_CSS参考手册_web前端开发参考手册系列</title> <style>…