Software Engineering 44

[파이썬기초] 기말시험 정리

컴퓨터 구조튜링머신의 핵심 구성요소는 무한한 길이의 테이프이다.현대 컴퓨터의 메모리 구조는 테이프에서 발전한 개념이다. 함수함수의 구성요소는 이름, 매개변수, 반환값이다.매개변수(parameters)와 인수(arguments)매개변수는 함수 정의 시 받아들일 인수를 정의한 것인수는 함수 호출 시 넘겨주는 변수를 말함 클래스인스턴스 메소드에서 인스턴스 변수에 접근 시 self 키워드를 사용한다.Java에서는 this이기 때문에 헷갈리지 말자. 파일 입출력파일을 여는 모드는 하나 또는 두 문자를 가진 문자열로 표현된다.예를 들어, "at"는 파일을 append 모드이면서 text 모드로 연다는 의미다.

[Django] 장고를 사용한 FBV API 서버 개발기 (시행착오)

어쩌다 보니 장고 프로젝트를 하나 만들게 되었습니다. 아주 편하고 빠르게 웹 개발을 하고, 또 유지보수도 매우 쉬웠는데요(FBV와 CBV를 제공하는데 FBV는 러닝 커브가 거의 없다고 봐도 됩니다), 제가 장고에 대해 잘 몰랐던 점 때문에 어려웠던 점 몇 가지를 두서없이 정리해 보았습니다. 사실 공식 문서를 잘 읽고 따라하면 되는데 시간에 쫓겨 만드는 현실... https://docs.djangoproject.com/en/5.2/intro/ Getting started | Django documentationThe web framework for perfectionists with deadlines.docs.djangoproject.com 0. 장고 클래스에는 기본 시퀀스 기본키가 있다.그래서 "id"..

[PostgreSQL] 설치 및 사용 방법 정리 (Ubuntu 24.04 기준)

1. 설치apt install postgresql postgresql-client설치 시 postgres라는 계정이 생성된다. 2. 관리도구 접속postgres 계정은 패스워드 없이 생성되므로 아래와 같이 sudoers 계정으로 관리 도구를 실행한다.sudo -u postgres psql 3. DB 사용자 생성특이하게 user가 아닌 role 이라는 용어를 사용한다.postgres=# create user MY_USER password '123123123'; CREATE ROLE 4. DB 생성postgres=# create database MY_DB owner MY_USER; CREATE DATABASE 5. DB 접속 (MySQL의 "USE")postgres=# \c DB명 6. DB 로케일 확인 방..

[Node.js] 노드.js 설치, Vite 설정 및 개발 서버 구동

1. Node.js 공식 홈페이지의 설명에 따라 설치 진행https://nodejs.org/en/download Node.js — Download Node.js®Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine.nodejs.orgnode, fnm(Node.js 버전 관리 프로그램), npm(패키지 관리 프로그램) 등은 본인 계정의 홈 디렉터리/.local/share/fnm/ 아래에 설치된다.  2. Vite(개발환경용 웹 서버) 설치npm install vite  3. Vite 설정vite.config.jsimport { defineConfig } from 'vite'import react from '@vitejs/plugin..

Git 자주 쓰는 명령어 정리

용어 정리working tree: 현재 상태의 Git 디렉터리staging area: git add를 통해 캡처된 파일들의 모임local branch: git commit을 통해 커밋된 파일들은 현재 선택된 브랜치에 반영된다. git config --global user.email=""; git config --global user.name="" 사용자 이메일, 이름 설정(필수). 처음 한 번 설정하면 변경할 일이 없다. git clone .git리포지터리를 로컬에 복사한다. git config --global credential.helper 'cache --timeout=3600'한 번 입력한 크리덴셜을 3600초(한 시간)동안 기억한다. git config --global credential.help..

파이썬/Django 사용자 생성, JWT 토큰 발급/검증 예시

목표: Django의 기본 User 모델을 활용해서 Django 사용자를 생성하는 REST API 만들기 1. venv 활성화source bin/activate 2. 필요 패키지 설치, 설정pip install djangorestframework djangorestframework-simplejwt파일: 프로젝트명/settings.py...INSTALLED_APPS = [ ... 'rest_framework', 'rest_framework_simplejwt',]...REST_FRAMEWORK = { 'DEFAULT_AUTHENTICATION_CLASSES': [ 'rest_framework_simplejwt.authentication.JWTAuthentication', ..

파이썬/Django 개발환경 구축 (Ubuntu 24.04)

1. 필요한 패키지 식별 및 설치GitPIPapt updateapt install git python3-pip -y 2. 최상위 프로젝트 디렉터리 생성mkdir /mnt/sda1/project 3. 파이썬 가상 환경 (venv) 생성cd /mnt/sda1/projectpython -m venv 프로젝트명cd 프로젝트명(virtualenv등이 더 많은 기능을 제공하지만, venv로 충분하다고 판단) 4. venv 활성화source bin/activate 5. 필요 파이썬 모듈 설치pip install django 6. 장고 프로젝트 생성django-admin startproject 장고프로젝트명 7. 장고 서버 접속 테스트7.1. settings.py 수정파일: 장고프로젝트명/settings.py...AL..

MariaDB/MySQL 데이터베이스 및 사용자 계정 생성 방법 (charset 포함)

1. root로 mariadb-client 접속mysql -u root -p 2. 데이터베이스 생성create database APIS_DB; 3. 사용자 생성create user APIS_USER@'localhost' identified by '패스워드'; 4. 권한 부여grant all privileges on APIS_DB.* to APIS_USER@'localhost';flush privileges; 5. 사용자 계정으로 접속mysql -u APIS_USER -p 6. 테이블 생성 테스트MariaDB [(none)]> use APIS_DBDatabase changedMariaDB [APIS_DB]> create table MEMBER ( -> id int NOT NULL AUTO_INCREM..

MariaDB/MySQL 데이터베이스 저장 위치 변경하기 (Ubuntu 24.04)

1. MariaDB 설치apt install mariadb-server -y 2. MariaDB 종료systemctl stop mysql 3. DB를 저장할 위치에 디렉터리 생성 및 퍼미션 설정mkdir /mnt/sda1/dbchown mysql:mysql /mnt/sda1/dbchmod 750 /mnt/sda1/db 4. 기본 MariaDB 파일 복사cp -Rp /var/lib/mysql/* /mnt/sda1/db(-R: recursive, -p: preserve permission mode/ownership/timestamp) 5. MariaDB 설정 변경 (datadir 설정)5.1. datadir 설정 파일 찾기root@ubuntu:/etc/mysql# grep -r datadir /etc/mys..