안녕하세요! 오늘은 자바스크립트 개발할 때 정말 유용한 옵셔널 체이닝 연산자(?.)에 대해 알아보려고 합니다. "Cannot read properties of undefined" 에러로 고통받으신 분들이라면 이 포스트가 도움이 될 거예요! 😊📌 옵셔널 체이닝이란?옵셔널 체이닝 연산자(?.)는 객체의 중첩된 속성에 안전하게 접근하게 해주는 연산자입니다. 쉽게 말해서 "이 속성이 있으면 접근하고, 없으면 undefined를 반환해줘!"라고 말하는 것과 같아요.🤔 기존의 문제점중첩된 객체 속성에 접근할 때 마주치는 전형적인 문제 상황을 보여드릴게요:// 기존의 방식 - 복잡하고 장황합니다function getUserEmail(user) { if (user && user.profile && ..
들어가며.Section4의 마지막을 달리고 있다. 스프링 MVC 부터 스프링 Security 까지 다배우고 Spring에서도 Non-Blocking 방식을 지원하는 SpringWebFlux에 대해서도 맛만 보았다. 벌써 4개월의 시간이 거의 끝나간다는게 놀랍다. 실제로 프로젝트로 서비스를 만들려면 복습을 열심히 해야겠다. 어쨋뜬 오늘부터 클라우드 서비스에 실제로 배포하고 어떻게 인프라를 구축하는지에 대해서 배우기 시작했는데 재미있다. 옛날에 고등학생 때 제로보드를 활용해서 웹사이트를 의뢰 받아 제작했던 경험이 있는데 그때는 웹호스팅 업체에 FTP로 파일을 올리고 했던 기억이 있는데 요즘에는 어떻게 실제로 이용자가 서비스를 이용하도록 배포하는가를 명확히 잘 몰랐다. AWS EC2, S3, Netlify, ..
1. 실습 환경 구성 아래는 Spring Intializr 공식 사이트 링크입니다. 여기서 스프링 프로젝트를 세팅하고 완성된 템플릿 프로젝트를 다운 받을 수 있습니다. https://start.spring.io/ 2. Framework 란? "소프트웨어의 구체적인 부분에 해당하는 설계와 구현을 재사용이 가능하게끔 일련의 협업화된 형태로 클래스들을 제공하는 것" - Ralph Johnson "Design patterns help you choose design alternatives that make a system reusable and avoid alternatives that compromise reusability. Design patterns can even improve the documenta..
스키마란? 스키마는 데이터베이스에서 서로 다른 엔티티(혹은 테이블로 이해) 간의 관계에 대하여 설명한 자료이다. RDBMS(관계형 데이터베이스)에서 데이터 간의 관계에 대한 설계도로 이해 할 수 있다. 스키마가 왜 필요할까? SQL 데이터베이스, RDBMS 같은 경우 데이터의 일관성, 데이터의 무결성 제약 조건 등의 조건이 있다. 이는 데이터를 더욱 효율적으로 관리하고 처음부터 끝까지 탐색해야하는 SQL이기 때문에 조회의 속도를 높인다. 예를들어 우리가 수강신청에 대한 데이터베이스를 구축해야 한다고 생각했을 때 여러가지 중복될 수 밖에 없는 데이터들이 있다. 학생들이 수강하는 교과목 : 1명의 학생은 N개의 교과목을 수강한다. 만약 학생 수강 과목을 학생 데이터 테이블에 저장하여 관리한다면 리스트 형태로..