목차
1. 개요
2. Ansible 아키텍처
3. Ansible 작동 원리
4. Ansible 설치 및 기본 구성
1) 로깅 켜기
2) 첫 번째 연결 제거 SSH 확인 요청
5. Ansible의 7가지 명령
1) ansible
2) ansible-doc
3) ansible-playbook
4)ansible-galaxy
5)ansible-lint
6)ansible-pull
7)ansible-vault
六、Ansible 主要组成部分
1)ansible 命令执行来源
2)ansible 管理方式
3)ansible主要操作对象
七、Ansible 连接被控端方式
1)ssh 密钥
2)账号密码
1、命令行配置
2、配置文件中配置
八、Host Inventory(主机清单)
1)添加被管控节点
2)配置主机组
3)配置连接用户名和密码
4)子分组
5)自定义主机列表文件
九、Ad-Hoc(点对点模式)
1)简介
2)常用模块
1、command 模块(默认模块)
2、shell 模块
3、script 模块
4、raw 模块
5、copy 模块
6、fetch 模块
7、unarchive 模块(解包模块)
8、archive模块(打包模块)
9、user 模块
10、group 模块
11、yum 模块
12、service 模块
13、file 模块
14、setup 模块
15、cron 模块
16、hostname 模块
운영 및 유지보수 안전 Ansible 소개 및 실제 운영 시연

Ansible 소개 및 실제 운영 시연

Jun 09, 2023 pm 07:35 PM
개발하다

1. 개요

Ansible은 Python을 기반으로 개발되었으며 다양한 운영 및 유지 관리 도구(puppet, cfengine, Chef, func, fabric)의 장점을 통합하여 배치 시스템 구성, 배치를 실현하는 새로운 자동화 운영 및 유지 관리 도구입니다. 프로그램 배포, 일괄 명령 실행 등의 기능.

Ansible 기능:

  • 배포가 쉽고, 주 제어 측에만 Ansible 환경을 배포하면 되며, 제어 측에서는 어떤 작업도 수행할 필요가 없습니다.
  • SSH 프로토콜은 기본적으로 장치 관리에 사용됩니다.
  • 마스터-슬레이브 중앙 집중식 관리
  • 간단한 구성, 강력하고 확장 가능
  • API 및 사용자 정의 모듈 지원, Python을 통해 쉽게 확장 가능
  • 플레이북을 사용하여 강력한 구성 및 상태 관리 사용자 정의
  • 클라우드 컴퓨팅 플랫폼 및 빅데이터

공식 문서: https://docs.ansible.com/ansible/latest/GitHub 주소: https://github.com/ansible/ansible

2. Ansible 아키텍처

Ansible 介绍与实战操作演示

위 사진 위 그림에서 볼 수 있듯이 ansible의 기본 아키텍처는 다음과 같은 부분으로 구성됩니다.

  • Core: ansible
  • Core Modules: ansible과 함께 제공되는 모듈입니다.
  • Extension 모듈(Custom Modules) : 핵심 모듈이 완료하기에 충분하지 않은 경우 특정 기능의 경우 확장 모듈을 추가할 수 있습니다.
  • 플러그인: 모듈 기능을 완성하기 위한 보충 자료
  • 스크립트(플레이북): 스크립트에서 여러 작업을 정의하는 ansible의 작업 구성 파일 및 ansible
  • Connect 플러그인(Connectior Plugins)에 의해 자동으로 실행됩니다. ansible은 연결 플러그인을 기반으로 각 호스트에 연결하지만, ansible은 ssh를 사용하여 각 호스트에 연결하지만 다른 연결 방법도 지원하므로 연결 플러그인은 다음과 같습니다. in이 필요합니다.
  • 호스트 인벤토리: ansible에 의해 관리되는 호스트 정의

3. Ansible 작동 원리

Ansible 介绍与实战操作演示

