전체 글 32

멋사 스터디 - 교재 보강 (1)

클라이언트란 서비스를 사용하는 프로그램 또는 컴퓨터서버는 서비스를 제공하는 프로그램 또는 컴퓨터1주차 실습에서는 웹 브라우저가 클라이언트로서 동작하고 스프링 부트는 서버 역할을 수행 ~.html은 서버에 요청하는 파일웹 브라우저에 localhost:8080/~.html로 접속하면 내 컴퓨터의 8080번에서 수행되는 서버에 ~.html 파일을 요청파일을 직접 자정할 경우 스프링 부트는 기본적으로 src > main > resources > static 디렉터리에서 파일을 찾음찾은 HTML 코드를 응답으로 보냄 2장 MVC 패턴 이해와 실습뷰 템플릿은 화면을 담당하는 기술로, 웹 페이지를 하나의 틀로 만들고 여기에 변수를 삽입해 서로 다른 페이지를 보여 줌컨트롤러는 클라이언트의 요청에 따라 서버에서 이를 처..

멋사 스터디 - 스프링 입문 (2)

1. 정적 컨텐츠/hello-static.html 요청→ @GetMapping("/hello-static.html") 있는지 확인→ 없으면 static/hello-static.html 파일 확인→ 있으면 그대로 반환요청 URL과 매핑된 컨트롤러 메서드가 있다면 아래와 같은 매핑이 존재해야 함@GetMapping("/hello-static.html")public String something() { return "hello";} 2. API@RequestBody는 클라이언트가 HTTP 요청 본문(body)에 보낸 데이터를 자바 객체로 변환해서 받는 역할@RequestBody : 클라이언트 → 서버@ResponseBody : 서버 → 클라이언트 @GetMapping("/hello-api")@Respo..

멋사 스터디 - 스프링 입문

0. 환경세팅 1. 라이브러리 살펴보기로깅 라이브러리: 협업·실무에서는 System.out.println()으로 출력하지 말고 로깅 라이브러리를 사용해야 함. 이유로그를 중요도에 따라 구분할 수 있음환경에 따라 출력 수준을 바꿀 수 있음 (개발 중에는 DEBUG까지 보고, 실제 서버에서는 INFO 이상만 출력하는 식으로 관리)// 학습용System.out.println("member = " + member);// 협업용log.debug("member={}", member); 장점언제 어떤 클래스에서 발생했는지 표시됨오류·경고·정보를 단계별로 구분 가능로그를 파일로 저장하거나 서버 로그 시스템을 전송 가능운영 환경에서는 불필요한 로그를 끌 수 있음{} 방식으로 값을 안전하고 효율적으로 출력 가능단, 비밀번..

교육세션 - JWT

01 API TestAPI Test란?클라이언트가 서버에 요청을 보냈을 때 '서버가 정상적으로 응답하는지 검증'하는 과정 - Django admin 페이지에는 Test 기록이 남지 않고, 사용자의 로그인 정보를 담은 토큰을 Http 헤더에 담는 것이 불가능즉, Django admin은 관리자용 웹페이지로, 로그인 기록이나 토큰 테스트 같은 API 검증에는 적합하지 않음특히 JWT 토큰은 HTTP Header에 넣어서 보내야 하는데 admin 페이지로는 그런 테스트를 하기 어려움 지난 세션 떄 구현한 API 테스트 (pyhon manage.py runserver 후)전체 게시물 조회GEThttp://127.0.0.1:8000/blog/게시물 상세 조회GEThttp://127.0.0.1:8000/blog/1..

교육세션 - REST API

DRF란?간단히 말해 Django를 웹 페이지용에서, API 서버용으로 확장해주는 도구 등장배경기존 Django는 HTML을 만들어서 웹 페이지를 보여주는 데 강함.하지만 요즘은 JSON 형태로 데이터를 주고받는 API가 필요함.-> 이것을 쉽게 만들어주는 게 바로 DRF RESTful API: HTTP를 사용해서 자원(Resource)을 CRUD 방식으로 처리하는 API 설계 방식 1. Resource : 서버에 있는 데이터2. HTTP Method : 자원에 대해 어떤 행위를 할지를 정의 Method 의미 예시 GET조회게시글 보기POST생성게시글 작성PUT전체 수정게시글 수정PATCH부분 수정일부 수정DELETE삭제게시글 삭제 3.CRUD와 연결 CRUD HTTP CreatePOSTReadGETUp..

