분류 전체보기 78

[멋사/Mac OS] 3주차 정기 세션 (Part 3. 데이터베이스 기초 및 설계)

1. 데이터 유형(1) 숫자형- INT, DOUBLE(2) 문자형- CHAR, VARCHAR (CHAR: 고정 길이, VARCHAR: 가변 길이)(3) 날짜 및 시간 타입- DATE, DATETIME, TIMESTAMP 2. 컬럼의 속성- Primary key (PK) : 각 행을 식별하는 데 사용되는 고유한 식별자- Foreign key (FK) : 다른 테이블의 기본 키와 관계를 나타내는 컬럼- Unique : 중복된 값을 허용하지 않음- Not NULL : NULL 값을 허용하지 않음- default : 자동으로 할당되는 값 *데이터 무결성 : 데이터의 정확성, 일관성, 유효성이 유지되는 것을 보장 3. SQL(1) SQL의 주요 분류분류이름역할예시DDLData Definition Language데..

[멋사/Mac OS] 3주차 정기 세션 (Part 2. MVC 패턴)

1. MVC 패턴- 스프링 부트에서 사용하는 디자인 패턴ModelViewController웹 브라우저 상에서 보여주고 싶은 데이터를 저장하는 공간. 데이터베이스에서 정보를 가져옴웹 브라우저에서 보여지는 화면사용자 요청을 처리하고 요청에 대한 처리 로직 담당controllerdomainrepositoryservicedto- 클라이언트로부터 요청을 받고, 해당 요청에 대한 처리를 수행- HTTP 요청 처리- GET, POST, PUT, DELETE 등의 메소드를 가짐- 애플리케이션의 도메인 모델- 데이터베이스와 상호작용 (데이터를 읽고 쓰는 작업)- CURD- Spring Data JPA 제공- 비즈니스 로직 수행 담당- 트랜잭션 관리- 예외 처림- repository로부터 데이터를 가져와 처리- 데이터 전..

[멋사/Mac OS] 3주차 정기 세션 (Part 1. SpringBoot란?)

정리하려고 보니 생각보다 내용이 방대하여 두 개의 게시글로 나누어서 정리할 예정이다.먼저 SpringBoot에 대해 정리한다.1. SpringBootApplication- 스프링 부트 앱을 자동으로 설정해주는 핵심 어노테이션으로, 아래 세 가지가 합쳐졌다고 본다.(1) @SpringBootConfiguration : 이 클래스가 설정 파일이라고 스프링에 알려주는 역할(2) @EnableAutoConfiguration : 스프링 부트가 클래스패스에 있는 라이브러리를 보고 자동으로 설정을 적용함-> spring-boot-starter-web이 있으면 Tomcat, DispatcherServlet 자동 등록(3) @ComponentScan : Bean을 자동으로 스캔해서 등록 2. 내장 서버- Tomcat과 ..

Django allauth User 테이블과 Member 테이블 연결하기

