從員工到老闆的5個步驟

第一境界是,做員工是,少不多是。其意就是說要服從性強,哪怕是自己的同事。要做到令行禁止,有令則動。對於同事間的的工作協調要多多配合。不要聽不得逆耳的聲音。作為一名好的員工,處處都要表現出一副如幹部般的作風,這樣你才有可能被提拔為幹部。     第二個境界,擔任基層幹部時,少說多聽。意思是說在做基層主管時,不要有過多的怨言,也不要是只打雷不下雨,少說多聽多做。雖然作為幹部不能事必親躬,但最苦最累的還是要做的,因為這些是你最好的政績。多聽員工及同事的忠誠建議,多聽上級領導的指正批評。多聽就可以多瞭解

淺談遊戲伺服器-》功能模組上來看(二)

接著一繼續,其實寫本文從內行技術角度來看,本身就沒什麼技術含量,但是俗話說的好,隔行隔山,內行看門道,外行那啥什麼,反正就是想觸碰這玩意,但是又沒搞過的人看的。反正都是隨便亂寫了,愛看的看,準備寫個功能模組大概 再寫個架構得大概,而後就去從網路包開始搞個最簡單最輕量的小架構,力圖讓知道編程是啥的就能在上面搞東西 還是繼續談功能模組。 一、還有個 AI模組,這個可不能忘啊 不過要注意,我這裡提到的AI模組和我一裡面所提到的幾個AI地方說指AI不是一會事情。

1. D3DBalnkWindow

#include<d3d9.h>#pragma comment(lib, "d3d9.lib")#pragma comment(lib, "d3dx9.lib")#define WINDOW_CLASS "UGPDX"#define WINDOW_NAME "Blank D3D Window"// Function Prototypes...bool InitializeD3D(HWND hWnd, bool fullscreen);void RenderScene();void

CreateMutex建立互斥體可以用於只運行進程的一個執行個體