위 그림에서 이해할 수 있습니다.

  • 관리 터미널은 세 가지 방법을 지원합니다. 관리되는 터미널에 연결하기 위한 local, ssh 및 zeromq에서는 기본적으로 ssh 기반 연결이 사용됩니다. 이 부분은 위 아키텍처 다이어그램의 연결 모듈에 해당합니다.
  • 호스트 인벤토리는 애플리케이션 유형 등에 따라 분류될 수 있습니다. 관리 노드는 다양한 모듈을 통해 해당 작업을 구현합니다. 단일 명령의 일괄 실행은 임시라고 할 수 있습니다.
  • 관리 노드는 플레이북을 사용하여 일종의 기능을 구현하는 여러 작업을 구현할 수 있습니다. , 웹 서비스 설치 및 배포, 데이터베이스 서버 일괄 백업 등 플레이북은 단순히 여러 임시 작업을 결합하여 시스템이 작동하는 구성 파일로 이해할 수 있습니다.

4. Ansible 설치 및 기본 구성

yum install epel-release
yum -y install ansible
ansible --version
로그인 후 복사

Ansible 介绍与实战操作演示

1) 로깅 켜기

구성 파일: /etc/ansible/ansible.cfg

# 去掉前面的'#'号
#log_path = /var/log/ansible.log ==> log_path = /var/log/ansible.log
로그인 후 복사

2) 첫 번째 연결 제거 SSH 확인 요청

# 第一种(推荐)
vi /etc/ansible/ansible.cfg
# 其实就是把#去掉
# host_key_checking = False==> host_key_checking = False

# 第二种
vi /etc/ssh/ssh_config
StrictHostKeyChecking ask==> StrictHostKeyChecking no
로그인 후 복사

Ansible 介绍与实战操作演示

5. Ansible의 7가지 명령

ansible을 설치한 후 ansible이 총 7가지 명령(ansible, ansible-doc, ansible-galaxy, ansible-lint, ansible-playbook, ansible-pull)을 제공한다는 사실을 발견했습니다. 앤서블 볼트. 여기서는 사용법 부분만 살펴보았으며, 자세한 부분은 "command -h" 방법을 통해 알 수 있다.

1) ansible

ansible은 명령의 핵심 부분으로 주로 ad-hoc 명령, 즉 단일 명령을 실행하는 데 사용됩니다. 기본적으로 호스트와 옵션 부분을 따라야 하며, 기본적으로 모듈을 지정하지 않은 경우에는 명령 모듈을 사용합니다. 단, 기본적으로 사용되는 모듈은 /etc/ansible/ansible.cfg #module_name = command에서 수정할 수 있습니다.

ansible 192.168.182.130 -a 'date'
로그인 후 복사

2) ansible-doc

이 명령은 모듈 정보를 보는 데 사용됩니다. 일반적으로 사용되는 매개 변수는 -l 및 -s입니다.

#列出所有已安装的模块ansible-doc-l
ansible-doc-l
#查看具体某模块的用法,这里如查看command模块
ansible-doc-s command
로그인 후 복사

3) ansible-playbook

ansible-playbook 명령이 가장 일반적으로 사용됩니다. 통과 플레이북 파일을 읽은 후 해당 작업을 수행하는데, 이에 대해서는 나중에 중점적으로 다루겠습니다.

4)ansible-galaxy

ansible-galaxy 指令用于方便的从https://galaxy.ansible.com/ 站点下载第三方扩展模块,我们可以形象的理解其类似于centos下的yum、python下的pip或easy_install 。如下示例:

ansible-galaxy install aeriscloud.docker
로그인 후 복사

5)ansible-lint

ansible-lint是对playbook的语法进行检查的一个工具。用法如下:

ansible-lint playbook.yml
로그인 후 복사

6)ansible-pull

该指令使用需要谈到ansible的另一种模式,pull 模式,这和我们平常经常用的push模式刚好相反,其适用于以下场景:你有数量巨大的机器需要配置,即使使用非常高的线程还是要花费很多时间;你要在一个没有网络连接的机器上运行Anisble,比如在启动之后安装。

