青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

qiezi的學(xué)習(xí)園地

AS/C/C++/D/Java/JS/Python/Ruby

  C++博客 :: 首頁 :: 新隨筆 ::  ::  :: 管理 ::
工作忙,學(xué)習(xí)也忙。

1、Ruby on Rails

前陣子看了一下Ruby on Rails,不禁為其深深折服,為Ruby,也為Rails。

照著Four Days on Rails做了一遍,雖然對Ruby不甚熟悉,不過一路下來感覺非常輕松,在搞明白:xxx和"xxx"是同一個意思以后,終于能看懂大部分代碼了,也為這種語法叫好,要知道很多時候引號并不好用,當(dāng)出現(xiàn)嵌套的時候。(注:在Ruby里,"hello, #{user[:name]}"表示把user["name"]的值放到那個引號里面,這樣做可以不仔細去考慮是不是使用單引號)

接著試了一下typo,一個ruby寫的blog程序,看到它具有登錄功能,而在4 days中并沒有看到,于是找了相關(guān)資料,原來Rails中已經(jīng)有這東西了,簡單查看了文檔以后,就為4 days中的那個演示項目加上了登錄功能,前后不過十來分鐘。

這樣看來,一個人要做一個blog程序,大概2-3小時就夠了,包括編寫數(shù)據(jù)庫模式、生成管理者使用的MVC結(jié)構(gòu)(具有添加修改刪除等功能)、添加登錄功能,在此基礎(chǔ)上再生成一個Controller,簡單修改就能改成供其它用戶使用的閱讀界面,再稍費點神就能加上評論功能了。當(dāng)然離標準的blog程序還有段距離,比如還不支持RSS,不過自己用來寫點東西記點筆記什么的,足夠用了。

2、Ajax on Rails

接著學(xué)習(xí)了Ajax on Rails,非常好用的東東,文檔并不是很多,簡單看了一下,覺得離我的想法還有點距離。我希望是可以實現(xiàn)像Gmail一樣,讀取一些變量過來,在頁面上動態(tài)生成元素,而不是讀取其它頁面并把其中的元素替換掉當(dāng)前頁面上的元素,或者是添加到當(dāng)前頁面上這么簡單。我查看過Gmail界面的源代碼,好像是使用過混淆器,不過還是可以看出來,它是從服務(wù)端讀取一些變量,讀到客戶端再把它轉(zhuǎn)成可視的元素。

微軟的space.msn.com在注冊時,有一個驗證碼,當(dāng)你看不清時可以點擊右邊的按鈕再換一個驗證碼,這時只會刷新驗證碼而不用刷新整個頁面,這種東西使用Ajax on Rails應(yīng)該很輕松就可以完成。不過我還不知道在Rails中如何生成驗證碼呢,應(yīng)該是使用其它的庫來生成吧,有空查一下看看。

3、Ruby and Rails

Ruby的語法對于我這樣的初學(xué)者(實際上并未正式學(xué)習(xí))來說,有些地方理解起來還真有點難,不過它的代碼看起來卻很舒服,簡潔美觀,似乎很多語法都是為了美觀,當(dāng)然滿篇的end除外。

Rails同樣給我簡潔美觀的印象,使用簡單,沒有什么廢話,視圖如果不修改的話,甚至可以不生成出來。

不知道效率如何,不過聽說Ruby比Python運行效率要高,豆瓣使用Python能做出來,我想使用Ruby應(yīng)該也可以做出能夠接受的東西。

有空要好好學(xué)一下Ruby,為了Rails。

4、asgard

最近實在是太忙了,asgard項目起了個頭又懶得動了,許多情況下使用C++都意味著要寫很多代碼,目前完成了異步回調(diào)函數(shù)的泛類型匹配,在編寫調(diào)用函數(shù)的適配器時,雖然已經(jīng)想出了解法,只是要寫大量的模板,天天在模板堆里頭都是痛的,只好先放一放了。


注:
1、上面提到的“異步回調(diào)函數(shù)的泛類型匹配”,指的是下面的做法:
void callback (int, short, const char*);
Method <string(in<char>, in<char>)> method;
method.async_call ('a', 'b', callback);
由于char可以轉(zhuǎn)型到int, short,而out<string>可以轉(zhuǎn)型到const char*,所以讓它支持這種“泛”類型匹配也是理所當(dāng)然的了,這個東西已經(jīng)完成了。

