儲存二進位檔案步驟如下:
第一步:引用File類別開啟檔案,引用至FileStream類別
儲存二進位檔案步驟如下:
第一步:引用File類別開啟檔案,引用至FileStream類別
獨自一人花費了將近三個月的時間來做一個音樂網站(http://www.likenote.com ), 這對任何一個有過幾年Web開發經驗的人來說都不是件什麼太難的事。雖然我也做了 4 年J2EE開發,但還是頭一次使用全新技術來製作一個網站,這其中的辛苦卻有點出乎我的意料之外。我大部分編程經驗在 Windows 平台上,而這之前經過一番考察確定的技術方案,從操作系統,數據庫,Web 服務器,到後台技術都是我不熟悉的。
只裝過幾次 Redhat Linux 我突然要去管理一個 Unix 服務器,還要作性能優化,編譯內核,學習防火牆技術。
只使用過 Windows 版本的 Mysql 的我要去管理一個從未使用過的開源數據庫。
只裝過 Windows 版本的 Apache 的我要去配置一個完全陌生的 Web 服務器。
只撰寫過一篇 Ruby on rails 文章的我(RoR 的經驗僅僅限於那篇 Oreily 的教程),要使用它去開發一個完整網站。
雖然這並非很困難的事情,但是需要的是時間,我定下的開發時間是兩個月,結果超出了一個月,實際花費在 ROR 開發上的時間只有3個多星期(RoR 的開發效率可見一斑),大部分時間在學習,學習上述的各種知識,它們對我來說都是陌生的,其中花費在學習服務器管理的時間就有一個多月,Rails 的學習花費了半個月(當然是讀那本 Rails Book, 還有 Rails Recipes),還有 web 服務器和數據庫也花費了一點時間。雖然網站的雛形已經出來,而且已經上線,但是我感覺真正的工作才開始。這將近三個月的學習和開發,自己總結了一些經驗, 對於那些打算獨自開發 Web 項目的人可能有些借鑑作用。
1:首先也是最重要的一點:
做一件事情的熱情遠比完成它所需要的技術更加重要。
如果沒有熱情,就算是碰到一點小困難,你也會放棄,相反,就算是再大的困難你也能克服。
2:儘量不要到國內的任何技術論壇去提問,這既浪費自己的時間,也浪費別人的。
因為通常簡單的問題搜索網絡就能找到,反倒會招來嘲笑;複雜的問題也不會有人給你解決,通常論壇上也可能解決不了。最好的方式是自己從 Google 上搜索。(這是經驗談)
3:CSDN 上的這篇文章非常好,雖然是轉載自國外的。
http://java.csdn.net/n/20060710/92484.html
其中我對第 6,11,15 條的感觸最深。引用如下
註解:
國內程序員之間喜歡談論技術的人多,真正悶頭做事的人太少;各種論壇上相互爭吵,辯論的多,寫代碼的人少。我也曾經是這樣的人,很多東西都是停留在 想法上,開始對 RoR 的顧慮也很多,性能啊,擴展啊。在網上搜索到很多這樣的辯論,曾經動搖過我使用 ROR 的決心, 但是最終開發效率這一點最終佔了上風。 其實仔細想想,你如果不喜歡一個東西,會找出有很多原因,如果喜歡它,一條理由就足夠了。邊學習邊做的確是個好的方式,應該算是 Agile 的工作方式吧。那些考察討論再三再開始做事的方式道像是 RUP 了。
這兩條的理念是相同的,所以放在一起註解
註解:
這點的確很重要,我在開來始做網站的時候,界面設計選用了很複雜的頁面模板,想到各 種花哨的技術來堆砌它。後來覺得人家來你網站無非是推薦音樂,聽音樂,評論,搜索,真正經常操作的就是這麼一些簡單功能,鼓搗花哨概念和技術的想法可能從 最開始就是在遠離你的用戶。這的確是應該儘量避免的,如果不是讀到這條,我可能也不會中途改版。
3:Ajax 看上去很美,但是它應該限制在某些特定功能的網站上(比如 Gmail, Google Map),整個網站採用它應該是不合適的。而且瀏覽器之間兼容的問題的確還是存在的。RoR 提供了非常簡單的 Ajax 使用方式,有時候你會忍不住去採用它(Rails Recipes 這本書上充滿了各種「奇技淫巧」),但是在做之前千萬要考慮一下,這樣做是否會給你的頁面帶來複雜性和服務器性能上的問題。在開發這個網站的開始,我也試 驗了很多 RoR 的Ajax 技術,但是後來都取消了,只保留了一個最簡單的首頁「最新留言」的動態顯示功能。因為這個功能的確很有用。我將網站定位為一個多媒體的應用,所以採用 Flash RIA 來製作前端可能會更好, 整個網站採用 Flash 做前台比整個網站採用 Ajax 做前台更合理。原因如下:
1:Flash 比 Ajax 更成熟
2:Flash 有組件
4:如果你一個人製作整個網站,那麼採用 RoR 是非常好的選擇,原因當然是開發效率。整個網站從最開始有想法,到最終完成花費了三個月,其中學習時間佔據了大部分,那麼幾個星期的開發時間就相當緊張 了,如果採用 Java 可能根本無法想像。 其實搭建這麼個音樂網站的想法,早在2001年就有了,我先後在論壇上推薦了四年的音樂,兩年在博客上寫音樂推薦。這期間我不是沒有自己開發一個網站的想 法,但是用 Java 實現起來太麻煩,我很多想法只是停留在腦海中,大部分時間用在考慮實現了,再加上我是個極為懶惰之人,看到那麼麻煩的事情就不做了,直到 RoR 的出現,才使得這個網站得以完成。RoR 的好處在於:如果你有什麼想法,你總是能很快的實現,只要你掌握了基本的技術,你就可以發揮你的想像來建設你的網站。 首頁上泡泡框顯示訪客留言摘要的功能是我在一天早上5點醒來的時候想到的,爬起來用了兩個小時就完成了它,很多人反映這個東西很好玩。
5:Web 2.0 的網站現在實在是太多,已經把整個市場搞壞了,前幾天一個以前公司的朋友和幾個人一起開了個公司,也是做 web 2.0 網站的,興高采烈地把剛剛上線的網站地址給我,我一看,又是這種似曾相識的模板,似曾相識的應用。這種 Web2.0 站點的趨勢就是:早期的ewb2.0國內站點抄襲國外的知名站點,後來的新進者抄襲國內已經成名的web2.0站點。如果這樣的網站也有人投資那才叫怪 了。 本來我也有開發網站尋找投資的想法,但是實在是想不出什麼贏利模式,我也做不來這些寫計劃書的事情,還是自己憑興趣做的好玩。朋友都說我的網站頁面不適合 商業站點,讓我趕緊換了,我心裡很清楚什麼是他們說的商業頁面模板,但是他們都說好,可我偏不喜歡。沒法,還是按照我的想法來改造它吧。只要自己上班找個 工作養活這個網站,或者更好的情況是,它能自己維持自己,這我就心滿意足了。
6:現在的 RoR 實在是太火了,大有大家同上一條船的架式,搞 RoR 的人以它為榮,以搞 Java 為恥,估計也能寫出個八榮八恥。但是它只是一種技術,眾多後台技術中的一種,網站的訪問者並不會因為你使用了 RoR 就給你掏錢,甚至是留下個好印象。網站的內容是主要的,掌握了它並不意為著能製作一個好網站。常言說:擁有鎯頭並不意為著你就是個建築師 ,也不能讓滿地都是釘子。要麼你去給人敲釘子為生,或者指導別人如何敲釘子,再或者找到一個好木場自己建個房子。「去 RoR 化」可能是我要做的下一個工作,把前台用 Flash 重建,採用 RoR 的 builder view 技術來傳遞信息。我個人感覺這個音樂網站有個好的想法,不管它是否能掙錢。首先是音樂推薦的確能給人帶來快樂,做這樣的網站才有趣。技術應該是實現你想法 的工具,如果網站成為技術的試驗品,對我來說就沒有什麼意思了。
Both Python and Ruby are supported by .NET. People may frustrated which one should be learn. Here are some differences between the two.
1) Ruby has blocks; Python does not.
2) Python has functions; Ruby does not. In Python, you can take any function or method and pass it to another function. In Ruby, everything is a method, and methods can't be directly passed. Instead, you have to wrap them in Proc's to pass them.
3) Ruby and Python both support closures, but in different ways. In Python, you can define a function inside another function. The inner function has read access to variables from the outer function, but not write access. In Ruby, you define closures using blocks. The closures have full read and write access to variables from the outer scope.
4) Python has list comprehensions, which are pretty expressive. For example, if you have a list of numbers, you can write
// See related links for more status codes
// Use this header instruction to fix 404 headers
// produced by url rewriting...
header('HTTP/1.1 200 OK');
// Page was not found:
header('HTTP/1.1 404 Not Found');
// Access forbidden:
header('HTTP/1.1 403 Forbidden');
// The page moved permanently should be used for
// all redrictions, because search engines know
// what's going on and can easily update their urls.
header('HTTP/1.1 301 Moved Permanently');
// Server error
header('HTTP/1.1 500 Internal Server Error');
// Redirect to a new location:
header('Location: http://www.example.org/');
// Redriect with a delay:
header('Refresh: 10; url=http://www.example.org/');
print 'You will be redirected in 10 seconds';
// you can also use the HTML syntax:
// header('Content-Transfer-Encoding: binary');
// load the file to send:
readfile('example.zip');
// Disable caching of the current document:
header('Cache-Control: no-cache, no-store, max-age=0, must-revalidate');
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); // Date in the past
header('Pragma: no-cache');
// set content type:
header('Content-Type: text/html; charset=iso-8859-1');
header('Content-Type: text/html; charset=utf-8');
header('Content-Type: text/plain'); // plain text file
header('Content-Type: image/jpeg'); // JPG picture
header('Content-Type: application/zip'); // ZIP file
header('Content-Type: application/pdf'); // PDF file
header('Content-Type: audio/mpeg'); // Audio MPEG (MP3,...) file
header('Content-Type: application/x-shockwave-flash'); // Flash animation
// show sign in box
header('HTTP/1.1 401 Unauthorized');
header('WWW-Authenticate: Basic realm="Top Secret"');
print 'Text that will be displayed if the user hits cancel or ';
print 'enters wrong login data';
來源於網絡,僅作自娛自樂之用,不可大信,淡定的繼續開發程序...
我現在是自己做,但我此前有多年在從事軟件開發工作,當回過頭來想一想自己,覺得特別想對那些初學JAVA/DOT.NET技術的朋友說點心裡話,希望你們能從我們的體會中,多少受點啟發(也許我說的不好,你不讚同但看在我真心的份上別扔磚頭啊)。
一。 在中國你千萬不要因為學習技術就可以換來穩定的生活和高的薪水待遇,你千萬更不要認為哪些從事 市場開發,跑腿的人,沒有前途。
不知道你是不是知道,咱們中國有相當大的一部分軟件公司,他們的軟件開發團隊都小的可憐,甚至只有1-3個人,連一個項目小組都算不上,而這樣 的團隊卻要承擔一個軟件公司所有的軟件開發任務,在軟件上線和開發的關鍵階段需要團隊的成員沒日沒夜的加班,還需要為測試出的BUG和不能按時提交的軟件 模塊功能而心懷忐忑,有的時候如果你不幸加入現場開發的團隊你則需要背井離鄉告別你的女友,進行封閉開發,你平時除了編碼之外就是吃飯和睡覺(有錢的公司 甚至請個保姆為你做飯,以讓你節省出更多的時間來投入到工作中,讓你一直在那種累了就休息,不累就立即工作的狀態)
更可怕的是,會讓你接觸的人際關係非常單一,除了有限的技術人員之外你幾乎見不到做其他行業工作和職位的人,你的朋友圈子小且單一,甚至破壞你原有的愛情(想像一下,你在外地做現場開發2個月以上,卻從沒跟女友見過一面的話,你的女友是不是會對你呲牙裂嘴)。
也許你拿到了所謂的白領的工資,但你卻從此失去享受生活的自由,如果你想做技術人員尤其是開發人員,我想你很快就會理解,你多麼想在一個地方長期待一段時間,認識一些朋友,多一些生活時間的願望。
比之於我們的生活和人際關係及工作,那些從事售前和市場開發的朋友,卻有比我們多的多的工作之外的時間,甚至他們工作的時間有的時候是和生活的 時間是可以兼顧的,他們可以通過市場開發,認識各個行業的人士,可以認識各種各樣的朋友,他們比我們坦率說更有發財和發展的機會,只要他們跟我們一樣勤 奮。(有一種勤奮的普通人,如果給他換個地方,他馬上會成為一個勤奮且出眾的人。)
二。在學習技術的時候千萬不要認為如果做到技術最強,就可以成為100%受尊重的人。
有一次一個人在面試項目經理的時候說了這麼一段話:我只用最聽話的人,按照我的要求做只要是聽話就要,如果不聽話不管他技術再好也不要。隨後這個人得到了試用機會,如果沒意外的話,他一定會是下一個項目經理的繼任者。
朋友們你知道嗎?不管你技術有多強,你也不可能自由的騰出時間像別人那樣研究一下LINUX源碼,甚至寫一個LINUX樣的傑作來表現你的才 能。你需要做的就是按照要求寫代碼,寫代碼的含義就是都規定好,你按照規定寫,你很快就會發現你昨天寫的代碼,跟今天寫的代碼有很多類似,等你寫過一段時 間的代碼,你將領略:複製,拷貝,粘貼那樣的技術對你來說是何等重要。(如果你沒有做過1年以上的真正意義上的開發不要反駁我)。
如果你幸運的能夠聽到市場人員的談話,或是領導們的談話,你會隱約覺得他們都在把技術人員當作編碼的機器來看,你的價值並沒有你想像的那麼重 要。而在你所在的團隊內部,你可能正在為一個技術問題的討論再跟同事搞內耗,因為他不服你,你也不服他,你們都認為自己的對,其實你們兩個都對,而爭論的 目的就是為了在關鍵場合證明一下自己比對方技術好,比對方強。(在一個項目開發中,沒有人願意長期聽別人的,總想換個位置領導別人。)
三。你更不要認為,如果我技術夠好,我就自己創業,自己有創業的資本,因為自己是搞技術的。
如果你那樣認為,真的是大錯特錯了,你可以做個調查在非技術人群中,沒有幾個人知道C#與JAVA的,更談不上來欣賞你的技術是好還是不好。一 句話,技術僅僅是一個工具,善於運用這個工具為別人幹活的人,卻往往不太擅長用這個工具來為自己創業,因為這是兩個概念,訓練的技能也是完全不同的。
創業最開始的時候,你的人際關係,你處理人際關係的能力,你對社會潛規則的認識,還有你明白不明白別人的心,你會不會說讓人喜歡的話,還有你對 自己所提供的服務的策劃和推銷等等,也許有一萬,一百萬個值得我們重視的問題,但你會發現技術卻很少有可能包含在這一萬或一百萬之內,如果你創業到了一個 快成功的階段,你會這樣告訴自己:我幹嗎要親自做技術,我聘一個人不就行了,這時候你才真正會理解技術的作用,和你以前做技術人員的作用。
Everyone knows that Google Adsense is the no:1 contextual advertising network in the Online Advertising field. A lot of people are making thousands of dollars each day from Google Advertisements mainly because they’re following the Adsense guidelines perfectly. However, there are a few people unknowingly neglect the Adsense ToS and will be banned by Google from the Adsense.
This is where the question “Best Google Adsense Alternatives” arise.Webmasters or bloggers actually opt for Google Adsense for two reasons.
Whatever may be the reason, I am listing here the best adsense alternatives that pay high (based on my personal experience and a few inputs from other publishers).
GET /image/index_r4_c1.jpg HTTP/1.1
Accept: */*
Referer: http://192.168.3.120:8080
Accept-Language: zh-cn
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; .NET CLR 1.0.3705)
Host: 192.168.3.120:8080
Range:bytes=1024-
Connection: Keep-Alive
CODE {
display: block; /* fixes a strange ie margin bug */
font-family: Courier New;
font-size: 8pt;
overflow:auto;
background: #f0f0f0 url(http://klcintw.images.googlepages.com/Code_BG.gif) left top repeat-y;
border: 1px solid #ccc;
padding: 10px 10px 10px 21px;
max-height:200px;
height:200px; // for IE6
line-height: 1.2em;
} <code>.comment-body-author {<br /> margin:0;<br /> padding:0 0 0 20px;<br />
background-color:#C0C0C0;<br /> }</code
.comment-body-author {
margin:0;
padding:0 0 0 20px;
background-color:#C0C0C0;