Time of Update: 2018-12-04
開啟Universal-USB-Installer,設定如下,點“Create”將Fedora安裝到隨身碟上: 安裝成功後,用隨身碟重啟電腦,最後會進入Fedora 18LXDE的圖形化登入介面,在這個介面是無法登入的。為了可登入,需要完成以下操作:1) 按“Ctrl+Atl+F1”按鍵組合進入終端介面,如果“Ctrl+Atl+F1”不行,可試試“Ctrl+Atl+F2”等,注意按鍵的先後順序,先同時按住“Ctrl+Atl”,再按“F1”或“F2”等;2) 上述操作,
Time of Update: 2018-12-04
關鍵字:Erlang,進程池,開源1.情景 項目中有很多串連zookeeper的地方,都是各自串連,儲存pid或者monitor,並在terminate或DOWN的時候對串連進行關閉或者重連。可以考慮採用Erlang進程池,對進程進行統一管理。 2種需要採用進程池的情景: 1.大量的普通Erlang進程:雖然vm預設可以建立很多,筆者的機器可以建立大概2w個進程(進程預設大小32k,可以調整vm參數設定更大)。但不意味著可以無限使用,有時候需要對進程進行管理,避免無限制的使用。
Time of Update: 2018-12-04
(1)編寫一個函數start(AnAtom,Fun)來把spawn(Fun)的結果註冊為AnAtom。當兩個並行的進行同時執行到start/2函數時,要確保代碼能夠正常工作。也就是說,這兩個進程其中一個成功執行,而另一個必須執行失敗。-module(ex1).-compile(export_all). main(_) -> start(abc, fun() -> io:format("Bing~n") end), start(abc, fun() ->
Time of Update: 2018-12-04
概要:Erlang的特點,現在發現Erlang幾乎都是與從不同。。。變數不可變: 保證原子性,為並行化做準備。元組: 類似c語言中的結構。Person = {person, {name,joe}, {height,1.82}. }.列表:[H|T],這個列表以H為頭,以T為尾。豎線符號(|)可以將列表的頭和尾分隔開來,而[]則是空列表。 ThingsToBuy = [{apples,10},{pears,6},{milk,3}].模式比對:
Time of Update: 2018-12-04
概要:收集一些Erlang的項目和學習資料,更新中。。。1.Web:nitrogen:基於事件的Web開發架構。http://nitrogenproject.com/。http://yaws.hyber.org/http://github.com/mochi/mochiwebhttp://sourceforge.net/projects/erdialog/ (erlang實現的ajax架構)rabbitmq:http://www.rabbitmq.com/ejabberd(採用ErLang編寫的
Time of Update: 2018-12-04
概要:《Erlang程式設計》第六章中的例子。hello.erl-module(hello).-export([start/0]).start() -> io:format("Hello world ~n").shop.erl-module(shop).-export([cost/1]).cost(oranges) ->5;cost(newspaper) ->8;cost(apples) ->2;cost(pears) ->9;cost(milk) ->7
Time of Update: 2018-12-04
bool isUtf8(const char* str){ return ((0xEF == (unsigned char)(str[0])) && (0xBB == (unsigned char)(str[1])) && (0xBF == (unsigned char)(str[2])));}int code_convert(char *from_charset,char *to_charset, char
Time of Update: 2018-12-04
概要:Erlang中xml的使用方法。 由於Erlang中資料的轉換可以採用從tuple直接轉成xml。 格式:{Tag, Attributes, Content} {節點名,屬性,元素} {Tag, Content}TagIOString說明:Tag = atom()Attributes = [{Name, Value}]Name = atom()Value = IOString | atom() |
Time of Update: 2018-12-04
概要:在原有的概念中,遞迴是一個比較低效的實現方式。但Erlang是天生的遞迴大師。題目:一口井10米,蝸牛白天爬3米,夜晚滑2米。蝸牛幾天能爬出?代碼:-module(snail).-export([climb/2]).climb(High,Day) -> if High + 3 < 10 -> climb(High + 1,Day +1); High + 3 ==10 -> Day + 1end.運行:Eshell V5
Time of Update: 2018-12-04
最近也在思考,甚至轉做產品經理,因為覺得某些方面適合做產品經理:1.勤奮、主動思考的意識,獨立的個性這一點對產品經理來說應當是非常重要的,它能保證創新,較難出現抄襲模仿,也時常會產生一些獨特的想法。2.嚴謹的態度,對美的追求、一定的審美觀和帶點挑剔的性格這一點是產生高品質的前提。3.無處不在的使用者體驗觀即使是做後台,也非常強調、講究使用者體驗,包括變數的命名、目錄的結構、文檔等都會站在其他人角度來考慮,比如通過readme檔案來說明各個目錄的作用等。保持個性的獨立和顯明也許是一個產品經理最有魅
Time of Update: 2018-12-04
thrift服務端使用utf8,用戶端編碼也是,但實際使用中,javascript用戶端顯示的漢字總是亂碼,而c++用戶端顯示正常。經研究,將protocol.js檔案如下內容:點擊(此處)摺疊或開啟TBinaryProtocol.prototype.readString = function() { //var r = this.readBinary().toString('utf8'); var r = this.readBinary().toString('binary'); //
Time of Update: 2018-12-04
文法: 1.模式比對:=表示一個模式比對操作。Lhs=Rhs實際上是這樣一個過程,對右端求值(Rhs),然後將結果與左端(Lhs)進行模式比對。 2.分號: 逗號(,)用來分隔函數調用,資料構造器以及模式中的參數。 句號(.)(後跟一個空白符號)用來在shell中分隔完整的函數和運算式。 分號(;)用來分隔字句。如分段的函數定義,case語句,if語句,try...catch語句以及receive運算式。原理:
Time of Update: 2018-12-04
註:在進程退後,會自動解鎖。#include <stdio.h>#include <stdlib.h>#include <sys/file.h> // 提供flock()函數,從#include可以看出,它是一個系統調用,而不是一個庫函數#include <unistd.h>// 編譯方法:// 假設檔案名稱為x.cpp,則為g++ -g -o x x.cpp// 需要帶一個命令列參數argv[1],// 必須是一個已經存在的檔案路徑,可以為一個0
Time of Update: 2018-12-04
抽象是架構師最基礎最重要的能力之一。一名程式員要成長為架構師,首先要理解介面的重要性。但是對一個沒有經驗的人來說,他心中可能無法體會“介面”這兩個字的含義。介面就是規範,介面就是協議。為了便於理解,我們可以把它和生活中的事務類比起來,這樣就非常容易理解了。假設在工作中,兩個不同部門間有業務來往,如果兩個部門間沒有定義任何規範,全憑雙方的介面人自個做主溝通。這就埋下了很大隱患,一旦其中有某個人變動(如離職),則會嚴重影響兩個部門間的活動。原因就是,這兩個部門間的活動太依賴於具體的個人了。怎麼去解決
Time of Update: 2018-12-04
認真看了下windows下erlang安裝目錄下的lib檔案夾。眾多的庫中,有些是有圖形的。開啟圖形介面很簡單:在erlang shell中調用對應庫的函數就行。下面就是這樣的一些函數:1.以HTTP服務提供的webtoolwebtool:start().%用瀏覽器訪問 http://127.0.0.1:8888/%進程監控、編譯等四個工具% webtool:stop(); 停止服務2. 以HTTP服務提供的crashdump_viewercrashdump_viewer:start().%
Time of Update: 2018-12-04
實驗要用到多台虛擬機器。於是裝好了xp後,先匯出虛擬電腦,再匯入。當然,用命令,也可以直接複製一個新的虛擬磁碟檔案。不過,懶得管理快照,就直接匯出虛擬電腦了。 再次匯入剛才匯出的虛擬電腦,在做網路實驗時,發現遇到問題。再三排查後,發現原來是虛擬機器的設定有問題。 原來,匯出的虛擬電腦的網卡的mac地址,xp系統裡的網路名稱是一樣的,這樣就會導致出錯。修改過後,實驗正常。 還是vmware的複製功能強大,不知道virtualbox什麼時候可以支援。
Time of Update: 2018-12-04
#include <iostream>#include <fstream>#include <sstream>#include <string>using namespace std;int main(){ ifstream infile; string filename; cout << "請輸入檔案名稱:(注意要帶副檔名的,如data1.txt) "; cin >>
Time of Update: 2018-12-04
mochiweb官網:https://github.com/mochi/mochiweb操作如下:1.#git clone git://github.com/mochi/mochiweb.git2.#cd mochiweb3.#make app PROJECT=test ( 在mochiweb同級的目錄下會產生一個test的專案檔夾)4.#cd ../test5.#make (下載mochiweb模組。。。)6.#./start-dev.sh7.瀏覽器輸入:http://127.0.0.1:80
Time of Update: 2018-12-04
#!/bin/shfoo(){ local basedir=$1 local all_entries=`ls -c` for entry in $all_entries do if test -d $entry; then cd $entry&&foo ${basedir}/$entry;cd - >/dev/null else if [[ $entry =~
Time of Update: 2018-12-04
linux GCC環境,boost在編譯時間未加-fPIC參數,導致如果有共用庫使用boost靜態庫,會報如下錯誤:relocation R_X86_64_32 against `a local symbol' can not be used when making a shared object; recompile with