2015年2月25日 星期三

使用模組

在python中,一個模組就是一個.py檔案
要使用模組中的函式,需先import模組
之後以 模組名稱.函式名稱 呼叫
ex: module1.method1()
在直譯器中,為了方便使用可以import模組中所有函示(除了_開頭的以外)
from Module1 import *
如此所有Module中的methodX都可以直接呼叫
但可能會降低程式易讀性
例如要把直譯器當計算機就可以先from math using *
如此可以使用cos(), sin()...
也可以使用 form Module1 import method_a
如此可以直接使用method_a
等同於method_a = Module1.method_a

可以利用dir(module)查看模組中可以使用的呼叫
也可以利用help(module)查看模組說明

使用模組

2015年2月23日 星期一

雙打接殺球

除夕前一天晚上到劉澤說新開的羽道館打球
正好遇到之前在三介廟認識的千樹
今天晚上大爆滿,據說我打的8-10的時段有2X個人,開了4面場!
幾乎下來都休息沒五分鐘又上去,cp值蠻高的
打完之後大家似乎都是三五好友來的
過去跟千樹打聲招呼,才知道他現在都來這邊打球了!~
這邊真的是方便,每天晚上都有零打可以打,場地也不錯
他們在討論雙打站位的問題
之前我知道的雙打站位是攻擊站前後,防守站左右
一般挑高都是預設會變成防守,所以變成左右站
殺球攻擊就站前後這樣
but當挑到邊邊要怎麼站呢?以前就傻傻地站左右
但他們說現在如果挑到旁邊,直線的就負責擋直線,因為直線殺球速度快,角度刁,不好擋。擋直線的人,要站好位子,拿好反拍(反拍檔殺球的技術又是另一個話題了),所以就只顧直線的部分;剩下的地方就交給隊友cover了,因為其他地方的球速慢,球可能也平一點。也就是說如果挑到最旁邊(他們說是鐵道XD~)上,那邊的人就只顧鐵道,其他交給隊友。另一個人說他跟阿伯搭雙打的時候這麼想,身為斜線的隊友就往直線那邊靠一點(因為要cover比較大的範圍)阿伯就問他你站這麼過來做啥XD~
那如果是挑中間高球呢? 有點不大了解的問。那就乖乖站左右邊吧

雙打接殺球

多重指定

[python]
a,b,c = i,j,k
"同時"使 a = I, b = j, c = k
同時為什麼重要呢?
如果需要作
a,b交換,傳統上會需要一個c作暫存
c = a
a = b
b = c完成ab交換
但現在可以
a,b = b,a
就交換完成!~
雖然底層應該還是有產生暫存器(可能還更多),但在使用上卻更方便!~

多重指定

2015年2月6日 星期五

解決程式亂碼問題

2015年1月23日 星期五

那些msvc的dll檔

之前跟同事討論VisualStudio C++會相依於那些dll檔案
 雖然知道dll,lib是甚麼,但是對於C++所使用的基本funcion們到底是放在哪邊就不是很了解
正好看到這篇說的還不錯
相依的dll檔案會跟專案的組態設定有關係,主要分為動態靜態跟是不是debug模式
還有分不同的msvc版本
說明這些dll跟lib的功能,為什麼會搞得這麼亂七八糟跟變成這樣的原因(為了解決甚麼樣的問題)。也說明如何改變專案依賴的lib
http://blog.monkeypotion.net/gameprog/beginner/love-and-hate-between-msvc-and-crt
其實這篇文章的開頭是基於解決一些dll版本衝突所可能造成的link error
這樣的error很常見,但是看debug資訊無法解決,主因是使用的dll檔中可能相依於某個lib但是專案本身又相依於另一個衝突的lib。使得同一個function有多個實現,不知道要採用何者。
這篇文章也提供了幾個解法
1.使用不同組態編譯的dll(前提是要有辦法取得)
2.改變本身專案組態設定(因為通常dll已經無法改變)
3.在link的時候忽略程式庫(可以參考原文推文)


