티스토리 뷰
1. 미니포지란?
- conda : 패키지/가상환경 관리도구(명령어)
- anaconda: conda + python + 데이터 과학관련 수백개 패키지 포함 배포판
- miniconda: conda + python만 있는 최소한의 anaconda => 기본 채널은 defaults, 상업적으로 사용시 유료
- miniforge: miniconda와 같은데, 기본 채널이 conda-forge, 상업 제한 없음
- defaults: Anaconda,Inc의 상업 채널, conda install 로 패키지 설치시 해당 채널에서 가져옴
- conda-forege : conda 패키지를 위한 커뮤니티 채널(공개적으로 빌드, 배포, 유지보수)
* 파이썬 내장 가상환경 도구 venv는 DS/AI 패키지 설치시 문제가 많아 conda로 설치하면 빠르고 안정적으로 설치 가능, python 버전도 conda는 한줄로 쉽게 설치 가능한데, venv는시스템에 직접 설치해야함
2. 사용자의 홈 디렉토리(~)로 이동
- 홈 디렉토리는 루트 권한 없이도 모든 작업(설치, 삭제, 수정 등)이 가능
- /usr, /opt, /etc 같은 시스템 디렉토리는 sudo 권한이 필요하고, 실수하면 시스템이 망가질 수 있음
- miniforge는 시스템 전체가 아니라 현재 로그인한 사용자만 쓸 수 있도록 만드는 가상환경 도구로 홈에 설치하면 내 환경에만 설정되고, 다른 사용자나 시스템에 영향 없다.
cd ~
3. 최신 버전 설치
curl -LO https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-Linux-x86_64.sh
bash Miniforge3-Linux-x86_64.sh
# 엔터 계속 -> yes -> 엔터 -> yes
4. bash 초기 설정 파일 재실행(또는 터미널창 껏다가 재실행)
source ~/.bashrc
5. 왜 윈도우 vscode에서 굳이 wsl와 ubuntu를 설치해 연결해서 개발할까?
1) 실제 서비스가 배포되는 서버 환경은 Linux다
- 개발 단계부터 리눅스 환경에서 작업하면 개발 환경과 배포 환경간의 차이로 인해 발생하는 예기치 못한 문제를 줄일 수 있다.
2) 도구 호환성 : 특정 개발 도구나 라이브러리(예: Docker)는 리눅스 환경에서 더 안정적이거나 설치/사용이 간편한 경우가 많다.
3) 강력하고 효율적인 명령어로 개발 생산성이 올라감 : grep, awk, sed, ssh, 파이프 등
- grep: 파일이나 출력 내용에서 특정 문자열을 빠르게 찾는 도구 => 정규식 표현을 지원해 복잡한 패턴도 찾을 수 있고, 파이프 연결로 실시간 분석이 가능하다
grep "error" server.log
# server.log에서 "error"가 포함된 줄만 출력
- awk : 컬럼 기반 데이터 추출 및 처리(열 단위로 데이터 처리)
awk '{ print $2 }' access.log
# 각 줄의 2번째 열만 출력
- sed: 파일을 직접 열지 않아도 대량으로 텍스트 수정이 가능하다, 스크립트에서 자동화 편집에 최적
sed 's/apple/orange/g' file.txt
# file.txt에서 apple을 orange로 전부 바꿔줌
- ssh: 다른 서버에 안전하게 접속해서 명령을 실행하는 도구, 원격 서버 작업 자동화에 핵심, scp, rsync등과 함께 파일 전송도 가능
ssh user@192.168.0.1
# 192.168.0.1 서버에 접속
- 파이프 (|): 복잡한 작업을 한 줄로 조합해서 사용 가능
* 윈도우와 비교
예시1. 404에러 낸 IP 목록을 많이 발생한 순서로 정리
1) 리눅스
cat access.log | grep "404" | awk '{print $1}' | sort | uniq -c | sort -nr
2) 윈도우
- 로그 파일 열기 > 필터 누르기 > 복사해서 엑셀 붙여넣기 > 정렬 > 자동화가 어려움 (클릭이나 마우스 조작 등 수동 작업)
** 윈도우와 리눅스 강점 비교
윈도우 | 리눅스 |
그래픽 기반, 직관적, 수작업이 많음 | CLI 기반, 조합 가능, 자동화 최적 |
반복 작업이 불편함 | 한 줄로 반복 처리 가능 |
GUI 도구 위주(vscode, notepad++ 등) | 텍스트 기반 처리 최강! |
'AI > AI 서비스 개발' 카테고리의 다른 글
[AI 서비스 개발] AI 여행플래너 서비스 프로젝트 관련 용어 복기 (0) | 2025.03.18 |
---|---|
[AI 서비스 개발] 크롤링 방지 기법, 크롤링 정책 (0) | 2025.03.17 |
[AI 서비스 개발] RAG의 패러다임 변화 (0) | 2025.03.16 |
[AI 서비스 개발] LLM의 Reasoning, Deepseek R1, 파인튜닝과 강화학습 (0) | 2025.03.11 |
[AI 서비스 개발] RAG 파이프라인 (0) | 2025.03.06 |
- Total
- Today
- Yesterday
- 프로그래머스
- 오블완
- 갓생
- ChatGPT
- 고득점 Kit
- 경제
- 오픽
- 30분
- 뉴스
- 습관
- SQL
- 티스토리챌린지
- 기초
- 실기
- 아침
- 미라클모닝
- 아침운동
- 다이어트
- Ai
- C언어
- 운동
- opic
- 빅데이터 분석기사
- llm
- 줄넘기
- IH
- 스크랩
- Python
- 영어회화
- 루틴
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |