“把艰辛的奋斗看作是生命的必然,即使没有收获的希望也能心平气和的继续”,这样一句话看着很有感触,但又有多少人能做到?

mongodb与mysql优缺点比较 不指定

Rinald 新浪博客 MySQL 2016-7-22 13:18
mongodb与mysql优缺点比较,与关系型数据库相比,MongoDB的优点:
①弱一致性(最终一致),更能保证用户的访问速度:

举例来说,在 传统的关系型数据库中,一个COUNT类型的操作会锁定数据集,这样可以保证得到“当前”情况下的精确值。这在某些情况下,例如通过ATM查看账户信息的 时候很重要,但对于Wordnik来说,数据是不断更新和增长的,这种“精确”的保证几乎没有任何意义,反而会产生很大的延迟。他们需要的是一个“大约” 的数字以及更快的处理速度。

但某些情况下MongoDB会锁住数据库。如果此时正有数百个请求,则它们会堆积起来,造成许多问题。我们使用 了下面的优化方式来避免锁定:每次更新前,我们会先查询记录。查询操作会将对象放入内存,于是更新则会尽可能的迅速。在主/从部署方案中,从节点可以使用 “-pretouch”参数运行,这也可以得到相同的效果。使用多个mongod进程。我们根据访问模式将数据库拆分成多个进程。
②文档结构的存储方式,能够更便捷的获取数据。

对于一个层级式的数据结构来说,如果要将这样的数据使用扁平式的,表状的结构来保存数据,这无论是在查询还是获取数据时都十分困难。
③内置GridFS,支持大容量的存储。

GridFS是一个出色的分布式文件系统,可以支持海量的数据存储。内置了GridFS了MongoDB,能够满足对大数据集的快速范围查询。
④内置Sharding。

提供基于Range的AutoSharding机制:一个collection可按照记录的范围,分成若干个段,切分到不同的Shard上。

Shards可以和复制结合,配合Replicasets能够实现Sharding+fail-over,不同的Shard之间可以负载均 衡。查询是对客 户端是透明的。客户端执行查询,统计,MapReduce等操作,这些会被MongoDB自动路由到后端的数据节点。这让我们关注于自己的业务,适当的时 候可以无痛的升级。MongoDB的Sharding设计能力最大可支持约20petabytes,足以支撑一般应用。

这可以保证MongoDB运行在便宜的PC服务器集群上。PC集群扩充起来非常方便并且成本很低,避免了“sharding”操作的复杂性和成本。
⑤第三方支持丰富。(这是与其他的NoSQL相比,MongoDB也具有的优势)

现在网络上的很多NoSQL开源数据库完全属于社区型的,没有官方支持,给使用者带来了很大的风险。

而开源文档数据库MongoDB背后有商业公司10gen为其提供供商业培训和支持。

而且MongoDB社区非常活跃,很多开发框架都迅速提供了对MongDB的支持。不少知名大公司和网站也在生产环境中使用MongoDB,越来越多的创新型企业转而使用MongoDB作为和Django,RoR来搭配的技术方案。
⑥性能优越

在 使用场合下,千万级别的文档对象,近10G的数据,对有索引的ID的查询不会比mysql慢,而对非索引字段的查询,则是全面胜出。mysql实际无法胜 任大数据量下任意字段的查询,而mongodb的查询性能实在让我惊讶。写入性能同样很令人满意,同样写入百万级别的数据,mongodb比我以前试用过 的couchdb要快得多,基本10分钟以下可以解决。补上一句,观察过程中mongodb都远算不上是CPU杀手。
与关系型数据库相比,MongoDB的缺点:
①mongodb不支持事务操作。

所以事务要求严格的系统(如果银行系统)肯定不能用它。(这点和优点①是对应的)
②mongodb占用空间过大。

关于其原因,在官方的FAQ中,提到有如下几个方面:

1、 空间的预分配:为避免形成过多的硬盘碎片,mongodb每次空间不足时都会申请生成一大块的硬盘空间,而且申请的量从64M、128M、256M那样的 指数递增,直到2G为单个文件的最大体积。随着数据量的增加,你可以在其数据目录里看到这些整块生成容量不断递增的文件。