順道筆記一下msvc有提供偵測memory leak的工具(之前面試有被問過要怎麼處理memory leak的問題)正好同事有說有工具,估狗了一下
http://stackoverflow.com/questions/45627/how-do-you-detect-avoid-memory-leaks-in-your-unmanaged-code

那些msvc的dll檔

Caster angle

在看完雪板教學的影片之後一職在思考,為什麼要把重心放在前腳?想到之前好像有學過為什麼腳踏車或機車的前叉會往後傾斜的原因。這問題在我腦袋裡運轉了一陣子,想出了個大概的脈絡,今天再上網Google查到這篇,感覺講得還不錯(跟我想得很像XD~)
 
大概就是假設讓"轉向軸"延伸到地面的投影P,輪胎與地面的實際接觸點C
使P點在C點的前面,達成動態平衡
假設前進方向是前方
在P在C前面的狀況下,當C向右偏移C受到的向後的摩擦力可以產生cw方向的力矩,使C回到P後方
反之若C在P前面,則C受到的向後摩擦力會產生一樣產生cw方向的力矩,但此狀況下會使C更加偏離中線
一種是單擺,一種是倒單擺,單擺是負回饋,倒單擺是正回饋
但影片中也有提到,C距離P越遠越穩定,但同樣的,改變方向也就越困難
看了這個影片的額外收穫是,原來汽車也有這種機制阿!

 


Caster angle

2015年1月21日 星期三

攀岩

最近又開始研究攀岩
 
看了一個覺得不錯的影片

裡面教了一些基本動作,可以幫助在攀爬的時候維持平衡,避免開門
基本上是讓踩岩壁的腳靠著岩壁,抓岩壁的手肩膀維持在外側,其他是本來就知道的手臂打直(至少在腳跟身體到位前)
1.避免攀爬的時候髖部跟地面一直維持平行
髖部一直與地面平行,不可避免地就會用手臂的力量將自己往上拉,花費許多力氣
藉由旋轉髖部可以不必彎曲手臂的溝到遠方的點
2.當可以使用的腳點比較小可以使用一些outside edge的技術
使用outside edge可以避免同手同腳的問題,一開始會有一種想出重心腳的異側手的衝動,但這樣將導致同手同腳的支撐,產生開門的狀況(或是要花很大的力氣避免開門)
ps:開門的原因是因為連成一條線的同側手腳,無法抵抗來自重心的重力所產生的力矩,整個身體因為受這個力矩而旋轉
在作outside edge的時候以一隻手抓住岩點,並側身使抓住岩點的手為外側手。以異側腳(此時為內側腳)的鞋尖外側踩腳點,另一隻腳(此時為外側腳)向前伸頂住岩壁,作為手腳以外的第三點支撐,抵抗重力所產生的力矩。這時候可以的話身體可以為向後傾,使得整個結構更穩定。
3.當岩點無法以異側腳直接踩到(可能需要做換腳的動作,耗費時間與體力)。此時可以使用同手同腳去抓和踩岩點,這個動作稱為flag。此時踩點的腳會是外側腳,以外側腳的腳尖內緣踩點,抓點的手也為外側手。為了避免開門,需要向前伸出異側腳以維持身體的平衡。最好在flaging的動作到位之後在放開另一隻要抓點的手去往上伸,在這個過程中,在較高位置的支撐手最好可以一直保持伸直的狀態。
4.當有兩個腳點可以用的時候,可以使用drop knee。使用drop knee的時候也是要避免髖部一直與地面平行(以免使用手臂的力量)藉由將原本只向牆壁的膝蓋向支撐手的方向旋轉,這時支撐手會變成外側手。旋轉的動作會對兩個腳點產生向外的力。在旋轉膝蓋之前,支撐手要保持伸直的狀態,待旋轉之後才出手抓點,此時支撐手可能會彎曲
如果腳點很高(可以高到跟手點一樣高),要讓手肘在膝蓋的外側,可以避免膝蓋旋轉的時候被手肘卡住

