목록dev/까먹지마 (11)
Ssul's Blog
#1. arg 이해 *arg는 함수에서 가변 인자를 받을 때 사용됨. 즉, 함수를 호출할 때 명시한 인자의 개수에 상관없이 모든 인자를 리스트 형태로 함수 내에서 사용할 수 있게 함 . *arg는 함수의 인자 중에 마지막에 위치해야함. def sum_numbers(*numbers): result = 0 for num in numbers: result += num return result print(sum_numbers(1, 2, 3, 4)) # 10 출력 #2. **kwarg **kwarg는 함수에서 키워드 인자를 받을 때 사용. 즉, 함수를 호출할 때 인자를 키워드와 함께 전달할 수 있음. **kwarg는 인자를 딕셔너리 형태로 함수 내에서 사용. 다음은 **kwarg를 사용한 예시 def print..
인증의 3가지 종류 쿠키: 클라이언트(브라우저)에 쿠키값이 저장 세션: 세션값이 서버에 저장되는 것 토큰: 서버 호출시 토큰 전달, 서버에 저장된 토큰정보로 인증 확인 쿠키인증 프로세스 클라이언트가 request(id & pw) → 서버가 로그인 체크하고 성공이면 → 서버에서 쿠키값 생성 서버에서 클라이언트로 쿠키값 보냄(response.headers에 set-cookie 값을 보냄(Set-Cookie: =)) 클라이언트는 response.headers에 있는 쿠키를 브라우저에 쿠키값 저장(= 앞으로 서버 소통시 브라우저가 쿠키값을 가지고 있어서 소통가능해짐 세션인증 프로세스 클라이언트가 request(id & pw) → 서버가 로그인 체크하고 성공이면 → 인증정보 생성하여 세션 저장소에 저장 유저에 s..
매번 사용할때마다 구글찾아 검색하는 쿼리셋 명령어. 오늘은 자주 찾았던 명령어들 몇개를 정리해보고자 한다. 0. 우선 모델 정리 습관을 인증하는 서비스로, User, Habit, HabitLog 3개의 모델이 있다 User는 사용자 정보가 있으며, Habit은 습관을 생성한 유저정보를 외래키로 참조하고, 습관명, 해당월 등으로 구성 HabitLog는 인증한 습관을 외래키로 참조하고, 날짜와 사진으로 구성된다 목표는 월별, 전체기간별 습관인증 횟수를 카운트하는 api를 생성하는 것이다. #models.py #사용자 class User(BaseUser, SoftDeleteModelMixin): name = models.CharField(_("name"), max_length=150) image = model..
__init__ : 클래스 생성시 처음 호출함 class Person: def __init__(self): print(self, 'is generated') p1 = Person() #이때 __init__함수 호출 class Person: def __init__(self, name, age): print(self, 'is generated') self.name = name self.age = age p1 = Person('cis', 30) #이때 __init__함수 호출 self : 파이썬의 모든 메소드의 첫 파라미터, 클래스로 생성된 객체 a = Person('ccc', 20) b = Person('bbb', 30) print(a) print(b) #메모리상의 주소 출력. 그 주소가 self라고 보면 ..
1. 내가 이해하는 직렬화, 역직렬화 구분 - A: 사람이 읽기는 어렵지만, 기계에게 효과적인 데이터(예: 0xB0, 0xA0) - B: 사람이 읽기는 편하지만, 기계에게는 비효율적인 데이터(예: {"id": 1, "contents": '첫번째 글'}) 직렬화: B -> A (dict -> bytes) 역직렬화: A -> B(bytes -> dict) 2. Django에서 직렬화 이해(GET과정) DB에서 인스턴스 가져오기 ins0 = Comment.objects.all()[0] serializer에 넣어서 dict객체로 sr = CommentSerializer(instance=ins0) #instance에 넣어준다 sr.data #dict형태 dict객체를 직렬화해서 bytes로 클라이언트에게 전달 J..
| 상속 구조 View를 상속받아 APIView APIView를 상속받아 GenericAPIView(*Generic 테이블처리(get queryset, get object)) GenericAPIView + CreateModelMixin = CreateAPIView(C, POST) GenericAPIView + DestoryModelMixin = DestoryAPIView(D, DELETE) GenericAPIView + ListModelMixin = ListAPIView(R, GET) GenericAPIView + RetrieveModelMixin = RetrieveAPIView(R, GET) GenericAPIView + UpdateModelMixin = UpdateAPIView(U, PUT(전체-필수..
get은 객체를 반환 - 객체.id 같이 접근가능 - 검색결과 없을시: DoesNotExist - 직렬화 필요함(객체 1개 직렬화 하는 함수) filter는 쿼리셋(객체여러개)을 반환 - 쿼리셋.id 불가(*first, last의 경우 객체반환) - 검색결과 없을시: {} - 직렬화 필요함(객체 여러개 직렬화 함수) # 예시 walletlogs = self.wallet_logs.all() json_walletlogs = serializers.serialize('json', walletlogs) return ( json_walletlogs )
[혼자 작업할 때] #1. 브랜치를 만든다 $ git branch hpagemodify $ git checkout hpagemodify (*$ git checkout -b hpagemodify 한꺼번에 가능) $ git branch *hpagemodify master #2. hpage 수정 코딩하기 #3. 온라인에 브랜치 만들기(현재는 로컬에만 있는 상태) $git push --set-upstream origin hpagemodify #4. 코딩이후, 브랜치에 add, commit, push하기 $ git checkout hpagemodify (브랜치로 이동) 코딩작업!!! $ git add . $ git commit -m "hpage modify" $ git push origin hpagemodify ..
결제페이지를 구현하면서, 자바스크립트가 한번에 먹히지 않고, 새로고침을 해야 적용되는 현상 발견 해당 문제를 해결하기 위하여 $(document).ready(function(){ 를 사용했지만 실패, 해서 터보링크를 스터디 후, 아래 코드로 수정하였지만 $(document).on('turbolinks:load', function() { 여전히 똑같은 현상반복... 결국 많은 사람의 조언에 따라... 터보링크 삭제하기로!!! 삭제하는 방법 #1. Gemfile에서 turbolinks 제거 #2. application.js에서 터보링크 제거 #3. apllication.html.erb에서 , 'data-turbolinks-track': 'reload' 제거(2개있음) #4. bundle install 후 서..
medium.com/@shaircast/ruby-on-rails-on-wsl-%EC%9C%88%EB%8F%84%EC%9A%B0-10%EC%97%90%EC%84%9C-%EB%A0%88%EC%9D%BC%EC%A6%88-%EC%84%A4%EC%B9%98%ED%95%98%EA%B8%B0-9a6164df51f Ruby on Rails on WSL (윈도우 10에서 레일즈 설치하기) 서울대 멋쟁이 사자처럼 6기 여러분, 안녕하세요. medium.com 디펜던시 리스트 보완 playinlion.tistory.com/27 윈도우 10에서 Ruby on Rails 세팅하기 - WSL 0. 윈도우 10에서 WSL이 등장하며, 예전보다 윈도우 디바이스에서 Ruby on Rails를 세팅하는 작업이 수월해졌습니다. 하지만 리..