1. 程式人生 > >我造了個好大的"輪子",居然還不是"圓"的!

我造了個好大的"輪子",居然還不是"圓"的!

  我造的這個"輪子"指的是集低程式碼開發與運維為一體的平臺,為什麼說它不是"圓"的,因為它有些與眾不同,甚至可以說是有些另類。至於為什麼造這個"輪子",以及另類在什麼地方且聽我慢慢道來。

一、痛苦的編碼歲月

  我是一個70後碼農,開發過不計其數的系統,小到進銷存大到電商、物聯網甚至是省級平臺。每次專案開始都要經歷從技術選型、架構設計、開發、測試及最終生產環境部署運維等多個步驟。小專案還好隨便一個單體架構就可以搞定,大專案特別是資料量較大的不仔細設計並考慮效能與擴充套件,隨隨便便就能把系統玩死。日復一日年復一年的編碼,還得時時擔心繫統crash真是讓我身心疲憊。

二、靜下心來的思考

  為什麼?為什麼碼農就需要這麼累?為什麼會沒有銀彈,哪怕是近似的東東?我又到底需要什麼?

天下武功唯快不破

  • 我需要的是能夠快速的從無到有的開發出一套系統的工具,並且能夠快速部署。

簡單的才是最美的

  • 我需要的是適用於中小規模的簡單架構,並且依賴的技術越少越好。

唯一不變的是變化

  • 我需要的是能夠隨時適應需求變化,並且能夠按需擴充套件的分散式架構。

一切盡在掌握

  • 我需要的是能夠輕鬆掌握的系統狀態,並且能儘早發現問題及時告警。

三、苦苦的尋找

  經歷過痛苦與思考,才知道自己想要的是什麼,因而我開始了漫長的尋找與學習過程。先是瞭解各類開發語言(包括可能您都沒有聽過的Vala),熟悉其優勢、弱勢及適用場景。然後學習各種類庫及框架,只要覺得能加速開發過程便會研究一番並嘗試應用於專案中。最後開始接觸各類零程式碼低程式碼開發平臺,包括國外的OutSystems,國內的起點等。但這些開發平臺有些授權費用高,有些有各種各樣的限制只能適用於特定場景,且大都是單體架構無法擴充套件,效能一般般對硬體的要求又高。總之沒有我認為完美的技術或組合是我所需要的,難道真的應了“沒有銀彈”,只能繼續疲憊下去。可我偏偏是個比較偏執的人,沒有咱就來造一個,哪怕是隻提高10%的效率減少10%的成本那就有意義。

四、擼起袖子直接幹

  一開始我只是想參照一些快速開發平臺實現類似的功能,並且遵循“物得其所”的原則支援不同的儲存技術(Sql, NoSql, 物件儲存)。在此基礎上我實現了一個版本(代號AppBox),但在實現過程中為了適配各類儲存技術及相應的api我煩不勝煩,另外這麼多技術疊加在一起對整個架構的部署與運維造成了不小的麻煩,總是覺得不完美太Low。

  既然選擇了造輪子,何不造個大一點的。所以我又開始動起了儲存的念頭,在學習了NewSql與NoSql技術後,我決定基於Raft與RocksDB直接實現分散式的儲存整合在框架內,這樣的話關係型資料、半結構化資料、非結構化資料的儲存一併搞定。簡單!完美!

五、未來在招手

  “路漫漫其修遠兮,吾將上下而求索”,目前原型總算是有點模樣了,雖開啟程式碼滿屏的TODO,但我抱著愚公移山的態度,相信只要每天碼一點,總有一天碼出一個近似完美的“巨輪”,也藉此尋求志同道合者來共同完成這個“輪子”,共同實現Enjoy coding! Enjoy life!

相關推薦

的"輪子",居然是""的!

  我造的這個"輪子"指的是集低程式碼開發與運維為一體的平臺,為什麼說它不是"圓"的,因為它有些與眾不同,甚至可以說是有些另類。至於為什麼造這個"輪子",以及另類在什麼地方且聽我慢慢道來。 一、痛苦的編碼歲月   我是一個70後碼農,開發過不計其數的