攀岩

2015年1月9日 星期五

安達太良雪板之旅-第一天

blogger還不錯,可以打到一半自動存檔,拯救了很多差點胎死腹中的小孩

一開始goofy在離開租板處前面的小斜坡有稍微介紹一下,這個坡很平,就一兩度吧。但也因為太平了滑不大動

在那邊把雪板穿起來,試著站著,不會太難站起來,但一不小心就會跌坐在地上。因為當你前後失去平衡的時候沒辦法伸出一隻腳來維持平衡,就一屁股坐在地上。雪是軟的,也沒有很冷,我們來的這天雪還在下呢!~goofy把後腳從雪板上脫下來,推著雪板前進。但是我一直覺得這種前進方式一不小心,板子造成的強大力矩就可以把小腿骨折斷@@~太恐怖了,尤其是掛在纜車上的時候

第一次坐滑雪纜車,纜車站有個人在管控遊客的上下,順道清掃纜車椅子上的積雪。說是纜車,準確的說其實是吊椅,一張吊椅可以做兩個人。因為調椅並不會停下來,所以上車的時候要再吊椅接近的時候一屁股坐上去,或是用手往後摸吊椅屁股在順勢坐上去。總之一開始上的不是很順,吊椅還為了我們兩個停了一下下。

兩個人一起做吊椅還真的是蠻不錯的,再紛紛細雪當中,帶著往坡頂前進的興奮期待與緊張不安,就像初戀的滋味一樣(?)又好像世界只剩下這張椅子,一切是那麼的寂靜(還是因為纜車太吵)。這段400公尺也是要搭蠻久的,中間有一陣地傳來浪漫音樂與不知所以然(應該不是說吊椅快斷掉了快跑之類的吧)的廣播聲。

到頂了之後要下車...要怎麼下呢?觀察了一下前面的人,恩...下車的地方有個斜坡,把雪橇順著斜坡網上放平,再順著斜坡溜下來就可以了,感覺好簡單啊!~but...我的是雪板啊!!沒關係,前面一個是穿雪板的,把套在前腳上的雪板調整成跟前進方向平行,順是上坡,在順坡而下!~but...我們的板子都拿在手上QQ~只好吊椅一到坡頂就趕快跑,but吊椅離地面太近了,還沒站起來又被緊追而上的吊椅打個正著><~一屁股又跌回吊椅上面。幸好機警的控制員按下了停止鈕,不然我們就要原機遣返了XD~

終於來到坡頂,往左是比較難,比較斜的大斜坡,當然我們選了往右的路線。在坡頂花了一些時間把雙腳固定在板子上,觀察一下旁邊的人,似乎都羞羞羞得下去了。穿好雪板,先把板子跟斜坡垂直站了起來,因為穿鞋的地方太平了,不大會移動,只好像(就是)雙腳被綁住的人質一樣往前奮力地跳(出乎想像的容易跳XD~)中於是來到斜坡前面了, 心理有種踏往未知的莫名緊張。這個下坡有兩段,第一段比較短,大概50m吧,第一段結束之後有一個右轉彎的平台緊接著是300m的大下坡,下坡的尾端又是一個微右轉。要玩這個滑道一定要會轉彎的,不然第二段下玩絕對會飛進旁邊的健行步道裡面。

觀察了一下決定開始往下滑,恩恩,也不是很困難嘛,很容易維持平衡的!!~也蠻有速度感的,很爽!!but wait...速度越來越快,是要怎麼停下來啊??~喔喔 對了,往旁邊轉嘛!不過要怎麼轉呢?不管怎麼try板子還是直直地往下跑><~好吧 沒招了只能彈跳逃生了...but腳牢牢地釘在板子上,完全沒有機會啊阿阿!為了避免高速衝撞,只好趕緊利用地板的摩擦力(還是說雪的阻力)來減速,重心壓低,用手摸地板@@~好吧,有點在轉彎,但速度依然減少不了多少...突然間不知怎麼的一陣天旋地轉...恩 之前聽人說過雪場的雪會被壓得很硬,不過看來這裡的雪還好,跌倒也不大痛,可能是因為雪還下著吧?正好也停在轉彎的平台上@@~

