11.17 공부일지

코변·2022년 11월 17일
0

공부일지

목록 보기
11/15
post-thumbnail

GIF via giphy

알고리즘 공부

위상정렬 - 바킹독

boj- 1475

피드백

그래프 문제에 점점 익숙해지고 있는 것 같다. 여러 문제들을 접하면서 나름대로 코딩테스트를 합격하기도 하고 떨어지기도 하는데 그때마다 나를 제일 괴롭히는 문제는 의외로 구현인 것 같다. 구현문제를 푼 횟수가 적기도 하지만 머리속에 있는 생각을 코드로 옮기는게 생각보다 훈련이 덜 되어있다. 이제부터는 구현문제를 좀 많이 풀어보자.

부족한 문제 : 구현, 기하학, 다이나믹 프로그래밍

CS 공부

  • 공부량
    • 4 뽀모
  • 공부내용
    • 기술면접 공부 노트 작성 및 암기
  • 피드백
    • 오늘은 공부량을 4 뽀모로 늘려보았다. 처음 할 때 만큼 좋은 집중력을 유지할 수는 없었지만 4뽀모 정도 공부하는게 더 좋아보인다 4뽀모를 유지하려고 한다.
    • 공부시간을 체크할 수 있다는 점에서 장점이 있다는 생각이 든다.
    • 여전히 기술면접 공부노트는 많이 비어있지만 공부해야할 양에 잡아먹히진 말자 꾸준히 하면 된다.

책읽기

  • CODE(코드) - 하드웨어와 소프트웨어에 숨어 있는 언어
  • 1 ~ 11챕터 손전등으로 어릴적 친구와 주고받는 간단한 시그널부터 모스부호 그리고 논리게이트로 이어지는 컴퓨터에 대한 멋진 분석도를 볼 수 있는 책 같다. 아직 내 이해도가 부족해 이 책의 정수를 이해하지는 못하지만 이진수 그리고 그걸 활용한 논리연산 등에 대한 이해도가 높아지면 책에서 더 큰 감동을 느끼리라 생각한다. 이 책을 읽으면서 전공지식에 대한 필요성을 더 크게 느끼게 됐다.

추가공부

  • 공부량
    • 5 뽀모
  • 공부내용 오늘도 몽글에서 내 코드들을 점검하고 몇가지 사안들을 디버깅했다 우선 첫번째로 대략 이렇게 생긴 동료의 코드를 사용하여 검색된 데이터의 pagination을 적용시키려 했으나 생각해보면 우선 elasticsearch 데이터에서 이미 일종의 페이지네이팅을 지원해주기도 하고 저 함수를 재활용 하기 위해서 처음에는 filter 내부에 Q객체로 query를 넣어주는 방법을 택하려 했으나 이 함수내에서 동료가 is_mine이라는 매개변수로 내 데이터 아니라면 모든 데이터를 가져오고 있어서 들어가기가 어려웠다.
    def get_paginated_board_data(page_num: int, author: UserModel, is_mine: str) -> Tuple[List, int]:
    
        if is_mine == "True":
            페이지네이션을 가져온다.
        else:
            페이지네이션을 가져온다.
    
        return paginated_boards, total_count
    그래서 우선 검색된 데이터를 가져오는 함수를 만들었는데 쿼리, 페이지네이팅 부분 말고는 다 동일한데 이거 맞나 싶다. 내일은 위 함수 전체를 좀 손 봐야할 것 같다. 우선 is_mine처리가 되어있는 함수를 분할하고 Q객체로 query를 달리하면 될 것 같다. 막상 하려니까 관련된 테스트코드며 뭐며 손봐야할 게 너무 많아서 오늘은 우선 내가 필요한 함수를 만들어서 점검을 했다. 내일은 저 함수를 좀 분할하고 중복된 부분을 제거하면서 재사용성을 높일 수 있을지 고민해봐야겠다. 함수를 만들어서 추가로 작업을 하려고 보니까 elasticsearch의 search 함수가 업데이트 이후로 바뀌었는지 deprecated 경고를 자꾸 띄웠다. 그래서 최신 버전에 맞게 위에서 아래로 변경해주었다.
    searched_data = client.search(
            index="mail_box",
            headers=headers,
            body={
                "sort": ["_score"],
                "from": page_num,
                "size": MAX_PAGE,
                "query": {"match": {search_type: search_word}},
            },
        )
    
    searched_data = client.options(headers=headers).search(
            index="mail_box",
            from_=page_num,
            sort=["_score"],
            size=MAX_PAGE,
            query={"match": {search_type: search_word}}
        )
    도커파일 없이 env 설정으로 단일 컨테이너를 띄워서 테스트코드를 돌리고 싶었는데 그렇게 하니까 자꾸 connection abort가 떠서 로컬 docker파일로 env를 맞춰주고 거기서 테스트를 돌리니까 잘 되는 것 같다.

    피드백

    아직도 가지고 놀 장난감이 많아서 참 좋다. 계속 갖고 놀아야지 쿠버네티스도 적용시키고 싶지만 하나씩 해 나가자 어쩌다보니 5뽀모를 돌았다. 알고리즘도 CS공부도 책읽기도 나름 재미를 붙였지만 역시 나는 개발을 실제로 하는게 제일 재밌다.
profile
내 것인 줄 알았으나 받은 모든 것이 선물이었다.

0개의 댓글