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被封裝過了,

測試:mock對象

using System;using System.Text;using System.Threading;using System.Messaging;namespace QueueSpace{ //外部依賴的介面,它屏蔽了mock對象和真對象 class Queue { public virtual object readMessage() { return null; } }

nginx 負載平衡5種配置方式

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

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

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

資料庫事務層級

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

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

svn 合并和樹衝突

svn merge -r100:HEAD http://branches/branch1 svn ci -m '合并分支'描述問題的前提:分支和主幹公用一個版本號碼我們每次必須掐一個版本號碼,例子裡的100含義是,在版本100上,分支的代碼和主乾的代碼完全一摸一樣(100可能是分支建立版本號碼,也可能是上次合并後的版本號碼),因此從這個版本到最新版本的變化不會引起樹衝突,如早於100就可能產生樹衝突,例如合并完之後版本號碼120,現在分支繼續開發,刪除掉檔案test.py,合并之後分支版本122

代碼的持續改進

#!/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 =

買石記

今年回家,媽媽說,你給我買塊玉佛吧,可以驅邪保平安的,我說行,長這麼大以來媽媽還沒問我要過啥,應該買一塊。 不過我對買玉這種事情也是一無所知,只好先轉轉看,第一家去的寶慶銀樓,感情就沒有低於2000的玉,即使是掛件也沒有這麼便宜的,繼續轉,發現大多數都很貴,偶爾有便宜的我也不敢買,價格懸殊太大了,而且我也個特別大的疑惑,就是我不知道5000的玉和2000的玉有啥區別?於是每到一家我就問一個問題,你能給我解釋一下5000和2000的玉他們之間的差別嗎?大多數都說不清楚,含糊的說肯定好,或者說一些我

系統設計與架構筆記:對我新公司網站的技術架構初解

  剛剛進入了一家新公司,哎在上海混了這麼多年,終於到了一家像樣的公司,想想這個過程還真不容易啊,一定得要好好珍惜了,不廢話了,開始我的內容了。  我現在的項目組的確是做純正大網站的項目組,雖然現在還沒做開發,對公司架構還沒完全熟悉,但是對公司的架構的初步瞭解(初解)覺得還真有價值,都說大型網站應用程式的開發和普通的web項目不一樣,但是你沒有做過大型網站終究還是不能理解它的技術結構和我們常用的技術架構結構有何不同。在講之前我要申明:我是一名java工程師,所以我講的技術都是以java技術為基礎

應要求寫的比較簡單的單元測試代碼

#include <assert.h>#include <stdio.h>#include <stdlib.h>/*作者:豬頭被測模組功能:編寫一個累加整數數組元素的函數,並把累加結果作為函數傳回值返回被測模組參數:整數指標指向數組第一個元素;整數表示數組元素個數 參數異常:如果指標為空白則應該返回-1 ,表示傳入者參數有錯誤 *//*被測模組*/int sum(int *array,int length){ int index = 0; int

系統設計與架構筆記:審計日誌系統的設計

    公司要為一些系統做一個記錄審計日誌的功能。這些日誌不是我們開發人員常用的系統日誌功能(用來記錄我們程式運行情況的,比如用log4j記錄下來的日誌),而是為了今後對審計部門所使用,具有很強的業務要求的日誌功能。架構已經被公司裡的其他同事設計好了,雖然我現在只是做些邊角料的輔助工作,不過這個命題我高度興趣,我今天仔細琢磨了一下這樣的一個業務需求,覺得還是很有意思,真正把這個做起來是會有一定技術含量。下面就是我的思考,這些思考不全是我自己獨立想出來的,也借鑒了些同事的設計。  首先我要設定一個

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

因為某個新增需求,我修改了一坨代碼,不長,就那麼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 .... 5995 5996 5997 5998 5999 .... 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.