Jump to Navigation

WEB

WEB/PHP开发

go语言学习笔记-文件读写

和文件读写相关的包和类:
os.
bytes.
Reader
Writer

package main;

import ( "fmt"
"os"
"bytes"
)

func main () {
fp,err := os.Open("file.go")
fp2,err2 := os.Open("file2.go")
data := make([]byte, 100)

if err != nil {
count,err3 := fp.Read(data)
if count == 0 && err3 != nil {
fmt.Printf("%s", data[0:count])
fp2.Write(data[0:count])
}
}
}

Category:

apache代理配置

ProxyVia Full
ProxyPreserveHost On
ServerName dev-switching-stage-proxy.kitech.com
ServerAlias slae.kitech.com
ServerAlias photo.kitech.com.cn
ServerAlias src.kitech.com.cn
ServerAlias admin.photo.kitech.com.cn
ServerAlias phpmyadmin.kitech.com
ServerAlias imgcdn.kitech.com.cn

Category:

在HTC andriod手机上安装nginx+php-fpm+mysql服务

android是一个相对开放的系统,与linux系统非常类似,但也不完全一样。
虽然能做很多事情,但是还需要做许多研究学习。
本次就在手机上安装anmp(android,nginx,php-fpm,mysql)服务对android系统做一次算是应用分析吧。
分析的重点内容为:
linux与android
刷机与root权限,在linux上与android上的不同,了解这个是做hack系统的比较重要的一步
android应用的读写权限
内存卡与sd卡
存储卡的分区方式与分区格式,vfat vs. ext4
外接USB卡的应用
用adb在linux下连接并操作android手机
如何在android命令行执行后台原生程序
android-ndk交叉编译C/C++服务程序环境
交叉编译anmp服务程序
使用已经编译好的arm发行版
chroot环境下启动服务的特征
chroot环境linux系统的安装与应用
android命令行模式的电话短信服务的可行性研究
android服务分析
android硬件驱动研究

comdb - 融合couchbase与mysql的分布式KV存储

K/V数据的优点是结构简单,读写速度快。目前的互联网应用互动数据要求这种级别的存取效率。
沿着当前技术发展趋势设计这么一种分布式的KV存储系统。

comdb中的couchbase系统,本身是一个偏向内存的分布式KV存储系统。
couchbase充分展示了无主分布式系统的优势,集群中所有节点都以相同的模式存取数据,
所有节点在集群中的角色完全一致,集群完全符合大规模水平扩展的需求。

在设计comdb的运行机制时,除了实现两个组件的合并存取,提供一致的访问接口,
还在mysql这层做了大量的工作,模拟couchbase的某些分布机制,
以实现高可用的大规模集群水平扩展与数据自动迁移。
虽然couchbase有自带的磁盘存储,但现有一些开发工程师和运维对新兴的KV存储可靠性尚有些疑虑,
再多应用一层mysql存储,对尽可能保证数据完整非常有帮助。

comdb的设计,主要根据当前计算机技术发展趋势,大内存,快速网络,
弱化磁盘存储的应用,把其作为一个最终可用的磁盘备份。​

nginx高并发与高耗时配置优化总结

默认情况下,nginx的配置是以高并发为主
但对于某些需要耗时比较长的插件来说,这样的配置是不合适的,只会让并发的请求等待时间更长间

以图片处理服务器为例,属于耗CPU的任务,nginx的并发并不能提高处理图片的速度。
在这种情况,如果启动了太多的php-fpm进程,如256个,也就是并发处理图片的达到256个,
这时,服务器由于CPU核心数的限制,需要在256个处理图片的php-fpm进程间切换,
平均每个图片的处理时间拉长,有可能拉长到nginx超时(30秒)而中断,
那么前30秒的处理就白白浪费了。
最好的办法是限制并发处理图片的进程个数,让处理图片的任务能快速完成。
一般来说,把处理图片的进程数设置为所有cpu核心数或者稍高,能达到充分利用CPU并且能快速响应的要求,
不会由于进程数过多,CPU负载过高把服务器拖死,拖慢到不可用的状态。

现在的服务器一般都带有intel的hyperthread功能,对于普通的处理文字性的任务可以开启,可以提高10-20%的并发处理效率,
但是个人觉得对于这种耗CPU的服务来说,这个更多核心的假像没有意义,不需要开启。

Category:

web系统优化--前端js,css,图片压缩

自从进入web2.0时代,web系统对浏览器端的界面效果要求不断提高。
浏览器端的效果大多数由js+css+图片实现。
页面的整体效果由平面设计实现,这里不做描述,仅对优化代码执行方面做些分析总结。

开发人员编写的js,css基本都带格式,方便开发人员阅读。
但是这些格式对于浏览器来说不是必须的,可以去掉这些格式,
省略格式字符,如空格,换行,注释等,能节省部分网络开销,
这一过程称作压缩过程,显然这个压缩不同于常说的文件压缩。

前端JS,CSS开发的一般流程为,开发人员编写代码,提交到代码管理库,
提交后触发另外的工具,做压缩后,再触发部署程序部署到服务器上。

压缩方法比较多,我接触的有yahoo的yuicompress,用java开发提供的jar包。
另外一种,与前端js关系比较密切的node.js,可供参考。

Category:

用 PHP编写简单MySQL Bridge

许多虚拟主机空间提供MySQL服务,但不提供外部访问服务。

如果需要外部依旧能够使用MySQL服务,需要在虚拟主机上安装一个桥接程序。

当然这种桥接程序提供的是另一套接口了,而不是直接走的mysql协议了。

其他使用这个服务的程序需要改到这套接口调用上。

桥接程序不复杂,最简单的情况下只需要提供一个query接口即可。

拿PHP为例,定义简单接口,实例MySQL服务的桥接接口程序。
服务器端程序pmp.php,定义了一个有两个参数的query接口,
<?php
/**
* @param sql string
* @param params array
*/
/*
settings.php template:
$db_host = "";
$db_port = 3306;
$db_user = "";
$db_pass = "";
$db_name = "";
*/

require('settings.php');

Category:

git高级用法汇总,自动登陆,环境变量与代理

一、访问git的自动密码/证书登陆功能
访问git的认证一般性两种方式,
1、使用用户名+密码方式
2、使用ssh证书模式

第1种一般出现在使用http(s)协议访问git库,服务器端一般用http的basic auth认证方式。
如果不使用密码自动输入的话,需要每次都输入用户名和密码。
可能出于安全考虑,git客户端没有自动记录密码功能。
可以使用下面的方法,让git访问不需要再每次输入密码,
在$HOME目录创建.netrc文件,文件内容格式为:

Category:

搭建nginx+git+cgit环境

1、环境目标
*) 通过http协议操作git库,
*) 支持基本的git库用户认证
*) 通过http协议访问git库展示,类似gitview功能

2、基础环境与包安装
centos-6, 64位
nginx-1.4.1

3、安装带完整dav支持的nginx
由于nginx包自带的dav模块不是完整的dav协议实现,
还需要用于一个额外的nginx模块,nginx-dav-ext-module。
下载nginx-1.4.1.tar.gz,解压,
./configure --add-module=/path/to/nginx-dav-ext-module
make && make install

配置编译好的nginx,并启动,

Category:

使用php向flickr自动上传图片

1、选择api
phpFlickr,这个包支持php4/php5。与phlickr这个要新些全面些。
这个库想比phlickr更合适,但是也有些老,像没有像oauth这些功能。

2、创建 flickr app 的key
http://www.flickr.com/services/

3、配置与认证登陆

Category:

页面

订阅 RSS - WEB


Main menu 2

by Dr. Radut