7)ansible-vault

  • ansible-vault 主要应用于配置文件中含有敏感信息,又不希望他能被人看到,vault可以帮你加密/解密这个配置文件,属高级用法。
  • 主要对于playbooks里比如涉及到配置密码或其他变量时,可以通过该指令加密,这样我们通过cat看到的会是一个密码串类的文件,编辑的时候需要输入事先设定的密码才能打开。
  • 这种playbook文件在执行时,需要加上 --ask-vault-pass参数,同样需要输入密码后才能正常执行。

六、Ansible 主要组成部分

1)ansible 命令执行来源

  • USER,普通用户,即system administrator
  • USER -> ansile playbook -> ansible
  • CMDB,(配置管理数据库)API调用
  • PUBLIC / PRIVATE CLOUD API调用

2)ansible 管理方式

  • Ad-Hoc,即ansible命令,主要用于临时命令使用场景
  • Ansible-playbook​,主要用于长期规划好的,大型项目的场景,需要有前提的规划ansible-playbook(剧本)执行过程:
  • 将已有编排好的任务集写入ansible-playbook
  • 通过ansible-playbook命令分拆任务集至逐条ansible命令,按预定规则逐条执行

3)ansible主要操作对象

  • HOSTS:主机
  • NETWORKING:网络设备

注意事项:

  • 执行ansible的主机一般称为主控端,中控,master或堡垒机
  • 主控端python版本需要在2.6或以上
  • 被控端python版本小于2.4需要安装python-simplejson
  • 被控端如开启SELinux需要安装libselinux-python
  • windows不能作为主控端

七、Ansible 连接被控端方式

1)ssh 密钥

# 生成秘钥
ssh-keygen
# 将秘钥拷贝到被管理服务器上
ssh-copy-id-i ~/.ssh/id_rsa.pub -p 22 root@192.168.182.130
로그인 후 복사

2)账号密码

1、命令行配置

# -k:交互式
ansible -uroot -k 192.168.182.130 -m ping
로그인 후 복사

2、配置文件中配置

# 默认主机配置文件:/etc/ansible/hosts
192.168.182.130 ansible_ssh_user=root ansible_ssh_pass=123456

[web]
192.168.182.130 ansible_ssh_user=root ansible_ssh_pass=123456
로그인 후 복사

常用的配置参数如下:

Ansible 介绍与实战操作演示

八、Host Inventory(主机清单)

主机清单配置(默认配置文件:/etc/ansible/hosts)

1)添加被管控节点

192.168.182.110
로그인 후 복사

示例:

# -m:指定模块
# -a:指定参数
ansible 192.168.182.110 -m ping
ansible 192.168.182.110 -m shell -a "df -h"
로그인 후 복사

Ansible 介绍与实战操作演示

2)配置主机组

# 定义webservers组
[webservers]
192.168.182.110
192.168.182.112
로그인 후 복사

示例:

# -m:指定模块
# -a:指定参数
ansible webservers -m ping
ansible webservers -m shell -a "df -h"
로그인 후 복사

Ansible 介绍与实战操作演示

3)配置连接用户名和密码

[webservers]
192.168.182.130 ansible_ssh_user=root ansible_ssh_pass=123456
로그인 후 복사

常用配置参数如下:

Ansible 介绍与实战操作演示

示例:

ansible 192.168.182.130 -m ping
로그인 후 복사

Ansible 介绍与实战操作演示

4)子分组

[web]
192.168.182.130
192.168.182.110
[mysql]
192.168.182.111
# 子分组
[nfs:children]
web
mysql
# 对分组统一定义变量
[nfs:vars]
ansible_ssh_user=root
ansible_ssh_pass=123456
ansible_ssh_port=22
로그인 후 복사

示例:

ansible nfs -m ping
# -o:一行显示
ansible nfs -m ping -o
로그인 후 복사

