显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

@fc_lamp

fc_lamp(FC)一盏名为"飞川"的灯~

 
 
 
 
 
 

关于HTML5 打印 页面边距设置

2016-8-29 14:23:14 阅读3 评论0 292016/08 Aug29

你已知的大多数CSS在印刷品排版中有效。在印刷品中比较特别的是,我们有“CSS分页媒体模块”和“CSS分页媒体模块生成内容”规则。让我们看一下这些规则如何生效。

@PAGE 规则

@page规则允许你指定页面盒子的许多方面。例如,你想要指定页面尺寸。下面这条规则指定默认页面尺寸是5.5*8.5英尺。如果你想打印一本书,也许通过按需打印,找到可用尺寸很重要。

@page { size: 5.5in 8.5in; }

除了可以用长度值声明尺寸,你还可以使用纸质尺寸关键字,例如"A4"或““legal”。

@page { size: A4; }

你也可以使用关键字来指定页面方向 - ““portrait””或“landscape”。

@page { size: A4 landscape; } 理解页面模块

进一步讨论前,我们需要理解分页媒体运行的页面模块,因为它和运行在屏幕上的内容表现上有一些不同。

页面模块定义了一块页面区域和16个环绕的边距盒。你可

作者  | 2016-8-29 14:23:14 | 阅读(3) |评论(0) | 阅读全文>>

在Windows下编译PHP和PHP扩展

2016-8-15 11:49:38 阅读18 评论0 152016/08 Aug15

提醒:在Windows下编译PHP和扩展比linux下麻烦很多,你需要找对编译器,找对PHP源码版本、找对系统架构(X64还是X86)......反正各种匹对。以下为,参考文章,本人亲自测试,是可行,但是过程很繁琐。

官网参考:https://wiki.php.net/internals/windows/stepbystepbuild

本文源:  http://www.zhaoyuanma.com/article/12.html

需要的文件编译器。这里以VC++ 11(Visual Studio 2012)为例,它可以编译PHP 5.5(官方支持)和5.4(可用)。对应地,VC++ 9(Visual Studio 2008 SP1,需要Windows SDK 6.1)可以编译PHP 5.4(官方支持)和5.3(官方支持)。PHP的官方Wiki上有详细的编译器支持列表(英文)。

PHP源代码。推荐从官网下载。

PHP SDK。需要从这里下载两个压缩包:

作者  | 2016-8-15 11:49:38 | 阅读(18) |评论(0) | 阅读全文>>

GIT 常用命令集

2016-8-11 11:48:11 阅读16 评论0 112016/08 Aug11

源:http://foofish.net/blog/104/git-command

新建/克隆代码库$ git init #当前目录新建一个Git代码库 $ git init [project-name] #新建一个目录,将其初始化为Git代码库 $ git clone [url] #下载一个项目和它的整个代码历史 $ git fetch [url] #下载/同步项目到 添加/删除文件$ git add [file1] [file2] ... # 添加指定文件到暂存区 $ git add [dir] # 添加指定目录到暂存区,包括子目录 $ git add . # 添加当前目录的所有文件到暂存区 $ git rm [file1] [file2] ... # 删除工作区文件,并且将这次删除放入暂存区 $ git rm --cached [file] # 停止追踪指定文件,但该文件会保留在工作区 $

作者  | 2016-8-11 11:48:11 | 阅读(16) |评论(0) | 阅读全文>>

关于Python中的下划线

2016-8-11 11:43:04 阅读15 评论0 112016/08 Aug11

一 关于下划线:

    单下划线开头的变量,Pyhthon规定为内部变量(私有变量),from M import * 时,这种变量并不会导入进来,例如:

foo.py

#foo.py

bar = 10

bar2 = 11

_bar = 20

__bar = 30

foo2.py

#foo2.py

from foo import *

if __name__ == '__main__':

print locals()

执行 python foo2.py,输出:

{'bar2': 11, 'bar': 10, '...省略'}

