<em id="51kis"></em>

      <dl id="51kis"></dl>
      <sup id="51kis"></sup>
        <sup id="51kis"></sup>

        <dl id="51kis"><ins id="51kis"></ins></dl>

        <dl id="51kis"><menu id="51kis"><small id="51kis"></small></menu></dl>

            <div id="51kis"></div>

            <sup id="51kis"></sup>

                  <em id="51kis"></em>

                  <dl id="51kis"></dl>

                    <em id="51kis"></em>
                    <em id="51kis"></em>

                    <div id="51kis"></div>
                    <dl id="51kis"></dl>

                    <div id="51kis"><tr id="51kis"><object id="51kis"></object></tr></div><sup id="51kis"></sup><em id="51kis"></em>
                      <sup id="51kis"><menu id="51kis"></menu></sup>
                        <div id="51kis"></div>

                        Thoughts, stories and ideas.

                        BearyChat 走進深大 | 當我們聊起后端開發時可以簡單的聊起什么

                        熊仔們謀劃了很久的校園行,終于從深圳大學開始出發。

                        感謝深圳大學于仕琪老師的支持幫助和計算機與軟件學院同學們的熱情,「一熊科技·倍洽」第一次走進校園計劃在上周五圓滿達成,當熊仔和同學們聊起遠方和詩的時候,也順便聊了聊后端開發 XD

                        一生的敵人(PM)說: 怎么實現我不管,明天就要上線。

                        熊組的后端工程師和產品經理為這一次分享準備了兩個小議題,在《后端開發,從入門到__》中,主要針對產品的核心架構分享了一點點小小的心得和經驗,并舉了一個與深大同學們息息相關的案例,說明在產品經理不同需求下架構的改變:

                        • 能看,能發,能刪,能用就行!
                        • 總是需要刷新太麻煩了,要實時!!
                        • 怎么才 100w 用戶就這么卡,改!!!
                        • 怎么才 1000w 用戶就這么卡,再改!!!!
                        • 紐約的用戶說他們打開太慢了,繼續改!!!!!
                        • 迭代的速度要更快,我們要有 bug 監控!!!!!!
                        • ……,……,……,……,……,……,……!!!!!!!

                        好的大王,沒問題大王(:зゝ∠)

                        從議題一延伸開來,針對某一個具體的方面,熊仔還與現場的同學們分享了《TCP 長連接的應用》,包括保活、重連、消息協議、特殊優化等基礎方面。

                        感謝分享過程當中同學們的熱情提問,大家探索的寬度和深度讓交流有了更切實的意義。也歡迎更多的同學加入我們的 線上活動大本營 繼續交流,互相啟發。

                        此外,在這次分享課上,熊組也通過倍洽活動團隊與同學們進行了一個小小的互動,我們準備了一些黑白熊周邊作為我們小小的心意。

                        期望將來能與深圳大學的同學們繼續交流更多有趣又有意義的話題。也期待能與更多院校的同學們一起探討更多不一樣的內容。

                        (每當現場有同學關注我們的官方微信公眾賬號,活動團隊內的公眾號機器人則自動提醒有新關注,并實時計算出當前活動的中獎概率)

                        送一些本月北京 QCon 大會的八折優惠碼,現場可以來倍洽的展臺聊聊

                        飛奔著上車,現在還來得及~

                        2017 QCon 北京大會詳情查看 這里

                        2017.04.16~2017.04.18
                        北京 國家會議中心

                        部分演講專題

                        ……

                        來現場和我們聊聊

                        • 購票優惠碼

                        識別二維碼關注 BearyChat 微信公眾號,回復「QCon」獲取本屆 QCon 北京大會八折購票碼,至少優惠 1360 元啊~

                        • 圍觀倍洽展臺

                        我們在本屆 QCon 北京大會上設置了一個現場展臺,準備了一些互動環節和大家一起現場體驗 ChatOps 的工作方式,也歡迎各位來聊聊 Chat、ChatBot、未來的工作場景、新的 idea、可能的合作……當天北京的藍天或者霧霾、以及各種吃喝玩樂 :P

                        當然我們也準備了一些小禮物:超級受歡迎的便攜毛氈本、為即將到來的夏天準備的熊仔 T 恤……還有將在這次活動上首次亮相的新周邊,如下這些:

                        (這是兩個抱枕玩偶,雖然這么有點看不太出來)

                        總之,一群托腮的熊熊很期待在現場遇見你 :P

                        贈票 | 2017 GMIC 大會,提前和未來打個招呼

                        關鍵詞:AI 時代、投資熱點、移動營銷、科技跨界

                        不能錯過的 GMIC 北京 2017

                        GMIC 是一個面向全球前沿創新者的國際交流平臺,涵蓋特拉維夫、北京、東京、硅谷、雅加達、圣保羅、香港和班加羅爾全球 8 站。在會上,你可以聆聽最前沿的創新思維,探討最熱門的行業動向,體驗最具想象力的高科技產品與音樂、影視、美食、游戲等領域的跨界融合。

                        GMIC 2017 北京大會 將于 4 月 27 日-5 月 1 日拉開帷幕。大會以「天·工·開·悟」為主題,寓意關注未來,著眼現在,在擁抱人工智能、商業航天、無人車等前沿領域的同時,關注如環境、醫療健康、娛樂、移動支付、教育等與生活息息相關的話題。

                        • 你可能會關注的到場嘉賓

                        到場大牛遠遠不止如上圖?

                        • 你可能會關注的分享主題

                        分會場:G-Summit 全球科學創新峰會

                        1. 當大佬們談人工智能時他們在談什么?
                        2. 以語音交互為核心的人工智能開放平臺
                        3. 下一個獨角獸——科技投資的新風向
                        4. ……

                        分會場:全球移動營銷峰會

                        1. 如何在移動端將廣告的營銷價值最大化
                        2. 人工智能為數字營銷帶來的新變革
                        3. 如何打贏「流量作弊」反擊戰?
                        4. ……

                        分會場:移動互聯網全球化峰會

                        1. 出海 3.0 時代 從全球發行運營到本地化業務深耕
                        2. Google 平臺的藍海空間 娛樂內容全球化的下一步
                        3. 全球化移動營銷創新和流量全球化的變局
                        4. ……

                        分會場:全球未來娛樂峰會

                        1. VR 數字幻覺 未來科技的泛娛樂應用
                        2. 人工智能在社交娛樂產業的應用
                        3. 文學內容泛娛樂化 幾大核心機會點
                        4. ……

                        分會場:……

                        不能錯過的 BearyChat(倍洽)- GMIC 贈票

                        全世界都在聊買房,不過我們打算聊聊和未來有關的事。BearyChat(倍洽)將參加今年的 GMIC,為此我們準備了:

                        • 一段技術演講

                        將在大會現場分享我們在智能化工作流領域(ChatOps)的一些實踐經驗和總結。如果你也對工作方式升級感興趣,可以查看我們過去的 一些介紹

                        • 一個演示展臺

                        同時,我們也準備了一個現場展臺,并準備了一些互動環節和有趣的周邊,歡迎大家到現場了解 ChatOps,體驗 ChatBot,嘗試開啟「對話驅動」式的新型工作方式。

                        • 一些入場門票

                        此外,我們還準備了一些入場門票送給大家。聽聽前沿的技術和理念,看看新的 idea,和到場的同行好友聊聊明天的合作……在我們看來這些都是參會的收獲。

                        以下兩種門票獲取方式:

                        微博 關注 BearyChat 官方微博,轉發活動并@一位好友,我們將在 4 月 17 日通過微博抽獎平臺抽出兩張門票。

                        微信 識別二維碼關注 BearyChat 官方微信,回復「GMIC」即可參加活動,我們將在 4 月 17 日通過 BearyChat 抽獎機器人抽出兩張門票,也歡迎大家加入 活動團隊 #2017GMIC 討論組圍觀抽獎現場 :P

                        DevOps 理念升級,ChatOps 概述及實踐經驗

                        如果一個團隊不止關注眼下,也關注明天,那么顯而易見他們應該做的兩件事無非是:一,做領先于市場的事業;二,用更新更好的理念武裝自己。在過去的許多年中,DevOps 逐漸成為了一個廣受技術團隊接受的工作理念,發展到今天,這個工作模式理應突破技術群體,發展為適應不同種類團隊的方法模型,這也是 ChatOps 這個概念提出的背景之一。

                        我們試圖在這里梳理 DevOps 與 ChatOps 的關系,介紹 ChatOps 的過去和現在,并且,試圖介紹一些我們對 ChatOps 的嘗試和經驗。閱讀這篇文章大致需要五分鐘 :P

                        什么是 DevOps

                        DevOps 是來源于 Development 和 Operations 的一個組合詞,顧名思義,是一系列過程、方法與系統的統稱,旨在促進開發、測試和運維人員之間的溝通與協作。簡單來說,是通過引入一系列的「工具」,通過三種不同角色的開發成員間的「協作」而實現的一種「自動化」的工作模式。這種工作方式帶來的好處顯而易見:

                        • 實現持續快速交付
                        • 能夠降低人力成本

                        但很大程度上,DevOps 更多是指開發群體之間的一種協作模式(通常也在開發人員中實施),隨著全行業的發展和人力成本的攀升,在團隊所有角色間貫通的升級版「DevOps」逐漸登場,也就是我們將要重點介紹的 ChatOps。

                        ChatOps

                        ChatOps 的歷史相對短暫,2013 年 GitHub 內部最早開始推行 ChatOps,希望能以聊天的方式更容易更快速的去完成 DevOps 承載的工作。

                        ChatOps 以聊天室,即溝通平臺為中心,通過一系列的機器人去對接后臺的各種服務,工作人員只需要在聊天窗口中與機器人對話,即可與后臺服務進行交互,整個工作的展開就像是使喚一個智能助手那樣簡單自然。

                        在 GitHub 團隊內部實現的 ChatOps 與一個叫做 Hubot 的機器人框架密切相關,Hubot 提供很多聊天機器人所需的基礎設施,借助 Hubot 框架能比較方便的和自己編寫的功能或自己的系統對接。目前,Hubot 已經發展出了較好的生態圈,有很多開源插件可以借用。

                        ChatOps 站在巨人的肩膀上發展,也為工作帶來了顯而易見的好處:

                        • 公開透明。所有的工作消息都在同一個聊天平臺中沉淀并公開給所有相關成員,消除溝通壁壘,工作歷史有跡可循,團隊合作更加順暢。
                        • 上下文共享。減少因工作臺切換等對消息的截斷,保證消息的完整性,讓工作承接有序,各角色,各工具都成為完成工作流中的一環,打造真正流暢的工作體驗。
                        • 移動友好。只需要在前臺與預設好的機器人對話即可完成與后臺工具、系統的交互,在移動環境下無需再與眾多復雜的工具直接對接,大大提升移動辦公的可行性。
                        • DevOps 文化打造。用與機器人對話這種簡單的方式降低 DevOps 的接受門檻,讓這種自動化辦公的理念更容易的擴展到團隊的每一個角落。

                        ChatOps 的實踐經驗

                        ChatOps 主要由四個部分組成,自動化的理念,一個溝通承載平臺,一系列連接人與工具的機器人,一些后臺工具和服務(基礎設施)。

                        國外早期的工作溝通工具 HipChat,新秀 Slack 都是作為 ChatOps 承載平臺的好選擇,在中文的環境下,則可以選擇 BearyChat(倍洽)等等。除上文介紹過的 Hubot 之外,還有一些比較成熟的機器人框架,比如 LITA、ErrBot 等。至于機器人后面對接的具體服務則更加數不勝數,以我們自己的團隊舉例,不僅為開發接入了 GitHub、Jenkins,也為產品運營接入了 Trello、Email 等。

                        除對接已有的產品,我們也使用 Hubot 框架對接了內部開發的一些具體的功能,如直接通過命令在聊天窗口查詢待上線列表,實時了解 CPU 的使用狀況等。

                        以上內容整理自 ChatDay 沙龍深圳站,DevOps & ChatOps 專場,來自騰訊、聽云及 BearyChat(倍洽)的四位嘉賓現場分享了工作方式升級,共同探討 DevOps & ChatOps 的共性,并介紹了一些相關實踐案例。

                        四個分享主題回顧:

                        • 劉天斯/騰訊 《DevOps 持續改進之道》
                        • 唐曉敏/倍洽 《關于 ChatOps 應用于團隊溝通方式的討論》
                        • 許吉泉/聽云 《追溯性能問題根源》
                        • 夏天/倍洽 《ChatBots 實踐分享》

                        以上內容可以移步 活動官方團隊 瀏覽或下載,并在團隊中實際體驗 ChatBot 與 ChatOps 的工作方式 :P

                        Realm WorldTour 分享 | 基于 DataBinding 的 MVVM 框架

                        以下的主題內容來自@凱凱楊 在 2017 Realm WorldTour Beijing/Realm 世界之旅北京站上的分享。

                        我們到現場去和 Realm 的工程師與中國的資深用戶、開發者們一起深入的聊了聊在使用方面的體會,當中分享的案例來自于 BearyChat(倍洽) Android 項目 的實戰經驗,既是與同行、同好的交流,也是我們內部對自己工作的一部分總結,在這兩個層面上都有收獲。

                        (熊們強烈要求此處要有凱凱楊的英姿)

                        這一次分享的重點:

                        • MVVM
                        • DataBinding
                        • DataBinding 的不足
                        • DataBinding + Flavor
                        • Realm MVVM

                        MVVM

                        MVVM 是應用最為廣泛的 Android 框架之一,在 Model-View-ViewModel 框架當中,ViewModel 即視圖模型,介于 Model 和 View 之間,是直接服務于 View 的 Model,是改變 View 的變量集合,可以是對數據的進一步封裝。

                        在本文最末附上的 PPT 當中對 MVVM 進行了一個簡短的舉例說明。

                        DataBinding

                        DataBinding 通常會和 MVVM 一起被介紹,讓 MVVM 在 Android 上實現起來顯得不那么別扭。可以這么說,DataBinding 是目前為止,在 Android 項目中實現 MVVM 的最佳方式,在使用 DataBinding 的過程中也會自然的產生一個 ViewModel。

                        同樣,我們在這一部分舉了一個例子說明 DataBinding 在這個過程當中都做了些什么,簡單來說,引入 DataBinding 后大致可以給我們帶來如下好處:

                        • View 可以不再需要 id 和大量的 findViewById,從而也減少了大量的臨時變量;
                        • 讓代碼邏輯歸邏輯,視圖歸視圖,數據歸數據

                        總體來說,基于 DataBinding 的 MVVM 會讓代碼更加整潔、干凈和幽雅。

                        DataBinding 的不足

                        實話說……

                        目前還無法做到在 Menu 中使用 DataBinding :(

                        DataBinding + Flavor

                        通過配置 Flavor,我們可以構建出不同的變體。同樣舉例說明借助 Flavor 我們可以實現:

                        • 配置不同的打包參數
                        • 合并 AndroidManifest
                        • 替換 drawable 以及 asset 文件
                        • 合并 values 文件

                        Realm MVVM

                        Realm 完全可以作為 MVVM 中的數據層: Model,不過在 ViewModel 中使用 Realm 時需要注意多線程的問題:

                        • 同一個 Realm 對象不能跨線程使用
                        • 如果你完全依賴 Realm 的自動更新,那么一定要注意判斷 isValid(),尤其是在 Realm 對象會被刪除的情況下

                        一點總結

                        囿于篇幅限制,本文省略了分享中的相關案例演示,可以加入我們的 活動團隊 進入 #2017Realm北京 討論組下載凱凱楊本次分享的完整 PPT,在 #2016ChatBot北京 討論組中還能發現我們 ChatBot 主題沙龍中的分享資料(這是一個彩蛋),后續我們也將在活動團隊中更新更多線下活動分享內容。

                        3.7.0.0通比牛牛源码
                            <em id="51kis"></em>

                            <dl id="51kis"></dl>
                            <sup id="51kis"></sup>
                              <sup id="51kis"></sup>

                              <dl id="51kis"><ins id="51kis"></ins></dl>

                              <dl id="51kis"><menu id="51kis"><small id="51kis"></small></menu></dl>

                                  <div id="51kis"></div>

                                  <sup id="51kis"></sup>

                                        <em id="51kis"></em>

                                        <dl id="51kis"></dl>

                                          <em id="51kis"></em>
                                          <em id="51kis"></em>

                                          <div id="51kis"></div>
                                          <dl id="51kis"></dl>

                                          <div id="51kis"><tr id="51kis"><object id="51kis"></object></tr></div><sup id="51kis"></sup><em id="51kis"></em>
                                            <sup id="51kis"><menu id="51kis"></menu></sup>
                                              <div id="51kis"></div>

                                                  <em id="51kis"></em>

                                                  <dl id="51kis"></dl>
                                                  <sup id="51kis"></sup>
                                                    <sup id="51kis"></sup>

                                                    <dl id="51kis"><ins id="51kis"></ins></dl>

                                                    <dl id="51kis"><menu id="51kis"><small id="51kis"></small></menu></dl>

                                                        <div id="51kis"></div>

                                                        <sup id="51kis"></sup>

                                                              <em id="51kis"></em>

                                                              <dl id="51kis"></dl>

                                                                <em id="51kis"></em>
                                                                <em id="51kis"></em>

                                                                <div id="51kis"></div>
                                                                <dl id="51kis"></dl>

                                                                <div id="51kis"><tr id="51kis"><object id="51kis"></object></tr></div><sup id="51kis"></sup><em id="51kis"></em>
                                                                  <sup id="51kis"><menu id="51kis"></menu></sup>
                                                                    <div id="51kis"></div>