大家似乎有都停在這裡,因為失去動力只能又開始用跳的@@~goofy覺得之前租板店前面的波不夠斜,在這裡開始跟大家說要怎麼玩雪板XD~一開始要先坐著,板子跟斜坡方向垂直,一開始最好是面對坡底。接著站起來並且把力量放在腳後跟上面,應該板子就可以不會往下滑了。接著在控制板面跟坡的角度,慢慢把腳尖往下壓,讓板子跟坡接近平行,就可以往下滑了。看著goofy邊說邊控制板子開始滑,停下來。板子是以一種神奇跟坡垂直方式再前進XD~蠻有趣的。

想說也來試試看,先跟斜坡垂直坐著,把重量放在腳後跟,站起來...ㄚㄚㄚ~~~板子還是不斷的往下加速,奇怪,難道是重心不夠後面嗎?於是我試著把重心往後。碰!~又一屁股坐在雪地上,後來經過一陣亂試,才知道好像是要做勾腳尖的動作,重心還是要維持在中間。不過這已經是接近中午,經過無數慘叫跟摔倒之後的事情。有時候板子並不會乖乖直直的往下,而是邊往下,邊往旁邊華過去,就快要衝進樹叢。因為賽亞有說過這些看起來在雪地上面的樹,其實下面都有很深一段埋在雪底下。所以每次靠近樹叢我都非常的驚恐@@~琛怕會從樹梢摔下去(被旁邊的雪活埋之類@@~)一有靠近樹的跡象,一定會不顧一切的跌倒,在驚慌失措地爬著離開。

著個雪場是通往日本百大名山,說是百大名山,海拔也才1700m而已。慢慢地,我學會面朝下,板子方向跟下坡方向垂直,慢慢的嚕下去(其實是不斷的剎車@@~)說慢其實也不慢,溜一陣子之後還是得靠跌倒來減速。但這不是最大的問題,問題是沒辦法控制往下的方向。就這樣慢慢無奈地朝著右轉彎左邊的邊坡滑過去,正好是安達泰良山的登山口。冬天積滿了雪來爬山的人還是蠻多的耶。似乎很多人都會撞到這邊來,雪道跟登山口之間還有架了一個網子。

過了中午了,似乎還沒有很大的進展,但是在外面待久了,又餓又冷,還是忍不住要去滑雪小屋吃午餐了。終於會到室內,手都凍僵了,屁股也因為太常跌倒,被雪弄得溼答答的...毛帽上跟靴子上也都積滿了雪,要在進室內之前把他們全部都抖掉,不然進了室內融化成水就慘了。這裡的午餐是用餐券販賣機賣的,果然,世界各國的旅遊景點東西都比其他地方貴。沒甚麼料的麵(醬油拉麵)竟然要價700多羊...昏倒。一些飯還都賣完了><~不過外面這麼冷,吃一碗閒閒的熱拉麵真的是超爽!~吃完麵賽亞還說要吃冰淇淋@@~天啊,天氣這麼冷...這裡的現做冰淇淋不便宜,一隻300羊,不過真的是好吃!濃郁又吃的到果香(甚麼口味呢@@?忘了)吃起來也不會覺得很冷!是說日本有個有趣的地方,不管到哪裡,即使像這邊一樣外面下著雪,店家提供的茶水依然是冰水...喝起來比冰淇淋還要冰~酒足飯飽之後,想說趴在桌上小休十分鐘...沒想到真的有累到,睡到桌上流了一攤口水@@~其他剛剛還在外面華的夥伴也進來吃飯了!

