てぃーだブログ  › Ruby 勉強会

【PR】

  

Posted by TI-DA at

初めてのChocolatey

2014年10月12日

参考URL:
http://millkeyweb.com/win-chocolatey/

■まとめ
homebrewの様にwindowsでも様々なパッケージがインストールができる。
「C:\ProgramData\Chocolatey」にインストールされる。(隠しフォルダ)
インストール時々こける。サイトが混み合ってるのかな?間を空けて再チャレンジすべし!(^^)

■chocolateyのインストール方法
#コマンドプロンプトを管理者権限で起動して以下のコードを実行する。
c:\ > @powershell -NoProfile -ExecutionPolicy unrestricted -Command "iex ((new-object net.webclient).DownloadString('https://chocolatey.org/install.ps1'))" && SET PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin


■パッケージのインストール方法
#「cinst」は、「choco install」の略
cinst ChocolateyGUI

その他にも、いろいろなパッケージが対応しています。大文字小文字に注意。
GoogleChrome, Firefox
vlc, skitch, skype, gimp, InkScape, freemind
atom, git, aptana-studio,
ruby, ruby2.devkit, rubygems, pik,
SQLite, sqliteadmin
postgresql, pgadmin3
mysql, mysql.workbench
imagemagick
nodejs, npm, Yeman


openssh
hg
vagrant, packer
virtualbox
genymotion

Cygwin
putty
nmap
winscp
winmerge

calibre

CloudBerryExplorer
AWSTools


■その他コマンド
choco /? # ヘルプの表示
choco list -lo # インストール済みパッケージのリスト

  


Posted by kanedayo at 00:06Comments(0)

RailsBricksができること

2014年09月12日

RailsBricks http://www.railsbricks.net/

Railsアプリを素早く作る
Bootstrap3
email
user管理
pagination
human readable URL


類似ツール
Hobo http://hobocentral.net/
Rails Composer https://github.com/RailsApps/rails-composer/

Camping http://camping.io/
Merb http://www.merbivore.com/
Padrino http://www.padrinorb.com/
Ramaze http://ramaze.net/
Ruby on Rails http://rubyonrails.org/
Sinatra http://www.sinatrarb.com/  


Posted by kanedayo at 13:13Comments(0)

vagrantの作業フォルダが分からなくなった場合

2014年08月25日

vagrantを使い始めると取り扱うVMが増えてきて、VirtualBoxマネージャーを開くと沢山のVMが表示されます。

あれ?この仮想マシンはどこで「vagrant init」したんだっけ?
ということ良くあります。

vagrant-share
そんな時は、[設定]->[共有フォルダ]を確認しましょう~
^o^)v

なお、過去に作業した共有フォルダは、以下のファイルにJSON形式の履歴が残るようです。
C:\Users\my_name\.vagrant.d\data\machine-index\index  


Posted by kanedayo at 11:28Comments(0)

emmet-vim

2014年08月10日

emmet-vimが動きません。

windows版のvimでは動いたのに~
CentOSでは~動かない~動かない~なぜぇ~
数時間調べて、古いバージョンのvimだと動かない場合があると知る。。。
別のマシンで試してみると、無事に動きました!!
むむむ。そろそろメイン環境の引越時期かなぁ。

■原因
##動かないバージョン(Cent OS 5.10)
$ rpm -qf /usr/bin/vim
vim-enhanced-7.0.109-7.2.el5

##動いたバージョン(Cent OS 6.2)
$ rpm -qf /usr/bin/vim
vim-enhanced-7.2.411-1.8.el6.x86_64



参考URL:「emmet-vim」
https://github.com/mattn/emmet-vim
  


Posted by kanedayo at 16:58Comments(0)

bluetoothテザリングを使って、スマートフォン経由で ノートPCとインターネットをつなぐ方法

2014年07月22日

windows7とLGL22を使った場合のお話。

■接続方法
スマートフォン側で、BluetoothテザリングをONにする。


パソコン側で、[コントロールパネル]
->[ハードウェアとサウンド]
->[デバイスとプリンター]
自分の携帯電話を選択して、(画像ではLGL22)
[接続方法]⇒[アクセスポイント(A)]


スマフォで接続できていることを確認


■切断方法

  


Posted by kanedayo at 21:13Comments(0)

bluetoothテザリングを使って、スマートフォン経由で ノートPCとインターネットをつなぐ方法

2014年07月22日

windows7とLGL22を使った場合のお話。