2、“調(diào)用函數(shù)的適配器”是更復(fù)雜的一個東西,用在服務(wù)器端:
Method <void(inout<Buffer<char> >, in<string>)> my_strcat;
my_strcat.setMethod (Adapter <void(Default<1>, Default<2>, ContainerSize<1>)> (strncat) );

這是最終簡化了的形式,比上次所說的簡單了不少,因為很多東西是可以推導(dǎo)出來的,這也是測試證明可以實現(xiàn)的,一個簡單的修改就是把Adapter從類改為一個函數(shù),由于模板函數(shù)的參數(shù)類型可以推導(dǎo)出來,所以省去了strncat函數(shù)類型的描述。

實際上是把char* strncat(char*, const char*, size_t)匹配給上面這個method,Adapter承擔(dān)解釋角色。

它的函數(shù)類型的模板參數(shù)中,void可以推導(dǎo)為out<void>,strcat的調(diào)用結(jié)果賦給out<void>,可以不理會,實際上是使用偏特化來忽略它的,因為我的vector <IParameter*>中根本不包括out<void>這個對象。

后面的Default<1>表示使用默認的轉(zhuǎn)換器,即直接把Buffer<char>對象轉(zhuǎn)成char*類型,由于Buffer<T>中實現(xiàn)了operator T*,這個轉(zhuǎn)換不成問題,下一個是Default<2>,在in<string>中也實現(xiàn)了operator const char*,所以這個轉(zhuǎn)換也很順利,再下一個是ContainerSize<1>表示從Buffer<char>對象中取容器的大小,這也是個模板。

目前一共實現(xiàn)了3個模板,Default<int>默認轉(zhuǎn)換,Size<int>取sizeof,ContainerSize取容器大小。

