Linuxpia 548

Django에서 MTV란?

MTV 아키텍처란? (Django에서의 구조 이해)MTV는 Django 웹 프레임워크에서 사용하는 아키텍처 패턴입니다. 이 구조는 전통적인 MVC(Model-View-Controller) 패턴과 유사하지만, Django에서의 용어에 맞추어 Model - Template - View로 구성됩니다.1. MTV의 구성 요소 구성요소 설명 역할 Model (모델)데이터 구조와 데이터베이스 작업 담당DB 테이블과 연결되어 데이터 저장, 조회, 수정, 삭제를 처리Template (템플릿)사용자에게 보여줄 HTML 화면HTML, CSS, JavaScript 등을 포함한 웹 페이지 출력 형식View (뷰)사용자의 요청을 처리하고 응답 생성요청을 받고, 필요한 데이터 처리 후, 템플릿에 전달하여 응답 생성2. ..

[VMware] LinuxMint 설치 후 첫 과정

[VMware] LinuxMint 설치 후 첫 과정리눅스 설치 후에 제일 먼저 서둘러서 해야 할 작업은 최고 관리자 'root'의 암호를 설정하는 일입니다. 문제 사태가 발생했을 때 최고관리자는 무엇이든지 할 수 있는 권한이 있거든요. 한글 설치와 설정최고관리자 암호를 설정 후에는 우선 필요한 한글을 설치합니다. 프로그램을 설치하기 앞서 'update'를 먼저 합니다. 이 과정은 리눅스에서 프로그램을 새로 설치하기 전에 당연히 거치는 과정으로 생각하는 것이 좋습니다.한글 입력기 설치한글 입력을 설정하는 여러 방법 중 가장 편리한 방법은 'ibus-hangul'을 사용하는 것입니다. 'ibus'와 'ibus-hangul'는 백화점과 입점 점포의 관계입니다. 'ibus'는 Intelligent Input B..

REST API란 무엇인가요?

REST API란 무엇인가요?1. REST란?REST는 Representational State Transfer의 약자로, 웹의 자원을 일관된 규칙(아키텍처)에 따라 접근하고 조작하는 방식입니다. 웹에서 정보를 주고받기 위한 설계 원칙이라고 생각하시면 됩니다.REST 방식으로 설계된 API를 REST API라고 부르며, 주로 웹 애플리케이션에서 서버와 클라이언트가 통신할 때 사용됩니다.2. REST의 기본 개념REST는 다음의 요소를 기반으로 작동합니다: 요소 설명 자원(Resource)URI로 식별되는 정보, 예: /users, /posts/1행위(Verb)HTTP 메서드로 표현, 예: GET, POST, PUT, DELETE표현(Representation)자원을 주고받을 때 사용하는 형식, 주로..

웹 개발: 프론트엔드와 백엔드

웹 개발: 프론트엔드와 백엔드웹사이트나 웹 애플리케이션은 크게 두 부분으로 나뉩니다. 사용자가 직접 보고 사용하는 화면을 담당하는 프론트엔드(Frontend)와, 보이지 않지만 데이터를 처리하고 저장하는 백엔드(Backend)입니다. 두 영역은 서로 다른 역할을 담당하며, 서로 협력하여 하나의 완성된 웹 서비스를 구성합니다.1. 프론트엔드(Frontend)개념프론트엔드는 사용자가 직접 보는 화면과 관련된 모든 것을 의미합니다. 예를 들어, 버튼, 이미지, 글자, 입력창 등 웹사이트에서 눈에 보이고 조작 가능한 모든 요소들이 이에 해당합니다.주요 역할사용자 인터페이스(UI) 구성사용자 경험(UX) 개선서버에서 받은 데이터를 보기 좋게 출력사용자 입력값을 검증하고 서버로 전달사용 언어 및 기술HTML: 웹 ..

정밀한 숫자 계산을 위한 선택: 파이썬 decimal 모듈 활용법

정밀한 숫자 계산을 위한 선택: 파이썬 decimal 모듈 활용법부동소수점(float)은 빠르고 범용적인 실수형 자료이지만, 정밀도가 중요한 계산에서는 작은 오차가 문제가 될 수 있습니다. 예를 들어, 화폐 계산이나 이자율, 정산 등의 분야에서는 소수점 아래의 미세한 차이가 누적되어 결과에 영향을 줍니다. 이를 해결하기 위한 파이썬의 대표적인 대안이 바로 decimal 모듈입니다.이번 글에서는 decimal 모듈을 이용한 고정소수점 처리 방법과, 정밀도를 조정하여 안정적인 계산을 수행하는 방법을 예제 중심으로 설명드립니다.1. float의 정밀도 문제 예시다음은 float를 사용할 때 흔히 발생하는 문제입니다.>>> 0.1 + 0.20.30000000000000004기대했던 결과는 0.3이지만, 내부 이..