Ansible 介绍与实战操作演示

5)自定义主机列表文件

cat>hostlist<<EOF
[web]
192.168.182.130
192.168.182.110
[mysql]
192.168.182.111
# 子分组
[nfs:children]
web
mysql
# 对分组统一定义变量
[nfs:vars]
ansible_ssh_user=root
ansible_ssh_pass=123456
ansible_ssh_port=22
EOF
로그인 후 복사

示例:

# -i:指定主机列表文件
ansible -i hostlist nfs -m ping
로그인 후 복사

Ansible 介绍与实战操作演示

九、Ad-Hoc(点对点模式)

官方文档:https://docs.ansible.com/ansible/latest/command_guide/intro_adhoc.html

1)简介

ad-hoc 命令是一种可以快速输入的命令,而且不需要保存起来的命令,一般测试调试时用的多,ad-hoc简而言之,就是"临时命令"。

2)常用模块

1、command 模块(默认模块)

默认模块,没有shell强大,基本上shell模块都可以支持command模块的功能。

【1】帮助

ansible-doc command
# 推荐使用下面这个
ansible-doc command -s
로그인 후 복사

【2】参数解释

  • free_form——必须参数,指定需要远程执行的命令。需要说明一点,free_form 参数与其他参数(如果想要使用一个参数,那么则需要为这个参数赋值,也就是name=value模式)并不相同。比如,当我们想要在远程主机上执行 ls 命令时,我们并不需要写成”free_form=ls” ,这样写反而是错误的,因为并没有任何参数的名字是 free_form,当我们想要在远程主机中执行 ls 命令时,直接写成 ls 即可。因为 command 模块的作用是执行命令,所以,任何一个可以在远程主机上执行的命令都可以被称为 free_form。
  • chdir——此参数的作用就是指定一个目录,在执行对应的命令之前,会先进入到 chdir 参数指定的目录中。
  • creates——看到 creates,你可能会从字面上理解这个参数,但是使用这个参数并不会帮助我们创建文件,它的作用是当指定的文件存在时,就不执行对应命令,比如,如果 /testdir/test文件存在,就不执行我们指定的命令。
  • removes——与 creates 参数的作用正好相反,它的作用是当指定的文件不存在时,就不执行对应命令,比如,如果 /testdir/tests 文件不存在,就不执行我们指定的命令,此参数并不会帮助我们删除文件。

【3】示例演示

# 上面命令表示在 web 主机上执行 ls 命令,因为使用的是 root 用户,所以默认情况下,ls 出的结果是 web 主机中 root 用户家目录中的文件列表。
ansible web -m command -a "ls"

# chdir 参数表示执行命令之前,会先进入到指定的目录中,所以上面命令表示查看 web 主机上 /testdir 目录中的文件列表,返回显示有2个文件。
ansible web -m command -a "chdir=/testdir ls"

# 下面命令表示 /testdir/testfile1 文件存在于远程主机中,则不执行对应命令。/testdir/testfile3 不存在,才执行”echo test”命令。
ansible web -m command -a "creates=/testdir/testfile1 echo test"

# 下面命令表示 /testdir/testfile3 文件不存在于远程主机中,则不执行对应命令。/testdir/testfile1 存在,才执行”echo test”命令。
ansible web -m command -a "removes=/testdir/testfile1 echo test"
로그인 후 복사

2、shell 模块

shell模块 [执行远程主机的shell/python等脚本]。

【1】查看帮助

ansible-doc shell -s
로그인 후 복사

【2】示例演示

# -o:一行显示
# 安装httpd
ansible web -m shell -a 'yum -y install httpd' -o

# 查看时间
ansible web -m shell -a 'uptime' -o
로그인 후 복사

3、script 模块

script模块 [在远程主机执行主控端的shell/python等脚本 ]。

【1】查看帮助

ansible-doc script -s
로그인 후 복사

