2017-03-02

[WebRTC] 透過 WebRTC 做到P2P對談(3) – Client 連接、呼叫、被連入,對談篇

上篇文章我們可以讓client 跟signaling server 聯繫,接來來就是要發出offer 跟收到 RTCIceCandidate 的過程,還有發送訊息。
image

[WebRTC] 透過 WebRTC 做到P2P對談(2) – Client 連接、登入、登出篇

上一篇 我們說到如何架設一台 websocket server 作為 signaling server ,今天我們來做做client 這一端,我們這篇文章要做到跟Signaling Server 聯繫,然後登入,還有登出畫面像是這樣,我盡量簡單化,不會讓過多物件去干擾,每一個事件,我都有進行記錄列出來,方便觀察
Image 049

[WebRTC] 透過 WebRTC 做到P2P對談(1) – Server篇

接下來幾篇文章,我想實作一下WebRTC來做到P2P對談,基本上我是接到任務發現這真的是一個有點小複雜的東西,所以網路上看一些文章測試出不少方法,這是目前跑起來看起來比較容易懂的方法,介紹給大家讓大家少走一些冤枉路,首先這邊我們要用到的東西,分別為兩台電腦(分別在不同IP),然後一台Linux的機器,另一台我是用Windows ,為何要用Linux因為跑node.js 我主要都是用Linux ,不過你可以自己重組你自己的環境,這一篇主要是基本概念+Signaling Server 的建置.. HERE WE GO !!
image

2017-02-20

[Xamarin] 透過 AnimatorSet 製作物件動畫特效,順序播放、暫停播放、繼續撥放、停止播放

這一篇主要透過AnimatorSet + ObjectAnimator 來製作動畫,當然我這邊要做的動畫非常簡單
有一張圖片id 就是 imageView 主要讓他就是漸層的淡出然後在淡入,很簡單,畢竟要把重點放在AnimatorSet 的操作上..
image

2017-02-18

[Android] 小米手機關閉USB安裝提示

如果你是小米手機好死不死又是 Android 6 + MIUI 8 你在開發時候會一直遇到
Screenshot_2017-02-18-17-23-39-035_com.miui.securitycenter

[Google 試算表] 製作下拉式連動選單解決台灣地址

自從我寫了幾篇Google 的試算表後,真的有人來問我問題,這次問的問題比較麻煩,他想要建立連動的下拉式選單,基於這案例因為我也很好奇,所以我決定來試試看,基本上我也沒這麼厲害,我是參考這一篇網路影片做出來的,https://www.youtube.com/watch?v=rW9T4XZy-7U (DYNAMIC DEPENDENT DROP DOWN LISTS IN GOOGLE SPREADSHEETS) ,如果我文章說不清楚的,就麻煩直接看這影片吧,他其中提供的code 是有用的…
image

2017-02-17

[Google 試算表] 加入IF 判斷式

這篇文章主要是講兩格函數 一個是IF 另一個是 ISBLANK ,這樣可以做到判斷是不是某一個欄位,有值才進行選擇
像是下面圖片的案例,紅字的部分我希望他有選擇東西之後再去執行公式

image

2017-02-15

[Google 試算表] 利用COUNTIF統計下拉選單問卷調查

上一篇文章 (利用VLOOKUP 製作簡單的問卷調查) 我們提到,如何從其他資料表中撈取資料當作下拉式選單
image

但是接下來假設訂購人很多,你要如何根據每個便當進行統計你要訂幾份呢?

2017-02-14

[Google 試算表] 利用VLOOKUP 製作簡單的問卷調查

大家都很愛用Google 試算表做便當統計這邊要簡單紀錄一下怎麼製作下拉選單並且根據另一張表當作資料來源當其他人下拉某一個便當自動帶入價錢

1.首先我們先建立一張 Sheet 叫做DATAPOOL 並且輸入這些資料
image

2017-02-08

海鷗ST36機芯拆卸退調檔針

海鷗ST36機芯系列是致敬著名的ETA 6497、6498機芯,因為手上買不起ETA6497,7498 所以我會採用海鷗ST36xx 系列像是 ST3600 ,最近因為錶面針就脫離,只好自己拆卸,但是重點是不管石英機械錶都要先拆卸調時間(調檔針),因為不知道正確的稱呼方式就是這個部位
pp2

2017-02-02

[C#] Microsoft.CodeAnalysis.CSharp.Scripting(Roslyn) 動態執行 C# Code,加入了LINQ 查詢

 

上一篇文章我們提到了 Microsoft.CodeAnalysis.CSharp.Scripting(Roslyn) 動態執行 C# Code 簡單入門 ,但是遇到一個問題,如果我在程式碼裡面加入了關於LINQ的查詢就會出現:
image

2017-01-25

[C#] Microsoft.CodeAnalysis.CSharp.Scripting(Roslyn) 動態執行 C# Code 簡單入門

最近因為一些需求需要動態去執行一些C# code. 這邊筆記一下,首先你的專案要設定為.net framework 4.6 以上不然會出現
Image 656

第二步到nuget 上面下載 Microsoft.CodeAnalysis.CSharp.Scripting 套件,當然相依姓nuget 會幫你處理好,別擔心

Image 655

 

之後就是Code 得部分,首先我建立一個Agent  其中我寫一個Excute 的method 並開一個code 的參數,只要傳入C# code :

2017-01-20

[C#] 透過C# 執行javascript code 並且執行得到結果

之前有一個想法就是讓客戶去寫一點程式讓他去展現他要做的折價規則,像是滿千送百或是滿三千送五百之類的,如果要做畫面之後客戶想改規則都要花很多時間,不過這只是一個想法結果找一下網路上資料真的有做法而且程式不難。

Type scriptType = Type.GetTypeFromCLSID(Guid.Parse("0E59F1D5-1FBE-11D0-8FF2-00A0D10038BC"));

dynamic obj = Activator.CreateInstance(scriptType, false);
obj.Language = "javascript";

var res = obj.Eval("x=2999;  x=x-((Math.floor(x/1000))*100);");

Response.Write(res);

上面案例 我設定公式是  x=x-((Math.floor(x/1000))*100); 然後假設使用者消費是2999 滿千送百這樣經過公式算出來的結果是 2799 ,很方便吧。

這裡面我比較好奇的是 Type.GetTypeFromCLSID 到底是什麼? 上網看一下文件 "GetTypeFromCLSID 方法支援晚期繫結存取 unmanaged COM 物件從.NET Framework 應用程式時您知道 COM 物件的類別識別項 (CLSID)。 COM 類別的類別識別項被定義在登錄的 HKEY_CLASSES_ROOT\CLSID 索引鍵。 您可以擷取的值 IsCOMObject 屬性來判斷這個方法所傳回的型別是否為 COM 物件"

2017-01-05

[C#] Serialize.Linq 簡單使用介紹

最近有一些特別的需求。我需要在A 端將一個LINQ 的表述式(Expression) 將他序列化之後變成文字或是byte[] 傳遞到B端,進行執行,這邊做一下簡單介紹也避免自己忘記。
A端(Namespace : TestEXPA ) :
1.透過Nuget 取得Serialize.Linq
Image 533