오랜만에 포스팅이다. 이번 포스팅은 사내에서 Elasticsearch 관련 내용 발표를 위해 "시작하세요! 엘라스틱서치"서적을 기반으로 학습하고 이해한 내용을 정리하는 포스팅이다. 사내에서는 이미 ELK 스택 을 구성해서 Elasticsearch를 사용하고 있지만 Kibana를 이용해서 필요한 정보를 검색만 했지 Elasticsearch 에 대해서는 따로 학습해본 적이 없었기 때문에 이번이 좋은 기회였다. Elasticsearch 역시 내용이 많기 때문에 시리즈로 나눠서 정리할 예정이다. 시리즈가 잘 마무리 되면 사내에 공유도 할 예정이다. Elasticsearch 개념 우선 Elasticsearch 가 무엇인지 개념부터 확인해 보자. 공식사이트와 위키에서 조회하면 다음과 같은 내용이 나온다. "Elas..
나름 바쁘다는 핑계로 안 쓰다가 오랜만에 포스팅이다. 오늘의 포스팅 내용은 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의 소스코드 구조에 대해서 확인하고, 이들이 어떻게 조합되는지에 대해서 알아볼 예정..
오늘의 포스팅 내용은 Rails에서 Autoloading 이 어떤 규칙으로 동작하는지에 대해 알아볼 예정이다. 포스팅의 내용은 사내에서 Ruby와 Rails 의 상수참조에 대한 공유자료를 만들기 위해서 관련 포스팅들을 읽고 내용을 정리한것이다. 내용이 많기때문에 Ruby의 상수참조와 Rails 의 Autoloading 에 대해서 나눠서 소개할 예정이다. 지난번 포스팅에서 Ruby의 상수참조 규칙을 알아봤다면(https://idea-sketch.tistory.com/56) 이번에는 Rails의 Autoloading 에 대해서 알아볼 예정이다. Ruby on Rails 에서는 별도의 load 혹은 require 없이도 외부의 클래스나 모듈에 접근이 가능하다. 이렇게 별도의 작업 없이도 접근이 가능한 이유는 ..
오늘의 포스팅 내용은 Ruby에서 상수(Constants) 참조시 어떤 규칙으로 동작하는지에 대해 알아볼 예정이다.포스팅의 내용은 사내에서 Ruby와 Rails 의 상수참조에 대한 공유자료를 만들기 위해서 관련 포스팅들을 읽고 내용을 정리한것이다.내용이 많기때문에 Ruby의 상수참조와 Rails 의 Autoloading 에 대해서 나눠서 소개할 예정이다. 이번에는 Ruby에서 상수참조시 어떠한 규칙으로 상수를 참조하게 되는지 알아볼 예정이다. 왜 상수참조 원리에 대해 알아야 할까?상수참조 규칙에 대해서 알아두면 어플리케이션 개발시 동일한 상수를 여러번 정의하거나 의도치 않은 상수참조 실패를 방지 할 수 있고 디버깅 할때 도움이 된다. 루비에서의 상수관리 우선은 루비에서 상수를 정의했을때 우리가 정의한 상..
이번 포스팅은 사내에서 Spring Framework 에 대해 공유하기 위해 Spring Framework 서적을 기반으로 학습하고 이해한 내용을 정리한 포스팅이다. 포스팅에서는 Spring 3 버전대의 내용 기준으로 설명할 예정이다. 사실 전 회사에서 Spring Framework 를 사용했었고 현재 회사는 ruby on rails 를 사용하고 있기 때문에 Spring Framework 에 대해 깊이있게 다룰 생각은 없다. 다만 Spring Framework 가 지향하는 방향이나 핵심원리에 대해서 알고 있어야 다른 Framework 와의 차이점도 비교해볼 수 있고 시야를 넓힐 수 있기 때문에 이를 정리해 보려한다. 스프링 프레임워크란? 우선은 Spring Framework 란 무엇일까 위키에서 검색해봤..
이번 포스팅은 사내에서 MySQL 관련 내용 발표를 위해 Real MySQL(http://wikibook.co.kr/real-mysql/) 서적을 기반으로 학습하고 이해한 내용을 정리하는 포스팅이다. 포스팅에서는 주로 InnoDB 스토리지 엔진을 기준으로 설명할 예정이다. MySQL 시리즈의 마지막 포스팅이다.이번에는 쿼리최적화에 대해서 알아볼 예정이고 오늘은 그중에서도 서브쿼리를 사용하려면 알아야 하는 정보에 대해서 알아볼 예정이다. 서브쿼리쿼리를 작성할 때 서브 쿼리를 사용하면 단위 처리별로 쿼리를독립시킬 수 있다. 조인처럼 여러 테이블을 섞어두는 형태가 아니라서 쿼리의 가독성도 높아지고, 복잡한 쿼리도 손쉽게 작성할 수 있다. 서브쿼리는 외부 쿼리에서 정의된 컬럼을 참조하는지 여부에 따라 상관 서브..
이번 포스팅은 사내에서 MySQL 관련 내용 발표를 위해 Real MySQL(http://wikibook.co.kr/real-mysql/) 서적을 기반으로 학습하고 이해한 내용을 정리하는 포스팅이다. 포스팅에서는 주로 InnoDB 스토리지 엔진을 기준으로 설명할 예정이다. MySQL 역시 내용이 많기 때문에 시리즈로 나눠서 정리할 예정이다.이번에는 쿼리최적화에 대해서 알아볼 예정이고 오늘은 그중에서도 JOIN을 사용하려면 알아야 하는 정보에 대해서 알아볼 예정이다. JOIN 의 순서와 인덱스조인을 살펴보기 전에 인덱스 레인지 스캔으로 레코드를 읽는 작업을 다시 한번 살펴보자.인덱스에서 조건을 만족하는 값이 지정된 위치를 찾는다. 이 과정을 인덱스탐색(index seek) 이라고 한다. 1번에서 탐색된 위..
이번 포스팅은 사내에서 MySQL 관련 내용 발표를 위해 Real MySQL(http://wikibook.co.kr/real-mysql/) 서적을 기반으로 학습하고 이해한 내용을 정리하는 포스팅이다. 포스팅에서는 주로 InnoDB 스토리지 엔진을 기준으로 설명할 예정이다. MySQL 역시 내용이 많기 때문에 시리즈로 나눠서 정리할 예정이다.이번에는 쿼리최적화에 대해서 알아볼 예정이고 오늘은 그중에서도 WHERE 조건과 GROUP BY, ORDER BY를 이용하는 SELECT 쿼리를 사용할때 인덱스를 사용하려면 알아야 하는 정보에 대해서 알아볼 예정이다. SELECT 각 절의 처리 순서아래와 같은 쿼리를 보자. SELECT s.emp_no, COUNT(DISTINCT e.first_name) AS cnt ..
이번 포스팅은 사내에서 MySQL 관련 내용 발표를 위해 Real MySQL(http://wikibook.co.kr/real-mysql/) 서적을 기반으로 학습하고 이해한 내용을 정리하는 포스팅이다. 포스팅에서는 주로 InnoDB 스토리지 엔진을 기준으로 설명할 예정이다. MySQL 역시 내용이 많기 때문에 시리즈로 나눠서 정리할 예정이다. 이번에는 쿼리최적화에 대해서 알아볼 예정이고 오늘은 그중에서도 MySQL 연산자와 내장함수를 사용할때의 알아두면 좋은 정보에 대해서 알아볼 예정이다. 숫자 숫자 값과 문자열 값을 비교할때는 한 가지 주의할 사항이 있다. 서로 다른 타입으로 WHERE 조건 비교가 수행되는 다음 쿼리를 잠깐살펴보자. SELECT * FROM tab_test WHERE number_col..
이번 포스팅은 사내에서 MySQL 관련 내용 발표를 위해 Real MySQL(http://wikibook.co.kr/real-mysql/) 서적을 기반으로 학습하고 이해한 내용을 정리하는 포스팅이다. 포스팅에서는 주로 InnoDB 스토리지 엔진을 기준으로 설명할 예정이다. MySQL 역시 내용이 많기 때문에 시리즈로 나눠서 정리할 예정이다.조인의 종류조인의종류는 크게 INNER JOIN 과 OUTER JOIN 으로 구분할 수 있고, OUTER JOIN 은 다시 LEFT OUTER JOIN 과 RIGHT OUTER JOIN 그리고 FULL OUTER JOIN 으로 구분 할 수 있다. 조인의 처리에서 어느 테이블을 먼저 읽을지를 결정하는 것은 상당히 중요하다, 그에 따라 처리할 작업량이 상당히 달라진다. I..
- Total
- Today
- Yesterday
- 트랜잭션
- MySQL 족보
- 엘라스틱서치 기초
- ruby meta programming
- 루비
- 메타프로그래밍
- InnoDB
- ruby
- Autoloading
- 넥스트 키 락
- dead lock
- autoload_paths
- lock
- 되추적
- gap lock
- 루비 메타프로그래밍
- metaprogramming
- MySQL 인덱스
- MySQL
- innoDB lock
- 갭 락
- Pair-programming
- 루비 상수
- 인덱스
- db
- 페어프로그래밍
- Elasticsearch Cluster
- next key lock
- 페어 프로그래밍
- mysql lock
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |