
지금까지는 데이터를 출력하기위한 전반적인 과정을 배웠다면, 이제부터는 데이터에 집중하게 될 목차다. 더이상 django만 이용하지 않고 다양한 프로그램을 사용할테니 어지러워도 열심히 배워보자.API (Application Programming Interface): 두 소프트웨어가 서로 통신할 수 있게 하는 매커니즘: 클라이언트 서버처럼 서로 다른 프로그램에서 요청과 응답을 받을 수 있는 체계 공공기관의 제공해주는 데이터를 통해 클라이언트에게 앱, 웹 사이트의 정보 등 다양한 서비스들을 해당 기관의 시스템으로부터 데이터를 요청해서 받아가는 것을 뜻하는데, 와닿는 예시로는 지도, 날씨가 있다. 데이터들을 얻으려면 시스템 별 정보들을 요청하는 지정된 형식을 공식 문서를 통해 사용 가능하며, 지역 ..

관계형 데이터 베이스를 배웠으니 django의 백엔드를 통해 저장하고 데이터를 호출하는 법도 배워야 할 차례다. N:1까지는 할만하니 한번 해보자! (django라서 다루기도 쉽다) Many to one relationships (N:1): 한 테이블의 0개 이상의 레코드가 다른 테이블의 레코드 한개와 관련된 관계=> 예를들어 게시글에 댓글을 생각해보자. 한 개의 게시글에는 여러개의 댓글을 달 수 있을 것이다. 이때, Comment는 N, Article은 1이다. CommentArticleidcontentcreated_atupdated_atidtitlecontentcreated_atupdated_at 현재 위처럼 테이블이 작성되어있다고 하면, Article에 댓글이 여러..

SQL에서 사용되는 개념인 JOIN은 중요하다 생각해서 따로 포스팅한다. 한 데이터 테이블에 모든 데이터를 저장하면 좋겠지만, 효율이 떨어지게 되고 조회를 할때 생각해야하는 것이 많아진다. 이를 피하기 위해 나눠서 보관하고 호출을 쉽게할 수 있는 방법이 FK(Foreign Key) 호출이다. 바로 배워보자. 먼저 간단한 예시로 User, Artices, Comments가 한 테이블에 있다고 가정해보자 만약 DB를 이렇게 관리할 경우 갖고 있는 데이터는 ID, User명, Article, Comment를 확인 할 수 있다. 이 상황에서 어떤 유저가 작성한 게시글을 모두 조회한다면 DQL 명령어로 SELECT * FROM TABLE WHERE User = 'User_Name'; 을 진행할 것이다. 하지만 U..

앞서 조회를 먼저 배웠는데, 이번에는 데이터 베이스를 만드는 것이 목표다. 조회하는 것보다 어려운 점은 없으니 걱정말자! 다만 SQL 명령어는 RDBMS 종류에 따라 다르니 꼭 확인하고 사용할 수 있는지 없는지 확인하자. DDL (Data Definition Language) : 데이터의 기본 구조 및 형식 변경 핵심 SQL 키워드 CREATE DROP ALTER 다시 한번 데이터 구성요소를 리마인드 하고 시작하자! 전체 Data를 담고 있는 base Data를 크게 분류한 Tables Table 내부에 작게 분류한 Column(Field) Column 별 세부 데이터 CREATE TABLE (테이블 생성) 순서 : 데이터 베이스를 연결한다 만들 Table 명 설정 만들 Column(Field) 명 설정..

이번 단원은 데이터를 조회하는 법을 배울 것이다. 물론 테이블을 만드는 방법을 안 후에 해야하지 않을까 했는데, 우리가 테이블 만들일이 얼마나 있을까? 일단은 조회하는 법을 알자. 그러면 어떻게 만들어야 하는지 알겠지! DQL (Data Query Language) : 데이터 검색 핵심 SQL 키워드 SELECT(+DISTINCT) FROM WHERE ORDER BY GROUP BY(+HAVING) LIMIT(+OFFSET) table 이름이 db 파일의 이름과 동일해서 헷갈릴 수 있으나, SELECT syntax에서는 데이터 베이스 파일자체를 탐색하는 것이 아니라 sql 파일에서 db파일을 연결 해둔다. 탐색할 때 연결만 해두면 되는 것이고, 탐색은 table명으로 지정한다. 이후 SELECT로 col..

