惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

H
Hackread – Cybersecurity News, Data Breaches, AI and More
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
V
V2EX
T
The Blog of Author Tim Ferriss
腾讯CDC
Hugging Face - Blog
Hugging Face - Blog
雷峰网
雷峰网
爱范儿
爱范儿
GbyAI
GbyAI
H
Help Net Security
I
InfoQ
罗磊的独立博客
酷 壳 – CoolShell
酷 壳 – CoolShell
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
人人都是产品经理
人人都是产品经理
J
Java Code Geeks
Microsoft Security Blog
Microsoft Security Blog
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
N
Netflix TechBlog - Medium
Last Week in AI
Last Week in AI
宝玉的分享
宝玉的分享
云风的 BLOG
云风的 BLOG
Project Zero
Project Zero
P
Privacy & Cybersecurity Law Blog
A
Arctic Wolf
Know Your Adversary
Know Your Adversary
G
Google Developers Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
T
Tor Project blog
V
Vulnerabilities – Threatpost
Y
Y Combinator Blog
WordPress大学
WordPress大学
V
Visual Studio Blog
博客园_首页
G
GRAHAM CLULEY
K
Kaspersky official blog
T
Tailwind CSS Blog
T
Threat Research - Cisco Blogs
博客园 - Franky
D
Docker
Security Latest
Security Latest
I
Intezer
有赞技术团队
有赞技术团队
Application and Cybersecurity Blog
Application and Cybersecurity Blog
博客园 - 【当耐特】
B
Blog RSS Feed
T
The Exploit Database - CXSecurity.com
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻

蛮荆

如何获取更多的免费服务器 Kubernetes 调度器队列 - 设计与实现 Kubernetes 调度器 - 核心流程 Kubernetes Networking Model & CNI Kubernetes 控制器管理总结 Kubernetes CronJob 设计与实现 Kubernetes Job 设计与实现 Kubernetes HPA 设计与实现 Kubernetes Deployment 滚动更新实现原理 Kubernetes GC 设计与实现 Kubernetes Pod 驱逐 - 设计与实现 Kubernetes Daemonset 设计与实现 Kubernetes ReplicaSet 设计与实现 Kubernetes EndPoint 设计与实现 Kubernetes Informer 设计与实现 降本增效之应用优化 (三) 日志存储与检索 Kubernetes Pod 设计与实现 - 创建流程 Kubernetes 探针设计与实现 Unix 编程艺术名句摘录 Kubernetes - CRI 概述 Golang 编译速度为什么这么快? Kubernetes Pod 设计与实现 - Pause 容器 Kubernetes - kube-proxy 代理模式工程优化 Kubernetes 应用最佳实践 - 优雅关闭长连接 Kubernetes Service 类型和会话亲和性 Kubernetes 为什么需要 Ingress Kubernetes 架构 - 控制平面和数据平面 降本增效之应用优化 (二) 大报表 Go 语言如何获取 CPU 利用率 降本增效之应用优化 (一) Redis 业务规则引擎演变过程简述 微服务中的熔断算法 漏桶算法和令牌桶算法 jsonparser 为什么比标准库的 encoding/json 快 10 倍 ? zap 高性能设计与实现 HTTP Router 算法演进 fastcache 高性能设计与实现 Web 常见的三个安全问题 ants Code Reading Go 线程安全 map 方案选型 布隆过滤器 死锁、活锁、饥饿、自旋锁 sync.Pool Code Reading Go 内存管理概述 Go netpoll Code Reading goroutine 泄漏与检测 time/Timer Code Reading GMP Scheduler Code Reading Go channel 的 15 条规则和底层实现 为什么 Linux “一切皆文件” context.Context Code Reading runtime/HACKING.md 互联网开发与金庸武学 为什么 Redis 6.0 引入多线程模型? Kubernetes 应用最佳实践 - 金丝雀发布 容器中如何正确配置 GOMAXPROCS ? singleflight Code Reading sync.Map Code Reading sync.Cond Code Reading sync.WaitGroup Code Reading sync.RWMutex Code Reading sync.Mutex Code Reading sync.Once Code Reading Go 无锁编程 sync/atomic Code Reading goroutine 交替打印奇偶数 GODEBUG Go 并发模式 Go 汇编 UUID 通用技术选型 Kubernetes 应用最佳实践 - 水平自动伸缩 Go 高性能 Tips fasthttp 为什么比标准库 net/http 快 10 倍 ? 技术文章配图指南 ChatGPT 初体验 Docker 网络原理概览 iptables 的五表五链 Kubernetes 应用最佳实践 - 亲和性和污点容忍度 Go 的反射与三大定律 Docker 官方提供的最佳实践 Go 语言内置的设计模式 HTTP1 到 HTTP3 的工程优化 Kubernetes 应用最佳实践 - Sidecar 模式 Kubernetes 应用最佳实践 - init 容器和钩子函数 为什么 recover 必须在 defer 中调用? 为什么 defer 的执行顺序和注册顺序不同? Go map 设计与实现 Go 切片扩容底层实现 Go 语言中的零拷贝 Go Delve 云原生和边缘计算简介 Kubernetes Pod 服务质量等级 Kubernetes 应用最佳实践 - 探针 Kubernetes 应用最佳实践 - 资源请求和限制 CDN 原理 Kubernetes 应用最佳实践 - 开篇 缓存策略和模式 Go 内存模型 Kubernetes 核心概念 软件版本语义化
Goland 最佳实践
2023-05-10 · via 蛮荆

