大连249建站之家免费精品网站自助建设系统平台免费微
技术干货
  • 249建站之家:PHP数据库操作——mongodb用法分析

    mongo简介及应用场景MongoDB是一个面向文档的非关系型数据库(NoSQL),使用json格式存储。Mongo DB很好的实现了面向对象的思想(OO思想),在Mongo DB中 每一条记录都是一个Document对象。Mongo DB最大的优势在于所有的数据持久操作都无需开发人员手动编写SQL语句,直接调用方法就可以轻松的实现CRUD操作。mongo能应用在如下场景:存储大尺寸、低价值的数据json及对象类型数据网站缓存数据评论、子评论类有明显从属关系数据多服务器数据,其内置的MapReduce很容易现实全局遍历。安装和使用mongodb我们在官网 https://www.mongodb.org/ 上可以下

  • 249建站之家:PHP数据库操作二之memcache用法分析

    本文实例讲述了PHP数据库操作之memcache用法。分享给大家供大家参考,具体如下:在一个高并发的web应用中,数据库存取瓶颈一直是个大问题,一旦达到某个极限,数据库很容易崩溃,但是如果我们把常用的数据放到内存中,在需要的时候从内存中取,不光读取速度快,而且节约数据库IO。memcache简介Memcache是一个高性能的分布式的内存对象缓存系统,通过在内存里维护一个统一的巨大的hash表,它能够用来存储各种格式的数据,包括图像、视频、文件以及数据库检索的结果等。简单的说就是将数据调用到内存中,然后从内存中读取,从而大大提高读取

  • 249建站之家:如何写出小而清晰的函数?(JS 版)

    本文以 JavaScript 为例,介绍了该如何优化函数,使函数清晰易读,且更加高效稳定。软件的复杂度一直在持续增长。代码质量对于保证应用的可靠性、易扩展性非常重要。然而,几乎每一个开发者,包括我自己,在职业生涯中都见过低质量的代码。这东西就是个坑。低质量代码具备以下极具杀伤力的特点:函数超级长,而且塞满了各种乱七八糟的功能。函数通常有一些副作用,不仅难以理解,甚至根本没法调试。含糊的函数、变量命名。脆弱的代码:一个小的变更,就有可能出乎意料的破坏其他应用组件。代码覆盖率缺失。它们听起来基本都是:“我根本没

  • 249建站之家:API接口TOKEN设计

    首先需要知道API是什么?API(Application Programming Interface)即应用程序接口。你可以认为 API 是一个软件组件或是一个 Web 服务与外界进行的交互的接口。而我们在这里要谈论的,是作为一家公司如何跟外界进行交互。从另一个角度来说,API 是一套协议,规定了我们与外界的沟通方式:如何发送请求和接收响应。API的特点:1、因为是非开放性的,所以所有的接口都是封闭的,只对公司内部的产品有效;2、因为是非开放性的,所以OAuth那套协议是行不通的,因为没有中间用户的授权过程;3、接口分为需要用户登录才能访问的和不需要用户登录

  • 249建站之家:深入理解 requestAnimationFrame

    在Web应用中,实现动画效果的方法比较多,Javascript 中可以通过定时器 setTimeout 来实现,css3 可以使用 transition 和 animation 来实现,html5 中的 canvas 也可以实现。除此之外,html5 还提供一个专门用于请求动画的API,那就是 requestAnimationFrame,顾名思义就是请求动画帧。 为了深入理解 requestAnimationFrame 背后的原理,我们首先需要了解一下与之相关的几个概念:1、屏幕刷新频率即图像在屏幕上更新的速度,也即屏幕上的图像每秒钟出现的次数,它的单位是赫兹(Hz)。 对于一般笔记本电脑,这个频率大概是60Hz, 可以在桌面

  • 249建站之家:MySQL大表优化方案

    当MySQL单表记录数过大时,增删改查性能都会急剧下降,可以参考以下步骤来优化:单表优化除非单表数据未来会一直不断上涨,否则不要一开始就考虑拆分,拆分会带来逻辑、部署、运维的各种复杂度,一般以整型值为主的表在千万级以下,字符串为主的表在五百万以下是没有太大问题的。而事实上很多时候MySQL单表的性能依然有不少优化空间,甚至能正常支撑千万级以上的数据量:字段尽量使用TINYINT、SMALLINT、MEDIUM_INT作为整数类型而非INT,如果非负则加上UNSIGNEDVARCHAR的长度只分配真正需要的空间使用枚举或整数代替字符串类型尽量使用TIM

  • 249建站之家:Zabbix Server扩容改造方案之一

    随着监控量的迅速增长,Zabbix管理员有一天会发现硬盘iops达到了数万,接近硬盘io的极限,无力支持处理更多监控数据。本文提出一种横向扩展方案,以尽量小的改动,增加Zabbix系统的数据io能力。考虑到Zabbix的数据库io主要在于history表和trends表,这一方案是在不增加Zabbix Server数量的情况下,将history表和trends表的io分散到其他主机上。此方案的优点是保持单个Zabbix Server,不需要考虑多Server之间的协同一致。这一数据库分离模式还可以兼容原有的集中模式。但是,由于io分散到多个主机上,当需要读写数据时,不得不访问多个数据

  • 249建站之家:极致 Web 性能 —— SPA 性能指南

    前端框架时代,为开发体验、效率与页面性能带来,非常大的革命。大家纷纷拿起一系列打包工具(webpack/parcel etc.),配合一系列加载器快速搭建起一个 SPA 页面。SPA 应用带来的好处非常明显:提升页面切换体验降低切换时间易于部署前后端分离但是也带来一系列性能问题:初始加载脚本较大首屏空白时间较长页面返回时,数据被动重新拉取这些问题是使用 SPA 模式不可避免的,通过了解 SPA 加载运行过程,可以逐渐看清楚引起性能问题的根本原因,通过精细化应用加载,来解决这些问题。SPA 之殇愈发发福比起一般的简单页面,SPA 最大的问题,就

  • 249建站之家:PHP生成短网址方法汇总

    方案1:PHP+MySQl实现短网址的生成和读取常规的方案我们将生成好的短网址和原网址对应到一张数据表中,然后供读取使用。我们先来看如何生成唯一的短网址。//生成短网址function code62($x){ $show=''; while($x0){ $s=$x % 62; if ($s35){ $s=chr($s+61); }elseif($s9$s=35){ $s=chr($s+55); } $show.=$s; $x=floor($x/62); } return $show;}function shorturl($url){ $url=crc32($url); $result=sprintf(%u,$url); return code62($result);}echo shorturl('http://www.jb51.net/');//1EeIv2使用以上PHP代码可以

  • 249建站之家:UBUNTU16.04启动顺序与开机自动脚本编写

    ubuntu的启动顺序与大多数linux系统一样,ubuntu按照以下顺序启动:1. 读取MBR信息,启动Boot Manager。2. 加载系统内核,启动 init 进程, init 进程是 Linux 的根进程,所有的系统进程都是它的子进程。3. init 进程读取 /etc/inittab 文件中的信息,并进入预设的运行级别。通常情况下/etc/rcS.d/ 目录下的启动脚本首先被执行,然后是/etc/rcN.d/ 目录。4. 根据 /etc/rcS.d/文件夹中对应的脚本启动 Xwindow 服务器 xorg,Xwindow 为 Linux 下的图形用户界面系统。5. 启动登录管理器,等待用户登录。运行级别ubuntu的自启动脚本目录为/etc

  • 249建站之家:PHP基于数组实现的堆栈和队列功能示例

    堆栈和队列是数据结构的两种实现形式,是使用非常广泛的存储数据的容器。下面呢,就分别讲下这两种容器在PHP中的应用:一、使用数组实现堆栈:1、堆栈容器中,最后进栈的将会被最先出栈,即所谓的“先进后出”的数据结构。2、在PHP中,将数组当做一个栈,可使用array_push()函数或者以“$array[]=$value”完成进栈操作,使用array_pop()函数完成出栈操作。3、堆栈的进栈操作相当于:将数据挨个放入一个桶状的(假设数据和此桶具有恰当的表面面积,即刚好能横放进去)容器中,造成的结果就是,完成所有数据进栈之后,先进栈的在最下面。4、

  • 249建站之家:对PHP要有个全面的认识

    我首先解释一下,我个人理解,对于自己的技术体系,要有一个全面的认识。比如我们是做PHP工程师。那么我们要熟悉的点有:编程语言:首先就是PHP,要熟悉PHP的面向对象,PHP每个版本的特性的不同等等,一些坑,还有就是熟读文档,当然最后还能熟悉其他语言,比如Python,Node等等数据库:肯定就是MySQL,被问的最多的就是MySQL的优化方法和复制等。缓存:Memcached,Redis和MongoDB,了解Memcached和Redis的区别,会MongoDB加分WEB服务器:会用Nginx,了解负载均衡等。会lua加分。架构:Linux的基础命令,搭建一套WEB环境。明白当从浏览器地

  • 249建站之家:对抗蠕虫 —— 如何让按钮不被 JS 自动点击

    XSS 自动点按钮有什么危害?在社交网络里,很多操作都是通过点击按钮发起的,例如发表留言。假如留言系统有 XSS,用户中招后除了基本攻击外,还能进行传播 —— XSS 自动填入留言内容,并模拟点击发表按钮,于是就能发布带有恶意代码的留言。好友看了中招后,又传播给他们的好友。。。从而形成蠕虫扩散。那么有没有一种机制,让「发表留言」必须通过用户的「真实点击」按钮才能完成,而无法通过脚本自动实现?这样就能减缓蠕虫传播速度了。实现这个想法听起来好像不可行:如果发表留言需要带上用户行为信息,那么 XSS 完全可以伪造一份行为

  • 249建站之家:Node 定时器详解

    JavaScript 是单线程运行,异步操作特别重要。只要用到引擎之外的功能,就需要跟外部交互,从而形成异步操作。由于异步操作实在太多,JavaScript 不得不提供很多异步语法。这就好比,有些人老是受打击, 他的抗打击能力必须变得很强,否则他就完蛋了。Node 的异步语法比浏览器更复杂,因为它可以跟内核对话,不得不搞了一个专门的库 libuv 做这件事。这个库负责各种回调函数的执行时间,毕竟异步任务最后还是要回到主线程,一个个排队执行。为了协调异步任务,Node 居然提供了四个定时器,让任务可以在指定的时间运行。setTimeout()setInt

  • 249建站之家:如何利用人工智能设计网页?

    如今,网页设计不断发展,最好的网页设计师总是期待着他们工作中的下一件大事。人工智能(AI)正在成为中心舞台,并有可能彻底改变网页设计师的工作方式。通过人工智能,网站可以变得非常敏感,并能够理解和响应网页访问者的需求。出于这个原因,网页设计师必须了解如何最大限度地利用人工智能。以下有十种在网页设计中使用人工智能的方法。1.探索参数  在组织决定在其网页设计中使用人工智能之前,请先做一些研究,然后发现人工智能作为设计师必须为组织提供什么。虽然有一些基本的功能是大家都熟悉的,但有些是更详细的,会让人们对人工

  • 249建站之家:python logging 日志模块以及多进程日志

    本篇文章主要对 python logging 的介绍加深理解。更主要是 讨论在多进程环境下如何使用logging 来输出日志, 如何安全地切分日志文件。1. logging日志模块介绍python的logging模块提供了灵活的标准模块,使得任何Python程序都可以使用这个第三方模块来实现日志记录。python logging 官方文档logging框架中主要由四个部分组成:Loggers: 可供程序直接调用的接口Handlers: 决定将日志记录分配至正确的目的地Filters: 提供更细粒度的日志是否输出的判断Formatters: 制定最终记录打印的格式布局2. logging的组成loggersloggers 就是程序可以直

  • 249建站之家:PHP技术之 static 细致解读

    静态变量知识点静态变量必须在声明为静态变量时初始化,否则静态变量将失去意义。静态变量在声明并初始化第一次后再次执行到 static 关键字的声明并初始化的那行代码时将不再进行声明和初始化,也就是说静态变量的值只会声明和初始化一次,因为静态变量仅在php代码编译时被解析生成。代码示例?phpfunction counter(){ static $count = 0;//声明并初始化 $count 为函数内部的静态变量 //static $count = 1+2;//这样声明会导致报错,因为静态变量不接受PHP表达式,因为静态变量的声明并初始化是编译时解析出来的,而表达式需要运行时才能获

  • 249建站之家:IIS配置文件隐患

    本文的内容是如何利用IIS本身的一些特性建立后门。当然,这主要是一份供网络管理员和网络安全工作人员参考的“Know Your Enemy”类文档,作者希望这篇文章能够对检查和清除后门有所帮助,而并不鼓励或赞同利用本文的技巧进行违法活动。首先简单介绍一下IIS的配置文件MetaBase.bin。这个文件位于%SystemRoot%\system32\inetsrv\MetaBase.bin,包含了几乎所有IIS的配置信息,是非常重要的系统文件。简单的说,我们在“intenet服务管理器”中所作的一切设置最终都会被保存在MetaBase.bin中。在日常的系统管理中除了通过“intenet服务管理器”

  • 249建站之家:相见恨晚的 itertools 库

    itertools库迭代器(生成器)在Python中是一种很常用也很好用的数据结构,比起列表(list)来说,迭代器最大的优势就是延迟计算,按需使用,从而提高开发体验和运行效率,以至于在Python 3中map,filter等操作返回的不再是列表而是迭代器。话虽这么说但大家平时用到的迭代器大概只有range了,而通过iter函数把列表对象转化为迭代器对象又有点多此一举,这时候我们今天的主角itertools就该上场了。使用itertoolsitertools中的函数大多是返回各种迭代器对象,其中很多函数的作用我们平时要写很多代码才能达到,而在运行效率上反而更低,毕竟人家

  • 249建站之家:使用 RxJava 从多种来源中加载数据

    假设我需要从网络上查询一些数据。显然我可以在每次需要时都从网络上查询,但是将数据缓存在硬盘和内存中将更加高效。具体点说,我想要这么做:1.只有在需要从服务器更新数据的时候,才通过网络查询。2.其他情况则从通过缓存之前查询的数据,实现快速的读取。接下来,我将通过使用 RxJava 来实现上面的想法。基本模式为每一个数据源(网络、磁盘和内存)准备一个ObservableData ,然后我们就可以通过使用concat() 和 first() 这两种操作来构建一个简单的解决方案。concat() 可以把多个Observables的结果链接起来。而first() 可以取出一个序

联系我们
更多

联系电话:0411-66373325

联系地址:大连市沙河口区富民广场

公司邮箱:2058793689@qq.com

备案信息:Copyright © 2016-2025,www.my249.com,All rights reserved

辽ICP备17015910号-1

seo seo