20210228(일)

2021-02-28

1. 학습 날짜

  • 2021-02-28

2. 학습 시간

  • 13:00 ~ 20:00

3. 학습 범위 및 주제

  • 백본 view, model, collection

  • 루비온레일즈

4. 학습 목표

  • PR 수정 및 PR 확인

5. 학습 정리

6. 상세 학습 내용

  • 루비 문자열 검사에 대해 학습하고 적용함.

  • 애너그램을 체크해야했다. 애너그램은 철자 바꾸기 놀이라는 뜻을 가지고 있다.

  • 우리는 guild 이름을 기반으로 이 anagram 의 valid 를 체크해야했다.

  • 기본적인 anagram 은 있는 모든 문자를 순서를 바꿔서 새로운 무언가를 만들어 내지만 우리는 guild 의 name 을 기반으로 축소형 이름을 만드는 것이므로 모든 문자를 사용하지 않아도 된다.

  • 가장 먼저 진행한 validation 은 문자열의 길이, 그리고 적절하지 않은 값이 있는지 확인하는 부분이었다.

    • 문자열 길이는 return errors unless (2..5).include?(anagram.length) 와 같은 방법으로 해결했다.

    • 적절하지 않은 값이 있는지 확인하는 부분은 정규표현식을 이용했다. `return errors unless anagram.match(/^@[A-Z]/) 처럼 하면 된다.

  • 이후에는 간단한 알고리즘을 이용해서 valid 체크를했다.

    • 원리는 간단하다. 먼저 name 과 anagram 을 정렬하고 맨 앞에 있는 값들을 하나씩 체크하는것.

    • 다른 방법이 있을거같긴 하지만 이렇게 무식하게해도 문제가 될 여지가 전혀 없다 생각해서 이렇게함.

7. 오늘 학습 내용에 대한 개인적인 총평

  • 흠... 빨리 끝내고 내가 원하는 대로 무언가를 만들어보고 싶다.

8. 다음 학습 계획

  • guild_create 만들기

Last updated