2023-05-10 Golang Goland IDE

前言

周末收到了 JetBrains 官方的邮件,申请的授权已经通过了,接下来的一年又可以免费使用全家桶产品了 (省了好几千美刀) :-) 趁着写这篇文章的机会,也算是给 JetBrains 产品做一个免费的推广 (虽然我不是什么大 V)。

JetBrains 授权邮件

这次是通过 这个开源项目 申请的,感兴趣的读者可以一起添砖加瓦。

概述

本文主要讲解如何通过 Goland 统一和优化日常开发常用的工具集,所有插件链接均在文末附录部分,首先来看一个简略的最终效果图。

Goland 集成常用工具

为了缩小动图的帧,只是对常用功能做了简单展示,下面分别来单独说一下。

优化过程

MySQL 和 MongoDB 管理

  • 优化前使用 DataGrip 作为 MySQL 和 MongoDB 桌面可视化客户端
  • 优化后直接插件 Database Tools and SQL

软件可以无缝切换到插件,使用体验几乎感知不到任何变化,效果如下所示:

切换后的 MySQL

切换后的 MongoDB

如果读者之前使用的是其他可视化客户端工具 (例如 TablePlus, Sequel Pro),切换到插件之后可能要变更一下相应的快捷键。

Redis 管理

  • 优化前使用 Another Redis Desktop Manager 作为 Redis 桌面可视化客户端
  • 优化后直接插件 Database Tools and SQL

切换后的 Redis

Markdown

  • 优化前使用 typora
  • 优化后使用插件 Markdown (可以切分窗口,左侧代码,右侧文档)

Markdown 插件

Docker

主要用来提升 Dockerfile 文件操作效率,避免完全命令行操作。

Docker 插件

Kubernetes

主要用来提升操作本地开发环境 K8S 操作效率,避免完全命令行操作。

Kubernetes 插件

其他推荐插件

插件 说明
GitToolBox Git 状态管理与集成,还可以显示内存使用
Translation 翻译
UUID 自动生成 UUID
Extra Icons 根据文件后缀添加美化图标
env files support 识别 .env 文件
PlantUML Integration UML 渲染
CPU Usage Indicator CPU 使用率
Tabnine AI Code AI 辅助代码

内存占用

优化完成后,将插件全部开启后 Goland 占用内存大概在 2.5G-4G 之间,找了几个硬件配置相同的同事,简单对比他们使用 VSCode 的内存消耗, 结果是 Goland 要比 VSCode 多出 30%-40% 左右内存使用。

小结

本文主要讲解了如何通过插件的形式,将日常开发工作中需要的编码、数据、文档等工具全部集成到 Goland 一个 IDE 中,这样可以消灭掉所有工具软件来回切换所消耗的时间, 切实提升我们的工作效率。

笔者选择 Goland 的主要原因是因为其优秀的体验 (尤其是 coding 时的 “嵌入感”, 这种感觉难以描述,但是开过手动挡和自动挡汽车的读者应该知道我在说什么 :-)), 内置各种功能开箱即用,除了自定义快捷键和主题以及集成一些 Go 工具,笔者几乎没做过其他额外的配置,最后,希望这篇文章可以让读者对 Goland 有一个全新的认识。

Reference