본문 바로가기
728x90

전체 글247

Dockerfile Dockerfile이란? 앱을 컨테이너로 만들 때 이미지를 만드는 용도로 사용 Dockerfile을 작성하여 똑같은 앱 환경을 쉽게 만들고 그 과정을 자동화할 수 있음 예시 # Dockerfile FROM ubuntu:latest MAINTAINER Your Name RUN apt-get update && apt-get install -y nginx COPY index.html /usr/share/nginx/html EXPOSE 80 CMD ["nginx", "-g", "daemon off;"] FROM: 베이스 이미지를 선택 MAINTAINER: 이미지를 만든 사람의 정보 RUN: 이미지에 명령을 실행하여 파일을 추가하거나 삭제 COPY: 파일을 이미지에 복사 EXPOSE: 컨테이너가 노출할 포트를 설.. 2024. 3. 18.
Github Actions와 CI/CD Github Actions Github에 내장된 CI/CD 도구 github와 통합이 쉽고 CI/CD 서버가 내장되어 따로 구축할 필요가 없으며 일정 수준까지 가격이 무료 무료 버전: 스토리지 500MB, 월 2000분 동작 방법: .github/workflows 폴더 아래에 yaml 파일이 위치 작성된 actions 파일들을 github에서 자동으로 실행 CI test를 통과한 코드만 develop 브랜치와 main 브랜치에 merge되도록 하여 오류를 방지하고 안정적인 코드를 배포하며 버그를 빠르게 발견 예시 # Actions 이름 github 페이지에서 볼 수 있다. name: 'CI' # Event Trigger 특정 액션 (Push, Pull_Request)등이 명시한 Branch에서 일어나면 .. 2024. 3. 18.
CI/CD와 Docker CI/CD의 정의 CI(Continuous Integration, 지속적인 통합) 자동화된 빌드와 자동화된 테스트 제공 안정적인 코드를 빠르게 제공 CD(Continuous Delivery, 지속적인 서비스 제공) CD(Continuous Deployment), 지속적인 배포) 배포 자동화로 배포 시간을 단축하고 결과물을 빠르게 지속적으로 제공 과거의 배포: 폭포수 개발 방식 현대적인 개발 과정: 애자일 개발 방식 특정 주기마다 개발, 테스트 및 프로덕션에 통합된 기능을 출시 Docker를 통해 서버를 표준화하고 같은 환경에서 테스트 및 배포 테스트를 진행하고 이 과정을 자동화 Docker가 테스트 뿐만 아니라 실제 배포도 담당 Docker 기초 Docker 사용 이유 애플리케이션 개발과 배포가 편해진다.. 2024. 3. 18.
네트워크 모델(OSI 7 Layer) 이해 1. OSI 7 Layer OSI 7계층의 이해 다양한 네트워크 간의 호환을 위해 만든 표준 네트워크 모델 논리적인 계층. 데이터를 처리하는 단계. 2계층 데이터 링크 계층: 랜카드의 Mac 주소(물리적 주소)을 사용해 통신 3계층 네트워크 계층: 경로를 결정할 때 IP 주소를 사용 4계층 전송 계층: 포트 번호 7계층 데이터 전송 흐름 송신지에서 보내는 데이터는 각 계층별로 캡슐화되어 수신지에 전달되고, 수신지에서는 각 계층별로 캡슐화를 풀어 해당 데이터를 확인 캡슐화(Encapsulating): PC 내부에서 계층으로 내려올 때마다 각 계층의 Header정보(목적지에 대한 식별자)가 붙게 됨 Packet이 나갈 때는 네트워크 장비에서 header 정보를 확인하여 목적지로 디지털 신호로 전송됨 디캡슐화.. 2024. 3. 15.
자연어처리의 기본 자연어처리란 자연어: 사람들의 사회생활에서 자연스럽게 발생하여 쓰이는 언어 자연어 처리: 자연어를 컴퓨터를 이용하여 이해하고 생성하도록 하는 제반의 언어 NLU(자연어 이해) + NLG(자연어 생성) 자연어처리의 응용 분야 기계번역, 문서요약, 기계독해, 개인비서 서비스, 로봇 저널리즘, 문서분류, 챗봇, 감성분석 자연어처리가 어려운 이유 (1) 언어의 중의성 중의성: 단어, 어절 그리고 구 등 하나의 언어적 단위가 두 가지 이상의 해석이 가능한 것 같은 글자의 조합이 여러 의미를 가지고 있음 -> 처리의 복잡도가 상승 (2) 규칙의 예외 형태론: 언어의 규칙을 연구하는 분야 규칙을 모든 단어에 그대로 적용할 수 없음 -> 처리의 복잡도가 상승 (3) 언어의 유연성과 확장성 구조 문법: 문장의 여러 단어.. 2024. 3. 13.
인간 지능을 흉내 내는 인공지능 인공지능의 정의 인간의 학습능력과 추론능력, 지각능력, 자연언어의 이해능력 등을 컴퓨터 프로그램으로 실현한 기술 인간의 지능이 가지는 학습, 추리, 적응, 논증 따위의 기능을 갖춘 컴퓨터 시스템 지능적으로 행동하는 계산 에이전트를 만들고 분석하는 학문 분야 충돌하는 관점 앨런 튜링의 튜링 테스트 튜링 테스트를 통과한 기계는 생각한다고 간주해도 된다. 철학자 존 설의 중국인의 방 컴퓨터 프로그램은 중국어 질문을 전혀 이해하지 못한 채 튜링 테스트를 통과할 수 있음 튜링 테스트를 통과해도 생각한다고 말하면 안 됨 인공지능의 역사 제1차 AI붐 1950년 : Alan Mathison Turing 학습하는 기계에 대한 논문 발표 Turing machine 고안 2차 세계 대전, 에니그마 해독 1956년 : Jo.. 2024. 3. 13.