본문 바로가기

728x90

IT

(220)
Docker 기본 명령어 3. Docker 기본 명령어3.1 docker --versiondocker --version 명령어는 현재 설치된 Docker의 버전을 확인합니다. 이 명령어는 Docker가 제대로 설치되었는지 점검할 때 유용합니다.사용법:docker --version출력 예시:Docker version 20.10.7, build f0df3503.2 docker pulldocker pull 명령어는 Docker Hub 또는 지정된 Docker 레지스트리에서 이미지를 다운로드합니다. 이미지는 로컬 시스템에서 사용될 수 있도록 풀(pull)됩니다.사용법:docker pull :예시:docker pull ubuntu:20.04위 명령어는 ubuntu:20.04 이미지를 Docker Hub에서 다운로드합니다.3.3 docke..
Docker 주요 개념 2. Docker의 주요 개념2.1 이미지 $(Image$)Docker 이미지$(Image$)는 컨테이너를 실행하기 위한 템플릿입니다. 이미지는 읽기 전용이며, 애플리케이션과 그 실행에 필요한 파일, 라이브러리, 설정 등을 모두 포함하고 있습니다. Docker 이미지는 컨테이너를 실행하는 데 필요한 환경을 완전히 정의합니다.이미지는 레포지토리와 태그로 구성됩니다. 예: nginx:latest레포지토리: 기본 애플리케이션 이름, 예: nginx태그: 특정 버전 또는 상태, 예: latest, 1.19, stable이미지는 여러 레이어로 구성되며, 각각의 레이어는 명령어$(RUN, COPY, ADD$)에 의해 생성됩니다.이미지는 커스터마이즈가 가능하며, 새로운 이미지 생성을 위해 docker build 명령..
Docker 1. Docker 소개1.1 Docker란 무엇인가?Docker는 컨테이너화 기술을 제공하는 오픈소스 플랫폼입니다. 소프트웨어 개발자가 애플리케이션을 그 실행 환경과 함께 패키징하여, 다양한 환경에서 일관되게 실행할 수 있게 돕습니다. Docker는 애플리케이션을 독립적인 "컨테이너"라는 단위로 격리하여 실행합니다. 이 컨테이너는 필요한 모든 의존성과 설정을 포함하고 있어, 개발, 테스트, 배포 환경에 관계없이 애플리케이션이 동일하게 동작하도록 보장합니다.1.2 Docker의 필요성Docker는 애플리케이션의 배포 및 관리를 더 쉽게 만들어주는 도구입니다. 그 필요성은 다음과 같습니다:일관성: 개발 환경, 테스트 환경, 생산 환경에서 동일한 컨테이너를 사용하므로 환경 차이로 인한 문제를 줄일 수 있습니다..
딥러닝 기초 핵심 개념 2 Dropout Dropout은 학습 중에 설정한 확률값에 따라서 일부 뉴런을 제거하여 과대적합을 방지하는 기법입니다. 특정 뉴런에만 집중해서 학습하지 않도록 과대적합을 방지하도록 사용합니다. 더보기 import torch import torch.nn as nn class Model(nn.Module): def __init__(self): super(Model, self).__init__() self.fc1 = nn.Linear(10, 5) self.dropout = nn.Dropout(0.5) # dropout 비율은 50% self.fc2 = nn.Linear(5, 1) def forward(self, x): x = torch.relu(self.fc1(x)) x = self.dropout(x) x = ..
딥러닝 기초 핵심 개념 1 Loss Function Loss Function은 모델의 예측값과 실제 값이 얼마나 유사한지를 판단하는 함수입니다. 작을수록 두 값이 유사합니다. 회귀와 분류에 따라 다양한 Loss Function이 사용됩니다. 회귀- 평균절대오차(Mean Absolute Error): 두 값의 차이의 절대값의 전체 합의 평균 $MAE = \frac{1}{N}\sum |y - \hat{y}|$ 평균제곱오차(Mean Squared Error): 두 값의 차이의 제곱의 전체 합의 평균 $MSE = \frac{1}{N}\sum_{i=1}^{N} (|y_{i} - \hat{y}_{i}|)^{2}$ RMSE: MSE의 제곱근(Root) $RMSE = \sqrt{\frac{1}{N}\sum_{i=1}^{N} (|y_{i} - \..
머신러닝 기초 Gradient Descent 1차 미분 계수$($기울기$)$를 이용해 함수의 최솟값을 찾는 방법 Gradient Descent는 함수의 최솟값을 찾는 방법 중 하나입니다. 함수의 기울기를 이용하여 최솟값을 찾습니다. Learning Rate는 학습 속도를 결정하는 요소 중 하나이며, 적절한 값을 선택하는 것이 중요합니다. 더보기 단순한 이차 함수의 최솟값을 Gradient Descent 알고리즘을 사용하여 찾아보겠습니다. import numpy as np # 이차 함수 정의: f(x) = x^2 def quadratic_function(x): return x ** 2 # Gradient Descent 알고리즘 적용 def gradient_descent(starting_point, learning_rat..
인공 신경망 기초 Perceptron Perceptron은 초기의 인공 신경망으로, 사람의 신경망을 모방하여 다수의 입력을 받아서 하나의 결과를 내보내는 알고리즘입니다. 각 입력에 가중치를 곱하여 임계치를 기준으로 정보$($데이터$)$를 전달합니다. 단층 퍼셉트론은 입력층과 출력층으로 구성되며, 다층 퍼셉트론은 입출력 사이에 은닉층이 추가되어있으며, 은닉층에서 비선형으로 만들어주는 활성화함수가 있다. 더보기 예를 들어, Perceptron을 사용하여 AND 게이트를 구현한다고 가정해보겠습니다. AND 게이트는 두 입력이 모두 참일 때만 출력이 참이 되는 논리 연산입니다. Perceptron은 두 입력에 대한 가중치를 곱하고 임계치를 적용하여 출력을 계산할 수 있습니다. def perceptron(input1, input2..
[백준] 14938번 서강그라운드 [Python] - 플로이드 워셜, 데이크스트라 지역의 개수 n, 수색범위 m, 길의 개수 r에 대해서 각 지역마다 주어진 아이템 수와 지역을 연결하는 길의 길이가 주어질때, 얻을 수 있는 최대 아이템 개수를 구하는 문제 $($수색 범위를 넘어가는 먼 지역은 탐색할 수 없음$)$ 더보기 문제 예은이는 요즘 가장 인기가 있는 게임 서강그라운드를 즐기고 있다. 서강그라운드는 여러 지역중 하나의 지역에 낙하산을 타고 낙하하여, 그 지역에 떨어져 있는 아이템들을 이용해 서바이벌을 하는 게임이다. 서강그라운드에서 1등을 하면 보상으로 치킨을 주는데, 예은이는 단 한번도 치킨을 먹을 수가 없었다. 자신이 치킨을 못 먹는 이유는 실력 때문이 아니라 아이템 운이 없어서라고 생각한 예은이는 낙하산에서 떨어질 때 각 지역에 아이템 들이 몇 개 있는지 알려주는 프로그램을..
LLM 활용 인공지능 서비스 개발자 양성과정 - OT Saltlux에서 진행하는 프롬프트 전문 인재 양성 교육에 참여하게 되어 기쁩니다! 2023년 마지막 평일에 OT가 열렸습니다. 새 건물에서 웰컴 키트를 받으며 간단한 소개를 듣고 고육생끼리 짧게 자기 소개를 나누었습니다. 웰컴 키트에는 텀블러, 칫솔, 무선 충전기 겸 마우스 패드, 볼펜, 노트북 거치대가 포함되어 있었습니다. 이전에도 면접을 보러 갔었지만, 취업사관학교 도봉 캠퍼스는 완전 새 건물이었습니다. 깔끔하고 편안한 느낌에 좋은 시설이에요! 각 자리에는 모니터 암이 하나씩 있고, 라운지에는 LG 스텐바이미가 3개 정도 있었습니다. 도봉 캠퍼스는 올해 시작해서 제가 1기라는 타이틀과 올해의 마지막 교육생이라는 이름도 갖게 되었습니다. 더보기 새싹(Seoul Software Academy, SeSA..
[백준] 14502번 연구소 [Python] 인체에 치명적인 바이러스를 연구하던 연구소에서 바이러스가 유출되었다. 다행히 바이러스는 아직 퍼지지 않았고, 바이러스의 확산을 막기 위해서 연구소에 벽을 세우려고 한다. 연구소는 크기가 N×M인 직사각형으로 나타낼 수 있으며, 직사각형은 1×1 크기의 정사각형으로 나누어져 있다. 연구소는 빈 칸, 벽으로 이루어져 있으며, 벽은 칸 하나를 가득 차지한다. 일부 칸은 바이러스가 존재하며, 이 바이러스는 상하좌우로 인접한 빈 칸으로 모두 퍼져나갈 수 있다. 새로 세울 수 있는 벽의 개수는 3개이며, 꼭 3개를 세워야 한다. 예를 들어, 아래와 같이 연구소가 생긴 경우를 살펴보자. 2 0 0 0 1 1 0 0 0 1 0 1 2 0 0 1 1 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 1 0 1..
[백준] 12851번 숨바꼭질 2 [Python] 수빈$($=N$)$이가 동생 $($=K$)$ 을 찾는 데 걸리는 최소 시간을 구하는 문제 +1, -1, x2 : 1초 소요 추가로 최소 소요 시간이 걸리는 방법의 수도 구해야한다. 더보기 문제 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N$(0 ≤ N ≤ 100,000)$에 있고, 동생은 점 K$(0 ≤ K ≤ 100,000)$에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 때 걷는다면 1초 후에 X-1 또는 X+1로 이동하게 된다. 순간이동을 하는 경우에는 1초 후에 2*X의 위치로 이동하게 된다. 수빈이와 동생의 위치가 주어졌을 때, 수빈이가 동생을 찾을 수 있는 가장 빠른 시간이 몇 초 후인지 그리고, 가장 빠른 시간으로 찾는 방법이 몇 가지 인지 구하..
[백준] 9935번 문자열 폭발 [Python] 두 개의 문자열이 주어진다. 첫 문자열에서 두 번째 문자열이 포함되면 그 문자열을 제거하고 남은 부분이 이어 붙인다. 이어 붙여진 문자열에 두 번째 문자열이 포함되어 있다면 위 과정을 계속 반복한다. 남은 문자열이 존재하면 그 문자열을 출력하고, 없다면 "FRULA"를 출력한다. 더보기 문제 상근이는 문자열에 폭발 문자열을 심어 놓았다. 폭발 문자열이 폭발하면 그 문자는 문자열에서 사라지며, 남은 문자열은 합쳐지게 된다. 폭발은 다음과 같은 과정으로 진행된다. 문자열이 폭발 문자열을 포함하고 있는 경우에, 모든 폭발 문자열이 폭발하게 된다. 남은 문자열을 순서대로 이어 붙여 새로운 문자열을 만든다. 새로 생긴 문자열에 폭발 문자열이 포함되어 있을 수도 있다. 폭발은 폭발 문자열이 문자열에 없을 때까지 계..