寫模板既有挑戰(zhàn),又有困難,有時甚至有放棄的想法,甚至有朋友笑話說,人家都動態(tài)語言了,你還在使用這種宏一樣的語言。我也只好一笑置之,這樣的功能在動態(tài)語言里多么容易呀,的確在做一種不不明智的事。。。
posted on 2005-10-08 23:15 qiezi 閱讀(418) 評論(1)  編輯 收藏 引用 所屬分類: 學(xué)習(xí)方向
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            99在线精品视频| 亚洲高清不卡av| 亚洲免费在线播放| 国产欧美日韩一区二区三区在线| 午夜欧美精品| 久久精品视频在线看| 在线观看国产日韩| 亚洲精品在线观看免费| 欧美视频中文一区二区三区在线观看 | 久久久亚洲人| 亚洲片区在线| av成人动漫| 国产在线拍揄自揄视频不卡99| 欧美国产91| 国产精品久久影院| 免费亚洲网站| 欧美午夜不卡| 免费欧美网站| 国产精品久线观看视频| 久久综合五月天婷婷伊人| 欧美成人午夜剧场免费观看| 亚洲一区国产精品| 久久综合影音| 欧美在线视频在线播放完整版免费观看| 久久久久久9| 亚洲欧美影院| 欧美高清在线一区二区| 性亚洲最疯狂xxxx高清| 欧美精品xxxxbbbb| 久久一综合视频| 国产精品老牛| 亚洲精品国产精品国产自| 欧美日韩成人| 久久成人综合网| 欧美xx69| 欧美日韩在线免费| 久热精品视频在线免费观看| 欧美高清视频一区| 欧美在线黄色| 国产精品人人做人人爽 | 国产日韩欧美在线| 一区二区欧美在线| 日韩网站在线| 欧美极品在线观看| 欧美成年人视频网站欧美| 国产日韩欧美综合精品| 亚洲天堂激情| 亚洲一区二区伦理| 欧美精品一区二区三区蜜桃| 欧美激情欧美狂野欧美精品| 韩日视频一区| 久久国产精品72免费观看| 欧美一区影院| 国产欧美不卡| 午夜精品一区二区三区在线播放| 亚洲伊人久久综合| 国产精品欧美日韩一区二区| 99国内精品久久| 亚洲一二三区在线观看| 欧美久久久久| 一本到12不卡视频在线dvd| 日韩视频中文字幕| 欧美日韩中文字幕在线视频| 亚洲精品色图| 亚洲欧美另类国产| 国产欧美一区二区精品秋霞影院 | 亚洲一区二区三区在线视频| 亚洲午夜精品在线| 国产精品羞羞答答| 午夜欧美精品久久久久久久| 欧美自拍偷拍| 伊人成人在线视频| 欧美激情第二页| 中文久久精品| 久久视频在线看| 91久久精品www人人做人人爽 | 久久精品一级爱片| 欧美.www| 亚洲性图久久| 国产日韩欧美夫妻视频在线观看| 久久精品首页| 91久久黄色| 午夜欧美理论片| 亚洲第一页中文字幕| 欧美激情偷拍| 亚洲一区二区三区在线视频| 久久在线免费| 一区二区三区蜜桃网| 国产精品久久777777毛茸茸| 欧美一区二区三区在线看| 欧美国产精品久久| 亚洲欧美日韩一区在线观看| 国产一区二区三区免费在线观看| 欧美成人免费全部| 欧美亚洲三级| 亚洲国产精品视频一区| 欧美另类视频| 久久久久久高潮国产精品视| 日韩视频在线观看一区二区| 久久久精品国产免大香伊| 亚洲日本aⅴ片在线观看香蕉| 国产精品国产馆在线真实露脸| 久久精品欧美日韩| 99视频在线精品国自产拍免费观看| 久久在线免费视频| 亚洲欧美日韩中文在线制服| 在线观看国产成人av片| 国产精品普通话对白| 欧美成人免费一级人片100| 亚洲欧美日本另类| 亚洲免费高清视频| 欧美韩日一区| 久久久久在线| 午夜视频久久久| 一区二区精品在线观看| 影音先锋欧美精品| 国产欧美日韩一区| 国产精品久久久久9999高清| 欧美激情精品久久久久久变态| 久久精品91久久久久久再现| 在线亚洲免费| 99视频在线精品国自产拍免费观看| 欧美国产日韩一区二区| 久久亚洲精选| 久久天堂av综合合色| 久久xxxx| 久久精品成人一区二区三区蜜臀| 亚洲中午字幕| 亚洲一区二区三区在线播放| 日韩香蕉视频| av成人动漫| 亚洲美女啪啪| 99热这里只有成人精品国产| 最新亚洲激情| 亚洲精品国产精品乱码不99| 亚洲精品123区| 亚洲片国产一区一级在线观看| 影音先锋欧美精品| 在线免费观看日本欧美| 一区二区在线视频播放| 伊人精品在线| 亚洲缚视频在线观看| 亚洲黄色一区| 一区二区三区视频在线看| 亚洲毛片网站| 亚洲桃花岛网站| 亚洲欧美精品在线观看| 欧美亚洲尤物久久| 久久免费99精品久久久久久| 蜜桃久久av一区| 亚洲国产日韩精品| 日韩午夜av在线| 亚洲天堂网站在线观看视频| 亚洲免费在线视频一区 二区| 午夜宅男久久久| 久久亚洲精品一区二区| 欧美刺激性大交免费视频| 欧美理论电影在线播放| 国产精品美女一区二区在线观看| 国产精品自拍小视频| 娇妻被交换粗又大又硬视频欧美| 在线日韩中文字幕| 一本色道**综合亚洲精品蜜桃冫 | 欧美一级免费视频| 免费成人在线视频网站| 亚洲黄色小视频| 亚洲欧美高清| 麻豆九一精品爱看视频在线观看免费| 欧美韩日一区二区| 国产精品丝袜91| 亚洲二区在线观看| 亚洲午夜在线| 毛片一区二区三区| 午夜在线成人av| 欧美xxx成人| 亚洲午夜av| 女仆av观看一区| 国产伦精品一区二区三区免费| 伊人成人在线视频| 亚洲欧美一区二区视频| 欧美电影免费观看网站| 亚洲影视在线播放| 欧美顶级少妇做爰| 狠狠v欧美v日韩v亚洲ⅴ| av成人福利| 午夜精品一区二区三区在线视 | 欧美激情网站在线观看| 一本色道久久综合亚洲精品婷婷 | 国产日韩欧美成人| 一区二区三区精品| 欧美成人免费全部| 亚洲在线视频网站| 欧美日韩精品在线播放| 精品9999| 欧美伊人久久久久久午夜久久久久| 亚洲国产视频a| 久久久国产精品亚洲一区 | 国产精品资源在线观看| 亚洲国产婷婷| 久久女同互慰一区二区三区|