Month: October 2015

程序员眼中的编程语言

下图是一个搞笑的图片——程序员眼中的编程语言。 图片的横轴是编程语言。 纵轴是各语言的程序员、粉丝、信徒。 中间的各个小图片则是,粉丝眼中的编程语言的形象。 比如说, 第一行第一列,是Java程序员看Java语言的样子,一幢现代化的大厦。 第一行第二列,是Java程序员看C语言,一个年老过时的骨灰级老头。 当然,C程序员看Java语言也比较搞,见第二行第一列。呵呵。 其它的大家自己看吧。还有另外一个关于操作系统的《粉丝眼中的操作系统》   本文:程序员眼中的编程语言… Read More

粉丝眼中的操作系统

在发布完《程序员眼中的编程语言》一文后,发现网上还有一个关于操作系统的。如下所示。 图片的横轴是三大操作系统。 纵轴是各操作系统的粉丝和信徒。 中间的各个小图片则是,粉丝眼中的操作系统的形象。 本文:粉丝眼中的操作系统… Read More

php实现畅言留言板和网易跟帖样式

我要实现的就是下图的这种样式,可参考下面这两个网站的留言板,他们的实现原理都是一样的 http://changyan.sohu.com/blog/?p=177 http://www.reddit.com/r/wow/comments/2y6739/method_vs_blackhand_mythic_kill_video_world_1st/   和 原理 需要在评论表添加两个主要字段 id 和 pid  ,其他字段随意添加,比如文章id、回复时间、回复内容、回复人什么的。 其中pid就是当前已经回复过的评论的id。 从上图可以看出,里面每一层的pid就是就是他上一层评论的id。仔细观察下上面的布局。是不… Read More

php将json格式的数据直接存入mysql数据库

直接使用php函数 json_encode ,数据存入mysql时会报错: $imgs_str = json_encode($imgs_array); $update_query = "updatearticleset imageList = $imgs_str where id = $targetid"; 解决方法 json编码后的数据是这样的: {"key":"value"} 那sql就是这样的: insert into `table` (`field`) values ("{"key":"value"}") 所以就出错了 完整代码: $data = json_encode($array); // 过滤 $data = addslashes($data); /… Read More

禁止搜索引擎收录的方法

1. 什么是robots.txt文件? 搜索引擎使用spider程序自动访问互联网上的网页并获取网页信息。spider在访问一个网站时,会首先会检查该网站的根域下是否有一个叫做 robots.txt的纯文本文件,这个文件用于指定spider在您网站上的抓取范围。您可以在您的网站中创建一个robots.txt,在文件中声明 该网站中不想被搜索引擎收录的部分或者指定搜索引擎只收录特定的部分。 请注意,仅当您的网站包含不希望被搜索引擎收录的内容时,才需要使用robots.txt文件。如果您希望搜索引擎收录网站上所有内容,请勿建立robots.txt文件。 2. robots.txt文件放在哪里? robots.tx… Read More

CSS3 Flexbox轻松实现元素的水平居中和垂直居中

