본문 바로가기

메타인지/TIL

TIL 11/08~11/14

 - 유닛테스트 학습 및 정리

 

소프트웨어 테스트의 3가지 방법 

UI Testing / End-To-End Testing : UI 엔드포인트 테스트 

따로 블로깅 할 예정

 

 - 자료구조 기본 개념 학습 

 

구현과 형태에 따른 구분, 선형과 비선형

자료구조 : 자료를 목적에 효율적으로 저장한다.

알고리즘 : 제약된 시간과 공간내에서 효율적으로  문제 해결을 함  

 

튜플이 쓰이는 이유:  

리스트 자체의 디폴트값 크기 가 크므로 

상대적으로 튜플자체가 가볍다 

클래스를 굳이 안만들더라도 리스트내에 클래스의 속성의 성질을 쓸 수 있습니다.  

네임드 튜플로 클래스 변수먕(키) 선언도 가능하다. 

 

중복된 리스트를 셋으로 중복을 제거하는 과정은 

2,1,1의 경우 

2의 해쉬값을 구한후 2에 다시저장합니다. 

1의 해쉬값을 구한후 1에 다시 저장합니다. 

1의 해쉬값을 구한후 1을 덮어 씌웁니다. 

 - 신입 개발자 세미나 참여

 

 - 새로운 프로젝트 클라우드 펀딩 위디즈 모델링 

나는 전체 모델링 부분과, 결제, 상품, 크라우드 펀딩 개설의 기능을 구현하기로 함

따로 블로깅 할 예정

 

 - 와디즈 홈페이지 프로젝트 시작전 팀원과 의견 공유를 위해  혼자서 분석했엇음

 

메인메뉴 줄일시 여러가지를 종합적으로 보여준다 

사이즈를 줄일시 추천, 얼리버드, 기획전, 트렌드, 메이커순으로 보여준다. 

처음에 헤더를 제외하고 이벤트를 보여주고 