CreateMutex作用找出當前系統是否已經存在指定進程的執行個體。如果沒有則建立一個互斥體。CreateMutex()函數可用來建立一個有名或無名的互斥量對象,其函數原型為VC聲明HANDLE CreateMutex(  LPSECURITY_ATTRIBUTESlpMutexAttributes, // 指向安全屬性的指標  BOOLbInitialOwner, // 初始化互斥對象的所有者  LPCTSTRlpName //

svn裡的branch、trunk、tag的用處

這隻是個說明,你不按說明來辦事也不會怎麼樣,svn照樣工作得很好。branches:分枝當多個人合作(Sally和John)時,可能有這樣的情況出現:John突然有個想法,跟原先的設計不太一致,可能是功能的添加或者日誌格式的改進等等,總而言之,這個想法可能需要花一段時間來完成,而這個過程中,John的一些操作可能會影響Sally的工作,John從現有的狀態單獨出一個project的話,又不能及時得到Sally對已有代碼做的修正,而且獨立出來的話,John的嘗試成功時,跟原來的合并也存在困難。這時

怎麼煉成高手

這是今天和校招新同事交流時的總結,希望校招新同事能夠回顧,也能夠寫出自己的總結。 一、什麼是代碼高手?你怎麼證明自己是代碼高手?知道許多代碼技巧、JS炫彩技巧的人大有人在。你知道多少個.net函數,這一點都沒有意義。你知道多少個新鮮IT名詞,多少技術介紹,這也沒有意義。做,真正做一個原型,做一個項目,解決你手頭棘手的問題,這才有意義。1、快速準確的理解別人說的-〉2、快速的開發,還準確的反映了別人的需求-〉3、穩定,最少出BUG-〉4、高效能,10萬條記錄你能頂住,1000萬條記錄你能頂住嗎?這

seekg()與tellg()相關檔案操作

對輸入資料流操作:seekg()與tellg()對輸出資料流操作:seekp()與tellp()下面以輸入資料流函數為例介紹用法:seekg()是對輸入檔案定位,它有兩個參數:第一個參數是位移量,第二個參數是基地址。對於第一個參數,可以是正負數值,正的表示向後位移,負的表示向前位移。而第二個參數可以是:ios::beg:表示輸入資料流的開始位置ios::cur:表示輸入資料流的當前位置ios::end:表示輸入資料流的結束位置tellg()函數不需要帶參數,它返回當前定位指標的位置,也代表著輸入

sprintf與snprintf

int sprintf( char *buffer, const char *format [,argument] ... );除了前兩個參數類型固定外,後面可以接任意多個參數。而它的精華,顯然就在第二個參數:格式化字串上。printf和sprintf都使用格式化字串來指定串的格式,在格式串內部使用一些以“%”開頭的格式說明符(formatspecifications)來佔據一個位置,在後邊的變參列表中提供相應的變數,最終函數就會用相應位置的變數來替代那個說明符,產生一個調用者想要的字串。1.

boost::shared_ptr的執行緒安全性

boost::shared_ptr的win32實現中,沒有使用類似mutex機制卻能夠實現安全執行緒。安全執行緒主要就是保證引用計數機制的安全執行緒win32實現中關鍵在於使用了BOOST_INTERLOCKED_DECREMENT以及BOOST_INTERLOCKED_INCREMENT在interlocked.hpp中可以看到#if defined( BOOST_USE_WINDOWS_H )# include <windows.h># define

FMOD 快速上手

聲音一向是遊戲中不可或缺的一部份,不管是動人的背景音樂或營造氣氛的音效,少了聲音就完全沒有玩遊戲的感覺,甚至許多遊戲的重點就放在聲音上,比如說利用聲音來判斷敵人的位置等等。從遊戲開發者的角度來看,在聲音方面至少有以下的需求:讀取音樂/音效檔案。當然,音樂資料不一定存在檔案上,也可能放在 CD 音軌上,甚至使用 streaming 的方式由網路傳輸

遊戲中的聲音播放–FMod

FMod  http://www.fmod.org/現代遊戲已經不能沒有聲音,所以音頻引擎成為遊戲引擎中不可缺少的一部分.這是一篇介紹現代音頻引擎的文章(http://hard.zol.com.cn/labs/2003/0520/60986.shtml).FMOD音頻引擎(http://www.fmod.org)是一個非常不錯的音頻引擎,其使用也比較簡單,下面做一些簡單介紹:一.基本準備它是免費的,你可以從它們的主站上下載API等檔案.之後,你需要添加標頭檔和庫檔案,如下(C/C++):

FMOD音頻引擎簡單使用

現代遊戲已經不能沒有聲音,所以音頻引擎成為遊戲引擎中不可缺少的一部分.這是一篇介紹現代音頻引擎的文章(http://hard.zol.com.cn/labs/2003/0520/60986.shtml).FMOD音頻引擎(http://www.fmod.org)是一個非常不錯的音頻引擎,其使用也比較簡單,下面做一些簡單介紹:一.基本準備它是免費的,你可以從它們的主站上下載API等檔案.之後,你需要添加標頭檔和庫檔案,如下(C/C++): fmodvc.lib 用於 Microsoft

關於對於VCMFCATL的評論問題

關於對於VC/MFC/ATL的評論問題,其實我很早就想寫一篇文章來闡述自己的觀點,不過又覺得這種容易引發論戰的文章實際上是在空耗大家的時間, 不如做點實際工作. 但是現在中國程式員群體的思想走向已經到了一種非常危險的一邊倒的地步,上幾期電腦報上登出了幾名14歲的小孩子, 剛剛學會寫幾個程式, 就把VC列為自己的夢想. 我去年找工作的時候,連續被幾個公司問會不會VC,得到我的回覆之後,他們怎麼也不能相信一個學了四年C,兩年多C++,還利用“空閑”時間學習了

CreateWaitableTimer和SetWaitableTimer函數(定時器)

使用者感覺到軟體的好用,就是可以定時地做一些工作,而不需要人蔘與進去。比如每天定時地升級病毒庫,定時地下載電影,定時地更新遊戲裡的人物。要想實現這些功能,就可以使用定時器的API函數CreateWaitableTimer和SetWaitableTimer來實現了,這對API函數建立的時鐘是比較精確的,可以達到100倍的10億分之一秒。 函數CreateWaitableTimer和SetWaitableTimer聲明如下: WINBASEAPI__outHANDLEWINAPICreateWait

FMode資料收集

文章目錄 Let's rock!Let's get loudCleaning upA small simple console exampleLet's rock!Let's get loudCleaning upA small simple console example

關於socket阻塞與非阻塞情況下的recv、send、read、write傳回值

1、阻塞模式與非阻塞模式下recv的傳回值各代表什麼意思?有沒有區別?(就我目前瞭解阻塞與非阻塞recv傳回值沒有區分,都是 <0:出錯,=0:串連關閉,>0接收到資料大小,特別:傳回值 <0時並且(errno == EINTR || errno == EWOULDBLOCK || errno == EAGAIN)的情況下認為串連是正常的,繼續接收。只是阻塞模式下recv會阻塞著接收資料,非阻塞模式下如果沒有資料會返回,不會阻塞著讀,因此需要迴圈讀取)。

Boost::bimap

Boost.Bimap 是一個C++的雙向 map 庫。使用 Boost.Bimap,你可以建立兩個類型都可用作索引值的關聯容器。bimap<X,Y> 可以被視為 std::map<X,Y> 加上 std::map<Y,X>。如果你知道如何使用標準容器,那麼 bimap 的學習曲線就幾乎是平的。在 Boost.Bimap 中作出了大量的努力,以符合STL的命名規則。本庫是按照與常見STL容器相匹配的方式進行設計的。 記住,bm 可單獨用作關係的

同步、非同步、阻塞和非阻塞的概念

在進行網路編程時,我們常常見到同步、非同步、阻塞和非阻塞四種調用方式。這些方式彼此概念並不好理解。下面是我對這些術語的理解。 同步 所謂同步,就是在發出一個功能調用時,在沒有得到結果之前,該調用就不返回。按照這個定義,其實絕大多數函數都是同步調用(例如sin, isdigit等)。但是一般而言,我們在說同步、非同步時候,特指那些需要其他組件協作或者需要一定時間完成的任務。最常見的例子就是

條款24:當關乎效率時應該在map::operator[]和map-insert之間仔細選擇

讓我們假設有一個支援預設建構函式以及從一個double構造和賦值的Widget類:class Widget {public: Widget(); Widget(double weight); Widget& operator=(double weight); ...}現在讓我們假設我們想建立一個從int到Widget的map,而且我們想有初始化有特定值的映射。這可以簡化為:map<int, Widget> m;m[1] = 1.50;m[2] = 3.67;m[3] = 10

ACE架構在網路遊戲伺服器中的設計與應用

ACE架構在網路遊戲伺服器中的設計與應用陶 道,萬旺根(上海大學 通訊與資訊工程學院 上海

總頁數: 61357 1 .... 7951 7952 7953 7954 7955 .... 61357 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.