TIL_JUNGLE_WEEK01

do young Lee·2023년 3월 5일
0

sw-jungle

목록 보기
2/4
post-thumbnail

TIL_JUNGLE_WEEK01

2023.02.27~2023.03.05

02.27(월) ~ 03.02(목)

미니 프로젝트

  • 팀원들과 상의 후 기술적으로 새로운 시도 보다는 입학 시험때 사용했던 기술들을 사용해 기본적인 게시판 컨셉 플러스알파로 주제를 정하기로 함
  • 운동 계획을 올리고 운동 메이트를 구하는 서비스를 만들자고 정함
    • 세부적으로 꼭 구현하자고 말한 기능들
    • 운동 계획을 등록하는 기능
    • 등록된 운동 계획를 날짜별로 조회해서 확인 할 수 있는 기능
    • 등록된 운동 계획를 작성자만 수정 및 삭제 할 수 있는 기능
    • 등록된 운동 계획에 작성자가 아닌 다른 사용자가 참가 할수 있도록 하는 기능
    • 참여한 운동 계획에 참여 취소를 할 수 있는 기능
    • 입력된 운동 종료 시간이 지나면 ‘참여하기’ 버튼이 사라지고 ‘완료’ 버튼으로 변경되게 하는 기능
    • 운동 ‘완료’ 버튼 클릭시 ‘오운완’ 버튼으로 변경되는 기능
  • 내가 구현한 부분
    • 운동 계획 등록하기 페이지
    • 운동 등록하기 버튼을 클릭해 들어온 경우

  • 사용자에 입력 받는 부분

    • 제목
    • 운동 메이트를 구하는 역활도 있다고 생각해 가입 할때 기입한 연락처를 공개 할까 했지만 원치 않는 사람도 있을수 있어 공개 여부를 선택할 수 있게 체크박스로 설정
    • 운동계획의 시작 및 종료 시간을 html의 input tag(type=datetime-local) 를 사용해 받도록 설정
  • 문제점 발견

    • 나중에 서비스 시연시 firefox 브라우저로 접속시 글이 등록이 안되는 문제를 제기 받음
    • 문제 원인
    • type이 datetime-local 인 input tag 가 firefox 브라우저에서는 지원이 안되었고, 따라서 날짜 정보를 입력 받지 못하고 등록하기 버튼을 클릭하는 경우가 발생했다.
    • 등록하기 버튼을 클릭시 날짜 정보가 없으면 서버에 요청을 보내고 받는 코드에 문제가 발생함
    • 브라우저 별 지원 여부를 전혀 확인하지 못하고 프로젝트를 진행 함
    • 해결 방안(생각만)
      • 등록 페이지에서 사용자에게 입력으로 받는 부분 중 필수 입력 요건과 비필수 요건을 구분하여 로직을 수정
      • 필수인 부분을 입력을 받지 못했을 경우 경고창을 통해 사용자에게 경고하고 재입력을 요구 혹은 메인이나 이전 페이지로 돌아가기 기능 구현
    • 운동 계획 수정하기 페이지
    • 수정하기 버튼을 클릭해서 들어온 경우
         
    • 수정하기 버튼 클릭시 ajax를 통해 서버에 post 요청을 보내고 기존의 글 정보를 받아와 표현
    • 이때 사용한 html 파일은 기존읜 등록하기 파일과 동일 jinja2 탬플릿 엔진을 사용해서 분기를 나눠서 수정하기 버튼을 클릭해서 들어온 경우 서버사이드 렌더링을 하도록 코드 작성
    • 등록하기와 수정하기 버튼을 클릭시 클릭한 버튼이 무엇인지 확인 할 수 있는 변수도 선언 및 전달하여 분기를 나누는 기준으로 사용함
    • 다음과 같이 사용함

03.03(금)~03.05(일)

알고리즘 1주차

  • 기본적인 python 문법들 복습
    • 특히 개인적으로 python이 list 형태의 자료들을 다루는 경우들
      • ex) filter, sort 함수 등에서 key parameter를 사용하는 방법
    • 문제 풀이 방식으로 재귀함수를 떠올렸을때 막막한 감이 있었는데 일단 중단점 마지막으로 재귀가 끝나야 하는 부분의 조건을 먼저 생각하고 그 다음에 반복하는 방식으로 흐름을 생각하니까 막막함이 조금 덜해짐을 느낌
    • 소수 찾기 알고리즘은 좀 더 공부해봐야 할듯
      • 찾아보기 전에 혼자 생각한 방법(2 ~ 본인 이전까지 수로 모두 다 나눠봐 소수인지 판별하는 방법)으로는 시간 초과가 문제 발생
      • 구글링 후 에라토스테네스의 체라는 방법을 찾아서 수도 코드는 아니더라고 대략적인 방법의 설명을 보고 코드를 직접 구현해보았지만 그대로 시간 초과 문제가 발생해서 코드의 구현이 잘못됬는지 아니면 다른 부분에서 문제이지 다시 한번 살펴볼 필요가 있음

0개의 댓글