분류 전체보기 15

[Django] Django 앱 기본 파일 구조

Django 앱 기본 파일 구조 Django 프로젝트 내에는 하나 이상의 Django 앱을 생성 및 관리 할 수 있다. Django 앱이란 Django 프로젝트 내에서 어떠한 특정 기능에 따라 구분된 소규모 프로그램 단위로 볼 수 있다. 하나의 프로젝트 내에서 여러개의 앱을 생성하고 관리하며, 또한 같은 기능을 하는 앱을 다른 이름으로 각각 생성하여 관리할 수 있다. Django 프로젝트가 단일 기능만 수행하는 단순한 웹 어플리케이션이라면 별도의 앱을 생성하지 않고 프로젝트 내에서 모든 작업을 수행할 수 있지만, 여러가지 기능을 수행할 경우에는 프로젝트 내에[서 앱을 생성하여 기능 별로 구분하여 관리하는 것이 유지보수 및 확장성 면에서 뛰어나다. Django 앱을 생성하는 방법은 다음과 같으며, 'tes..

python 2022.04.20

[Django] Django 파헤치기/기본 파일 구조

django 알아보기 django는 Python 웹 개발을 위한 대표적인 오픈소스 프레임워크이다. MTV(Model-Template-View) 모델 기반의 웹사이트 구축을 지향하고, 속도와 확장성, 그리고 범용성이 뛰어나다. 최근에는 많은 기업에서도 Django를 활용한 웹사이트를 구축하는 추세이다. django의 각 버전은 호환되는 python 버전이 정해져 있으며, 이는 다음과 같다. 대표 호환 Django 버전 python ver 1.6 1.7 1.8 1.9 1.10 1.11 2.0 2.1 2.2 2.7 3.4 3.5 3.6 알맞은 개발환경을 인스톨하고, 장고 프로젝트 시작을 위한 코드를 입력해보자. $django-admin startproject Django 프로젝트 기본 파일 구조 위의 코드를 ..

python 2022.04.20

[Linux] 프로세스, 네트워크(SSH)

리눅스 시스템에서 메모리에 적재되어 실행되고 있는 모든 프로그램이 프로세스이다. 프로세스 1. 모든 프로그램은 실행될 때 하나 이상의 프로세스를 갖는다. 2. 병행적으로 실행이 가능하다. 3. 부모, 자식 프로세스가 있게 된다. 4. 커널에 의해 관리된다. 5. 모든 프로세스에는 소유자가 있다. 6. 프로세스마다 식별을 위한 ID가 부여된다. 프로세스의 번호 모든 프로세스는 고유한 번호(PID)를 가지고 있다. PID 1번은 init 프로세스, 2번은 kthreadd 프로세스가 실행한다. init 프로세스는 나머지 모든 시스템 프로세스의 부모 프로세스이다. thread 프로세스는 모든 스레드의 부모 프로세스이다. 프로세스의 메모리 구성 SSH SSH란, Secure Shell의 줄임말로 네트워크를 통해 ..

[Linux] Linux pipe, 마운트

Linux Piping은 둘 이상 명령어를 묶어 출력의 결과를 다른 명령으로 전환 할 수 있는 기능을 말한다. 명령어의 표준 출력을 또 다른 명령어의 표준 입력으로 연결가능 한 것이다. | 기호를 사용하여 명령어와 명령어를 연결한다. redirection 등의 기능과 함께 사용하면, 더욱 다양하고 효율적인 작업이 가능 하다. mount 마운트란, 물리적인 저장장치(보조기억장치)를 디렉토리(또는 폴더)에 연결시켜주는 것을 말한다. 윈도우에서는 하드, USB등의 보조기억장치를 연결하면 자동으로 폴더(디렉토리)에 연결 된다. 이것을 PnP(Plug and Play)라고 하는데, 이것이 바로 mount인 것이다. 리눅스의 경우는 PnP기능이 작동하지 않아 직접 연결해줘야 한다. 즉, 보조기억장치를 설치했을시 m..

[Linux] 정규 표현식

정규 표현식 (Reqular expression)은 특정한 규칙을 가진 문자열의 집합을 표현하는 데 사용하는 일종의 형식이다. 문법 특정 문자들은 특정한 논리적 관계를 나타내는 기호로, 이를 제외한 나머지는 일반적인 문자를 뜻한다. 메타문자 의미 메타문자 의미 ^ 문자열의 시작 \d 숫자 $ 문자열의 끝 \D 숫자가 아닌 것 . 하나의 문자와 대응 \w 알파벳 대소문자, 숫자, 언더스코어 \s 공백문자 \W \w에 해당하지 않는 글자 \S 공백문자가 아닌 것 \n 개행문자 \ 메타문자를 문자 그대로 사용 \t 탭(tab)문자 선택 패턴 1. |문자를 이용하면 A | B 의 패턴으로 매칭 가능 alice | elice 예를 들어 라는 정규 표현식은 “alice”와 “elice”라는 문자열을 모두 포함한다...

[Linux]리눅스 파일 시스템

파일 시스템이란, 1. 저장 장치 내에서 데이터를 읽고 쓰기 위해 미리 정한 약속 2. 파일 저장 및 검색을 할 수 있도록 관리하는 방법 3. 파일을 어떻게 관리할 것인가에 대한 정책 리눅스 파일 시스템은 크게 Directory와 Files로 이루어져있다. 리눅스의 파일시스템은 루트 파일 아래에 계층적으로 모든 파일과 디렉토리가 만들어진다. 디렉토리란, 파일과 다른 디렉토리들을 분류하기 위해 붙이는 이름 공간으로, 파일과 하위 디렉토리들을 그룹으로 묶은 개념이다. 반대로 파일은, 주기억장치나 디스크처럼 물리적인 하드웨어를 뜻한다. 저장 공간에 저장되는 데이터의 집합이다. 리눅스 파일 시스템의 디렉토리 구조는 트리(tree) 구조이다. shell 에서 tree명령문을 통해 확인 할 수 있다. ls -al ..

[Linux]리눅스 이해하기

리눅스는 리누스 토발즈에 의해 만들어진 컴퓨터 운영체제 이다. 자유 소프트웨어와 오픈 소스 개발의 가장 유명한 표본이다. GNU 프로젝트란 Gnu is not Unix의 줄임말 유닉스 운영체제를 여러 회사에서 각자 개발하며 소스 코드를 공유하지 않는 문화에 대한 반발로 생겼다. 리눅스의 직관적인 구조는 다음과 같다. 하드웨어 : 하드웨어는 말그대로 CPU, MEM, DISK 구조를 가진 컴퓨터를 말한다 kernel : 컴퓨터 과학에서 커널(kernel)은 컴퓨터 운영체제의 핵심이 되는 컴퓨터 프로그램으로, 시스템의 모든 것을 완전히 통제한다 shell : 커널과 사용자 사이의 소통할 수 있는 다리 역할을 한다. 리눅스의 특징은 다음과 같다. 1.유닉스 기반2.멀티 유저와 멀티태스킹 지원3.CLI 및 GU..

전체 서비스 알고리즘 프로세스 + 느낀점

DataFlow관점에서 전체 프로세스 외부 API사용경험이 된 결제 API 프로세스 프로젝트를 통해 얻은 기술 1. (json)REST API통신 이해 2. 해쉬를 이용한 보안 3. 세션을 이용한 보안및 응용기술 4. NoSQL, RDBS구현 -특히 MongoDB 5. DB중점 알고리즘 구현능력 6. Docker사용시 이점과 사용방법 숙달 7. AWS를 통한 배포 8. 서버 백그라운드 스케쥴러(BackgroundSchedular) 응용 및 구현경험 10.python, flask 숙달 11. 기본적인 프론트 지식(템플릿 수정 및 창조) 12. shellscript 문법+C#코딩 깨달았습니다.. 적절한 위치에 용도에 맞는 적절한 데이터로그를 수집해두면, 서비스의 질을 높일 수 있는 자산이 된다는 점을 깨달았..

[hyper-V 웹 서비스]7.결제 API 구현하기[RESTFUL API!]

해야 할 일 1.html로 결제실행 페이지와 결제 완료페이지를 만들기. 2.백엔드 구현 1.결제 페이지 간단하게 결제 버튼만 구현했다. 유저친화적인 설계덕분에 유저가 할 일은 결제버튼을 누르는 일 뿐이다. 결제 준비단계에 필요한 유저 식별 정보와 상품 정보, 할인율(이 또한 어드민 전용 DB에서 조정할 수 있다.)등을 세션과 DB를 유기적으로 조작해 request 해주면 된다. 결제부분의 서버는 Flask의 BluePrint를 활용하여 개발했다. pay.py: @bp.route('/point', methods=['GET','POST']) def point(): user_id = session.get('login',None) if user_id == None: return redirect(url_for("..

[hyper-V 웹 서비스]6.결제 API 이해하기

들어가기 앞서 구현하다보니 들은 생각이지만 flask를 얼른 때려치우고 Django를 배워야 할것같다. flask도 많은 필수기능을 제공하긴 하지만, 자료양이 너무 적어서 참고할 수 있는 코드가 거의 없다시피 했다. 한번도 해본 적 없는 기능이기 때문에, 처음은 항상 쉽지 않았다. 하지만 내가 가장 잘하는 일은 이해하고 일단 만들어보는 것이기에 일단 카카오페이 api를 확인해 보았다. 내가 구현할 기능인 단건 결제이다. 이해한 바로는 크게 세 단계로 구성이 되는데, 순서는 다음과 같다. 1. 결제 준비 2. 결제 요청 3. 결제 승인 한 단계씩 구성해보며 따라가보자 1.결제 준비 결제 준비 단계에서 request를 해줄 json 형식은 다음과 같다. 이런 형식으로 만들어 request를 해주면, 다음과 ..