整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          Atom 1.30發布,新增加Pull Reques

          Atom 1.30發布,新增加Pull Request、Emojis提交消息支持

          前Atom 官方博客發布消息,宣稱Atom 1.30發布,該新版本修復了問題和引入了很多功能改進,其中包括集成GitHub的Pull Requests和Tree Sitter支持對新的語言支持。

          Atom是有Github開源的跨平臺代碼編輯器,具有跨平臺,界面精美,啟動快,原生支持git,靈活的插件支持,可以打包成稱手的IDE,是蟲蟲比較喜歡的代碼工具之一。

          檢查預覽Pull Request

          Atom GitHub選項卡(使快捷鍵Ctrl + 8打開)新增加顯示與頂部當前分支關聯的Pull Request。 Underneath是最近創建的Pull Request列表。這使使用者可以隨時了解新的Pull Request,并在切換到另一個分支時密切關注其構建狀態。

          單擊列表中的Pull Request,將打開一個窗格,從該窗格中可以讀取其描述,跟蹤其對話,獲取有關其構建狀態的更多詳細信息,甚至可以查看其源代碼。這樣可以方便地在有關Pull Request的分支之間切換而不必費心分支名稱。

          如果當前分支沒有關聯的Pull Request,GitHub選項卡會提供一個按鈕來推送當前分支并在github上創建新的拉取請求。

          提交消息Emojis支持

          commit消息中現在可以支持表情符號:emoji:,比如

          。

          附Github官方關于Git提交消息的建議:

          使用現在時。

          使用命令式情緒

          將第一行限制為72個字符或更少

          在第一行之后引用問題和拉取請求

          僅更改文檔時,在提交標題中包含[ci skip]

          commit表情符號使用:

          · :art: 改善代碼格式結構

          · :racehorse: 提高性能

          · :non-potable_water: 當涉及內訓泄露

          · :memo: 寫文檔

          · :penguin: 修復liunx平臺bug

          · :apple: 修復macOS bug

          · :checkered_flag: 修復Windows bug

          · :bug: 修復bug

          · :fire: 移除代碼或者文件

          · :green_heart: 修復CI build

          · ? :white_check_mark: 添加tests

          · :lock: 處理安全問題

          · ?? :arrow_up: 升級依賴版本

          · ?? :arrow_down: 當減少依賴版本

          · :shirt: 當刪除語法告警

          GitHub依賴包集成指標

          為了幫助我們了解哪些內容有用,哪些內容沒有,對于那些已啟用指標的人,現在正在收集GitHub包使用情況的活動指標。我們也開始將我們的收集點從Google Analytics遷移到官方自建的指標管道。這將幫助官方決策,決定哪些功能最常用,哪些功能不太有用,或者對此知之甚少。

          Tree-sitter新語言的支持

          Atom的新解析系統Tree-sitter現在開始支持Ruby。還支持處理包含多種語言的文件。截止當前,Atom支持解析以下語言及其組合:

          · HTML文件中嵌入的JavaScript

          · .ejs 文件中的JavaScript和HTML

          · .erb 的Ruby和HTML in files

          · JavaScript 中插入的一定HTML模版語法

          · Ruby 中插入HTML的heredoc語法

          其他語言組合也很容易添加。詳細請查看AtomAPI手冊

          其他更多細節,請查看官方的文檔。

          圖模版引擎是 Ruby 框架中的重要組成部分。它們用于將數據轉換為 HTML 頁面。通過使用視圖模版引擎,您可以將代碼分解成可重用的部分,從而簡化開發過程。

          常見的視圖模版引擎

          * ERB:Rails 框架中的內建引擎。

          * Liquid:用于 Ruby 和 Rails 的模板引擎。

          * Tilt:用于 Rack 和 Ruby 的模板引擎。

          視圖模版引擎的工作原理

          視圖模版引擎將模板文件和數據進行解析,并生成 HTML 頁面。模板文件包含變量、條件和循環,用于在頁面中嵌入數據。

          使用視圖模版引擎的優點

          * 可重用:模板可以被多個控制器和動作重復使用。

          * 可讀性:模板語言易于理解和使用。

          * 可維護:模板可以輕松地更新以更改頁面外觀。

          如何使用視圖模版引擎

          * 選擇一個視圖模版引擎。

          * 創建一個模板文件。

          * 在控制器中加載模板并傳遞數據。

          * 將生成的 HTML 頁面返回給客戶端。

          常見的問題

          * 模板錯誤:檢查模板文件的語法和邏輯。

          * 數據綁定錯誤:確保數據與模板中使用的變量匹配。

          * 性能問題:檢查模板文件的復雜程度。

          結論

          視圖模版引擎是 Ruby 開發的寶貴工具,可以簡化開發過程。通過使用視圖模版引擎,您可以重用代碼、提高可讀性并輕松更新頁面外觀。

          建議

          * 選擇適合項目需求的模板引擎。

          * 組織模板文件以提高可維護性。

          * 定期檢查和更新您的模板引擎以確保最佳性能。

          設您有一個可以工作的 Ruby 應用程序,并且需要向其添加電子郵件傳遞功能。這可能與用戶身份驗證或任何其他類型的事務性電子郵件有關,這沒有什么區別。本教程旨在幫助您實現使用 Ruby 發送電子郵件。

          用 Ruby 發送電子郵件的選項

          大多數情況下,你可以從三個選項中選擇一個。

          最簡單的方法是使用 Net: : SMTP 類。它提供了通過 SMTP 發送電子郵件的功能。該選項的缺點是 Net: : SMTP 缺少撰寫電子郵件的功能。你可以自己創建,但這需要時間。

          第二種選擇是使用專用的 Ruby gem,如 Mail、 Pony 或其他。這些解決方案使您能夠以簡單有效的方式處理電子郵件活動。Action Mailer 是一個完美的電子郵件解決方案,通過 Rails 的棱鏡。而且,很有可能,這將是你的選擇。

          第三個選項是類 Socket。通常,這個類允許您設置流程之間或流程內部的通信。因此,電子郵件發送也可以用它來實現。然而,事實是 Socket 并沒有為您提供廣泛的功能,您也不太可能想要使用它。

          現在,讓我們嘗試使用所描述的每個解決方案發送電子郵件。

          如何通過 Net: : SMTP 在 Ruby 中發送電子郵件

          根據我的經驗,在一個普通的 web 應用程序中使用這個選項是不常見的。但是,如果您在某些物聯網設備上使用 mruby (Ruby 語言的一種輕量級實現) ,那么通過 Net: : SMTP 發送電子郵件可能是合適的。此外,如果在無服務器計算中使用,例如 AWS Lambda,它也會這樣做。首先查看這個腳本示例,然后我們將詳細介紹它。

          Ruby 露比

          brrequire 'net/smtp'brmessage=<<END_OF_MESSAGEbrFrom: YourRubyApp <info@yourrubyapp.com>brTo: BestUserEver <your@bestuserever.com>brbrSubject: Any email subject you wantbrbrDate: Tue, 02 Jul 2019 15:00:34 +0800brbrLorem Ipsum

          這是一個通過 SMTP 發送文本電子郵件的簡單示例(可以在這里找到官方文檔)。您可以看到四個標題: 發件人、收件人、主題和日期。請記住,您必須將它們與電子郵件正文中的空行分開。同樣重要的是連接到 SMTP 服務器。

          Net::SMTP.start('your.smtp.server', 25) do |smtp|

          Start (‘ your.smtp.server’,25) do | smtp |

          自然,這里將顯示您的數據,而不是“ your.smtp.server”,并且25是默認端口號。如果需要,可以指定其他詳細信息,如用戶名、密碼或身份驗證方案(普通、登錄和 cram _ md5)。它可能看起來如下:

          `Net::SMTP.start('your.smtp.server', 25, ‘localhost’, ‘username’, ‘password’ :plain) do |smtp|`

          在這里,您將使用純文本格式的用戶名和密碼連接到 SMTP 服務器,客戶機的主機名將被標識為 localhost。

          之后,可以使用 send _ message 方法并將發送方和接收方的地址指定為參數。

          Start (‘ Net: : SMTP.start (‘ your.SMTP.server’,25) do | SMTP |’)的塊形式將自動關閉 SMTP 會話。

          在 Ruby Cookbook 中,使用 Net: : SMTP 庫發送電子郵件被稱為極簡主義,因為您必須手動構建電子郵件字符串。盡管如此,這并不像你想象的那樣沒有希望。讓我們看看如何用 HTML 內容增強電子郵件,甚至添加附件。

          在網上發送 HTML 電子郵件: : SMTP

          查看這個引用消息部分的腳本示例。


          Ruby

          message=<<END_OF_MESSAGEbrFrom: YourRubyApp <info@yourrubyapp.com>brTo: BestUserEver <your@bestuserever.com>brMIME-Version: 1.0brContent-type: text/htmlbrbrSubject: Any email subject you wantbrbrDate: Tue, 02 Jul 2019 15:00:34 +0800brbrA bit of plain text.brbr<strong>The beginning of your HTML content.</strong>brbr<h1>And some headline, as well.</h1>brbrEND_OF_MESSAGE


          除了消息體中的 HTML 標記之外,我們還有兩個額外的頭: MIME-Version 和 Content-type。MIME 指的是 MIME。它是 Internet 電子郵件協議的擴展,允許您在單個消息體中組合不同的內容類型。MIME-Version 的值通常為1.0。它指示消息是 MIME 格式的

          至于 Content-type 頭,一切都很清楚。在我們的示例中,有兩種類型-HTML 和純文本。另外,確保使用定義的邊界分隔這些內容類型。

          除了 MIME-Version 和 Content-type,您可以使用其他 MIME 頭:

          內容-傳輸-編碼-表示二進制到文本的編碼方案(7位、 Quoted-printable、 base64、8位或二進制)。


          在網上發送帶附件的電子郵件: : SMTP

          - Content-Disposition-指定表示樣式(內聯或附件)

          讓我們添加一個附件,例如 PDF 文件。在這種情況下,我們需要將 Content-type 更新為 multipart/mix。另外,使用 pack (“ m”)函數用 base64編碼對附加文件進行編碼。

          Ruby

          require 'net/smtp'brfilename="/tmp/Attachment.pdf"brfile_content=File.read(filename)brencoded_content=[file_content].pack("m")   # base64brmarker="AUNIQUEMARKER"


          之后,你需要定義你的電子郵件的三個部分。

          第1部分-主要標題


          part1=<<END_OF_MESSAGEbrFrom: YourRubyApp <info@yourrubyapp.com>brTo: BestUserEver <your@bestuserever.com>brSubject: Adding attachment to emailbrMIME-Version: 1.0brContent-Type: multipart/mixed; boundary=#{marker}br--#{marker}brEND_OF_MESSAGE


          第2部分-消息行動


          part2=<<END_OF_MESSAGEbrContent-Type: text/htmlbrContent-Transfer-Encoding:8bitbrA bit of plain text.br<strong>The beginning of your HTML content.</strong>br<h1>And some headline, as well.</h1>br--#{marker}brEND_OF_MESSAGE


          第三部分-附件


          part3=<<END_OF_MESSAGEbrContent-Type: multipart/mixed; name="#{filename}"brContent-Transfer-Encoding:base64brContent-Disposition: attachment; filename="#{filename}"br#{encoded_content}br--#{marker}--brEND_OF_MESSAGE

          現在,我們可以把所有的部分放在一起,并最終確定劇本。這就是它看起來的樣子:

          Ruby

          brrequire 'net/smtp'brfilename="/tmp/Attachment.pdf"brfile_content=File.read(filename)brencoded_content=[file_content].pack("m")   # base64brmarker="AUNIQUEMARKER"brpart1=<<END_OF_MESSAGEbrFrom: YourRubyApp <info@yourrubyapp.com>brTo: BestUserEver <your@bestuserever.com>brSubject: Adding attachment to emailbrMIME-Version: 1.0brContent-Type: multipart/mixed; boundary=#{marker}

          我可以發送電子郵件給多個收件人在網絡: : SMTP?


          當然,你可以. send _ message 期望第二個和隨后的參數包含收件人的電子郵件。例如:


          Ruby

          Net::SMTP.start('your.smtp.server', 25) do |smtp|br  smtp.send_message message,br  'info@yourrubyapp.com',br  'your@bestuserever1.com',br  ‘your@bestuserever2.com’,br  ‘your@bestuserever3.combrend


          發送電子郵件的最佳 Ruby Gems

          在 Ruby 生態系統中,您可以找到特定的電子郵件 gems,它們可以改善您的電子郵件發送體驗。

          Ruby Mail


          該庫旨在提供一個單點訪問管理所有電子郵件相關活動,包括發送和接收電子郵件。
          Pony

          您可能聽說過一個關于用一個命令發送電子郵件的童話故事。抓緊你們的帽子,因為它是真的,由小馬寶石提供。

          ActionMailer


          這是最流行的寶石發送電子郵件在 Rails 上。如果你的應用程序寫在上面,ActionMailer 肯定會出現。它允許您使用郵件類和視圖發送電子郵件

          使用郵件陷阱測試使用 Net: : SMTP 的電子郵件發送


          設置非常簡單。進入演示收件箱后,復制 SMTP“設置”選項卡上的 SMTP 憑據并將其插入到代碼中?;蛘撸梢栽?Integrations 部分獲得一個簡單消息的即用模板。只要選擇一種編程語言或框架,你的應用程序是建立。

          Ruby

          require 'net/smtp'brmessage=<<END_OF_MESSAGEbrFrom: YourRubyApp <info@yourrubyapp.com>brTo: BestUserEver <your@bestuserever.com>brSubject: Any email subject you wantbrDate: Tue, 02 Jul 2019 15:00:34 +0800brLorem IpsumbrEND_OF_MESSAGEbrbrNet::SMTP.start('smtp.mailtrap.io', 587, '<username>', '<password>', :cram_md5) do |smtp|br  smtp.send_message message,


          如果一切正常,您將在郵件陷阱演示收件箱中看到您的消息。此外,您可以嘗試檢查您的 HTML 內容和附件的電子郵件。


          您剛剛閱讀了關于如何使用 Ruby 測試和發送電子郵件的完整教程。希望您喜歡!


          主站蜘蛛池模板: 精品人伦一区二区三区潘金莲 | 国产伦精品一区二区免费| 久久精品国产一区二区三区| 久久一本一区二区三区| 日本韩国黄色一区二区三区| 亚洲高清美女一区二区三区 | 精品少妇ay一区二区三区| 一区二区三区日本视频| 色婷婷亚洲一区二区三区| 一区二区三区高清| 香蕉免费一区二区三区| 国内偷窥一区二区三区视频| 一区二区三区高清视频在线观看| 成人毛片一区二区| 玩弄放荡人妻一区二区三区| 精品一区精品二区制服| 3d动漫精品啪啪一区二区免费| 精品一区二区三区免费| 久久se精品一区二区| 亚洲电影一区二区三区| 精品一区二区三区自拍图片区 | 亚洲国产一区二区a毛片| 中文字幕精品一区二区精品| 中文字幕Av一区乱码| 国精品无码一区二区三区左线 | 国产拳头交一区二区| 国产精品综合一区二区三区| 国产精品亚洲专区一区| 一区视频免费观看| 中文字幕精品一区二区三区视频| 中文字幕亚洲一区| 一区二区视频在线观看| 亚洲国产系列一区二区三区 | 亚洲国产欧美国产综合一区 | 中文字幕色AV一区二区三区| 中文字幕精品亚洲无线码一区| 亚洲一区二区三区电影| 极品尤物一区二区三区| 国产一区二区三区播放| 人妻免费一区二区三区最新| 麻豆一区二区在我观看|