본문 바로가기 메뉴 바로가기

끄적끄적 낙서장

프로필사진
  • 글쓰기
  • 관리
  • 태그
  • 방명록
  • RSS

끄적끄적 낙서장

검색하기 폼
  • Study (67)
    • Ruby (13)
    • C & C++ (13)
    • Java & Spring (10)
    • DB (21)
    • Algorithm (7)
    • 비공개 (0)
    • 기타 (3)
  • 방명록

Ruby (13)
[RoR] ActiveRecord 의 scope 사용시 주의할점

오늘의 포스팅 내용은 ActiveRecord 를 사용하면서 scope 를 이용했을 때 first, last 를 포함하면 안 되는 이유에 대해서 알아볼 예정이다. 우선 scopes 에 대한 정의는 여기에서 확인할 수 있다. 간단하게 설명하자면 scope 는 ActiveRecord 에서 일반적으로 사용하는 Query 들을 지정할 수 있어서 필요시마다 함수 호출처럼 사용할 수 있게 도와준다. scopes 에서는 where, joins, includes 등이 사용 가능하고 실행결과로 ActiveRecord::Relation 혹은 nil 을 반환한다. scope 의 활용 예시는 다음과 같다. module Accounts class User < ApplicationRecord scope :today_sign_up_..

Ruby 2020. 7. 3. 17:02
[RoR] ActiveRecord 의 count, length, size

오늘의 포스팅 내용은 "ActiveRecord의 length, count, size 의 차이를 간략히 알아보자" 이다. Rails 로 기능 개발을 하면서 ActiveRecord Relation 의 Element 의 개수를 확인하기 위해 ActiveRecord 의 length, count, size 를 사용할 때가 있다. 우리는 다양한 방법으로 개수를 확인할 수 있지만 length, count, size 에는 조금씩 차이가 있으니 알고 사용하면 더 도움이 된다. count count 는 ActiveRecord Relation 의 Element 의 수를 확인하기 위해서 SQL query 를 실행한다. 호출 시점에 Database 의 정확한 수를 확인할 수 있다는 점이 장점이지만 상황에 따라서 불필요하게 조회..

Ruby 2020. 6. 30. 11:28
[RoR] Rails ActiveRecord

나름 바쁘다는 핑계로 안 쓰다가 오랜만에 포스팅이다. 오늘의 포스팅 내용은 ActiveRecord의 구조를 간략히 알아보자 이다. 포스팅의 내용은 아래의 책을 읽고 내용들을 정리한 것이다. https://books.google.co.kr/books/about/Metaprogramming_Ruby_2.html?id=V0iToAEACAAJ&source=kp_cover&redir_esc=y ActiveRecord 란? ActiveRecord는 Ruby의 객체와 Database를 맵핑해주는 라이브러리이다. 이는 ORM 이라 불리며 이를 이용해 RDB 와 OOP 간의 변화를 자연스럽게 사용할 수 있다. 오늘은 ActiveRecord의 소스코드 구조에 대해서 확인하고, 이들이 어떻게 조합되는지에 대해서 알아볼 예정..

Ruby 2019. 10. 3. 12:26
[RoR] Rails Autoloading 알아보기