카카오 소셜 로그인/회원가입을 allauth를 이용해 구현하면 자동으로 User 테이블이 생긴다.카카오에서 받아오는 정보가 해당 테이블에 등록되어서 단순히 카카오에서 받아오는 정보를 보여주기만 하면 되는 서비스의 경우에는 별도의 테이블을 생성할 필요 없이, 바로 User에 접근하여 데이터를 빼내오면 된다. 다만 우리 팀에서는 프로필 사진을 수정하는 기능이 존재하여 테이블의 데이터를 변경해야하는데, User 테이블의 데이터를 변경하기는 까다로워서 Member이라는 별도의 테이블을 만들고 둘을 연결했다. models.py에 아래 코드를 입력한다.from django.contrib.auth.models import Userfrom django.db import modelsclass Member(models.M..

카카오 개인 개발자 비즈 앱 전환 (사업자 등록 없이 비즈 앱)

이전 포스팅에서 사업자 등록을 하지 못해 비즈 앱을 전환이 불가하고, 카카오 이메일을 가져올 수 없다고 생각했었다.그런데 알아보니 개인 개발자 비즈 앱 전환이라는 메뉴가 있다고 하여, 이 글에서는 그 과정을 기록할 생각이다. 아래 이미지와 같이, 비즈 앱으로 전환하지 않으면 카카오계정(이메일)은 권한이 없다고 나온다.따라서 개인 개발자 신분으로 비즈 앱으로 전환하여 해당 권한을 부여받자. 1. 카카오 개발자 센터에 접속한다.https://developers.kakao.com Kakao Developers카카오 API를 활용하여 다양한 어플리케이션을 개발해보세요. 카카오 로그인, 메시지 보내기, 친구 API, 인공지능 API 등을 제공합니다.developers.kakao.com위 사이트에 접속해, 비즈 ..

[Django] SocialApp.DoesNotExist

카카오 소셜 회원가입/로그인 구현은 완료되었으나 이상하게 팀원의 노트북으로는 위 에러가 뜬다고 하여 여러 방법을 시도해보았다.일단 오류를 파악하기 앞서서 내가 소셜 로그인을 구현했을 때의 코드가 수정된 부분이 있는지, 패키지 설치는 다 되었는지를 확인했다. 디코를 통해 아래 과정을 순서대로 진행하고, 그래도 오류가 뜨는지 확인하고자 했다. 1. allauth 설치2. django 관리자 페이지 접속 후 사이트 및 앱 등록3. SITE에 localhost로 입력되어 있는지 -> localhost로 접속했는지-> 까지 전부 확인했는데도 위 에러가 뜨고 있다. 그렇다면 SITE ID 설정 문제일 가능성이 컸다. 이전 settings.py에 아래 코드로 SITE ID를 지정해두었다.SITE_ID = 1 그런데 ..

에러 모음 2025.06.09

Django로 카카오 소셜 로그인/회원가입 구현하기

1. allAuth 사용- 공식 문서를 참조하는 습관을 들이자.https://docs.allauth.org/en/latest/ django-allauthToggle Light / Dark / Auto color theme Toggle table of contents sidebardocs.allauth.org - 기초 설정은 여기서 볼 수 있다.https://docs.allauth.org/en/latest/installation/quickstart.html Quickstart - django-allauthToggle Light / Dark / Auto color theme Toggle table of contents sidebardocs.allauth.org (1) 패키지 설치 (프로젝트 가상 환경 터미..

[Django] Table '프로젝트명.socialaccount_socialapp_sites' doesn't exist

- SocialApplication과 Site 사이의 다대다 관계를 저장하는 테이블이 DB에 생성되지 않음-> migrate를 하려고 하였으나 해당 테이블이 이미 존재한다는 에러 메시지를 전달받음 원인- mysql DB에 일부 테이블은 생성되어 있고, 일부 테이블이 누락된 상태- Django가 '그거 아마 없을 걸? 아니네? 있나? 아닌데, 없는... 있나?' 라며 혼란스러운 상황-> 완전히 초기화하자! 해결 방법(1) 테이블이 실제로 온전히 존재하는 지 확인- mysql에 접속해서 아래 코드를 입력mysql -u 사용자이름 -p# 비밀번호 입력USE schello;SHOW TABLES LIKE '%socialaccount%'; 테이블 목록에 아래 네 개는 꼭 나와야 정상임.socialaccount_..

에러 모음 2025.06.03

[Django] InconsistentMigrationHistory 에러

- 확인한 에러 코드InconsistentMigrationHistory: Migration socialaccount.0001_initial is applied before its dependency sites.0001_initial -> 연관되지 않은 마이그레이션 히스토리 : socialaccount 마이그레이션은 sites 앱에 의존-> 그러나 sites가 적용되기 전에 socialaccount가 먼저 마이그레이션-> 충돌 해결 방법(1) django_migrations 테이블에서 socialaccount 관련 레코드 삭제- mysql을 사용하는 관계로 아래 코드를 mysql에 접속해 입력한다.mysql -u 사용자이름 -p# 비밀번호 입력USE schello;DELETE FROM django_mig..

에러 모음 2025.06.03