Angular Angular 教程有嗎?
感謝Algolia提供的搜尋功能,我注意到許多人對於Angular及相關話題的搜尋。 不過,目前我還沒有寫過有關Angular的文章,也沒有計劃在近期內撰寫相關主題。 為什麼呢?因為我已經寫了很多關於Vue和React的文章,而Angular跟它們並沒有很大的不同,而且我也沒有打算學習它。 如果這不是你所期望的,我深感抱歉!
感謝Algolia提供的搜尋功能,我注意到許多人對於Angular及相關話題的搜尋。 不過,目前我還沒有寫過有關Angular的文章,也沒有計劃在近期內撰寫相關主題。 為什麼呢?因為我已經寫了很多關於Vue和React的文章,而Angular跟它們並沒有很大的不同,而且我也沒有打算學習它。 如果這不是你所期望的,我深感抱歉!
Apollo是一套用於創建GraphQL服務器和使用GraphQL API的工具集合。讓我們詳細探討Apollo,包括Apollo Client和Apollo Server。 Apollo介紹 Apollo Client 啟動React應用程式 使用Apollo Boost開始 創建ApolloClient對象 Apollo連結 緩存 使用ApolloProvider gql模板標記 執行GraphQL請求 獲取API的訪問令牌 使用Apollo連結進行身份驗證 在組件中呈現GraphQL查詢結果集 Apollo Server Apollo Playgrounds Apollo Server Hello World 警告!此教程已過時。Apollo現在使用@apollo/xxx而不是apollo-xxx,請在我更新之前自行研究 :) Apollo介紹 在過去的幾年中,GraphQL作為構建REST API的一種替代方案,變得非常流行。 GraphQL是一種讓客戶端決定它們想要在網絡上傳輸哪些數據的方法,而不是由服務器發送固定的數據集。 此外,它允許您指定嵌套的資源,從而減少處理REST API時有時所需的來回操作。 Apollo是一個團隊和社區,基於GraphQL進行構建,並提供了幫助您構建項目的不同工具。 Apollo提供的工具主要有3個部分:Client、Server和Engine。 Apollo Client幫助您使用GraphQL API,支持最流行的前端Web技術,包括React、Vue、Angular、Ember、Meteor等,以及iOS和Android的原生開發。 Apollo Server是GraphQL的服務器部分,與您的後端進行交互,並將響應返回給客戶端的請求。 Apollo Engine是一個托管基礎設施(SAAS),它充當客戶端和服務器之間的中間人,提供緩存、性能報告、負載測量、錯誤跟踪、模式字段使用統計、歷史統計和許多其他好東西。目前免費每月100萬次請求,它是Apollo唯一不開源和免費的部分,並為項目的開源部分提供資金支持。 值得注意的是,這3個工具並沒有以任何方式相互關聯,您可以僅使用Apollo Client與第三方API進行交互,或者僅使用Apollo Server來提供API,而不需要客戶端。 它們都與GraphQL標準規範相容,因此Apollo中沒有專有或不相容的技術。 但將所有這些工具放在一個地方非常方便,這是一個完整的套件,滿足您所有與GraphQL相關的需求。 Apollo致力於易於使用和易於參與貢獻。 Apollo的重點是保持事情簡單。這對於想要流行的技術非常重要,因為某些技術、框架或庫對於99%的中小型公司來說可能過於複雜,只適用於具有非常復雜需求的大公司。 Apollo Client Apollo Client是用於GraphQL的領先JavaScript客戶端。由社區驅動,設計用於讓您構建與GraphQL數據進行接口的UI組件,無論是在顯示數據時還是在某些操作發生時進行變更。 您不需要更改應用程序中的所有內容才能使用Apollo Client。您可以從一個極小的層開始,一個請求,然後逐漸擴展。 最重要的是,Apollo Client從一開始就設計成簡單、輕巧和靈活。 在本文中,我將詳細介紹如何在React應用程序中使用Apollo Client。 我將使用GitHub的GraphQL API作為服務器。 啟動React應用程式 我使用create-react-app來設置React應用程序,這非常方便,只需添加我們所需的基礎結構即可: npx create-react-app myapp npx是最新版本的npm中可用的命令。如果您沒有這個命令,請更新npm。 然後使用npm啟動應用程序本地服務器:...
Arduino Create 是一個雲端編輯器,讓您可以直接在瀏覽器中編寫和編譯程式碼。 您可以在 http://create.arduino.cc 上使用這個令人驚嘆的工具。 在這篇文章中,我想要探索網頁編輯器的功能。 使用這個編輯器,您不需要在電腦上安裝任何東西來建立 Arduino 程式,除了一個插件以讓它「看見」連接到電腦的板子,但除此之外一切都會自動更新,且無需安裝設定,這讓您能夠快速上手 Arduino。 這是一個免費的工具,提供慷慨的免費層級,在雲端上進行備份且可以在不同設備上使用,支援 Windows、Mac 和 Linux。 它還可以讓您在「Project Hub」(https://create.arduino.cc/projecthub)上分享程式。那是一個您可以分享自己的專案和觀看其他人專案的地方。 當您註冊後,系統會要求您安裝我提到的插件,一旦安裝完成,您就已經完成設定。 前往 https://create.arduino.cc/editor,您將立即看到一個新的 sketch,這是 Arduino 程式的名稱: 在頂端,您可以看到它已經識別出我連接到 USB 埠的 Arduino Uno(/dev/cu.usbmodem14301 行顯示了 USB 埠)。它會自動識別 Arduino 板子。 在左側有一個側邊欄。 Examples 選單列出了許多預先製作的範例,包括程式碼、說明,以及一些情況下還包含電路圖和電路圖片: 這個 Examples 選單中還有一個方便的「From libraries」分頁,列出了由 Arduino 函式庫提供的範例。 Libraries 選單列出了官方的 Arduino 函式庫,以及許多由社群貢獻的函式庫。 很好的一點是您可以將函式庫標記為收藏,並能輕鬆找到它們。 側邊欄中的第四個項目是串口監視器(serial monitor),這是一個非常方便的工具,用於除錯和從 Arduino 程式中獲取資訊(也可向板子發送資訊): 接下來是行內說明,其中包含一些教學、偏好設定以及您的使用配額,例如儲存空間、編譯時間和專案數量等等。 每天使用配額有一個限制,包括 100MB 的儲存空間、100 個 Sketch 和 200 秒的編譯時間,超過限制後,您可以升級到每月 6.99 美元的付費方案,該方案還包括一些先進的物聯網功能,我將在另一篇文章中詳細介紹。
對於這個來自Arduino的優秀物聯網電子板的概述 我最近新增了一塊Arduino MKR WiFi 1010板到我的電子"東西"中。 如果你有疑問,我發現MKR的發音是“Maker”,而1010的發音是“ten ten”。 這是第一塊擁有內建Wi-Fi和藍牙連接功能的板子,對於所能帶來的機會和可能性,我感到非常興奮。 在本文中,我想對這塊板子進行概述,並將其與Arduino Uno進行比較,後者是我目前擁有的另一塊Arduino板,也是初學者最常用的Arduino板。 外觀 讓我們從外觀開始。 尺寸為61.4mm x 25mm,重量僅為32克。 相比Arduino Uno板,Arduino MRK WiFi 1010板要小得多。大小超過2倍。 電源 Arduino MKR WiFi 1010可以通過5V輸入或Micro-USB連接器供電。 它運行在3.3V。這是非常重要的區別,因為Arduino Uno運行在5V。3.3V是I/O引腳支持的最大電壓。 處理器 Arduino MKR WiFi 1010板配備了一個低功耗SAMD21 Cortex-M0+ 32位ARM處理器。 該處理器是32位的。Arduino Uno板配備的是8位的ATmega328處理器。 內存 該板具有256KB的Flash內存和32KB的SRAM。 I/O引腳 Arduino MKR WiFi 1010提供: 8個數字I/O引腳,引腳0 - 7。 7個模擬輸入引腳(ADC 8/10/12位),引腳A0 / A6。 1個模擬輸出引腳(DAC 10位),標識為DAC0/A0的引腳。 每個I/O引腳的直流電流為7mA。 引腳0、1、2、3、4、5、6、7、8、10、12、18、19是PWM引腳。 完整的引腳映射可以在這裡找到 here。 物聯網連接 Arduino MKR WiFi 1010提供了一個WiFi模組,即WiFi U-BLOX NINA-W10系列低功耗2.4GHz模組。它支持802.11 b/g/n協議,並且還提供藍牙低功耗(BLE)。 安全性 該板配備了一個加密芯片,可以實現SHA-256安全連接,即ATECC508。 Li-Po充電電路 通過Micro-USB端口充電時,Arduino MKR WiFi 1010可以通過其Li-Po充電電路對外部電池充電。...
這是製作原型的Arduino參考版本,許多教程都以這個版本的Arduino作為參考開發板。 Arduino Uno Rev 3是一款微控制器開發板。 這是製作原型的Arduino參考版本,許多教程都以這個版本的Arduino作為參考開發板。 它具有與Arduino 101、Arduino Zero、Arduino Yún、Arduino Leonardo、Arduino Uno Wifi rev 2和Arduino Ethernet相同的外觀和大小。 它配備了一款8位微控制器ATmega328P,擁有32 KB的Flash記憶體、2 KB的SRAM和1 KB的EEPROM。 Arduino以16MHz的頻率運行,工作電壓為5V,建議輸入電壓範圍為7V至12V。 在I/O方面,Arduino Uno具有一個可供計算機使用的USB-B端口,用於傳輸新的程式。它具有一個電源輸入和一組I/O引腳。它有20個I/O引腳,其中14個是數位引腳,6個是具有10位元的類比引腳,映射值範圍為0至1023。 在上圖中,我們可以看到頂部的14個數位I/O引腳,這些引腳可以通過程式設定為輸出引腳或輸入引腳。 底部是電源引腳和6個類比輸入引腳。 板子上還有一個內置LED,連接到引腳13,提供狀態信息。 Arduino Uno配備了一個USB端口,可以將其連接到計算機並加載程式。 Arduino沒有操作系統,一次只運行一個程式。 加載程式後,Arduino在通過USB或電源端口由AC至DC電源線或電池供電時啟動。這意味著一旦加載程式,您可以將Arduino放在有太陽能電池板和電池的山上,它將一直運行,直到沒有電源。 Arduino, Development Board, Microcontroller, Prototyping
Arduino Uno是一個微控制器板。目前它是Arduino的參考版本,最新的官方Arduino設備版本是Arduino Uno WiFi rev 2。 它具有與Arduino 101、Arduino Zero、Arduino Yún、Arduino Leonardo、Arduino Uno和Arduino Ethernet相同的形狀和尺寸。 它採用8位元微控制器ATmega4809,搭配48 KB的快閃記憶體、6 KB的靜態隨機存取記憶體(SRAM)和256位元組的電子可擦除可程式化唯讀記憶體(EEPROM)。這比以前的Arduino Uno rev 3板上的ATmega328P多出許多記憶體。如果您有一塊舊的Arduino Uno開發板,請注意這個變化。 Arduino以16MHz的頻率運行,在5V的電壓下供電,建議的輸入電壓範圍為7V至12V。 在輸入/輸出(I/O)方面,Arduino Uno具有一個可供電腦用於傳輸新程式的USB-B端口,一個電源輸入和一組I/O腳。它擁有20個I/O腳,其中包括14個數位腳和6個具有10位元解析度的類比腳,值範圍從0到1023。 它還附帶支援802.11b/g/n的WiFi模組NINA-W13,該模組具有整合的TCP/IP協議堆疊,可以連接到無線網路並提供硬體安全性。 此外,您也可以將Arduino設定為接入點,以便連接到它。 此外,它還具有集成的IMU(慣性測量單元),可用於一些非常酷的動作感應應用,例如LSM6DS模組,提供3D加速度計和3D陀螺儀。 Arduino Uno還具有集成的高速ADC(類比數位轉換器)。 Arduino Uno具有USB端口,可將其連接到電腦並載入程式。 Arduino沒有操作系統,一次只能運行一個程式。 一旦載入了程式,在Arduino通過USB或電源端口(使用AC-DC電源線或電池)供電時,它會自動啟動。這意味著一旦載入了程式,您可以將Arduino放在山上,連接太陽能電池板和電池,它將持續運行,直到電力不足。
對比兩個最受歡迎的 tinkering 平台 最近我買了一個 Arduino。 在我構思要在 15 年無觸碰電阻器後玩弄電子裝置的點子時,我記得我花了一些時間搜索什麼樣的裝置最適合我想做的事情。 在這方面,最受歡迎的兩個平台有 Arduino 和 Raspberry Pi。雖然還有許多其他平台,但這兩個是最受歡迎的,我想在這篇文章中解釋一下這兩者的不同之處。 這是 Arduino Uno,我們將以它作為例子,雖然 Arduino 還提供許多不同的板子。這是我選擇的板子,順便說一下: 這是 Raspberry Pi Model B+: 一開始看它們相似,芯片、連接器、螺絲孔。 結果,它們實際上非常非常不同。 從核心開始講。Arduino 使用 8 位元微控制器(microcontroller)。Raspberry Pi 使用 64 位元微處理器(microprocessor)。 Arduino 只有 2 KB 的 RAM。Raspberry Pi 有 1GB 的 RAM(是 Arduino 的 500,000 倍)。 在 I/O 方面,Arduino 有一個 USB-B 連接埠可供電腦傳送新的程式來執行,還有一個電源輸入和一組 I/O 引脚。 Raspberry Pi 在這方面更加複雜,有一個視訊輸出、一個 HDMI 連接埠、一個 SD 記憶卡連接埠、一個音訊插孔、一個 CSI 相機連接埠、一個 DSI 顯示器連接埠、4 個 USB 2.0 連接埠,可用於連接 USB 裝置,一個 Gigabit 以太網插孔、無線局域網 (Wireless LAN)、藍牙 4....
為了與 Arduino 和其他裝置進行通訊,我們可以使用串列通訊。這通常用於與電腦"對話",以可視化從 Arduino 傳來的資料,以及除錯你的專案。或者,也可以用於與其他裝置進行通訊。 Arduino 內建了 Serial 函式庫,所以你不需要載入任何特別的函式庫來使用它。 計算機與 Arduino 之間的 USB 連接用於向 Arduino IDE 通過串列通訊發送和接收訊息,用於上傳程式到裝置上。 現在讓我們看一下如何通過串列发送資料。 在 Arduino 程式的 setup() 函式中,你需要通過設定串列數據傳輸速率(以波特為單位)來初始化串列通訊。通常使用 9600: Serial.begin(9600); 波特 = 每秒位元數 然後你可以使用一個或多個 Serial 函數。 例如,Serial.print(): Serial.print("Hello!"); 嘗試編譯並上傳這個程式到 Arduino: void setup() { Serial.begin(9600); Serial.print("Hello!"); } void loop() { } 將程式保存並上傳到 Arduino,然後點擊 Arduino IDE 的右上角的"串列監視器"按鈕: 這個按鈕將在計算機上打開串列介面監視器。確保它的波特率與程式中設置的一致,你應該會看到打印出"Hello!“字串: Serial.print() 只是你可以運行的函式之一。 你還可以使用 Serial.println(),它會在寫入的內容後添加 \n 換行符號,這樣每個訊息都會被打印在一行上。 你還可以從這個串列介面監視器向 Arduino 發送訊息。看到上面的輸入框和"發送"按鈕了嗎? 在 Arduino 程式中,你可以使用 Serial.read()。字符是使用 ASCII 編碼的,如果你執行這個程式: void setup() { Serial.begin(9600); } void loop() { if (Serial....
Arduino 語言提供的 tone() 函式可以用於使用被動蜂鳴器播放音符。 結合不同的 tone() 調用,我們可以播放曲子。 以下是使用方式: tone(<PIN>, <FREQUENCY>) 例如,在連接到引腳 8 的蜂鳴器上播放 C7 音符: #define NOTE\_C7 2093 tone(8, NOTE\_C7) 頻率以赫茲 (hz) 表示 可以調用 noTone(<PIN>) 函式停止播放: tone(8, NOTE\_C7) delay(100) noTone(8) 第三個參數可以設置音符的持續時間,這樣就不需要調用 noTone() 函式: tone(8, NOTE\_C7, 100) 我從 Arduino 官方的 toneMelody 範例 中獲得了其他音符的頻率。我在這裡將它們複製供參考: #define NOTE\_B0 31 #define NOTE\_C1 33 #define NOTE\_CS1 35 #define NOTE\_D1 37 #define NOTE\_DS1 39 #define NOTE\_E1 41 #define NOTE\_F1 44 #define NOTE\_FS1 46 #define NOTE\_G1 49 #define NOTE\_GS1 52 #define NOTE\_A1 55 #define NOTE\_AS1 58 #define NOTE\_B1 62 #define NOTE\_C2 65 #define NOTE\_CS2 69 #define NOTE\_D2 73 #define NOTE\_DS2 78 #define NOTE\_E2 82 #define NOTE\_F2 87 #define NOTE\_FS2 93 #define NOTE\_G2 98 #define NOTE\_GS2 104 #define NOTE\_A2 110 #define NOTE\_AS2 117 #define NOTE\_B2 123 #define NOTE\_C3 131 #define NOTE\_CS3 139 #define NOTE\_D3 147 #define NOTE\_DS3 156 #define NOTE\_E3 165 #define NOTE\_F3 175 #define NOTE\_FS3 185 #define NOTE\_G3 196 #define NOTE\_GS3 208 #define NOTE\_A3 220 #define NOTE\_AS3 233 #define NOTE\_B3 247 #define NOTE\_C4 262 #define NOTE\_CS4 277 #define NOTE\_D4 294 #define NOTE\_DS4 311 #define NOTE\_E4 330 #define NOTE\_F4 349 #define NOTE\_FS4 370 #define NOTE\_G4 392 #define NOTE\_GS4 415 #define NOTE\_A4 440 #define NOTE\_AS4 466 #define NOTE\_B4 494 #define NOTE\_C5 523 #define NOTE\_CS5 554 #define NOTE\_D5 587 #define NOTE\_DS5 622 #define NOTE\_E5 659 #define NOTE\_F5 698 #define NOTE\_FS5 740 #define NOTE\_G5 784 #define NOTE\_GS5 831 #define NOTE\_A5 880 #define NOTE\_AS5 932 #define NOTE\_B5 988 #define NOTE\_C6 1047 #define NOTE\_CS6 1109 #define NOTE\_D6 1175 #define NOTE\_DS6 1245 #define NOTE\_E6 1319 #define NOTE\_F6 1397 #define NOTE\_FS6 1480 #define NOTE\_G6 1568 #define NOTE\_GS6 1661 #define NOTE\_A6 1760 #define NOTE\_AS6 1865 #define NOTE\_B6 1976 #define NOTE\_C7 2093 #define NOTE\_CS7 2217 #define NOTE\_D7 2349 #define NOTE\_DS7 2489 #define NOTE\_E7 2637 #define NOTE\_F7 2794 #define NOTE\_FS7 2960 #define NOTE\_G7 3136 #define NOTE\_GS7 3322 #define NOTE\_A7 3520 #define NOTE\_AS7 3729 #define NOTE\_B7 3951 #define NOTE\_C8 4186 #define NOTE\_CS8 4435 #define NOTE\_D8 4699 #define NOTE\_DS8 4978
在這篇教學中,我們將擴展 Arduino Web Server 範例 ,以便可以通過瀏覽器向 Arduino 發送指令。 我們將透過存取 /on 的 URL 點亮 Arduino 上的內建 LED,並透過開啟 /off 的 URL 來關閉它。其他任何指令都將無效。 以下是來自其他教學的程式碼: #include <SPI.h> #include <WiFiNINA.h> WiFiServer server(80); void setup() { char ssid[] = SECRET_SSID; char pass[] = SECRET_PASS; Serial.begin(9600); while (!Serial); int status = WL_IDLE_STATUS; while (status != WL_CONNECTED) { Serial.print("Connecting to "); Serial.println(ssid); status = WiFi.begin(ssid, pass); delay(5000); } Serial.print("IP address: "); Serial.println(WiFi.localIP()); server.begin(); } void loop() { WiFiClient client = server....