下午的時間沒有剩多少,雪場只開到1630~為什麼沒有夜間滑雪><~只好把握下午的時光。賽亞滑了一下決定從雪板換成雪橇。說是一直沒辦法抓到雪板的訣竅,又摔了幾下很重的(雖然大部分的跌倒不大痛,但太大力還是會有腦震盪的fee)其實摔到下午,膝蓋也是隱隱作痛,不過可能因為每次摔倒都會順便冰敷一下,感覺沒有大礙。下午似乎多了一些新手在滑,人變得比早上更多,看幾個日本女生摔得亂七八糟的。還有一個胖胖的小朋友,有時候看起來滑的不錯,有時候又摔得很大力XD~
下午我們突然發現一個bug...那條讓我們方便背板子,連載左右腳中間的繩子其實是要拆掉的!!!這條繩子會改變板子的抓雪能力..天啊,那我整個早上是摔辛酸的@@~難怪怎麼煞車都停不下來(牽拖中..)這時候正好看到一個女生,用跟我一樣的初學者垂直姿勢往下滑,不過有點不一樣的是,他有時候向左飄,有時候像右飄,這樣就不會像我一樣一直往同一邊撞了。觀察了一下,再向左飄時候,如果要減速,就在把方向更往左打朝上坡的方向滑就可以順利減速了,轉彎感覺就跟新手溜冰依樣,轉動上半身方向就會慢慢(真的很慢)跟上了。試了一下,真的可以慢慢有控制的滑,先是向斜下方滑,到快到旁邊在轉成斜上,停止之後再換另一邊當頭,繼續往下前進。雖然有時候還是會控制不住而撲街,但總算能順利有控制的下到底了!~
太陽很快就下山了,其實一開始雪板真的是全身運動,因為不知道怎麼滑,什麼樣奇怪的動作都作了搞得大腿腰背全身痠痛,膝蓋也因為一直跌到雪裡,隱隱作痛@@~看來是時候回溫泉補血了XD~

安達太良雪板之旅-第一天

2015年1月7日 星期三

登山照明

這次去爬北大武前猶豫了很久要帶哪種燈
基本上燈可以分為聚焦形跟泛光型
一般看到的便宜手電筒做聚焦的多
現在的CREE XML配上18650 3.7v鋰電池真的是有夠亮!
但因為是聚光形,雖然找路夠方便但是缺點是腳下看不清楚
另一種泛光形,像是山上遇到的阿仁用的finex或是ultra fire或是我把便宜頭燈前面的聚光單凸透鏡翻面都是泛光形的。雖然可以看清腳下,但是缺點要不是浪費電就是亮度不夠,晚上不好找路。
這次快天亮的時候獨自從檜谷山莊摸黑到3.8k斷崖看星星(後來水氣太重沒星星QQ~)就是用改裝便宜頭燈配合高亮度聚焦手電筒(把聚焦頭燈拿在手上)暨能看清腳下,路也看得清楚。燈拿在手上也可以避免閃到對面的山友,是不錯的組合,遠近兩相宜!不過就是裝備重了一些
如果是團隊登山,也許可以打遠的聚焦形照明只需要一隻,給帶隊的人使用,其他人用泛光形的,有利行走,在營地使用也比較不會閃到隊友。

登山照明

2014年12月24日 星期三

安達太良雪板之旅-在滑雪之前

這次去的是安達太良滑雪場,在日本百大名山安達太良山山腳下
12/13 12/14這時候雪場似乎才剛開始營業,纜車只開了一條線,滑道開了兩條
是說這個雪場似乎最簡單的跑道也不大簡單,平均坡度也有個13趴,最大17趴的樣子
長度大概400M
這次賽亞的朋友買了旅館,溫泉,滑雪還有早餐晚餐吃到飽(爽!!~)外加清冰免費吃到飽的套餐,兩天一夜含交通(租車)25k日幣,感覺還蠻划算的
禮拜六一早到宇都宮附近的火車站,再往北開了2小時(時速130以上)才下交流道

