成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

WakaTime數(shù)據(jù)同步展示工具

focusj / 798人閱讀

摘要:從年知道后就開始使用它來記錄自己的編碼時間,但作為免費版只能查看最近兩周的數(shù)據(jù),于是很久之前就寫了一個程序同步自己的歷史數(shù)據(jù),不過一直沒找到合適的圖表插件像官網(wǎng)那樣展示數(shù)據(jù)信息。版本的代碼也實現(xiàn)了相關(guān)的同步展示邏輯,代碼在分支中。

從16年知道 WakaTime 后就開始使用它來記錄自己的編碼時間,但作為免費版只能查看最近兩周的數(shù)據(jù),于是很久之前就寫了一個程序同步自己的歷史數(shù)據(jù),不過一直沒找到合適的圖表插件像官網(wǎng)那樣展示數(shù)據(jù)信息。前些日子咨詢了一下同事,得知了用 antv 可以繪制對應(yīng)的圖表數(shù)據(jù),剛好現(xiàn)在也處于失業(yè)階段,就花了幾天時間又重新做了一個項目用于同步和展示 WakaTime 數(shù)據(jù)。
WakaTime WakaTime簡介

WakaTime 是一款可以記錄你的編碼時間的工具,目前支持絕大部分主流的 IDE 以及 Chrome 瀏覽器。

使用步驟

注冊 WakaTime 賬號;

在官網(wǎng)找到對應(yīng)的 IDE 插件,按照步驟安裝 WakaTime 插件(下圖中灰色表示目前官方還不支持):

在個人設(shè)置頁面復(fù)制 Secret API Key ,填入對應(yīng)的 WakaTime 插件中;

過一段時間后,你就可以在 WakaTime 網(wǎng)站上看到你的編碼情況,如下圖所示:

wakatime-sync項目 項目簡介

WakaTime 提供了豐富多樣的圖表可以多維度地查看自己的編碼時間情況。不過作為免費用戶,最多只能查看自己最近14天的數(shù)據(jù);如果要查看全部的數(shù)據(jù),需要 $9/月的訂閱費用。

還好 WakaTime 提供了 API 接口,通過接口可以獲取到編碼時間統(tǒng)計情況的原始數(shù)據(jù)(作為免費用戶還是有只能查看最近14天數(shù)據(jù)的限制)。

本項目通過 WakaTime 提供的 API 接口,可以把自己的 WakaTime 數(shù)據(jù)保存在的數(shù)據(jù)庫中,然后利用圖表插件展示出來,目前已完成三種類型的圖表展示:

每日項目持續(xù)時間圖:

時間范圍內(nèi)活動情況:

每日編碼耗時日歷圖:

項目地址

GITHUB: https://github.com/wf2311/wakatime-sync

碼云: https://gitee.com/wf2311/wakatime-sync

所用技術(shù)

后端:JDK1.8、SpringBoot、Jodd-HTTP、Thymeleaf;

數(shù)據(jù)庫:MySQL 5.7;

前端:Moment.js、ElementUI、AntV-G2 、Echarts;

通知服務(wù):Server醬、釘釘機器人

項目邏輯比較簡單,就是每天會定時通過 WakaTime 的 API 抓取并保存前一天的數(shù)據(jù),再通過圖標插件展示出來。之后還會完善接口緩存、同步通知等功能;

同時使用了 AntV-G2 和 Echarts 的原因是因為持續(xù)時間圖可以用 AntV-G2 實現(xiàn),但日歷圖用 AntV-G2 實現(xiàn)過于復(fù)雜,就采用了用 Echarts 實現(xiàn)日歷圖;

另外本項目最初是的數(shù)據(jù)庫是 MongoDB ,但是考慮到通用性和易用性后來又換成了 MySQL。MongoDB 版本的代碼也實現(xiàn)了相關(guān)的同步展示邏輯,代碼在 mongodb 分支中。

使用方法

替換或設(shè)置好src/main/resources/application.yml配置文件中的wakatime.app.keyspring.datasource.* 相關(guān)數(shù)據(jù)庫配置,采用 maven 打包的方式安裝即可,支持 Docker 方式安裝。

數(shù)據(jù)庫建庫腳本位于sql/wakatime_sync.sql中。

數(shù)據(jù)庫使用 MongoDB 的版本位于分支 mongdb 中。

示例地址:https://wakatime.wangfeng.pro/。

消息通知

系統(tǒng)中有一個定時任務(wù),會在每天早上09:00會根據(jù)配置信息想釘釘或微信發(fā)送上一天的編碼時間信息;
需要在application.yml配置對應(yīng)的參數(shù):

Server醬微信通知:按照Server醬網(wǎng)站說明獲得一個SCKEY,設(shè)置成wakatime.ftqq-key的值;

