홈페이지를 만드는 것은 여러가지가 있어요.
홈페이지 5가지 영역으로 나뉩니다.
1.프론트엔드 - 사용자에게 보이는 화면 UI/UX를 관장하는 영역임!
2.백엔드 - 서버에서 로직을 처리하고 데이터를 전달하는 영역(로그인/ 아이디 개인정보 등등~)
3.DB 데이터베이스 - 데이터를 저장하고, 갱신하는 역할
4.템플릿 언어(마크업 언어)- HTML은 웹의 최종언어는 HTML이다.
사용자가 웹사이트를 방문하면, HTML 문서가 최종적으로 브라우저에 전달되요.
5.웹 빌드 언어 - 나중에 설명(너무 빠름)
python은 5가지 영역중 백엔드에 속합니다!!!!!
우리는 사용자의 요청을 받아서, 처리하고 DB랑 연결하고, HTML을 만들어서 브라우저로 결과를 보내니까요
파이썬은 1(프론트),3(데이터베이스) 를 연결하는 접착제 백엔드!
프론트는 CSS,자바스크립트, HTML 이 3가지 중에 하나를 선택할 것이고
파이썬은 서버에서 동작하는 백엔드 언어이기때문에 웹 UI는 파이썬으로하지 않아용.
근데 사실 전부 이 언어를 전부 쓴다라고 하기가 어려워요 왜요?
홈페이지를 만든다는 것은 저걸 전부 써야한다는거
하지만, 우리는 프레임워크라는 걸 써요!
웹이 너무 어려워요. 처음부터 하면
휴대폰만드는데 반도체를 처음부터 하면
반도체를 사와서 만들면 좀 더 쉽겠죠
그러니까 프레임워크는 홈페이지나, 특정 기능을 가진 프로그램을 만드는데 쓰이는 도구상자다.
우리가 코드를 짜요. 이 코드들이 XX홈페이지를 만드는데 썼는데 있으면 남들도 그걸 쓰게하고 싶어! 라고 한 코드 뭉치들이 프레임워크입니다.
정확히따지고들어가면
우리의 최종목표는 IoC에 따라서(프로그래머 중에 천재라고 불리는 사람들이 만드는 것입니다!!)
프레임워크가 만들어둔 홈페이지 규격을 조립해서 만든다
IoC에서 벗어나고 싶어요.
프레임워크를 개조해야하는데 너무 어려워요~
그래서 일반적으로는 대부분 홈페이지가 프레임워크 규격에 의거해서 설계됩니다!
웹은 사실 정말 어려운개념입니다. HTTP,소켓,쿠키,세션관리,OAuth 등등등등등
복합적으로 많은게 있어요., 근데 이걸 바닥부터 다 아는건 불가능에 가깝다. 그러니까 이런 걸 처리해주는 프레임워크를 쓴다!
레고 아시죠?
레고 상자를 줘요. 근데 레고의 예시를 벗어나서 창의적으로 만들기 쉬워요 어려워요? 그겁니다
IoC도 그거다
IoC의 구현이 프레임워크이며, IoC는 레고상자다
우리의 파이썬 프레임워크 중 백엔드 프레임워크중
3가지중 하나를 선택할 것입니다.
1. FLASK -> 소규모, 매우작은 토이프로젝트에 써용!(주로 학생들 가르치는데 이걸써요. 매우 쉬워요~)
2. Django-> 풀스택 프레임워크, ORM, 인증,관리자 페이지 내장이 되있고 블로그, 포털 같은거 만드는 일종의 서비스 만드는데 씁니다. 파이썬으로 서비스를 만들고 싶어요. 라고하면 대부분 이거에요
3. FAST API-> API서버를 만드는 것인데(AI 할때 주로쓰는데)
API는 뭐냐면 즉 API는 접촉면, 다른 곳에서 불러오기 위한 접촉면이다!
우리의 첫번째 목표 개인 소개 홈페이지는 FLASK
하지만 만약 Django
진짜 전문적인 것으로 하고 싶다
FAST API
기본적으로 자바스크립트,타임스크립트등도 쓰여요!
자바 진영이 스프링이라는 프레임워크때문에 웹에서 큰서비스가 많아요.
자 그러면 이런 복합 언어를 써야해요!
근데 이거 어떻게 수정하고, 언어를 여러개하죠?
IDE (Integrated Development Environment) -> 보통 커서, 라이더, 그리고 Visual Studio, Visual Sutdio Code가 있습니다.
Visual Sutdio Code입니다.
IDE에 대해서 설명
커서-> AI 중심의 IDE
라이더-> AI 중심의 IDE입니다
Visual Studio -> 마이크로소프트가 만드는 통합개발환경이고, C# 같은 통합개발환경인데, 성능이 좋은데 마이크로소프트 환경에 종속되고, 리눅스, Mac 개발이 까다롭다
운영체제에 따라서 실행이 어려워요! 프로그램은!
운영체제는 크게 3가지 입니다
MAC
리눅스(우분투등등 여러종류가 많아요! 오픈소스 진영의 대표자!)
윈도우
이렇게 3가지가 있는데 이 운영체제 환경에 따라서 되는 코드가 있고 안되는 코드가 있어요!
자바는 이걸 해결할라고, Mac,리눅스,윈도우에서 운영체제 위에서 또 가상환경(JVM)을 만들어서 모든 곳에서 돌아갈 수 있게 해결함!
Visual Sutdio Code 기능은 없지만 오픈소스고 가볍고, 확장성이 좋아서 여러 언어를 쓰기 좋다!
그리고 사실, 커서는 전부 비쥬얼 스튜디오를 개량한 프로그램입니다. VScode기반!
--
이렇게 설명했다
오 선생해라 이기 ㅇㅂ