■接続方法
スマートフォン側で、BluetoothテザリングをONにする。


パソコン側で、[コントロールパネル]
->[ハードウェアとサウンド]
->[デバイスとプリンター]
自分の携帯電話を選択して、(画像ではLGL22)
[接続方法]⇒[アクセスポイント(A)]


スマフォで接続できていることを確認


■切断方法

  


Posted by kanedayo at 21:12Comments(0)

RailsAdmin + Cancanでモデルの管理と権限分離

2014年07月20日

■まとめ
※deviseモデル名はUserとする。
※admin権限はUserモデルのflagで判定する。

deviseは、ログイン管理gem
rails_adminは、モデル管理を行うgem

■Railsアプリ(myapp)の作成
rails new myapp -B -T
cd myapp

#モデルの作成(作ったモデルを後で管理画面で操作できる)
rails g scaffold blog title content:text
vim config/routes.rb
+ root 'blogs#index'


■Devise/RailsAdminの追加
vim Gemfile
+ gem 'devise'
+ gem 'rails_admin'
bundle install


■Deviseの設定

rails g devise:install
vim app/views/layouts/application.html.erb
+ <p class="notice"><%= notice %></p>
+ <p class="alert"><%= alert %></p>

rails g devise user
vim app/models/user.rb
# :registerable, :recoverableの削除

vim db/migrate/devise_create_users.rb
# Recoverableのコメントアウト
# ## Recoverable
# t.string :reset_password_token
# t.datetime :reset_password_sent_at
# add_index :users, :reset_password_token, unique: true

rake db:migrate


■RailsAdminの設定
rails g rails_admin:install
# <mount rails_admin? Press <enter> for [admin] >
# config\routes.rb # 順番入れ替え
+ devise_for :users
+ mount RailsAdmin::Engine => '/admin', as: 'rails_admin'

vim config/initializers/rails_admin.rb
+ == Decise == # 有効化

# パスワードの設定
rails c
User.create(email: "xx@yy", password: "xyz")



■Cancanの導入
上記までだと、認証を通過したユーザはすべてadmin権限を取得してしまう。
Cancanを導入して、flagの有無でadmin権限を区別する。

vim Gemfile
+ gem 'cancan'
bundle

vim config\initializers\rails_admin.rb
+ == Cancan == # 有効化

rails g cancan:ability
rails g migration add_admin_to_users admin:boolean
rake db:migrate

$ rails c
> User.first.update_attributes(admin: true) # 権限の追加
> User.create(email: 'guest@gmail.com', password: '00000000') # ゲスト追加

# app/models/ability.rb
user ||= User.new # guest user (not logged in)
if user.admin?
can :access, :rails_admin
can :manage, :all
else
can :access, :rails_admin
can :dashboard, :all
can :index, :all
end


※変更後は、サーバの再起動も忘れずに。^o^)v  


Posted by kanedayo at 17:28Comments(0)

環境変数を利用してパスワードをgitに残さない方法

2014年07月09日

■まとめ
git管理下から外した設定ファイルにパスワードを保存。
アプリ起動時に、設定ファイルを読み込む。以上!!
dotenv-railsを使ったほうが便利そうです。2014/07/16

■参考URL
http://yss44.hatenablog.com/entry/2013/11/30/135446
http://qiita.com/ka_/items/a19f65628bdc213fc8f5

■ vim config/application.rb
ENV.update YAML.load_file('config/settings.yml')[Rails.env] rescue {}


■ vim config/settings.yml
インデント崩れに注意。
defaults: &defaults
email: dev@example.com
secret: foo123

development:
<<: *defaults

test:
<<: *defaults
email: test@example.com

production:
<<: *defaults
email: info@example.com
secret: 321oof


■ vim .gitignore
config/settings.yml
  


Posted by kanedayo at 22:46Comments(0)

画像アップローダー(2) carrierwave

2014年07月08日



■まとめ
rmagicのインストール方法は、こちらを参考に。
記事:「windows7にrmagickをインストールしました。」
今回のコードは、mini_magickでも動いた。
アップローダを生成すれば、その名前(今回はavatar)でMVCを整えていく。
モデル⇒migrationでcolumnを追加してmount。
コントローラ⇒strong-parametersに追加。
ビュー⇒_format.html.erbを適宜修正することで、
     「インスタンス.avater」で画像のURLが取得できる。
     「インスタンス.avater.thumb」でサムネイルのURLが取得できる。
