본문 바로가기

소프트웨어-이야기/프로그래밍 언어와 프레임워크

[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..
[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을 사용하니까 금방 뚝..