빌드, 배포, 리포지토리, CI, CD, Jenkins
젠킨스가 무엇인지 알기 위해서는 빌드, 배포, 리포지토리, CI, CD 까지 이해해야 한다. 이번 기회에 정말 자주 듣고 사용하는 빌드, 배포, 리포지토리라는 단어와 CI, CD, 젠킨스까지 구글링하여 찾아본 내용을 정리해보았다. 빌드(Build)배포를 하기 위한 준비 과정으로, 서버에 올릴 수 있는 상태로 만드는 것을 뜻한다. 컴파일 된 코드를 실행할 수 있는 상태로 만드는 것이다. 배포(Deploy)개발을 완료하고 테스트 후 유저가 사용할 수 있도록 서버에 반영하는 것을 뜻한다. 빌드가 완성한 실행 파일을 사용자가 접근할 수 있는 환경에 배치시키는 것이다. 리포지토리(Repository, Repo)리포지토리는 개발자가 애플리케이션 소스 코드에 대한 변경을 수행, 관리하는 데 사용하는 중앙화된 스토리지..
2023. 5. 10.
[컴과] 머신러닝: 소개, 분야, 분류, 회귀, 군집화, 특징추출, 앙상블학습,결정트리, 서포트 벡터 머신, 랜덤포레스트, 인공신경망, 딥러닝
머신러닝이란 인공지능의 한 분야로, 인간의 학습 능력을 기계를 통해 구현하는 방법이다. 주어진 데이터로부터 스스로 규칙을 만들고 새로운 지식을 얻는 방법이다. 데이터를 분석에 용이하도록 데이터를 가공하고, 핵심적인 특징을 추출하며, 결정함수를 통해 입-출력을 매핑하고 추론한다. 머신러닝의 성과를 측정하는 방법에는 목적함수를 얼마나 최적화하느냐가 있다. 목적함수란 학습 시스템이 달성해야하는 목표를 정의한 것으로, 대표적으로 오차함수가 있다. 오차함수는 학습 시스템이 출력한 값과 우리가 원했던 값의 차이로 정의되며, 이 차이를 최소화하는 것이 학습의 목표가 된다. 오차에도 학습에 사용한 데이터로 만들어진 오차가 있고, 학습에 사용되지 않은 새로운 데이터를 통해 얻어진 오차가 있다. 이러한 오차들을 일반화하여..
2022. 12. 6.
[컴과] 인공지능: 개요, 지식기반 시스템, 탐색문제풀이, 게임트리, 퍼지이론, 컴퓨터시각, 기계학습, 인공신경회로망, 심층학습
인공지능이란? 인공지능이란 인간의 학습능력과 추론능력, 지각능력을 구현하는 컴퓨터 과학의 분야 중 하나이다. 최초의 신경망 모델은 1943년에 제안되었으며, 1950년 튜링 테스트가 제안되고, 1956년 다트머스 대학교에서 인공지능이라는 용어를 처음 사용하였다. 이후 많은 관심과 연구결과가 이루어졌지만 정보처리의 능력과 정보량의 부족으로 연구자금지원이 중단되며, 1969년 마빈 민스키와 시모어 페퍼트가 "퍼셉트론"이라는 책을 출간하며 지적한 한계로 인해 1970년대 1차 겨울기를 맞는다. 이후 1974년 역전파 알고리즘, 전문가 시스템의 성장 등으로 많은 연구가 있었지만 성장은 지지부진하여 2차 겨울기를 맞는다. 1990년대 이후부터는 문제해결과 비즈니스 중심으로 좁은 분야에 활용되고, 하드웨어의 성장,..
2022. 12. 2.
[컴과] Linux(리눅스): 소개, CLI, 셸, 명령어, 디렉토리와 파일, 운영체제, 사용자관리, vi, 파일시스템, 프로세스 관리, 소프트웨어 관리, 네트워크 관리, 원격제어, 웹서버
리눅스 소개 리눅스는 유닉스 운영체제 중 하나이다. 유닉스는 1970년대 초반에 개발된 시분할처리 시스템용 운영체제이다. 시분할처리란, 여러 명의 사용자가 사용하는 시스템에서 컴퓨터가 사용자들의 프로그램을 번갈아가며 처리해주어 각 사용자에게 독립된 컴퓨터를 사용하게끔 해준다. 리눅스는 1991년 리눅스 커널을 발표하여 알려지게 된다. 여기서 커널이란, 하드웨어를 제어하고 응용 프로그램과 상호작용하는 운영체제의 핵심부를 말한다. 리눅스는 소스 코드가 공개된 오픈 소스 소프트웨어이며, 수많은 사람들이 오픈 소스 프로젝트에 참여하고 있다. 유명 IT기업이나 도메인에서도 대다수 리눅스를 사용하며, 안드로이드, 웹서버, 클라우드, 모바일기기, 임베디드 기기 등에서도 사용되고 있다. 리눅스는 시분할 방식을 지원하고..
2022. 11. 28.