RedisをMacで使ってみる
R言語 - CentosにRをインストール
RailsのアプリとRのプログラムを連携するためCentosにRをインストールしてみました。
Rをインストール
$ sudo yum install R [sudo] password for kuru: Loaded plugins: fastestmirror, security Setting up Install Process Determining fastest mirrors ・ ・ ・
R Studio Serverをインストール
https://www.rstudio.com/products/rstudio/download-server/
CentOSのバージョンごアーキテクチャの確認
$ cat /etc/redhat-release CentOS release 6.6 (Final) $ arch x86_64 $
R Studio Serverをダウンロード
$ wget https://download2.rstudio.org/rstudio-server-rhel-1.1.442-x86_64.rpm --2018-04-16 17:30:24-- https://download2.rstudio.org/rstudio-server-rhel-1.1.442-x86_64.rpm Resolving download2.rstudio.org... 13.32.52.104, 13.32.52.17, 13.32.52.29, ... Connecting to download2.rstudio.org|13.32.52.104|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 45677252 (44M) [application/x-redhat-package-manager] Saving to: `rstudio-server-rhel-1.1.442-x86_64.rpm' ・ ・ ・
R Studio Serverが起動しているか確認
$ sudo rstudio-server verify-installation rstudio-server stop/waiting rstudio-server start/running, process 21909
R Studio Serverにアクセスしてみる。
ブラウザでポート番号 8787でアクセスします。
R Studioのログイン画面が表示されるのでログインする。 ※ログインのアカウントはサーバーのアカウント
ブラウザにR Studioの画面が表示されます。
Macが再起動を繰り返す現象
ウィルスバスター 無料体験版をインストール中にMacBookがが固まったので再起動すると再起動を繰り返す現象が発生した。 MacBookを閉じても再起動を繰り返す。
Shiftキーを押したまま起動するとセーフモードで起動するしたので、 その後、通常起動してみるが再起動を繰り返してしまう。
ウィルスバスターをインストール中にかたまったので、その辺が怪しいと考えてウィルスバスター関連のファイルを探すと /Library/Application Support/TrendMicroが存在したので 試しに/Library/Application Support/TrendMicroを削除し再起動してみると正常起動できた。
正常に起動できたので、ウィルスバスター をもう一度インストールしていると 勝手にMacが再起動してしまい、また再起動を繰り返す。
もう一度、セーフモードで起動して/Library/Application Support/TrendMicroを削除!
その後、通常起動させると正常に起動した。
ウィルスバスターやめた。
ウィルスバスターをインストールるするために他のアンチウィルスソフトを削除してしまったので またインストールしないと...
ActiveRecordのenum
ActiveRecordのenumが便利なので最近よく使っています。 例えば、Spotモデルに下書き(draft)と公開(published)の状態をもつステータスを追加するとします。
Spotモデルにstatusカラムを追加するマイグレーションを作成
rails g migration add_status_to_spot status:integer
Spotモデルにenumを追加
class Spot < ApplicationRecord belongs_to :prefecture belongs_to :area has_many :spot_photos has_many :spot_galleries validates :title, presence: true validates :prefecture_id, presence: true validates :area_id, presence: true validates :latitude, numericality: true validates :longitude, numericality: true enum status: { draft: 0, published: 1} end
statusの値をenumで定義します。 statusが0の場合はdraft、1の場合はpublishedにします。
statusの判定
rails consoleで動作を確認してみます。
$ rails c Running via Spring preloader in process 67570 Loading development environment (Rails 5.0.5) irb(main):001:0> spot = Spot.new => #<Spot id: nil, title: nil, prefecture_id: nil, address: nil, overview: nil, des cription: nil, area_id: nil, created_at: nil, updated_at: nil, url: nil, title_kana : nil, address_description: nil, latitude: nil, longitude: nil, category_id: nil, i dentifier: nil, status: nil> irb(main):002:0> irb(main):003:0* spot.status = 0 => 0 irb(main):004:0> spot.draft? => true irb(main):005:0> spot.published? => false
この例では、soptのstatusに0を代入しています。 この場合、spot.draft? でstatusの値が0なのか、spot.published? でststusの値が1なのかを判定できるようになります。 ststusに0を代入しているので、spot.draft? はtrueになっています。
次にspot.statusに1を代入してみます。
irb(main):017:0* spot.status = 1 => 1 irb(main):018:0> spot.draft? => false irb(main):019:0> spot.published? => true
spot.draft?はfalseになり、spot.published?はtrueになります。 このようにstatusの状態を判定します。
statusのハッシュ
下記のように属性名の複数形でenumで定義したハッシュが取得できます。
irb(main):032:0* Spot.statuses => {"draft"=>0, "published"=>1}
statusは数値ではなく文字列を返す
Spotのstatusはintegerですが、下記のようにspot.statusは文字列を返します。
irb(main):034:0* spot.status = 0 => 0 irb(main):035:0> spot.status => "draft" irb(main):036:0> spot.status = 1 => 1 irb(main):037:0> spot.status => "published" irb(main):038:0> spot.status.class => String
enumで指定した値以外は設定できない
enumで定義した値以外を代入すると例外が発生します。
irb(main):039:0> spot.status = 2 ArgumentError: '2' is not a valid status
写真がおもしろい
最近、写真にハマってます。
高校の頃は写真部で20代の頃までいろいろ撮ってましたが、長い間、カメラから離れていました。
写真は撮っていましたが、手軽なこともありiPhoneで撮影することが多くなっていました。
昨年、RICOHのTHETAを購入し360°カメラにハマり、今年になってOLYMPUSのOM-Dを購入し出かける時はいつも持ち歩いています。
本日、荒川の土手から撮影した夕日
ランニング中にTHETAで撮影
昨年、THETA用のアプリを開発しようと思い購入しましたが、今では撮影する方にハマってしまいました。
昨年、始めたアプリ開発は一時停止中ですが、360°も含め写真を使った自社プロダクトの企画も進めています。
公開はまだ先になりそうです。
しばらく自社プロダクトの開発は止まっていましたが、少しずつですが再開しています。
まず、手が回っていなかったTalkingBookシリーズなどのiOSアプリのバージョンアップ、10Yearsのウェブ版とiOSアプリのバージョンアップを進めています。
アトトックのプロダクト開発再開です。
コーポレートサイトもリニューアル中です。
アトトックラボもリニューアルし開発ネタなど発信していきます。
また、いろいろ動き出してます。
あと、写真のこと勉強し直してます。
https://www.amazon.co.jp/dp/4844134213