본문 바로가기

분류 전체보기

(435)
Rails 손쉬운 검색 form ransack Ransack Rails 내에서 search form을 손쉽게 만들기 위해서 사용되는 젬인 ransack 에 대해서 알아보고자 한다. 주로 admin 페이지에서 활용하기 위함으로 사용되며, 손쉽게 search form을 커스텀할 수 있다. (참고 ransack의 성능에 대한 이야기, 요약하자면 abstraction layer로서, ransack 자체가 DB 조회에 대한 성능을 좌우하진 않음) 아래와 같은 페이지를 만드는게 목적이다. 아래 이미지의 좌측에 존재하는 저러한 검색 form을 만들어서 조금 더 손쉽게 검색을 할 수 있도록 하고자 하는데 rails 내에서는 ransack gem을 통해서 손쉽게 만들 수 있다. 프로젝트 사전 준비 준비물 rails 프로젝트 faker – fake 데이터를 만들어주는..
Rails Database 관리 Gem(rails_db) 레일즈 db 구조나 데이터를 손쉽게 보고 관리할 수 있는 rails_db라는 Gem이 있다. 초기 개발 단계나 소규모에서 편하게 쓸 수 있는 Gem인듯 하다. 기본 프로젝트 환경 세팅 간단하게 rails 프로젝트를 생성해준다. rails new project 그리고 title(제목)과 content(내용) 컬럼을 지닌 Post 모델을 생성해준다. rails g scaffold Post title:string content:string 모델을 생성해줬으니 migrate 해준다. rake db:migrate localhost:3000/posts의 주소로 가면 아래와 같이 index페이지가 확인된다. 그리고 New Post를 클릭해서 게시글을 여러개 생성해준다. Gem rails_db 이제 본격적으로 rail..
Rake db 명령어(feat. schema:load vs migrate) Rake DB 명령어 Ruby on Rails를 사용하게 되면 Rake 명령어를 접하게 되는데 '레일즈가 여러 목적으로 사용하는 범용 명령 실행 도구'로 Rails 설치 시 기본적으로 포함되어 있는 도구 모음이다. 여러 가지 명령어들이 많이 있는데 이는 'rake -T' 옵션으로 확인해볼 수 있다. 물론 기본적으로 제공하는 옵션 외에도 task를 만들어 실행할 수 있다. 참조 [Rails] Rake task 사용하기 Rake는 Ruby 개발 환경에서 사용되는 빌드 프로그램이다. Unix에서 사용되는 Make와 비슷한 용도로 사용되며 Makefile과 비슷한 Rakefile이 존재한다. blog.bluesh.io 일반적으로 rake db:명령어 옵션으로 많이 활용되는데 주로 사용하거나 자주 접하게 되는 명..
Rbenv Ruby 환경관리 및 설치 Ruby 버전 관리 Mac은 기본적으로 Ruby를 지원하고 있으나 이는 시스템 Ruby로 권한 설정 및 프로젝트마다 다른 버전을 활용하기 위해서는 Rbenv를 통해 Ruby 버전을 관리하는 것이 필요하다. Local 설정으로 디렉토리마다 버전을 관리할 수도 있으며, Global 설정을 통해 전역적으로 설정 또한 가능하다. Homebrew 설치 Rbenv 설치에 앞서, Mac용 패키지 관리자 Homebrew 설치가 필요하다. /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" brew update 정상적으로 설정되었다면 brew --help 나 brew -v 를 통해 확인이 가능하다. R..
Git 메모장 1. 버전 관리 기본 $ git log # 깃 기록 보기 $ git diff # 최신 버전의 깃과 최근 차이 보기 $ git commit -amend # 가장 최근 커밋 메시지 수정 $ git checkout -- file # file 파일을 가장 최신 버전으로 되돌리기 $ git reset HEAD file # file 스테이징 취소 $ git reset HEAD^ # 가장 최근 커밋 취소(--soft 커밋전, --mixed 커밋스테이징 전, --hard 파일 수정전) $ git reset 커밋해시 # 특정 버전으로 되돌리기 $ git revert 커밋해시 # 커밋 로그 삭제 없이 되돌리기(이력 쌓기) 2. 버전 관리 branch $ git branch 이름 # 깃 브랜치 만들기 $ git checko..
정신없었던 새해 첫달을 보내면서(2021.01.24) 새해 이야기 2021년이 시작되면서 많은 일들이 있었다. 날짜를 쓸 때, 습관적으로 2020년을 썼다가 지우는 실수가 줄어들 때 쯤이 되서야 다사다난했던 2021년 1월을 정리하려고 글을 쓴다!무엇보다도 가장 큰 일은 다시 한 번 퇴사를 하게 된 일이다. 직장을 옮기게 된 지 1달도 안된 시점에서 다시 한 번 직장을 옮기게 되었다. 처음 이직을 결심했던 이유와 새로운 직장(이제는 전직장...)은 연관성이 크게 없었다. 하고 싶은 업무와 더 많은 것들을 배울 수 있는 환경을 찾아 이직을 결심했는데 그런 측면에서 옮기게 된 직장은 정말 그런지 확신이 안섰다. 이직을 결심했으면 빠르게 결실을 맺어야겠다는 생각도 어느 정도 있었고 여러 가지 조건들도 더 나아보여서 이직을 하게 되었지만 스스로도 처음 이직 결심의..
주소 인식과 날짜 인식을 위한 삽질의 기록 개요 2021.01.02 ~ 2021.01.05 혼자 당근마켓 거래 채팅방 중에 주소를 입력하면 이를 인식하여 안내 알람을 보내주는 기능이 있었습니다. 당근마켓 팀 블로그 내 해당 기능과 관련된 구현 이야기를 보니 흥미로웠습니다. 그래서 저도 따라 만들어보고자 했습니다. 주소 인식을 위한 삽질의 기록 당신의 안전을 위해서라면 뭐든지 할 거예요. 그게 삽질이라도… medium.com 그리고 주소 인식 뿐만 아니라 약속 날짜나 시간을 이야기하면 해당 데이터도 인식하여 재밌는 기능들도 넣어볼 수 있지 않을까 생각했습니다. 여담으로 저의 일화를 소개해드리자면... 평일 저녁 8시에 갤럭시 버즈 기기를 판매하기로 약속을 했었습니다. 그런데 약속 당일에 정신없이 하루를 보내다보니 시간이 임박해왔던 걸 몰랐습니다. ..
생일에 퇴사하는 사람(2020.12.22) 생일에 퇴사하는 사람 12월 22일, 내 생일이자 첫 직장을 퇴사하는 날이다. 첫 직장에서 인턴부터 퇴사까지 거의 1년의 시간을 보냈다. 학교를 다니던 마지막 학기에는 취업 걱정을 정말 많이 했다(물론 걱정한만큼의 노력은 하지 않았던 것 같다). 그런데 운좋게 한 곳에 합격하여 입사하게 되었고 다달이 통장에 돈이 들어오는 것을 보며 신기하고 행복했다. 그래서 개인적인 개발, 공부, 블로그 같은 것들을 조금은 잊고(?) 살았던 것 같다. 그렇게 반년이라는 시간이 흐르고 조금은 여유가 생길 때쯤 잊고 있었던 것들이 눈에 들어왔다. 잘하지는 못하지만 개발하는 것을 좋아했고 공부한 것들을 정리하는 것도 참 좋아했었다. 조금씩 잊고 있던 것들을 다시 해보려 했지만, 회사 - 집 - 회사 - 집 의 수레바퀴에서 조..