객체 지향 프로그래밍 및 설계의 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..