网上有很多关于Flex的教程,对于Flex的叫法也不一,有的叫Flexbox,有的叫Flex,其实这两种叫法都没有错,只是Flexbox旧一点,而Flex是刚出来不久的东西而已,为了方便说明,赶上新技术,下面我就把这种布局叫Flex布局。 元素居中,相信作为前端工程师的你肯定会经常用到,不管是在水平方向居中,还是垂直方向居中,都可在你的职业生涯中徘徊。不过很多时候要实现垂直居中,还是比较麻烦的。不过你也不用担心,下面就给大家分享下通过Flex布局轻松实现元素在水平、垂直方向上的居中效果。 水平居中 水平居中最为简单我们直接来看下代码 1.单个元素水平居中 CSS代码 .box{ display: flex; j… Read More

CSS3 Flex 弹性布局用法详解

什么是Flex弹性布局 Flex是Flexible Box的简称,意为弹性布局,顾名思义,在网页布局时,他可以给我们提供更多的灵活性。 说明: 1.flex是display的一个属性值。与之相当应的还有一个是inline-flex。 2.设置了Flex布局后,子元素的float,clear,还有verticle-align属性都不起作用。 3.设置了display:flex属性的元素,称为Flex容器,他里面的所有子元素统称为容器成员,称为Flex项目。后面我们就使用Flex容器和 Flex项目来进行介绍。 Flex容器有两根坐标轴:水平的叫主轴(main axis)和垂直的叫交叉轴(cross axis)。 Fl… Read More

使用CSS3伪类元素(::before|::after)对文字进行美化

如果要想把一个文字的分成两半分别设置成不同的颜色,你是不是第一时间只想到通过PS来实现呢,不过有一个不好的地方就是图片会占用更多的资源。所以下面就给大家介绍一个通过CSS的伪类元素来美化文字的方法。 对一个文字进行美化 左右型美化 HTML代码 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>CSS3伪类元素(::before|::after),文字进行美化</title> </head> <body> <div> <s… Read More

visibility: hidden与display:none的区别

要想了解visibility: hidden与display:none的区别,我们还是先来看看他们各自的定义及用法。 visibility属性 定义: visibility 属性规定元素是否可见 说明: 这个属性指定是否显示一个元素生成的元素框,它是仍然占据基本空间的,只是不可见而已。值设置成collapse在表格中用于从表格布局中删除列或行。 可能的值 visible 默认值。元素是可见的。 hidden 元素是不可见的。 collapse 当在表格元素中使用时,此值可删除一行或一列,但是它不会影响表格的布局。被行或列占据的空间会留给其他内容使用。如果此值被用在其他的元素上,会呈现为 “hidden̶… Read More

CSS单位 px pt em和rem 之间的区别

CSS中可以定义大小的单位有四种px,pt,em,rem,而px可以说在网页开发中最常见的单位了。不过现在如今的大多数网站已经开始用rem这个单位了。那么这四个单位有什么区别呢? px|pt|em|rem区别 px单位 px(像素),国内网站相对来说用得比较多,任意浏览器的默认字体高都是16px。 pt单位 pt是point,是印刷行业常用单位,等于1/72英寸。 em单位  em才是真正的“相对单位”,它不是一个具体的数值,而是相对于父元素的属性计算出来的大小,一般移动终端布局用em比较合适。 rem单位 rem单位是CSS3中新增的一个相对单位,只不过它要比em单位强大一些,因为它是集相对大小和绝对大小的… Read More

编码之道:取个好名字很重要

代码就是程序员的孩子,给“孩子”取个好听的名字很重要! 我们在项目开发中,接触到的变量、函数、类多数都是项目自己定义的,往往都是为了解决一些特定的领域的问题,引入了各种各样的概念,代码里面的名字 就对应着问题领域或方案领域的这些概念,所以,对于一个命名良好,代码规范,设计简洁的系统,要想非常快的理解一个系统,最直接的方式就是 RTFC(Read The Fucking Code)。对于一个不断演进的系统,代码的可读性至关重要,首要要解决的问题就是名字,变量名、函数名、类名等都需要仔细斟酌,认真对待,一个能够简 洁,能够清晰表达概念和意图的名字就显得尤为重要。 阅读《代码整洁之道》这本书后发现其中说的内容在我们… Read More

php缓存技术总结

缓存是指临时文件交换区,电脑把最常用的文件从存储器里提出来临时放在缓存里,就像把工具和材料搬上工作台一样,这样会比用时现去仓库取更方便。因为缓存 往往使用的是RAM(断电即掉的非永久储存),所以在忙完后还是会把文件送到硬盘等存储器里永久存储。电脑里最大的缓存就是内存条了,最快的是CPU上镶 的L1和L2缓存,显卡的显存是给GPU用的缓存,硬盘上也有16M或者32M的缓存。千万不能把缓存理解成一个东西,它是一种处理方式的统称!  Cache是 “以空间换时间”策略的典型应用模式,是提高系统性能的一种重要方法。缓存的使用在大访问量的情况下能够极大的减少对数据库操作的次数,明显降低系统负荷 提高系统性能。相… Read More

PHP Session可能会引起并发问题

在进行Web应用程序开发的时候,人们经常会用Session存储数据。但可能有人不知道,在PHP中,Session使用不当可能会引起并发问题。印度医疗行业软件解决方案提供商Plus91 Technologies高级工程师Kishan Gor在个人博客上对这个问题进行了阐释。 如果同一个客户端并发发送多个请求,而每个请求都使用了Session,那么PHP Session锁的存在会导致服务器串行响应这些请求,而不是并行。这是因为在默认情况下,PHP使用文件存储Session数据。对于每一个新的 Session,PHP会创建一个文件,并持续向其中写入数据。所以,每次调用session_start()方法,就会打… Read More

mysql —— 分表分区

面对当今大数据存储,设想当mysql中一个表的总记录超过1000W,会出现性能的大幅度下降吗? 答案是肯定的,一个表的总记录超过1000W,在操作系统层面检索也是效率非常低的 解决方案: 目前针对海量数据的优化有两种方法: 1、大表拆小表的方式(主要有分表和分区两者技术) (1)分表技术 垂直分割 优势:降低高并发情况下,对于表的锁定。 不足:对于单表来说,随着数据库的记录增多,读写压力将进一步增大。 水平分割 如果单表的IO压力大,可以考虑用水平分割,其原理就是通过hash算法,将一张表分为N多页,并通过一个新的表(总表),记录着每个页的的位置。假如一 个门户网站,它的数据库表已经达到了1000万条记录,那么此时… Read More