その他にも、
 デフォルトのイメージの設定(def default_url)
 URL指定による画像の取り込み(:remote_avatar_url)
など出来ます。(^o^)v
■アプリ雛形の作成
rails new uploader_carrierwave
cd uploader_carrierwave
vim Gemfile
#gem 'rmagick' # NG ?!
gem 'rmagick', :require => 'RMagick' # 「stack level too deep」対策
#gem 'mini_magick' # rmagickの軽量版
gem 'carrierwave'
bundle install
rails g scaffold user name
rake db:migrate


■carrierwaveの設定
# console
rails g migration add_avatar_to_users avatar:string
rake db:migrate
rails g uploader avatar
# => app/uploaders/avatar_uploader.rb


# app/uploaders/avatar_uploader.rb
class AvatarUploader < CarrierWave::Uploader::Base
include CarrierWave::RMagick
#include CarrierWave::MiniMagick

storage :file

def default_url
ActionController::Base.helpers.asset_path("fallback/" + [version_name, "default.png"].compact.join('_'))
end

version :thumb do
process :resize_to_fill => [50,50]
end

def extension_white_list
%w(jpg jpeg gif png)
end
end



# app/models/user.rb
class User < ActiveRecord::Base
mount_uploader :avatar, AvatarUploader
validates :name, presence: true
end


# app/controllers/users_controller.rb
private
def user_params
params.require(:user).permit(:name,:avatar,:remove_avatar)
end


# app/views/users/_form.html.erb
# 追加
<%# form_for @user do |f| %>
<%= form_for @user, :html => {:multipart => true} do |f| %>
# 追加
<div class="field">
<%= f.label :avatar %><br/>
<% if @user.avatar? %>
<%= image_tag @user.avatar.thumb %>
<%= f.hidden_field :avatar_cache if @user.avatar_cache %>
<label><%= f.check_box :remove_avatar %>Remove avatar</label><br/>
<% end %>
URL:<%= f.text_field :remote_avatar_url %><br/>
File:<%= f.file_field :avatar %><br/>
</div>


# app/views/users/show.html.erb
# 追加(抜粋)
<% image_tag @user.avater %>


# app/views/users/show.html.erb
# 追加(抜粋)
<%= image_tag user.avatar.thumb %>


■FAQ
「ActiveRecord::PendingMigrationError 」
rake db:migrateのし忘れ。。。

「Carrierwave undefined method `avatar_changed?' for User」
http://stackoverflow.com/questions/20285552/carrierwave-undefined-method-avatar-changed-for-user

「stack level too deep」
大文字と小文字を区別しないファイルシステム(=windows)で起きるエラーみたい。
Gemfileで「gem 'rmagick', require: 'RMagick'」でOK。
http://qiita.com/eleven_2012/items/eb4099555358b770915b
http://stackoverflow.com/questions/22206350/stack-level-too-deep-when-using-carrierwave-versions


  


Posted by kanedayo at 16:30Comments(0)

windows7にrmagickをインストールしました。

2014年07月06日



rmagickがどうにかインストールできたのでメモ。
ポイントは、
* 32bit版を使う。
* バージョンも注意。6.8.7-8-Q16-x86-dllはOKでした。
* インストール時に、ライブラリの追加。


■エラーメッセージ
C:\Sites>bundle install


■ImageMagickのインストール
最新版(6.8.9-5)は64bit版も32bit版はダメでした。
ImageMagick-6.8.7-8-Q16-x86-dll.exeを使ってください。
インストールオプションでライブラリの追加を選択することを忘れずに~
http://ftp.sunet.se/pub/multimedia/graphics/ImageMagick/binaries/ImageMagick-6.8.7-8-Q16-x86-dll.exe

■rmagickのインストール
gem install rmagick --platform=ruby -- --with-opt-lib=c:\ImageMagick-6.8.7-Q16\lib --with-opt-include=c:\ImageMagick-6.8.7-Q16\include


■確認方法
dos> gem list rmagick
irb> require 'rmagick'


■参考URL:感謝!
http://creators-delight.blogspot.jp/2012/07/rubyonrails3rmagick-for-windows7.html
http://www.ownway.info/Ruby/index.php?rmagick%2Fhowtoinstall%2Fwindows

最新版を試したい場合は、この方法かな。
http://uisteven.blog.fc2.com/blog-entry-37.html  


Posted by kanedayo at 21:59Comments(0)