• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            隨筆 - 29  文章 - 13  trackbacks - 0
            <2025年5月>
            27282930123
            45678910
            11121314151617
            18192021222324
            25262728293031
            1234567

            常用鏈接

            留言簿(1)

            隨筆分類

            隨筆檔案

            文章分類

            文章檔案

            相冊

            收藏夾

            c++

            Linux

            Tools

            搜索

            •  

            最新評論

            閱讀排行榜

            評論排行榜

            這兩天為了解決Service Unavailable 的問題,進(jìn)行了程序調(diào)優(yōu)總結(jié)有以下幾點(diǎn):

            一、頁面執(zhí)行時(shí)間,這一步是非常關(guān)鍵的,能幫助你了解哪些頁面沒有達(dá)到性能要求。

            二、用好VS.NET 2005的性能調(diào)優(yōu)功能,此功能能將你程序中的運(yùn)行狀態(tài)進(jìn)行非常有效的分析,能很方便的找到程序的問題所在,看出哪里運(yùn)行次數(shù)最多,執(zhí)行時(shí)間最長

            三、數(shù)據(jù)庫方面可以使用Sqlserver自帶的事件探查器或Read80Trace

            另外盡量少用反射,這東東太耗時(shí)間了,同樣的功能用Repeater控件DataBind據(jù)耗的時(shí)間比asp風(fēng)格式的輸出慢幾十ms

            posted @ 2006-12-09 17:26 四海 閱讀(393) | 評論 (1)編輯 收藏

            回頭看看自己犯了不少錯(cuò)誤正確的解決步驟應(yīng)該是:

            一、看看頁面執(zhí)行時(shí)間是否合理,有沒有執(zhí)行時(shí)間特別長的頁面。確認(rèn)程序是正確的

            二、看看服務(wù)器資源是否夠用,是否有非常耗資源的程序在服務(wù)器運(yùn)行

            基本解決這兩個(gè)問題就能解決了

            偶就是因?yàn)樘孕牛嫌X得自己的程序沒問題把重點(diǎn)放在了第二點(diǎn)上,導(dǎo)致走了不少彎路,謹(jǐn)記!

            posted @ 2006-12-08 17:04 四海 閱讀(601) | 評論 (1)編輯 收藏

            這年頭想做的偏不讓你做
            不想做的卻偏偏讓你做

            一切隨緣????
            緣為何物
            萬事有定數(shù)


            是該隨波逐流抑或奮起抗?fàn)?????
            怒!!!
            人生不如意十之八九
            就讓我把失敗轉(zhuǎn)換為前進(jìn)的動力吧
            人生掌握在自己手里
            讓那些鼠目寸光的人看看他們自己是多么的弱智
            讓他們后悔去吧

            posted @ 2006-12-06 18:24 四海 閱讀(328) | 評論 (1)編輯 收藏

            配置完了之后如果運(yùn)行不了
            檢查下IIS是否允許WEB服務(wù)擴(kuò)展CGI/ISAPI

            posted @ 2006-12-05 10:22 四海 閱讀(220) | 評論 (0)編輯 收藏
            使用SDL+opengl寫的一個(gè)簡單的游戲
            此版僅實(shí)現(xiàn)了簡單的方塊移動
            在Windows及FC Linux下編譯運(yùn)行通過

            需要SDL開發(fā)包
            源文件點(diǎn)此下載

            計(jì)劃把它寫成一個(gè)增強(qiáng)算術(shù)運(yùn)算能力的益智游戲



            posted @ 2006-10-26 08:38 四海 閱讀(311) | 評論 (0)編輯 收藏
            自建站以來已N久未曾打理過了
            不少新的網(wǎng)站已冒出
            很險(xiǎn)啊

            沒有一點(diǎn)優(yōu)勢啊

            posted @ 2006-10-24 16:47 四海 閱讀(226) | 評論 (0)編輯 收藏
            TextureApp2.JPG


            點(diǎn)此下載源文件

            /*
            MainApp.hpp
            */
            #ifndef MAINAPP_HPP
            #define MAINAPP_HPP
            #include <GL/gl.h>
            #include <SDL/SDL.h>

            #define ImageWidth 64
            #define ImageHeight 64

            class MainApp
            {
            public:
            ??? MainApp();
            ??? ~MainApp();
            ??? void loop();???
            ??? void quit();???
            ???
            private:???
            ??? void initGL();
            ??? void initTexture();
            ??? void makeImage();
            ??? void destroyGL();
            ??? void onKeyDown(const SDL_Event &event);
            ??? void draw();
            ??? bool running;
            ??? GLubyte Image[ImageWidth][ImageHeight][3];
            };

            #endif


            /*
            MainApp.cpp
            */
            #include <GL/gl.h>
            #include <SDL/SDL.h>
            #include "MainApp.hpp"

            MainApp::MainApp():running(true)
            {
            ?? ?initGL();
            }
            MainApp::~MainApp()
            {
            ?? ?destroyGL();
            }

            void MainApp::initGL()
            {
            ?? ?SDL_Init(SDL_INIT_VIDEO);
            ?? ?SDL_SetVideoMode(600,300,16,SDL_OPENGL);
            ?? ?glClearColor(0,0,0,0);
            ?? ?initTexture();
            }

            /* 創(chuàng)建紋理 */
            void MainApp::makeImage(void)
            {
            ??? int i, j, r,g,b;
            ??? for (i = 0; i < ImageWidth; i++)
            ?? ?{
            ?? ??? ?for (j = 0; j < ImageHeight; j++)
            ?? ??? ?{
            ?? ??????? r=(i*j)%255;
            ?? ??? ???? g=(4*i)%255;
            ?????? ??? ?b=(4*j)%255;
            ?? ???????? Image[i][j][0] = (GLubyte) r;
            ?????? ??? ?Image[i][j][1] = (GLubyte) g;
            ?? ??? ???? Image[i][j][2] = (GLubyte) b;
            ?? ??? ?}
            ??? }
            }

            void MainApp::initTexture()
            {
            ?? ?makeImage();
            ?/*? 定義紋理 */
            ??? glTexImage2D(GL_TEXTURE_2D, 0, 3, ImageWidth,
            ??? ImageHeight, 0, GL_RGB, GL_UNSIGNED_BYTE,
            ??? &Image[0][0][0]);
            ? /*? 控制濾波 */
            ??? glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP);
            ?? glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP);
            ??? glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
            ??? glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
            /*? 說明映射方式*/
            ?? glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_DECAL);
            /*? 啟動紋理映射 */
            ??? glEnable(GL_TEXTURE_2D);
            }

            void MainApp::destroyGL()
            {
            ?? ?SDL_Quit();
            }
            void MainApp::loop()
            {
            ?? ?SDL_Event event;
            ?? ?while(running)
            ?? ?{
            ?? ??? ?while(SDL_PollEvent(&event))
            ?? ??? ?{
            ?? ??? ??? ?switch(event.type)
            ?? ??? ??? ?{
            ?? ??? ??? ?case SDL_KEYDOWN:
            ?? ??? ??? ??? ?onKeyDown(event);
            ?? ??? ??? ??? ?break;
            ?? ??? ??? ?}
            ?? ??? ?}
            ?? ??? ?SDL_Delay(50);
            ?? ??? ?draw();
            ?? ?}
            }
            void MainApp::quit()
            {
            ?? ?running=false;
            }
            void MainApp::onKeyDown(const SDL_Event &event)
            {
            ?? ?switch(event.key.keysym.sym)
            ?? ?{
            ?? ?case SDLK_ESCAPE:
            ?? ??? ?quit();
            ?? ?}
            }
            void MainApp::draw()
            {
            ?? ?glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
            ?? ?glBegin(GL_QUADS);
            ?? ??? ?glColor3f(1,1,1);
            ?? ??? ?glTexCoord2f(0,0);glVertex3f(-0.5,-0.5,-0.5);
            ?? ??? ?glTexCoord2f(0,1);glVertex3f(-0.5,0.5,-0.5);
            ?? ??? ?glTexCoord2f(1,1);glVertex3f(0.5,0.5,0.5);
            ?? ??? ?glTexCoord2f(1,0);glVertex3f(0.5,-0.5,0.5);
            ?? ?glEnd();
            ?? ?
            ?? ?SDL_GL_SwapBuffers();
            }

            int main(int argc,char* argv[])
            {
            ?? ?MainApp app;
            ?? ?app.loop();?? ?
            }

            posted @ 2006-10-17 18:42 四海 閱讀(1405) | 評論 (0)編輯 收藏
            http://www.shnenglu.com/Files/giant35/Baihe.Tools.PatchCreator.rar
            點(diǎn)此下載v0.01源程序
            點(diǎn)此下載v0.02源程序


            開發(fā)動機(jī):
            因web開發(fā)更新極為頻繁,
            且每次都不是整站更新而是修改了什么更新什么
            每次挑選出需要更新的文件且按目錄結(jié)構(gòu)組織好頗費(fèi)一翻事
            未曾找到類似的工作
            所以產(chǎn)生了開發(fā)此程序的動機(jī)


            目標(biāo):
            補(bǔ)丁打包機(jī)
            實(shí)現(xiàn)人工干預(yù)+智能規(guī)則推導(dǎo)找出所有需要更新的文件
            并能以多種形式發(fā)布(復(fù)制/FTP上傳/打包……)


            使用說明:
            先選擇要更新的文件再使用菜單“補(bǔ)丁”->"發(fā)布"? 發(fā)布


            有沒有人使呢?




            posted @ 2006-10-17 16:46 四海 閱讀(265) | 評論 (0)編輯 收藏
            點(diǎn)擊下載源文件



            /*
            坐標(biāo)觀察程序,
            ESC:退出
            F5:復(fù)位
            LEFT/RIGHT:以綠色Y為軸心旋轉(zhuǎn)
            UP/DOWN:以紅色X為軸心旋轉(zhuǎn)
            PAGEUP/PAGEDOWN:以藍(lán)色z為軸心旋轉(zhuǎn)
            */
            #include <GL/gl.h>
            #include <SDL/SDL.h>
            bool running=true;
            float x=0.0,y=0.0,z=0.0;
            enum Target{modelview,projection};
            Target target=modelview;

            void initGL()
            {
            ?? ?SDL_Init(SDL_INIT_VIDEO);
            ?? ?SDL_EnableKeyRepeat(SDL_DEFAULT_REPEAT_DELAY,SDL_DEFAULT_REPEAT_INTERVAL);
            ?? ?SDL_SetVideoMode(600,300,16,SDL_OPENGL);
            ?? ?
            }
            void destroyGL()
            {
            ?? ?SDL_Quit();
            }
            void drawCoordinate()
            {
            ?? ?glBegin(GL_LINES);
            ?? ??? ?glLineWidth(10.0f);
            ?? ??? ?glColor3f(1,0,0);
            ?? ??? ?glVertex3f(0,0,0);
            ?? ??? ?glVertex3f(1,0,0);
            ?? ??? ?glColor3f(0,1,0);
            ?? ??? ?glVertex3f(0,0,0);
            ?? ??? ?glVertex3f(0,1,0);
            ?? ??? ?glColor3f(0,0,1);
            ?? ??? ?glVertex3f(0,0,0);
            ?? ??? ?glVertex3f(0,0,1);
            ?? ?glEnd();

            }
            void draw()
            {
            ?? ?glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
            ?? ?if(target==modelview)
            ?? ?{
            ?? ??? ?glMatrixMode(GL_MODELVIEW);
            ?? ?}
            ?? ?else
            ?? ?{
            ?? ??? ?glMatrixMode(GL_PROJECTION);
            ?? ?}
            ?? ?glLoadIdentity();
            ?? ?glRotatef(x,1,0,0);
            ?? ?glRotatef(y,0,1,0);
            ?? ?glRotatef(z,0,0,1);
            ?? ?glMatrixMode(GL_MODELVIEW);
            ?? ?drawCoordinate();
            ?? ?
            ?? ?SDL_GL_SwapBuffers();

            }
            void switchTarget()
            {
            ?? ?if(((int)target+1)>((int)projection))
            ?? ?{
            ?? ??? ?target=modelview;
            ?? ?}else
            ?? ?{
            ?? ??? ?target=(Target)((int)target+1);
            ?? ?}
            }
            void reset()
            {
            ?? ?x=0;
            ?? ?y=0;
            ?? ?z=0;
            }
            void quit()
            {
            ?? ?running=false;
            }
            void onKeyDown(const SDL_Event& event)
            {
            ?? ?switch(event.key.keysym.sym)
            ?? ?{
            ?? ?case SDLK_ESCAPE:
            ?? ?quit();
            ?? ?break;
            ?? ?case SDLK_TAB:
            ?? ?switchTarget();
            ?? ?break;
            ?? ?case SDLK_F5:
            ?? ?reset();
            ?? ?break;
            ?? ?case SDLK_LEFT:
            ?? ?y+=1;
            ?? ?break;
            ?? ?case SDLK_RIGHT:
            ?? ?y-=1;
            ?? ?break;
            ?? ?case SDLK_UP:
            ?? ?x+=1;
            ?? ?break;
            ?? ?case SDLK_DOWN:
            ?? ?x-=1;
            ?? ?break;
            ?? ?case SDLK_PAGEUP:
            ?? ?z+=1;
            ?? ?break;
            ?? ?case SDLK_PAGEDOWN:
            ?? ?z-=1;
            ?? ?break;
            ?? ?
            ?? ?}
            }
            void loop()
            {
            ?? ?SDL_Event event;
            ?? ?while(running)
            ?? ?{
            ?? ??? ?while(SDL_PollEvent(&event))
            ?? ??? ?{
            ?? ??? ??? ?switch(event.type)
            ?? ??? ??? ?{
            ?? ??? ??? ?case SDL_QUIT:
            ?? ??? ??? ??? ?quit();
            ?? ??? ??? ?break;
            ?? ??? ??? ?case SDL_KEYDOWN:
            ?? ??? ??? ??? ?onKeyDown(event);
            ?? ??? ??? ?break;
            ?? ??? ??? ?}
            ?? ??? ?}
            ?? ??? ?draw();
            ?? ??? ?SDL_Delay(50);
            ?? ?}

            }
            int main(int argc,char* argv[])
            {
            ?? ?initGL();
            ?? ?loop();
            ?? ?destroyGL();?? ?
            ?? ?return 0;
            }

            posted @ 2006-09-28 16:52 四海 閱讀(1172) | 評論 (0)編輯 收藏
            上一篇中我們繪制了一個(gè)彩色的三角型
            這次我們讓它動起來

            #include <GL/gl.h>
            #include <SDL/SDL.h>
            bool running=true;
            float y=0.0;

            void initGL()
            {
            ?? ?SDL_Init(SDL_INIT_VIDEO);
            ?? ?SDL_SetVideoMode(600,300,16,SDL_OPENGL);
            ?? ?
            }
            void destroyGL()
            {
            ?? ?SDL_Quit();
            }
            void draw()
            {
            ?? ?glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
            ?? ?glRotatef(y,0,1,0);
            ?? ?glBegin(GL_TRIANGLES);
            ?? ??? ?glColor3f(1,0,0);
            ?? ??? ?glVertex3f(0,0,0);
            ?? ??? ?glColor3f(0,1,0);
            ?? ??? ?glVertex3f(1,0,0);
            ?? ??? ?glColor3f(0,0,1);
            ?? ??? ?glVertex3f(0,1,0);
            ?? ?glEnd();

            ?? ?SDL_GL_SwapBuffers();

            }
            void quit()
            {
            ?? ?running=false;
            }
            void onKeyDown(const SDL_Event& event)
            {
            ?? ?switch(event.key.keysym.sym)
            ?? ?{
            ?? ?case SDLK_ESCAPE:
            ?? ?quit();
            ?? ?break;
            ?? ?case SDLK_LEFT:
            ?? ?y+=0.1;
            ?? ?break;
            ?? ?case SDLK_RIGHT:
            ?? ?y-=0.1;
            ?? ?break;

            ?? ?
            ?? ?}
            }
            void loop()
            {
            ?? ?SDL_Event event;
            ?? ?while(running)
            ?? ?{
            ?? ??? ?while(SDL_PollEvent(&event))
            ?? ??? ?{
            ?? ??? ??? ?switch(event.type)
            ?? ??? ??? ?{
            ?? ??? ??? ?case SDL_QUIT:
            ?? ??? ??? ??? ?quit();
            ?? ??? ??? ?break;
            ?? ??? ??? ?case SDL_KEYDOWN:
            ?? ??? ??? ??? ?onKeyDown(event);
            ?? ??? ??? ?break;
            ?? ??? ??? ?}
            ?? ??? ?}
            ?? ??? ?draw();
            ?? ??? ?SDL_Delay(50);
            ?? ?}

            }
            int main(int argc,char* argv[])
            {
            ?? ?initGL();
            ?? ?loop();
            ?? ?destroyGL();?? ?
            ?? ?return 0;
            }
            #include <GL/gl.h>
            #include <SDL/SDL.h>
            bool running=true;
            float y=0.0;

            void initGL()
            {
            ??? SDL_Init(SDL_INIT_VIDEO);
            ??? SDL_SetVideoMode(600,300,16,SDL_OPENGL);
            ???
            }
            void destroyGL()
            {
            ??? SDL_Quit();
            }
            void draw()
            {
            ??? glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
            ??? glRotatef(y,0,1,0);
            ??? glBegin(GL_TRIANGLES);
            ??? ??? glColor3f(1,0,0);
            ??? ??? glVertex3f(0,0,0);
            ??? ??? glColor3f(0,1,0);
            ??? ??? glVertex3f(1,0,0);
            ??? ??? glColor3f(0,0,1);
            ??? ??? glVertex3f(0,1,0);
            ??? glEnd();

            ??? SDL_GL_SwapBuffers();

            }
            void quit()
            {
            ??? running=false;
            }
            void onKeyDown(const SDL_Event& event)
            {
            ??? switch(event.key.keysym.sym)
            ??? {
            ??? case SDLK_ESCAPE:
            ??? quit();
            ??? break;
            ??? case SDLK_LEFT:
            ??? y+=0.1;
            ??? break;
            ??? case SDLK_RIGHT:
            ??? y-=0.1;
            ??? break;

            ???
            ??? }
            }
            void loop()
            {
            ??? SDL_Event event;
            ??? while(running)
            ??? {
            ??? ??? while(SDL_PollEvent(&event))
            ??? ??? {
            ??? ??? ??? switch(event.type)
            ??? ??? ??? {
            ??? ??? ??? case SDL_QUIT:
            ??? ??? ??? ??? quit();
            ??? ??? ??? break;
            ??? ??? ??? case SDL_KEYDOWN:
            ??? ??? ??? ??? onKeyDown(event);
            ??? ??? ??? break;
            ??? ??? ??? }
            ??? ??? }
            ??? ??? draw();
            ??? ??? SDL_Delay(50);
            ??? }

            }
            int main(int argc,char* argv[])
            {
            ??? initGL();
            ??? loop();
            ??? destroyGL();???
            ??? return 0;
            }

            posted @ 2006-09-28 16:46 四海 閱讀(543) | 評論 (0)編輯 收藏
            僅列出標(biāo)題  下一頁
            精品国产青草久久久久福利| 伊人久久大香线蕉综合5g| 2021久久精品国产99国产精品| 久久精品水蜜桃av综合天堂| 成人久久精品一区二区三区| 国产精品热久久无码av| 久久综合久久鬼色| 久久国产精品99国产精| 日本精品久久久久中文字幕8| 久久精品18| 亚洲色欲久久久综合网东京热| 久久99精品国产麻豆| 久久久久国产精品麻豆AR影院 | 久久久久综合网久久| 久久亚洲国产成人影院网站| 九九精品99久久久香蕉| 久久久久九九精品影院| 成人国内精品久久久久一区| 久久久精品日本一区二区三区| 久久狠狠高潮亚洲精品| 久久精品综合网| 久久青草国产精品一区| 东方aⅴ免费观看久久av| 国产巨作麻豆欧美亚洲综合久久 | 中文字幕精品无码久久久久久3D日动漫| 777午夜精品久久av蜜臀| 久久99精品久久久久久秒播| 国产精品岛国久久久久| 国内精品久久久久久久久电影网 | 国产成人久久777777| 无码久久精品国产亚洲Av影片| 欧美久久天天综合香蕉伊| 国产精品99久久久久久猫咪| 久久精品国产久精国产| 91精品国产综合久久婷婷| 少妇久久久久久被弄高潮| 久久亚洲国产精品成人AV秋霞| 精品乱码久久久久久夜夜嗨| 秋霞久久国产精品电影院| 久久99精品久久久久久水蜜桃| 亚洲国产精品久久久久婷婷软件|