View 헬퍼 debug: YAML 형식으로 객체를 출력 to_yaml: YAML 변환 inspect: 배열이나 해시 값을 문자열로 출력 # 컨트롤러 @user = User.find(1) # 뷰에서 <%= debug @user %> # --- !ruby/object:User # id: 1 # name: "John" # e...
Rails Internationalization I18n 국제화설정
기본 개념 영어 및 유사 언어에 대한 기본 지원 ko, en, jp, zh…etc 다른 언어를 위한 쉬운 커스터마이징과 확장 Rails 프레임워크의 모든 정적 문자열이 국제화되어 있음 핵심 메서드: translate (별칭: t) - 텍스트 번역 조회 localize (별칭: l) - 날짜와 시간 객체의 지화 각국에 따른 ...
Rails AASM 상태관리와 관계설정
상태 관리에서 매우 중요한 부분이다. Rails에서는 AASM(Acts As State Machine)을 통해 효과적으로 상태를 관리할 수 있다. AASM이란? AASM은 Ruby 클래스에 유한 상태 기계(Finite State Machine) 기능을 추가하는 라이브러리이고. 원래 acts_as_state_machine 플러그인으로 시작했지만, 현...
ROR 사용시 혼동되는거 정리
<% > 와 <%= > 차이 ERB 뷰작업을 하다보면 mybatis 처럼 동적쿼리를 실행하기 위해서, 즉 상황에 따른 데이터값을 보여주기 위해서 <% >, 와 <%= >를 사용하게 된다. <% >는 출력을 안하고 제어흐름을 관리하는데 사용된다. <%= >는 변수의 값을 문자열로 출력하기...
cluster-index와 uncluster-index
Cluster 란? Clustered Index는 단어뜻을 생각해보면 군집화된 인덱스이다. 즉 실제 데이터가 인덱스와 군집되어있다는 뜻이다. 클러스터링 인덱스와 넌 클러스터링 인덱스는 두 인덱스 모두 데이터베이스에서 데이터의 접근 속도를 높이기 위해 사용한다. 위 처럼 데이터가 들어오는데로 삽입된 상황의 테이블 구조가 있다고 가정해보자. 위 ...
SSE Spring에서 구현하기 A to Z
SSE란? SSE(Server-Sent Events)는 웹 애플리케이션에서 서버로부터 데이터를 비동기적으로 전송받을 수 있는 기술 중 하나이다. 클라이언트의 별도의 요청이 없이도 알림처럼 실시간으로 서버에서 데이터를 전달해야할때가 있다. 이럴때 단방향으로 통신을 지원하며 서버로 데이터를 보낼수없다는 단점이 있지만, 실시간 업데이트가 필요할때는 효율적...
Redis Cache Spring boot에서 사용하기
캐시란? 동일하면서 반복적인데 연산까지 오래걸리는 것을 미리 저장해서 다시 같은 요청이 왔을때 빠르게 응답하는 것이다. 자주 참조되고 변경 사항이 적고 동일한 입력에 대해 동일한 응답이 보장된 데이터를 캐싱처리하는게 좋다. 아래의 그림을 봐도 정말 다양하게 캐시를 처리하는 구간이 많다는걸 알 수 있다. 로컬캐싱 글로벌 캐싱이란? 로컬 캐싱은...
Jenkins 를 활용해서 도커 이미지 배포 및 실행
Final Goal 젠킨스를 활용하여 CI/CD를 구축하는 것이다. HTTPS에 공개키 비밀키 통신을 원리를 아는사람은 이 플로우가 이해될 것이다. 젠킨스 EC2 : Jenkins, DockerHub, JDK 11, Gradle 7.6.1(젠킨스에서 제공), Docker를 설치. 배포 EC2 : JDK 11, Docker (각자의 스팩에 ...
Nginx의 역할과 설정
NGINX란 무엇인가? Nginx는 오픈소스이고 웹 서버와 리버스 프록시 SW이다. 아파치와 마찬가지로 HTTP 요청을 처리하고 다른서버로의 요청을 전달한다. 아파치에 비해 기능은 적지만 경량화 되어있어 EC2 프리티어에서 잘돌아가도록 사용할 수 있다. 즉, 고성능과 높은 안정성을 제공한다. 리버스 프록시란? 서버 앞단에서 문지기와 같은 존재...
Spring용어,웹서버 그리고 Spring MVC
설명하고자하면 늘 잘 안나왔던 이야기를 정리해보고자 한다. BeanFactory, ApplicationContext BeanFactory는 빈을 생성하고 의존관계를 설정하는 기능을 담당하는 가장 기본적인 IoC 컨테이너이자 클래스를 말한다. ApplicationContext는 BeanFactory의 확장된 버전으로써 별도의 정보를 참고해서 빈의 ...