오늘은 데이터 베이스에 대해 무엇인지 가볍게 살펴보자. 엑셀을 개인적으로 좋아하는 편은 아닌데, 웹에서는 데이터 베이스를 기반한 서비스를 하는 것이기 때문에 반드시 알아야하고 다룰줄 알아야한다. 가보자고. 데이터 베이스(DB)의 역할 : 데이터를 저장(구조적 저장)하고 조작(Create Read Update Delete) : DBMS(Database Management System)으로 데이터베이스를 관리하는 소프트웨어 프로그램으로 다룬다. 데이터 저장 및 관리를 용이하게 하는 시스템 데이터베이스와 사용자 간의 인터페이스 역할 데이터 구성, 업데이트, 모니터링, 백업, 복구 등을 할 수 있다 -->여기서 관계를 추가하면 RDBMS로 RDBMS는 모두 DBMS에 포함된다 RDBMS (Relational D..

이전 시간에는 회원가입을 하지 않고 Admin 계정을 통해 로그인, 로그아웃을 예시로 보여주었다. 모두가 Admin이 될 순 없으니 이제 회원가입을 배워보자! 회원가입 : UserCreationForm() : 회원 가입시 사용자 입력 데이터를 받는 built-in ModelForm 회원가입 페이지까지 확인 되었으니 POST 요청 로직을 마무리하자 저번 시간을 기억해보면 우리는 User 모델을 새롭게 커스텀하려고 가져온 기억이 있을것이다. 그런데 UserCreationForm을 바로 사용할 수 있을까? 회원가입에 사용하는 UserCreationForm이 기존 유저 모델로 인해 작성된 클래스이기 때문에 대체한 유저 모델로 변경을 해주어야 한다. 이후에 배울 UserChangeForm (유저 정보 변경)역시 ..

외워야 할건 점점 늘어난다.. 나 주거~ Authentication (인증) : 사용자가 자신이 누구인지 확인 (=신원 확인) 개발자가 User의 데이터를 직접 다루기 위해서는 custom이 필요하므로 accounts라는 app을 생성하여 직접 정의해야한다. Custom User model로 대체하기 : django가 기본적으로 제공하는 User model이 아닌 직접 작성한 User model을 사용하기 위함 : User class를 대체하는 이유는 django 내부의 내장된 auth 앱의 User class를 사용했는데, 개발자가 직접 수정 불가 : Django는 새 프로젝트를 시작하는 경우 개발자 Custom User Model 설정을 강력히 권장 : 기본 User 모델과 동일하게 작동 하면서도 필..

하드코딩의 정석..은 무슨 아이디어 생각 안나면 맨날 이렇게 푸는거 같다. 훨씬 간단하고 짧게 풀 수 있는 방법은 항상 있으나, 왜인지 문제에서 제시하는 방향 그대로 따라가다보면 답이 나올거라 생각하고 구현하는 병에 걸린 것 같다. import sys input = sys.stdin.readline import copy info_next = list(map(str, input().rstrip())) # 55-50+40 info = copy.deepcopy(info_next) # 얕은 복사로 인한 데이터 변환을 막기 위함 idx = 0 # idx를 증가시키며 순회 # 먼저 괄호가 들어가야할 위치를 생각해보면 음수 부호 뒤에 여는 괄호가 들어가고 # 다음 (-) 연산자가 나온다면 닫기 or 문자열이 끝났을 ..

저번 시간에 model을 다루게 되면서 DB를 맛보게 되었다. 오늘은 데이터를 가공하는 과정을 거쳐볼 것이다. admin을 통해 데이터를 생성할 수 있지만, 나중에 배우게 될 데이터 간의 관계와 호출에서 사용이 되기 때문에 기초를 잘 다룰줄 알아야 응용이 된다. ORM (Object-Relational-Mapping) : 객체 지향 프로그래밍 언어를 사용하여 호환되지 않는 유형의 시스템 간에 데이터를 변환하는 기술 : 데이터베이스 쿼리를 추상화하여 Django 개발자가 데이터 베이스와 직접 상호작용 하지 않아도 가능하도록 만듦 : 데이터베이스와의 결합도를 낮추고 개발자가 직관적이고 생산적으로 개발할 수 있도록 도움 QuerySet API : Django에 내장된 ORM으로 데이터를 검색, 필터링, 정렬 ..
- Total
- Today
- Yesterday
- CodeTree
- Component
- 연산자
- 재귀
- views.py
- dfs
- 백준
- Sequence types
- Method
- 삼성청년SW아카데미
- 함수
- Django
- JavaScript
- Python
- Database
- SQLite
- 순열
- ChatGPT
- baby-gin
- vue3
- Authentication System
- app
- basic syntax
- SQL
- 카운팅정렬
- HTML
- vue
- ssafy
- honeymoney
- refactoring
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |