Ruby

こんにちは、しきゆらです。

今回はExcelで書き出したCSVファイルをRubyで読み込むときに躓いたところをメモしておきます。

 

状況

Excelで管理していたとあるデータをCSVで書き出し、Rubyで変換しつつDBへ突っ込もうと思っていました。

CSVファイルは、先頭にヘッダーとなるタイトルをつけていて、2行目からが実質のデータでした。

 

ExcelでCSVファイルを吐き出す

Excelで書き出すことができるCSVファイルは2種類あります。

  • 「一般的な形式」の中にある「CSV UTF-8 (コンマ区切り) (.csv)」
  • 「特別な形式」の中にある「CSV (コンマ区切り) (.csv)」

「特別な形式」では、文字コードがShift-JISのため「一般的な形式」の方で吐き出しました。

あとは、RubyのCSVライブラリで読み込んでforeachなどですべての行を読み込めば終わり。

・・・と思っていた時代が私にもありました。

このUTF-8が曲者でした。

 

詳しくは、続きから。

 

Ruby

こんにちは、しきゆらです。

今回は、タイトル通りですが、GoogleのAPIを利用したアプリケーションを作るときの流れを見ていきます。

大まかな流れとしては、以下のとおりです。

  • Google Cloud Consoleから、APIを有効にする
  • APIを叩くための認証を通す
  • 認証情報をもとに、APIを叩く

では、それぞれ見ていきます。

Ruby,Slack

こんにちは、しきゆらです。

前回・前々回とSlackとのやり取りをさっくりと確認していました。

前回の記事

【Ruby】Slack Botことはじめ

前々回の記事

【Ruby】Slack Appことはじめ

タイトルが似ているので間違えそうですね・・・。

Slack AppがBotも含んだ広い意味でのSlack上で動くアプリ全般を表しています。

Slack BotはAppの中でもBotとして振る舞うようなアプリを指しています。

 

今回は、Slack Botでもう少し複雑なこともしたいので、RTMを利用してみます。

 

RTMとは?

タイトルにもある通り、Real Time Messaging APIの略で

Slackと常に接続し、ユーザの動きを監視して特定の行動が起こったら反応する、というようなことができるAPIです。

例えば、

  • ユーザが入力を始めたとき、通知する
  • メッセージが変更されたとき、前後の差分を表示する

などができそうです。

この辺は発想次第でなんとでもできそうですね。

 

では、実際に使って行きます。

 

Ruby,Slack

こんにちは、しきゆらです。

前回はSlackのAppを作ってみました。

前回の記事

【Ruby】Slack Appことはじめ

 

今回は、Botを作っていきます。

といっても、前半は前回の記事とほぼ同じになります。

詳しい手順は、続きからどうぞ。

 

Ruby,Slack

こんにちは、しきゆらです。

今回は、最近話題のSlackのAppを作ってみます。

 

Slackは、最近色んな所で使われているチャットツールです。

こいつは、ただのチャットツールではなく、様々なAPIやサービスと連携できたり

アプリとして自分で拡張することができるなど、自由度がかなり高いツールとなっています。

 

いろんな事ができるようAPIも公開されています。

これを利用して自分用のAppを作ってみましょう。

 

Ruby

こんにちは、しきゆらです。

最近はRailsと戯れています。

今回は、タイトルの通りRailsの仕組みを使いながら、CSSをページごとに切り替えたいときの方法をメモしていきます。

 

Railsさんは、たくさんあるJSやCSSをガッチャンコして一塊にまとめる、という機能を持っています。

application.js/cssあたりがそのもととなるファイルです。

確かに、1回のリクエストでデータをもらえる上にキャッシュしておけば何度も取得しなくても良くなります。

 

しかし、JSもCSSもページごとに分けてほしい場合もありますよね。

例えば、ページごとに同じクラス名を割り当てている場合やwindow.onloadなどです。

これらをまとめられてしまうと、意図しない挙動をしてしまいます。

これをページごとに切り替える方法をまとめていきます。

今回は、CSS編です。

JS編は次回です。

 

Mac,Ruby,環境構築

こんにちは、しきゆらです。

 

Railsアプリをデプロイする時は、Capistranoというツールを使うのが一般的なようです。

これは、gitにRailsアプリを公開しておくと、それをもとにしてデプロイ作業をやってくれる便利なものです。

早速、使い方を見ていきます。

 

 

Ruby

こんにちは、しきゆらです。

今回は、Ruby用のテストフレームワークの一つであるRSpecに触れてみたのでメモしておきます。

 

なお、RSpecに関する書籍等もあるので、そちらも読むと良いかもしれません。

少し古いですが、日本語の本。

https://amzn.to/2TvSQY3

 

新し目ですが、英語の本(ほしい)。

https://amzn.to/2Tz2tp4

ほしい本リストに追加しておこう・・・。

 

さて、本当に基本的なところを触っていこうと思います。

HTML/CSS,Ruby,環境構築

こんにちは、しきゆらです。

今回は、HTMLのメタ言語であるSlimに触れてみます。

 

これまで、素のHTMLを書いていました。

HTMLは〈〉をたくさん書くのが面倒であったり、

構造の変更や少し複雑な要素を作る時はとても不便なことが多くありました。

 

しかし、調べてみると便利なものがたくさんありました。

今回出てくる「メタ言語」と言うものです。

 

メタ言語

簡単に言えば、ある言語を書くために

  • 少しだけ機能を拡張
  • 書きやすい構文
  • もとの言語に変換可能

という特徴を持つものです。

 

有名なものでは、CSSに対するSassがメタ言語に当たります。

Slimの他にも様々なものがあります。

  • pug: JS製。昔はJadeという名前だった。
  • ERB: Rubyの標準添付。特にインストールしなくても使える。
  • Haml: Ruby製。Slimとほぼ同じ機能を持つ。
  • Slim: Ruby製。今回触る。

 

今回は、HTMLのメタ言語の一つであるSlimを触っていきます。

 

Linux,Raspberry Pi,Ruby,エディター,環境構築

こんにちは、しきゆらです。

前回の記事は、RaspbianからCentOSに乗り換えたお話でした。

【Raspberry Pi】CentOS7をインストールする

 

その記事の中で、あまり使い慣れていないviさんと一悶着もありました。

どうしても使い慣れた環境を作りたい・・・。

 

ということで、今回はEmacsやRubyをインストールしていきます。

どれも、自前でコンパイルしていきますよ。