분류 전체보기 855

[Django 프로젝트] 시 감상과 감상문 남기기

[Django 프로젝트] 시 감상과 감상문 남기기나주 박선생이 부탁한 체험학습 프로그램을 짜다가 그동안 과제로 삼았던 '시 감상' 프로젝트를 덤으로 시작했습니다. 장고 웹프레임워크를 이용하여 리눅스 시스템에서 vi에디터와 visualstudio code를 사용하여 작업을 진행했습니다. 감상문 작성에서 문제가 되는 부문은 ChatGPT와 협업을 통해 해결했습니다. 다음은 오늘 프로젝트 후에 정리한 내용입니다.1. Django 기본 개발 흐름✅ models.py: 데이터 구조(시, 감상문)를 정의합니다.✅ views.py: 사용자의 요청을 받아서 처리합니다.✅ urls.py: 사용자가 접속하는 경로(URL)를 views 함수와 연결합니다.✅ templates: 화면에 보여지는 HTML 파일을 만듭니다.→ D..

GPL (GNU General Public License)의 버전별 특징

GPL (GNU General Public License)의 버전별 특징GPL(GNU General Public License)은 자유 소프트웨어 재단(FSF)에서 만든 오픈소스 라이선스입니다.소프트웨어를 자유롭게 사용, 수정, 배포할 수 있게 허용하되, 자유를 계속 유지하도록 보장하는 것이 특징입니다.이를 카피레프트(Copyleft) 철학이라 하며, GPL은 이 철학의 대표적 구현입니다.GPL은 여러 버전으로 발전해 왔으며, 각 버전마다 세부 조건이 다릅니다.1. GPL v1 (1991년 발표)핵심 내용최초의 GPL 버전소스코드를 배포할 경우, 동일한 라이선스 조건으로 공개해야 함수정한 소프트웨어도 GPL을 따르도록 함한계특허 문제나 호환성 문제에 대한 조항이 부족라이브러리 사용 관련 명확한 구분이 없..

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..

리눅스와 GNU, 그리고 오픈소스 라이선스

리눅스와 GNU, 그리고 오픈소스 라이선스1. 리눅스와 GNU의 관계리눅스 커널(Linux Kernel)리누스 토르발스(Linus Torvalds)가 1991년에 만든 운영체제의 핵심(커널)입니다.하드웨어 자원(CPU, 메모리, 장치 등)을 제어하고, 프로그램이 작동할 수 있게 해주는 가장 핵심적인 부분입니다.하지만 커널만으로는 컴퓨터를 쓸 수 없습니다.GNU 프로젝트GNU는 "GNU's Not Unix"의 약자로, 리처드 스톨만(Richard Stallman)이 1983년부터 시작한 완전한 자유 소프트웨어 운영체제 프로젝트입니다.컴파일러(GCC), 쉘(Bash), 유틸리티(ls, cp, mv 등), 텍스트 편집기(Vim, Emacs) 등 운영체제 구성에 필요한 필수 도구들을 개발했습니다.하지만 완성된 ..

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)자원을 주고받을 때 사용하는 형식, 주로..

리눅스 개요

리눅스 개요1. 리눅스란?리눅스(Linux)는 1991년 핀란드의 대학생 리누스 토르발스(Linus Torvalds)가 개발을 시작한 운영체제입니다. 유닉스(UNIX) 시스템을 기반으로 하며, 오픈소스 소프트웨어로 누구나 자유롭게 사용하고 수정, 배포할 수 있습니다.리눅스는 서버, 데스크톱, 모바일 기기, 임베디드 시스템까지 다양한 분야에서 사용되며, 특히 웹 서버와 클라우드 환경에서 매우 강력한 성능을 발휘합니다.2. 리눅스의 역사1969년유닉스(UNIX) 개발 시작 (AT&T 벨 연구소)1991년리누스 토르발스, 리눅스 커널 0.01 발표1992년GNU 프로젝트와 결합하여 완전한 OS로 발전1994년리눅스 커널 1.0 공개2000년대 이후서버, 스마트폰(Android), IoT 분야에서 널리 사용3...

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

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

IoT 운영체제

IoT 운영체제사물인터넷(IoT, Internet of Things)은 센서, 기기, 네트워크를 통해 서로 연결된 장치들이 데이터를 주고받으며 지능적인 기능을 수행하는 기술입니다. 이러한 IoT 장치를 효과적으로 제어하고 통신하게 하기 위해서는 일반적인 PC용 운영체제와는 다른 경량화된 특수 운영체제가 필요합니다.1. IoT 운영체제란?IoT 운영체제는 제한된 하드웨어 자원(저전력, 저용량 메모리, 저성능 프로세서)을 가진 장치에서도 작동할 수 있도록 설계된 운영체제입니다.또한 실시간 처리, 무선 통신, 보안성, 저전력 설계를 주요 특징으로 합니다.2. IoT 운영체제의 특징경량성수십 KB~수 MB 크기로 메모리와 저장공간을 최소한 사용실시간성실시간 데이터를 빠르게 처리 (RTOS 기능 포함)모듈화필요한..

운영체제의 운용 기법

운영체제의 운용 기법운영체제는 컴퓨터 자원을 효율적으로 사용하고, 여러 사용자의 요청이나 다양한 프로그램을 원활하게 실행하기 위해 다양한 운용 기법을 사용합니다. 이러한 기법은 성능 향상, 자원 절약, 안정성 확보, 보안 강화 등을 위한 중요한 요소입니다.1. 다중 프로그래밍(Multiprogramming)개념메모리에 여러 개의 프로그램을 동시에 올려두고, CPU가 한 프로그램을 기다리는 동안 다른 프로그램을 실행하는 방식입니다.특징CPU 자원의 낭비를 줄이고, 시스템 전체의 처리 능력을 높입니다.주로 배치 처리 시스템(Batch System)에서 활용됩니다.2. 시분할 시스템(Time Sharing System)개념CPU 시간을 일정 단위로 분할하여 여러 사용자가 동시에 시스템을 사용하는 것처럼 보이게..

카테고리 없음 2025.04.24