본문 바로가기

개발 관련

(68)
git blame - 코드 수정 내역 확인하기 ✔️ git blame 특정 파일에 기록된 코드의 작성자를 확인하고 싶다면 다음과 같은 형식으로 명령을 입력한다. git blame [파일 이름] git blame ctrl.py git blame을 입력시 작성된 코드의 라인 단위로 커밋, 작성자 이름, 작성 일시가 출력된다. git log --oneline과는 다른 것을 확인할 수 있다. 또한 특정 커밋에서 파일의 작성 내역을 확인할 수 있다. git blame [커밋 해시] [파일 이름] 예를 들어 커밋 39b94d5을 기록할 때의 ctrl.py를 확인하고 싶다면, 다음과 같이 입력한다. git blame 39b94d5 ctrl.py ✔️ git blame -L 파일 내부의 코드가 길어서 일부만 확인하고 싶다면 -L 옵션을 사용해서 출력할 범위를 지정..
git status, log, show 여러가지 옵션들 정리 겸 올리는 글. 파이썬 코드로 배우는 Git & Github 참고. 📌 git status git status는 저장소 안에 있는 파일들의 상태 정보를 확인할 때 사용한다. git은 저장소에 새로운 파일이 추가되거나(Untracked), 기존 파일에 변경 사항이 생겼을 때(Modified) 자동으로 감지한다. ✔️ git status -s(;--short) -s나 --short 옵션은 상태 정보를 간결하게 출력해준다. git status -s 앞의 ?? 는 파일의 상태를 식별할 수 있는 문자다. ?? : Untracked M : Modified MM : 파일이 스테이징된 후, 다시 Modified A : 경로가 스테이징된 후, 경로 내에 Untracked 파일 발생 📌 git log..
[django] REST API 구축하기 http://www.yes24.com/Product/Goods/69758579 배프의 오지랖 파이썬 웹프로그래밍 - YES24 기초부터 실전 웹 서비스까지 다 담았다!현직 개발자이자 IT강사인 배프의 강의와 실무를 통해 쌓은 노하우를 한 단계식 알려드립니다. 현 웹 프로그래밍 시장은 다양한 기술을 활용하여 얼마나 www.yes24.com 위 책을 참고하여 쓴 내용이다. 1. django 설치 및 프로젝트 생성하기 pip install django# conda install django django-admin startproject config . python manage.py migrate python manage.py createsuperuser 2. 앱 만들고 INSTALLED_APPS에 등록 pyt..
s3 데이터 가져와서 DB에 import 하기 (pandas, boto3) s3에 올려둔 csv 데이터를 가져와서 pandas로 데이터프레임 형식으로 데이터를 읽은 후, 원하는 테이블에 import하고 싶었다. 일단 boto3을 사용하여 s3 데이터를 불러온다. s3 데이터를 가져오기 위해선, 접근 키 아이디와 비밀번호, 그리고 지역이 필요하다. 접근 키 아이디와 비밀번호는 AWS 계정을 생성한 후 IAM에서 사용자를 생성하는 과정에서 확인할 수 있다. 참고로 IAM은 AWS 리소스에 대한 접근을 안전하게 제어할 수 있는 서비스다. 아무튼 IAM을 생성하고 나서, 해당 키를 csv 파일로 보관해놨기 때문에 쉽게 찾을 수 있었다. 다운을 안받았다면 AWS 콘솔에서 IAM을 검색하고 사용하면 된다. 지역도 같이 확인한다. 혹시 지역이 정확히 기억이 안난다면, 다음 페이지를 확인하자..
4장. 쿠버네티스를 이루는 컨테이너 도우미, 도커 ✏️ 도커란? 도커와 쿠버네티스는 자주 엮어서 언급되곤 한다. 이는 쿠버네티스를 이루는 기본 오브젝트가 파드고, 파드는 컨테이너로 이루어져 있으며, 컨테이너를 만들고 관리하는 도구가 도커이기 때문이다. 파드는 워커 노드라는 노드 단위로 관리하며, 워커 노드와 마스터 노드가 모여 쿠버네티스 클러스터가 된다. 또한 파드는 1개 이상의 컨테이너로 이루어져 있다. 파드는 쿠버네티스로부터 IP를 받아 컨테이너가 외부와 통신할 수 있는 경로를 제공하기도 한다. 파드가 컨테이너들이 정상적으로 작동하는지 확인하고 네트워크나 저장 공간을 서로 공유하므로 컨테이너들은 마치 하나의 호스트에 존재하는 것처럼 작동할 수 있다. 위 그림과 같이 컨테이너를 돌보는 것이 파드고, 파드를 돌보는 것이 쿠버네티스 워커 노드이며, 워커 ..
3장. 컨테이너를 다루는 표준 아키텍처, 쿠버네티스 리눅스 운영 체제의 커널 하나에서 여러 개의 컨테이너가 격리된 상태로 실행되는 인프라 환경을 말한다. 여기서 말하는 컨테이너란 하나 이상의 목적을 위해 독립적으로 작동하는 프로세스다. 쿠버네티스를 이용하게 되면서 컨테이너 인프라 환경을 좀 더 효율적으로 관리할 수 있게 되었다. 하지만 실제로 쿠버네티스는 컨테이너 오케스트레이션(orchestration)을 위한 솔루션이다. 오케스트레이션이란 복잡한 단계를 관리하고 요소들의 유기적인 관계를 미리 정의해 손쉽게 사용하도록 서비스를 제공하는 것을 의미하는데, 다수의 컨테이너를 유기적으로 연결, 실행, 종료뿐만 아니라 상태를 추적하고 보존하는 등 컨테이너를 안정적으로 사용할 수 있게 만들어주는 것이 컨테이너 오케스트레이션이다. 컨테이너 오케스트레이션을 제공하는 ..
IntelliJ에서 java와 python 같이 사용하기 알고리즘을 풀면서 자바로도, 파이썬으로도 같이 풀고 싶어졌다. 인텔리제이에서 파이썬 인터프리터를 추가해주면 되는 것이었다. 다음과 같이 설정한다. [File] - [Project Structure] 클릭 Plaform Settings에서 [SDKs] - [Add Python SDK...] 클릭 다음 [System Interpreter] 클릭 후, 원하는 인터프리터를 지정하고 [OK]를 눌러주면 된다.
2장. 테스트 환경 구축하기 1장에서 설명한 것과 같이 개인 노트북이나 PC에 가상 환경을 구축하고 그 안에 인프라 환경을 구성하는 순서로 실습이 진행된다. 2장에서는 가상 환경을 구성하는 데 사용하는 도구를 살펴보고, 직접 가상 환경을 구축한다. 이때 일관성 있는 결과를 얻기 위해 프로젝트 환경이 가능한 한 일정하게 생성되고 유지돼야 한다. 그래서 여기서는 코드로 하드웨어를 설정하고, 운영 체제를 설치하고, 네트워크를 구성하고, 개발 환경을 구축해주는 코드형 인프라(IaC; Infrastructure as Code)로 인프라 환경을 일정하게 유지하고 구성한다. 코드형 인프라를 지원하는 소프트웨어는 여러 개이지만, 그 중 베이그런트(Vagrant)가 가장 배우기 쉽고 사용 방법도 간단하다. 베이그런트는 버추얼박스(VirtualBox..