Ruby,Windows,環境構築

2020/08/19 追記

こちらの記事が割と検索に引っかかってみてくれているようなので追記しておきます。
最近関連した記事を追加したので、よろしければこちらもどうぞ。
【Ruby/Win】Windows上のAtomからWSL2上のrubocopを利用する 2020年版

本文

こんにちは、しきゆらです。
今回は、Windows上でRubyの開発環境を整える方法をメモしておきます。

以前までは、DockerやWSLを使って開発ができそうな状態までをメモしてきました。
しかし、少し前に画期的なものがMicrosoftから発表されました。
そう、WSL2です。

以前までのWSL(以下、WSL1)から大きく改善され、個人的には普段使いできるのでは?という状態までなっています。
今回は、WSL2を導入してWindows上でRuby環境を構築、rubocopで変なコードを怒ってもらうところまでをまとめます。

Windows,環境構築

こんにちは、しきゆらです。
今回は、Windowsで開発環境を整えていきます。
Windows環境での開発環境としてWSLを使って環境を整えていこうと思います。

 

Windows,環境構築

こんにちは、しきゆらです。
今回は、Windows環境にDockerを導入していきます。

環境は、前回まで作成していた自作PC環境です。
詳しい内容は、「【Win】なんとなくデスクトップPCを組んでみた パーツ選び編」を参照ください。

 

はじめに

WindowsでDockerを利用するには、Pro版のWindows10を用いるのが一般的なようです。
しかし、Home版ではDockerを使えないか、といえばそうでもありません。
皆さんおなじみ、VirtualBoxを使ってそれっぽく使うことができるようです。

まずは、Windows10 home環境にDockerをインストールして実行してみます。
基本は、Docker公式サイトにある記事をもとに進めていきます。
https://docs.docker.com/toolbox/toolbox_install_windows/

 

Mac,環境構築

こんにちは、しきゆらです。
今回は、ターミナルのシェルをbashからfishへ変更したので、その方法などをメモしておきます。
シェルに関しては、下記サイト等調べると様々な情報が出てくるのでそのへんで確認してみてください。

  1. シェルとは・・・

シェル(shell)とは、UNIX系OSでコマンド操作の基本的なルールを示すもののことです。

シェル入門

今回は、複数あるシェルの中でもfishというものを導入していきます。

Mac,環境構築

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

今回はGithubを使うための下準備の部分をメモしておきます。

 

主な内容は、以下の通り。

  • Githubとの連携のための公開鍵作り
  • 公開鍵の登録方法
  • ssh/configファイルの設定

 

公開鍵づくり

この部分は、Githubに限らずSSH接続するような場合によく行う作業なので、覚えておきたい内容ですね。

以下、全てMac環境で行っていきます。

 

以下コマンドで、鍵の生成を行います。

ssh-keygen -t rsa -b 4096

最低限rsa指定は必要です。

「-b 4096」部分に関しては、鍵のbit数になります。

このサイズは、簡単に言えば鍵の強度の部分になります。

参考

SSHでリモートホストに接続する前にやっておくと便利なことは? ssh-keygenコマンド – @IT

2017年版 SSH公開鍵認証で使用する秘密鍵ペアの作り方 – Qiita

 

今は2048bitがデフォルトで生成されるようですが、計算機性能が上がっているので高めに指定しておくと良いかと。

 

実行したときの流れは以下の通り。

$ ssh-keygen -t rsa -b 4096
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/ユーザ名/.ssh/id_rsa): Enter passphrase (empty for no passphrase): 
Enter same passphrase again:

「Enter〜」の部分は入力を求められます。

面倒であれば3回何も入力せずEnterを押すと終わり。

 

重要なのは、一番はじめのファイル名。

デフォルトでは「/Users/ユーザ名/.ssh/」という場所にid_rsaとして生成されます。

しかし、複数の鍵を生成する場合は名前をつけて分けておく必要があるでしょう。

ということで、今回はファイルを「github_rsa」として生成しました。

 

これにて、公開鍵づくりは完了です。

 

次からは、作成した鍵をGithubへ登録していきます。

 

Mac,環境構築

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

