- 博客(80)
- 收藏
- 关注
原创 测试工程师成长路线图
软件测试工程师(Software Testing Engineer)指理解产品的功能要求,并对其进行测试,检查软件有没有缺陷(Bug),测试软件是否具有稳定性(Robustness)、安全性、易操作性等性能,写出相应的测试规范和测试用例的专门工作人员。
2024-12-07 10:04:15 51
原创 DevOps工程师成长路线图
DevOps工程师便是专注于软件开发(Dev)与信息技术运维(Ops)相结合的一种文化、运动或者职能,旨在促进这两个领域之间的通信、协作以及整合。DevOps工程师通常担纲多个角色,包括编码、基础架构管理与维护等工作,且需具备跨领域技能耦合应用。以破除部门间壁垒、促进持续集成/持续部署(CI/CD)流程为职责重点。具备自动化工具的掌握能力可谓DevOps工程师的基本素质之一。
2024-12-07 09:55:02 44
原创 后端工程师成长路线图
后端开发工程师是软件开发领域中的一个重要角色,主要负责平台设计、接口设计和功能实现。他们的主要职责包括服务器端业务开发、架构设计、系统性能调优等。后端开发工程师的工作内容通常涉及服务器开发、数据库管理、业务逻辑实现等方面。他们需要与前端工程师紧密合作,确保前后端的数据交互顺畅。后端开发工程师需要具备扎实的编程能力,熟悉多种编程语言,如Java、Python、Go等,并且对数据库技术有深入的了解。在后端开发中,工程师需要解决各种技术难题,优化系统性能,确保系统的稳定性、可靠性和安全性。
2024-12-06 08:19:50 156
原创 前端工程师成长路线图
前端开发工程师,是从事Web前端开发工作的工程师。主要进行网站的开发、优化、完善的工作。网页制作是Web 1.0时代的产物,那时网站的主要内容都是静态的,用户使用网站的行为也以浏览为主。一位好的Web前端开发工程师在知识体系上既要有广度,又要有深度,所以很多大公司即使出高薪也很难招聘到理想的前端开发工程师。说的重点不在于讲解技术,而是更侧重于对技巧的讲解。技术非黑即白,只有对和错,而技巧则见仁见智。以前会Photoshop和Dreamweaver就可以制作网页,只掌握这些已经远远不够了。
2024-12-06 08:08:58 592
原创 GraphQL学习路线图
GraphQL允许客户端通过一次API调用请求他们确切需要的数据,并以可预测的格式返回。与传统的REST API相比,这提供了更高效和灵活的数据检索方式,因为在使用REST API时,客户端必须向不同的端点发起多次API调用,并可能接收到比实际需要更多的数据。使用GraphQL,客户端通过向服务器发送查询来定义所需数据的结构。然后,服务器以查询中定义的结构返回请求的数据。客户端还可以发起变更请求来更新或创建服务器上的数据。客户端,里面有多个软件学习路线图。并且可以在路线图中标记学习状态和记录学习笔记。
2024-12-05 18:19:46 309
原创 Linux学习路线图
Linux是一种开源的类Unix操作系统,由林纳斯·托瓦兹于1991年首次发布。它以高效、稳定、安全著称,广泛应用于服务器、超级计算机、嵌入式系统及个人桌面等领域。Linux拥有丰富的软件资源和强大的社区支持,是开源技术的重要代表。客户端,里面有多个软件学习路线图。并且可以在路线图中标记学习状态和记录学习笔记。
2024-12-05 13:14:48 70
原创 为什么我们需要一个新的Git客户端
要获得Git厂商提供的新能力,客户端需要通过OAuth方式获得个人令牌(也可生成个人令牌),从而获取这些数据。GitHub的官方客户端就是一个例子,除了传统的Git客户端能力外,还能操作codespace,gist,issue,pr,actions等等。数据视图可以通过拖拽把你关心的仓库信息拖拽到面板上,一眼了解你关心的信息。随着Git仓库的厂商推出的很多新功能,原有的Git客户端已显得能力不足。我们也做了一个Git客户端,可以使用Git厂商提供的额外能力。我们也有预编译的版本,你可以通过。
2024-12-03 10:57:52 418
原创 制作OpenLinkSaas发行版操作手册
打开src-tauri/src/vendor_config.rs,按需调整配置。软件ID,ID相同就任务是同一个软件。release版本需要考虑如下因素。修改vendor_cfg。
2024-10-12 12:23:29 466
原创 制作OpenLinkSaas发行版
作为软件研发效能一站式解决方案,OpenLinkSaas提供了众多的功能。再不同的场景中,所需要的软件功能是有差异的。OpenLinkSaas提供了发行版配置功能,以便在不同场景下组合所有的功能。修改代码下面的src-tauri/src/vendor_cfg.rs即可调整发行版配置。
2024-09-18 09:30:09 173
原创 凌鲨开发容器架构
开发容器是基于docker的快速开发搭建方案,在开发容器里面集成了asdf包管理系统和code server ide服务。这个项目是的。
2024-03-11 12:03:08 755
原创 凌鲨服务端架构
名称版本要求说明mongodb5.0以上业务主数据库,需要开启事务支持redis6.0以上版本目前只支持单机版本。保存用户会话信息emitterv3.0以上基于mqtt协议的订阅发布服务。用来推送信息,保证客户端和服务端数据同步。
2024-03-06 11:46:07 320
原创 凌鲨整体架构
协议包含基础设施,用户,项目,公共资源,扩展功能协议,通知/事件几个部分。协议定义备注用户信息和验证项目接口可以分为知识库,项目管理,项目沟通,项目信息几个部分。协议定义备注微应用市场兴趣组信息兴趣组成员兴趣组帖子研发环境软件包信息docker compose模板协议定义备注swamg集群管理链路追踪k8s集群管理网络透传协议定义备注信息面板数据同步内容入口数据同步项目信息数据同步项目沟通数据同步项目知识点数据同步项目需求数据同步项目评论数据同步。
2024-03-06 10:11:02 924
原创 使用凌鲨辅助学习软件研发
对于新入门的软件研发人员来说,Git和研发环境的搭建确实是一个不小的挑战。Git是一个分布式版本控制系统,用于跟踪代码的更改和协作,而研发环境则是一个专门用于开发和测试应用程序的环境。在Git方面,新入门的软件研发人员需要了解如何使用Git命令进行版本控制、分支管理、合并代码等操作。此外,他们还需要了解如何配置Git,例如设置用户信息、配置代理等。在研发环境方面,新入门的软件研发人员需要了解如何安装和配置开发工具、依赖项和库。他们还需要了解如何设置环境变量、配置网络等。
2023-12-21 10:14:30 535
原创 使用凌鲨进行内网穿透
为了方便在本地进行开发和调试工作,有时候需要安全地连接内网或Kubernetes集群中的服务。在net proxy server中可以限制访问用户,也可以设置端口转发的密码。
2023-12-02 20:38:01 568
原创 最简单的链路追踪收集器
链路追踪可帮助您快速了解程序服务之间的调用关系,并快速洞悉内部发生的情况。主流的链路追踪系统有zipkin,jaeger,skywalking等,由于opentelemetry的存在,都具有opentelemetry的转换器。我们利用opentelemetry来进行zipkin,jaeger,skywalking,otlp等协议的兼容,并把追踪数据保存在内存中,用于分析。填写要部署收集器的地址,复制右侧生成的配置成server.yml。如果想收集更多数据,可以调大maxTraceStore的数值。
2023-11-30 20:57:45 447
原创 用代码评论代替代码注释
在一个软件项目中,某些逻辑部分可能非常复杂,容易让人困惑。为了确保其他开发人员能够理解这些代码,同时也为了自己回顾时能够快速上手,我们通常会编写相关文档或添加大量注释来对这些复杂的逻辑进行解释。这样做的好处是能够提高代码的可读性和可维护性,进而提高整个项目的质量。理想情况下,文档和注释应与代码逻辑保持同步,但实际上,代码和注释/文档往往不完全匹配。文档和代码是两个独立的部分,需要花费额外的精力进行对齐。当修改代码和文档时,它们通常不在同一时间点进行,这可能会导致同步问题。
2023-11-29 18:13:48 575
原创 使用凌鲨管理本地git仓库
关联项目后,可以在vscode编译器里面获取项目任务/缺陷信息。如果勾选了hooks,在进行git commit的时候,会出现提示,修改相应的任务/缺陷状态。把本地git仓库添加到凌鲨后,可以更方便的获取git仓库的信息,比如查看commit记录,统计代码提交量,获取远程仓库的issue等功能。关联远程仓库后,就可以直接获取远程仓库的issue了。查看远程仓库和相关issue。查看提交/分支/标记列表。
2023-11-29 16:39:33 752
原创 使用凌鲨进行接口联调
接口联调是指在软件开发过程中,不同的团队或模块之间进行接口协作的一种技术手段。它是研发过程中必不可少的一个环节,旨在确保不同模块之间的数据交互和功能调用能够顺畅进行,从而提升整个系统的稳定性和性能。grpc需要指定协议目录,程序会对所有proto文件进行编译。对于google官方提供的proto,则会跳过。编译过程类似于protoc命令,可以在界面上指定额外的-I目录。凌鲨中支持了GRPC,OPENAPI和自定义接口的联调,还能对接口进行沟通。自动生成代码支持主流语言和主流框架。
2023-11-26 18:11:30 455
原创 使用信息面板沟通研发工作
凌鲨里面的内容面板里面有专门针对研发团队的白板功能,它可以把文档,图片,软件设计,需求,任务/缺陷等相关研发要素串接起来。点击面板中的连接会在右侧打开对应内容。你还可以调整背景颜色。
2023-11-25 17:47:03 388
原创 连接docker swarm和凌鲨
docker swarm相比k8s而言,部署和使用都要简单很多,比较适合中小研发团队。通过连接docker swarm和凌鲨,可以让研发过程中的常用操作更加方便。
2023-11-24 13:17:35 834
原创 我们对凌鲨的一次重构
由于国内有大量的沟通软件,比如企业微信,飞书,钉钉等。我们把沟通功能改成场景化的沟通,比如任务/缺陷,需求,文档等等。几乎所有主流的代码仓库上都有类似的功能,而且CI/CD和代码变动紧密相关。我们平时使用的很多工具都会导出静态页面,这个功能可以方便分享这类内容。我们把文档中的项目分析和项目指责类的组件去掉了。由于软件功能非常多,我们新增了软件相关的文档。类似白板,把项目的所有信息按需组合起来,支持图片,文档,任务/缺陷,需求等。在10月我们对凌鲨进行了一次重构,把所有鸡肋的功能都删除了。
2023-11-22 16:03:10 980
原创 连接k8s和凌鲨
所有操作通过k8s proxy连接,通过设置namespace label赋予访问权限。只有赋予特定label的namespace才能被访问。通过连接k8s和凌鲨,可以让研发过程中的重用操作更加方便。其中kubeConfigFile指向k8s的配置文件。在可以运行kubectl的机器上,运行上述命令。x下载源代码,然后编译。授权namspace访问。部署k8s proxy。连接k8s proxy。
2023-11-22 14:42:14 882
原创 使用凌鲨订阅技术资讯
许多软件研发人员都通过业界资讯媒体和大牛的博客来获取信息。这些渠道提供了最新的行业动态、技术进展和趋势,对开拓视野、保持技术敏锐度和了解业界发展具有重要作用。一些知名的业界资讯媒体和大牛博客,它们在业界有着很高的影响力,为研发人员提供了大量有价值的信息。凌鲨提供了沟通、知识库、项目管理、自动化等功能,并且还提供了微应用,方便用户进行功能扩展。作为软件团队的数字化中枢,凌鲨通过连接工具,AI和研发过程中的信息来改进研发团队的效率。为了方便软件研发人员获取这些信息,我们提供了一些主流媒体和大牛博客的订阅功能。
2023-09-14 15:48:29 109
原创 使用凌鲨进行聚合搜索
作为研发人员,我们经常需要在多个来源之间查找信息,以便进行研发工作。这些资源通常分散在各个网站和文档库中,需要花费一定的时间和精力才能找到需要的信息。为了方便研发人员查找信息,我们在凌鲨里面增加了一个聚合搜素的功能。聚合搜素支持大部分研发人员常用的网站,比如搜素引擎,文档网站,软件包网站等等。凌鲨提供了沟通、知识库、项目管理、自动化等功能,并且还提供了微应用,方便用户进行功能扩展。作为软件团队的数字化中枢,凌鲨通过连接工具,AI和研发过程中的信息来改进研发团队的效率。)下载我们预编译的版本。
2023-09-14 15:14:39 144
原创 开发日记-tauri自定义协议的一些坑
Tauri中可以使用register_uri_scheme_protocol方法来添加自定义协议,以便在HTML中的script、img等元素中使用src等属性来加载数据。由于Tauri中的页面运行在HTTPS模式下,加载HTTP资源会被阻止,因此自定义协议是一个很好的选择。
2023-09-04 10:34:50 414
原创 软件团队降本增效-构建人员评价体系
研发工作中存在着许多不确定性和模糊性,因此在评价时需要结合质量评审机制,以防止表面看起来顺利,但实际上却存在技术债务的问题。同时,通过定期的质量评审,可以及时发现和解决问题,并确保项目按时交付高质量的成果。研发成员的评价和绩效紧密相关,这会直接影响到他们的工作方式和积极性。通过公正、客观的评价和绩效管理,可以激发成员的积极性和创造力,提高他们的工作效率和质量。相反,如果评价和绩效管理不公正或不透明,会导致成员失去动力和信心,进而影响整个团队的工作效率和质量。在软件团队中,最大成本往往来自于人力。
2023-08-22 13:54:31 138
原创 软件团队降本增效-统一标准和目标
同一个研发任务,不同人的思路和质量标准都不一样,这种情况会导致质量债务和沟通障碍的出现。为了避免这种情况的发生,需要进行有效的沟通和协作,以确保所有人都对任务的要求和标准有清晰的认识。我们需要建立一套统一的质量标准和流程,以确保所有人都能够按照相同的要求进行工作,从而减少质量债务和沟通障碍的出现。标准和目标分为两类,一类是可以通过机器自动检测的,另一类则需要核心人员审核。对于可以利用机器检测的标准和目标,我们可以采用自动化技术来实现快速、准确的检测。
2023-08-22 13:04:06 205
原创 软件团队降本增效-创建专注的工作环境
然而,由于项目数量繁多,一个人通常需要加入2至3个项目,这可能会导致研发人员疲于奔命,不断在不同项目之间切换。此外,项目管理人员可能会争夺研发人员的时间和资源,不断打断他们的工作,要求他们优先处理本项目的工作。然而,一旦我们的工作被打断,接下来的15至30分钟可能会处于低产状态,因此我们需要采取措施来避免这种情况发生,例如尽量减少干扰或集中处理任务。这种专注状态对于软件开发人员来说非常重要,因为只有在这种状态下,他们才能充分发挥自己的技能和创造力,高效地解决问题并产出高质量的代码。
2023-08-22 11:16:15 142
原创 软件团队降本增效-构建自动化体系
在主流的代码仓库里面都有类似的基础设施,比如github的actions,gitlab的runner等。在实现自动化后,研发人员可以节省25%-50%的时间,从而可以将精力投入到更有价值的任务上。此外,自动化还可以确保一些重要但易被忽略的任务得到执行,例如代码质量检查、测试覆盖率计算和构建干净的测试环境等。一个比较完善的自动化流程包含了代码检查,自动化测试,自动合并,构建等多个工作流程。让机器尽可能的执行检查逻辑,更早的发现问题,更早的修复问题,可以加速迭代速度,提前偿还技术债务。
2023-08-21 16:42:16 62
原创 软件团队降本增效-建立需求评估体系
Kano(卡诺)模型是1984年由日本东京理工大学教授、世界著名质量管理大师狩野纪昭提出的,其设计灵感来自于赫兹伯格的双因素理论,主要用于客户需求分类和优先排序的工具,展示产品或服务与客户满意度之间的关系。通过共同参与评审,可以更好地评估需求的可行性和实际实施的影响,从而确保项目的成功交付和顺利实施。一旦发现重要需求的实现过程不够顺畅,我们就需要对软件结构进行相应的调整,以确保项目的顺利进行。这些分析方法可以提供额外的评估维度得分,这些得分经过客户、核心人员和开发人员的评估,可以更准确地确定需求的价值。
2023-08-21 15:53:58 263
原创 软件团队降本增效-团队项目技术的匹配
在软件开发中,有许多开发语言、框架和工具可供选择,每一种都有其适用的场景和优势。原则上,在满足开发要求的情况下,尽量选择简单的技术。
2023-08-21 15:04:14 166
原创 研发团队降本增效的难度
要让软件研发团队降本增效,除了标准化的开发流程外,还需要关注人员结构,团队文化,评价体系,知识沉淀体系,技术栈,工具体系,风险预防体系,相关管理体系等多个方面。软件研发是一项极其复杂的工作,其中涉及大量的不确定性和模糊性。我们的困难是多方面的,有团队结构上的,有需求管理上的,有设计上的,有管理上的,有产品和业务形态上等。在需求阶段,我们需要去调研用户需求,明确用户的期望,也需要保持和竞品的差异化。由于市场竞争非常激烈,加上我们在商业化上的大量尝试,会带来海量需求,其中充满了不明确,不完整和相互矛盾的需求。
2023-08-21 11:16:58 213
凌鲨客户端(macos)
2023-09-21
凌鲨客户端(windows)
2023-09-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人