programming
-
[Python/Django] ManyToManyFeild 이해하기programming/django 2022. 9. 5. 20:35
https://docs.djangoproject.com/en/4.1/topics/db/examples/many_to_many/ Many-to-many relationships | Django documentation | Django Django The web framework for perfectionists with deadlines. Overview Download Documentation News Community Code Issues About ♥ Donate docs.djangoproject.com 1. 출판하는 곳과 기사의 모델을 만들어 줍니다. 2. 기사에 출판사와 manytomany 관계를 설정합니다 from django.db import models #출판하는 곳 class Publica..
-
[Git] 명령어 모음programming 2022. 9. 5. 16:48
깃 커밋하기 $ git add $ git add a.txt b.txt $ git add . (. 모든 파일 ) git commit -m "커밋내용" $ git commit >vim 에디터 실행 >'i' 클릭 혹은 'a' 'o' (입력 모드 전환) >커밋 제목, 내용 작성후 >esc로 입력 모드 나오기 > :w 입력 :q 입력 혹은 :wq 입력 (저장, 끄기) $ git commit -am "커밋 메시지" (git add . 입력을 -a 를 써 줌으로써 건너뛸 수 있다) (git이 한 번이라도 추적했던 파일에 한해서 가능하다) 커밋 다양하게 조회하기 $ git log $ git log --onelin (간단하게 나타내기) $ git log -p or --patch ( 변경 사항도 같이 보기) $ git l..
-
[Flask] 로그인 기능 만들기 ft.JWT,Token,Cookie,hashlibprogramming/python 2022. 8. 29. 14:24
목차 사전 준비 로그인 로직 고민점(api로 get 요청하는 것, flask데이터로 주는 것 --개인 생각 주의) 토큰과 세션과 쿠키 사전 준비 1. jwt 설치 2. 아이디, 패스워드를 저장(패스워드를 hashlib를 통해 인코딩하여 저장한다) doc = { 'name' : '관리자짱', 'password' : hashlib.sha256('admin12'.encode('utf-8')).hexdigest() #hexdiget-16진수 문자열, digest-바이트문자열 } db_user.inser_one(doc) 로그인 로직 1. 사용자의 아이디와 패스워드를 받아온다. 2. 받아온 패스워드를 해시함수를 통한 암호화 값으로 만든다. 3. db에서 유저를 찾는다. 4. 유저가 있다면 jwt 토큰을 발급한다. ..
-
[Python/Django] models.Foreingkey many to one 이해하기programming/django 2022. 7. 25. 00:48
Django models.Foreingkey()에 대해서 알아보겠습니다. foreingkey 는 many to one 혹은 one to many 관계를 지원하는 메서드 되겠습니다. 한명의 부모가 여러 자식을 가질 수 있다고 생각하시면 좋을 듯 합니다. 부모1 -> 자식1, 자식2, 자식3,,, 자식1 -> 부모1 , 자식2 -> 부모1, 자식3->부모1 그럼 이것을 장고 문서의 예제인, 기사에 대해 만들어 보겠습니다. 기자는 여러개의 기사를 쓸 수 있지만 기사는 여러명의 기자를 가질 수 없다는 겁니다.(실제로는 하나의 기사에 여러명의 기자가 투입될 수 있겠죠..?) Article(기사) DB를 만들고 Reporter(기자) DB를 만들어서 연결해 주겠습니다. 왜 Article DB에 reporter at..
-
[Python] re 모듈을 통해 정규표현식으로 window.__INITIAL_STATE__ 스크래핑[크롤링]하기programming/python 2022. 7. 15. 16:42
1. 정규 표현식이란? 정규표현식(Regular Expression)은 특정한 규칙을 가진 문자열의 집합을 표현하는 데 사용하는 형식 언어입니다. re 모듈은 파이썬에서 정규표현식을 지원하는 라이브러리입니다. 2. 정규식에 사용되는 메타 문자 [ ] 문자 클래스를 지정하는데 사용됩니다. ex) [a-v] a부터 v까지의 범위, [acv] acv를 가진 문자 . 줄바꿈 을 제외한 모든 문자와 매치 (점 하나는 글자 하나를 의미한다) * 0회 이상 반복 (없어도 상관 없다) ex) do*g ==> dg(o), dooog(o) + 1회 이상 반복 (무조건 한번 이상 등장해야 한다) ex) do+g ==> dg(x), doooog(o) {m, n} m회 이상 n회 이하 ex) do{2,4}g ==> dog(x)..
-
[Python]동적 페이지 크롤링(스크래핑) with BeautifulSoup & fake_useragentprogramming/python 2022. 7. 11. 23:33
1.동적 페이지 & 정적 페이지란? 1)정적 페이지 : 서버에 미리 저장된 파일(HTML, IMG, JS)등이 그대로 전달되는 페이지 2)동적 페이지 : 서버에 있는 데이터들을 가공 처리한 후 생성되어 전달되는 페이지를 말합니다. 2.데이터가 동적인지 정적인지 어떻게 알까요? 1)간단하게 말해서 개발자 도구를 열어서 Network 탭에 들어가서 상단에 있는 html 문서에서 찾아보고 없다면 동적 데이터가 되겠습니다. 2)예시 저는 실시간 검색어의 데이터를 얻기 위해서 네이트(www.nate.com)를 예시로 들겠습니다. 검색 결과 1위 - 10위까지 있어야 하는데 1위 - 5위까지만 나와있는 것을 볼 수 있었습니다. 3. 데이터 위치 찾기 데이터를 찾기 위해서는 network 탭에서 찾으시면 되는데, j..
-
[Python] getattr 내장 메서드, 함수 이름으로 호출하기programming/python 2022. 7. 5. 23:07
1. getattr이란? 1-1) attr attribute의 약어로 클래스 내부에 포함돼 있는 메서드나 변수를 의미합니다. 그러므로 getattr이라는 내장함수는 클래스 내부에 있는 메서드나 변수를 가져온다는 의미로 해석하면 되겠습니다. 1-2) help(getattr) 내장 함수이며 getattr(객체, 이름) -> 값 객체내에 명명된 '이름'이라는 속성을 가져옵니다. getattr(x,'y')는 x.y와 같습니다. 만약 getattr(x,'y', default)로 설정하여 속성 값 'y'가 없다면 default를 출력할 것 입니다. Help on built-in function getattr in module builtins: getattr(...) getattr(object, name[, defa..