다음으로 

  • 이펀딩 어떄요?(캠페인에 대한 정보를 보여준다) 

  • 실시간 랭킹(투자와 리워드간의 인기를 투자율(퍼센트)순서대로 보여준다 

  • 와디즈광고동영상으로 따로 api 만들어서 제공한다(이벤트 바가 다음에 들어간다) 

  • 회원이 좋아할 만한 펀딩과 ,기획전이 들어간다  

  • 오픈임박 마감임박관련 펀딩들을 정렬도어 보여준다. 

  • 팔로잉할만한 친구추천기능이 있다. 

  • 마지막으로 와디즈 펀딩오픈하기 기능과, w9멤버쉽을 광고한다.

와디즈는 챗봇을 인터콤을 사용한다 

https://www.intercom.com/ 

 

와디즈는 크게 두가지 투자,리워드기능이 있다. 

투자  

-수요조사(설문조사) 

-투자홈( 인기순프로젝트,스타트업,문화콘텐츠,채권,이벤트링크) 

-오픈예정(투자카테고리의 전체적인것을 보여준다 

-스타트업 

  • 스타트업에는 F&B, 라이프스타일,웰니스,솔루션이 있고  

  • 오픈예정인 이벤트를 보여주면서  

  • 전체보기를 순서대로 정렬할수 있다. 

-문화콘텐츠 

  • 영화,공연,전시,게임이 있다 오픈예정인 이벤트를 보여주며 

전체보기를 순서대로 편집할수있다. 

-채권 

  • F&B, 라이프스타일,웰니스,솔루션이 있고  

  • 오픈예정인 이벤트를 보여주면서  

  • 전체보기를 순서대로 정렬할수 있다. 

-w9 (와디즈의 커스텀  

  • 새로운 콘텐츠(기사)들을 볼수 있으며 

  • w9의 전체 투자 상품을 볼수있으며 종료된 투자,완료된 사모투자 또한 보여준다

 

리워드 

-리워드 홈 

  • 리워드홈은 이벤트 메인이미지에 

  • 여러 이벤트카테고리를 볼수 있으며 , 테크,패션뷰티,푸드.홈리빙,디자인 소품 

,여랭 레저,스포츠모빌리티,반려동물,모임,공연컬처,소설캠페인,교육키즈,게임취미,출판, 기부후원이 있다. (카테고리를 클릭하면 두번째 게시판인 카테고리로 넘어가게 된다. 

  • 그 아래로 전체보기로 전체 리워드를 볼수 있다. 

-카테고리 

  • 카테고리는 위의 리워드 홈에서 제공되는 카테고라이징된 데이터를을 정렬해서 보여준다. 

-오픈예정 

  • 오픈예정인 데이터는 카테고라이징된 데이터들중 현재시각 기준으로 앞으로 오픈예정인 데이터들을 보여준다 

-글로벌  

  • 이미 진행중인 이벤트중 해외 이벤트 들을 정렬해서 보여준다.  

 

 

 - 1차프로젝트 리뷰 받으면서 정리 했던 내용들

 

백엔드를 프론트엔드에게 맞춰지지 많는 이유? 프론트사이트는 언제든지 변할수 있으니까 

 

백엔드는 데이터 처리와 연산이 중심 

 

개수 제한을 위해서  

 

limit = request.GET.get('limit', 27) 

 쿼리스트링으로 27개 씩 가지고 오고 싶다는 것이다. 

offset = request.GET.get('offset', 0)  

페이지 네이션을 위해서 

Total_count = Tirerstat.objects.all().count() 

전체 개수를 알기위해서 

Tiersta_data = Tierstat.objects.order_by("-created_at")[:limt].values() 

 

27개식 역순으로 가장 최근것을 본다. 

Return JsonResponse(( 

"Totalcount" = 

"offset"  

)) 

 

 

스네이크 케이스  

변수명 

카멜 케이스 : 

클래스 함수 

 

딕셔너리에 없는 키를 요구할   key error  난다 

 

if not  

 is not 으로 하면 안된다 

 

404 

 

젠더는 백엔드에 값을 리턴 하는  보다  값의 아이디로 리턴하는게 좋다. 

 

맵핑테이블에서 참조하지 말고 many to many field 에서  

User   

category  = manytomanyfield명시하면 바로쓸수 있다. 

 

result = login_user(.ㅎㄷㅅ유저의 객체).category.values() 

 

get하면 원하는 하나의 객체만 리턴함 

 

filter하면 쿼리셋 리스트로 반환함 여러개 반환함 (사실 객체임 왜냐하면 쿼리셋은 객체들의 집합이니까) 

valuse()쓰면 객체가 아니라 값만 리턴한다.   

 

many to many  서로 써도된다. 

defining a two w 

 

bulk_create: 한번에 여러개 호출한다. 

insert into  categories ( id, name) values() 

 bulk_create  values() 한꺼번에 쓸수있다. 

 

만약에 모델명과 뷰클래스 명이 같으면 네임스페이스로 구별해 준다. 

 

filter 로 .exist() 두면쿼리셋에 있는지 없는지 구현하게 해준다. 

Created_at_gte =  datetime.now() 

크거나 같다. 

리뷰 보기 

 

With transaction.atomic 함수 전부  

리뷰가 없으면 따로 프론트가 참조하지않는다. 

 

__column 

_set 

__icontains 

 

Foreignkey table  

 

메이커가 자신의 글인지 확인하는 데코레이터 만들기  

insert into fundcategories (name) values ("1"); 

 

http -v 127.0.0.1:8000/fund/maininformation {"title" : "1", "goal_money" : 1, "main_image" : "www.gmail.com", "category" : "1", "deadline" : "", "is_adult_agreed" : True } 

 

constraint error 

제약조건에러 

a,b 둘다참조시 하나가 비어있는 경우