본문 바로가기

[ROR]루비온레일즈를 설치할 때, 왜 node.js를 설치해야할까? 이런 일이 있었다. 어느 분이 서버세팅을 하는데, 커피스크립트 쪽에서 에러가 났었다. 그러면서 node.js를 설치하지 않아서 발생한 이슈라는 것을 파악하고, node.js를 설치하면서 문제를 해결했었다. 왜... 루비온레일즈를 설치할 때 node.js가 필요한걸까? 궁금했다. 구글링을 해봤다. (참조 링크) 루비온레일즈 프레임워크를 쓰려면, JavaScript Runtime Environment가 필요하다. 레일즈 기능인 Asset Pipeline을 관리하는 데에 node.js가 사용되기 때문이다. Asset Pipeline이란.. 정확히 뭘까..?우선... 간단하게 보자면... 그 production 환경에서는 javascript랑 css가 압축된 형태로 import되는데, 그 기능에도 Asset P..
[RAILS]before_filter에 넘어오는 파라미터에 따라 필터 적용 여부 결정하기 만약 HelloWorld라는 컨트롤러에 before filter를 달고 싶은데, 넘어오는 파라미터에 따라 필터 적용 여부를 결정하고 싶을 때가 있다.이 경우에는 before_filter에 block을 넣고, if 분기를 추가하면된다. class HelloWorldController < ApplicationController before_filter(only: [:create]) do admin_log if (params[:admin_grade] == 'staff') end 예를 들면, admin_grade 파라미터에 넘어오는 값이 staff일 경우에만 어드민 접근 로그를 남기는 admin_log라는 함수를 사용하고 싶을 수 있다. 이 경우, 위에 처럼 before_filter block을 생성해서, if..
[git]STASH - 브랜치에서 다른 브랜치로 이동하기 전에, 커밋전에! 내가 한 코드 임시 저장하기! GIT STASH 이번 주에 요긴하게 쓰고, 너무 마음에 들었던 GIT Stash에 대해서 정리해보고자 한다. 일을 하다보면 이럴 때가 있다.지라 티켓을 보고, master 브랜치에서 해당 과제의 브랜치를 따서 마구 작업을 하고 있을 때 말이다. 그런데 아직 commit을 하기에는 부족할 때가 있다. p "로그로그로그" 처럼 콘솔 로그를 마구 찍으면서 로직을 파악하고 있다거나,database.yml의 db의 development 환경값을 기존 브랜치랑 다른 값으로 설정하고 있었다거나..개발용으로 수정해서, commit을 하면 안되는 그런 로직들이 있다. 그런데 갑자기 다른 과제의 로직을 봐야할 때가 생긴다. 그래서 내가 지금 작업하고 있는 브랜치에서 다른 브랜치로 check out을 해야할 때가 있다.이..
스포카 한산스체로 티스토리 글꼴 바꾸기 스포카 한산스체로 티스토리 글꼴 바꾸기 예전에 페북을 돌아다니다가 스포카에서 글꼴체를 공개했다는걸 발견했당글꼴도 깔끔하구 참신참신해서 뭔가 맘에 들었다.그래서 블로그를 꾸미면서... 스포카 한산스체를 써봐야겠단 생각을 했다. 방법은 스포카 한산스체 사이트를 참고했다. 스포카 한산스체 바꾸는 방법은 아래와 같다.HTML/CSS 관리 페이지에 들어간다. HTML 기존의 폰트 LINK들을 다 지워야 한다. 나같은 경우에는 구글 FONT 링크가 걸려있어서 지우고, 아래 태그를 추가해서 폰트 링크를 긁어왔다. CSS글자 태그에 폰트 CSS를 먹혀줘야한다. 나는 태그와 태그에 폰트를 먹혀줬다. p,a { font-family: 'Spoqa Han Sans', 'Spoqa Han Sans JP', 'Sans-seri..
[rubyonrails]active record의 timezone 설정하기 루비온 레일즈에서 데이터 베이스에 현재 시각이 다르게 나오는 이슈 해결하기루비온레일즈 콘솔로 DateTime.now를 하면 현재 시각이 잘 나오는데, DB에 저장할 경우 created_at의 시각이 다르게 나오는 현상이 발생했다. 이유를 찾아보다가... 액티브 레코드 설정값을 local로 바꾸어주면 된다는 것을 발견했다.application.rb에 default timezone을 로컬로 설정해주면 된다.config/application.rbconfig.active_record.default_timezone = :local 후훗!
[RAILS][CHARTKICK]루비로 이쁜 그래프 만들기! Chartkick진짜..편하당 !파이썬, 자바스크립트로도 지원해준다고 한다. D3보다도 편하고, 이쁜 그래프를 레일즈로 바로 생성할 ㅅ ㅜ있다. 젬파일에 gem chartkick을 선언하고, bundle install하고,이제 view에다가 그래프를 넣고싶은 곳에 저 함수를 넣어주면!복잡하고 지저분한 TAG/CSS/JS 없이 이쁜 그래프가 뚝딱 만들어진다.JSON 규격을 맞추려고 소스코드를 여기저기 FOR문 돌면서 안뜯어고쳐도 된당루비 객체랑 바로 매핑된다! 쪼으당!여기서 TIP은 line_chart의 data 구조는 [['2015-09-10',3]['2015-09-10',4]] or {'2015-09-10'=>3,'2015-09-10',4} 형태이다.찾느라 시간을 좀 들였다 쩝 https://githu..
[ruby] ruby / rails로 자동 로그인 봇만들기 나는 미생이다그래서 이번 추석은 미생을 위하여 달려야했지만, 항상 시험전날에는 딴짓을 하게 되듯딴짓을 하였다.ㅎ_ㅎ 인생이 걸렸는뎀 ㅎ_ㅎ딴짓잼..ㅎ_ㅎ크롤링 잼.. 크롤링덕후되버려쓰 ㅎ_ㅎ거의 살면서 첨으로 내 플밍 능력으로 나한테 편한 기능을 만들었다 ㅎ_ㅎ 긱스러운거 만든적이 첨이라 뿌듯 ㅎ_ㅎ 오늘 만든건 '자동 로그인 봇'이다. 어느 카페에서 등업을 하려면 로그인 기록이 몇십회 되어야하는데 매일 깜빡해서 로그인을 못했다.그래서 나는 등업을 하려면.. 정말 몇년 후가 될 필이였다. 그래서 RUBY로 매일 새벽에 자동 로그인하는 봇을 만들었다. 웹서버 OR AWS를 사용하는 건 아니지만, GEM을 편하게 사용하려고 RAILS를 사용했다.MECHANIZE랑 WHENEVER GEM을 사용하니까 금방 뚝..
[Rspec]테스트 할 코드에 원하는 메소드가 실행되고 있는지 확인하기 should_receive(:확인할 메소드명).with(넘겨질 파라미터 값).and_return({반환되어야하는 값}): Ruby Rspec에서 테스트 코드에서 검증하고자 하는 클래스에서 *** 메소드가 실행되고 있는지 확인하는 기능을 지원한다. 예시 it "calls Zoogle.graveyard_locator" do Zoogle.should_receive(:graveyard_locator).with(zombie.graveyard).and_return({latitude: 2, longitude: 3}) zombie.geolocate end 옵션주기should_receive(:function)에는 옵션을 줄 수 있다.should_receive(:function).once : 한번 호출되었다.should_..