Maximize Your Potential

BackEnd 40

[Python BootCamp]서버와 AWS: Django 기반의 ToDoList 서버 구축하기

서버란 무엇인가?서버는 사용자가 요청하는 데이터를 제공하는 프로그램입니다. 이 서버 프로그램이 실행되는 컴퓨터를 서버 컴퓨터라고 합니다. 서버 컴퓨터는 24시간 365일 동안 항상 켜져 있어야 하며, 정상 작동 상태를 유지해야 합니다. 예를 들어, 집에 있는 컴퓨터에 서버 프로그램을 설치하여 개인 서버로 사용할 수 있지만, 안정적인 운영을 위해서는 데이터센터와 같은 전문 환경에서 서버를 관리하는 것이 바람직합니다.이러한 이유로, 서버를 대여해주는 서버 호스팅 서비스가 등장했습니다. 서버 호스팅 업체는 서버를 물리적으로 구축하고, 이를 가상화하여 고객에게 제공합니다. 이러한 가상 서버를 가상 머신(Virtual Machine)이라고 합니다. 가상 머신은 한 대의 물리적 서버를 여러 개의 논리적 서버로 분할..

BackEnd 2024.08.18

[Python BootCamp] AWS Gunicorn&Nginx Github CI/CD 배포 과정

# CI / CD- 과정- ubuntu 생성 후 업데이트 업그레이드sudo apt updatesudo apt upgrade- 계정 비밀번호 설정ssh -i ~/.ssh/mykey [사용자이름]@[서버 IP]SSH 설정 파일 열기: 먼저, SSH 서버의 설정 파일인 sshd_config를 열어야 합니다. 이를 위해 다음 명령어를 사용합니다:sudo vim /etc/ssh/sshd_configvim 대신 nano나 다른 텍스트 편집기를 사용할 수도 있습니다.비밀번호 인증 활성화: sshd_config 파일에서 PasswordAuthentication 설정을 찾아서 yes로 변경합니다. 만약 이 줄이 주석 처리되어 있다면 (즉, 줄 앞에 #가 있다면), 주석 처리를 제거하고 yes로 설정합니다.Password..

BackEnd 2024.08.17

[Python BootCamp]리눅스 기본 명령어 가이드: 파일 및 디렉토리 관리, 검색, 정렬, 와일드카드 활용법

리눅스는 강력한 유닉스 계열 운영 체제로, 다양한 명령어를 통해 효율적인 시스템 관리와 파일 처리가 가능합니다. 이 글에서는 리눅스의 주요 명령어인 cd, pwd, ls, mv, cp, mkdir, rmdir, rm, cat, sort, grep, find, touch, which, whereis와 같은 명령어들을 다루고, 각각의 사용법과 활용 방법을 설명합니다. 이러한 명령어들은 리눅스 시스템을 효과적으로 다루기 위해 필수적인 도구들이며, 이를 이해하고 활용하는 것은 리눅스 사용자로서의 필수적인 능력입니다.cdcd는 "change directory"의 약자로, 리눅스와 다른 유닉스 계열 운영 체제에서 디렉토리(폴더)를 이동할 때 사용하는 명령어입니다.cd 명령어의 사용법은 다음과 같습니다:cd [디렉토..

BackEnd 2024.08.16

[Python BootCamp] Git: 소스 코드 관리의 필수 도구

1. Git이란 무엇인가?Git은 소스 코드 관리 시스템으로, 소프트웨어 개발에서 소스 코드의 변경 사항을 추적하고 버전을 관리할 수 있게 해주는 도구입니다. 분산 버전 관리 시스템(DVCS)으로, 프로젝트의 모든 히스토리를 로컬에 복사하여 독립적으로 작업할 수 있게 합니다. Git은 오픈 소스 프로젝트부터 대규모 엔터프라이즈 프로젝트에 이르기까지 널리 사용되고 있습니다.1.1 Git의 주요 특징분산형 구조: 중앙 서버에 의존하지 않고, 로컬 저장소에서 모든 작업이 가능.빠른 성능: 변경 사항을 추적하고, 병합 작업이 매우 빠름.강력한 브랜치 관리: 브랜치와 병합이 효율적이며, 다양한 워크플로를 지원.2. Git의 기본 개념2.1 저장소(Repository)저장소는 프로젝트의 소스 코드와 이력 데이터를 ..

BackEnd 2024.08.16

[Python BootCamp] Python과 SQL을 이용한 데이터 관리 및 분석 튜토리얼

안녕하세요. Python Boot Camp에서는 MySql과 PostgreSql을 다루었는데요. 배운 것에 대해서 복습 리뷰하는 시간을 가지겠습니다. 쿼리 실습과 웹크롤링 및 데이터 분석을 잠깐 소개하고,SQL로 CRUD DML을 처리하는 방법을 배웠습니다.1. SQL 쿼리 기본 실습SQL은 데이터베이스를 관리하고 조작하기 위한 언어입니다. 다음은 SQL의 기본적인 쿼리 사용법을 설명합니다. 1) 데이터 조회: 테이블에서 모든 데이터를 조회하거나 특정 열만 선택적으로 조회할 수 있습니다.SELECT * FROM student; -- 모든 데이터를 조회SELECT 학번, 이름, 학과 FROM student; -- 특정 열만 선택적으로 조회2) 별칭 사용: 열에 별칭을 붙여 가독성을 높일 수 있습니다. ..

