토요일까지 일단 거의 최종적으로 마무리를 했지만 아직 추가한 캘린더가 미흡하고, 카드 생성시 파일이름이 짤렸던걸로 기억을 해서 수정중에 있습니다.
캘린더는 저희가 다운받아다 사용하는 폼에서 사용하는 것을 가져와서 변경해서 사용하려는데 vendor_assets/js/fulcalendar@5.2.0.js 파일에서 대부분의 작업이 돌아가기 때문에 제한이 좀 있어 많이 배제헀습니다.
일단 날짜와 시간을 유효성검사를 추가해주어 형식이 일치하지 않거나 마감일이 시작일보다 앞서거나 날짜는 같으나 시작시간이 마감시간보다 뒤에 있을 경우를 비교해 조건을 걸어주었습니다.
그리고 카드 생성 후 수정시 파일 이름이 하나만 나오는것도 조건을 걸어 수정해주었고, 캘린더는 유저와 일대다 관계설정을 해주었습니다.
기술면접 top30
20.클래스형과 함수형의 차이를 설명해주세요. 어떤 방식을 주로 사용하였고 그 이유가 뭔지 답변해주세요.
-> 클래스형 컴포넌트에서 state 기능 및 라이프사이클 기능을 사용할 수 있다는 점과 임의 메서드를 정의할 수 있다는 점이 있지만, 함수형 컴포넌트는 선언하기에 더 쉽고 메모리 자원도 클래스형 컴포넌트보다 덜 사용합니다. 주로 함수형을 사용하고 그 이유는 클래스형보다 선언하기 더 쉬워 자주 사용합니다.
21.CI/CD에 대해서 설명해주세요.
-> CI/CD (Continuous Integration/Continuous Delivery)는 애플리케이션 개발 단계를 자동화하여 애플리케이션을 더욱 짧은 주기로 고객에게 제공하는 방법입니다. CI/CD의 기본 개념은 지속적인 통합, 지속적인 서비스 제공, 지속적인 배포입니다. CI/CD는 새로운 코드 통합으로 인해 개발 및 운영팀에 발생하는 문제(일명 "통합 지옥(integration hell)")를 해결하기 위한 솔루션입니다. 특히, CI/CD는 애플리케이션의 통합 및 테스트 단계에서부터 제공 및 배포에 이르는 애플리케이션의 라이프사이클 전체에 걸쳐 지속적인 자동화와 지속적인 모니터링을 제공합니다. 이러한 구축 사례를 일반적으로 “CI/CD 파이프라인”이라 부르며, 개발 및 운영팀의 애자일 방식 협력을 통해 DevOps 또는 SRE(사이트 신뢰성 엔지니어링) 방식으로 지원됩니다.