오늘의 포스팅 내용은 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 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 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 Metaprogramming 이다. 포스팅의 내용은 사내에서 Ruby Metaprogramming 에 대한 발표를 위해서 아래의 책을 읽고 내용들을 정리한것이다. https://books.google.co.kr/books/about/Metaprogramming_Ruby_2.html?id=V0iToAEACAAJ&source=kp_cover&redir_esc=y 내용이 많기때문에 시리즈로 소개할 예정이다. Metaprogramming 이란? Ruby 를 사용하면서 접하게된 개념이다. 우선 언제나 그렇듯 wiki의 정의부터 읽어보자. 메타프로그래밍(metaprogramming)이란 "자기 자신 혹은 다른 컴퓨터 프로그램을 데이터로 처리함으로써 프로그램을 작성·수정하는 프로그램을 ..
오늘의 주제는 Ruby On Rails 에 Decorator 패턴 적용하기 입니다. 우선 Decorator 패턴을 적용하게 된 배경부터 설명하도록 하겠습니다. 개선과제 프로젝트 진행중 아래와 같은 구조의 코드를 발견했습니다. ... 'v_center' %> 'v_center' %> 'v_center' %> 'v_center' %> 'v_center' %> ... 위의 코드는 Type에 따라 다음과 같은 3가지 형태의 html 로 생성될 수 있습니다. CATEGORY_A 일때 제목(필수) 이름 URI(hidden)CATEGORY_B 일때 제목(선택) 이름 URICATEGORY_C 일때 배경색 URI(hidden) 코드를 보고 답답한 마음에 누가 이렇게 했나를 확인해보니 과거의 제가 이렇게 짰더군요....그..
아래 내용은 루비가이드의 포스팅 내용은 번역한 글입니다.(https://www.rubyguides.com/2018/02/ruby-symbols/) Symbol 과 String 의 차이에 대해서 생각해보신적 있으신가요?오늘은 그 차이에 대해 알아볼 예정입니다. 가장큰 차이로는 String은 데이터로써 사용됩니다. 그리고 Symbol 은 식별자로 사용됩니다. Symbol은 String 과는 다른용도로 사용되며 절대 단순한 Frozen String이 아닙니다. 언제 Symbol 을 사용해야 할까?Symbol이 일반적으로 사용될때는 Method나 인스턴스 변수의 이름을 표현할때 입니다. Example:1attr_reader :title :title 이라는 Symbol은 @title 인스턴스 변수를 의미합니다. ..
지난번 포스팅(http://idea-sketch.tistory.com/30)에 이어서 이번에는 Second level cache 이다. - Second level cache - Second level cache 는 Local cache 와는 다르게 끄고 킬 수 있다. cache를 키는 방법은 Config 설정하는 곳에서 cacheEnabled 를 TRUE로 설정해주면 된다. 하지만 이설정만 켰다고해서 자동으로 캐싱이 되지는 않는다. 이 다음 해줘야 할 작업은 MyBatis 에서 사용하는 Mapper에 Cache 관련 설정을 해줘야한다.mybatis-config.xml xxxMapper.xml-Mapper에 설정을 안해주면 해당 Mapper에서 정의된 Statement는 캐싱이 되지 않는다. Sizesiz..
아주 오~~~랜만에 포스팅이다. 1년전 이맘때쯤 써야지 했던 내용인데 귀차니즘 신이 와서 묵혀두었다가 이제야 쓰게되었다.하도 오랜만이라 내용을 많이 까먹었기에 오늘은 포스팅 내용중 반만 쓰고 나머지 반은 다음번 포스팅에 쓸 예정이다. 일단 블로그내에 모든 포스팅이 그렇지만 포스팅 내용은 내가 직접 테스트 해보고 알게된 내용을 공유하는 것이기 때문에 정확하지 않을 수 있다 오늘은 Mybatis 에서 제공하는 캐시에 대해서 알아보기로 하자. 우선 일차적으로 캐시가 뭔지부터 알아보자.캐시란 "캐시(cache, 문화어: 캐쉬, 고속완충기, 고속완충기억기)는 컴퓨터 과학에서 데이터나 값을 미리 복사해 놓는 임시 장소를 가리킨다. 캐시의 접근 시간에 비해 원래 데이터를 접근하는 시간이 오래 걸리는 경우나 값을 다시..
오늘의 주제는 되추적(Backtracking) 이다. 저번 포스팅인 깊이우선탐색(Depth-First Search)과 넓이우선탐색(Breath-First Search)의 몸풀기를 거치고최단경로(Shortest Path) 알고리즘에 들어가는 첫 걸음이라고 생각하고 가벼운 마음으로 읽어보면 되겠다. 우선 되추적(Backtracking)이 뭔지부터 알아보자.『 퇴각검색(영어: backtracking, 한글: 백트래킹)은 한정 조건을 가진 문제를 풀려는 전략이다. "퇴각검색(backtrack)"이란 용어는 1950년대의 미국 수학자 D. H. 레머가 지었다. 문제가 한정 조건을 가진 경우 원소의 순서는 해결 방법과 무관하다. 이런 문제는 변수 집합으로 이뤄지는데, 한정 조건을 구성하려면 각각의 변수들은 값이 있..
오늘의 포스팅 내용은 저번의 깊이우선탐색(Depth-First Search)에 이어서 너비우선탐색(Breadth-First Search)이다. 깊이우선탐색(DFS)와는 다르게 너비우선탐색(BFS)은 큐를 사용한다. 이번에도 역시 다음과 같은 상황이 있다고 해보자. 이 상황에서 L을 찾아줘! 라는 요구사항이 있다면 답을 찾기위해 BFS는 어떻게 동작할까? 너비우선탐색의 정의는 맹목적 탐색방법의 하나로 시작 정점을 방문한 후 시작 정점에 인접한 모든 정점들을 우선 방문하는 방법이다. 더 이상 방문하지 않은 정점이 없을 때까지 방문하지 않은 모든 정점들에 대해서도 너비 우선 검색을 적용한다. 라고 위키백과에 써있다. 너비우선탐색은 노드를 선택하고 추가하는 과정에서 큐을 사용한다. 그리고 너비우선탐색 이라는 말..
- Total
- Today
- Yesterday
- 넥스트 키 락
- 루비 메타프로그래밍
- dead lock
- 루비
- db
- 트랜잭션
- 페어프로그래밍
- autoload_paths
- next key lock
- ruby
- Autoloading
- Elasticsearch Cluster
- 엘라스틱서치 기초
- 루비 상수
- 인덱스
- MySQL
- gap lock
- MySQL 족보
- 메타프로그래밍
- ruby meta programming
- innoDB lock
- 페어 프로그래밍
- 되추적
- Pair-programming
- lock
- 갭 락
- mysql lock
- InnoDB
- metaprogramming
- MySQL 인덱스
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |