20210402-TIL

나영원·2021년 4월 2일
0

T.I.L.

목록 보기
134/145

오늘 할일

  • 알고리즘 문제풀이
  • 포트 폴리오 만들기
  • 채용공고 읽기

오늘 한 것 & 배운 내용

알고리즘 문제 풀이

영화감독 숌

  • 풀이를 위해 순차적으로 i * 1000씩 더하다가 앞에자리가 6이되면 1의자리수에 차례대로 0~9까지 더해주는 방식으로 풀려고했는데 결국 중간에 천단위가 넘어가서 만단위가 넘어가면 적용이 안되는 문제가 발생했다..

    • 풀이과정을 구현하는데 시간이 너무오래걸려서 다른 예를 먼보고 다음에 다시 풀기로 하였다
  • 다른사람 풀이

    • 참고 : https://st-lab.tistory.com/103

    • 첫번째 풀이 방법은 666부터 ++1을 하여 문자열 666을 포함하면 count를 ++해주는 방식으로 푸는 방법이 있었다

      • 간단하게 접근하지만 연산속도가 느릴것 같은 접근이었다
    • 두번째 방법은 내가하려던 방법인데 더 정리가 되어있는 방법이었다

      • 일단 앞에 붙여줄 값을 pre_digit이라고 변수를 선언하고 0~9까지 더하고 6일때 끝에 0~9를 붙여준다
      • 그다음 pre_digit이 2자리수가 되면 0~100까지 증가시키고 끝에 0~100까지 또 더해준다..
      • 666을 기준으로 앞에 붙일 값과 뒤에 붙일값을 따로 나누어서 생각해주고 자리수에 따라서 붙여주는 값에 자리수도 변하면 된는 것이었다
    • 실제 구현된 코드를 보니 자리수 마다 조건문을 만들어 구현을 했어야했다

      • pre_digit이 1의 자리면 666/10의자리면 660으로 만들어 값을 더해주는 등 세분화해서 조건을 만들어줘야하는 것들이 굉장히 많았다
      • 그럼 최대 자리수는 어떻게 알 수 있을까 라고 생각했는데 문제에서 제시한 최대 값을 통해 알아서 유추했어야 되는 것 같은데 이것조차 쉬워보이지가 않는다
    • 사실 첫번째 구현으로도 풀수있지만 개발자의 역할이 컴퓨터를 효율적으로 일하게 시키는 직업이기 때문에 아래의 구현을 만들어 낼수있도록 훈련을 하는 것이라고 생각했다

      • 그래서 간단한 구현뿐아니라 어떻게 더 효율적으로 만들까 고민하는건 좋은 방향인 것 같지만 문제가 어려워질 수록 더 많은 노력이 필요한 것 같다

포트폴리오 만들기

  • 포트폴리오 형식을 웹사이트로 결정하고 간단하게 템플릿을 구해 안에 내용을 변경하며 꾸며가기로 했다
  • Jekyll을 사용한 템플릿을 구해 Gihub 페이지를 통해 배포해보았더니 잘동작하는 것을 확인할 수 있어서 내용꾸미기에 들어갔다
    • Jekyll은 제작자가 대부분 _config.yml에 내용만 바꾸면 템플릿 형식은 그대로 갖추고 내용만 바꿀수 있어서 사용자들이 편하게 적용할 수 있도록 제공한다
      • 이건 대부분 html에 {{site.email}} 이런식으로 변수처럼 내용을 넣을 수 있게 되어있었다
    • 하지만 여기에 포함되지 않은 부분들이나 템플릿 형식을 고치고 싶으면 직접 소스코드를 고치면된다
      • 이 과정에서 조금씩이라도 사용하며 배워놓은 html과 css 지식이 활용되어서 기분이 좋았다
        • 배워서 남주는게 아니니 관련 기술들에는 항상 관심을 가져두는게 좋은 것 같다
  • 간단하게 html과 css를 만져볼 수 있는 기회여서 좋았고 이런 템플릿을 활용해서 개인프로젝트를 진행해보면 좋을 것 같다는 생각이 들었다
    • 프론트 부분을 꼼꼼히 만들긴 어려우니 기획하는 서비스와 최대한 비슷해보이는 템플릿을 찾아서 적용할 수 있도록 한다면 좋은 경험이 될 것 같다
  • 포트폴리오 항목의 필터가 제대로 작동하지 않아서 코드를 읽다보니 jQuery가 이렇게 동작하는구나 하고 익히게 된다
    • 나의 배움의 과정은 이런 패턴인 것 같다
      • 1번 완전히 이해하지 못해도 필요에 따라 튜토리얼이나 예제를 따라서 코드를 사용한다
      • 2번 에러가 발생해서 디버깅을 하려고 코드를 자세히 살펴본다
      • 3번 에러를 해결하는 과정속에서 코드를 조금씩 이해하게 된다..
    • 딱보고 어떻게 동작하는지 알아서 디버깅 필요없이 코드를 작성하면 좋겠지만 대부분 그렇지 않고 사용하면서 생기는 문제를 해결하는 과정에서 이해가 더해지는 것 같다
      • 필요에 의해서 공부가 되는 과정이니 나름 괜찮은 것 같다.
      • 이런 배움의 기회를 늘리기 위해서는 어떻게든 다양한 프로젝트를 꾸준히 도전해보는 것 같다
  • 포트폴리오용 이미지를 .png 확장자를 쓰고 있는데 local에서는 되는데 배포환경에서는 작동이 되지않아서 템플릿에 다른이미지를 보니 .jpg여서 변환해서 업로드했더니 작동을 했다..
    • 검색해봤지만 어떤 이유로 안됬는지는 못찾았고 배포환경에서 이미지 타입에 따라 작동하는게 달라질 수 있다는 것을 알았다..

내일 할일

  • 알고리즘 문제풀이

  • 포트폴리오 내용 보충하기

profile
배우는 개발 일기

0개의 댓글