1.Mac搭建grafana二次开发环境操作教程(文详解)
2.「VS Code 整活」100行代码,源码写一个超实用的次开悬浮翻译插件
3.gennia.io 开发小记
4.微信å°ç¨åºå¼åç¨ä»ä¹è¯è¨å¾®ä¿¡å°ç¨åºå¼åç¨ä»ä¹è¯è¨ï¼
5.webå端主è¦å¦ä¹ ä»ä¹ï¼
6.让练习打字这件事不那么枯燥,你可以试试这几个网站
Mac搭建grafana二次开发环境操作教程(文详解)
Grafana是源码开源的图表数据展示系统,可以配置很多的次开dashboard,还可以下载别人已经配置好的源码dashboard。这篇博客介绍下如何在mac下搭建grafana的次开源码修改视频二次开发环境。
一、源码安装grafana首先,次开我们可以通过brew把grafana安装到系统里,源码来看一看这个开源系统的次开功能。
如果你的源码brew是直接可用的,就在terminal中直接运行下面的次开命令,否则,源码需要先brewupdate一下。次开
brewinstallgrafana装好以后,源码通过如下命令可以启动grafana
brewservicesstartgrafana然后打开localhost:,看到下面的图,就可以了。
初始账号密码是admin/admin。
通过下面的命令可以关闭和重启grafana
brewservicesstopgrafanabrewservicesrestartgrafana二、搭建grafana的开发环境grafana依赖node和go,需要先安装好node和go。
1、vue watcher源码安装node我这里的grafana是7.3,需要版本的node
安装node有两种方式
如果之前没有装过,直接brewinstallnode就可以了,这样安装的node默认是最新版本,如果需要指定版本,可以在node后通过@来指定安装某个版本。
通过版本管理神器n来升级
npmin-g//安装node版本管理神器n-V//安装后查看n的版本nlatest//使用或安装最新的官方发布:nstable//使用或安装稳定的正式版本:nlts//使用或安装最新的LTS正式版本:安装好node后顺便升级下npm
npminpm@latest-g2、安装golang依然通过brew安装go
brewinstallgo//安装golang然后查看go的环境变量配置
goenv上面的命令默认得到如下信息
GOMODULE=""GOARCH="amd"GOBIN=""GOCACHE="/Users/XXXXX/Library/Caches/go-build"GOENV="/Users/XXXXX/Library/ApplicationSupport/go/env"GOEXE=""GOFLAGS=""GOHOSTARCH="amd"GOHOSTOS="darwin"GOINSECURE=""GOMODCACHE="/Users/XXXXX/go/pkg/mod"GONOPROXY=""GONOSUMDB=""GOOS="darwin"GOPATH="/Users/XXXXX/go"GOPRIVATE=""GOPROXY=""GOROOT="/usr/local/go"GOSUMDB="sum.golang.org"GOTMPDIR=""GOTOOLDIR="/usr/local/go/pkg/tool/darwin_amd"GCCGO="gccgo"AR="ar"CC="clang"CXX="clang++"CGO_ENABLED="1"GOMOD=""CGO_CFLAGS="-g-O2"CGO_CPPFLAGS=""CGO_CXXFLAGS="-g-O2"CGO_FFLAGS="-g-O2"CGO_LDFLAGS="-g-O2"PKG_CONFIG="pkg-config"GOGCCFLAGS="-fPIC-m-pthread-fno-caret-diagnostics-Qunused-arguments-fmessage-length=0-fdebug-prefix-map=/var/folders/3m/xp_vx4jj3lh8chqq5tq_dwgn/T/go-build=/tmp/go-build-gno-record-gcc-switches-fno-common"注意GOPATH地址,在"/Users/XXXXX/go"下,其中XXXXX是我的用户名。但是在XXXXX下是没有go这个文件夹,需要我们自己建立。
假如我们想写一个go的helloworld,就需要把这个程序放到go目录下。
假如想要修改GOPATH也是可以的。用如下命令:
vim~/.bash_profile添加如下代码:exportGOPATH="XXXXXXXXXX"然后快捷键shift+zz关闭文件
这时候,在terminal中输入echo$GOPATH,就可以看到刚刚设置的GOPATH了。
到这一步,go就算安装到我们的电脑里了。
3、下载grafana的context源码分析源代码由于grafana是开源的,因此代码托管在github上,地址:makerun
到这里,grafana的二次开发环境就搭建好了。
作者:晴天同学「VS Code 整活」行代码,写一个超实用的悬浮翻译插件
翻译插件是编程日常中不可或缺的工具,尤其对于初学者和英文水平参差不齐的开发者。在探索了一系列VSCode翻译插件后,我发现了一款特别实用的神器——Google Translate Extension。这款插件与众不同,它无需通过科学上网,也不强制绑定快捷键,其最显著的功能是支持选中文本后直接悬浮翻译。
经过这两年的VSCode二次开发经验积累,我被这个功能深深吸引,决定自己动手开发一个类似插件,以此作为学习的契机。现在,让我们一起步入这个行代码的旅程,探索这个超实用悬浮翻译插件的内部构造。
从代码目录结构来看,主要逻辑集中在src目录。以入口文件extension.js为例,HG视频源码代码经过精简,仅剩行。接下来,我们将从代码流程出发,深入解析这个插件的各个关键步骤。
首先,我们从初始化配置入手,定义必要的参数和功能。接着,编写触发函数,实现选中文本后的悬浮翻译功能。这一过程涉及调用Google Translate API,解析翻译结果,并触发显示。
在translate.js中,我们看到的是一个简洁明了的翻译方法实现。其中,一段正则表达式被用来解析驼峰函数名,以适应不同的翻译需求。接下来,是显示悬浮翻译结果的关键部分。在hoverDisposable的微软winXP源码代码中,我们能发现如何获取翻译结果,并将其以直观的方式展示给用户。
值得注意的是,插件在展示翻译结果时,会自动生成一个指向Google Translate的链接,方便用户深入了解翻译内容的背景和细节。这一设计考虑周到,体现了开发者对用户体验的重视。
总的来说,这款插件不仅简化了翻译流程,提升编程效率,还通过精简代码和优化功能设计,实现了高效、便捷的使用体验。对于VSCode插件开发的初学者来说,这是一个很好的学习案例。
作为个人的一次尝试,我将代码进行了精简优化,并分享在GitHub上,供有兴趣的开发者参考和使用。当然,对于不想亲自动手的同学,也可以尝试使用CS的自定义模板,同样能够体验到这款插件带来的便利。
gennia.io 开发小记
在假期里,我尝试开发了一个即时战略网页游戏,名为 Generals.io,这激发了我自学并亲手打造游戏的想法。经过一个半月的努力,我成功推出了自己的游戏,名为 gennia.cn 或 gennia.io。
作为游戏开发新手,我对网站和后端开发几乎没有经验。好奇 ChatGPT 是否能显著降低开发难度,我决定尝试一下。事实证明,ChatGPT 对我帮助很大,尽管我仍需学习许多知识以充分利用其功能。ChatGPT 生成的代码有误或冗余,但偶尔也令人惊喜,发现某些功能的实现方式。
我选择了写一个网站游戏,理由是微信小游戏需要软件著作权和通过特定框架,而开发 app 不符合我的业余爱好。最终我选择了使用 React + Next.js 作为前端框架,TailwindCSS 初期作为 CSS 框架,但后来改为 MUI,因为 MUI 对新手更友好。后端框架我开始使用 Next.js,但因不支持 Socket.IO,最终切换为 Express。
我调研了多个游戏后端框架,但最终选择了 Express,因为它可以与前后端共享部分代码。在学习过程中,我主要依赖 ChatGPT 来快速入门并解决问题。
我采用的工具包括 ChatGPT3.5、Copilot Chat 和 GitHub。在开发过程中,我参考了许多类似项目,发现许多程序员(特别是OI选手)用不同语言复现了游戏,并开发了机器人。我基于 gennia 和 generals-io-web 进行二次开发,但在参考代码后进行了大量修改。
我遇到过使用 Copilot 生成复杂代码的困难,以及代码过于古怪、冗余的参考项目。与一位高中生合作者一起开发,我们通过交流、修复 bug 和改进 UI,将游戏基础功能开发完成。我还在旅游时支持了手机端版本。
为了解决数据存储问题,我选择了 PostgreSQL 数据库,并使用 ORM Prisma,这对我这样的新手非常友好。我购买了 gennia.io 和 cn 的域名,并在国外服务器上部署。
在游戏开发过程中,我遇到了许多 bug 和性能问题,修复了大部分基础操作相关问题。我计划在后续仅做有限的维护,并在用户增加时考虑将其发展成一个成熟的游戏。
在学习和实践过程中,我发现了游戏开发的许多细节,包括使用 Zhihu On VSCode 进行创作。未来,我希望能继续探索更多全栈项目,尝试更多有趣的游戏开发。
微信å°ç¨åºå¼åç¨ä»ä¹è¯è¨å¾®ä¿¡å°ç¨åºå¼åç¨ä»ä¹è¯è¨ï¼
微信å°ç¨åºéè¦åªäºå¼åå·¥å ·ï¼å¾®ä¿¡å°ç¨åºéè¦åªäºå¼åå·¥å ·ï¼ä¸ã微信å°ç¨åºå®æ¹å¼åå·¥å ·
注æï¼å®åªæ¯ä¸ä¸ªå·¥å ·ï¼ä¸æ¯IDEãå®æ¹å·¥å ·ä¸ç代ç ç¼è¾åè½æ¯å°vscodeç代ç ç¼è¾åè½åµå ¥å°å·¥å ·ä¸ï¼ä¸è¶³ä»¥æ¯æå¼åã
ä¼å¿
å 为æ¯å®æ¹å·¥å ·ï¼å ¶ä»ç¬¬ä¸æ¹å·¥å ·æè¿ç§ä¸å¯æ¯æç天ç¶ä¼å¿ï¼å¦æä¸æ¯ä»ä»¬ç代ç ç¼è¾åè½å¤ªå¼±ã
å®æ¹å·¥å ·ï¼å¯è°è¯ï¼å¯é¢è§ã
åºæ¬ç代ç ç¼è¾ãæºè½æ示ãè°è¯çåè½é½æã
项ç®ç®¡çï¼åä½ï¼ææºé¢è§ï¼ä»£ç æ交ï¼å®¡æ ¸ã
å®æ¹ç»´æ¤æ´æ°
å£å¿
缺ç¹ä¹å¾ææ¾ãæ»çæ¥è¯´æ¯å·¥å ·èä¸æ¯IDEã代ç ç¼è¾åè½ä¸å¥½ï¼å代ç å¾å«æï¼è¿æ¯ææ¾å¼çæéè¦åå ã
apiæ示ä¸å ¨ï¼éè¦é个æ£æ¥APIï¼ä¼å½±åå代ç çé度ã
å¾å¤å¿ è¦çå¿«æ·é®é½æ²¡æï¼æ¯å¦å ¨éå ³é®è¯ï¼å¿«éå¤å¶ä¸è¡ççã
ä½ ä¸è½éæ©ä¸»é¢ï¼ä½ä½ ä¸å欢ç½è²çé£æ ¼ã
æ æ件ï¼æ æ件ï¼æ æ件ãéè¦çäºæ 说ä¸éã
è¯ä»·
ç®åæ们éè¦ä½¿ç¨å¾®ä¿¡webå¼åå·¥å ·æ¥å建ãè°è¯ãæ¥çãé¢è§ãä¸ä¼ å°ç¨åºï¼æ以è¿ä¸ªå·¥å ·å¿ ä¸å¯å°ãä½æ¯ä»£ç ç¼è¾åè½å¤ªå·®ï¼å»ºè®®ç¨å ¶ä»ç¬¬ä¸æ¹ä»£ç ç¼è¾å·¥å ·ä»£æ¿ã
äºãå³æ¶åºç¨&mdash&mdashéåææ¯å°ç½çå°ç¨åºå¼åå·¥å ·
ä¸¥æ ¼æ¥è¯´ï¼å³æ¶åºç¨ä¸æ¯ä¸ä¸ç¨åºåçå¼åå·¥å ·ï¼ä½ç»å¯¹æ¯å¶ä½å¾®ä¿¡å°ç¨åºçä¸ä¸ªé常强大çå·¥å ·ãä¸æææ¯åç¼ç¨ç人ä¸å®ä¼ç±ä¸å³æ¶åºç¨è¿ä¸ªå·¥å ·ã
ä¼å¿
å¯è§åæä½ï¼ç´æ¥ææ½ç»ä»¶çæ页é¢ã
æä¾å¤§ééç¨ç模æ¿ã
代ç å¯ä»¥æå ä¸è½½ï¼ç´æ¥è¿æ¥å°ç¨åºçå¼åå·¥å ·ã
ä¸è½½ç代ç å¯ä»¥ä»»æç¼è¾ã
å£å¿
çµå模æ¿å± å¤ï¼å ¶ä»ç±»å«ç模æ¿å¾å°ã
å¤æçåè½è¿æ¯éè¦ä¸ä¸ç¨åºåè¿è¡äºæ¬¡å¼åã
è¯ä»·
客è§æ¥è¯´ï¼å³æ¶åºç¨è¿ä¸ªå¾®ä¿¡å°ç¨åºå¶ä½å·¥å ·é常éåææ¯å°ç½ãå 为ç¸å½äºå¸®ä½ åäºææéè¦ä»£ç çé¨åï¼ä¸ç¨å¤ªæ å¿ææ¯é®é¢ãå½ç¶ï¼å¦æä½ æ¯ç¨åºåï¼å¯ä»¥åºäºçæç代ç è¿è¡äºæ¬¡å¼åã
ä¸ãå´é«ææ¬3&mdash&mdashç®åé«æçå¼åå·¥å ·
Subetext3ä½äºä»£ç ç¼è¾å¨ä¸ï¼ä¸æ¯IDEï¼å®ç代ç æ示ä¸è¬ï¼ä½æ¯ä½¿ç¨èµ·æ¥é常æ¹ä¾¿ã
ä¼å¿
æ件æå¼é度快ï¼UIç®æ´å¤§æ¹ã
代ç ç¼è¾ä½éªèéé«æã
æäºå¤§éçæ件ï¼æ们åºæ¬ä¸å¯ä»¥æ¾å°ç¸åºçæ件æ¥æ»¡è¶³ä¸åçéæ±ã
第ä¸æ¹å¼åè å¼å代ç çè²å代ç æ示çå°æ件ã
å£å¿
没æè°è¯ï¼æ²¡æé¢è§
å 为æ¯ç¬¬ä¸æ¹å¼åè åçæ件ï¼æ以代ç æ示ä¸æ¯å¾å ¨é¢ã
è¯ä»·
使ç¨é¨æ§ä¸å¤ªé«ï¼å¯ä»¥å¿«éä¸æãä½å¦ææ³å®ç°ä¸äºä¸°å¯çåè½ï¼å°±æ¯è¾é¾äºã
4.WebStorm&mdash&mdashåè½å¤æ ·çéåå¼åå·¥å ·
WebStormä¸æ个æ件ï¼å¯ä»¥å®ç°ä»£ç æ示ï¼ä¸è½è°è¯åé¢è§ï¼æ¯ä¸ªéåº¦å·¥å ·ãå¦ææ¯ï¼å¯ä»¥è¯è¯è¿ä¸ªå·¥å ·ã
ä¼å¿
ææ件å¯ä»¥å®ç°ä»£ç é«äº®ã代ç æ示çåè½ã
å®æé常æçå丰å¯çåè½ã
åç§å¿«æ·é®
å£å¿
æ æ³è°è¯é¢è§ã
åè½è¶å¤ï¼è¶èè¿
è¯ä»·
ä¸ä¸è¿°å·¥å ·ç¸æ¯ï¼Webstormå ·æ强大ç代ç ç¼è¾åè½ãä½æ¯å¼åå°ç¨åºéè¦æ件æ¯æï¼ä½ç§¯èè¿ã
æä¹è®¾ç½®ææºå¾®ä¿¡çé¢æ¾ç¤ºçè¯è¨ï¼
1ã微信主çé¢ä¸ç¹å»âæçâã
2ãç¹å»âæçâ页é¢ä¸çâ设置âæé®ã
3ãå¨è®¾ç½®é¡µé¢ä¸æ¾å°âéç¨âã
4ãå¨éç¨é¡µé¢ä¸ï¼æ¾å°âå¤è¯è¨âã
5ãå¨å¤è¯è¨çé¢ä¸ï¼æ¾å°è¦éæ©çè¯è¨ï¼è¿ééæ©è±æã
6ãè®°å¾ç¹å»å³ä¸è§çä¿åï¼ä¿ååä¼æ示éå¯å¾®ä¿¡ï¼éå¯å¾®ä¿¡åï¼æ¾ç¤ºè¯è¨å°±æ¹æè±æäºã
æ©å±èµæï¼
微信æ¯æè·¨éä¿¡è¿è¥åãè·¨æä½ç³»ç»å¹³å°éè¿ç½ç»å¿«éåéå è´¹ï¼éæ¶èå°éç½ç»æµéï¼è¯é³çä¿¡ãè§é¢ãå¾çåæåï¼åæ¶ï¼ä¹å¯ä»¥ä½¿ç¨éè¿å ±äº«æµåªä½å 容çèµæååºäºä½ç½®ç社交æ件âæä¸æâãâæ¼æµç¶âãâæååâãâå ¬ä¼å¹³å°âãâè¯é³è®°äºæ¬âçæå¡æ件ã
webå端主è¦å¦ä¹ ä»ä¹ï¼
æ¨å¥½ï¼webå端å¦ä¹ å 容å æ¬ä»¥ä¸8个é¶æ®µï¼é¶æ®µ1.åç«¯æ ¸å¿åºç¡
HTML +_CSSæ ¸å¿ãJavaScriptåºç¡è¯æ³ãJavaScripté¢å对象ãJavaScript DOMåBOMç¼ç¨ãjQueryæ¡æ¶
é¶æ®µ2.HTML5 + CSS3 + 移å¨ç«¯æ ¸å¿
HTML5æ°ç¹æ§ãCanvasä¸åãCSS3æ°ç¹æ§ãCSS3è¿é¶ãCSS3å®ä¾æ¼ç»
é¶æ®µ3.移å¨ç«¯
移å¨ç«¯æ ¸å¿ã移å¨ç«¯éé ã移å¨ç«¯ç¹æ
é¶æ®µ4.æå¡å¨ç«¯
æå¡å¨ç«¯å¼åãæ°æ®åºæä½ãåå端交äºæ ¸å¿ãå¾®ä¿¡å ¬ä¼å·å¼å
é¶æ®µ5.JavaScripté«çº§
JavaScriptåºç¡æ·±å ¥åæãJavaScripté¢åå¯¹è±¡æ·±å ¥è®²è§£ãJavaScriptå¼æ¥ç¼ç¨ãJavaScriptå½æ°å¼ç¼ç¨ãJavaScript设计模å¼
é¶æ®µ6.åç«¯å¿ å¤
æ§è½ä¼åãçæ¬æ§å¶å·¥å ·ã模ååã项ç®æå»ºå·¥å ·
é¶æ®µ7.é«çº§æ¡æ¶
Reactæ¡æ¶åºæ¬ä½¿ç¨ãReactæ¡æ¶è¿é¶ãVueæ¡æ¶åºæ¬ä½¿ç¨ãVueæ¡æ¶è¿é¶ãVueæºç åæ
é¶æ®µ8.å°ç¨åº
åçå°ç¨åºå ¥é¨ãåçå°ç¨åºAPI使ç¨ãå°ç¨åºæ¡æ¶Mpvue
webå端å¦ä»ä¹
å¸æå¯ä»¥å¸®å°ä½ ï¼
让练习打字这件事不那么枯燥,你可以试试这几个网站
让打字练习不再枯燥乏味,这里有几款特色各异的网站供你选择:
首先,TypingClub作为热门之选,以其趣味课程和逐步升级的挑战吸引人。但国内访问速度慢是个问题。Typing则是它的优质替代,它涵盖课程训练、速度测试和比赛游戏,包括Typing Lessons等多模块,课程内容丰富且质量高,特别提供HTML、CSS等编程语言的打字训练。
对于键盘操作者,Qwerty Learner专为英语工作者设计,结合单词记忆与键盘锻炼,涵盖各种考试词汇库,设计注重肌肉记忆的正确性,还有VScode插件,方便快捷。
如果你偏爱阅读,Typelit提供免费的古典文学在线打字练习,支持多语种小说。对于双拼学习者,Shuang提供友好入门模式,适合各种双拼方案,还有Linci的二次开发版本,UI设计独特。
至于速度测试,FastFingers和Typing-cn提供打字测试和竞赛,语言选择广泛。FastFingers允许全拼、双拼等多种方案,而Typing-cn则以中文全拼为主,用户可上传自定义词组。
这些网站各有千秋,无论你是追求乐趣,还是专业提升,都能在其中找到适合自己的方式,让打字练习变得生动有趣。