滑雪場在半山腰,上山的路上就開始下雪了(還是山底下就開始下?忘了)應該是還剛開始下吧,還可以看到一些不是雪的地方,比起整個被冰雪覆蓋有不一樣的美!還想說奇怪,地板都是雪怎麼車子開起來還這麼穩(雖然開車的天空先生似乎很想來滑一下)原來租車的時候就已經有指定要租有雪胎的,另一台自己的車也去租了雪胎來換XD~超酷的,第一次看到。到停車場停好車,終於是結束了緊張刺激的國道飆車外加冰天雪地山道之旅。本來開心地想把相機拿下來拍拍照,卻被大家恐嚇說相機會壞掉QQ~只好把他留在車上了><~

剛到滑雪場就像是森林裡面被開了幾條大馬路,雪道還蠻寬的。就不禁想到之前去瑞士博物館看到,控訴滑雪對山的傷害。大批的垃圾,被砍掉剷平的森林,在山上挖的,用來儲存人造雪用水的大坑,廢棄的滑雪板。讓我這次看到雪場真的有點良心不安,不過也只有一開始一下下XD...

高爾夫先生(帥氣的泰國人)先把這兩天的pass(搭纜車用)住宿券,溫泉券發給大家(其實只有纜車pass要用到)再到借裝備的地方去借東西。本來他是有分租雪具,租外套雪褲(一天似乎都是3k多)或是全餐(5k多),不過我們買的套餐是全包的,就不用煩惱了。這時候只要煩惱要選雪板還是雪橇就好。因為之前聽說完雪橇容易受傷(ex兩隻腳往不同方向跑)怕死如我還是選擇了看起來不知道怎麼控制的雪板好了~雪板的size會因為個人身高體重而有不同的size,不過我是不知道怎麼換算,只要在單子上面填好身高體重,之後都交給專業的來了。歐!還有,雪板有分goofy跟regular兩種,regular是左腳在前,goofy相反。跟衝浪很像,所以如果衝浪的時候腳繩都綁右腳就可以先踹一下regular(我就是選regular)。不過其實沒有很大的差別,基本上他兩隻腳是幾乎平行的,但前面的腳會有一點外八。板子應該也是一樣的,在固定固定器的地方有螺絲可以調整腳的角度。

我們的套餐裡面沒有包教練,所以一開始拿到雪板有點傻眼....要怎麼穿上去啊?只好對租雪具給我的大哥發出求救的眼神(沒辦法,日文只會阿里阿多根死你馬先...完全無法溝通@@~)大哥示範了把靴子固定到雪板上的方法。基本上就是
1.解該兩條固定帶(固定帶適用棘輪固定,像直排輪一樣。扳動外側可以越扳越緊,要鬆開就從內側一拉,就一次鬆開了)
2.把用來固定腳後跟的板子拉開,把靴子(襪,第一次看到雙重靴耶,感覺超級保暖的)的腳跟放進拉開背板產生的空間裡
3.固定兩條固定帶。先將固定帶插入固定器後扳緊
還蠻容易的!這個套餐從毛帽,雪鏡(一直起霧...)外套,手套,雪褲,雪鞋,板子都有了。裡面只要穿自己的一套一般衣服就ok(我很怕冷的多穿了一件外套XD~)衣服都穿起來,再把纜車的pass放到專門放pass的地方(有些在左手臂,我的在衣服的下襬)就可以出發滑雪了!!~

安達太良雪板之旅-在滑雪之前

2014年11月4日 星期二

[book list]programming

Agile Software Development: Principles, Patterns, and Practices
Refactoring: Improving the Design of Existing Code
Clean Code: A Handbook of Agile Software Craftsmanship
Code Complete: A Practical Handbook of Software Construction, Second Edition

[book list]programming

2014年10月29日 星期三

不要連環呼叫的原因

