객체 지향 프로그래밍 및 설계의 5가지 기본원칙을 솔리드 원칙(SOLID) 이라고 한다. SRP, OCP, LSP, ISP, DIP의 앞글자를 따서 SOLID 원칙이다. https://dreamcoding.tistory.com/69?category=1079638 1. SRP : 단일 책임 원칙 Single Responsibility Principle 객체는 단 하나의 책임만을 가질 수 있도록 해야 한다. 좋은 설계란 기본적으로 시스템에 새로운 요구사항이나 변경이 있을 때 가능한 한 영향받는 부분을 최소화해야한다. ‘나’의 역할은 여러개가 있다. ‘나’를 공통점으로 두고, 각각의 역할에 맞게 하위 클래스로 구분하여 나눈다. 공통점이 없다면 상위 클래스를 제거해야 한다. 공통점을 가진 ‘나’를 extends..
분류 전체보기
레일즈를 다루던 중 지식을 견고히 하기 위해 써보는 정리입니다! Q1. 레일즈에서 모델을 다룰 때 어떻게 다룰까요? A. 레일즈는 복잡한 SQL 쿼리문을 사용하지 않고도 모델 클래스를 통해 데이터베이스에 접근 가능하다. 데이터베이스의 테이블을 모델 클래스처럼 만들어서 객체화시켜 사용할 수 있다. 이를 Active Record라고 하며 객체/관계 매핑 모듈 또는 O/R 맵퍼라고 부른다. 모델 생성시 테이블을 생성하는 파일이 함께 만들어진다. 모델이름.rb : 클래스 파일로서 ActiveRecord::Base 파일을 상속받는 자식클래스이다. 모델의 유효성 검사를 하거나 다른 모델과의 관계도 설정을 기입한다. 마이그레이션 파일 : 데이터베이스를 생성하거나 수정시 마이그레이션 기능을 사용한다. 데이터베이스를 만..
ActsAsParanoid 활성화 class Paranoiac < ActiveRecord::Base acts_as_paranoid end 기본적으로 ActsAsParanoid는 레코드 삭제가 datetime의 deleted_at라는 열에 저장되어 있다고 가정합니다. acts_as_paranoid 활성화시 발생할 수 있는 문제점 acts_as_paranoid동일한 모델에서 및 ActiveStorage를 사용 하면 SystemStackError 가 발생 합니다. 삭제된 상태의 모델을 직접 생성하거나 삭제된 모델을 업데이트할 수 없습니다. 필터링 ActsAsParanoid에 의해 레코드가 삭제되면 데이터베이스에 액세스할 때 검색되지 않습니다. Paranoiac.all을 해도 삭제된 레코드는 검색되지 않습니다...
더보기 https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-%EC%9E%85%EB%AC%B8-%EC%8A%A4%ED%94%84%EB%A7%81%EB%B6%80%ED%8A%B8/lecture/49587?tab=note&volume=0.59&mm=null 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 - 인프런 | 학습 페이지 지식을 나누면 반드시 나에게 돌아옵니다. 인프런을 통해 나의 지식에 가치를 부여하세요.... www.inflearn.com 스프링 빈을 등록하는 2가지 방법 중 자바 코드로 직접 스프링 빈을 등록하는 방법을 소개합니다. 컴포넌트 스캔으로 스프링 빈 자동등록하는 방법은 더보기 https://soohey.t..