zoukankan      html  css  js  c++  java
  • LAMP

    1、MIME

    2、动态网站有客户端动态还有服务器动态。源程序下载到本地,在本地执行,并打印,不安全。

    ActiveX、Applet(用Java开发的小程序,需要一个解释器JVM来执行,Java是一次)都是一种客户端动态,就是一种在客户端执行的一种机制。

    3、Java被称为一次编译到处运行。但是它只能运行在虚拟机上,它也是有环境依赖的,只是被虚拟机隐藏起来了。

    C就不行了,编译完了的C程序在不同的环境下是不一定能运行的。

    4、CGI(Common Gateway Interface,通用网关接口)是HTTP服务器与你的或其它机器上的程序进行“交谈”的一种工具,其程序须运行在网络服务器上。让web服务器能够跟后端程序相结合的,调用后端程序调用输入去执行的接口。

    webapp,web应用程序。

    5、编程语言:静态语言——编译型语言(C,C++,Java等);动态语言——解释型语言(shell,perl,python等)。

      静态语言效率高,性能好,但是每一次它的错误查找调试很麻烦,都需要重新编译,并且它过于底层,别人的末班不好用,它的开发周期很长,维护很难。所以它适合底层应用,不常修改且性能要求很高的场景。比解释型语言高30%左右。

      动态语言便于维护,做多共享模块,开发周期短,维护成本小,但是性能差。

      所以完美的是用动态语言开发,再用一个转换器转换成一个静态语言。比如Facebook用php开发,用一个内部的转换器(Hiphop)转成一个C++程序。所以它的执行性能很好。

      但并非所有的动态语言都适合网页开发,比如说bash,它主要是实现系统自动化,不适合web服务器站点开发。但也有很牛逼的人他就这么做,但是很复杂。

      其他很多语言就开发站点需要框架,比如Python需要DjangoJava需要ssh(Spring,Stucts,Hibernate)ruby需要rails。除了PHP和asp(too sad,the teacher says it's ugly)是专门用来开发站点的。

      

    ----------------PHP-------------------------

    1、opcode操作码

    php是一种解释型语言。

    php源码→利用解释器编译成二进制(编译结果opcode,接近于而只能,不能独立运行,只能在zend引擎当中运行)→执行二进制格式。

    .php文件被编译完成之后不在自己的内存空间中,而是放在一个公用的内存空间中(一个缓存器),这样其他的所有的进程都可以访问。这样的缓存器有APC,eAccelerator,XCache,Zend Optimizer和Zend Guard Loader等等。

    PHP、javascript

    2.MVC(model view control)

    当有大量用户并发访问的时候,CGI机制并不是理想的模式。

    3.DSO,Dynamic share object.

    Apache是模块化设计。用某个模块功能的时候就加载这个模块。将php解释的功能做成一个模块,当我们需要php的时候就直接加载这个模块,这样,当一个用户访问的用户,不用开始两个进程,一个响应用户请求,一个进行php解释。这时候我们只需要一个进程就好了,它能用一个进程完成上面两个功能。

     --------------MySQL-------------------

    1.协议是规定模块等之间的通信。比如说http需要Apache等等,协议都是需要软件来实现的。

    2.DBMS, DataBase Management System, 数据库管理系统

    3.数据的组织结构

      层次型

      网状型

      关系型

    4.关系型数据库

    关系型数据库也有很多不足。范式。所以出现了NoSQL,反关系模型。相应的软件有MongoDB、Redis、HBase。

    RDBMS,Relational DataBase Mangement System,关系型数据库管理系统

    一张表可以保存为多个文件,一个文件可以有多张表,他们之间没有必然的联系。

    DML:Data Manapulate Language: 数据操作语言

      INSERT, REPLACE, UPDATE, DELETE
    DDL:Data Defination Lanuage: 数据定义语言
      CREATE, ALTER, DROP
    DCL:Data Control Language: 数据控制语言
      GRANT, REVOKE

    5.RDBMS的主要有:Oracle、Sybase、Infomix、SQLServer(前三个是最好的三大数据库)

      开源的有MySQL、PostgreSQL

     

    6.数据库的出现

    一个500G的数据的文件,要对他的条目进行排序,我们需要索引进行操作。不然我们要将整个文件加载进入进程的内存空间进行操作,那显然是不合适的。所以要有DBMS。

    7.mysql cluster(集群)

    mysql community server

    mysql enterprise edition

    mysql connectors(连接器)  

    8.mysql软件包格式:软件包管理器特有的格式(rpm包,.exe),通用二进制格式(类似于绿色软件),源程序    

    9.表:一个表至少有一个列,可以没有行

    行row

    列field(字段),column

    字段:名称,数据类型,类型修饰符

    10.MySQL一些常用的指令

    DDL
      CREATE
      ALTER
      DROP
    DML
      INSERT
      UPDATE
      DELETE
    DCL
      GRANT
      REVOKE

    创建数据库
      CREATE DATABASE db_name;
      CREATE DATABASE [IF NOT EXISTS] db_name;

      DROP DATABASE [IF EXISTS] db_name;

    创建表
      CREATE TABLE tb_name(col1,col2,...);

    查看库中的表:SHOW TABLES FROM db_name;
    查看表的结构:DESC tb_name;

    删除表:DROP TABLE tb_name;

    修改表:
      ALTER TABLE tb_name
      MODIFY
      CHANGE
      ADD
      DROP

    DML:
      INSERT INTO tb_name (col1,col2,...) VALUES|VALUE ('STRING', NUM,...);
      INSERT INTO tb_name (col1,col2,...) VALUES|VALUE ('STRING', NUM,...),('STRING',NUM,...);

      UPDATE tb_name SET column=value WHERE

      DELETE FROM tb_name WHERE CONDITION;

    选择:
      SELECT 字段 FROM tb_name WHERE CONDITION

      *: 所有字段
      WHERE:没有条件表示显示所有行;

    创建用户:
      CREATE USER 'USERNAME'@'HOST' [IDENTIFIED BY 'PASSWORD'];
      DROP USER 'USERNAME'@'HOST';

    为用户设定密码

      SET PASSWORD FOR 'USERNAME'@'HOST'=PASSWORD('password')

       或者 UPDATE user SET Password=PASSWORD("*****") WHERE USER='*****' AND HOST='*****'

    10.MySQL的图形化工具:

         phpMyAdmin、Workbench、MySQL Front、Navicat for MySQL

    ----------

    1.WebServer、能运行Webapp的WebAPPServer、数据库服务器。(Apache、PHP、MySQL)

    这可以安装在一台机器上(单层结构);两层结构;三层结构(三个安装在不同的服务器上)。

    2.LAMP:phpMyAdmin

    论坛:discuz(现在已经被腾讯收购)、phpwind(现在已经被阿里巴巴收购)、phpbb

    CMS(内容管理系统):drupal、joomla

    另一个常用的LAMP:WordPress,这是一个全球性的个人博客系统

    --------------自己实验-------------

    在实验室的一台机器装上LAMP,在另一台机器山访问。

    service被直接访问的文件在目录/var/www/html中。一开始看网上的教程都是直接放在/var/www中,当然了这肯定是由一个配置文件配置它的直接访问目录的。

     

    Just like writing, coding is a work of creating!
  • 相关阅读:
    php 上传大文件配置upload_max_filesize和post_max_size选项
    phpstorm version 2016.2 License Server激活
    ubuntu 14.04 下通过apt-get 安装jdk
    SSH远程会话管理工具
    mysql配置命令 CHARACTER_SET_%字符集设置
    mysql 的max_connections和max_user_connections 的区别
    ActiveMQ基于JMS的pub/sub传播机制
    ActiveMq入门实例
    Java JMS
    LockSupport学习
  • 原文地址:https://www.cnblogs.com/chenbuer/p/3873305.html
Copyright © 2011-2022 走看看