之前看clean code有看到不要做
a.b.c.d這種呼叫
那時候也不知道為何
最近在改code的時候新增了一些property
例如本來是直接access
public A as cA 但因為需要從不同的角度觀察A,需要A1與A2兩種跟A相關的property
改成
public property A1 as cA
  set(value as cA)
    ... 
    m_A = setOp1(value)
  end set
  get
     return getOp1(m_A)
  end get
end ppoperty

public property A2 as cA
  set(value as cA)
    ... 
    m_A = setOp2(value)
  end set
  get
    return getOp2(m_A)
  end get
end property

private m_A as cA

但因為有程式直接修改了A的元素
.A.B = newB 變成
.A1.B = newB 這麼做並不會呼叫
  set(value as cA)
    ... 
    m_A = setOp1(value)
  end set
只會呼叫
  get
     return getOp1(m_A)
  end get
這時候get出來的objet跟m_A是脫離的,對他修改並不會影響m_A
應修改為
dim _A1 = .A1
_A1.B = newB
.A1 = _A1
如此才能正確設定 .A1的value

不要連環呼叫的原因

2014年10月28日 星期二

用p4merge合併 -- setup 篇

git 好像是沒有內建合併器@@~

如果branch分支之後,master(parent branch)有被修改(新的commit)當要把branch合併到master中
在merge之前要先將branch切換到master(要合併到的)branch上
在git gui選local merge
合併有可能出現conflict的狀況
這時候就需要引導merge了
git會show出有conflict的地方
例如
v2
<<<<<<< HEAD
v3
=======
v2.1
v2.1.1
>>>>>>> v2

上面是master版本,下面是branch的內容
用git gui 不知道要怎麼跟他說到底要怎模合併,只知道檔案會被改成上面的內容@@~
只好選abort merge
google找到了p4merge這個合併器
http://www.perforce.com/downloads/Perforce/20-User
選擇P4V: Visual Client下載
安裝好之後還需要到 git bash設定
git config --global merge.tool p4merge
git config --global mergetool.p4merge.cmd '"C:\\Program Files\\Perforce\\p4merge" $BASE $LOCAL $REMOTE $MERGED'
有點小麻煩,重點是在git gui中,顯示conflict的地方案右鍵可以用mergetool,但卻疑似因為我的路徑有空格找不到...
只好在bash底下用 git mergetool來開了
開了之後她會show local跟remote的內容跟不一樣的地方
在最下面在編輯合併後的內容

用p4merge合併 -- setup 篇

利用git history找出程式被改壞的地方

之前一直聽過,前些陣子因為183的說明開始用
git是資料夾base的,要備份的話可以最白癡的直接複製資料夾
但這些日子除了天天commit,打打說明以外好像跟沒用git沒啥差別
直到昨天
話說最近因為要離職了準備把手上的工作ending一下
因為離職在即,改道比較晚,加上身體有點不舒爽
不知怎麼的就把之前寫好的東西改壞了!!~
哭哭,理性的trace code翻片所有可能出錯的地方完全找不到
這時候終於用上git了
查看版本的history可以比較之前版本跟現在的差異處
瀏覽了差異處一樣是沒有頭緒(但總比整個專案翻快得多了)
最後直接回覆成之前commit的版本,確認錯誤是在這次修改造成的(這個操作其實有點問題,應該要在想回復的點上建立新的branch再直接切過去,不然之後的修改都會不見@@~幸好有聽183的先備份了)
恩...的確是這次造成的
再回去check比較的code...終於找到唯一可能的修改
但當下還是不相信這個修改可能會有問題,把先前的版本貼回去之後,問題果然解決了!~鐵錚錚的事實啊!~只好再去思考到底哪裡寫錯了
原來是我用一個value去new一個object但是其實要用object去new才對啊!!!
dim obj2 as new obj(obj1.value)
改成
dim obj2 as new obj(obj1)
就OK了...因為也可以用value去new,但除了value以外其他的值都會是default...語法上正確,邏輯GG~

利用git history找出程式被改壞的地方

