본문 바로가기

웹 개발99

스프링 입문 - 스프링 빈과 의존관계 스트링 빈을 등록하는 2가지 방법 1. 컴포넌트 스캔과 자동 의존관계 설정 2. 자바 코드로 직접 스프링 빈 등록하기 1. 컴포넌트 스캔과 자동 의존관계 설정 -> 컴포넌트 스캔은 @Controller, @Service, @Repository와 같은 에노테이션으로 스피링 빈에 등록하면 스프링이 실행될 때 컨테이너에 등록된 빈들이 자동으로 생성된다. -> 자동 의존관계는 @Autowired를 사용하여 위에서 설명한 Controller, Service, Repository 같은 컴포넌트에서 다른 객체를 사용해야할 때 Autowired로 의존관계를 등록해서 빈들이 생성될 때 의존관계에 등록한 객체들을 가져와서 연결해주는 역할을 한다. https://github.com/Lemon-soju/springboot-n.. 2022. 1. 2.
스프링 입문 - 회원 관리 예제 비즈니스 요구사항 정리 데이터: 회원ID, 이름 기능: 회원 등록, 조회 아직 데이터 저장소가 선정되지 않음(가상의 시나리오) 일반적인 웹 에플리케이션 계층으로 개발한다. 1. 아직 데이터 저장소가 선정되지 않아서, 우선 인터페이스로 구현 클래스를 변경할 수 있도록 설계 2. 데이터 저장소는 RDB, NoSQL 등등 다양한 저장소를 고민중인 상황으로 가정 3. 개발을 진행하기 위해서 초기 개발 단계에서는 구현체로 가벼운 메모리 기반의 데이터 저장소 사용 MemberRepository에는 사용할 함수들을 선언하고 구현은 MemoryMemberRepository을 통해 구현한다. C언어를 비유하면 MemberRepository는 헤더파일이고 MemoryMemberRepository는 함수를 구현한 c 파일이.. 2022. 1. 1.
스프링 입문 - 스프링 웹 개발 기초 1. 정적 컨텐츠 -> 그냥 html 파일 출력 2. MVC와 템플릿 엔진 -> model 객체에 데이터를 담아서 html에 전송 후 출력 3. API -> json 파일 형태, 예를 들어 서버끼리 통신할 때 주로 사용 1. 정적 컨텐츠 https://github.com/Lemon-soju/springboot-newbie-project/commit/621f5c5f39287dc0ea751833b4e044e92dfc11d0 Merge pull request #3 from Lemon-soju/slave-01 · Lemon-soju/springboot-newbie-project@621f5c5 static content github.com 위 코드와 같이 hello-static.html에 직접 접속하는 고전 방식.. 2021. 12. 31.
스프링 입문 - 템플릿 엔진 개념 오늘 처음 github를 써봤는데 왜 개발자들이 코딩은 할 줄 몰라도 git은 할 줄 알아야하는지 알 것 같다. https://github.com/Lemon-soju/springboot-newbie-project/commit/76ace453eac8ec9755a16430a7fd482aa053e454 Merge pull request #2 from Lemon-soju/slave · Lemon-soju/springboot-newbie-project@76ace45 View Config github.com 기본적으로 index.html을 만들고 html을 작성하면 자동으로 기본 페이지가 된다. /hello라는 하이퍼링크를 작성했다. index.html을 직접 불러오는 방식을 가장 고전적인 방식으로 static 방.. 2021. 12. 31.
파이썬 Flask와 PostgreSQL를 이용한 쇼핑몰 구현 프로젝트 DB Term Project 주제 쇼핑몰 사이트 제작하기 제출일 2021. 12. 05 목차 1. 과제 목적 및 목표 2. DB application에 대한 설명 3. Schema diagram 4. 코드와 사용한 SQL문에 대한 설명 1 과제 목적 및 목표 1.1 목적 파이썬 플라스크와 Postgresql을 사용하여 쇼핑몰 사이트 제작 1.1 목표 1. 3개 이상의 페이지 (HTML 파일) 사용 2. 6개 이상의 테이블을 사용 3. 모든 테이블은 foreign key (referencing or referenced)로 연결되어 있어야 함 4. insert, delete, update, cartesian product, aggregate, nested subquery, join이 모두 사용되어 야 함 2.. 2021. 12. 15.
[Python Flask] - Todo 메모장 만들기 모든 항목, 해야할 항목, 완료된 항목 세 가지로 분류하여 메모장을 만들었습니다. 삭제와 업데이트 기능을 구현하였고 MongoDB와 연동하여 데이터가 삭제 및 업데이트가 가능합니다. app.py #Call Lib from flask import Flask from flask import render_template from flask import request from flask import redirect, url_for from flask_wtf import FlaskForm from wtforms import StringField from wtforms.validators import DataRequired # 데이터 유효성 검사 from pymongo import MongoClient from b.. 2021. 11. 14.
[Python Flask] - 파일 서버 만들기 위와 같이 간단한 파일 서버를 구현했습니다. 파일 이름을 클릭하면 다운로드되고 삭제를 누르면 파일이 삭제됩니다. 파일을 선택하고 제출을 누르면 파일이 업로드됩니다. 코드는 아래와 같습니다. 플라스크와 신사2 템플릿 그리고 자바스크립트를 사용하여 코딩했습니다. app.py from flask import Flask from flask import render_template from flask import request from flask import redirect, url_for from flask import send_file # 파일 다운로드를 위한 모듈 from flask_wtf import FlaskForm # 플라스크 폼 from flask_wtf.file import FileField, Fi.. 2021. 11. 13.
파이썬 플라스크(Flask)의 Jinja2(신사2)를 이용한 구구단 구현 이번 게시물에서는 파이썬 플라스크에서 jinja2 템플릿을 이용하여 구구단을 출력하는 웹페이지를 구현하겠습니다. 코드는 아래와 같습니다. app.py from flask import Flask from flask import render_template from flask import redirect from flask import request from flask import url_for app = Flask(__name__) @app.route('/') @app.route('/') def inputTest(num=None): return render_template('index.html', num=num) @app.route('/calculate',methods=['POST']) def calcul.. 2021. 11. 12.
웹 프레임워크 및 IDE(통합개발환경) 종류 프레임워크란??? -> 개발을 쉽게해주는 환경이다. 쉽게 비유하면 코드를 쉽게 혹은 대량으로 생성할 수 있게 해주는 공장이라고 할 수 있겠다. 디장고(Django) 파이썬의 대표적인 웹 개발 프레임워크 중 하나 템플릿 형태로 기능 제공 등 정해진 틀 존재 -> 비교적 자유도 낮음 플라스크(Flask) 파이썬의 대표적인 웹 개발 프레임워크 중 하나 마이크로 프레임워크 -> 가볍고 간단 지정한 라이브러리와 패키지만 설치됨 -> 효율성 자유도가 높음 디장고 플라스크 자유도 무거움 가벼움 패키지 구성 무거움 가벼움 적합 상황 프로젝트 서비스 제공 IDE(통합개발환경)이란?? -> 개발을 쉽게 할 수 있도록 도와주는 도구 -> 프로젝트 관라 -> 디버깅 -> 자동 완성 기능 -> 코드 하이라이트 -> 깃허브(Gi.. 2021. 11. 9.