BackEnd 2024.08.15

[Python BootCamp] 장고의 다양한 특징들 및 웹 개발의 다양한 아키텍처와 패턴

이번 글에서는 Django 프레임워크를 사용한 웹 개발의 다양한 아키텍처와 패턴에과 장고의 다양한 특징들에 대해 알아보겠습니다. 목표는 단순히 코드를 작성하는 것이 아니라, 개발 과정을 더욱 체계적이고 효율적으로 만들어, 장기적인 유지보수와 협업에 유리한 환경을 조성하는 것입니다.  버전 관리장고에서는 데이터베이스의 스키마 변경을 관리하기 위해 마이그레이션 시스템을 사용합니다. makemigrations와 migrate 명령어를 이용하여 데이터베이스의 변경사항을 생성하고 적용할 수 있습니다. 이를 통해 개발자는 데이터베이스의 버전 관리를 수월하게 할 수 있으며, 프로젝트의 다양한 버전 간의 데이터베이스 스키마를 쉽게 유지 및 관리할 수 있습니다.python manage.py makemigrationspy..

BackEnd 2024.08.12

[Python BootCamp] Django로 CRUD 구현 및 간단한 블로그 서비스 만들기

Django로 CRUD 구현 CRUD는 데이터베이스에서 기본적으로 수행되는 네 가지 핵심 작업(Create, Read, Update, Delete)의 약어입니다. 각 작업은 데이터의 생명 주기 관리에 필수적입니다. 백엔드 개발자의 가장 기본이라고 할 수 있는 CRUD를 장고로 어떻게 구현하는지 보여 드리도록 하겠습니다. 환경 설정먼저, 필요한 패키지를 설치합니다.pip install django프로젝트 및 앱 생성django-admin startproject myprojectcd myprojectpython manage.py startapp blog Model 정의 (models.py)블로그 글에 필요한 모델을 생성합니다.from django.db import modelsclass Post(models...

BackEnd 2024.08.11

[Python BootCamp]Django로 가상환경부터 간단한 웹사이트 구축하기

프로젝트 & 앱 생성먼저, 프로젝트 디렉터리를 만들고 가상환경을 설정한 후 Django를 설치합니다. mkdir mysitecd mysitepython -m venv venv  가상환경을 활성화한 후에 Django를 설치하고 프로젝트를 생성합니다. # 가상환경 활성화 (Windows).\venv\Scripts\activate# Django 설치pip install django# 프로젝트 생성django-admin startproject tutorialdjango .python manage.py migratepython manage.py runserver 이제 tutorialdjango 프로젝트가 생성되었으니 main과 blog라는 두 개의 앱을 생성합니다. python manage.py startapp ..

BackEnd 2024.08.10

[Python BootCamp] 파이썬 클래스와 인스턴스, 클래스 메서드, 정적 메서드, 추상 클래스, 일급/고차함수 데코레이터, args, kwargs, 이터레이터

파이썬 클래스와 인스턴스 이해하기파이썬은 객체 지향 프로그래밍 언어로, 클래스와 인스턴스를 사용하여 데이터와 기능을 캡슐화할 수 있습니다. 이 글 에서는 파이썬의 클래스와 인스턴스에 대해 알아보도록 하겠습니다.클래스란?클래스는 데이터(멤버 변수)와 기능(메서드)을 가지고 있는 설계도입니다. 예를 들어, 자동차를 생각해보면, 최대 속도, 색상, 브랜드 등의 속성과 출발, 정지 등의 기능을 가질 수 있습니다. 이러한 속성과 기능을 파이썬에서는 클래스를 통해 정의할 수 있습니다.class Car: max_speed = 300 color = 'red' def start(self): print('차가 출발합니다!')인스턴스란?인스턴스는 클래스를 기반으로 생성된 객체입니다. 클래스는 설..

BackEnd 2024.08.09

[Python BootCamp] 기본 연산자, 데이터 타입 조작, 내장 함수(Built-in Functions)와 집합(Set) 이해하기

논리 자료형 (Bool)Python에서는 True와 False 두 가지 논리 값을 사용하여 논리 연산을 수행합니다. 이 값들은 실제로 정수형으로 변환할 수 있으며, True는 1, False는 0으로 간주됩니다.x = True y = False z = 10 > 3 # 10이 3보다 크므로 True입니다. print(z) # 출력: True # 논리 연산 예제 a = True b = False print(a and b) # 출력: False (두 값이 모두 True여야 True) print(a or b) # 출력: True (둘 중 하나라도 True면 True) print(not a) # 출력: False (True의 부정은 False) 클래스와 메서드클래스에서 __str__ 및 _..

BackEnd 2024.08.08