Software Engineering 43

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

컴퓨터 구조튜링머신의 핵심 구성요소는 무한한 길이의 테이프이다.현대 컴퓨터의 메모리 구조는 테이프에서 발전한 개념이다. 함수함수의 구성요소는 이름, 매개변수, 반환값이다.매개변수(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..

[Eclipse] 'The default superclass, "jakarta.servlet.http.HttpServlet", according to the project's Dynamic Web Module facet version (5.0), was not found on the Java Build Path.' 해결 방법

이클립스 2023-06 버전에서 Dynamic Web Project를 생성하고 런타임으로 Tomcat 10.1을 사용하는 프로젝트에서 JSP 태그를 작성하면 제목과 같은 오류가 생기는데, 해결 방법을 적어둡니다. 다른 버전도 그런지는 모르겠습니다. 아마 톰캣 버전에 따라서 JSP 관련 클래스의 네임스페이스가 javax에서 jakarta로 바뀌어서 그런 걸로 보입니다. 프로젝트 속성(Properties)에서 Project Facets 화면에서 Dynamic Web Module 항목의 버전을 6.0으로 변경하고 Apply and Close 버튼을 누르면 해결됩니다. 재밌는건 이렇게 해서 오류 마커가 사라지면 모듈 버전을 5.0으로 되돌려도 오류가 다시 생기지 않습니다. 알다가도 모르겠네요