于吉吉的技術博客

          建造高性能門戶網

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            65 隨筆 :: 6 文章 :: 149 評論 :: 0 Trackbacks

          #

               摘要: 上個月參加的網易游戲部QA組的黑盒測試培訓,覺得挺有意思的,不過最讓我感興趣的是,能和真正專業的測試人員做了一點討論,發現站在開發人員的角度看待測試和站在測試人員看待測試時完全不同的一種東西.

          程序員和測試人員的心理差別
          程序員和測試人員的心理差別可以簡單的歸納為以下幾種

          成功 / 不成功
          什么才是一次成功的測試,大多數的開發人員對自己的程序測試完沒發現錯誤,就會說"這是一個成功的測試",如果發現某些新的錯誤則稱"這是不成功的測試";而測試人員剛好相反,當然這也是因為雙方的職責不同而引起的

          維護 / 破壞,施虐
          開發人員對測試往往是一種維護性的測試,目標在于證明自己開發的程序沒有錯誤,可能跟我們開發人員經常做建設性工作,更傾向創造事物,而不是將事物破壞有關;而測試人員在測試更多是一種破壞的過程,甚至是一種施虐,擺出一種把雞蛋打碎攪黃來挑骨頭的姿態  閱讀全文
          posted @ 2010-12-03 16:00 陳于喆 閱讀(1732) | 評論 (3)編輯 收藏

               摘要: PHP-FPM 是 一個PHP FastCGI進程管理器

          FastCGI是一個可伸縮的,高速地在web server和腳本語言間交互的接口。FastCGI的主要優點是把動態語言和web server分離開來。這種技術允許把web server和動態語言運行在不同的主機上,以大規模擴展和改進安全性而不損失生產效率。

          php-fpm可以和任何支持遠端FastCGI的web server工作

          安裝
          php-5.2.13.tar.gz
          php-5.2.13-fpm-0.5.14.diff.gz

          tar zxvf php-5.2.13.tar.gz
          gunzip php-5.2.13-fpm-0.5.14.diff.gz

          patch -d php-5.2.13 -p1 < php-5.2.13-fpm-0.5.14.diff (給php源碼打fpm補丁)

          cd php-5.2.13

          ./configure --prefix=/usr/local/p  閱讀全文
          posted @ 2010-11-30 18:44 陳于喆 閱讀(2822) | 評論 (0)編輯 收藏

               摘要: mysql的官方網站是 http://www.mysql.com

          tar zxvf mysql-5.1.50.tar.gz

          cd mysql-5.1.50

          ./configure --prefix=/usr/local/mysql --with-charset=gbk --with-extra-charset=all --enable-hread-safe-client
          --enable-local-infile --with-low-memory

          make && make install

          chmod +w /usr/local/mysql

          chown -R mysql:mysql /usr/local/mysql

          cp support-files/my-medium.cnf /etc/my.cnf  閱讀全文
          posted @ 2010-11-30 15:21 陳于喆 閱讀(411) | 評論 (0)編輯 收藏

               摘要: nginx的官方網站是:http://www.nginx.org

          Nginx ("engine x") 是一個高性能的 HTTP 和 反向代理 服務器,也是一個 IMAP/POP3/SMTP 代理服務器。 Nginx 是由 Igor Sysoev 為俄羅斯訪問量第二的 Rambler.ru 站點開發的,它已經在該站點運行超過兩年半了。Igor 將源代碼以類BSD許可證的形式發布。盡管還是測試版,但是,Nginx 已經因為它的穩定性、豐富的功能集、示例配置文件和低系統資源的消耗而聞名了。

          nginx的特性
          1.目前官方 Nginx 并不支持Windows,您只能在包括Linux,UNIX,BSD系統下安裝和使用
          2.Nginx 本身只是一個HTTP和反向代理服務器,它無法像Apache一樣通過安裝各種模塊來支持不同的頁面腳本,例如PHP、CGI等
          3.Nginx 支持簡單的負載均衡和容錯
          4.支持作為基本 HTTP 服務器的功能,例如日志、壓縮、Byte ranges、Chunked responses、SSL、虛擬主機  閱讀全文
          posted @ 2010-11-30 12:45 陳于喆 閱讀(2638) | 評論 (0)編輯 收藏

               摘要: 1.卸載rpm包
          通過 rpm -qa | grep httpd 搜索出

          httpd-2.2.3-43.el5.centos.3



          rpm -e httpd-2.2.3-43.el5.centos.3

          如果出現提示有其他相關包依賴此rpm,可以選擇強制卸載

          2.yum 或 apt-get 卸載

          yum -y remove httpd
          yum -y remove httpd* 卸載多個相識的軟件

          3.卸載自編譯包
          make uninstall 或 手動刪除  閱讀全文
          posted @ 2010-11-29 15:14 陳于喆 閱讀(280) | 評論 (0)編輯 收藏

               摘要: NET-SNMP的官方網站是:http://www.net-snmp.org
          先閱讀一下官網的一點說明(詳細見官網)
          Simple Network Management Protocol (SNMP) is a widely used protocol for monitoring the health and welfare of network equipment (eg.routers), computer equipment and even devices like UPSs. Net-SNMP is a suite of applications used to implement SNMP v1, SNMP v2c and SNMP v3 using both IPv4 and IPv6
          ...
            閱讀全文
          posted @ 2010-11-29 11:34 陳于喆 閱讀(2453) | 評論 (0)編輯 收藏

               摘要: 剛在一臺新安裝ubuntu的機器上進行vi,出現
          -bash: vi: command not found
          使用vim則可以正常的操作,當然這個應該是vi/vim沒安裝好的原因,重新執行命令
          yun -y install vim*
          完整的安裝完畢后則可以正常使用vi/vim

          以前只知道vim是vi的升級版,大部分時候也只使用vi,至于vim和vi的一些區別上還真的不知道,以下為在網上查找整理的內容

          vim,意為VI iMproved,主要的優勢體現在以下幾個方面:  閱讀全文
          posted @ 2010-11-22 14:57 陳于喆 閱讀(249) | 評論 (0)編輯 收藏

               摘要: 把我上次的工程所用到的jar包做了一個整理,也加了一些簡單的描述,下面圖是上次工程用到的所有jar吧



          JAR包與描述對照表 注:jar包尾后的版本號不代表當前最高版本
          activation-1.1.jar Sun的JavaBeans Activation Framework(JAF),JavaMail要運行必須依賴于它的支持
          asm-3.0.jar
          asm-commons-2.2.3.jar
          asm-util-2.2.3.jar
          asm是一個輕量級字節碼處理和分析框架
          alveole-struts2.jar
          alveole-tools.jar

          aspectjtools-1.5.3.jar
          Aspect提供的注釋類庫和相應的解析類庫
          atomikos-util.jar
          數據庫提供分布式事務支持
            閱讀全文
          posted @ 2010-11-03 14:59 陳于喆 閱讀(3268) | 評論 (1)編輯 收藏

               摘要: 上周給同事講解了cacti的安裝及其使用時做了一份ppt,在這里將這份ppt簡單梳理一下介紹一下cacti在我們日常工作中的監控使用

          cacti的結構
          在廣義上來說cacti是一套網絡流量監測圖形分析工具,但從狹義來說cacti只是由php語言實現的一個軟件,

          它需要PHP,apache,Mysql,SNMP,RRDTool等工具的支持  閱讀全文
          posted @ 2010-11-02 17:28 陳于喆 閱讀(3270) | 評論 (0)編輯 收藏

               摘要: 上次寫的中提到了openVPN,也做了一點點簡單的介紹,有朋友也問了一些關于vpn的問題
          首先,我所購買的vps是基于OpenVZ類型,無法配置標準的VPN(無測試過),部分手機可能無法支持,但OpenVZ支持pptp和openVPN

          請登錄OPENVPN官網查閱最新資料

          ok!在安裝之前請確認一下你購買的vps是否開啟了tun/tap的支持,burst vps默認是不開啟tun/tap的,可以使用cat /dev/net/tun 進行檢查

          如果是沒有權限的話可以發個ticket要求客服為你開啟tun/tap

          出現File descriptor in bad state說明tun/tap已經開啟,可以開始進行openVPN的安裝配置

          我的vps安裝的系統為CentOS release 5.5 (Final),下面一系列安裝和配置都在此vps上進行,根據 配置

          一.服務端安裝  閱讀全文
          posted @ 2010-11-01 17:35 陳于喆 閱讀(8926) | 評論 (2)編輯 收藏

               摘要: 先感謝同事梁員外在去年就給我們介紹了VPS,前段時間也購買了一個VPS,使用了一段時間感覺還不錯
          先介紹一下VPS,下面是一些講座的筆記,部分內容直接摘自梁員外的ppt

          What is VPS

          VPS是Virtual Private Servers的簡稱,也就是我們說的虛擬專用服務器,在一臺物理服務器上創建多個相互隔離的虛擬專用服務器。這些虛擬服務器以最大化的效率共享硬件、軟件許可證以及管理資源。對其用戶和應用程序來講,每一個VPS平臺的運行和管理都與一臺獨立主機完全相 同,因為每一個VPS均可獨立進行重啟并擁有自己的root訪問權限、用戶、IP地址、內存、過程、文件、應用程序、系統函數庫以及配置文件。

          國外的主流VPS類型

          國外的主流VPS類型主要是OpenVZ和XEN,先介紹一下OpenVZ

          OpenVZ(Virtuozzo)
          SWsoft公司的商用版虛擬化技術,而OpenVZ 則是基于Virtuozzo的開源項目。多個虛擬服務器在一個內核上運行,具有高性能和出色管理等優點.   閱讀全文
          posted @ 2010-10-12 15:17 陳于喆 閱讀(7753) | 評論 (4)編輯 收藏

               摘要: 聽DBA的人說,相比oracle,MySQL就是一個玩具級別的數據庫,在網易門戶中,DBA基本很少去管理到MySQL的東西,所以我們產品使用到的MySQL的一些配置和優化還是需要我們開發人員自己動手,下面就簡單介紹一下實用的定期優化方法

          定期分析表

          ANALYZE [LOCAL | NO_WRITE_TO_BINLOG] TABLE tbl_name [, tbl_name]

          本語句用于分析和存儲表的關鍵字分布。在分析期間,使用一個讀取鎖定對表進行鎖定。這對于MyISAM, BDB和InnoDB表有作用。對于MyISAM表,本語句與使用myisamchk -a相當。

          MySQL使用已存儲的關鍵字分布來決定,當您對除常數以外的對象執行聯合時,表按什么順序進行聯合。

          mysql> analyze table a;
          +--------+---------+----------+-----------------------------+
          | Table | Op | Msg_  閱讀全文
          posted @ 2010-10-10 14:55 陳于喆 閱讀(5624) | 評論 (2)編輯 收藏

               摘要: 如果你的MyIsam表存在大量高并發的讀寫,那么就可能出現壞表的現象,這是因為MyIsam存儲引擎所決定的,一張損壞的表的癥狀可能是以前某些錯誤

          *.frm 被鎖定不能更改
          找不到*.MYI
          文件意外結束
          記錄文件損壞

          處理1
          使用MySQL自帶的myisamchk的工具進行修復,myisamchk不僅可以檢查和修復MyIsam表,還可以進行優化和分析表,實際上,它集成了mysql中的check,repair,analyze,optimize的功能,下面是用myisamchk進行修復

          myisamchk -r tablename

          其中-r參數的含義是recover,在以往的應用,這語句幾乎可以解決上面所述碰到的問題,如果還不行,可以使用

          myisamchk -o tablename

          其中-o參數的含義是--safe-recover,可以進行更安全的修復

          處理2
          使用MySql的CHECK TABLE和REPAIR TABL  閱讀全文
          posted @ 2010-10-10 14:11 陳于喆 閱讀(1986) | 評論 (0)編輯 收藏

               摘要: 先感謝同事renial的<解析xml時遇到的一些問題>技術分享,下面是一些記錄和實際操作

          1.使用Dom4j解析大文件時內存溢出的問題

          問題是這樣的,當我用dom4j去解析一個幾十M的xml時,就出現out of memory.當然了,這也是根據你的機器性能而定的,我們都知道dom4j在各種DOM解析器中應該算是性能最好的,連大名鼎鼎的Hibernate都是用dom4j來解析XML配置文件的
          問題出在于使用dom4j的SAXReader是會把整個XML文件一次性讀入,如果XML文件過大就會拋出out of memory,但即使是使用SAXParser批量讀入解析,但它也是一次解析完,假設XML文件有幾萬條數據,那么解析后就必須在內存放入這幾萬條對象.

          常用的Dom4j文件解析方式:

          InputStream is = new FileInputStream(filePath);
          SAXReader reader = new SAXReader(); //將整個XML構建為一個Document 閱讀全文
          posted @ 2010-09-28 17:10 陳于喆 閱讀(15014) | 評論 (2)編輯 收藏

               摘要: 對于的用戶輸入搜索出現XSS漏洞的問題,主要是由于開發人員對XSS了解不足,安全的意識不夠造成的。現在讓我們來普及一下XSS的一些常識,以后在開發的時候,每當有用戶輸入的內容時,都要加倍小心。

          一、什么是XSS
          XSS又叫CSS (Cross Site Script) ,跨站腳本攻擊。它指的是惡意攻擊者往Web頁面里插入惡意html代碼,當用戶瀏覽該頁之時,嵌入其中Web里面的html代碼會被執行,從而達到惡意用戶的特殊目的。XSS屬于被動式的攻擊,因為其被動且不好利用,所以許多人常呼略其危害性
          在WEB2。0時代,強調的是互動,使得用戶輸入信息的機會大增,在這個情況下,我們作為開發者,在開發的時候,要提高警惕。

          二、XSS攻擊的主要途徑
          方法只是利用HTML的屬性,作各種的嘗試,找出注入的方法。現在對三種主要方式進行分析。

          第一種:對普通的用戶輸入,頁面原樣內容輸出。
          打開http://go.ent.163.com/goproducttest/test.jsp(限公司IP),  閱讀全文
          posted @ 2010-09-26 19:21 陳于喆 閱讀(3200) | 評論 (5)編輯 收藏

               摘要: 先感謝同事梁員外的技術分享,下面是一些相關的筆記,當然啦,在應用Morphia之前需要有MongoDB的使用經驗.

          What is Morphia?

          Morphia is a lightweight type-safe library for mapping your Java objects to/from MongoDB

          簡單的來說Morphia與MongoDB的關系就如Hibernate與關系數據庫的關系, 是一個實現Java對象到MongoDB雙向映射的類庫。

          下面是摘自Morphia官方的簡介,帶有一定的廣告性,呵呵

          Easy to use, and very lightweight; reflection is used once per type and cached.

          Annotations describe mapping behavior; there are no XML files.

          Provi  閱讀全文
          posted @ 2010-09-16 17:41 陳于喆 閱讀(13136) | 評論 (3)編輯 收藏

               摘要: 自從dropbox被墻了之后就一直在尋找更好的同步工具,畢竟使用同步工具比什么google doc和網易網盤要爽的多,起碼不用上傳下載,用了什么PathSync和DBSync都覺得不如dropbox的爽(純屬個人感覺哈).
          其實我的需求倒是挺簡單的,就是要同步家里和公司兩臺電腦的一些指定的文件夾,突然想到每天都在使用的rsync,自己配一個吧,反正服務器是現有的,只不過是linux,兩臺需要同步的電腦都是windows,下面就分享一個rsync如何在windows和linux兩個系統中進行文件同步.

          linux服務端
          按照rsync工具
          建議采用yum install rsync 或 apt-get install rsync安裝,因為方便嘛
          安裝完畢后

          vi /etc/rsyncd.conf

          pid file = /var/run/rsyncd.pid
          uid = nobody
          gid = nobody
          max connections = 36000
          log file  閱讀全文
          posted @ 2010-09-06 18:44 陳于喆 閱讀(8594) | 評論 (1)編輯 收藏

               摘要: mysql有4種不同的日志,分別是二進制日志,查詢日志,慢查詢日志和錯誤日志,這些日記記錄著數據庫工作的方方面面,可以幫助我們了解數據庫的不同方面的蹤跡,下面先介紹二進制日志的作用和使用方法,并利用二進制日志對數據庫進行各種維護和優化,其他日志也會在后面陸續會做詳細的介紹。

          二進制日志(bin-log日志)
          在上一篇介紹mysql主從配置的blog中,已經提過bin-log日志的作用和使用,bin-log日志記錄了所有的DDL和DML的語句,但不包括查詢的語句,語句以事件的方式保存,描述了數據的更改過程,此日志對發生災難時數據恢復起到了極為重要的作用。

          開啟
          mysql默認是沒有開發bin-log日志,首先我們需要開啟bin-log日志,在my.cnf中修改



          指定了bin-log日志的路徑,開啟日志后需要myssqladmin flush log才生效,重啟后我們發現在剛才設定的路徑新增了log文件,這就是我們需要的二進制日志



          由于日志是以二進制方式存儲的,不  閱讀全文
          posted @ 2010-09-04 18:55 陳于喆 閱讀(17083) | 評論 (1)編輯 收藏

               摘要: 記得問過身邊的一些開發工程師(非前端)緩存要分幾個層次,從哪里做起,答案很多,比如反向代理緩存,DNS緩存,memcached,數據庫緩存等等,確實很完整,不過好像漏掉了我們用戶跟我們聯通的最根本的工具瀏覽器,確實好似很少有人把用戶的瀏覽器當作是web站點的組成部分來看待

          緩存協商
          現在我們需要將用戶的瀏覽器也納入我們構建網站各個緩存層次中的其中一個重要層次,網站信息和內容在由web服務器生成,而將這些信息和內容作為一段二進制的文件作為本地緩存文件存放在用戶的瀏覽器,是兩個獨立個體共同完成的任務,所以兩者之間需要一種溝通的機制,也就是HTTP的緩存協商

          Last-Modified和If-Modified-Since協商
          Last-Modified和If-Modified-Since分別位于響應頭信息和請求頭信息中,都是記錄請求的頁面最后的修改時間
          在第一次訪問web服務器會返回200狀態,并在瀏覽器的響應頭Last-Modified上寫上此頁面最后修改的時間戳
          使用firebug進行查看


            閱讀全文
          posted @ 2010-08-25 00:03 陳于喆 閱讀(6441) | 評論 (0)編輯 收藏

               摘要: 檢查從服務器一般使用show slave status命令來檢查

          mysql> SHOW SLAVE STATUS\G
          *************************** 1. row ***************************
          Slave_IO_State: Waiting for master to send event
          Master_Host: 192.168.0.100
          Master_User: root
          Master_Port: 3306
          Connect_Retry: 3
          Master_Log_File: mysql-bin.003
          Read_Master_Log_Pos: 79
          Relay_Log_File: mysql -relay-bin. 003
          Relay_Log_Pos: 548
          Relay_Master_Log_File: mysql -bin. 003
          Slave_IO_Running: Yes
          Slave_SQL_Ru  閱讀全文
          posted @ 2010-08-23 21:35 陳于喆 閱讀(4084) | 評論 (0)編輯 收藏

          列出全部內容
          共4頁: 上一頁 1 2 3 4 下一頁 
          主站蜘蛛池模板: 泸州市| 应用必备| 河北省| 南和县| 中阳县| 鹤壁市| 富顺县| 定南县| 商都县| 灵丘县| 淳化县| 遂宁市| 宁安市| 龙胜| 南部县| 满洲里市| 哈密市| 进贤县| 余庆县| 莫力| 宁海县| 井冈山市| 大理市| 白银市| 阳曲县| 铜山县| 天门市| 黄大仙区| 喀喇| 疏勒县| 建水县| 洛隆县| 唐河县| 蓬安县| 镇江市| 宣化县| 长沙市| 农安县| 玉田县| 贵定县| 康平县|