@程式設計師,你們在用網上亂找的方法匯入匯出Excel麼,我們給你輪子!!!!!

程式設計師的顯著特點 有一天跟一位同事跟我閒聊,討論起過去若干年軟體行業的感受,他問了個問題:你覺得一個好的軟體工程師最顯著的特點是什麼? 我想了一會,說:大概是坐得住吧。 某種意義上來說,在網際網路技術飛速發展的今天,資訊的洪流總是無聲無息間把我們掩埋,一不小心,可能就感覺自己似乎已經out了。 當然,資訊

嘗試工具類庫,名為 Diana

叠代 引用 type eof 靜態 註意 form process 默認 項目地址: diana 文檔地址: http://muyunyun.cn/diana/ 造輪子的意義 為啥已經有如此多的前端工具類庫還要自己造輪子呢?個人認為有以下幾個觀點吧: 定制性強,能

Ants UVA - 1411(竟然讓板子)

bool print uva sqrt ostream algorithm pre 一次 lac 題意:   給出n個白點和n個黑點的坐標,要求用n條不相交的線段把它們連接起來,其中每條線段恰好連接一個白點和一個黑點,每個點恰好連接到一條線段 解析:   帶入負的歐幾裏得距

發現一個用免費的小程式客服系統!

尋求一款比微信小程式自帶客服功能強一點,免費的小程式客服系統!本人不懂程式碼,想先找一個免費的體驗下,能實現以下效果就行! ① 自動回覆:比如開啟客服回覆,關鍵詞回覆,收到訊息回覆!(靈活設定) ② 關鍵詞回覆:具備統計功能(方便預估活動效果) ③ 使用者管理:打標

青紅小白之成長記