【2】参数解释

  • free_form——必须参数,指定需要执行的脚本,脚本位于 ansible 管理主机本地,并没有具体的一个参数名叫 free_form,具体解释请参考 command 模块。
  • chdir——此参数的作用就是指定一个远程主机中的目录,在执行对应的脚本之前,会先进入到 chdir 参数指定的目录中。
  • creates——使用此参数指定一个远程主机中的文件,当指定的文件存在时,就不执行对应脚本,可参考 command 模块中的解释。
  • removes——使用此参数指定一个远程主机中的文件,当指定的文件不存在时,就不执行对应脚本,可参考 command 模块中的解释。

【3】示例演示

# 下面命令表示 ansible 主机中的 /testdir/testscript.sh 脚本将在 web 主机中执行,执行此脚本之前,会先进入到 web 主机中的 /opt 目录
ansible web -m script -a "chdir=/opt /testdir/testscript.sh"

# 下面命令表示,web主机中的 /testdir/testfile1文件已经存在,ansible 主机中的 /testdir/testscript.sh 脚本将不会在 web 主机中执行。
ansible web -m script -a "creates=/testdir/testfile1 /testdir/testscript.sh"

# 下面命令表示,web 主机中的 /testdir/testfile1 文件存在,ansible 主机中的 /testdir/testscript.sh 脚本则会在 web 主机中执行。
ansible ansible-demo3 -m script -a "removes=/testdir/testfile1 /testdir/testscript.sh"
로그인 후 복사

4、raw 模块

raw模块 [类似于command模块、支持管道传递]。

【1】查看帮助

ansible-doc raw -s
로그인 후 복사

【2】示例演示

ansible web -m raw -a "ifconfig eth0 |sed -n 2p |awk '{print \$2}' |awk -F: '{print \$2}'"
로그인 후 복사

5、copy 模块

copy 模块 从主控端复制文件到被控端。

【1】查看帮助

ansible-doc copy -s
로그인 후 복사

【2】示例演示

# -a,--args:后面接参数
ansible web -m copy -a 'src=/etc/ansible/hosts dest=/tmp/hosts owner=root group=bin mode=777'

# backup=yes/no:文件存在且文件内容不一样是否备份,默认不备份
ansible web -m copy -a 'src=/etc/ansible/hosts dest=/tmp/hosts owner=root group=bin mode=777 backup=yes'
로그인 후 복사

6、fetch 模块

copy 模块从被控端复制文件到主控端,正好跟copy相反。

【1】查看帮助

ansible-doc fetch -s
로그인 후 복사

【2】示例演示

# 跟copy支持的参数差不多,src:远端主机的目录,dest:主控端目录,其实真正存放的目录在:/tmp/192.168.182.129/tmp/up.sh,会按每台主机分组存放
#This `must' be a file, not a directory:只支持单个文件获取
ansible 192.168.182.129 -m fetch -a "src=/etc/fstab dest=/testdir/ansible/"
로그인 후 복사

7、unarchive 模块(解包模块)

unarchive 模块是解包模块。

【1】查看帮助

ansible-doc unarchive -s
로그인 후 복사

【2】参数解释

  • copy——默认为yes,当copy=yes,那么拷贝的文件是从ansible主机复制到远程主机上的,如果设置为copy=no,那么会在远程主机上寻找src源文件。
  • src——源路径,可以是ansible主机上的路径,也可以是远程主机上的路径,如果是远程主机上的路径,则需要设置copy=no。
  • dest——远程主机上的目标路径。
  • mode——设置解压缩后的文件权限。

【3】示例演示

ansible 192.168.182.129 -m unarchive -a 'src=/testdir/ansible/data.tar.gz dest=/tmp/tmp/'
로그인 후 복사

8、archive模块(打包模块)

unarchive 模块是打包模块。

【1】查看帮助

ansible-doc archive -s
로그인 후 복사

【2】示例演示

# path:主控端目录,format:压缩格式,dest:被控端目录文件'
ansible 192.168.182.129 -m archive -a 'path=/tmp/ format=gz dest=/tmp/tmp/t.tar.gz'
로그인 후 복사

