0915 개발일지

Yesol Lee·2021년 9월 15일
0

AI스쿨_개발일지

목록 보기
54/57

학습내용

대구AI스쿨 프로젝트, 알고리즘 문제 풀기, 개인프로젝트 웹 기획

대구AI스쿨 프로젝트

진행상황

  • 어쩌다보니 우리 조 사이트만 유료버전으로 만들 수 있고 다른 조들은 무료 버전으로 만들어야 한다. 마음이 약간 불편하다.
  • 코드 직접 삽입하는 방법을 알아냈다.
  • 팀원들과 함께 아임웹 고객 사이트들과 핀터레스트, GDWEB 등을 이용해 디자인 참고할 페이지들을 모았다.
  • oven으로 메인 페이지 디자인을 해 보았고, 그걸 바탕으로 실제 사이트 메인페이지를 일단 구성했다.

할 일

페이지 분배

  1. 로그인 / 회원가입/마이페이지/인사말 등 안내페이지
  2. 상품 목록 페이지 전부(쇼핑몰, 내부카테고리, 행사용품, 중고물품 등) => 내가 할 것
  3. 상품 상세정보, 후기, 1:1문의 게시판
  4. footer, 이용약관 등 법적고지, 결제 페이지
  • 내일 오후 4시반까지 각자 최소 2개의 페이지를 만들기로 했다.
  • 내 목표: 쇼핑몰 내 3개 카테고리 만들기->영어버전 사이트도 만들기

알고리즘

// 최저 순위
let min_count = lottos.filter(num => win_nums.includes(num)).length;
// 최고 순위 찾기 위해 결정되지 않은 0 개수 찾기
let zero_count = lottos.filter(num => num === 0).length;
  • filter로 찾은 개수를 rank로 바꾸기 위해 일일이 switch문을 작성했는데, 다른 분들의 풀이를 보니 rank를 배열에 넣고 count를 인덱스로 활용하는 방법도 있었다.
let min_count;
let max_count = zero_count + min_count;
const rank = [6,6,5,4,3,2,1]; // 0개 동일, 1개 동일인 경우 6등 (낙첨)
answer = [rank[max_count], rank[min_count]];
  • includes를 매번 사용하는 것이 시간복잡도에 안좋은 영향을 줄 수 있다는 댓글을 보았다. 대부분의 풀이에서 활용하고 있는 메서드라 다른 것으로 어떻게 대체할 수 있을지 잘 모르겠다. 6개짜리 배열 2개는 반복문 돌리는 것이 더 빠를까?

개인프로젝트 웹 기획

예전 개인프로젝트로 상담 앱을 만들 때 실시간 채팅 기능을 구현하지 못해 그만두었었다. 지금 생각해보면 연습 예제는 했었는데 채팅 메시지를 DB에 저장하는 것까지 하려다가 꼬인 것 같다. 그래서 이번엔 저장되지 않는 간단한 랜덤 채팅 사이트를 연습으로 만들어보기로 했다.

  • 주요 기능: 랜덤한 사람과 1대1 채팅 (닉네임만 받기), 텍스트와 사진 전송 가능
profile
문서화를 좋아하는 개발자

0개의 댓글