FILE* 與 檔案描述符之間的轉換

 UNIX系統有一個設計哲學:一切皆檔案,最初對這句話沒啥體會,不知道他說的是啥,直到看到fdopen(),fileno()才發現原來在UNIX下任何檔案描述符都可以和FILE類型做互相的轉換,這個例子是本來是一個socket檔案描述符,也可以調用fdopen()轉換成為以個FILE流,然後通過fread,fwrite進行網路通訊,原來UNIX用檔案流這個概念屏蔽了不同裝置(網卡/硬碟/CD)的差異,抽象讀一個可寫可讀的流.windows部分支援這個特徵,但前提是轉換的HANDLE(Window

再次改進日誌類 –!

#!/usr/bin/env python# -*- coding: utf-8 -*-'''改進的日誌類:1. 使用format對象,就不用自己採集環境資訊,庫可以採集資訊2. 將多個handler綁定到一個logger上,且每個handler設定相應層級 日誌會產生多份,每個handler只記錄自己的層級和含高於自己層級的日誌3. 還是需要inspect庫採集環境資訊,因為logging的API被封裝過了,

nginx 負載平衡5種配置方式

 1、輪詢(預設)   每個請求按時間順序逐一分配到不同的後端伺服器,如果後端伺服器down掉,能自動剔除。  2、weight 指定輪詢幾率,weight和訪問比率成正比,用於後端伺服器效能不均的情況。  例如:  upstream bakend {  server 192.168.0.14 weight=10;  server 192.168.0.15

解決iTnues對PC授權,串連不上iTnues的問題

要為 Windows XP 重設 Winsock,請按照下列步驟操作:  1.單擊“開始”,運行中輸入cmd。  2.然後輸入命令 netsh winsock reset。  3.重啟電腦。要為 Windows Vista/7 重設 Winsock,請按照下列步驟操作:  1.單擊“開始”,在開始搜尋方塊中鍵入cmd,按右鍵“cmd.exe”,單擊“以管理員身份運行”,然後按“繼續”。  2.在命令提示字元處鍵入 netsh winsock reset,然後按

Selenium測試案例複用與測試架構

//selenium-java testcasepublic class KwebAdminLogoutSelenium extends SeleniumTestCase{ public void testAdminLoginLogout() throws Exception { selenium.open("/kweb/"); selenium.type("j_username","admin");

騰訊的編碼風格

ricky的編碼風格鎮宅神獸 15:51:19你們的代碼裡沒有assert麼SH_漫總#MM 15:51:27從來沒有這玩意SH_漫總#MM 15:51:36這東西對我們來講除了誤導人以外,沒有任何用處鎮宅神獸 15:51:54assert 就是讓系統直接崩潰SH_漫總#MM 15:51:55嗯,我們百萬行代碼沒有一個assert鎮宅神獸 15:52:22哪指標為NULL了咋處理SH_漫總#MM 15:52:32記錄log並返回錯誤SH_漫總#MM

Apache Thrift 安裝配置

Thrift是Facebook開發出的一個軟體庫和一組代碼產生工具,以加快高效率、可擴充的後端服務的開發與實現的速度。它通過對各語言最常用的部分加以抽象,把它們放進一個通用庫裡,再用各個語言實現,來實現跨程式設計語言的高效而可靠的通訊。亦即,Thrift允許開發人員在一個單獨的語言無關的檔案裡,定義資料類型和服務介面,然後產生用來構建RPC客戶和伺服器所需的全部代碼。從官方網站(http://thrift.apache.org/download/)上下載最新安裝包cd ~wget http://

資料庫事務層級

 http://blog.163.com/taodengwen@126/blog/static/87199341201110295352451/SQL標準定義了4類隔離等級,包括了一些具體規則,用來限定事務內外的哪些改變是可見的,哪些是不可見的。低層級的隔離級一般支援更高的並發處理,並擁有更低的系統開銷。Read Uncommitted(讀取未提交內容)       在該隔離等級,所有事務都可以看到其他未提交事務的執行結果。本隔離等級很少用於實際應用,因為它的效能也不比其他層級好多少。讀取未提交

基於PHPUnit編寫第一個測試案例

common/config.php 常量模組<?php//常量定義define ("SERVER_ADDR","http://127.0.0.1");define ("REGISTER_ADDR",SERVER_ADDR."/open/register");define ("LOGIN_ADDR",SERVER_ADDR."/open/login");define ("APPLY_ADDR",SERVER_ADDR."/open/apply");define

管道:pipe

int pipe1[2];int r =

apue源碼編譯

http://www.apuebook.com/可以下載源碼src.tar.gz 修改設定檔編輯源碼解壓產生的apue.2e檔案夾下的Make.defines.linux 修改WKDIR=/home/var/apue.2e為你的apue.2e目錄,比如我的apue源碼解壓在/usr/local,那我就改為: WKDIR=/usr/local/apue .2e 然後進入apue.2e/std

代碼的壞味道:控制結構嵌套太深

重構前的代碼 def newPrj(self,db,userId,prjName,password,privacy,intro='',status='active'): s = '' flag = False prjId=0try: t = db.transaction()if privacy == 'public' and len(password) < 1:return

代碼的持續改進

#!/usr/bin/env python# -*- coding: utf-8 -*-#原廠模式def createDomTree(htmlStream,type='soup'): if type == "soup": return tnDomTreeWithSoup(htmlStream) if type == "lxml": return tnDomTreeWithlXml(htmlStream) return None

改進的日誌類

代碼:#!/usr/bin/env python# -*- coding: utf-8 -*-'''改進的日誌類:1. 使用format對象,就不用自己採集環境資訊,庫可以採集資訊2. 將多個handler綁定到一個logger上,且每個handler設定相應層級 日誌會產生多份,每個handler只記錄自己的層級和含高於自己層級的日誌'''import osimport sysimport timeimport logginghandlers =

沒有測試的開發是多麼的悲催哇

因為某個新增需求,我修改了一坨代碼,不長,就那麼4,5行,在使用者註冊環節裡,作為負責的程式員不是寫出來就完事,還需要驗證修改的代碼是正確的,可問題是為了驗證這幾行代碼的正確性,我至少要保證他們被執行過一次,要求沒有異常,並且它們要做的事情正確的做了,OK。為了觸發這幾行代碼,那可費死勁,因為並不是只要使用者註冊這幾行代碼就可以被執行到的,如果我們把代碼的執行流程看作一棵樹,每個if語句都會讓這棵樹長出一個分支出來,那麼顯然,邏輯越複雜,樹的分支越多,不幸的是,我要測試的代碼處於一個不經常執行到

Macbook Air上編譯APUE源碼

整體編譯代碼1 解壓src.rar, 釋放檔案到目前使用者的根目錄下(/Users/lishujun/)2 進入/Users/lishujun/apue.2e3 修改Make.define.macos檔案,在檔案裡指定源碼所在目錄WKDIR=/Users/lishujun/apue.2e4 進入/Users/lishujun/apue.2e/include目錄,修改apue.h#if defined(SOLARIS) #define _XOPEN_SOURCE 500 /* Single

數學之美:《社交網路》中Facemash演算法分析

在電影《社交網路》的開始有這麼一段,紮克博格由於被女友甩了,所以需要做一個網站(www.facemash.com),用來推選哈佛最漂亮的女生。網站的邏輯非常的簡單,就是系統從照片庫中隨機挑出兩幅女生照片,選擇兩者較“美”者。就是這麼一個網站在上線兩小時(周末淩晨兩點到四點)內點擊量達到了2萬2千次,從而導致了哈佛網路的癱瘓。(備忘:最近華中科技大學女生的照片也被類似的放到了網上評比,並且使用山寨的網域名稱www.hust-facemash.com)資訊的關注應該注意到,上述功能中涉及到一個排名規

請教路神APUE源碼編譯

CFANS·鎮宅神獸(58135482) 16:30:15 我入手了macbook air非常路<luzte@qq.com> 16:30:29 你入手前可以問我CFANS·鎮宅神獸(58135482) 16:30:33 結果想要編譯APUE代碼,用來學習非常路<luzte@qq.com> 16:30:38 我可以介紹較為便宜的水貨CFANS·鎮宅神獸(58135482) 16:30:48 結果怎麼都不行非常路<luzte@qq.com> 16:31:00

SVN分支合并

http://blog.163.com/lgh_2002/blog/static/4401752620106202710487/Subversion的分支通常用於在主幹程式之外,對程式進行修改。這樣 可以在不擾亂主幹程式進行的開發、測試、發布流程之外,嘗試一下新功能的研究、修改。如果覺得新功能沒問題,可以將分支合并到主幹程式中。合并前,需要將分支提交(Commit),由此看來,合併作業好象是在服務端和本地用戶端同時進行的操作。合并時,要從主乾的working copy的右鍵菜單開始,"From"

關於如何提取代碼成為函數,自己淺薄的一些看法

之前很糾結抽取函數這檔子事情,發現自己只要一認真,就會寫一堆小函數出來,其實在小函數裡跳來跳去的讀代碼也未必好,抽取函數應該有這麼幾個原則:複用性,擴充性,層次性,唯一性,清晰性,重要程度就是我列出的順序,最不重要的就是清晰性,因為過度追求清晰性最終會喪失清晰性複用性,就是多個地方存在相同代碼,提取出來作為函數存在,這是最理直氣壯的事,寫出來也不需要懷疑自己這麼做是對的嗎?能複用就是最大的理由。大師們總是說DRY,不是嗎擴充性,

總頁數: 61357 1 .... 6977 6978 6979 6980 6981 .... 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.