인코스런 2기

커머스 프로젝트 7주차 WIL + 인코스런 수료 소감

B1001101 2022. 7. 31. 23:49

Python

정규표현식

  • re 모듈
    • 컴파일 메소드
      • re.compile('정규식'): 패턴 객체(p)를 반환
    • 문자열 검색 메소드
      • p.match('정규식') : 문자열의 처음부터 검색, match 객체 또는 None 반환
        p.search('정규식') : 문자열 전체를 검색
      • p.findall('정규식') : 정규식과 매치되는 모든 문자열을 리스트 형태로 반환
        p.finditer('정규식') : 정규식과 매치되는 모든 문자열을 반복 가능한 객체로 반환
    • 컴파일과 검색을 한 번에 수행하는 방법 : re.match('정규식', '문자열')과 같이 사용
  • 메타 문자(meta characters) : 특별한 용도로 사용되는 문자
    • [] : 문자 클래스, [ ] 사이의 문자들과 매치
      • [ ] 안의 두 문자 사이에 하이픈(-)을 사용하면 두 문자 사이의 범위를 의미
        ex) [a-zA-Z] : 알파벳 모두, [0-9]: 숫자
      • 문자 클래스 안에서 맨 앞에 ^를 사용할 경우 반대(not)라는 의미를 가짐
      • 자주 사용하는 문자 클래스
        • \d : 숫자와 매치 ([0-9])
        • \D : 숫자가 아닌 것과 매치 ([^0-9])
        • \s : 공백문자와 매치 ([ \t\n\r\f\v])
        • \S : 공백문자가 아닌 것과 매치 ([^ \t\n\r\f\v])
        • \w : 문자+숫자와 매치 ([a-zA-Z0-9_])
        • \W : 문자+숫자가 아닌 문자와 매치 ([^a-zA-Z0-9_])
    • . : 줄바꿈 문자 \n을 제외한 모든 문자와 매치
    • {m,n} : 바로 앞에 있는 문자가 m회부터 n회까지 반복될 수 있음
      • {m,} : m회 이상 반복, {,n}: n회 이하 반복, {m}: 반드시 m회 반복
    • * : 바로 앞에 있는 문자가 0부터 무한대로 반복될 수 있음, {0,}과 같은 의미
    • + : 바로 앞에 있는 문자가 1부터 무한대로 반복될 수 있음, {1,}과 같은 의미
    • ? : 바로 앞의 문자가 있어도 되고 없어도 됨, {0, 1}과 같은 의미
  • https://wikidocs.net/4308

 

파이썬 클래스 내장메소드

 

Bool 연산자 (and, or, not)

  • and, or : Bool 타입으로 변환하지 않고 결과값을 그대로 반환
    • A and B에서 A가 거짓일 경우에는 B를 볼 필요 없이 A가 반환되고, 참일 경우 B가 반환된다.
    • A or B에서 A가 참일 경우에는 B를 볼 필요 없이 A가 반환되고, 거짓일 경우 B가 반환된다.
  • not : 특정 표현식의 반대 값을 bool 타입으로 반환
  • https://wikidocs.net/22211

 

Keyword-only Arguments

 

마크다운

접기/펼치기 기능

  • 마크다운에서 <details>, <summary> 태그를 사용하여 접기/펼치기 기능을 구현할 수 있다.
    • <details> 태그 안에 <summary> 태그와 본문 내용을 작성
    • <summary>: 접힌 상태에서 표시되는 텍스트
    • 본문 내용은 <summary> 태그와 한 줄 떨어져 있어야 함
<details>
  <summary>접기/펼치기</summary>

  내용
</details>

 


인코스런 수료 소감

마침내 8주간의 인코스런 과정이 모두 끝났다. 비록 많은 우여곡절이 있었지만 끝까지 무사히 완주해서 기쁘다.

커머스 프로젝트를 진행하면서 Django와 DRF에 익숙해졌고 쇼핑몰에 필요한 지식들도 얻을 수 있었다. 그리고 카카오, 아임포트 등의 외부 api를 사용하는 법도 확실히 익혔고 Swagger, Postman, Figma 등 협업에 유용한 툴들도 알게 되었다.

프론트엔드와 백엔드를 나눠서 협업을 한 것은 이번이 처음이었는데 혼자 개발할 때보다 훨씬 더 신경써야 할 것들이 많았다. 클라이언트와 서버가 통신하기 위해 서로의 로컬 ip 주소를 알아야 했고 api에서 마음에 안 드는 부분이 있어도 마음대로 수정할 수 없었다. 그리고 깃허브 pr 보내고 merge 할 때도 꼬이지 않게 조심해야 했다.

비록 실제 쇼핑몰에 비하면 간단한 기능들만 있긴 하지만 어쨋든 쇼핑몰 사이트 하나를 완성했다는 것이 뿌듯하고 신기하다. 그리고 바쁘신 와중에도 계속 신경써주시고 많은 가르침을 주신 멘토님들께 감사하다.

사이트 링크: https://incourserun.cf/