채야미의 코드레시피🍳

Dev

Dev/Django
알고리즘 문제풀이 - 페어프로그래밍 👇 문제 : 문자열 정렬하기 (1) 👇 더보기 더보기 문자열 my_string이 매개변수로 주어질 때, my_string 안에 있는 숫자만 골라 오름차순 정렬한 리스트를 return 하도록 solution 함수를 작성해보세요. 제한사항 1 ≤ my_string의 길이 ≤ 100 my_string에는 숫자가 한 개 이상 포함되어 있습니다. my_string은 영어 소문자 또는 0부터 9까지의 숫자로 이루어져 있습니다. # isdigit 사용 def solution(my_string): nums = [] for i in my_string: if i.isdigit(): nums.append(int(i)) return sorted(nums) # isnumeric 사용 def ..
Dev/Django
팔로우/팔로잉 기능 구현 필드 만들기 좋아요와 마찬가지로 ManyToMany 이지만 다른 점은 UserModel을 Self 로 참조하는 필드라는 것 class UserModel(AbstractUser): # UserModel에서 AbstractUser(장고기본유저모델)를 사용하겠다 class Meta: db_table = "my_user" # 여기는 테이블 이름이에요! 꼭 기억 해 주세요! # 기본 모델에 없던 것만 추가 (닉네임, 프로필이미지) nickname = models.CharField(max_length=15, default='') user_img = models.FileField("프로필이미지",upload_to='',blank=True,null=True,validators=[MaxValue..
Dev/Django
좋아요 기능 구현 좋아요 필드 만들기 작성했던 ERD 다시 확인해보면 계정 1 : M 좋아요 M : 1 게시글 형태이기 때문에 아무래도 좋아요 필드는 게시글(Post Model)과 계정(User Model)을 ManyToMany로 연결하는 필드여야겠다는 판단 👉 like_users 필드 추가 # post/models.py class Post(models.Model): class Meta: db_table = "my_posting" post_author = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE, related_name='posts') # 글 작성자 : 유저 모델의 사용자를 상속받습니다. post_title = models..
Dev/Node.js
Node.js 삭제하기 제어판 > 프로그램 > 프로그램 제거 (또는 Win+R > appwiz.cpl) 설치된 Node.js 버전을 찾아 선택하고 제거 NVM 삭제하기 파일 탐색기에서 C:\Users\\AppData\Roaming\nvm 폴더를 찾아 삭제 Win+R > cmd > control sysdm.cpl,,3 입력 > 환경변수 > NVM_HOME 및 NVM_SYMLINK 변수를 삭제 관련 폴더 삭제하기 C:\Program Files\nodejs 폴더 삭제 C:\Users\\AppData\Roaming\npm 폴더 삭제 Win+R > regedit > HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run 경로에서 nvm 관련 항목을 찾아 삭제
Dev/Django
글쓰기 페이지에 이미지 업로드 기능 세팅하기 urls.py (프로젝트 폴더) urlpatterns = [] + static(settings.MEDIA_URL, document_root = settings.MEDIA_ROOT) settings.py (프로젝트 폴더) 맨 아래 즈음 MEDIA_URL = '/media/' MEDIA_ROOT = os.path.join(BASE_DIR, 'media') models.py > 게시글 모델 post_img = models.FileField("이미지", upload_to='',blank=True, null=True) 이미지 업로드하고 로드하기 views.py > 글 작성 함수 post_img = request.FILES.get('post_img') # 이미지 업로드 ..
Dev/Django
파이썬 장고 실무 기초 3주차 10강 게시글 쓰기 글 작성할 html 게시글 쓰기 - POST 방식 글을 저장할 곳 - tweet 테이블 👉 form 태그에 action과 method를 사용해서 django의 url로 연결 templates/tweet/home.html 나의 이야기를 적어주세요 {% csrf_token %} 작성하기 csrf token의 자세한 원리가 궁금해서 좀 찾아봤다. 👇👇 더보기 POST 요청에 대해서만 csrf token을 발급하고 체크한다. CsrfViewMiddleware는 MIDDLEWARE 설정에서 기본적으로 활성화 되어있다. csrf token 발급(사용자가 로그인할 때마다 값이 변경됨) view가 호출되기 전 csrfmiddlewaretoken 유효성 검증 POST 양..
Dev/Django
파이썬 장고 실무 기초 3주차 1~9강 우리가 만든 User모델 업그레이드 하기 bio = models.CharField(max_length=256, default='') models.Model 자리에 AbstractUser를 사용 상속받듯이 기존 데이터베이스에 없던 속성만 추가해서 생성 #user/models.py from django.db import models from django.contrib.auth.models import AbstractUser # Create your models here. class UserModel(AbstractUser): # UserModel에서 AbstractUser(장고기본유저모델)를 사용하겠다 class Meta: db_table = "my_user" # 여기..
Dev/Django
파이썬 장고 실무 기초 2주차 프로젝트 구조 만들기 프로젝트 구조 만들기 sns 앱의 기능은 크게 세 가지로 나눌 수 있다. 사용자 관리 (회원가입 / 로그인 / 로그아웃) , 글쓰기, 친구 만들기 이걸 다시 나누면 사용자 , 글로 나눌 수 있으므로 이 두 기능을 하는 앱을 만든다. 👉 User : 사용자 관리 ( 회원가입/로그인/로그아웃) 👉 Tweet : 글 관리( 글쓰기, 삭제, 수정, 댓글) $ django-admin startapp user $ django-admin startapp tweet 프로젝트 세팅하기 mySpartaSns/mySpartaSns 폴더 : 이 프로젝트를 관리하는 모든 정보들을 갖고 있는 곳 mySpartaSns/mySpartaSns/settings.py : Django가 ..
Dev/Django
파이썬 장고 실무 기초 1주차 파이썬 웹 프레임워크 웹 프레임워크? 프레임워크는 개발을 도와주는 하나의 틀 👉 결과물을 일정한 형태로 만들 수 있도록 도와줌 👉 때문에 우리가 비슷한 방법과 방식으로 완성 된 형태를 만들 수 있음 파이썬 웹 프레임워크의 종류 - 최소한의 기능만 제공하는 형태 서버를 만들기 위한 최소한의 기능들만 제공하는 철학을 가지고있는 프레임워크들입니다. ex) Flask - 이미 많은 기능들을 제공하고 있는 형태 웹서비스에 공통적으로 필요한 부분들이 미리 구현되어 있습니다. ex) Django Django 알아보기 장고의 MVT 패턴 - M (Model) - 데이터베이스의 모델 (ORM) - 저장되고 사용되는 데이터의 형태 - T (Template) - 사용자에게 보여지는 부분 - 화..
Dev/Python
오늘은 본격적으로 파이썬 기초 문법 진도를 나간 첫날아침에 앞으로 뭐 할지 이야기해주고 새로운 팀원분들을 만났다. 다들 두번째 팀이라 그런지 분위기를 풀어내는데 어느정도 익숙해진 것 같다. 저번주 미니프로젝트 때 같은 팀했던 분이랑 또 같은 팀이 됐다. 열심히 공부하시던 분이라 또 만나니까 너무 반가웠다!!파이썬 문법 기초 1주차 print(a & b) # 교집합print(a | b) # 합집합분명 예전에 배웠던 건데 오랜만에 봐서 살짝 헷갈려f-stringfor s in scores: name = s['name'] score = str(s['score']) print(name+'는 '+score+'점 입니다') print(f'{name}은 {score}점입니다')파일 불러오기f..
Dev/JavaScript
공부하다가 필요할 것 같아 정리해 본 내용이다. 이렇게 되는 거구나~ 하고 이해하고 넘어가긴 했는데 혹시 모르니까... 기본 구문 fetch(url, options)// 호출 .then((response) => console.log("response:", response))// 성공 .catch((error) => console.log("error:", error));// 실패 GET GET 방식은 주로 READ 이므로 fetch, 즉 클라이언트는 요청만 하게 된다. 받는 응답만 다뤄주면 끝 fetch("url").then((response) =>// 호출. 응답 console.log(response)// 출력 ); JSON 메서드 API에서 불러오는 데이터는 거의 JSON 형태이기 때문에 fetch에서..
Dev/Python
1. 웹스크래핑(Web Scraping)이란? 우리는 웹 페이지에서 많은 정보를 얻는다. 이 정보들을 추출, 정리할 필요성을 느낄 때가 있는데, 이를 스크래핑이라고 한다. 즉, 웹 페이지의 정보를 가져오고(크롤링;Crawling), 데이터들을 추출(스크래핑;Scraping)해 DB에 저장하고 사용하는 것을 이야기한다. 2. Python으로 웹 크롤링하기 2-1. 준비하기 기본적으로 웹 크롤링은 HTML로 작성된 문서를 긁어서 가져오는 일이기 때문에, 파이썬에서 그 정보를 가져오도록 요청해야 한다. 따라서 Requests 라이브러리로 요청하고, BeautifulSoup 라이브러리로 필요한 정보만 추출할 것이다. requests 라이브러리 설치 나는 venv 가상환경을 사용하기 때문에 간단하게 VSCode ..
Dev/Python
venv란? 우리가 흔히 라이브러리를 설치할 때, 파이썬이 설치된 경로의 Script 폴더 안에 설치하게 되는 게 보통이다. 이는 내가 사용하는 모든 라이브러리가 같은 위치에 있다는 건데 , 이는 같은 런타임 환경을 공유한다는 것이기도 하다. 또는 특정 라이브러리를 사용한 프로젝트 진행 시에, 각각 컴퓨터에 일일히 설치해주는 작업이 필요하다. (가끔 내 컴퓨터에 이 모듈이 설치됐는지 기억도 안 날 때도 많은데) 그럴 때 쓰는 게 venv 모듈이다. 이 모듈은 가상 환경을 만드는 모듈인데, 즉 해당 프로젝트를 venv 가상환경 안에서 실행하고, 각 프로젝트 디렉토리에 자체 독립 패키지 세트가 설치되어 필요한 라이브러리를 설치해 사용할 수 있다는 것. 가상 환경 생성하기 커맨드에서 프로젝트가 생성된 디렉토리..
Dev/Node.js
2024.04 업데이트 : 노드 설치 단계 명령어의 최신 버전 수정What is NVM?NVM - Node Version Manager 말 그대로 노드의 버전을 관리해주는 것.추후에 업데이트를 하거나,  협업 또는 프로젝트를 진행할 때 서로 다른 버전의 노드를 사용한다거나 할 때 버전 명시, 관리가 모두 이루어지기 때문에 거의 필수라고 볼 수 있다.굳이 필요하지 않다면 NVM 없이 node.js를 사용해도 무방하다. 그러나 웬만하면 사용하는 것을 추천기존에 node가 설치되어있다면, NVM 설치 전에 삭제하는 것을 권장한다. (귀찮은 일 방지)또한 NVM을 이용한 버전 관리(변경 등)중 모든 터미널은 관리자 권한으로 실행해줘야 한다.NVM 설치하기https://github.com/coreybutler/n..
ChaeYami
'Dev' 카테고리의 글 목록 (2 Page)