V2EX POST
654 subscribers
138 photos
31 videos
99 files
101K links
v2ex新贴定时推送,可按需置顶本频道然后关闭通知
Download Telegram
我的 GitHub 十年

先是通过 https://green-wall.vercel.app 生成了过去 10 年的 GitHub contributions ,然后学着推上一个开发者把各个时间做的事情标注上。

https://i.imgur.com/hD4v5dZ.png

#https #green #wall #vercel #app #10 #GitHub #contributions #imgur #com
2022 推荐的那些开发者工具

dev.com.cn/tools 栏目每周会推荐 1-2 款工具,推荐来源有很多,如 v2er 的推荐,以及其他平台的测评。

以下是 2022 推荐的一些工具汇总,希望可以帮你提高效率,或者可玩性。

- [SketchyBar]( https://github.com/FelixKratz/SketchyBar) - 可编程的 macOS status bar

高度灵活可定制,如字体、颜色、位置、动画等,支持事件,可以根据事件触发布局和条目的变化。

- [lnav]( https://lnav.org/) - 日志文件查看器

可以识别多种日志文件格式,进行解析、语法高亮,可以把多个文件合并在一起查看,支持使用正则、SQL 过滤和查询日志。

- [nut.js]( https://github.com/nut-tree/nut.js) - 自动化测试框架

将一系列动作脚本化--鼠标、键盘、剪贴板、窗口和屏幕内容。支持 macOS 、Windows 和 Linux 。对 UI 自动化测试很有用。

- [sampler]( https://sampler.dev) - Shell command 仪表盘

将连续执行的 shell 命令输出进行可视化,提供图表、折线图等多种可视化组件,通过配置文件可实现如监控提醒、条件执行等功能。可以连接数据库、Docker 、远程 SSH 等。

- [rqlite]( https://github.com/rqlite/rqlite) - 轻量级的分布式数据库

底层使用 SQLite 作为存储引擎,可以轻松的部署分布式集群实现容错和高可用。提供 Go 、Python 、Node 、Java 等语言客户端。使用 Raft 实现数据一致性。支持全文搜索、JSON 文档、加密、热备份。

- [wtfutil]( https://wtfutil.com/) - Terminal 仪表盘

定制化你的终端仪表盘,提供 IP 信息、世界时间、系统信息、充电信息、系统状态、GitHub 等信息集中展示,也可以通过配置实现业务监控,可自定义布局,开源。

- [Hurl]( https://hurl.dev/) - HTTP 测试工具

以`纯文本`的方式定义一系列 HTTP 请求,然后使用命令行 hurl 批量运行,支持请求 headers, query, form and CSRF 等配置,可以通过断言 HTTP Response 来执行测试。

- [ntfy]( https://ntfy.sh/) - 给自己发送推送通知

安装 App 后,可通过 API 给自己的设备发送通知,可定义通知标题、icon 、下一步动作等,在类似运维和提醒场景下非常有用。

- [GoAccess]( https://goaccess.io/) - 实时的日志分析工具

通过可视化 CLI 或 Web UI 分析日志,支持多种格式,如 Apache 、Nginx 、GCS 、Squid 、IIS 、Caddy 等,可以导出为 JSON 或 CSV 。支持实时分析。

- [Saleor]( https://saleor.io/) - 开源的电商 API 系统

良好的架构设计,后端 API 技术栈 Python + GraphQL ,管理控制台使用 TS + React ,扩展性强,Headless 意味着无前台界面。

- [websocketd]( https://github.com/joewalnes/websocketd) - 一切皆可 WebSocket

可将现有任意命令行工具转化 WebSocket server ,然后你就可以用任意语言编写 WebSocket 客户端来与之通信了。

- [SonarLint]( https://www.sonarsource.com/products/sonarlint/) - 代码质量分析

编写代码时提供质量分析,提供 VS Code 、JetBrains 、Eclipse 、Visual Studio 等 IDE 扩展、支持多种语言,可以避免如过时 API 、复杂的定义、无用的 try/catch 分支等,可以用规则文件统一团队质量标准。

- [La Terminal]( https://xibbon.com/) - 手机上的 SSH 终端

适用于 iPhone/iPad 的 SSH 终端,使用 Swift 开发。可以将命令片段保存以便快速执行,内置会话保持、多种主题。让你在家也可以开心的卷。

- [jc]( https://github.com/kellyjonbrazil/jc) - 将命令行输出转为 JSON 格式

可以将多种命令的输出转为 JSON 格式,某些时候很实用。也可以反向将 JSON 转为对应的命令执行。还支持解析如 YAML 、CSV 、/etc/hosts 等多种文件。默认情况下会对输出进行语法着色。

- [exa]( https://the.exa.website/) - ls 替代品

让文件列表显示更友好,提供丰富的色彩,可显示 Git 状态,还可显示不同文件类型 icon 、人类可读的文件大小。自带目录树视图,可以使用 .gitignore 进行过滤。

- [nutsdb]( https://github.com/nutsdb/nutsdb) - K/V 数据库

Go 语言实现,提供类 Redis 的 API ,支持 list ,set 等多种数据结构。底层使用 Bitcask 模型,并使用 B+tree 优化索引。数据可选择纯内存模式或持久化到磁盘,支持事务、使用简单。

- [Remix]( https://remix.run/) - 前端框架

基于 React 的全栈框架,开箱即用。提供前后端一致的开发体验,前后端可以写在一个文件中,逻辑更加内聚。建立在标准 Web API 之上、几乎所有资源都支持并行预加载,速度快。

- [direnv]( https://direnv.net/) - 自动加载环境变量

当 `cd` 进入某个目录时,将自动从目录下 `.envrc` 文件中加载环境变量,`.envrc` 容易编写,类似 export FOO=foo 语句。离开目录时,自动卸载已加载环境变量。

- [just]( https://just.systems/man/zh/) - 命令运行器

使用简单,一定程度上可作为 Makefile 的替代品,`justfile` 语法类似于 Makefile ,但是更简单。可以使用其它语言如 JS, Python, Ruby 来编写脚本。编辑器插件支持 Vim, VS Code, JetBrains 等。可运行在 Windows, Linux, Mac 等平台。

- [Lazygit]( https://github.com/jesseduffield/lazygit) - git terminal UI

一个界面直观的展示常见内容,如更新差异、提交历史、Stash 等。常见操作如提交、查看历史、分支操作,只需要几个快捷键即可完成。默认匹配终端主题,也可以自定义。


2023 年 dev.com.cn/tools 依旧会每周推荐 1-2 款工具,如果你有提升效率类、好玩类的工具也可以跟帖推荐给 v 友。

#https #com #github #可以 #API #支持 #JSON #使用 #日志 #dev
工作之余用 rust 写了一个 im 聊天服务

工作之余,想搞一些东西,于是写了这么一个服务。目标是做一个通用的聊天程序,包含群聊、单聊、群聊天增删成员这些必须功能,以及支持各种类型的聊天等。

后端使用 rust ,前端使用 react 这一套,ui 上做的比较简单,主要是验证一下后端能力,展示使用。

主要功能有:用户体系,聊天组,组成员和消息,目前都是以群发的模型做的。

后端接口分为两个部分,一部分是 rest ,一部分是 websocket 。

ui 上现在只做了单聊,群聊也是一样的,做 ui 比较麻烦,重点还是在做后端的能力。最近半个月阳了,也没怎么进行大的更新,后面慢慢增加功能。


项目地址:

后端: https://github.com/ThinkCats/rim

前端: https://github.com/ThinkCats/rim-front

#ui #聊天 #群聊 #单聊 #https #github #com #ThinkCats #rim #功能
基于 markdown 文件生成网站,可以当作 blog 使用。开发语言是 GO。

功能类似于 docsify

简而言之,就是通过 go 跑了一个 server ,读取你的文件夹内的 markdown 文件,并提供 web 访问。

放个链接 [go-markdown-book]( https://github.com/hedongshu/go-markdown-book)

放两张图
![light]( https://github.com/hedongshu/go-markdown-book/blob/main/light.jpg?raw=true)
![dark]( https://github.com/hedongshu/go-markdown-book/blob/main/dark.jpg?raw=true)

#go #markdown #book #https #github #com #hedongshu #light #blob #main
招聘 23 届优秀毕业生(可远程工作)

**关于我们**

API7.ai 是一家提供 API 处理和分析的开源基础软件公司,致力为全球企业管理并可视化 API 和微服务等关键业务流量,通过大数据和人工智能( AI )加速企业业务决策,驱动数字化转型。支流科技一直在积极投入开源项目的开发,社区的运营,以及使用者的沟通。开源项目和社区,是开源商业公司的根基,吸引更多开发者,一起做出世界级的开源项目。目前是第一批 WG10 开源工作组成员单位,已获得 2021 年度中国开源云联盟《优秀开源创新企业》;开源中国 2021 年度《优秀中国开源原生创企》;《 2021 中国新锐技术先锋企业》。2022 年中国信通院《云原生领域新锐企业》等荣誉

公司官网:www.apiseven.com 公众号:支流科技

Apache APISIX 开源项目:apisix.apache.org

**在招岗位**

岗位职责
职责:
1 、完成 Apache APISIX 以及周边开源项目的开发任务;
2 、完善中英文开发文档;
3 、收集用户反馈,并从中总结经验

岗位要求
1 、211/985 本科院校,计算机相关专业,具有良好的计算机基础;
2 、熟悉 Golang ,经常使用 GitHub 的习惯(发送简历时请附带个人 GitHub 账号链接)
3 、有参与过 ACM 、蓝桥杯、开源社区、开源之夏等;
4 、喜欢开源,沟通流畅;
5 、有开源经验者优先考虑

**备注:期望你可以 2 月份可入职并且实习到毕业**

**我们的工作文化**

API7 是一家开放、自由、创新的开源软件公司。

1 、公司代码托管在 GitHub 上,日常的代码 review 、issue 处理都在 GitHub 上,我们通过 GitHub 、Slack 、谷歌文档、腾讯会议完成全部的协作

2 、扁平化管理

3 、工程师文化,团队成员由知名、活跃的开源项目贡献者组成,其中有 Apache APISIX PMC 成员、Apache SkyWalking Committer ,OpenResty 核心开发者、NGINX 与 Envoy 贡献者等。

4 、我们的内部人员以本科生为主,其他为研究生或外籍人员。他们来自腾讯、滴滴、华为、有赞、网易、OPPO 等企业

5 、我们鼓励大家持续拥抱学习,提供学习基金、考学基金,帮助你不断成长。我们关注大家身心健康,提供健身基金、体检基金

**投递简历时,请备注期望岗位以及个人 GitHub 账户链接发送至 yumeilv@api7.ai 邮箱。**

#开源 #GitHub #Apache #2021 #APISIX #项目 #企业 #API7 #ai #API
Oracle-node 还没有兼容 M1 Mac arm64 的支持吗


M1 Mac issue ( incompatible architecture) #169 原文链接: https://github.com/oracle/odpi/issues/169
大佬们,有没有其他方法。
附上 npm i 错误提示:npm ERR! oracledb ERR! NJS-067: a pre-built node-oracledb binary was not found for darwin arm64
npm ERR! oracledb ERR! Try compiling node-oracledb source code using https://oracle.github.io/node-oracledb/INSTALL.html#github
VS Code 上已达 250 万 Java 开发者!微软和红帽一起公布 VS Code Java 未来六个月路线图


# VS Code 上已拥有 250 万 Java 开发者
大家好,首先我们非常高兴地宣布 Visual Studio Code 现在拥有超过 250 万的 活跃 Java 开发者。与过去的成就一样,这一里程碑离不开我们的社区和用户一直以来的支持,因此我们要向大家致以衷心的感谢!

# 微软和红帽共同分享 Visual Studio Code Java 未来六个月的路线图
作为本月的特别更新,我们很高兴与长期合作伙伴红帽共同合作分享接下来几个月的路线图,我们的合作也代表了我们对支持开源社区中培育创新的承诺。有许多令人振奋的事情要讲,让我们开始吧!

![Roadmap Chinese]( https://devblogs.microsoft.com/java-ch/wp-content/uploads/sites/59/2023/12/11-07-2023-Monthly-Sync-.png)

基础体验

基础体验是所有开发体验的基石,在这一领域中,我们将带来如下更新

**Java 21** 支持:全面支持 Java 21 和之后发布的 JDK 版本。

增强的代码导航:通过提高效率和准确性,无缝导航到开发者的 Java 代码库。

进阶的调试能力:我们正在引入新的调试功能,以帮助您更有效地识别和解决问题。

可靠性:

在过去的一年中,可靠性是我们用户最经常提到的问题之一。我们希望提高平台的稳定性,使您可以专注于您的代码,而不必担心语言服务器的故障、崩溃或代码补全的停止。我们的目标是为用户构建稳定而一致的编码体验。

兼容性:

兼容性是我们关注的另一个主要领域。在这方面,我们主要致力于改善 Visual Studio Code 上 Gradle 开发体验(如项目导入成功率)。与 Gradle 的合作中,我们在十一月初[宣布了 Build Server for Gradle 的开源项目]( https://devblogs.microsoft.com/java-ch/gradle-bs-open-source/)。我们将继续在此项目的基础上构建,确保在 Visual Studio Code 中的构建结果与运行 Gradle 命令获得的输出一致,最终提高兼容性。

性能:

性能对于任何开发工具都至关重要。根据过去用户的反馈,我们在某些情况下一直听到性能问题的反馈,因此在接下来的几个月中,我们将关注两个方面:

- 优化每个会话的 JVM 数量和 CPU/内存使用
- 改进 Spring 项目的性能
代码补全:

代码补全的质量影响到开发者的日常生产力。我们听到用户希望在导入语句方面有更智能的编码辅助。我们刚刚为此添加了一些不错的支持(在下一部分中分享),未来几个月还将有一些其他代码补全智能增强功能。

项目管理:

下一个领域是项目管理。在这个领域有两个部分。第一部分是改进 JDK 配置体验,这是我们想要为初学者和专业 Java 开发者都做的事情。第二部分是增强项目的创建和导入体验。这包括:

- 允许用户在导入时选择项目参数(例如多模块项目的模块)
- 在创建项目时,提供在新窗口或当前窗口中创建的选项
- 提高包/类/接口等其它类型创建的用户体验
我们希望这些项目管理的改进可以让用户在整个 Java 项目生命周期内更加高效。

用户体验:

在用户体验方面,我们意识到一些功能和设置对我们的用户来说并不容易发现。因此,我们计划进行一些更新,使它们更易于使用和发现。这包括:

提供更好的代码重构选项路径
更容易发现 Java 语言服务器状态
简化 Java 语言服务器设置并提供更好的分组
希望这些用户体验的变化能让用户更容易找到一些最常见的操作。

人工智能:

人工智能已经迅速改变了我们构建软件的各个方面,包括我们编写代码的方式。GitHub Copilot Chat 最初是在七月推出的,是您开发周期每一步的人工智能助手。在用户体验方面,它是一个聊天界面,允许开发者在受支持的 IDE 内直接提出和回答与编码相关的问题。

最近在 GitHub Universe 中宣布,[GitHub Copilot Chat]( https://github.blog/2023-11-08-universe-2023-copilot-transforms-github-into-the-ai-powered-developer-platform/#github-copilot-chat-generally-available-in-december-2023) 将于十二月正式推出。此外,从[本次演讲的发言人中分享]( https://www.youtube.com/watch?v=AAT4zCfzsHI&t=916s),开发者将很快能够集成 GitHub Copilot 和 GitHub Copilot Chat 来扩展它们的功能。Visual Studio Code Java 也不例外,在接下来的几个月中,我们将探索如何利用 GitHub Copilot Chat 来增强您的 Java 开发体验,无论是查找错误、编写单元测试、帮助调试代码、添加依赖项还是管理 Java 项目。

# 展望未来
除了上面提供的更新,微软和红帽将继续合作,提供其它升级,包括更智能的代码补全增强等等。我们真诚地希望 Java 开发者能在 Visual Studio Code 上获得出色的体验,请继续在可以的时候向我们提供反馈。

# 功能更新
除了路线图,我们还想分享一些令人振奋的最新功能更新。

更易于发现的静态导入类型设置

正如我们在上面的路线图中分享的,我们正在改善导入体验。我们对静态导入语句的代码补全建议是基于“白名单”机制的,因此用户需要使用特定设置输入他们喜欢的静态成员,以便这些类型在输入代码时得到高优先级的提示。以前,这个设置很难被发现。最近,我们已经将这个设置添加到“快速修复(Quick Fix)”灯泡建议中,使其变得更容易找到。以下是演示:

![]( https://devblogs.microsoft.com/java/wp-content/uploads/sites/51/2023/11/staticimportsetting.gif)

更智能的静态导入类型代码补全

基于上述设置,我们也意识到有时修改设置并不是理想的。因此,我们还添加了一些基于当前导入的静态成员的智能检测。如果 Visual Studio Code Java 发现已经有一些静态导入语句,当您在文件中输入相关代码时,它将自动建议相关的代码,无需修改设置。以下是这个功能的演示。

![]( https://devblogs.microsoft.com/java/wp-content/uploads/sites/51/2023/11/smarter.gif)

# 安装 Java 插件包
要使用上述所有功能,请在 Visual Studio Code 上下载并安装[Extension Pack for Java]( https://marketplace.visualstudio.com/items?itemName=vscjava.vscode-java-pack) 。

![Image javapack]( https://devblogs.microsoft.com/java-ch/wp-content/uploads/sites/59/2022/09/javapack.png)

如果您是一位 Spring 开发者,并且正在编写 Spring Boot 相关的程序,您也可以下载并安装[Spring Boot 插件包]( https://marketplace.visualstudio.com/items?itemName=Pivotal.vscode-boot-dev-pack),获得与 Spring Boot 有关的专属开发体验

![Spring boot extension pack]( https://devblogs.microsoft.com/java-ch/wp-content/uploads/sites/59/2022/10/spring.png)