오늘의 포스팅 내용은 Rails에서 Autoloading 이 어떤 규칙으로 동작하는지에 대해 알아볼 예정이다. 포스팅의 내용은 사내에서 Ruby와 Rails 의 상수참조에 대한 공유자료를 만들기 위해서 관련 포스팅들을 읽고 내용을 정리한것이다. 내용이 많기때문에 Ruby의 상수참조와 Rails 의 Autoloading 에 대해서 나눠서 소개할 예정이다. 지난번 포스팅에서 Ruby의 상수참조 규칙을 알아봤다면(https://idea-sketch.tistory.com/56) 이번에는 Rails의 Autoloading 에 대해서 알아볼 예정이다. Ruby on Rails 에서는 별도의 load 혹은 require 없이도 외부의 클래스나 모듈에 접근이 가능하다. 이렇게 별도의 작업 없이도 접근이 가능한 이유는 ..

Ruby 2019. 1. 27. 14:48
[Ruby] 루비 상수참조 규칙 알아보기

오늘의 포스팅 내용은 Ruby에서 상수(Constants) 참조시 어떤 규칙으로 동작하는지에 대해 알아볼 예정이다.포스팅의 내용은 사내에서 Ruby와 Rails 의 상수참조에 대한 공유자료를 만들기 위해서 관련 포스팅들을 읽고 내용을 정리한것이다.내용이 많기때문에 Ruby의 상수참조와 Rails 의 Autoloading 에 대해서 나눠서 소개할 예정이다. 이번에는 Ruby에서 상수참조시 어떠한 규칙으로 상수를 참조하게 되는지 알아볼 예정이다. 왜 상수참조 원리에 대해 알아야 할까?상수참조 규칙에 대해서 알아두면 어플리케이션 개발시 동일한 상수를 여러번 정의하거나 의도치 않은 상수참조 실패를 방지 할 수 있고 디버깅 할때 도움이 된다. 루비에서의 상수관리 우선은 루비에서 상수를 정의했을때 우리가 정의한 상..

Ruby 2019. 1. 13. 21:58
[Ruby] 루비 메타프로그래밍(6) - Singleton Class

오늘의 포스팅 내용은 Ruby Metaprogramming 이다. 포스팅의 내용은 사내에서 Ruby Metaprogramming 에 대한 발표를 위해서 아래의 책을 읽고 내용들을 정리한것이다.https://books.google.co.kr/books/about/Metaprogramming_Ruby_2.html?id=V0iToAEACAAJ&source=kp_cover&redir_esc=y 내용이 많기때문에 시리즈로 소개할 예정이다. 저번 포스팅(Callable Object - http://idea-sketch.tistory.com/40 )에 이어서 다음편이다. Current Class우리는 Ruby 프로그래밍을 하면서 self 를 이용해서 항상 Current Object 를 알 수 있다.그리고 이미 알고 ..

Ruby 2018. 7. 14. 12:21
[Ruby] 루비 메타프로그래밍(5) - Callable Object

오늘의 포스팅 내용은 Ruby Metaprogramming 이다. 포스팅의 내용은 사내에서 Ruby Metaprogramming 에 대한 발표를 위해서 아래의 책을 읽고 내용들을 정리한것이다.https://books.google.co.kr/books/about/Metaprogramming_Ruby_2.html?id=V0iToAEACAAJ&source=kp_cover&redir_esc=y 내용이 많기때문에 시리즈로 소개할 예정이다. 저번 포스팅(Block, Scope - http://idea-sketch.tistory.com/39 )에 이어서 다음편이다. 오늘은 Callable Object에 대해서 알아볼 예정이다. Callable Object 저번 포스팅을 다시한번 생각해보면 block 은 2단계로 동작..

Ruby 2018. 7. 9. 13:37
[Ruby] 루비 메타프로그래밍(4) - Blocks, Scopes

오늘의 포스팅 내용은 Ruby Metaprogramming 이다. 포스팅의 내용은 사내에서 Ruby Metaprogramming 에 대한 발표를 위해서 아래의 책을 읽고 내용들을 정리한것이다.https://books.google.co.kr/books/about/Metaprogramming_Ruby_2.html?id=V0iToAEACAAJ&source=kp_cover&redir_esc=y 내용이 많기때문에 시리즈로 소개할 예정이다. 저번 포스팅(Method - http://idea-sketch.tistory.com/38 )에 이어서 다음편이다. 오늘은 Blocks 과 Scopes 에 대해서 알아볼 차례이다. Blocks 은 proc 과 lambda 등을 포함해서 callable objects 라고 불리는 ..

Ruby 2018. 7. 3. 22:16
[Ruby] 루비 메타프로그래밍(3) - Method

오늘의 포스팅 내용은 Ruby Metaprogramming 이다. 포스팅의 내용은 사내에서 Ruby Metaprogramming 에 대한 발표를 위해서 아래의 책을 읽고 내용들을 정리한것이다.https://books.google.co.kr/books/about/Metaprogramming_Ruby_2.html?id=V0iToAEACAAJ&source=kp_cover&redir_esc=y 내용이 많기때문에 시리즈로 소개할 예정이다. 저번 포스팅(Ancestors chain - http://idea-sketch.tistory.com/37 )에 이어서 다음편이다. 오늘은 예제를 기반으로 어떻게 하면 Ruby에서 Metaprogramming 을 사용하여 중복함수를 효율적으로 제거 할 수 있을지에 대해 알아본다...

Ruby 2018. 6. 30. 12:04
[Ruby] 루비 메타프로그래밍(2) - Ancestors Chain

오늘의 포스팅 내용은 Ruby Metaprogramming 이다. 포스팅의 내용은 사내에서 Ruby Metaprogramming 에 대한 발표를 위해서 아래의 책을 읽고 내용들을 정리한것이다.https://books.google.co.kr/books/about/Metaprogramming_Ruby_2.html?id=V0iToAEACAAJ&source=kp_cover&redir_esc=y 내용이 많기때문에 시리즈로 소개할 예정이다. 저번 포스팅(Object Model - http://idea-sketch.tistory.com/36 )에 이어서 다음편이다. 함수를 사용하면 무슨일이 생길까? Ruby에서는 함수를 사용할때 아래의 2가지 작업을 한다.해당 함수를 찾는다. 이 과정을 Method Lookup 이라..

Ruby 2018. 6. 17. 09:53
이전 1 2 다음
이전 다음
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
  • Elasticsearch Cluster
  • 페어프로그래밍
  • 넥스트 키 락
  • 루비 메타프로그래밍
  • ruby
  • 엘라스틱서치 기초
  • lock
  • 인덱스
  • metaprogramming
  • MySQL 인덱스
  • InnoDB
  • dead lock
  • MySQL
  • 메타프로그래밍
  • ruby meta programming
  • autoload_paths
  • 트랜잭션
  • 페어 프로그래밍
  • mysql lock
  • gap lock
  • Autoloading
  • db
  • Pair-programming
  • MySQL 족보
  • innoDB lock
  • 되추적
  • 루비
  • 갭 락
  • next key lock
  • 루비 상수
more
«   2025/12   »
일 월 화 수 목 금 토
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
글 보관함

Blog is powered by Tistory / Designed by Tistory

티스토리툴바