原创 Graphql實戰系列(下)

前情介紹 在《Graphql實戰系列(上)》中我們已經完成技術選型,並將graphql橋接到凝膠gels項目中,並動態手寫了schema,可以通過 http://localhost:5000/graphql 查看效果。這一節,我們根據數據庫

原创 leetcode-019-刪除鏈表倒數第N個結點(Remove Nth Node From End of List)

leetcode第19題 Given a linked list, remove the n-th node from the end of list and return its head.給定一個鏈表,刪除鏈表的倒數第 n 個節點,並且

原创 typescript 3.2 新編譯選項strictBindCallApply

突發錯誤 我的gels項目(https://github.com/zhoutk/gels),幾天沒動,突然tsc編譯出錯,信息如下: src/app.ts:28:38 - error TS2345: Argument of type 'an

原创 簡單易用的leetcode開發測試工具(npm)

描述 最近在用es6解leetcode,當問題比較複雜時,有可能修正了新的錯誤,卻影響了前面的流程。要用能用的測試工具,卻又有殺雞用牛刀的感覺,所以就寫了個簡單易用的leetcode開發測試工具,分享與大家。 工具安裝 npm i leet

原创 一種巧妙的對象映射關係設計--JSON-ORM

項目介紹 這是標準數據庫封裝的上半部分,智能查詢(JSON-ORM)的實現。完整代碼:https://github.com/zhoutk/gels 設計思路 我們通用的ORM,基本模式都是想要脫離數據庫的,幾乎都在編程語言層面建立模型,由程

原创 智能微服務的設計與開發(node.js)

設計目標 基於koa2、關係數據庫(暫時只支持mysql)建立的智能微服務快速開發框架,將同時支持graphql與rest標準,使用typescript語言編寫,力求安全、高效。 相關開源項目(gels -- 凝膠),希冀該項目能成爲聯

原创 運用typescript進行node.js後端開發精要

序言 計算機編程是一個實踐性很強的“遊戲”,對於新入門者,好多人都在想,哪一門編程語言最好,我該從哪開始呢?我的回答是:語言不重要,理解編程思想纔是最關鍵的!所有編程語言都支持的那一部分語言特性(核心子集)纔是最核心的部分。所以從實際情況出

原创 如何學習一門計算機編程語言

序言 計算機編程是一個實踐性很強的“遊戲”,對於新入門者,好多人都在想,哪一門編程語言最好,我該從哪開始呢?我的回答是:語言不重要,理解編程思想纔是最關鍵的!所有編程語言都支持的那一部分語言特性(核心子集)纔是最核心的部分。所以從實際情況出

原创 typescript模塊導入與全局變量踩坑日誌

背景 在調整typescript項目結構,全局變量儘量少用,但還是必不可少的,既要合理的引入,又要能用上vscode的智能提示。上篇日誌已經記錄了,在vscode中開發,全局變量的定義與聲名是分開的,要做好對應。 需求描述 全局自定義工具

原创 golang實現mysql數據庫備份

背景 navicat是mysql可視化工具中最棒的,但是,在處理視圖的導入導出方面,它是按照視圖名稱的字母順序來處理的,若視圖存在依賴,在導入過程中就會報錯。前面已經用python寫了一個,但在使用過程中,遇到xfffd編碼,python的

原创 使用vscode寫typescript(node.js環境)起手式

動機 一直想把typescript在服務端開發中用起來,主要原因有: javascript很靈活,但記憶力不好的話,的確會讓你頭疼,看着一月前自己寫的代碼,一臉茫然。 類型檢查有利有敝,但在團隊開發中,限制個人的天馬行空還是很有效的; n