当前位置: 首页 > news >正文

13个程序员常用开发工具用途推荐整理

作为一名刚入门的程序员,选择合适的开发工具可以提高工作效率,加快学习进度。在本文中,我将向您推荐10个常用的开发工具,并通过简单的例子和代码来介绍它们的主要用途。

1. Visual Studio Code

Visual Studio Code(VSCode)是一个免费、开源且跨平台的代码编辑器,支持多种编程语言。它具有丰富的插件生态,可以根据不同的项目需求进行扩展。

用途:编写、编辑和调试代码。

例子:在VSCode中,我们可以轻松地创建一个新的Python文件,例如hello_world.py,并输入以下代码:

print("Hello, World!")

通过VSCode的内置终端运行此代码,我们将看到"Hello, World!"的输出

2. Git

Git是一个分布式版本控制系统,用于跟踪项目中的文件更改。它可以帮助您管理代码历史、合并更改和协作开发。

用途:版本控制和协作开发。

例子:我们可以使用Git来初始化一个新的代码仓库并添加一个文件:

git init
echo "Hello, World!" > README.md
git add README.md
git commit -m "Initial commit"

3. GitHub/GitLab

GitHub和GitLab是代码托管平台,提供了版本控制、问题跟踪和代码审查等功能。它们可以帮助您与团队成员共享代码和协作。

用途:代码托管和团队协作。

例子:在GitHub上创建一个新的仓库,将本地仓库推送到远程仓库:

git remote add origin https://github.com/your_username/your_repository.git
git branch -M main
git push -u origin main

4. Docker

Docker是一个轻量级的容器技术,允许您在独立的环境中部署应用程序及其依赖项。

用途:应用程序部署和环境一致性。

例子:使用Docker部署一个简单的Python Web应用程序。首先,创建一个Dockerfile

FROM python:3.8-slimWORKDIR /appCOPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txtCOPY . .CMD ["python", "app.py"]

然后,使用docker build命令构建Docker镜像,并使用docker run命令运行容器:

docker build -t my-python-app .
docker run -p 8080:8080 my-python-app

5. Postman

Postman是一个用于API开发和测试

的工具。通过Postman,您可以轻松地创建、发送和测试HTTP请求,以及查看响应结果。

用途:API开发和测试。

例子:使用Postman测试一个简单的GET请求。例如,请求https://api.github.com/users/your_username以获取GitHub用户信息。在Postman中,输入请求URL,选择GET方法,然后发送请求。Postman将显示响应结果,包括状态码和响应体。

6. Jupyter Notebook

Jupyter Notebook是一个交互式计算环境,允许您编写和执行Python代码、可视化数据并添加说明。

用途:数据分析和机器学习项目。

例子:在Jupyter Notebook中,我们可以创建一个简单的数据可视化。首先,导入所需的库,并创建一个数据集:

import numpy as np
import matplotlib.pyplot as pltx = np.linspace(0, 10, 100)
y = np.sin(x)

接着,使用matplotlib绘制数据并显示图像:

plt.plot(x, y)
plt.xlabel("x")
plt.ylabel("sin(x)")
plt.show()

7. PyCharm

PyCharm是一个针对Python的集成开发环境(IDE),提供了诸如代码补全、语法高亮、调试等功能。

用途:Python开发。

例子:在PyCharm中,我们可以创建一个新的Python项目,并编写一个简单的函数,如下所示:

def add(a, b):return a + bresult = add(1, 2)
print(result)

PyCharm将为我们提供智能代码补全和语法检查,帮助我们快速编写正确的代码。

8. Trello

Trello是一个项目管理和协作工具。通过Trello,您可以创建看板来跟踪项目进度、分配任务和设置截止日期。

用途:项目管理。

例子:在Trello上,您可以为项目创建一个新的看板,然后添加列表(例如“待办事项”、“进行中”和“已完成”)。接下来,您可以在各个列表中创建任务卡片,并为每个任务分配负责人和截止日期。

9. Regex101

Regex101是一个在线正则表达式测试工具。通过Regex101,您可以快速编写和测试正则表达式,确保其正确性。

用途:正则表达式编写和测试。

例子:在Regex101中,我们可以测试一个用于提取电子邮件地址的正则表达式。例如,使用以下正则表达式来匹配电子邮件地址:

[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}

在测试字符串中输入一些电子邮件地址,Regex101将显示匹配结果和捕获的分组。

