摘要:起因?qū)τ诖a初學(xué)者來(lái)說(shuō),是一個(gè)很好的網(wǎng)站。所以我想到了一個(gè)方法將自己過(guò)的所有優(yōu)秀項(xiàng)目按倉(cāng)庫(kù)大小代碼量進(jìn)行排序,從代碼量小的項(xiàng)目開(kāi)始研究,逐步提升代碼能力。
起因
??對(duì)于代碼初學(xué)者來(lái)說(shuō),GitHub 是一個(gè)很好的網(wǎng)站。在這里,他們可以學(xué)習(xí)如何更好地寫(xiě)代碼并提高代碼能力,學(xué)習(xí)編碼規(guī)范,各種框架......
??然而對(duì)于像我一下的初學(xué)者來(lái)講,有時(shí)候不知道要如何從 GitHub 的優(yōu)秀項(xiàng)目中學(xué)習(xí)、要從何開(kāi)始閱讀源碼。
??所以我想到了一個(gè)方法: 將自己 star 過(guò)的所有優(yōu)秀項(xiàng)目按倉(cāng)庫(kù)大小( 代碼量 )進(jìn)行排序,從代碼量小的項(xiàng)目開(kāi)始研究,逐步提升代碼能力。
想好了項(xiàng)目的目的,列出以下幾種需要用到的技術(shù):
JavaScript
NodeJs
GitHub API
并找到了一個(gè)極小的 GitHub API 封裝工具: gh.js。
開(kāi)始 安裝項(xiàng)目依賴包# 初始化項(xiàng)目 npm init npm install gh.js # 封裝過(guò)的 GitHub API npm install chalk # 美化終端命令行工具的字體顏色 npm install ora # 優(yōu)雅的終端加載條創(chuàng)建項(xiàng)目入口 index.js
const GitHub = require("gh.js") /** * sortByStarredSize * Sort your personal starred repos by size. * * @name sortByStarredSize * @function * @param {String} username The GitHub username. * @param {String} token An optional access token. * @param {Function} callback The callback function. * @return {gh.js} The `gh.js` instance. */ function sortByStarredSize (username, token, callback) { if (typeof token === "function") { callback = token token = undefined } const gh = new GitHub({ token: token }) gh.get(`users/${username}/starred`, { all: true }, (err, repos) => { if (err) { return callback(err) } repos.sort(function (a, b) { return a.size > b.size ? 1 : -1 }) callback(null, repos) }) return gh } module.exports = sortByStarredSize創(chuàng)建測(cè)試樣例 example.js
const sortGhStarredSize = require(".") // 以大神 Linus Torvalds 的GitHub用戶名torvalds為例 const username = "torvalds" sortGhStarredSize(username, (err, repos) => { console.log(err || repos.map(function(c) { return `${c.full_name} => ${c.size} kb` }).join(" ")) })
運(yùn)行結(jié)果如下:
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/108404.html
摘要:說(shuō)明是一個(gè)基于和開(kāi)發(fā)的評(píng)論插件。默認(rèn)值類型布爾值,選填,類似評(píng)論框的全屏遮罩效果。默認(rèn)值類型布爾值,選填,如果當(dāng)前頁(yè)面沒(méi)有相應(yīng)的且登錄的用戶屬于,則會(huì)自動(dòng)創(chuàng)建。參考類型布爾值,選填,啟用快捷鍵提交評(píng)論。 1. 說(shuō)明 Gitalk 是一個(gè)基于 GitHub Issue 和 Preact 開(kāi)發(fā)的評(píng)論插件。 Gitalk 的特性: 1、使用 GitHub 登錄2、支持多語(yǔ)言 [en, zh-...
摘要:從行,可以看出字符串的存儲(chǔ)結(jié)構(gòu)是字符數(shù)組。如果不相等,則返回兩字符的編碼值的差值第行當(dāng)前字符串和另一個(gè)字符串,依次字符比較。如果均相等,則返回兩個(gè)字符串長(zhǎng)度的差值所以要排序,肯定先有比較能力,即實(shí)現(xiàn)接口。摘要: 原創(chuàng)出處 https://www.bysocket.com 「公眾號(hào):泥瓦匠BYSocket 」歡迎關(guān)注和轉(zhuǎn)載,保留摘要,謝謝!這是泥瓦匠的第103篇原創(chuàng)《程序兵法:Java Str...
摘要:題目來(lái)源前端實(shí)習(xí)生面試總結(jié)最近開(kāi)始了幾次面試,雖然還不知道結(jié)果如何,但是還是要記錄下來(lái)進(jìn)行一個(gè)總結(jié),同樣也希望對(duì)正在準(zhǔn)備面實(shí)習(xí)生的童鞋們有所幫助最后一個(gè)參數(shù)是做什么用的答規(guī)定事件是冒泡還是捕獲。 最近一直在多看基礎(chǔ)的書(shū)多碼代碼準(zhǔn)備找實(shí)習(xí),在網(wǎng)上也搜羅了不少面經(jīng),現(xiàn)在把搜羅到的實(shí)習(xí)生面試題自己整理一下。 題目來(lái)源:前端實(shí)習(xí)生面試總結(jié)最近開(kāi)始了幾次面試,雖然還不知道結(jié)果如何,但是還是要記錄...
摘要:題目來(lái)源前端實(shí)習(xí)生面試總結(jié)最近開(kāi)始了幾次面試,雖然還不知道結(jié)果如何,但是還是要記錄下來(lái)進(jìn)行一個(gè)總結(jié),同樣也希望對(duì)正在準(zhǔn)備面實(shí)習(xí)生的童鞋們有所幫助最后一個(gè)參數(shù)是做什么用的答規(guī)定事件是冒泡還是捕獲。 最近一直在多看基礎(chǔ)的書(shū)多碼代碼準(zhǔn)備找實(shí)習(xí),在網(wǎng)上也搜羅了不少面經(jīng),現(xiàn)在把搜羅到的實(shí)習(xí)生面試題自己整理一下。 題目來(lái)源:前端實(shí)習(xí)生面試總結(jié)最近開(kāi)始了幾次面試,雖然還不知道結(jié)果如何,但是還是要記錄...
閱讀 1452·2021-09-22 16:04
閱讀 2808·2019-08-30 15:44
閱讀 896·2019-08-30 15:43
閱讀 774·2019-08-29 15:24
閱讀 1855·2019-08-29 14:07
閱讀 1143·2019-08-29 12:30
閱讀 1738·2019-08-29 11:15
閱讀 2750·2019-08-28 18:08