釘釘機器人通知:在要獲得提醒的釘釘群里面生成一個自定義機器人,將機器人的 Hook 地址中的 access_token 的值設(shè)置成wakatime.dingding-key的值;

如果不想使用對應(yīng)的消息通知,請將application.yml中對應(yīng)的參數(shù)注釋掉或?qū)⒅抵脼榭?/strong>

可能會遇到的問題

由于本項目采用的是SpringBoot 2,對應(yīng)的 mysql-connector-java 驅(qū)動使用的是MySQL服務(wù)端的時區(qū),如果你使用的MySQL的時區(qū)和你程序中的時區(qū)以及你在 WakaTime 個人設(shè)置中的時區(qū)不一致,就會導(dǎo)致保存的相關(guān)數(shù)據(jù)中時間不準,解決辦法就是首先調(diào)整好 WakaTime 個人設(shè)置里的時區(qū),再調(diào)整 MySQL 數(shù)據(jù)庫的時區(qū),或者是使用 5.X版本的mysql-connector-java驅(qū)動。

如果你一直在使用 WakaTime ,如果想使用本項目同步你所有的歷史數(shù)據(jù),可以在官網(wǎng)上試用團隊版的方式獲得1個月(還是半個月?)的付費版功能或者是訂閱一個月的付費版,然后通過本項目來同步所有的歷史數(shù)據(jù):POST /api/v1/sync 或參見項目中的測試方法。使用測試方法進行時不能同時使用太多的線程去同時調(diào)用 API 接口,會被限流。

TODO

查詢接口緩存;

可以對項目名稱設(shè)置別名展示;

結(jié)語

如果本項目對你有用的話,歡迎在 GITHUB 或碼云上 star,也歡迎對項目提出修改意見和建議。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/73086.html

相關(guān)文章

  • 提高 JavaScript 開發(fā)效率的高級 VSCode 擴展之二!

    摘要:將這些命令綁定到鍵盤快捷鍵是有幫助的,例如向上箭頭用于平衡向外,而向下箭頭用于平衡向內(nèi)。是和的快速原型開發(fā)平臺。 本系列的第一篇可以在這里看到: 提高 JavaScript 開發(fā)效率的高級 VSCode 擴展! showImg(https://segmentfault.com/img/bVbnn2j?w=1254&h=768); 想閱讀更多優(yōu)質(zhì)文章請猛戳GitHub博客,一年百來篇優(yōu)質(zhì)...

    cyrils 評論0 收藏0
  • 一些你所不知道的VS Code插件

    摘要:摘要你所不知道的系列。允許你寫入縮寫代碼并返回的相應(yīng)標記,目前已經(jīng)內(nèi)置,所以不用配置了。自從年雙十一正式上線,累計處理了億錯誤事件,付費客戶有金山軟件百姓網(wǎng)等眾多品牌企業(yè)。摘要: 你所不知道的系列。 原文:提高 JavaScript 開發(fā)效率的高級 VSCode 擴展之二! 作者:前端小智 Fundebug經(jīng)授權(quán)轉(zhuǎn)載,版權(quán)歸原作者所有。 作為一名業(yè)余愛好者、專業(yè)人員,甚至是每月只有一次編...

    Near_Li 評論0 收藏0
  • 《HelloGitHub》第 68 期

    摘要:整個項目簡單還具有實用價值,可作為的實戰(zhàn)項目學(xué)習(xí)的調(diào)試工具欄。查看文檔自動在個人首頁展示編程時長的工具。通過學(xué)習(xí)這些前沿的人工智能論文,提前了解在未來更多可能性可以將圖片和視頻轉(zhuǎn)換成漫畫風格的工具。興趣是最好的老師,HelloGitHub 讓你對編程感興趣!簡介HelloGitHub 分享 GitHub 上有趣、入門級的開源項目。https://github.com/521xueweihan...

    番茄西紅柿 評論0 收藏2637
  • 裝B利器:2016時間都去哪了?

    摘要:檢測在電腦上花費的時間,干了什么這個軟件支持平臺,需要在機器上裝上客戶端,然后按照說明做下去,你就會在他們的官網(wǎng)上看到一個,記錄你做了什么。檢測你在編輯器上做了什么,非常詳細,支持很多編輯器。 1 rescuetime 檢測在電腦上花費的時間,干了什么 https://www.rescuetime.com/da...這個軟件支持win,mac,linux平臺,需要在機器上裝上客戶端,然...

    gaara 評論0 收藏0
  • VS code-前端配置_022

    摘要:前端配置簡體中文插件,一般會自動識別你的環(huán)境,自動提示是否需要簡體中文的語言包。使用插件將目前配置保存到上,以后只需要從上獲取,就可以一次性安裝插件配置信息。 VS code-前端配置 showImg(https://segmentfault.com/img/bVbuK6l?w=1224&h=999); Chinese (Simplified) Language Pack for Vi...

    cyrils 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<