9、user 模块

【1】查看帮助

ansible-doc user -s
로그인 후 복사

【2】示例演示

# 创建用户(present:默认,可以不写)
ansible web -m user -a 'name=test state=present'

# 删除用户(absent)
ansible web -m user -a 'name=test state=absent'

# 修改密码
# 步骤一、生成加密密码
echo '777777'|openssl passwd -1 -stdin

# 步骤二、修改秘密
ansible web -m user -a 'name=test password="$1$Jo5FD9Jr$2QB.BuybbtR35ga4O5o8N."'

# 修改shell
ansible web -m user -a 'name=test shell=/sbin/noglogin append=yes'
로그인 후 복사

10、group 模块

【1】查看帮助

ansible-doc group -s
로그인 후 복사

【2】示例演示

# 创建
ansible 192.168.182.129 -m group -a 'name=testgroup system=yes'
# 删除
ansible 192.168.182.129 -m group -a 'name=testgroup state=absent'
로그인 후 복사

11、yum 模块

【1】查看帮助

ansible-doc yum -s
로그인 후 복사

【2】示例演示

# 升级所有包
ansible web -m yum -a 'name="*" state=latest'

# 安装apache
ansible web -m yum -a 'name="httpd" state=latest'
로그인 후 복사

12、service 模块

【1】查看帮助

ansible-doc service -s
로그인 후 복사

【2】示例演示

ansible web -m service -a 'name=httpd state=started'

ansible web -m service -a 'name=httpd state=started enabled=yes'

ansible web -m service -a 'name=httpd state=stopped'

ansible web -m service -a 'name=httpd state=restarted'

ansible web -m service -a 'name=httpd state=started enabled=no'
로그인 후 복사

13、file 模块

【1】查看帮助

ansible-doc file -s
로그인 후 복사

【2】示例演示

# 创建文件
ansible web -m file -a 'path=/tmp/88.txt mode=777 state=touch'

# 创建目录
ansible web -m file -a 'path=/tmp/99 mode=777 state=directory'

# 删除
ansible web -m file -a 'path=/tmp/99 state=absent'
로그인 후 복사

14、setup 模块

【1】查看帮助

ansible-doc setup -s
로그인 후 복사

【2】示例演示

ansible web -m setup

ansible web -m setup -a 'filter=ansible_all_ipv4_addresses'
로그인 후 복사

15、cron 模块

【1】查看帮助

ansible-doc cron -s
로그인 후 복사

【2】示例演示

# 创建定时任务
ansible 192.168.182.129 -m cron -a 'minute=* weekday=1,3,5,6,7 job="/usr/bin/wall FBI warning" name=warningcron'

# 关闭定时任务
ansible 192.168.182.129 -m cron -a 'disabled=true job="/usr/bin/wall FBI warning" name=warningcron'

# 删除定时任务
ansible 192.168.182.129 -m cron -a ' job="/usr/bin/wall FBI warning" name=warningcron state=absent'
로그인 후 복사

16、hostname 模块

【1】查看帮助

ansible-doc hostname -s
로그인 후 복사

【2】示例演示

ansible 192.168.182.129 -m hostname -a 'name=192.168.182.129'
로그인 후 복사

Ansible 的介绍和简单使用就先到这里了,还有一个ansible-playbook是非常重要,内容也是比较多,就放到下篇文章介绍了。

위 내용은 Ansible 소개 및 실제 운영 시연의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

Video Face Swap

Video Face Swap

완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

권장되는 AI 지원 프로그래밍 도구 4가지 권장되는 AI 지원 프로그래밍 도구 4가지 Apr 22, 2024 pm 05:34 PM