1. 基礎概念篇 1.1 介紹   HTTP是Hyper Text Transfer Protocol(超文字傳輸協議)的縮寫。它的發展是全球資訊網協會(World Wide Web Consortium)和Internet工作小組IETF(Internet Engine

希望有的開始,然後保持熱情直到結束

(1)mqttj簡介 MQTT(Message Queuing Telemetry Transport,訊息佇列遙測傳輸)是IBM開發的一個即時通訊協議,有可能成為物聯網的重要組成部分。該協議支援所有平臺,幾乎可以把所有聯網物品和外部連線起來,被用來當做感測器

歐盟搞農業資料專案DataBio 國內相關行業依然冷清

【資料猿導讀】 近幾年來,除了國家在農業大資料加大了投入之外,國內市場上關於農業大資料的創業企業

曹工說mini-dubbo(1)--為了實踐動態代理,簡單的rpc框架

#相關背景及資源: 之前本來一直在寫spring原始碼解析這塊,如下,aop部分剛好寫完。以前零散看過一些文章,知道rpc呼叫基本就是使用動態代理,比如rmi,dubbo,feign呼叫等。自己也就想著試一下,於是有了mini-dubbo這個東西,暫時也不能稱為一個框架,因為還不是生產級的,目前只是實現了一

國慶期間,臺計算機

![](https://img-blog.csdnimg.cn/20201008091208758.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3l

女朋友老是埋怨技術不行,於是輔助工具。

事件起因 ❝ 女朋友平時酷愛王者榮耀,所以她沒事的時候也喜歡拉拉我打兩把,這不前段時間還買了一個王者榮耀的李白聯名口紅向我炫耀,心裡不免有點吃醋,一個3D人物能有真人賞心悅目嗎?於是我暗下決心,決定苦練農藥技巧,在她面前秀上一把。其實對於王者榮耀,我的技術也不算太差,和她一起玩的時候總能拿到MVP,就是贏不了

上週三年 Javaer,這幾問題都沒答出來

身為 Java Web 開發我發現很多人一些 Web 基礎問題都答不上來。 上週我面試了一個三年經驗的小夥子,一開始我問他 HTTP/1、HTTP/2相關的他到是能答點東西出來。 後來我問他:你知道 HTTP 的本質是什麼嗎? 他支支吾吾答不出來。 我接著問那你知道什麼是 HTTP 和 RPC 的關

前百度IT程式設計師在程式碼裡埋永垂不朽的彩蛋,現在能搜到

把梗埋在程式碼裡,最多一兩年就沒了,在 API 裡,也許能撐個三五年,但是如果把梗埋在基礎通訊協議握手驗證欄位裡,就能永垂不朽了…… 我2006年在百度實習的時候做百度搜藏(還有人記得這個東西麼),彼時 tech lead 福至心靈想要設計一個新的通用的一點的 RPC 協議。最後不知為什

在冷風中凌亂半小時,只因健康碼刷出來

## 聊聊小背景 前幾天的早晨我早寫字樓門口乾等了半小時,背後的原因竟然是健康碼的二維碼刷不出來,保安小哥還一直跟我講,支付寶出不來你用微信啊,用微信啊。。 他們用的相同的介面,我用微信有卵用啊,冷風中我甩了甩僅有的幾根秀髮,揚長而去。。。 作為程式設計師的我就開始了內心的吐槽大會:這咋做的啊,不行呀,

洗車間味道很怎麽辦?試試Isopar碳氫清洗劑

media 簡單 滿意度 產品 委托 法規 dia 使用 味道 身邊會有朋友抱怨自己所處的洗車間氣味過大,該如何處理。氯化溶劑及傳統溶劑的味道的確很大,但我們的脫芳烴、異構烷烴類的清洗劑氣味非常低,安全高效。碳氫清洗劑雖有可燃性,但在實際工作環境中,可以通過各種解決方案來預

十年軟體測試,為什麼工資漲!

你以為自己有十年工作經驗,不過是一個經驗用十年罷了。 1.不想、不會、不能,絕大多數人都在被動成長 為什麼絕大多數人都會被動成長呢? 什麼是被動成長? 有這麼一個職場段子: 一個人跑去問老闆:我都有十年工作經驗了,為什麼您還不給我漲薪水呢? 老闆回

跟王思聰熱狗圖一樣熱的Redis,趕緊來Get一下?

  前言   不禁喊出一句ig牛逼!哈哈哈 這個話題是不是有點過時了?但說到Redis,真的是被強行灌輸的,到處都會被安利Redis,嚇得只會mysql和oracle的我,趕緊去get一波..   資料庫種類   關係型資料庫   常用的關係型資料庫:mysql oracle   特點:   

深度分析100案例後,總結2018年區塊鏈技術的5發展趨勢!

區塊鏈構建了不可篡改的密碼學賬本,實現真正意義上的去中心化信任。過去,以比特幣為代表的區塊鏈技術1.0解決了支付手段去中心化的問題。現在,區塊鏈技術已經進入了引領整個市場去中心化的區塊鏈技術2.0時代,它將通過轉換不同的數字資產,通過資產轉讓建立不同資產的價值。智慧合約智慧合

Centos下防止ssh暴力破解密碼的方法,有兩第一種,效果很

公司伺服器檢視/var/log/secure 檔案可以看到很多認證失敗的Failure的ip登入資訊。所以想到根據secure檔案檢視失敗的ip如果超過五次,那麼就把此ip寫入/etc/hosts.deny檔案,禁止此ip登入。我用了第一種方法,設定了定時任務,每分鐘執行

新來的"神"用策略模式把if else給"優化",技術總監說:能能想再改?

本文來自作者投稿,原作者:上帝愛吃蘋果 > 目前在魔都,貝殼找房是我的僱主,平時關注一些 java 領域相關的技術,希望你們能在這篇文章中找到些有用的東西。個人水平有限,如果文章有錯誤還請指出,在留言區一起交流。 我想大家肯定都或多或少的看過各種“策略模式”的講解、佈道等等,這篇文章就是來好好“澄清