今回は、Githubにあるブランチのすべてをローカルリポジトリへpullしてくる方法を知ったのでメモしておきます。

 

状況

まずは、こんなことをしようと思った経緯をメモしておきます。

先日、メインで利用しているMacbook ProのOSアップグレードをしました。

はい、「High Sierra」から「Mojave」へのアップグレードです。

 

毎回、OSの名前が変わるたびにクリーンインストールしていた私。

今回も例に漏れず、アップグレード後にクリーンインストールしました。

SSDによりPC本体に記録できる容量がHDDに比べて少なくなりましたが、オンラインストレージ等のおかげでほぼ不便なく利用できています。

Mac標準のiCloud、Windowsでも利用しているOneDrive、普段遣いのDropboxと3つを併用しています。

基本的なファイルは、これらの場所においているため、クライアントソフトをインストールすればすぐに利用できるようになります。

 

開発しているプログラムも、殆どはGit/Githubで管理しています。

そこで、クリーンインストールした後homebrewでGitをインストール。

あとはGithubからリポジトリをcloneしてくれば全て解決。

・・・と思ったら、デフォルトでクローンしてくれるのはmasterブランチだけなんですね。

知らなかった。

 

・・・長々と書いてきましたが、ここまでが前置き。

Githubにあるmaster以外のブランチを全てローカルリポジトリにpullしたい。

ということで本編です。

 

解決方法

本編のほうが短いです。

なんと3回コマンドを打つだけなので。

 

調べてみると、こんな記事が。

全部ランチをリモートリポジトリからpullする – Qiita

https://qiita.com/muraikenta/items/e590a380191971f9c4c3

まさにほしい情報でした。

古い記事でしたが、この手順で完了できました。

$ for remote in `git branch -r`; do git branch --track ${remote#origin/} $remote; done
$ git fetch --all
$ git pull --all

何をやっているのかよくわかりません。

git branch -rでリモートのブランチを取得し、--trackの部分はわかりませんが、取得したブランチ全てを指定しているのかな?

そして、fetchとpullして取得。

・・・わからん。

 

まとめ

調べてみると、やはり似たようなことをしたい人がいて一安心。

GitやGithubはそれなりに使っていましたが、未だによくわからない部分が多いです。

特に、pullとかcloneとか。

プルリクエストもいまいちわかっていません。

まぁ、基本的に1人で使うことが多いので使う部分が限られるのですが・・・。

 

では、前置きが本編の記事でした。

今回はここまで。

おわり

Mac,Ruby,環境構築

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

 

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

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

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

 

 

JavaScript,Mac,環境構築

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

前回、Raspiを使ってダッシュボードのようなものを作りたいということで準備をしていました。

 

そこからかなり間が空いてしまいました。

さっくりと作ろうとしている環境をメモしつつゆっくり進めていこうと思います。

ということで、今回は開発のための環境づくりとしてフロントエンドでよく使われるWebpackを使って見ようと思います。

 

Linux,Raspberry Pi,環境構築

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

Raspberry Piネタは、これまでずっとインストールする系のものばかりですが、今回もそれです。

 

これまで、Raspbian => CentOS7 とインストールしてきました。

前回のCentOSでは、GUIは不要ということでEmacsをコンパイルしたりしましたが

やはりGUIが欲しい。

というか、自分用のサイネージとして利用しようと思った次第です。

[amazonjs asin="B01GZXMIUU" locale="JP" title="Kuman 7インチ Raspberry Pi用ディスプレイ LCD 800*480解像度 タッチスクリーン TFTモニタ 7インチタッチパネル+タッチペン+スクリューパック+CD資料 Raspberry Pi 3 2 Model B B+ A A+ 用ディスプレイ ラズベリーパイ SC7B"]

 

ということでGUI付きでインストールしてみます。

これまでと同じものをインストールしても面白くないということで

Raspberry Piでも動くというFedoraを入れてみました。

 

詳しくは、続きからどうぞ。

 

HTML/CSS,Ruby,環境構築

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

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

 

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

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

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

 

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

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

 

メタ言語

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

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

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

 

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

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

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

 

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