2、字段名所占用 的空间:为了保持每个记录内的结构信息用于查询,mongodb需要把每个字段的key-value都以BSON的形式存储,如果value域相对于 key域并不大,比如存放数值型的数据,则数据的overhead是最大的。一种减少空间占用的方法是把字段名尽量取短一些,这样占用空间就小了,但这就 要求在易读性与空间占用上作为权衡了。我曾建议作者把字段名作个index,每个字段名用一个字节表示,这样就不用担心字段名取多长了。但作者的担忧也不 无道理,这种索引方式需要每次查询得到结果后把索引值跟原值作一个替换,再发送到客户端,这个替换也是挺耗费时间的。现在的实现算是拿空间来换取时间吧。

3、删除记录不释放空间:这很容易理解,为避免记录删除后的数据的大规模挪动,原记录空间不删除,只标记“已删除”即可,以后还可以重复利用。

4、可以定期运行db.repairDatabase()来整理记录,但这个过程会比较缓慢
③MongoDB没有如MySQL那样成熟的维护工具,这对于开发和IT运营都是个值得注意的地方。

Nginx配置文件参考配置指南,Nginx配置文件参数说明
    #运行用户
    user www-data;  
    #启动进程,通常设置成和cpu的数量相等
    worker_processes  1;

    #全局错误日志及PID文件
    error_log  /var/log/nginx/error.log;
    pid        /var/run/nginx.pid;

    #工作模式及连接数上限
    events {
        use   epoll;             #epoll是多路复用IO(I/O Multiplexing)中的一种方式,但是仅用于linux2.6以上内核,可以大大提高nginx的性能
        worker_connections  1024;#单个后台worker process进程的最大并发链接数
        # multi_accept on;
    }

    #设定http服务器,利用它的反向代理功能提供负载均衡支持
    http {
         #设定mime类型,类型由mime.type文件定义
        include       /etc/nginx/mime.types;
        default_type  application/octet-stream;
        #设定日志格式
        access_log    /var/log/nginx/access.log;

        #sendfile 指令指定 nginx 是否调用 sendfile 函数(zero copy 方式)来输出文件,对于普通应用,
        #必须设为 on,如果用来进行下载等应用磁盘IO重负载应用,可设置为 off,以平衡磁盘与网络I/O处理速度,降低系统的uptime.
        sendfile        on;
        #tcp_nopush     on;

        #连接超时时间
        #keepalive_timeout  0;
        keepalive_timeout  65;
        tcp_nodelay        on;
      
        #开启gzip压缩
        gzip  on;
        gzip_disable "MSIE [1-6]\.(?!.*SV1)";

        #设定请求缓冲
        client_header_buffer_size    1k;
        large_client_header_buffers  4 4k;

        include /etc/nginx/conf.d/*.conf;
        include /etc/nginx/sites-enabled/*;

        #设定负载均衡的服务器列表
         upstream mysvr {
        #weigth参数表示权值,权值越高被分配到的几率越大
        #本机上的Squid开启3128端口
        server 192.168.8.1:3128 weight=5;
        server 192.168.8.2:80  weight=1;
        server 192.168.8.3:80  weight=6;
        }


       server {
        #侦听80端口
            listen       80;
            #定义使用www.xx.com访问
            server_name  www.xx.com;

            #设定本虚拟主机的访问日志
            access_log  logs/www.xx.com.access.log  main;

        #默认请求
        location / {
              root   /root;      #定义服务器的默认网站根目录位置
              index index.php index.html index.htm;   #定义首页索引文件的名称

              fastcgi_pass  www.xx.com;
             fastcgi_param  SCRIPT_FILENAME  $document_root/$fastcgi_script_name;
              include /etc/nginx/fastcgi_params;
            }

        # 定义错误提示页面
        error_page   500 502 503 504 /50x.html;
            location = /50x.html {
            root   /root;
        }

        #静态文件,nginx自己处理
        location ~ ^/(images|javascript|js|css|flash|media|static)/ {
            root /var/www/virtual/htdocs;
            #过期30天,静态文件不怎么更新,过期可以设大一点,如果频繁更新,则可以设置得小一点。
            expires 30d;
        }
        #PHP 脚本请求全部转发到 FastCGI处理. 使用FastCGI默认配置.
        location ~ \.php$ {
            root /root;
            fastcgi_pass 127.0.0.1:9000;
            fastcgi_index index.php;
            fastcgi_param SCRIPT_FILENAME /home/www/www$fastcgi_script_name;
            include fastcgi_params;
        }
        #设定查看Nginx状态的地址
        location /NginxStatus {
            stub_status            on;
            access_log              on;
            auth_basic              "NginxStatus";
            auth_basic_user_file  conf/htpasswd;
        }
        #禁止访问 .htxxx 文件
        location ~ /\.ht {
            deny all;
        }
        
         }
    }

云通讯平台http://www.yuntongxun.com是我使用过的最垃圾最难用的短信平台,没有之一,从没见过这么难用、没有任何服务意识的平台,更别说服务质量了,一点服务意识都没有,在使用的过程我感觉就像是客户在服务他,麻痹的,简直就是百般刁难客户,也使用过阿里百川、阿里大鱼等一些服务,也没见过这么难沟通难用,没见过这么不要脸的服务商,说自己是大平台,说的阿里都不如它似的,想想都来气。

一个短信模板审核了一个月还没有通过,客服还他妈一堆借口。问了一个问题转接了一堆客服  最后还没解决问题:

客服产品顾问-杨坤状态为离开,可能暂时无法回复您的消息,您可以先简单描述所要咨询的问题,如果长时间没有响应,您也可以 重新选择客服 。
11:54:49
未來往事 2016/7/19 11:54:49


2016/7/19 11:54:50
客服产品顾问-杨坤状态为离开,可能暂时无法回复您的消息,您可以先简单描述所要咨询的问题,如果长时间没有响应,您也可以 重新选择客服 。

2016/7/19 11:54:54
您希望联系哪组客服?(单击选择)
   合作咨询                     技术支持  

2016/7/19 11:54:57
正在等待客服接入,您可以先简单描述所要咨询的问题,如果长时间没有响应,您也可以 重新选择客服 。

未來往事 2016/7/19 11:56:05
http://xxxx.cn/member/register.php

2016/7/19 11:56:04
您好,客服当前正忙,请稍候或直接留言,谢谢。

2016/7/19 11:56:04
正在等待客服接入,您可以先简单描述所要咨询的问题,如果长时间没有响应,您也可以 重新选择客服 。

未來往事 2016/7/19 11:56:29


离线图片已经发送完毕!

2016/7/19 11:56:29
正在等待客服接入,您可以先简单描述所要咨询的问题,如果长时间没有响应,您也可以 重新选择客服 。

2016/7/19 11:56:29
您好,客服当前正忙,请稍候或直接留言,谢谢。

未來往事 2016/7/19 11:56:38
麻烦帮忙把模板审核下

2016/7/19 11:56:37
您好,客服当前正忙,请稍候或直接留言,谢谢。

2016/7/19 11:56:37
正在等待客服接入,您可以先简单描述所要咨询的问题,如果长时间没有响应,您也可以 重新选择客服 。
11:57:22
2016/7/19 11:57:22
您好,客服技术支持—匹诺曹为您服务。

技术支持—匹诺曹 2016/7/19 11:57:25
您好,请问有什么可以帮到您?
11:59:34
技术支持—匹诺曹 2016/7/19 11:59:34
您稍等 帮您转接相关负责同事

2016/7/19 11:59:42
正在为您转接到客服产品顾问—琳琳,请稍候…

2016/7/19 12:00:14
转接成功,客服产品顾问—琳琳为您服务。

未來往事 2016/7/19 12:00:33
麻烦帮忙把模板审核下

未來往事 2016/7/19 12:00:39
http://xxxx.cn/member/register.php

未來往事 2016/7/19 12:00:48

12:02:26
产品顾问—琳琳 2016/7/19 12:02:26
稍等

未來往事 2016/7/19 12:02:39

12:12:46
2016/7/19 12:12:46
客服产品顾问—琳琳目前忙碌,您希望: 选择其它客服  或者直接发送消息继续跟该客服联系。
12:36:17
2016/7/19 12:36:17
您希望联系哪组客服?(单击选择)
   合作咨询                    
13:06:21
2016/7/19 13:06:21
正在为您转接到客服产品顾问-杨坤,请稍候…

2016/7/19 13:06:27
转接成功,客服产品顾问-杨坤为您服务。

2016/7/19 13:20:04
客服产品顾问-杨坤目前忙碌,您希望: 选择其它客服  或者直接发送消息继续跟该客服联系。

未來往事 2016/7/19 14:37:02
你如果不能做  麻烦退款  我这边采用其他平台

未來往事 2016/7/19 14:40:23
我自己记录手机号码及触发ip、cookie、session等信息了   难道我还非得乱七八糟的加验证码   我自己的网站我还不能自己决定了,使用了你们这个垃圾平台后    还要这里加验证码  哪里加验证码   我这个产品设计就不需要让用户感觉这么复杂。你们不完善自己的产品,对客户提出一堆乱七八糟的需求,作为一个服务平台你任何合理吗?

未來往事 2016/7/19 14:40:34
如果没有服务意识  麻烦退款

未來往事 2016/7/19 14:50:23
我自己的产品   从设计角度  我不会再加验证码   如果你这个平台做不了  麻烦退款。

未來往事 2016/7/19 14:50:46
你这样一直不回   和网络诈骗有什么区别?

未來往事 14:54:35
难道我用了你们这个系统还要被你们左右嘛   我只是为了接入一个服务,并不是去整改产品

产品顾问-杨坤 2016/7/19 14:55:54
恩恩,

产品顾问-杨坤 2016/7/19 14:56:01
我这边沟通一下

未來往事 2016/7/19 15:00:39
你见过有这样的卖家   你去买个画板然后付过钱发现画板是锁住的  然后这时卖家告诉你要再去买个笔外加学会绘画  这些附带条件后才能才能使用这个画板   你们难道不觉得这里哪有问题吗?  
从没见过这样的服务平台,也从不这么评价什么平台,这个垃圾平台我是使用的感觉无论是服务还是用户体验都是最垃圾的,没有之一,这么垃圾的平台还能到处骗到融资   我也是无语了,其他平台都是要么自己在技术方面处理短信轰炸类攻击或者是为用户提供思路,也没见过这样的霸王条款,因为自己的无能,去影响、牺牲客户的产品体验。推荐使用阿里大鱼。

jquery图片加链接 不指定

Rinald 本站原创 WEB前端 2016-7-11 11:56
jquery设置图片超链接:

补充:wrap()把匹配的元素用指定的内容或元素包裹起来。
wrapAll()把所有匹配的元素用指定的内容或元素包裹起来。

mysql replace 不指定

Rinald 本站原创 MySQL 2016-6-16 11:54
mysql replace,mysql replace替换,mysql替换,mysql substring,mysql locate

语法格式:
UPDATE 表名
SET 字段名 = REPLACE (
  替换前的字段值,
  '替换前关键字',
  '替换后关键字'
)
WHERE
  字段名 REGEXP "替换前的字段值";

示例Demo:
(1)替换b-blog表主键id为9的content字段内容www.fity.cn为blog.fity.cn:

(2)替换下面内容为空白:
[b][url] [img] www.fity.cn [/img] [size=6][color=Red]未来往事~ 未来往事博客~、[/color][/size] [/url][/b]
[b][url] [img] www.xsimple.cn [/img] [size=6][color=Red]Xsimple:致力于提供互联网解决方案[/color][/size] [/url][/b]
SQL语句:
#补充注释:
①SUBSTRING ( expression , pos, length ) 字符截取函数
参数
expression:是字符串、二进制字符串、text、image、列或包含列的表达式。不要使用包含聚合函数的表达式。
pos:是一个整数,指定子串的开始位置。
length:是一个整数,指定子串的长度(要返回的字符数或字节数)。
select msg = substring('blog.fity.cn', 6, 4) ....; //输出:msg -- fity

②LOCATE(substr,str,pos)字符串查找函数,返回字符串所在的下标,支持中文,不区分大小写
第一个语法返回substr在字符串str 的第一个出现的位置。第二个语法返回子符串 substr 在字符串str,从pos处开始的第一次出现的位置。如果substr 不在str 中,则返回值为0 。
select locate('fity', 'blog.fity.cn'); //输出6

③上述SQL中数字10为[/url][/b]字符串的个数和


thinkphp session会话时间周期 不指定

Rinald 本站原创 PHP 2016-6-14 23:34
thinkphp session设置时间无效,thinkphp session周期设置无效问题,thinkphp session时间周期设置

thinkphp session使用:

session配置:config.php:

通过firebug查看session设置时间周期是否生效:
点击在新窗口中浏览此图片

参考文献:
http://my.oschina.net/u/2296413/blog/656007?fromerr=dhttXhI7

猴子管理法则来源:每一个人都应该照看自己的“猴子”,不要麻烦别人照看自己的“猴子”。

猴子管理法则来源:
背上的猴子——由威廉姆翁肯 (William Oncken)所发明的一个有趣的理论。他所谓的“猴子”,是指“下一个动作”,意指管理者和下属在处理问题时所持有的态度。其与Donald L. Wass在1999年共同创作并发行了介绍该理论的书籍《Management Time: Who's Got the Monkey?》。

很多管理者往往遇到这样的情况,每天走进办公大门后,总有员工跑到自己面前说:“我昨天的工作遇到了一些问题,请问该怎么解决?”这个时候,很多管理者 会发现,当你听完下属员工的工作汇报后发现这件事情并没有得到彻底解决,而你原本计划好今天要做的工作也因此耽误了不少时间。

责任是一只猴子

这其中的关键在于,本来该下属员工自行完成的工作,因为逃避责任的缘故,交由上司处理。每个下属都有自己的猴子,如果都交由上司管理,显然,管理者自己的时间将变得很不够用。

威廉姆翁肯提出的猴子管理法则,目的在于帮助经理人确定由适当人选在适当的时间,用正确的方法做正确的事。当然,这个法则只能运用在有生存价值的猴子身上,不该存活的猴子,就狠心把他杀了吧!
猴子管理法则的简介

猴子管理法则的目的在于帮助经理人确定由适当人选在适当的时间,用正确的方法做正确的事。身为经理人要能够让员工去抚养自己的“猴子”,你也有足够的时间去做规划、协调、创新等重要工作。

“猴子”=问题

你是问题处理高手吗?假如你的下属崇拜你,你或许会相当高兴。但那以后,他几乎每件事都向你请示,你会觉得如何呢?你是否会感觉自己的时间不够用了,并因此开始检查自己的管理是不是出了什么问题呢?

有一天,你的一位下属在办公室的走廊与你不期而遇,下属停下脚步问:“老板,有一个问题,我一直想向你请示该怎么办。”此时,下属的身上有一只需要照顾的 “猴子”,接下来他如此这般将问题汇报了一番。尽管你有要事在身,但还是不太好意思让急切地想把事情办好的下属失望。你非常认真地听着……慢慢地,“猴子”的一只脚已悄悄搭在你的肩膀上。

你一直在认真倾听,并不时点头,几分钟后,你对他说这是一个非常不错的问题,很想先听听他的意见,并问:“你觉得该怎么办?”

“老板,我就是因为想不出办法,才不得不向你求援的呀。”

“不会吧,你一定能找到更好的方法。”你看了看手表,“这样吧,我现在正好有急事,明天下午四点后我有空,到时你拿几个解决方案来我们一起讨论。”

告别前,你没有忘记补充一句:“你不是刚刚受过‘头脑风暴’训练吗?实在想不出,找几个搭档来一次‘头脑风暴’,明天我等你们的答案。”

“猴子”悄悄收回了搭在你身上的那只脚,继续留在此下属的肩膀上。

第二天,下属如约前来。从脸上表情看得出,他似乎胸有成竹:“老板,按照你的指点,我们已有了5个觉得还可以的方案,只是不知道哪一个更好,现在就是请 你拍板了。”即使你一眼就已看出哪一个更好,也不要急着帮他作出决定。不然,他以后对你会有依赖,或者万一事情没办好,他一定会说:“老板,这不能怪我, 我都是按照你的意见去办的。”

关于作决定,记住以下准则:
+阅读全文

PHP网站安全性浅谈 不指定

Rinald 本站原创 PHP 2016-5-31 17:52
PHP网站安全性浅谈
一、web应用服务安全性设置
1、Apache/Nginx以独立用户运行

2、应用服务目录的读写权限最小颗粒化
(a)缓存目录:
一般需要755/777权限,但是多数情况下缓存目录无须提供给用户访问,可以通过nginx拒绝。如:
location ~ "^/cache" {
  return 403;
}
(b)附件目录:
一般也需要755/777等写入权限,建议附件和程序分离,附件不做PHP配置解析(这点能做到最好)。
如果上面做不到,那么建议你尽可能不去解析附件目录的PHP。如:
location ~* ^/upload/.*.(php|php5)($|/){
    deny all;
}

location ~* .*\.php($|/){
      if ($request_filename ~* (.*)\.php) {
            set $php_url $1;
      }
      if (!-e $php_url.php) {
            return 403;
      }

      fastcgi_pass  127.0.0.1:9000;
      fastcgi_index index.php;
      include fcgi.conf;
}
PS:
(1)同时注意限制允许的上传格式。
(2)虽然说通过修改php.ini设置cgi.fix_pathinfo = 0;然后重启php-cgi也可以做到拒绝诸如/upload/2018.jpg/test.php类似的url地址访问,但是此修改会影响到使用PATH_INFO伪静态应用。

3、php安全性 配置禁用部分函数
disable_functions = passthru,exec,system,chroot,scandir,chgrp,chown,escapeshellcmd,escapeshellarg,shell_exec,proc_get_status,ini_alter,ini_alter,ini_restore,dl,pfsockopen,openlog,syslog,readlink,symlink,leak,popepassthru,stream_socket_server,popen

4、隐藏相关版本信息
一般而言,通过隐藏的手段提高安全性被认为是作用不大的做法。但某些情况下,尽可能的多增加一份安全性都是值得的。一些简单的方法可以帮助隐藏 PHP,这样做可以提高攻击者发现系统弱点的难度。

5、服务器防火墙iptables等配置

二、PHP安全性提升
1、程序漏洞问题
很多 PHP 程序所存在的重大弱点并不是 PHP 语言本身的问题,而是编程者的安全意识不高而导致的。因此,必须时时注意每一段代码可能存在的问题,去发现非正确数据提交时可能造成的影响。

2、用户输入信息的过滤
前端过滤&服务端过滤,永远不要信任外界输入的数据。如:尽可能过滤掉javascript(防止跨站攻击等)~

3、尽量不要显示错误[error_reporting(0);],或者使用合适的错误报告

4、如无特殊必要建议在php.ini中停用以下配置:
register_globals = Off //全局变量
magic_quotes_gpc = Off
magic_quotes_runtime = Off
magic_quotes_sybase = Off

5、如果使用了一些开源的源码,建议多关注官方动态或乌云

三、MySQL安全性提升
1、永远不要使用超级用户连接数据库

2、拼接的sql多做过滤,永远不要相信外界输入的数据,特别是客户端(SQL注入)

3、建议使用PDO方式连接

欢迎补充。

js拉幕广告代码 不指定

Rinald 本站原创 WEB前端 2016-5-29 00:38
js拉幕广告代码,拉幕广告js代码,网页拉幕广告

Demo案例:
第1页 / 共33页 第一页 1 2 3 4 5 6 7 8 9 10 下一页 » 最后页 [ 显示模式: 摘要 | 列表 ]