2014年10月16日 星期四

增加滑鼠控制性的雙螢幕設定方法

一言以蔽之,將螢幕的相對位置改成只有一個小交點,這個點就是連接兩個螢幕的隧道。
這條隧道開在主螢幕的左右下角最好,滑鼠最不會去的地方

增加滑鼠控制性的雙螢幕設定方法

[.NET]加入使用者控制項

使用者控制項是包含了UI的類別
可以在VS的UI設計介面中被加入
用使用者控制項和一些UI元件跟邏輯,避免Code的複製

操作方式
[建立使用者控制項]
  1. 專案>加入>使用者控制項
  2. 編輯控制項
      *使用者控制項的class須為public class,否則後續加入後會看不到控制項
  3. compile專案,產生.dll/.exe檔
[將控制項加入工具箱]
  1. 在工具箱中右鍵>選擇項目
  2. 在.net framework的Tab底下,選擇瀏覽
  3. 找到剛剛產生的.exe/.dll(在專案資料夾/bin/compile設定)加入
  4. 以命名空間(方案名稱)/名稱(control名稱)找到元件
  5. 在工具箱中即可找到元件

[.NET]加入使用者控制項

2014年7月3日 星期四

dvorak

about light

because i've changed to dvorak keyboard and pingyin Chinese typing mode. i can just type chinese in extreme slow speed, and a little faster in English.
LED's effeciency is lower then 100 lm/W u can see it in Philip and everlight catalog
the fluorescent light's effecience is about 100 lm/W the 節能標章have meansured them
and LED in low quality may have low CRI(color represention index, may lower then 80) or they don't even measure it
the general light level
office lighting
good article in mobile01
a thesis about light color
Lux ≒ 2.5 ×  2^EV = 2.5 * N^2/t
N: relative aperture (f-number)
t: exposure time in s
if you use N@4.0 Iso@100 then Lux = 40 * 1/t(in sec)
about EV in wiki

about light

2014年6月25日 星期三

[散步]仙跡岩

仙跡岩,在景美捷運站附近
從景美站二號出口出來大概十分鐘路程
主要入口在景興路243號處
步道平緩好走,沿路都燈火通明(大概有一兩盞路燈壞掉)
全程來回一小時左右,蠻適合吃飽晚餐來晃晃
再去景美夜市吃消夜XD~

[散步]仙跡岩

2014年6月17日 星期二

[字典]LINGOES 靈格斯

不得不說對岸真的有很多好用的軟體,又是同文
這個靈格斯是從以前用到現在換了很多翻譯軟體中最好用,又免費的一個
可以到官網下載
他的亮點有

下載不同的辭典庫

到官網可以下載不同語言的辭典庫,漢英,英英,甚至是德與法與xxx一應具全
因為辭典庫已經下載,靈格斯完全可以離線使用!

即時劃辭/取辭/剪貼簿翻譯

字典軟體不稀奇,靈格斯的即時翻譯功能是他的一大亮點!看落落長的英文文章,全篇翻譯(例如用谷哥翻)覺得翻的詞不達意看起來痛苦。一般的網路字典又需要來回切換,很不方便。靈格斯的即時翻譯功能,只要遇到不懂的字,把她反白/選取/複製到剪貼簿,馬上就可以查到結果,也省了key in的時間。

調整字型大小

有些軟體很自信,忘了使用者可能因為只用習慣不同對字型大小有不同需求。靈格斯在選單中的設定>外觀,可以分別調整使用者介面跟內容的字型大小,甚至是字型,非常友善。

字典模式與即時翻譯可以自行決定不同的辭典來源

有時候在即時查詢模式只想得到快速的解釋,如果覺得奇怪或不足會再切換到字典查詢(也許查詢依些比較大部頭的原文辭典可以了解一些英漢字典中沒有提到的細節)。

其他甚至還可以做到發音等等的,功能實在很多,但上面提到這些就足以應付所需了!~

[字典]LINGOES 靈格斯