파이썬에서 실수형(float)의 세계

파이썬에서 실수형(float)의 세계: 무한대와 정수 판별까지파이썬을 배우다 보면 수치 데이터를 다루는 일이 많습니다. 특히 float, 즉 실수형 자료는 소수점이 포함된 숫자를 표현할 때 자주 사용됩니다. 이번 글에서는 파이썬에서 실수형 자료가 어떻게 정의되고 다루어지는지를 직접 실습한 결과를 토대로 소개하겠습니다. 특히 float의 최대/최솟값, 무한대 처리, 정수 여부 판별 등 실전에서 유용한 내용을 함께 다루겠습니다.1. 실수형(float)의 정의와 정보 확인파이썬에서 실수형은 float 클래스로 정의되어 있습니다. 먼저 이 타입의 정보부터 확인해보겠습니다.>>> import sys>>> sys.float_info이 코드를 실행하면 다음과 같은 결과가 나타납니다:sys.float_info(max=..

파이썬에서 바이트열을 정수로 변환

다음 코드는 파이썬에서 바이트열을 정수로 변환하는 예시입니다.int.from_bytes([4, 0], byteorder='big')✅ 동작 설명int.from_bytes()는 바이트 시퀀스(bytes 또는 바이트 리스트)를 정수로 변환합니다.[4, 0]은 바이트 리스트입니다. 16진수로 표현하면 [0x04, 0x00].byteorder='big'은 big-endian 방식, 즉 상위 바이트부터 해석합니다.✅ 계산 과정[0x04, 0x00] = 0x0400 = 1024 (10진수)상위 바이트 0x04 → 4 × 256 = 1024하위 바이트 0x00 → 0 × 1 = 0합치면 → 1024✅ 결과1024✅ 참고: little-endian으로 하면?int.from_bytes([4, 0], byteorder='..

big-endian과 little-endian

big-endian과 little-endianbig-endian과 little-endian은 데이터를 여러 바이트로 저장할 때의 바이트 순서(byte order)를 말하는 컴퓨터의 표현 방식입니다.쉽게 말하면, 큰 자릿값을 앞에 저장할지, 뒤에 저장할지를 결정하는 방식입니다.✅ 예를 들어 설명하기10진수 1024는 16진수로 0x0400입니다.2바이트(16비트)로 표현할 때 아래와 같이 저장할 수 있습니다. 방식 저장 순서 (16진수) 설명 big-endian04 00큰 값(상위 바이트)이 앞little-endian00 04작은 값(하위 바이트)이 앞✅ 용어 풀이Endian: 바이트의 끝(end)을 어디로 할지 정하는 방식Big-endian: 큰 바이트(상위 바이트)가 앞쪽에 위치Little-en..

파이썬 오류 메시지, 이해 방법

파이썬 오류 메시지, 이렇게 이해하면 쉽습니다― IndentationError 와 ValueError 해석과 해결 방법 ―프로그래밍을 하다 보면 누구나 한 번쯤은 마주치는 것이 오류 메시지입니다.파이썬은 특히 오류 메시지를 아주 친절하게 보여주지만, 영어로 되어 있어 처음엔 당황할 수 있습니다. 이번 글에서는 제가 직접 연습 중에 만난 두 가지 대표적인 오류 메시지를 예로 들어, 그 뜻과 해결 방법을 함께 정리해 보겠습니다.1. IndentationError: 들여쓰기 오류먼저 살펴볼 오류는 다음과 같습니다.IndentationError: expected an indented block after 'with' statement on line 1해석IndentationError는 '들여쓰기 오류'를 뜻합니..

리눅스 터미널에서 비디오 파일을 바로 실행

리눅스 터미널에서 비디오 파일을 바로 실행리눅스 터미널에서 비디오 파일을 바로 실행(재생)하려면 동영상 플레이어 프로그램을 명령어로 호출하면 됩니다. 아래는 대표적인 방법입니다.✅ 대표 명령어 목록🔹 mpv (가볍고 강력한 플레이어 – 추천)mpv 동영상파일이름.mp4설치가 안 되어 있다면:sudo apt install mpv🔹 vlc (기능이 많은 GUI 플레이어)vlc 동영상파일이름.mp4 설치:sudo apt install vlc백그라운드 실행(터미널을 차지하지 않음):vlc 동영상파일이름.mp4 & disown🔹 ffplay (ffmpeg 기본 제공 미니 플레이어)ffplay 동영상파일이름.mp4설치되어 있지 않다면:sudo apt install ffmpeg✅ 사용 예시mpv ~/Videos..