이 AI 지원 프로그래밍 도구는 급속한 AI 개발 단계에서 유용한 AI 지원 프로그래밍 도구를 많이 발굴했습니다. AI 지원 프로그래밍 도구는 개발 효율성을 높이고, 코드 품질을 향상시키며, 버그 발생률을 줄일 수 있습니다. 이는 현대 소프트웨어 개발 프로세스에서 중요한 보조자입니다. 오늘 Dayao는 4가지 AI 지원 프로그래밍 도구(모두 C# 언어 지원)를 공유하겠습니다. 이 도구가 모든 사람에게 도움이 되기를 바랍니다. https://github.com/YSGStudyHards/DotNetGuide1.GitHubCopilotGitHubCopilot은 더 빠르고 적은 노력으로 코드를 작성하는 데 도움이 되는 AI 코딩 도우미이므로 문제 해결과 협업에 더 집중할 수 있습니다. 힘내

최고의 AI 프로그래머는 누구일까요? Devin, Tongyi Lingma 및 SWE 에이전트의 잠재력을 살펴보세요. 최고의 AI 프로그래머는 누구일까요? Devin, Tongyi Lingma 및 SWE 에이전트의 잠재력을 살펴보세요. Apr 07, 2024 am 09:10 AM

세계 최초의 AI 프로그래머 데빈(Devin)이 태어난 지 한 달도 채 안 된 2022년 3월 3일, 프린스턴 대학의 NLP팀은 오픈소스 AI 프로그래머 SWE-에이전트를 개발했습니다. GPT-4 모델을 활용하여 GitHub 리포지토리의 문제를 자동으로 해결합니다. SWE-bench 테스트 세트에서 SWE-agent의 성능은 Devin과 유사하며 평균 93초가 걸리고 문제의 12.29%를 해결합니다. SWE-agent는 전용 터미널과 상호 작용하여 파일 내용을 열고 검색하고, 자동 구문 검사를 사용하고, 특정 줄을 편집하고, 테스트를 작성 및 실행할 수 있습니다. (참고: 위 내용은 원문 내용을 약간 조정한 것이지만 원문의 핵심 정보는 그대로 유지되며 지정된 단어 수 제한을 초과하지 않습니다.) SWE-A

Go 언어를 사용하여 모바일 애플리케이션을 개발하는 방법을 알아보세요. Go 언어를 사용하여 모바일 애플리케이션을 개발하는 방법을 알아보세요. Mar 28, 2024 pm 10:00 PM

Go 언어 개발 모바일 애플리케이션 튜토리얼 모바일 애플리케이션 시장이 지속적으로 성장함에 따라 점점 더 많은 개발자가 Go 언어를 사용하여 모바일 애플리케이션을 개발하는 방법을 모색하기 시작했습니다. 간단하고 효율적인 프로그래밍 언어인 Go 언어는 모바일 애플리케이션 개발에서도 강력한 잠재력을 보여주었습니다. 이 기사에서는 Go 언어를 사용하여 모바일 애플리케이션을 개발하는 방법을 자세히 소개하고 독자가 빠르게 시작하고 자신의 모바일 애플리케이션 개발을 시작할 수 있도록 특정 코드 예제를 첨부합니다. 1. 준비 시작하기 전에 개발 환경과 도구를 준비해야 합니다. 머리

가장 인기 있는 다섯 가지 Go 언어 라이브러리 요약: 개발을 위한 필수 도구 가장 인기 있는 다섯 가지 Go 언어 라이브러리 요약: 개발을 위한 필수 도구 Feb 22, 2024 pm 02:33 PM

가장 인기 있는 다섯 가지 Go 언어 라이브러리 요약: Go 언어는 탄생 이후 광범위한 관심과 적용을 받아왔습니다. 새롭게 떠오르는 효율적이고 간결한 프로그래밍 언어인 Go의 급속한 발전은 풍부한 오픈 소스 라이브러리의 지원과 불가분의 관계입니다. 이 기사에서는 인기 있는 Go 언어 라이브러리 5개를 소개합니다. 이러한 라이브러리는 Go 개발에서 중요한 역할을 하며 개발자에게 강력한 기능과 편리한 개발 경험을 제공합니다. 동시에 이러한 라이브러리의 용도와 기능을 더 잘 이해하기 위해 구체적인 코드 예제를 통해 설명하겠습니다.

Android 개발에 가장 적합한 Linux 배포판은 무엇입니까? Android 개발에 가장 적합한 Linux 배포판은 무엇입니까? Mar 14, 2024 pm 12:30 PM

Android 개발은 바쁘고 흥미로운 작업이며, 개발에 적합한 Linux 배포판을 선택하는 것이 특히 중요합니다. 많은 Linux 배포판 중에서 Android 개발에 가장 적합한 배포판은 무엇입니까? 이 기사에서는 이 문제를 여러 측면에서 살펴보고 구체적인 코드 예제를 제공합니다. 먼저 현재 인기 있는 여러 Linux 배포판(Ubuntu, Fedora, Debian, CentOS 등)을 살펴보겠습니다. 이들은 모두 고유한 장점과 특징을 가지고 있습니다.

Go 언어 프런트엔드 기술 탐색: 프런트엔드 개발을 위한 새로운 비전 Go 언어 프런트엔드 기술 탐색: 프런트엔드 개발을 위한 새로운 비전 Mar 28, 2024 pm 01:06 PM

빠르고 효율적인 프로그래밍 언어인 Go 언어는 백엔드 개발 분야에서 널리 사용됩니다. 그러나 Go 언어를 프런트엔드 개발과 연관시키는 사람은 거의 없습니다. 실제로 프런트엔드 개발에 Go 언어를 사용하면 효율성이 향상될 뿐만 아니라 개발자에게 새로운 지평을 열어줄 수도 있습니다. 이 기사에서는 프런트엔드 개발에 Go 언어를 사용할 수 있는 가능성을 살펴보고 독자가 이 영역을 더 잘 이해할 수 있도록 구체적인 코드 예제를 제공합니다. 전통적인 프런트엔드 개발에서는 사용자 인터페이스를 구축하기 위해 JavaScript, HTML, CSS를 사용하는 경우가 많습니다.

VSCode 이해: 이 도구는 어떤 용도로 사용됩니까? VSCode 이해: 이 도구는 어떤 용도로 사용됩니까? Mar 25, 2024 pm 03:06 PM

"VSCode 이해: 이 도구는 어떤 용도로 사용됩니까?" 》프로그래머로서 초보자이든 숙련된 개발자이든 코드 편집 도구를 사용하지 않으면 할 수 없습니다. 많은 편집 도구 중에서 Visual Studio Code(약칭 VSCode)는 가볍고 강력한 오픈 소스 코드 편집기로 개발자들 사이에서 매우 인기가 높습니다. 그렇다면 VSCode는 정확히 어떤 용도로 사용되나요? 이 기사에서는 VSCode의 기능과 사용법을 자세히 살펴보고 독자에게 도움이 되는 구체적인 코드 예제를 제공합니다.

웹 개발에서 PHP는 프런트엔드인가요, 백엔드인가요? 웹 개발에서 PHP는 프런트엔드인가요, 백엔드인가요? Mar 24, 2024 pm 02:18 PM

PHP는 웹 개발의 백엔드에 속합니다. PHP는 주로 서버 측 로직을 처리하고 동적 웹 콘텐츠를 생성하는 데 사용되는 서버 측 스크립팅 언어입니다. 프런트엔드 기술과 비교하여 PHP는 데이터베이스와의 상호 작용, 사용자 요청 처리, 페이지 콘텐츠 생성과 같은 백엔드 작업에 더 많이 사용됩니다. 다음으로, 백엔드 개발에서 PHP 적용을 설명하기 위해 특정 코드 예제가 사용됩니다. 먼저 데이터베이스에 연결하고 데이터를 쿼리하기 위한 간단한 PHP 코드 예제를 살펴보겠습니다.

See all articles