토이프로젝트 - [게시글 이미지·해시태그 수정 및 작성자 닉네임 표시 기능 추가]

활성화 명령어source venv/Scripts/activate from django.conf import settingsfrom django.contrib import adminfrom django.urls import path, includefrom django.conf.urls.static import staticurlpatterns = [ path('admin/', admin.site.urls), path('accounts/', include('accounts.urls')), #추가해주기 path('diary/', include('diary.urls')),] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) 오류해..

교육세션 - Static·Media & 사용자 인증과 확장

5주차 백엔드 - Static·Media & 사용자 인증과 확장1부 01 - static, media 파일의 차이static 파일: 아이콘, 로고 등과 같이 정적, 서비스 실행 중에는 내용이 바뀌지 않는 파일ex) css, js, img-> 체계적으로 관리해야 빠르게 웹 페이지 제공 가능-> 파일들이 산발적으로 여러 곳에 흩어져 있다면, 파일을 찾아서 제고하는 데 시간이 오래 걸림 => 웹 성능 저하Media 파일: 사용자가 서비스 이용 중 업로드하는 파일 (동적, 서비스 사용에 따라 계속 추가되거나 변경됨)ex) img(프로필 사진, 게시글 이미지 등) 02 - static 설정 및 사용settings.py 설정 3가지1. STATICFILES_DIRS : static 파일들이 존재할 경로 작성2...

토이프로젝트 - 1:N & M:N 관계 [MultiValueDictKeyError]

해시태그 기능 구현 중 오류MultiValueDictKeyError 1. 에러 이름 MultiValueDictKeyError-> 딕셔너리처럼 값을 꺼냈는데, 그 key가 없음 2. 문제의 key'hashtag' 3. 터진 파일diary\views.py, line 24 디버깅 순서1. views.py 확인2. html 확인해결 : html의 input name이 일치하지 않았음 결론MultiValueDictKeyError= 폼에서 값이 안 넘어올 경우 발생하는 오류 (대부분 html쪽 문제) case1. views와 html 이름 불일치case2. 아예 input이 없는 경우case3. form 밖에 있는 경우case4. GET 요청인데 POST로 꺼냄case5. 조건문 때문에 안 들어오는 경우e.g.if..

교육세션 - 1:N & M:N 관계

4주차 백엔드 - 1:N & M:N 관계댓글 기능((1:N), 해시태그 기능 구현(M:N) 1:1 일대일 관계e.g. 한 명의 사용자당 하나의 프로필 존재 1:N 일대다 관계e.g. 한 사용자는 여러 게시글을 작성할 수 있지만 하나의 게시글은 한 사용자에게만 속한다관계형 데이터베이스(RDBMS)Primary Key(기본키)개체 무결성 : 기본키를 구성하는 어떤 속성도 NULL 값이나 중복값(Unique 조건)을 가질 수 없음Forerign Key(외래키) : 다른 테이블의 기본키를 참조하여 테이블 간 관계를 표현하는 속성댓글 기능 구현전반적인 흐름 : 1. models.py - Post와 1:N 관계인 Comment 모델 작성 2. bash - migration3. admin.py 4. detail.ht..

[DATABASE 1&2 - MySQL] 3주차

Relational - innovationDatabase - essence 왜 관계형 데이터베이스는 혁신인가?: 중복의 문제 때문에 INSERT INTO author (id,name,profile) VALUES(2,'duru', 'data administrator'): author 테이블에 새로운 데이터를 추가 SELECT * FROM topic LEFT JOIN author;SELECT topic.id,title,decription,created,name,profile FROM topic LEFT JOIN author ON topic.author_id = author.id;MySQL Workbench테이블을 어떻게 만들어야 할지 - 검색어 : modelingbackup : mysqldump, binar..

카테고리 없음 2026.03.23