<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          編程之路無(wú)捷徑!「編程雜感」第 3 期

          共 3084字,需瀏覽 7分鐘

           ·

          2020-12-17 00:14

          拍攝于去往上海的路上

          這張圖片拍攝于去往上海的路上。這次去上海主要是為了陪學(xué)姐參加公考,順便也可以感受一下這個(gè)大都市。

          國(guó)內(nèi)的一些旅游景點(diǎn)倒是去過(guò)很多,但是像上海這種量級(jí)的大都市倒是還沒(méi)有去過(guò)。

          整個(gè)行程大概 4 個(gè)多小時(shí),偷閑,我玩了幾把王者榮耀,卡的實(shí)在不行。于是,便在車(chē)上寫(xiě)下了這篇文章。

          這是一篇比較輕松的文章,我會(huì)簡(jiǎn)單總結(jié)一下近期的思考,分享一些“有價(jià)值”的東西。

          廢話不多說(shuō)!希望下面的分享對(duì)你能有啟發(fā)。

          堅(jiān)持原創(chuàng)不易,有幫助的話,歡迎點(diǎn)贊分享鼓勵(lì)~愛(ài)你們~

          思考

          編程之路,沒(méi)有捷徑

          我發(fā)現(xiàn)有很多人經(jīng)常會(huì)問(wèn)我一些不切實(shí)際的問(wèn)題,比如:“如何 1/2/3 個(gè)月之內(nèi)快速精通 Java?”、“如何在 1/2/3 個(gè)月快速上岸大廠?”…… 。我個(gè)人對(duì)于提這些問(wèn)題的人是有偏見(jiàn)的,第一印象是覺(jué)得這種人有點(diǎn)不太適合程序員這個(gè)行業(yè)。

          所以,碰到這種問(wèn)題,我往往也會(huì)簡(jiǎn)單回一個(gè):“編程沒(méi)有捷徑,踏踏實(shí)實(shí)才是王道”。并且,還會(huì)以我的方式簡(jiǎn)單 “diss” 一下這類(lèi)人。這里的“diss” 并不是指不尊重,而是指出你認(rèn)為別人存在問(wèn)題的地方。

          好話大家都會(huì)說(shuō),但是,讓你成長(zhǎng)的往往是那些不太好聽(tīng)的話。

          面對(duì) “diss”, 質(zhì)疑的話就勇敢正面剛!千萬(wàn)不要因?yàn)閯e人一兩句 diss 就崩潰了,覺(jué)得生活沒(méi)有愛(ài)了,開(kāi)始懷疑自己了。

          還有很多人,仗著自己各種“高級(jí)”的理論知識(shí)比較豐富,出口就是高并發(fā)、分布式、微服務(wù)各種“高大上”的名詞。

          然后,人家就對(duì)寫(xiě) CRUD 的業(yè)務(wù)代碼不屑一顧??!結(jié)果,自己領(lǐng)了一個(gè)簡(jiǎn)單的任務(wù)卡,拖了很久沒(méi)做完,做完之后一測(cè)試,一堆 Bug,還有各種編碼不規(guī)范的問(wèn)題。

          我相信,我上面列舉的兩個(gè)例子大家都遇到過(guò)。

          其實(shí),像高并發(fā)、分布式、微服務(wù)這些東西,隨便給一個(gè)有經(jīng)驗(yàn)的工程師,學(xué)兩三個(gè)星期,基本是可以把大部分重要的 理論知識(shí) 走一遍。

          但是,像你的編碼能力、業(yè)務(wù)理解能力、解決問(wèn)題的能力,這些真不是能在短時(shí)間內(nèi)掌握的。

          所以,平時(shí)工作中一定要多學(xué)習(xí)、多思考,要走的路很長(zhǎng)。自信要有,但是在技術(shù)上一定要謙虛一點(diǎn),不要自我感覺(jué)自己技術(shù)已經(jīng)非常厲害了。

          我發(fā)現(xiàn)我身邊一些技術(shù)巨佬比如 Apache 頂級(jí)項(xiàng)目 commiter 都是非常謙虛的,經(jīng)常會(huì)讓我誤以為他們很菜(當(dāng)然了,這是我的錯(cuò)覺(jué))。

          編程之路沒(méi)有捷徑!但是,我們可以找到一個(gè)屬于自己的學(xué)習(xí)方法/套路??梢越梃b別人的經(jīng)驗(yàn),但是不要生拿硬套在自己身上。

          不要把自己局限在技術(shù)上

          技術(shù)作為我們程序員的核心競(jìng)爭(zhēng)力,毋庸置疑,非常重要!但是,不要把自己的“束縛”在“技術(shù)”上,被“技術(shù)”綁架。

          技術(shù)本身往往不會(huì)產(chǎn)生價(jià)值,必須依托于產(chǎn)品才能體現(xiàn)。 比如你是一個(gè)提供技術(shù)服務(wù)的公司,你創(chuàng)造的技術(shù)產(chǎn)品有人買(mǎi)單或者有人使用。再比如你是一個(gè)普通的互聯(lián)網(wǎng)公司,你們通過(guò)技術(shù)創(chuàng)造了某個(gè)熱門(mén) App 為公司創(chuàng)造了營(yíng)收。

          但是,我們大多數(shù)人喜歡在技術(shù)上自嗨,這當(dāng)然也包括我自己。

          拿我自己來(lái)說(shuō),我覺(jué)得在技術(shù)之外,我還需要提高自己的產(chǎn)品設(shè)計(jì)能力、演講能力、理財(cái)能力……。

          產(chǎn)品設(shè)計(jì)能力,一是為以后自己可能獨(dú)立做產(chǎn)品做下鋪墊,二是這個(gè)在日常工作中也會(huì)用到。

          演講能力和理財(cái)能力就不用多說(shuō)了吧!當(dāng)代社會(huì)必備的能力。

          往美好的方向講,技術(shù)是為了讓人們的生活更好?,F(xiàn)實(shí)來(lái)說(shuō),技術(shù)就是為了幫助公司創(chuàng)造更多利潤(rùn)。

          另外,技術(shù)更新?lián)Q代太快,但是,底層技術(shù)比如數(shù)據(jù)結(jié)構(gòu)和算法、計(jì)算機(jī)組成原理、操作系統(tǒng)的內(nèi)容其實(shí)一直沒(méi)怎么改變的。就那些東西。

          當(dāng)自己年齡上來(lái)之后或者成家之后,自己投入在技術(shù)上的時(shí)間一定是會(huì)減少的。為了避免自己未來(lái)產(chǎn)生“技術(shù)焦慮” ,還是要把這些底層?xùn)|西給吃透??!

          技術(shù)

          聊聊最近遇到的一些有價(jià)值的東西。

          對(duì)開(kāi)發(fā)人員有用的定律、理論、原則和模式

          Github 上有一個(gè)叫做 hacker-laws-zh 開(kāi)源項(xiàng)目就總結(jié)了對(duì)開(kāi)發(fā)人員有用的定律、理論、原則和模式。非常有價(jià)值的內(nèi)容,一定要看看。

          原倉(cāng)庫(kù)地址:https://github.com/nusr/hacker-laws-zh 。
          中文翻譯版地址:https://github.com/nusr/hacker-laws-zh。

          相關(guān)閱讀:有哪些編程定律/原則是程序員必須了解的? 。

          Swagger 增強(qiáng)方案

          Swagger 就是一套基于 OpenAPI 規(guī)范構(gòu)建的開(kāi)源工具,可以幫助我們?cè)O(shè)計(jì)、構(gòu)建、記錄以及使用 Rest API。前后端分離的情況下,一份 Rest API 文檔將會(huì)極大的提高我們的工作效率。但是,Swagger 原生提供的界面使用體驗(yàn)比較差。

          常用的增強(qiáng) Swagger 的方案有下面兩種:

          1. YApi :YApi 是一個(gè)可本地部署的、打通前后端及 QA 的、可視化的接口管理平臺(tái)??梢詭椭覀冏?swagger 頁(yè)面的體驗(yàn)更加友好,目前很多大公司都在使用這個(gè)開(kāi)源工具。項(xiàng)目地址:https://github.com/YMFE/yapi 。使用方法:當(dāng) Swagger 遇上 YApi,瞬間高大上了!

          2. Knife4jSwagger 生成 Api 文檔的增強(qiáng)解決方案,前身是 swagger-bootstrap-ui 。官方文檔:https://xiaoym.gitee.io/knife4j/documentation/ 。

          分布式事務(wù)

          數(shù)據(jù)庫(kù)事務(wù)可以保證多個(gè)對(duì)數(shù)據(jù)庫(kù)的操作(也就是 SQL 語(yǔ)句)構(gòu)成一個(gè)邏輯上的整體。構(gòu)成這個(gè)邏輯上的整體的這些數(shù)據(jù)庫(kù)操作遵循:要么全部執(zhí)行成功,要么全部不執(zhí)行 。

          但是,微服務(wù)架構(gòu)下,一個(gè)系統(tǒng)被拆分為多個(gè)小的微服務(wù)。每個(gè)微服務(wù)都可能存在不同的機(jī)器上,并且每個(gè)微服務(wù)可能都有一個(gè)單獨(dú)的數(shù)據(jù)庫(kù)供自己使用。這種情況下,一組操作可能會(huì)涉及到多個(gè)微服務(wù)以及多個(gè)數(shù)據(jù)庫(kù)。

          這個(gè)時(shí)候單單依靠數(shù)據(jù)庫(kù)事務(wù)就不行了!我們就需要引入 分布式事務(wù) 這個(gè)概念了!

          實(shí)際上,除了我們上面提到的服務(wù)拆分(微服務(wù))的場(chǎng)景,像 數(shù)據(jù)庫(kù)水平拆分(分庫(kù)分表) 這種場(chǎng)景的話也是需要引入分布式事務(wù)的。

          一言蔽之,分布式事務(wù)的終極目標(biāo)就是保證系統(tǒng)中多個(gè)數(shù)據(jù)庫(kù)中的數(shù)據(jù)的一致性!

          分布式事務(wù)的解決方案有很多,比如:2PC3PC、TCC本地消息表、MQ 事務(wù)Saga 等等。

          針對(duì)分布式事務(wù),業(yè)內(nèi)比較不錯(cuò)的開(kāi)源項(xiàng)目:

          1. ByteTCC ? : ByteTCC 是基于 Try-Confirm-Cancel(TCC)機(jī)制的分布式事務(wù)管理器的實(shí)現(xiàn)。相關(guān)閱讀:關(guān)于如何實(shí)現(xiàn)一個(gè) TCC 分布式事務(wù)框架的一點(diǎn)思考
          2. Seata :Seata 是一款開(kāi)源的分布式事務(wù)解決方案,致力于在微服務(wù)架構(gòu)下提供高性能和簡(jiǎn)單易用的分布式事務(wù)服務(wù)。
          3. Hmily ?: 金融級(jí)分布式事務(wù)解決方案

          搞懂了理論之后,可以研究一下以上項(xiàng)目的源碼實(shí)現(xiàn)。

          掃描下方二維碼回復(fù)“PDF”即可獲取圖解計(jì)算機(jī)基礎(chǔ)+個(gè)人原創(chuàng)的 Java 面試手冊(cè)。

          最近寫(xiě)的一些干貨,每篇都很用心,歡迎各位小伙伴閱讀/點(diǎn)贊/分享:

          1. ?一份熱乎的 SpringBoot 前后端分離后臺(tái)管理系統(tǒng)分析!分模塊開(kāi)發(fā)、RBAC權(quán)限控制...

          2. ?讀者秋招上岸百度客戶端開(kāi)發(fā)經(jīng)驗(yàn)分享(下)

          3. ?同事自研了一款操作系統(tǒng)—「編程雜感」第 2 期

          4. ?3種緩存讀寫(xiě)策略都不了解?面試很難讓你通過(guò)啊兄弟!


          我是Guide哥,Java后端開(kāi)發(fā),會(huì)一點(diǎn)前端知識(shí),喜歡烹飪,自由的少年。一個(gè)三觀比主角還正的技術(shù)人。我們下期再見(jiàn)!

          瀏覽 96
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  99XXX精品视频 | 一区二区三区三区无码 | 九九成人网站 | chengrenavyingyin | 日韩高清一级无码 |