输入结果中并没有 _bar和__bar,因为它们都是以下划线开头的变量,所以没有导入进来,但是如果你非要把这些变量导入进来也是可以的,使用import时,明确导入具体的变量时就行了。如:

#foo2.py

from foo import *

from foo import _bar

from foo import __bar

if __name__ == '__main__':

print locals()

输出:

{'_bar': 20, 'bar2': 11, 'bar': 10, '__bar': 30, ‘...省略'}

作者  | 2016-8-11 11:43:04 | 阅读(15) |评论(0) | 阅读全文>>

MYSQL 数据库开发规范

2016-8-4 0:20:41 阅读19 评论0 42016/08 Aug4

基本命名和约束规范

表字符集选择UTF8 ,如果需要存储emoj表情,需要使用UTF8mb4(MySQL 5.5.3以后支持)

存储引擎使用InnoDB

变长字符串尽量使用varchar varbinary

不在数据库中存储图片、文件等

单表数据量控制在1亿以下

库名、表名、字段名不使用保留字

库名、表名、字段名、索引名使用小写字母,以下划线分割 ,需要见名知意

库表名不要设计过长,尽可能用最少的字符表达出表的用途

字段规范

所有字段均定义为NOT NULL ,除非你真的想存Null

字段类型在满足需求条件下越小越好,使用UNSIGNED存储非负整数 ,实际使用时候存储负数场景不多

使用TIMESTAMP存储时间

使用varchar存储变长字符串 ,当然要注意varchar(M)里的M指的是字符数不是字节数;使用UNSIGNED INT存储IPv4 地址而不是CHAR(15) ,这种方式只能存储IPv4,存储不了IPv6

使用DECIMAL存储精确浮点数,用float有的时候会有问题

少用blob text

关于为什么定义不使用Null的原因

* 1.浪费存储空间,因为InnoDB需要有额外一个字节存储

* 2.表内默认值Null过多会影响优化器选择执行计划

索引规范

单个索引字段数不超过5,单表索引数量不超过5,索引设计遵循B+ Tree索引最左前缀匹配原则

作者  | 2016-8-4 0:20:41 | 阅读(19) |评论(0) | 阅读全文>>

MySQL TIPS(一次性批量更新不同值)

2016-7-13 10:52:20 阅读33 评论0 132016/07 July13

一 case when.... 计算条件列表并返回多个可能结果表达式

SELECT <myColumnSpec> = 

CASE 

WHEN <A> THEN <somethingA> 

WHEN <B> THEN <somethingB> 

ELSE <somethingE> 

END

例如用于查询:

SELECT 

    Title, 

    'Price Range' = 

    CASE 

        WHEN price IS NULL THEN 'Unpriced' 

        WHEN price < 10 THEN 'Bargain' 

        WHEN price BETWEEN 10 and 20 THEN 'Average' 

        ELSE 'Gift to impress relatives' 

    END 

FROM titles 

ORDER BY price

用于数据批理更新:

UPDATE tbl_test SET val = CASE id WHEN 1 THEN 2 WHEN 2 THEN 3 END WHERE id IN(1, 2);

update test set varchar_= case char_ when 1 then 'a' when 2 then 'b' when 3 then 'c' end where char_ in(1,2)

作者  | 2016-7-13 10:52:20 | 阅读(33) |评论(0) | 阅读全文>>

再次深入理解python import 机制

2016-7-6 0:59:39 阅读43 评论0 62016/07 July6

之前写过一个python import的基础篇,点击这里查看》。

今天来看看更深入的理解:

Python 类库引入机制

首先,看一个简单的例子:

"""

目录结构如下:

├── __init__.py

├── main.py

└── string.py

"""

# main.py 内容如下

import string

print string.a

# string.py 内容如下

a = 2

现在,考虑一下:

当我们执行main.py的时候,会发生什么事情?在main.py文件执行到import string的时候,解释器导入的string类库是当前文件夹下的string.py还是系统标准库的string.py呢?如果明确的指明?己要引?的类库?

为了搞清楚上面的问题,我们需要了解关于Python类库引入的机制。

Python的两种引入机制

Python 提供了二种引入机制:

relative importabsolute importrelative import

relative import 也叫作相对引入,在Python2.5及之前是默认的引入方法。它的使用方法如下:

作者  | 2016-7-6 0:59:39 | 阅读(43) |评论(0) | 阅读全文>>

关于mysql SQL 注入

2016-6-30 14:15:03 阅读44 评论0 302016/06 June30

mysql常用注释#--[空格]或者是--+/*…*/

在注意过程中,这些注释可能都需要进行urlencodemysql认证绕过;%00‘ or 1=1 #‘ /*!or */ 1=1 --+mysql连接符

mysql中使用+来进行连接。

1

select * from users where username='zhangsan' and "ab"="a"+"b";

mysql中常见函数

在进行sql注入过程中,会使用到mysql中的内置函数。在内置函数中,又分为获取信息的函数和功能函数。

信息函数是用来获取mysql中的数据库的信息,功能函数就是传统的函数用来完成某项操作。

常用的信息函数有:

database(),用于获取当前所使用的数据库信息version():返回数据库的版本,等价于@@version

user():返回当前的用户,等价如current_user参数。如:

1

2

select user(); #root@localhost

select current_user; #root@localhost

@@datadir,获取数据库的存储位置。

1

select @@datadir; #D:\xampp\mysql\data\

常见的功能函数有:

load_file():从计算机中载入文件,读取文件中的数据。

作者  | 2016-6-30 14:15:03 | 阅读(44) |评论(0) | 阅读全文>>

python 文本文件文件遍历的问题

2016-6-29 11:00:10 阅读41 评论0 292016/06 June29

#coding:utf-8

f = open('./2.txt')

for l in f:

print l

print '\n*****************\n'

#seek重新指向文件头

f.seek(0)

for l in f:

print l

f.close()

类比PHP:http://fc-lamp.blog.163.com/blog/static/174566687201652911010852/

作者  | 2016-6-29 11:00:10 | 阅读(41) |评论(0) | 阅读全文>>

PHP(Python) Socket 开发 (Workerman swoole)【初试】

2016-6-18 19:02:58 阅读43 评论0 182016/06 June18

在PHP领域出现两个很优秀的SOCKET 服务框架: workerman 与 swoole。其中workerman是基于php原生的socket方式开发的,swoole是用原生C 写的。各有各的好处。

我们先看看workerman socket框架,我们先测试性的使用一下。

我们先在本地创建两个目录:MyApp是应用程序目录,Workerman 为框架核心目录。workerman的核心包可在官网下载:

http://www.workerman.net/,下载好并放到Workerman目录后,我们就开始写应用服务了。

在服务端,我们在MyApp中创建一个php文件

socket.php

<?php

/**

* 使用测试

* @internal

* @author fc_lamp

*/

use Workerman\Worker;

$appRootDir = dirname(dirname(__FILE__));

require_once $appRootDir.'/Workerman/Autoloader.php';

//开启Socket中的text协议,但需要注意:客户端发送的流消息结束时,必须是\n

$socketH = new Worker('text://0.0.0.0:5678');

//启动1个进程对外提供服务

作者  | 2016-6-18 19:02:58 | 阅读(43) |评论(0) | 阅读全文>>

查看所有日志>>

 
 
 
 
 
 

有道博客搜索

 
 
 
 
 
 
 

四川省 成都市

 发消息  写留言

 
博客等级加载中...
今日访问加载中...
总访问量加载中...
最后登录加载中...
 
 
 
 
 

日志分类

 
 
日志分类列表加载中...
 
 
 
 
 
 
 
模块内容加载中...
 
 
 
 
 
 我要留言
 
 
 
留言列表加载中...
 
 
 
 
 
 
 
博友列表加载中...
 
 
 
 
 

小工具

 
 
模块内容加载中...
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2016

GACHA-他是传说中第一代男神

二次元同好交流新大陆

扫码下载App

注册 登录  
 加关注