Ruby Sorting - nil값이 있는 경우
Sort array.sort 는 array.sort { |x, y| x <=> y } 와 동일 x, y는 sorting algorithm에서 선택하는 array의 두 element <=> 연산자의 뜻은 return -1 if x < y return 0 if x = y return 1 if x > y nil값을 가지는 경우의 sorting array = [1, 2, nil, 3, 5] array.sort { |a, b| a && b ? a<=>b : a ? -1 : 1 } --> [1, 2, 3, 5, nil]...
Sprint - Jake Knapp
곧바로 솔루션 도출로 뛰어들지 말고 시간을 들여 찬찬히 문제들을 정하고 초기 목표에 합의하라. 나중에 속도를 낼 수 있도록 처음에는 천천히 시작한다. 아이디어들을 큰 소리로 떠들지 말고 각자 혼자서 잠재 솔루션들을 상세하게 스케치한다. 집단 브레인스토밍을 해봤자 신통치 않다. 하지만 더 좋은 방법이 있다. 추상적인 논쟁과 끝없는 회의 대신 투표를 이용하고 결정권자가 팀의 우선순위를 반영하여 분명한 결정을 내리게 한다. 이는 집단사고에 빠지지 않고 여러 사람의 지혜를 이용하는 방법이다. 솔루션을 테스트하기 전에 모든 세부사항을 제대로 갖추려 하지 말고...
Heroku database 업그레이드
무료버전인 Hobby-Dev에서 $9인 Hobby-Basic 버전으로 변경하는 경우 우선 백업부터. heroku pg:backups capture 코드. heroku pg:info === HEROKU_POSTGRESQL_XXXXXX_URL Plan: Hobby-dev heroku addons:create heroku-postgresql:hobby-basic Created postgresql-xxxxxx-xxxxx as HEROKU_POSTGRESQL_AQUA_URL heroku maintenance:on heroku pg:copy HEROKU_POSTGRESQL_XXXXXX_URL HEROKU_POSTGRESQL_AQUA_URL --app your_app_name heroku pg:promote HEROKU_POSTGRESQL_AQUA_URL heroku maintenance:off 설명. a. 사용중인 database url 확인 heroku pg:info === HEROKU_POSTGRESQL_XXXXXX_URL Plan: Hobby-dev b. 새로운 postgresql add-on 설치 heroku addons:create heroku-postgresql:hobby-basic Created postgresql-xxxxxx-xxxxx as HEROKU_POSTGRESQL_AQUA_URL c. 데이터베이스 복사 전에 서버점검 모드로 변환 heroku maintenance:on d. 이전 데이터베이스를...
Screw it! Let's do it! - Richard Branson
일단 해보자. 좋은 생각이다 싶으면 해서는 안되는 이유보다 해야 할 이유를 찾으려 항상 애쓴다. 일만하고 놀지 않으면 바보가 된다. 돈을 벌려면 돈을 투자해야 한단다. 돈이라는 것은 뭔가를 하기 위해 있는 것 무엇보다도 즐기려고 노력한다. 무슨 일이든 잘하고 싶으면 계획을 짜서 철저히 준비해야 한다는 것은 앞으로도 영원히 변하지 않을 원칙임에 틀림없다. 성공에는 정해진 규칙도, 절대적인 어떤 것도 없다. 무모한 도전은 도전이 아니다. 나는 위험을 무릅쓰고 불가능해 보이는 일들에 도전하는 것을 좋아하지만, 그건 정확히 계산된 위험들입니다. 나는...
Ruby Regex
regex를 사용하기 전에, 특정 문자열을 바꾸는 경우라면, 간단히 아래 함수를 사용할 수도 있다. .sub 첫 번째 matched element만 변경 "123 1231 123".sub(" ","") //"1231231 123" .gsub 모든 matched elements를 변경 "123 1231 123".gsub(" ","") //"1231231123" Pattern matching regex 패턴 매칭 여부만 알면 된다면, =~ operation으로 가증 pattern이 발견되면 패턴이 시작되는 character의 index를 반환하고 pattern이 없다면 nil을 반환한다. /123/ =~ '12345' // 0 /123/ =~ '012345' // 1 /123/ =~ '2345' // nil match