發表文章

目前顯示的是 11月, 2017的文章

Angular5.0 的事件訂閱

Angular 範例程式中,最有名(?)的除了官網的 Hero 之外,還有 TodoMVC , 進入到 Angular5.0 之後,當然也不能免俗的要再改寫一次。 在 Angular5.0,最重要的改變就是引進了 RxJS 的 Observable 用法; 也就是 Observable(被觀察者) / Observer(觀察者)。 觀察者樣式最常見的實作範例就是 “事件” , 在程式中可以訂閱按鈕的 click 事件 – Observer(觀察者) 按鈕被按下之後,clickEvent 會被拋出 – 按鈕是 Observable(被觀察者) 在 Angular4.0裡,是使用 Promoise 來實作非同步的資料提供者 - TodoService, 以下是4.0寫法:(範例僅保留關鍵,非完整程式) src/app/todo/todo.service.ts import { Injectable } from '@angular/core'; @Injectable() export class TodoService { private todos: ToDo[] = []; constructor() { } get() { return new Promise(resolve => resolve(todos)); } } src/app/todo/todo.component.ts import { Component, OnInit } from '@angular/core'; import { TodoService } from './todo.service'; export class TodoComponent implements OnInit { private todos; constructor(private todoService: TodoService) { } getTodos(){ return this.todoService.get().then(todos => { this.todos = todos; })

TypeScript 解析 xml 的寫法與比較

工作上需要解析 XML 格式的資料, 找到兩個函式庫 - libxmljs 、 xml2js ,在此紀錄使用方式與比較,供往後參考:

Node.js 相關檔案路徑寫法

HTML 中指定檔案位置的方式: 寫法可以分為兩種: 1. 絕對路徑: 指的是檔案本身絕對的位置,只跟檔案本身所在位置有關。 2. 相對路徑: 相對於現在所在目錄的路徑表示法 路徑寫法 範例 說明 絕對路徑 https://tw.yahoo.com/logo.png 位於遠端 Web Server 上 file:///D:/Files/logo.png 位於本機指定路徑 /logo.png 位於此網站 www 根目錄下 相對路徑 logo.png 位於此檔案同目錄下 ./logo.png 位於此檔案同目錄下 ../img/logo.png 位於此檔案上層目錄的img目錄下 「.」代表現在目錄,而「..」代表上一層目錄 建議採取 指定 www 根目錄下 的寫法, 例如:<link rel='stylesheet' href='/stylesheets/style.css' /> 當 www Server 搬移 www 與 HTML 檔案路徑時時,就不需要調整寫法 Node.js 程式內路徑寫法: (參考資料來自這篇 文章 ) 整理如下: 路徑寫法 說明 _dirname 檔案所在目錄的絕對路徑 _filename 檔案所在絕對路徑 process.cwd() Node 執行指令時所在的目錄絕對位置 另外,require 中路徑寫法是 目前檔案 的相對路徑,要注意!!

.NET 跨平台新發展

圖片
最近微軟對跨平台、跨裝置的動作頗大, 發表了一系列的平台架構,以下作為一些名詞整理: 1. . NET Core :    .NET Framework 新一代版本,因此 .NET Core 會包含 .NET Framework 的類別庫。    是微軟開發的第一個跨平台 (Windows、Mac OSX、Linux) 的應用程式開發框架,也是微軟     在一開始發展時就開放原始碼的軟體平台。    目前支援的程式類型有:    1. 中控台應用程式 (console application)    2. 類別庫 (library)    3. ASP.NET Core Web 應用程式 (web application) [感想]    因為桌面程式有平台相關的技術,所以目前不支援GUI應用程式開發 (WPF哭)    希望以後可以支援啊! 2. UWP  (Universal Windows Platform) :    UWP 是適用於 Windows 10 以後版本的 app 平台 (在Window 10 版本開始才提供此共通架構)。    只需使用一個 API 集、一個 App 套件及一個市集,就可以在所有 Windows 10 裝置 – 電腦、   平板電腦、手機、Xbox 等等上運行。    以往使用.NET程式寫的應用程式,直接呼叫作業系統的API,所以無法跨平台。    現在透過 UWP,轉換呼叫的API,所以可以跨 Windows 裝置,並支援自適應介面(adaptive interface)。    未來透過 UWP Bridge技術,更可以轉換 iOS、Android、Web 等裝置。 下圖是架構示意圖: [總結] UWP 是跨 Windows 裝置的框架 .NET Core 是跨不同系統(Windows, Linux, iOS)的框架 微軟不再封閉,開始與各系統手牽手了 對程式開發者是好消息! (話說我的桌機還是 Win7 32bit,得先升級電腦呢) [參考資料] 1. .NET Core wiki 2.  跨平台一大步,.NET Core 1.0正式登場! 3.  M