[C#] JavaScriptSerializer 時間格式

2012-10-31

 

之前有篇文章寫過 有關於 .Net 內建的 JSON 序列化跟反序列化方式..

關於JSON 格式的序列化

這幾天發現日期會有對不起來的現象..因為之前JSON.net 用太習慣..

透過 .Net 內建的 JavaScriptSerializer 所產生的JSON

User donma=new User{Name = "Donma",Birth = new DateTime(2012,12,21)};
System.Web.Script.Serialization.JavaScriptSerializer objSerializer = new System.Web.Script.Serialization.JavaScriptSerializer();
var jsonStr1 = objSerializer.Serialize(donma);


JSON :  {"Name":"Donma","Birth":"\/Date(1356019200000)\/"}



[Web Test] 左邊的錄製程式(Web Test Recorder)視窗不見了..


最近同事遇到這問題..
使用地表最強的IDE : Visual Studio 2012
就是在進行測試的時候 Web Test Recorder 不見了..

2012-10-02_162907
就是紅色框框的部分..

直覺就是某個套件被關掉了..

這時候請選擇..

右上方的齒輪(工具) =>  管理附加元件

2012-10-02_163239

這時候出現

視窗 這時候找尋 Web Test Recorder 然後 如果是停用狀態就把它啟用,如果啟用狀態你不放心可以停用在啟用..

之後就會出現了…因為最近遇到兩次筆記一下,給需要的人..

2012-10-02_163251


[Windows8] 免費電子書-Programming Windows 8 Apps

2012-10-30

 

廢話不多說,剛上市,馬上微軟佛心的提供一本電子書 Programming Windows 8 Apps with HTML, CSS and JavaScript,再次跟 Kraig Brockschmidt 大大致敬

0435.9780735672611x_2BDC57CB


[C#] Lucene.net - 使用盤古建立分詞 PanGuAnalyzer

 

有一篇文章說到有關於 盤古分詞 這東西…

可以參考這一篇 當麻許-盤古分詞,尋找句子中的分詞

之前我們建立Lucene.net 的索引的時候,我們用的都是Lucene 標準的分析器

IndexWriter indexWriter = new IndexWriter(dir, new StandardAnalyzer(Lucene.Net.Util.Version.LUCENE_29), true, IndexWriter.MaxFieldLength.UNLIMITED);


這時候我們用 NLuke  來看看我們建立得索引..


2012-10-04_135158



[C#] 盤古分詞,尋找句子中的分詞

2012-10-29


大家在學英文的時候,不是有學過..
主詞 + 動詞 + 受詞 ex. I love you.
主詞 +be 動詞 + 形容詞 / 名詞 ex. I am a developer.I am happy.

其實中文也有,只是從小就很熟習用法..
所以不太會去注意…
但是 一句話 你可以看得出中間的每一個分詞..
譬如例句:
當麻跟一群正妹去散步,不小心碰到阿凱凱
在你腦中會解釋:
當麻  跟   一群   正妹  去  散步  不  小心 碰到  阿凱凱
但是其實這都是要靠中文分詞的 Library 才會辦到..
這也是各大搜尋的原理之一,必須去判斷分詞跟斷句 …
對這一塊有興趣的 可以問一下一位高手學長 陳智揚老師
之前跟他聊過 他對這一塊頗有深入研究…
最近在看一套分詞軟體叫做盤古, 接下來做很簡單的介紹...

下載網址:http://pangusegment.codeplex.com
sshot-42_5

下載後,可以引入 Library : PanGu.dll
之後我們就來測試一下分詞能力…


[C#] Lucene.net - 模糊搜尋FuzzyQuery

2012-10-28


這一篇來簡單說一下關於還很有改進空間的 FuzzyQuery ..
關於 Fuzzy :

概念是思維的基本形式之一,它反映了客觀事物的本質特征。人類在認識過程中,把感覺到的事物的共同特點抽象出來加以概括,這就形成了概念。比如從白雪、白馬、白紙等事物中抽象出“白”的概念。一個概念有它的內涵和外延,內涵是指該概念所反映的事物本質屬性的總和,也就是概念的內容。外延是指一個概念所確指的對象的範圍。例如“人”這個概念的內涵是指能製造工具,並使用工具進行勞動的動物,外延是指古今中外一切的人。
來源 : http://wiki.mbalib.com/zh-tw/%E6%A8%A1%E7%B3%8A%E7%90%86%E8%AE%BA


[01LAB] Unidentified Mysterious Animal - Ningen 之謎?

2012-10-23


網路上看到的文獻:
文獻1: http://pinktentacle.com/2010/01/ningen-humanoid-sea-creatures-of-the-antarctic/

他說到日本捕鯨船有發現到巨大生物體,多次目擊事件可能有20米~30米之間

20111008_b1651eeb8f0287227656QLRZ89j8cqzc


[C#] 關於 System.Attribute 筆記

 

最近在處理有關於對於Class 進行一些處理跟判斷,我發現System.Attribute 是一格方便的東西,

平常如果沒有在設計底層的東西會比較少碰到

2012-10-23_150141

簡單的說 Attribute 對與 C# 程式碼 (型別、方法和屬性,等等) 關聯的宣告式資訊提供了一個強大的方法。一旦和程式實體 (Entity) 產生關聯,屬性能夠在 Run Time 被查詢並且以任何的方法來使用。

直接來看看如何使用


[WindowsPhone7] Omnia 7(i8700) 刷機到7.8 (s14)

 

那天在看論壇,中國的網友真的是很厲害.再度感謝社群無私奉獻

WP_20121019 2


[小技巧] 在命令提示字元下面刪除檔案夾

2012-10-22

 

最近在測試NOSQL 的東西,有大量的檔案,如果透過Windows 介面程式刪除..

要超級久的,通常我都會到command 下面去下指令del *.* 但是遇到巢狀怎麼辦..

2012-10-22_111057


[Facebook] 在Blogger 設定 facebook meta tag.

2012-10-10


Facebook 可以制定你網頁所顯示的資料,如果你有設定有人在Facebook上面分享的時候..
就會出現 ..
2012-10-10_135006
他會插入圖文,還有敘述,但是如果你沒有設定就會很醜..


[ASP.net] IIS7下設定網站首頁

2012-10-09

 

太常用到,每次都要重新Google 乾脆,筆記一下..

<system.webServer>
<defaultDocument>
<files>
<clear />
<add value="index.aspx" />
</files>
</defaultDocument>

</system.webServer>


這樣設定,IIS就會透過此Web.Config的設定值去讀取預設首頁,對專案設置上面比較方便


[說好今夜不談程式] 不同時期的標籤雲

紀錄一下不同時期的標籤雲,改天回來看,應該很有趣..

2012:




[C#] WebService 使用 JSON 格式傳遞筆記 + JQuery 測試

2012-10-08

 

因為一些因素,必須改寫WebService,很傳統,但是很多公司還在用..

因為XML 的關係,不想讓他傳遞資料的時候過度肥大,所以我必須要盡量乾淨的JSON..

於是開始我的改寫旅程..

 

首先,網路上好多好多好多文件,可能因為狀況不同,測試過許多也讓我搞混很多次..

最後有找到答案..筆記一下..

 

首先我開了三個不同的WebMethod 來測試三種不同的輸出..

GetUserInfoString –取得字串

GetOneUserInfo - 取得一個物件

GetUsers - 取得物件們


[C#] Lia 研究篇-關於字串分離(Split)

2012-10-06


最近因為在寫Lia Language Compiler , 可以參考這邊文章 - [C#] 使用 C# 重新製作一個語言 – Lia
其中很多對文法的挑戰,所以最近有空就多看看,多研究有關於語意這件情…
遇到一個問題,乍看之下很簡單,但其實不簡單,花了我一點時間測試,我試過許多方法,至少這做法,
目前都還算是順利
假設我有一個字串 是這樣 

var source = "I have [A] ,但是我很喜歡[B],至於[D]我不愛。";


我的關鍵字為

var template = "[A],[B],[C]".Split(',');


我希望最後結果是給我一個陣列,但是遇到關鍵字就要拆開像是這樣

2012-10-06_230504


[Silverlight] 在Silverlight 中 post 或 get 資料給其他頁面

2012-10-05


在Silverlight 中有時候需要post 或是 透過 get 方式 傳資料出去給其他頁面作為溝通..
像台灣跟許多金流公司合作會常用到這方法..

這也是最常跟其他頁面溝通的方法..

案例 : 點擊Send Data 按鈕之後 會把 Textbox 中的值傳到 http://www.in2.cc/sample/getpostdata.aspx

那網頁頁面是可以接受無論get 或是 post 名為 data 的資料..

下面是畫面配置..



[Silverlight] Phone 7中BingMap Control 使用中文台灣地圖(僅供研究教學用)



之前,有一隻APP出現在其他平台,弄得軒然大波,叫做我愛波波,那時候我就看到有關地圖的部分,其實透過Silverlight 開發Windows Phone 7 中的地圖程式,
非常的簡單,因為在Windows Phone 7 裡面,就已經內建有了BingMap Control ,
所以可以很簡單的做出具有地圖的軟體




[ASP.net][Facebook] 在網頁中加入 Open Graph Tags


Facebook 最近是一顯學,尤其是現在按讚之後,就可以很有威力的分享到牆上..
但是在牆上的標題,內文,還有圖片,要怎麼制定呢?!
其實你可以在這個網址 http://developers.facebook.com/docs/reference/plugins/like/
找到方法…



[Silverlight][C#] 上傳檔案到Server


這是模擬跟ASP.net 時代一樣的檔案上傳方式, 跟大家分享一下..
這問題我超級常被問到的..
其實做法跟傳統都一樣... 將FileStream傳給一個ashx ,

之後透過ashx將檔案寫入在Server指令目錄中.

一.首先先製作.ashx 我們開一個方案叫做 FileUploadMemo 為Silverlight 專案..




[ASP.net] 用Response作Image 輸出,並可控制權限


一個小技巧可以很神奇的將一個.aspx變成圖片..
因為利用這種方式可以處理一些有關於是否有能力讀取圖片權限問題…
所以在案例設計中..
如果您沒有透過get方式帶入tk 此參數而且此參數的內容必須要是1234的話.
將會顯示 你無能力讀取此圖

首先打開一個ASP.net 專案..
看一下.aspx 檔案..
將除了第一行以外的資料..選取..刪除


[C#] 使用 C# 重新製作一個語言 - Hello World


繼續上一篇文章http://www.dotblogs.com.tw/junegoat/archive/2012/09/16/c-sharp-make-a-language-lia-start.aspx
我們如何來進行編譯 sample.lia 的文檔呢?!

因為目前只有print 還有 printline 得部分..

對於 ILGenerator.Emit Method 還不致於太難..


[C#] 使用 C# 重新製作一個語言 - Lia


會有這計畫,是因為公司的Lab 要測試一些東西,所以就研究了一下,不過我並沒有打算在Blog寫這麼多且複雜的東西
對於製作一個語言 來說需要考慮到的事情非常非常的多

不過,對於很多人來說,至少我就是其中之一,對於能夠發明,或是製作一種電腦語言,是一個小小的夢想…
當然製作語言是一門很深很深的學問,本文並不會說到這麼的多,我所知道的也是有限,只有以前在學校時候上過廖賀田老師的課,才有思考對於Compiler 的思維。


這專案叫做Lia Language
2012-09-16_220634


[WinForm][C#] 如何在App.config 加入應用程式的設定參數


可能是我很傻很天真..
最近在寫 Winform的東西..
我要去設定.. App.config 我就手動加入一些值..

原本要快快樂樂開開心心的引用但是出現.



[WinForm][C#] 如何取得網路上的圖片並顯示



這幾天在寫Winform ,大學回憶湧上心頭
畢竟畢業後我再也沒有寫過 Winform …

今天要解決是一個很白痴的小問題,因為網路程式寫太多,
覺得不是在物件的Source 丟入圖片網址像是 http://n.yam.com/news_photo/ebcnews/images/201110/M20111014544206.jpg
就應該會正常顯示阿..

再Winfrom世界是不對的..

必須把資料抓回來轉成Stream之後才可以使用Image物件將她還原..
因為很簡單所以直接貼Code


[Flex] 透過 URLLoader 取得網頁資料


在Flex 中偶爾要取得網頁上面的資料,今天有用到,因為很久沒寫..熊熊忘記..
還試了一下,乾脆筆記一下,之後直接複製貼上..

今天範例是我要抓取我的Facebook 資料
http://graph.facebook.com/donma.hsu/
是我在Graph 上面的設計..

p.s:請注意因為在graph.facebook.com 下面跟目錄下面有crossdomain.xml
http://graph.faceobok.com/crossdomain.xml
所以可以成功抓取,我之前在抓youtube資訊吃很多苦頭,請要注意這一點
Sample:




[說好今夜不談程式][IE9] 關閉 & 僅顯示安全的內容" 提示



在文章都會加上一個Like ,這就是crosss domain取 js 檔案,不知道是不是這原因..
會跳出.. 僅顯示安全的內容




[ASP.net]關於ASP.net 如何用Javascript抓到CheckBox的Value


因為Silverlight and Flex 寫習慣,很多地方以為會很溫馨..
下.Value的語法就可以取到值..

但是在HTML的世界裡面..我才發現很溫馨的CheckBoxList
網路上看到許多方法,最後我試了一個方法有點偷吃步,但是我覺得目前很夠我用..


[ASP.net] 透過JavaScript 建立.刪除.讀取Cookie解決方案,包含C#讀取解決中文亂碼問題..


最近在寫ASP.net的東西,因為要求一堆AJAX處理..
有時候透過Cookie非常的溫馨,所以看了一下有關Cookie的東西..

之前處理過,非常的麻煩所以稍微整理一下最近看的文件…

首先,您得在HTML那頁面加上幾隻Javascript function


享受低潮


在我的天頂 大雨落不停 也不能改變到我的固執
永遠等待 那一日 咱可以出頭天 人生不怕風浪 只怕自己沒志氣
那一日 咱可以出頭天 我盼望的日子 會真快 來到我身邊
在我的天頂 甘有人在保佑 怎樣我常常摔的頭殼流血
血乾會結痂 失敗也不失志 成功是咱自己看自己得起
飄浪的日子 等待著時機 我不信命運會這麼無情


[ASP.net][C#] .Net 4.0 中 Web.config 的設定跟讀取

 

每次寫到都要 Google一次,因為太浪費時間了..

所以乾脆用Blog Log 一份..

首先先在Web.Conig 在

<configuration></configuration>

中加入


<appSettings></appSettings>

並且在其中加入你想要的Key 使得]Web.Config 如下


<configuration>
<system.web>
<compilation debug="true" targetFramework="4.0" />
<customErrors mode="Off"/>
</system.web>
<appSettings>
<!--正式網址-->
<add key="APP_ID" value="APPID" />
<add key="Secret" value="SECRET" />
<add key="APP_Name" value="APPNAME"/>
<add key="RealPath" value="REALPATH" />
</appSettings>
</configuration>


[C#][WinForm] 關於 無法載入檔案或組件'Microsoft.mshtml, Version=7.0.3300.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' 或其相依性的其中之一

 

最近都在寫Winform + ASP.net ..

真是古老的組合..

但是沒辦法專案需求..

前幾版本佈署都沒有問題..

不過今天發現一些電腦可能剛重灌完竟然會出現..

sshot-159_2

無法載入檔案或組件'Microsoft.mshtml, Version=7.0.3300.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' 或其相依性的其中之一


[IE][JavaScript] Bubble Event - StopPropagation

 

最近遇到一個很詭異的問題..

後來才知道跟Event Bubbling 有關係..

簡單講解一下需求..

sshot-175_2


[ASP.net][C#] 透過Regular Expression做Email格式驗證..

 

之前說道如何透過 Javvascript 來使用Regular Expression 來做資料驗證

這一篇是依照一樣的範例下如何透過Server端來做資料格式驗證..

看一下配置..

 

sshot-27_2

跟上一篇差不多 只是將按鈕改成ASP.net元件..

目的也是透過txtRegex 的Regular Expression 然後對txtEmail進行驗證..


[C#][Winform][ASP.net] 取得轉址的跳轉後網址(真實網址)

 

透過 ASP.net 撰寫轉址網頁非常簡單..

只要執行..

Response.Redirect("http://www.bing.com");

就可以指定到專屬的頁面..


如果是在 Page_Load 執行..


protected void Page_Load(object sender, EventArgs e)
{
Response.Redirect("http://www.bing.com");
}

一進入頁面後就會進行跳轉..


這邊我有寫一個簡單的轉址網站..


2012-10-05_150116



[C#][ASP.net] 關於JSON 格式的序列化


先說自己笨..以前都直接看 http://json.org/ 發現下面有提供.net solution的JSON格式序列化library..
所以之前我都是使用http://james.newtonking.com/projects/json-net.aspx 的JSON.net

不過也不錯,所以之前Silverlight 中我都是使用此來做JSON序列化反序列化..
http://www.dotblogs.com.tw/junegoat/archive/2011/07/22/json-silverlight-facebook-graph-api-parse.aspx


[Windows Phone 7] Mango 密記 - Flipboard 的翻頁效果 (3)- 製作翻頁效果

 

這篇是 Flipboard 翻頁效果 clone 實作 最後一個階段,上一篇文章 Flipboard 的翻頁效果 (2)- 重新繪製圖形,對 WriteableBitmap 操作

我們擷取了左半邊的圖出來了,接下來就是讓他翻頁..

sshot-17_2 (1)


[Windows Phone 7] Mango 密記 - Flipboard 的翻頁效果(2)-重新繪製圖形,對WriteableBitmap操作

 

接續上一篇 製作手機上面的快照縮圖 (Snapshot) 接下來 因為要做到翻頁效果..

再看一次影片..

因為作摺頁,都是從中間那地方開始,所以上一篇文章,我們快照下來的圖,我們必須把他從中間切成一半..


[Windows Phone 7] Mango 密記 - Flipboard 的翻頁效果(1)-製作手機上面的快照縮圖(Snapshot)

 

要做到翻頁效果,第一件事情就是要先取得目前的拍照..

介紹一下畫面配置..

sshot-11_2

裡面放一些元件,之後按下 btnSnapShot 之後就會把整個 LayoutRoot 所有的東西都快照下來..


[Windows Phone 7] Mango 密記- Flipboard 的翻頁效果(序)

 

最近又開始寫回 Windows Phone 7 了,..oh ya…

不過平常回答很多問題,想說來寫一系列文章專門來把這一陣子網友問題問題做一個集合..

接下來我會花三到四篇來講解這個案例的實作..

大致上是這個效果..


[Windows Phone 7] Mango 密記– Panorama Title 樣式

 

預設的 Panorama  Title 非常的大隻,會佔掉很大的版面..

sshot-30_2


[Windows Phone 7] Mango 密記– 取得ListBox捲動數值

 

這幾天有人問我說如何取得ListBox中捲動了多少..

這剛好我之前有解過,我就想說就把Code整理簡單一點來分享..


[C#] 將顏色16進位字串色碼轉成 System.Drawing.Color 物件

 

最近在做圖形合成,遇到一個惱人問題..

就是常會遇到需要把 #FFFFFF 轉成Color物件,但是沒有提供此function 來轉..

網路上面看到一段非常有效的範例..寫得很方便使用..


[C#] Lucene.net 日期範圍搜尋

 

筆記一下,因為之前都是做關鍵字搜尋,其實國外有人寫過範圍搜尋範例,

我只是小咖,只是他們加入許許多多條件,花了一點時間才搞懂,這方法不一定是最好的..

但是至少解決我暫時遇到的範圍搜尋..

public List<Dict> SearchDateRangeSample(string searchContent)
{
 
        DirectoryInfo dirInfo = new DirectoryInfo(ArticlePath);
        FSDirectory dir = FSDirectory.Open(dirInfo);
        IndexSearcher  search = new IndexSearcher(dir, true);
 
        List<Dict> lst = new List<Dict>();
        Filter f=new RangeFilter("DateField", "20120101","20120622",true,true);
        Query q = new MatchAllDocsQuery();
        FilteredQuery filteredQuery = new FilteredQuery(q, f);
 
 
        Hits hits = search.Search(filteredQuery, f);
 
        
        for (int i = 0; i < hits.Length(); i++)
        {
            Dict dm = new Dict();
            dm.Tag = hits.Doc(i).GetField("Tag").StringValue();
            dm.Id = hits.Doc(i).GetField("Id").StringValue();
 
            dm.Date1 = DateTime.ParseExact(hits.Doc(i).GetField("Date1").StringValue(), "yyyyMMdd", CultureInfo.InvariantCulture);
            lst.Add(dm);
        }
 
        return lst;
 
 
}

 

Dict 只是我訂立的物件名稱,暫時先不用看他


[說好今夜不談程式] 關鍵字廣告,UTM (Urchin Traffic Monitor),Google Analytics

 

我是 Developer , 不是做網路行銷的,如果下列資訊有錯,也煩請指證..

因為是系統開發商,跟某家很大的做關鍵字廣告的業務交涉 還是 Senior Manager ..

身為專業的廣告關鍵字業務 首先他把 UTM 發音成 UTN 就算了..

他也不會告訴你這是幹嘛的,最重要的,會對客戶發脾氣,還有一直推薦 xxx789 怎樣怎樣,真懷疑他們是有勾結嗎?!

首先,他會連這網址都會跟他說這不是他的業務範圍,我們是 XX 不是 Google (他會一直 Repeat) …

如果是你用 Google 我可以幫你到我的 Email 來找一下 … 之後給就會給你這網址..

http://support.google.com/googleanalytics/bin/answer.py?hl=en&hlrm=th&answer=55578

sshot-81_2

 


[Windows Phone 7] Mango 密記 - 關於Facebook 234

 

有在看我Facebook的朋友都知道,之前我在Facebook上面一一歪歪(台語),

因為Facebook改  API 了 ,他將 display=wap 拿掉…

變成現在只有..

sshot-88_2

我之前寫過的facebook 跟facebook 互動的範例 是用display=touch 阿…

結果依然掛掉,不能使用…


[C#] signalr/hubs 無法產生的問題


之前 91 哥 跟 小朱 大大都有寫文介紹過 SingalR
91哥 - .NET]SignalR 簡介 - 建立 realtime 的網站
小朱 - [.NET] SignalR: 一個改變 Web 應用開發觀念的開發方式
這真的是一個超屌的東西,可以玩的東西很多..
其中91哥文章有特別提到..

<%-- 很重要的一個參考,一定要加,且在這一行之前,一定要先參考 jQuery.js 與 signalR.js--%>

<script src="../SignalR_WebSite/signalr/hubs" type="text/javascript"></script>


因為SingalR 會自動生成一個siganlr/hub 的橋接js..

在本機使用localhost測試都不會有問題..

但是部屬上機器後卻不能執行..看一下firebug..

sshot-92_2


[JavaScript] JSRender 初體驗

 

之前,再用 TMPL 就覺得 ,這東西很酷..

因為解決了從 AJAJ 接回來的資料,我自己要在那邊組裝 HTML Code 在 render 出來

有夠麻煩..

之前我是用 TMPL 來解決這問題..

但是 黑大 有跟我說過TMPL已經結束開發了..Orz…

推薦我使用 JsRender..

最近就來看一下..

下面是超簡單範例..

讓你看一下就能夠學會 JsRender..


[VS.net] Visual Studio 2010 Express NUGET

 

因為已經使用地表最強IDE – Visual Studio  2012 久了..有內建..NuGet 的 Console ..

最近在寫Phone 7 安裝了 VS2010 Express for Window Phone ..

可能是因為Express 版本,所以也無法上去安裝…

Google了一下,大家問這問題的人還蠻多的…

剛剛看一下…

原來 express 版本可以安裝 NuGet Package Manager


[Windows Phone 7] Mango 密記–關於 OnNavigatedTo 跟 Constructor 一些不同..

 

一個朋友問我一個問題,他問我說為什麼有的網路上面範例..

會把初始化的東西有的寫在Ctor ,但是有的寫在 OnNavigatedTo

這是為什麼呢?!

其實這邊有詳細的答案 : http://create.msdn.com/en-US/education/quickstarts/Running_your_App_in_the_Background_(Tombstoning)

但是我依然做一個小範例就可以馬上懂這用途..


[Windows Phone 7] Mango 密記–使用 PhotoCamera 拍照簡單範例,拍照後儲存至相簿

 

最近在弄 Windows Phone 遇到有關於拍照擷取影像的問題..

參考了一些範例..

因為很多範例因為力求寫的完整,所以我整理一些我用得到的..

此篇目的在於在相機取得影像後,顯示在Rectangle 中,並且可控制對焦,且儲存至相簿中..


[Windows Phone 7] PhoneGap 初體驗

 

很多時候,需求很簡單,可能只是將一些原本網站上面的東西..

重新排版,但是又需要製作手機App,老闆的腦袋永遠都會有自己的策略考量…

最近看一套叫做PhoneGap的東西 網址: http://www.phonegap.com/

他首頁標榜…支援  iOS, Android, Blackberry, Windows Phone, Palm WebOS, Bada and Symbian.

Free and Open source.

sshot-103_2


[Windows Phone 7] PhoneGap 從Native code 中 呼叫 JavaScript function

 

上篇文章,簡單的介紹PhoneGap 在Windows Phone 中的使用..

接下來會簡單介紹一下..

在C# 中如何去呼叫PhoneGap 中你設計的UI..

首先依然建立一個 PhoneGap 專案,如何建立你可以參考.. PhoneGap 初體驗

sshot-123_2


[Windows Phone 7] PhoneGap 啟動照相

 

前幾天 寫過一篇文章 簡單介紹一下,如何使用 PhotoCamera 進行拍照..

這幾天在評估PhoneGap,當然也測試了這案例…

這篇來簡單介紹一下,如何使用PhoneGap啟動相機拍照…

如果不知道如何使用PhoneGap建立專案,可以參考 這篇

首先在www/index.html 中 <body> 中加入一個 input button 和 img

按下input 時啟動相機,拍完之後將結果放入img 中..

HTML Code :

<body>
<h1>Hello Cordova</h1>
<div id="welcomeMsg"></div>
<input type="button" value="啟動相機" onclick="onBtnCamera_Click()" id="btnCamera" />
<img id="myImage" style="width:200px;height:200px" />

</body>


[Windows Phone 7] Mango 密記– 改變 ListBox 捲動

 

在UI控制上面,有時候必須要能夠控制捲動..

包含很多手勢改變數值的部分..都會需要使用到..

曾經有篇文章討論過.. [Windows Phone 7]取得 ListBox 捲動數值

這篇來討論一下如何更改…

sshot-130_2


[C#] HashSet<T>–IsSubsetOf , Overlaps , IntersectWith

 

這是一個很好用的東西,在Silverlight 以及.net framework  3.5 以上版本就有了..

我們來看看他解決甚麼問題…

假設有兩團東西..

Array1= [A,B,C];

Array2= [B,A];

這時候我們要比對是否這兩個陣列是否有重複的東西..這時候你可能解決方法就是跑兩個迴圈..

才可以找出重複的東西..


[筆記] Samsung Omnia 7 Hard Reset

筆記一下 Samsung Omnia 7 重置..

 

1. 關機

2.音量[下] + 照相鍵+電源

3.開機後,Windowr鍵按兩下


[C#][NoSQL] 第一次 使用 C# 操控 MongoDB 就上手 (修改資料)

 

上一篇談到刪除資料,這一篇來說一下關於如何修改資料..

其實概念很簡單,在一般對於SQL 概念就是 UPDATE SET欄位 WHERE ID=KEY

之類的…

 

但是其實在MongoDB概念中,就是三個動作..

取出來=>改一改=>放回去

我們這次範例為 將那筆資料根據id 取出來後修改 Age 還有 Name 之後放回去

sshot-166_2


[C#][NoSQL] 第一次 使用 C# 操控 MongoDB 就上手 (刪除資料)

 

上一篇文章 第一次 使用 C# 操控 MongoDB 就上手 (查詢資料) 我們提到幾種比較常見的搜尋

今天我們要討論一下有關於刪除..

其實在 SQL 操作中,刪除就技術上來說本來就不難,只是要刪的乾淨還有與其他物件關聯性都要掌握好

其實就技術上來說並不困難,所以下面就簡單分為兩種..

根據系統 Id 刪除一筆資料

根據系統 Id 刪除一筆資料

看一下目前資料:

sshot-162_2


[C#][NoSQL] 第一次 使用 C# 操控 MongoDB 就上手 (查詢資料)

 

上篇文章 第一次 使用 C# 操控 MongoDB 就上手 (新增資料篇) 已經把資料送進去了..

分別為 Name: Donma1~Donma100 還有 Age: 1~ 100的資料 ,我們才模擬幾種比較常見的查詢也可以看看MongoDB方便的地方..

1. 透過Id 進行查詢,回傳結果只有一筆

我們來看下MongoLab上面的資料..

sshot-160_2


[C#][NoSQL] 第一次 使用 C# 操控 MongoDB 就上手 (新增資料篇)

 

上一片文章 - 第一次 使用 C# 操控 MongoDB 就上手 (建立篇)

我們建立一個 Sampledb,並且得到了一個URI 網址

 

sshot-155_2

mongodb://<user>:<password>@ds035167.mongolab.com:35167/sampledb

 

開啟Visual Studio 吧!! 我們來新增一些資料進去測試..

首先我們必須要安裝 MongoDB C# Driver ,簡單的來說,就是一堆的API讓你可以很輕鬆地去操控MongoDB


[C#][NoSQL] 第一次 使用 C# 操控 MongoDB 就上手 (建立篇)

 

最近,NoSQL 這字眼很紅,看一下 Wiki 對於 NoSQL 定義

NoSQL 有時也被認為是 Not Only SQL 的簡寫,是對不同於傳統的關係型資料庫資料庫管理系統的統稱。兩者存在許多顯著的不同點,其中最重要的是 NoSQL 不使用 SQL 作為查詢語言。其數據存儲可以不需要固定的表格模式,也經常會避免使用 SQL 的 JOIN 操作,一般有水平可擴展性的特徵。NOSQL 的實現具有二個特徵, 主要使用硬碟, 或者儘可能把隨機存儲器當作存儲載體。

- Wiki

談到 NoSQL solution 又以 MongoDB 還有 CouchDB 比較被人家推崇..

一開始,我不打算親自來安裝 MongoDB ,因為安裝裡面牽扯到的故事真的太多了,除非你有打算要產品化的打算..

這樣就以測試來說,也會比較沒有負擔..

所以我們上這網站註冊一個 免費,且可以測試的 MongoDB

MongoLab - https://mongolab.com/home

sshot-138_2

 


[C#] 一個簡單案例透過await 讀取大量檔案

 

不知不覺的 10 年了,Anders Hejlsberg 發明這 C# 語言應該也有十年了 …

這幾次改版 C# 加入了 functional programming 的感覺,還有   LINQ 以及 dynamic

這語言真的是越來越精采了,可以玩的東西就很多 …

最近看了一下新的規格,多了一個東西將叫做 await

剛好就用他來處理了讀取大量檔案,順便測試 / 筆記一下 (非教學文)…


[Visual Studio] NUGET 安裝到指定專案指令

 

今天我的 Solution 有兩個專案 A,B

我直接下指令安裝…

Install-Package 套件名稱

結果他裝到 A 專案,其實我是要裝到 B 專案…

所以查了一下移除指令是:

Uninstall-Package 套件名稱 –RemoveDependencies

如果是要指定裝在某一個專案下面 指令為

Get-Project 專案名稱 | Install-Package 套件名稱

如果是全部都要安裝的話..

Get-Project -All | Install-Package 套件名稱

 

筆記一下…


[C#] 如何從大量JSON檔案中找尋關鍵字(JSON.net 還原篇)

 

接下來要發一些有關於'搜尋' 資料的文章..

最近遇到一個需求,就是我必須要在一大堆資料 (檔案) 中找尋到某一個關鍵字

偏偏那不是純文字檔,而是 JSON 的格式…

這時候就挑起我的好奇心,到底怎樣可以快速找尋到我要的資料..

首先,要先解決我的問題如何找到資料…

介紹範例資料

首先我在 Source 這檔案夾下面建立 10 萬筆資料,不多,但是也不太少,但是產生跟複製的時候足以讓我電腦 hang 住..

這資料結構長這樣

 
{
"Id":"4",
"Memo":"的,你快挖了丁老賊的眼珠出來,給我報仇。」蕭峰一時難以明白其間真相,目光環掃,在人君中見到了段正淳和",
"Birthday":"1900-01-05T00:00:00",
"Age":4
}



[C#] 如何從大量JSON檔案中找尋關鍵字 (Regular Expression篇)

 

上一篇文章 如何從大量 JSON 檔案中找尋關鍵字 (JSON.net 還原篇)

提到在十萬筆資料下面,對某一欄位 (案例為 Memo 欄位) 的內容進行關鍵字搜尋..

可以搜尋出我要的關鍵字資料,拿去給老闆看…

 

老闆問我說,你這 2x 秒鐘的搜尋有啥用嗎?!

所以我在想…

如何才能夠更快..


[C#] 如何從大量 JSON 檔案中找尋關鍵字 (Lucene.net篇-建立索引)

 

 如何從大量 JSON 檔案中找尋關鍵字 (JSON.net 還原篇)如何從大量 JSON 檔案中找尋關鍵字 (Regular Expression 篇)

中對 10 萬筆個別 JSON 資料進行測試,但是結果卻是非常的慢…

大概都要花到 25~30 秒的時間…

 

正所謂..

20091213_7603ed814ea10fa6874dc5j88ho5hZqp_2

 

如何更快.. 是我腦中一直想到的…


[C#] 如何從大量 JSON 檔案中找尋關鍵字 (Lucene.net 篇 - 關鍵字搜尋)


上一篇文章 如何從大量 JSON 檔案中找尋關鍵字 (Lucene.net 篇 - 建立索引)
我們提到如何將十萬筆資料製作索引..
接下來我們就是對索引進行搜尋..

資料來源 (前情提要)

首先我在 Source 這檔案夾下面建立 10 萬筆資料,不多,但是也不太少,但是產生跟複製的時候足以讓我電腦 hang 住..
這資料結構長這樣
{

"Id":"4",

"Memo":"的,你快挖了丁老賊的眼珠出來,給我報仇。」蕭峰一時難以明白其間真相,目光環掃,在人君中見到了段正淳和",

"Birthday":"1900-01-05T00:00:00",

"Age":4

}



[C#] 透過Lucene.net 進行關鍵字搜尋 - 關於 Hits will be removed in Lucene 3.0. Use Search(Query, Filter, int) instead

 

前幾天提到如何透過 Lucene.net 進行建立索引,還有進行關鍵字搜尋

建立索引: 如何從大量 JSON 檔案中找尋關鍵字 (Lucene.net 篇 - 建立索引)

搜尋: 如何從大量 JSON 檔案中找尋關鍵字 (Lucene.net 篇 - 關鍵字搜尋)

 

雖然搜尋結果很快,但是地表上最強 IDE Visual Stuio 2012 一直在那邊一一歪歪..


[Visual Studio] 無法找到程序輸入點 _Atomic_fetch_sub_4(在動態連續程式庫C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\devenv.exe

 

電腦環境 Windows 8 Release Preview Build 8400

然後 VS 是 RC x86  版本..

今天我在裝完 Office 2013 Preview (x84) 版本之後一直跳出..

無法找到程序輸入點 _Atomic_fetch_sub_4(在動態連續程式庫 C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\devenv.exe

 

sshot-31_2

上網 Google  一下發現 Visual Stuio 有 patch ..

我都已經要準備重灌 VS 立馬按下取消…


[C#] Lucene.net - 透過 IndexReader 刪除索引中的指定資料…

 

使用 Lucene 建立索引後基本上,更新他做的動作都是刪除後,全部重做..

但是如果是要刪除某筆資料是可以做到的,這樣可以避免重新再製作一次 index ..

如何建立索引資料可以參考此篇 http://www.dotblogs.com.tw/junegoat/archive/2012/08/03/c-sharp-lucene-create-index.aspx

畢竟當資料一大,製作 index 是很花時間的…

原本製作 index 後我搜尋資料…

 

sshot-33_2


[C#] Lucene.net–對於搜尋結果進行排序

 

上次有篇文章 如何從大量 JSON 檔案中找尋關鍵字 (Lucene.net 篇 - 關鍵字搜尋)

有朋友提到說,為什麼搜尋結果怪怪的,跟之前幾篇..

如何從大量 JSON 檔案中找尋關鍵字 (JSON.net 還原篇) 為什麼不同..

其實是因為搜尋出來的結果,並沒有排序,這篇文章我們來看看怎麼進行排序 …

看一下原本的搜尋..


[C#] Lucene.net–透過 TermRangeQuery 進行日期搜尋

 

平常在做專案尤其是處理訂單時候,日期搜尋是一定要具備的..

在 Lucene.net 下面如何進行日期搜尋..

目標資料簡述

每一筆資料大概結構為

{
"Id":"1200",
"Memo":"都是暗自忌憚,同時退開數尺,跟著各自反手,又抓了一名弟子,向前擲出。那兩名弟子又是在半空中一撞,發出",
"Birthday":"1903-04-16T00:00:00",
"Age":1200
}

編號 1~ 1200 其中 Birthday 欄位為 1900/1/2 ~ 1903/4/6



[C#] Lucene.net–透過 Filter 過濾條件

 

上一篇文章 談到 透過 TermRangeQuery 進行日期搜尋

其實透過查詢的方法不只有 Query 還有 Filter 可以用..

像是原本使用 Query 查詢 日期範圍:

C# Code :

// 其 parameters 為  欄位名稱, 下底 (小值), 上底 (大值), 是否包含最小值, 是否包含最大值
Query query1 = new TermRangeQuery("BirthDay", "19001101", "19001202", true, true);
var hits = search.Search(query1, null, search.MaxDoc()).ScoreDocs;

可以直接使用 Filter 做過濾..


TermRangeFilter 過濾時間



[C#]Lucene.net–搜尋數字範圍問題以及暫時解答

 

上一片文章提到過有關於日期搜尋  透過 TermRangeQuery 進行日期搜尋

其中 我們也可以對一般數字欄位 譬如 年紀、數量 進行搜尋…

資料 :

{"Id":"9",
"Memo":"當麻左手凌空劈出,右掌跟著迅捷之極的劈出,左手掌力先發後到,右手掌力後發先到,兩股力道交錯而前,詭異之極",
"Birthday":"1900-01-10T00:00:00",
"Age":9}


[C#]Lucene.net–增加索引,清除所有索引


如何增加索引,這問題從我寫這一系列文章以來已經被問很多次了~哈哈~
其實看過一些文件..在Lucene. 中,其實都是重做index ..

但是你確保,你的資料是新的,也就是你的定義的Id 欄位不會重複



[C#] 一個有關於自定字串找尋JSON 格式的值 by JSON.net


最近公司專案很多,需求也都很詭異..
所以需要這樣的東西,紀錄一下,有需要的人就拿去用吧…

只是寫得不好的部分,也請多多指教…


[C#]Lucene.net–合併索引

2012-10-04


這一篇來說一下一個我覺得也會常用到的合併索引..

資料概述

在  CIndex1 中有已存在資料索引 1~1200
其搜尋'當麻'關鍵字結果為
2012-10-04_163420_thumb[1]


[C#]Lucene.net–使用RAMDirectory、 優化Index

 

過去介紹過如何透過 Lucene.net 去製作 index ..

其中我所使用的都是..

FSDirectory dir = FSDirectory.Open(new DirectoryInfo("Index 目錄"));

但是其實有一種方法可以加快,製作 index 的速度也就是  RAMDirectory



[C#] 索引子- Indexer

 

人老了總是會遺忘.. 這是很久以前 C# 裡面就有的東西..

這也是為什麼在 JSON.net 中我們可以這樣寫..

jobject["Friend"]["Name"]
 
這就是透過索引子 indexer 所辦到的..

這跟array 很像但是不同的是他可以透過string 的方式去找尋某集合的個體


[JavaScript] 透過Javascript 取得 Header 資訊..

 

最近遇到的需求都很奇怪..

這需求是說我要從 Javascript 層級取得 http header ..

網路上看到一些文件..

簡單寫了一些 function 記錄一下..


[C#]Lucene.net–透過 NumericField , NumericRangeQuery 建立數字範圍索引,搜尋數字範圍


上次 寫一篇有關於 Lucene.net–搜尋數字範圍問題以及暫時解答 之後..
有一位前輩 sholfen 給了我一個 關鍵字提示 NumericField
我上網查了一下文件,果然這就是我要的東西.. 在也不用利用小技巧來解決數字的問題了.. OH~Ya..
感謝 sholfen 大大~果然寫 blog 也可以學東西..


[C#] Image to Base64 後呈現

 

最近有一些圖片控管的需求跟跨 Server 傳遞問題

剛好看到 點部落上面有 有人發一篇文章   img base64 顯示圖片 支援 IE、Firefox、Chorme

想說就順便側一下..

案例概述

2012-10-04_152059

按下按鈕後 Server 會讀取一張根目錄下面 sample.jpg 的圖案 之後轉碼為 base64 且設定為 imageSample 的 src 屬性..


[C#]Lucene.net–跨字搜尋(詞組搜尋) PhraseQuery

 

PhraseQuery 詞組搜尋,主要是可以達到跨字數範圍搜尋,

舉例來說 假設 你希望找尋 我…你 中間可能模糊範圍在 3 個字以內..

這時候要使用 PhraseQuery
PhraseQuery phraseQuery = new PhraseQuery();

// 其中  3 這數字代表 允許中間的插入數值 為三個字

phraseQuery.SetSlop(3);

// 搜尋 Memo 此欄位 出現 我 還有 你 中間間最多三個字..

phraseQuery.Add(new Term("Memo", "我"));
phraseQuery.Add(new Term("Memo", "你"));


[C#] Lucene.net–Index 查看工具

 

看到一篇一篇 網路上面由網路上面高手開發的工具 NLuke

NLuke 是一個基於.NetFramework 所開發的檢視所做出來的 Index  的狀況..

SnapShot:

2012-10-04_150205


[C#] Lucene.net - 合併搜尋條件(交集搜尋條件、聯集搜尋條件) BooleanQuery

 

透過 Lucene.net  進行全文檢索是非常溫馨的,但是有時候我們透過檢索的條件會非常的多樣化

這時候該怎麼解決呢? 其實你大可以經過搜尋後 在把答案再濾過一次

但是如果你第一個條件下去,得到的答案依然是千萬筆該怎麼辦呢?!

所以多重條件的需求是必然的…


[C#] Lucene.net - 將索引從記憶體(RAMDirectory) 放回磁碟中

 

簡單解釋一下,有些常用的Index 可能我們會先做到記憶體中,一個時間我們在寫回硬碟…

製作索引的代價跟搜尋比較起來是非常高昂昂貴的…

所以這範例我們分成四個步驟..

1.建立索引到記憶體

2.搜尋記憶體中資料 (驗證是否建立索引至記憶體成功)

3.將記憶體中索引寫回磁碟

4.搜尋磁碟中索引(驗證是否磁碟中索引可被使用)


[C#] 濾鏡筆記 - 圖片轉黑白

 

最近在試寫濾鏡.. 先從簡單的開始..

其實顏色原理就是由象素所組成,每一個象素的顏色敘述會分成 ARGB..

其實只要會去操控那些值就可以產生不同效果..

所以將個顏色都 乘上 0.33 也就是除以 3 ..


[Windows 8] 無法啟動,遇到 發生無法順利啟用, 錯誤碼為 0x8007007B 問題


遇到狀況, 我之前電腦安裝的是 Windows 8 RC ..
之後安裝 RTM 後 我竟然出現 發生無法順利啟用, 檔案名稱、目錄名稱或磁碟機標籤語法錯誤   錯誤碼為 0x8007007B 問題
症狀: 他會預設出現你已經有一組序號但是無法啟動,請你去控制台,但是就是一直無法啟動
感謝 黃忠成老師 還有 小歐大大 提供一些資訊,讓我順利解開這問題..
首先 打開應用程式 => 尋找命令提示字元 => 對命令提示字元按滑鼠右鍵 => 以系統管理員身分執行..
2012-08-16_164005


[C#] MD5,SHA1,SHA256 驗證檔案正確

 

MD5,SHA1,SHA256 這三種加密方法,是不可逆的,也就是說它是一種採樣法

那能幹嘛?! 基本上就是驗證資料正確性,所以網路上很多破解法,理論上是用類似像是比對字典的方法去破解原始密碼是什麼,

這也是為什麼後期再使用MD5 會加入一些鹽巴(SALT) ,尤其是做網站的時候儲存密碼資料,如果使用MD5 ,都一定要加SALT..

其實採樣法很多種,目前這篇重點在於我怎麼去做出跟ubuntu 網站下載的iso 一樣的md5 認證碼..

因為那比較偏向一些機構會常用的採用方法,當然如果你是公司對公司,可以採取做法可能使用檔名+檔案大小或是一些meta data 去做雜湊即可


[C#][NoSQL] 初探 Redis + ServiceStack (2)


上一篇我們提到 我們在 http://redis4you.com 上面建立一個測試的Redis 的 Database
這時候我們要如何使用 ServiceStack 來操控他呢?!

我們首先可以透過 nuget  去安裝ServiceStack
2012-08-29_113411


[C#][NoSQL] 初探 Redis + ServiceStack (1)


Redis 是一個 NoSQL 的解決方案之一,是一個開源的使用ANSI C語言編寫、支援網路、可基於內部記憶體亦可持久化的日誌型、Key-Value資料庫,並提供多種語言的API。從2010年3月15日起,Redis的開發工作由VMware主持。 from Wiki

關於對C# 操作 我看到官方網站 有一個列表  http://redis.io/clients
對於C# 有很多library 但是大家最推薦的就是 ServiceStacl- https://github.com/ServiceStack/ServiceStack.Redis
當然在這邊我也不打算教你怎麼跟你說 Redis 如何安裝,畢竟有點麻煩…
這時候我們上網路看一下有沒有便宜的solution ..
找到一家看似還不錯..
Redis4you : http://redis4you.com/

2012-08-29_122301


[說好今夜不談程式] 三爽是學人精~

 

2012-08-29_130435

 

網頁圖片來源 : http://www.theverge.com/2012/6/4/3064409/samsung-series-5-hybrid-pc-windows-8

 

如果這報導屬實,三爽真的是學人精也,剛剛Apple 官司才打完,我個人是覺得不算輸拉,畢竟SIII 才是目前三爽主力,

看了幾張套圖, 這一台機器創意不但抄襲ASUS 外型也像是MBA , 挖靠 ~~~

 

這官司,我覺得吃虧的一定會是ASUS~ 畢竟我覺得分離平板這IDEA 真的很棒…

只是發揚光大在三爽,ASUS 一定很e04~


[C#] 搜尋 T 裡面是否有某屬性中有某關鍵字

 

在進行設計的時候,使用泛型進行Library 的撰寫,其中遇到,是否可以搜尋某屬性是否帶有某關鍵字..

使用時候,必須要像是這樣:

 


[C#] 使用 Webkit.net 建立 WebBrowser

 

寫.Net  其實一直都很溫馨,因為有WebBrowser 元件,從VBx 時代就跟隨大家

現在果然自由社群的強大,現在有其他選擇..

WebKit .NET  http://webkitdotnet.sourceforge.net/

2012-09-03_212832


當麻許的超技八 2014 | Donma Hsu Design.