10. Slack

Slack是一款即时通讯工具,专为团队协作而设计。它提供了消息发送、文件共享、视频通话等功能。

用途:团队沟通与协作。

例子:在Slack中,您可以创建一个新的频道(如#project-discussion),并邀请项目团队成员加入。在频道中,您可以发送文本消息、代码片段、文件等,以便于团队成员之间的沟通。例如,发送一个Python代码片段:

def greet(name):return f"Hello, {name}!"print(greet("Alice"))

团队成员可以在Slack中查看、评论和讨论此代码。

11. Travis CI

Travis CI是一个持续集成和持续部署(CI/CD)服务,用于自动化构建、测试和部署项目。

用途:自动化构建、测试和部署。

例子:在一个GitHub项目中,我们可以通过创建一个名为.travis.yml的配置文件来设置Travis CI:

language: python
python:- "3.8"
install:- pip install -r requirements.txt
script:- pytest

此配置文件指定项目使用Python 3.8,并运行pytest进行测试。当有新的提交或拉取请求时,Travis CI会自动运行构建和测试。

12. ESLint

ESLint是一个JavaScript代码质量和编码风格检查工具。它可以帮助您找到潜在问题并统一代码风格。

用途:JavaScript代码质量和风格检查。

例子:在一个JavaScript项目中,我们可以通过运行以下命令安装ESLint:

npm install eslint --save-dev
eslint --init

然后,在项目中创建一个.eslintrc.json文件,定义代码检查规则:

{"rules": {"indent": ["error", 2],"quotes": ["error", "single"]}
}

此配置要求使用两个空格缩进和单引号。运行eslint命令将检查项目中的JavaScript文件,并报告不符合规则的地方。

13. ngrok

ngrok是一个将本地网络服务暴露到公共互联网的工具。它允许您在本地开发环境中进行外部访问和测试。

用途:将本地服务暴露到公共网络。

例子:假设我们在本地运行一个Web服务器,监听端口8080。要将此服务器暴露到公共网络,我们可以运行以下命令:

ngrok http 8080

ngrok将返回一个公共URL,如https://abc123.ngrok.io。现在,任何人都可以通过此URL访问您的本地Web服务器。

相关文章:

13个程序员常用开发工具用途推荐整理

作为一名刚入门的程序员,选择合适的开发工具可以提高工作效率,加快学习进度。在本文中,我将向您推荐10个常用的开发工具,并通过简单的例子和代码来介绍它们的主要用途。 1. Visual Studio Code Visual Studio Code(V…...

TCP分包和粘包

文章目录TCP分包和粘包TCP分包TCP 粘包分包和粘包解决方案:TCP分包和粘包 TCP分包 场景:发送方发送字符串”helloworld”,接收方却分别接收到了两个数据包:字符串”hello”和”world”发送端发送了数量较多的数据,接…...

手撕深度学习中的优化器

深度学习中的优化算法采用的原理是梯度下降法,选取适当的初值params,不断迭代,进行目标函数的极小化,直到收敛。由于负梯度方向时使函数值下降最快的方向,在迭代的每一步,以负梯度方向更新params的值&#…...

英文打字小游戏

目录 1 实验目的 2 实验报告内容 3 实验题目 4 实验环境 5 实验分析和设计思路 6 流程分析和类图结构 ​编辑 7. 实验结果与测试分析 8. 总结 这周没有更新任何的文章,感到十分的抱歉。因为我们老师让我们做一个英文打字的小游戏,并要求撰写实验…...

PCB生产工艺流程三:生产PCB的内层线路有哪7步

PCB生产工艺流程三:生产PCB的内层线路有哪7步 在我们的PCB生产工艺流程的第一步就是内层线路,那么它的流程又有哪些步骤呢?接下来我们就以内层线路的流程为主题,进行详细的分析。 由半固化片和铜箔压合而成,用于…...

算法竞赛进阶指南0x61 最短路

对于一张有向图,我们一般有邻接矩阵和邻接表两种存储方式。对于无向图,可以把无向边看作两条方向相反的有向边,从而采用与有向图一样的存储方式。 $$ 邻接矩阵的空间复杂度为 O(n^2),因此我们一般不采用这种方式 $$ 我们用数组模…...

[学习篇] Autoreleasepool

参考文章: https://www.jianshu.com/p/ec2c854b2efd https://suhou.github.io/2018/01/21/%E5%B8%A6%E7%9D%80%E9%97%AE%E9%A2%98%E7%9C%8B%E6%BA%90%E7%A0%81----%E5%AD%90%E7%BA%BF%E7%A8%8BAutoRelease%E5%AF%B9%E8%B1%A1%E4%BD%95%E6%97%B6%E9%87%8A%E6%94%BE/ …...

晶体基本知识

文章目录晶体基本知识基本概念晶胞<晶格<晶粒<晶体晶胞原子坐标(原子分数坐标)六方晶系与四轴定向七大晶系和十四种点阵结构学习资料吉林大学某实验室教程---知乎系列晶体与压敏器件晶体基本知识 基本概念 晶胞<晶格&#xff1c…...

免费CRM如何进行选择?

如今CRM领域成为炙手可热的赛道,很多CRM系统厂商甚至打出完全免费的口号,是否真的存在完全免费的crm系统?很多企业在免费使用过程中会出现被迫终止的问题,需要花费高价钱才能继续使用,那么,免费crm系统哪个…...

关于金融类iOS套壳上架,我帮你总结了这些经验

首先说明,本文中出现的案例的,没有特别的专门针对谁,只是用于分析,如有觉得不妥的,请及时联系我删除,鉴于本文发出之后,可能造成的一些影响,所以大家看看就好了,千万不要…...

4年功能测试月薪9.5K,3个月时间成功进阶自动化,跳槽涨薪6k后我的路还很长...

前言 其实最开始我并不是互联网从业者,是经历了一场六个月的培训才入的行,这个经历仿佛就是一个遮羞布,不能让任何人知道,就算有面试的时候被问到你是不是被培训的,我还是不能承认这段历史。我是为了生存,…...

python url解码详解

python url解码 url是数据的一个部分,一般会用来做什么呢?比如网站的 URL,比如搜索引擎中的 url,再比如网页中的图片等。 你也许不知道,在 Web页面中的图片、链接、超链接都是 URL,也就是 url。 而如果想要…...

leetcode102:二叉树的层序遍历

给你二叉树的根节点 root ,返回其节点值的 层序遍历 。 (即逐层地,从左到右访问所有节点)。 示例 1: 输入:root [3,9,20,null,null,15,7] 输出:[[3],[9,20],[15,7]] 示例 2: 输入…...

深度学习openMMLab的介绍和使用

文章目录MMCV介绍MMCV的安装修改链接中的cu113修改链接中的torch1.10.0物体分类MMCLS源码下载配置参数解读配置文件的组成如何生成完整配置文件定义自己的数据集构建自己的数据集训练自己的任务物体检测MMDetection语义分割MMSegmentation姿态估计MMPose未完成,持续…...

【vue2】axios请求与axios拦截器的使用详解

🥳博 主:初映CY的前说(前端领域) 🌞个人信条:想要变成得到,中间还有做到! 🤘本文核心:当我们在路由跳转前与后我们可实现触发的操作 【前言】ajax是一种在javaScript代码中发请…...

文件上传都发生了啥

一直在用组件库做文件上传,那里面的原理到底是啥,自己写能不能写一个upload框出来呢? (一)基本原理 浏览器端提供了一个表单,在用户提交请求后,将文件数据和其他表单信息编码并上传至服务器端&#xff0…...

【vim进阶】vim编辑器的多文件操作(如何打开多个文件,如何进行文件间的切换,如何关闭其中的某一个文件)

一、如何打开多个文件? 方法一:启动打开 现在有多个文件 file1 ,file2 , … ,filen. 现在举例打开两个文件 file1,file2 vim file1 file2该方式打开文件,显示屏默认显示第一个文件也就是 file1。 方法二&#xff…...

ToBeWritten之车辆通信

也许每个人出生的时候都以为这世界都是为他一个人而存在的,当他发现自己错的时候,他便开始长大 少走了弯路,也就错过了风景,无论如何,感谢经历 转移发布平台通知:将不再在CSDN博客发布新文章,敬…...

自定义 Jackson 的 ObjectMapper, springboot多个模块共同引用,爽

springboot多个模块共同引用自定义ObjectMapper 🚃统一配置示例自定义 Jackson 的 ObjectMapper更改时区为东八区, 优点是在多个模块中都可以使用同一种方式来进行配置,方便维护和修改 统一配置 假设有一个 Spring Boot 项目,包含多个模块&…...

【面试】Redis面试题

文章目录概述什么是Redis?Redis有哪些优缺点?使用redis有哪些好处?为什么要用 Redis / 为什么要用缓存为什么要用 Redis 而不用 map/guava 做缓存?Redis为什么这么快Redis的应用场景持久化什么是Redis持久化?Redis 的持久化机制是…...

零门槛NAS搭建:WinNAS如何让普通电脑秒变私有云?

一、核心优势:专为Windows用户设计的极简NAS WinNAS由深圳耘想存储科技开发,是一款收费低廉但功能全面的Windows NAS工具,主打“无学习成本部署” 。与其他NAS软件相比,其优势在于: 无需硬件改造:将任意W…...

从零实现富文本编辑器#5-编辑器选区模型的状态结构表达

先前我们总结了浏览器选区模型的交互策略,并且实现了基本的选区操作,还调研了自绘选区的实现。那么相对的,我们还需要设计编辑器的选区表达,也可以称为模型选区。编辑器中应用变更时的操作范围,就是以模型选区为基准来…...

【android bluetooth 框架分析 04】【bt-framework 层详解 1】【BluetoothProperties介绍】

1. BluetoothProperties介绍 libsysprop/srcs/android/sysprop/BluetoothProperties.sysprop BluetoothProperties.sysprop 是 Android AOSP 中的一种 系统属性定义文件(System Property Definition File),用于声明和管理 Bluetooth 模块相…...

基于Docker Compose部署Java微服务项目

一. 创建根项目 根项目&#xff08;父项目&#xff09;主要用于依赖管理 一些需要注意的点&#xff1a; 打包方式需要为 pom<modules>里需要注册子模块不要引入maven的打包插件&#xff0c;否则打包时会出问题 <?xml version"1.0" encoding"UTF-8…...

linux 下常用变更-8

1、删除普通用户 查询用户初始UID和GIDls -l /home/ ###家目录中查看UID cat /etc/group ###此文件查看GID删除用户1.编辑文件 /etc/passwd 找到对应的行&#xff0c;YW343:x:0:0::/home/YW343:/bin/bash 2.将标红的位置修改为用户对应初始UID和GID&#xff1a; YW3…...

拉力测试cuda pytorch 把 4070显卡拉满

import torch import timedef stress_test_gpu(matrix_size16384, duration300):"""对GPU进行压力测试&#xff0c;通过持续的矩阵乘法来最大化GPU利用率参数:matrix_size: 矩阵维度大小&#xff0c;增大可提高计算复杂度duration: 测试持续时间&#xff08;秒&…...

CMake 从 GitHub 下载第三方库并使用

有时我们希望直接使用 GitHub 上的开源库,而不想手动下载、编译和安装。 可以利用 CMake 提供的 FetchContent 模块来实现自动下载、构建和链接第三方库。 FetchContent 命令官方文档✅ 示例代码 我们将以 fmt 这个流行的格式化库为例,演示如何: 使用 FetchContent 从 GitH…...

MySQL用户和授权

开放MySQL白名单 可以通过iptables-save命令确认对应客户端ip是否可以访问MySQL服务&#xff1a; test: # iptables-save | grep 3306 -A mp_srv_whitelist -s 172.16.14.102/32 -p tcp -m tcp --dport 3306 -j ACCEPT -A mp_srv_whitelist -s 172.16.4.16/32 -p tcp -m tcp -…...

Python ROS2【机器人中间件框架】 简介

销量过万TEEIS德国护膝夏天用薄款 优惠券冠生园 百花蜂蜜428g 挤压瓶纯蜂蜜巨奇严选 鞋子除臭剂360ml 多芬身体磨砂膏280g健70%-75%酒精消毒棉片湿巾1418cm 80片/袋3袋大包清洁食品用消毒 优惠券AIMORNY52朵红玫瑰永生香皂花同城配送非鲜花七夕情人节生日礼物送女友 热卖妙洁棉…...

Mysql8 忘记密码重置,以及问题解决

1.使用免密登录 找到配置MySQL文件&#xff0c;我的文件路径是/etc/mysql/my.cnf&#xff0c;有的人的是/etc/mysql/mysql.cnf 在里最后加入 skip-grant-tables重启MySQL服务 service mysql restartShutting down MySQL… SUCCESS! Starting MySQL… SUCCESS! 重启成功 2.登…...