20200523のMacに関する記事は12件です。

Django2.0系のインストールに詰まった話【初学者が参考書片手にpython学習】

はじめに

大高隆・著「動かして学ぶ!Python Django開発入門」を使用して
python・Djangoの学習を始めた初学者です。

ruby・railsを使用して4ヶ月ほどプログラミングの勉強をしていましたが、
エンジニア転職にあたり、pythonを使用することになったのでこの本を片手に勉強を始めました。

ド級の素人なので、補足・ご指摘等コメントいただけると大変助かります。

概要

【参考書該当箇所】
Chapter4 04 Djangoをインストールする(Kindleの位置No.1950-1951)

【詰まった点】
python仮想環境作成後、Djangoを参考書の指定コードにてインストールしようとしたところ、エラー発生。

【指定コード】

$ pip install django==2.2.2

【エラー内容】

DEPRECATION: Python 2.7 reached the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 is no longer maintained. A future version of pip will drop support for Python 2.7. More details about Python 2 support in pip, can be found at https://pip.pypa.io/en/latest/development/release-process/#python-2-support
Defaulting to user installation because normal site-packages is not writeable
ERROR: Could not find a version that satisfies the requirement django==2.2.2 (from versions: 1.1.3, 1.1.4, 1.2, 1.2.1......)
ERROR: No matching distribution found for django==2.2.2

考察

ほう、どうやらpython2系は終わりを迎えたようだ。(それすら知らなかった...)
文献内にも以下のような記述を発見。

Pythonのバージョンは大きく2系(2.X)と3系(3.X)に分かれます。この2つは大きく仕様が異なり、2系ではDjangoのバージョン2.0以降が動きませんので必ず3系のバージョンをインストールしてください。

ちなみにバージョン指定をしないでDjangoをインストールすると、、、

$ python -m django --version
1.11.29

そりゃそうだ。python2系じゃDjango2.0以降は動かないって書いてあるし。

あれ、でもpython3ってインストールしたことない?2系なの??

$ python --version
Python 2.7.16

...(^ω^)?

$ python3
Python 3.7.7 (default, Mar 10 2020, 15:43:33) 
[Clang 11.0.0 (clang-1100.0.33.17)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> 

...(^ω^)???????
何が起きていることやら。

解決策

pip3にてコマンドを実行したところ、

$ pip3 install django==2.2.2

同じように、pythonではなく、python3でバージョンを確認したところ、

$ python3 -m django --version
2.2.2

上手くできたみたいです。よかったよかった。

仮説

ちなみに上記、pythonでバージョン確認をすると、

$ python -m django --version
1.11.29

となりました。

ポイントとしては、
・python両バージョンとも環境としてはあるよ
・[python2.7 → Django1.11.29],[python3.7.7 → Django2.2.2]がそれぞれ対応しているよ
・python2系下ではDjango2系は動かないからpython3系下でインストールしてね
ということだったのだろうか。

どうやら調べてみると、macだとpython2.7がデフォルトらしい。

macOSには最初からバージョン2系(2.X)のPythonがインストールされていますがDjango2.0以降には使えないので別途バージョン3系(3.X)をインストールする必要があります。
(Kindle の位置No.1879-1880)

よく読むとちゃんと文献にも書いてありました。

ということで、下記を参考にバージョン変更をするのが良いのかな?
MacにPython3をインストールしようとしたら2.7だったのでバージョン変更したよ

【Mac】Python のデフォルトをPython 2.7.xからPython 3.x.xにきちんと切り替えるんだ!戻してたまるか

もし、間違ってるぞ!!という場合は、教えていただけると大変ありがたいです。

参考文献

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

macOSからリモートデスクトップでWindows10,WindowsServerに接続する

概要

本書ではmacOSからリモートデスクトップで、同一ネットワークのWindows10,WindowsServerに接続します。

動作環境

  • macOS : macOS Catalina (MacBookAir2019)
  • Windows10 : Windows10 Pro 1909 (dynabook R734)
  • WindowsServer : WindowsServer2019 (Windows10のHyper-V上にインストール)

1. Windowsとの接続確認

macOSからWindows10やWindowsServerのIPアドレスにpingを打ち、ネットワークが繋がっていることを確認する。

スクリーンショット 2020-05-23 16.56.47.png

2. Windows側の準備

Windows10

「設定」→「システム」→「リモートデスクトップ」を選択し、「リモートデスクトップを有効にする」を「オン」にする。

スクリーンショット 2020-05-23 17.01.03.png

WindowsServer

「サーバーマネージャー」を起動し、「このローカルサーバーの構成」→「リモートデスクトップ」設定画面を開く。その後、「このコンピューターへのリモート接続を許可する」を選択する。

スクリーンショット 2020-05-23 17.07.11.png

3. Windowsへのリモートデスクトップ

  1. App Storeを起動し、「Microsoft Remote Desktop」をインストールする。
    スクリーンショット 2020-05-23 16.55.40.png

  2. 「Microsoft Remote Desktop」を起動し、「Add PC」をクリックする。
    スクリーンショット 2020-05-23 16.57.12.png

  3. 「User account」のメニューバーをクリックし、「Add User Account」をクリックする。
    スクリーンショット 2020-05-23 16.58.24.png

  4. 「Username」「Password」にWindowsのユーザー名とパスワードを入力し「Add」をクリックする。
    スクリーンショット 2020-05-23 16.58.56.png

  5. 「PC name」にWindowsのホスト名やIPアドレスを入力する。その後、「Connect to an admin session」にチェックをいれ、「Save」をクリックする。
    スクリーンショット 2020-05-23 17.00.10.png

  6. 設定情報を保存すると接続先のアイコンが作成される。接続先のアイコンをダブルクリックする。
    スクリーンショット 2020-05-23 16.59.11.png

  7. 警告画面が表示されるが「Continue」をクリックする。
    スクリーンショット 2020-05-23 17.00.19.png

  8. リモートデスクトップ先のWindows画面が表示されたこと、操作ができることを確認する。
    スクリーンショット 2020-05-23 20.00.46.png
    スクリーンショット 2020-05-23 20.06.53.png

最後に

macOSに「Microsoft Remote Desktop」をインストールすることでWindows10やWindowsServerに接続することができます。これによりmacOSから同一ネットワーク上に存在するWindows端末を操作することができます。

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

Jenkinsのセットアップ (mac / MAMP環境)

概要

MAMP環境のmacにインストールしたJankinsのセットアップを行います。

Jenkinsのインストールについては、 こちら の記事を参照してください。
MAMP環境のインストールは、 こちら を参照してください。

Jenkinsの起動

ターミナルより次のコマンドでJenkinsを起動します。

brew services start jenkins

また、起動途中に以下のようなメッセージでセットアップを進めるために必要なパスワードが表示されるので、メモしておきます。

Jenkins initial setup is required. An admin user has been created and a password generated.
Please use the following password to proceed to installation:

パスワード文字列

Jenkinsへアクセス

起動後、ブラウザで次のURLにアクセスすることでjenkinsへアクセスすることができます。

http://localhost:8080/

Jenkinsのセットアップを開始

Jenkinsへアクセスするとセットアップ手続きが始まります。

Administrator passwordの欄に起動時に表示されていたパスワードを入力し、「Continue」ボタンで次に進みましょう。
FireShot-Capture-029-Sign-in-Jenkins-localhost-1.png

インストール方法の選択

続いてインストール方法の選択をします。

通常はおすすめのプラグインも自動導入してくれる、「Install suggested plugins」で良いかと思います。

また、プラグインについては後で追加、削除も出来ます。

ただ、どんなプラグインがデフォルトで追加されるのか確認したいので今回は「Select Plugins to install」で進めてみました。

インストールpluginの選択

プラグインの選択画面です。

おすすめのプラグインがすでに選択されているので、右上の「Selected」をクリックする事で、選択されているもののみの表示絞り込みができます。
FireShot-Capture-030-SetupWizard-Jenkins-localhost.png
デフォルトで以下のものが選択されていました。
スクリーンショット-2019-06-09-13.57.31.png
FireShot-Capture-031-SetupWizard-Jenkins-localhost.png
FireShot-Capture-032-SetupWizard-Jenkins-localhost.png
とりあえず、確認だけなのでそのまま右下の「Install」ボタンよりインストールを開始します。

インストール中

インストール中は以下画面が表示され、状況が確認できます。

完了するまでしばらく待ちましょう。
FireShot-Capture-034-SetupWizard-Jenkins-localhost.png

管理ユーザーの作成

インストールが完了すると管理ユーザーの作成画面となります。

必要情報を入力し右下の「Save and Continue」で次に進みます。
FireShot-Capture-035-SetupWizard-Jenkins-localhost.png

urlの設定

次にURLの設定画面が表示されます。

ここを変更するとアクセスURLが変更できるのかな?

よくわからなかったので、そのまま右下の「Save and Finish」で次に進みました。
FireShot-Capture-036-SetupWizard-Jenkins-localhost.png
jenkins is ready! の画面が表示されるのでそのまま「Start using Jenkins」ボタンを押して次に進みます。
FireShot-Capture-037-SetupWizard-Jenkins-localhost.png

Jenkins画面の表示

以下画面が表示されればインストール完了です。

お疲れ様でした!
FireShot-Capture-038-ダッシュボード-Jenkins-localhost.png

Jenkinsの停止

そのままだと裏でjenkinsサービスが起動し続けます。

サービスなので普段は起動しっぱなしにすると思いますが、止めておきたい場合は以下コマンドで停止ができます。

brew services stop jenkins
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

macにjenkinsをインストールする

概要

homebrewを利用して、macにjenkinsをインストールします

homebrewのインストール

homebrewとは、mac用のパッケージ管理システムです。

以下、公式サイトにも書かれていますが、ターミナルで次のコマンドを実行しインストールします。

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

■ macOS 用パッケージマネージャー — Homebrew
https://brew.sh/index_ja.html

AdoptOpenJDKのインストール

JenkinsのインストールにJDKが必要なため、次のコマンドでAdoptOpenJDK8をインストールします。

brew cask install homebrew/cask-versions/adoptopenjdk8

Jenkinsのインストール

いよいよjenkinsのインストールです。
次のコマンドでインストールしましょう。

brew install jenkins

以上でjenkinsのインストールは完了です。

次の記事で、起動からセットアップまで進めたいと思います。

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

macにJenkinsをインストールする

概要

homebrewを利用して、macにjenkinsをインストールします

homebrewのインストール

homebrewとは、mac用のパッケージ管理システムです。

以下、公式サイトにも書かれていますが、ターミナルで次のコマンドを実行しインストールします。

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

■ macOS 用パッケージマネージャー — Homebrew
https://brew.sh/index_ja.html

AdoptOpenJDKのインストール

JenkinsのインストールにJDKが必要なため、次のコマンドでAdoptOpenJDK8をインストールします。

brew cask install homebrew/cask-versions/adoptopenjdk8

Jenkinsのインストール

次のコマンドでインストールしましょう。

brew install jenkins

以上でJenkinsのインストールは完了です。

次の記事 で、起動からセットアップまで進めたいと思います。

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

MAMP環境のMacにWordPressをインストールする

概要

MacにWordPressをインストールする手順の説明です。
環境としては、MAMPがインストールされている事が前提となります。

MAMPのインストールについては こちら の記事を参照ください。

WordPressについて

WordPressとはCMS(コンテンツ・マネジメント・システム)の一種で、フリーで利用ができ、比較的簡単にブログを作ったり、サイトの構築が行えるシステムで、CMSのシェアとしてもかなり大きいようです。

導入

WordPressのインストール

WordPressは以下の日本語公式サイトからダウンロードができます。

https://ja.wordpress.org/

公式サイト画面右上の「WordPressを入手」ボタンを押して、
20190601195547-1024x725.png
次のページの 「WordPress 5.2.1をダウンロード」からWordPressのzipファイルをダウンロードします。
(バージョンは時期により変わる可能性があります)
20190601195627-1024x725.png

WordPressの配置

以下zipファイルがダウンロードできたら、
20190601195738.png
ダブルクリックwordressフォルダが展開されます。
20190601195803.png
このファイルをWebサイトのフォルダに配置する必要があるので、MAMPを立ち上げて、場所を確認します。

まず、ツールバーのPreferencesを選択。
20190601200116.png
設定画面を開いたら、「Web Server」のタブを選択。

この画面にWebサイトのルートとなるフォルダが示されています。
(オレンジの下線部分)

「Show in Finder」ボタンを押すとFinderでその場所を開けます。
20190601200406.png
ただし、開くのは一つ上位の階層となっているので、htdocsを開きます。
20190601200736.png
そして開いた場所に、先程展開した「wordpress」フォルダをコピーします。
20190601201110.png
これで、wordpressの設置ができたので試しにブラウザでアクセスしてみます。

MAMPの設定を特に調整していなければ以下ローカルのURLでwordpressの初期画面が見れるはずです。

http://localhost:8888/wordpress/
20190601201620-1024x759.png
これでWordPressの配置が完了しました。

しかし、このままではまだセットアップを始めることができません。セットアップを進めるためには、MySQLのデータベースを予め作成しておく必要があります。

一旦この画面はおいておき、次にMySQLのデータベースを作成しましょう。

データベースの設定

データベースの設定はphpMyAdminと言うツールを使って行います。

まずはMAMPの初期画面を開きましょう。

起動画面の「Open WebStart Page」からも開くことができます。
20190601202156.png
「Open WebStart page」を押すと以下画面がブラウザで開くので、「TOOLS」メニューから「PHPMYADMIN」を選択します。
20190601202410-1024x713.png
phpMyAdminの画面が開きます。

初期設定では表記が英語になってると思いますが、日本語に変えたい場合はLangageから設定してください。
20190601203254-1024x806.png
続いて、データベースタブをクリックし、データベース一覧画面へ移動します。
20190601203415-1024x713.png
データベース一覧画面では、新規データベースが作成できます。

データベース名入力欄に任意のデータベース名を入れて作成ボタンでデータベースを作成しましょう。

ここでは「wordpress」とします。
20190601203520-1024x713.png
作成処理が行われたあと、一覧に「wordpress」が表示されていればデータベースの作成完了です。
20190601203939-1024x760.png

セットアップ

WordPressのセットアップ

データベースの準備ができたので、ようやくWordPressのセットアップの続きが行なえます。

もう一度WordPressの初期画面を確認してみます。
20190601204144-1024x759.png
それぞれの項目に必要な内容を入力し、送信でセットアップを続けることができます。

データベース名は先程作成したデータベース名を入力します。

ユーザー名とパスワードは、初期設定の場合は両方共「root」で設定されているかと思います。

ローカルで確認するだけならこれでも大丈夫ですが、外部に公開する場合は、初期設定だとデータベースに不正アクセスされるリスクが伴うので、必ず変更するようにしましょう。

ホスト名とテーブル接頭辞は特に理由がなければそのままで大丈夫です。

「送信」ボタンで次の画面へ進みます。
20190601204714-1024x713.png
インストール実行画面となるので、「インストール実行」ボタンでインストールを継続します。

続いてサイトの情報を入力します。
20190601204916-1024x760.png
サイトのタイトル、ユーザー名、パスワードをそれぞれ設定してください。

また、メールアドレスの設定も必須となっているので、入力してください。

検索エンジンでの表示は外部公開した際に係る内容ですが、googleなどで検索させたくない場合は、チェックを入れておくと良さそうです。

入力が完了したら、「WordPressをインストール」ボタンでインストールを続けます。

インストールが完了すると、ダッシュボード画面が表示されます。

これでWordPressのインストールは完了です!!
20190601205255-1024x760.png
インストールが完了した時点でデモのブログ投稿がなされているので、確認してみましょう。

左上のサイト名をクリックすると「サイトを表示」メニューが出てくるので、ここをクリックします。
20190601205507-1024x760.png
Hello world!画面が開けばセットアップの確認も完了です。

お疲れ様でした! m(_ _)m
20190601205626-1024x760.png

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

MAMPのインストール

概要

自宅サーバーを立ち上げるため、MAMPを利用してみました。

MAMP とは

  • Mac
  • Apache
  • MySQL
  • PHP

の略と言われてるようですが、Win版もあるし、公式ページに特にこの事についての記載が発見できず、正確な情報は不明です。

パッケージのダウンロード

まずは、MAMP公式サイトからパッケージをダウンロードしましょう。
https://www.mamp.info/en/
公式サイトのFreeDonwloadをクリック
20190601171820-1024x725.png
Downloadページで mac のパッケージを選択
20190601171827-1024x725.png
バージョンはアクセスのタイミングで変わるかと思いますが、インストール用の pkg ファイルがダウンロードできます。
20190601171957.png

インストール

pkgファイルをダブルクリックすると、インストール手続きが始まります。

使用承諾やインストール先の選択等がありますので、指示に従いながら勧めていきます。
20190601172320.png
20190601172654.png

MAMPの起動

インストールが完了したら、MAMP起動します。デフォルト設定でインストールをしていれば、アプリケーションフォルダになっていると思うので、Launchpad等から起動できます。

※PROとFREE版があるので、FREEの方を起動。
20190601173135-1024x576.png
起動したらコントロール画面が表示されるので、「Start Servers」をクリックしてApacheとMySQLを起動します。20190601173503.png
起動が完了すると、「Start Servers」が緑になりブラウザで初期ページが表示されます。
20190601173729.png
20190601173749-1024x869.png
以上でインストールは完了です。

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

MacにMAMPをインストールする

概要

自宅のMacにWebサーバーを立ち上げるため、MAMPを利用してみました。

MAMP とは

  • Mac
  • Apache
  • MySQL
  • PHP

の略と言われてるようですが、Win版もあるし、公式ページに特にこの事についての記載が発見できず、正確な情報は不明です。

インストール手順

パッケージのダウンロード

まずは、MAMP公式サイトからパッケージをダウンロードしましょう。
https://www.mamp.info/en/
公式サイトのFreeDonwloadをクリック
20190601171820-1024x725.png
Downloadページで mac のパッケージを選択
20190601171827-1024x725.png
バージョンはアクセスのタイミングで変わるかと思いますが、インストール用の pkg ファイルがダウンロードできます。
20190601171957.png

インストール

pkgファイルをダブルクリックすると、インストール手続きが始まります。

使用承諾やインストール先の選択等がありますので、指示に従いながら勧めていきます。
20190601172320.png
20190601172654.png

MAMPの起動

インストールが完了したら、MAMP起動します。デフォルト設定でインストールをしていれば、アプリケーションフォルダになっていると思うので、Launchpad等から起動できます。

※PROとFREE版があるので、FREEの方を起動。
20190601173135-1024x576.png
起動したらコントロール画面が表示されるので、「Start Servers」をクリックしてApacheとMySQLを起動します。20190601173503.png
起動が完了すると、「Start Servers」が緑になりブラウザで初期ページが表示されます。
20190601173729.png
20190601173749-1024x869.png
以上でインストールは完了です。

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

画面分割したりタブを複数使う方法いろいろ

環境

ホストの環境はmacOS Mojaveです。

自分が普段使っている、画面分割やタブを複数開く方法です。
それぞれ組み合わせて使うと便利です。
例えばターミナルのタブを分割->そのうち一つでsshした先のLinuxでtmuxを開く、(残念ながら)tmuxが入っていないLinuxではviの分割機能を使う...など。

ターミナル

特徴

  • すぐ使える。
  • できることが少ない。
  • デフォルトのショートカットが押しにくい。
  • ショートカットの割り当てを変更するには、システム環境設定->キーボードから変更する必要があり、メニュータイトル(ペースト、など)をわざわざ打ち込まないと設定できない。

タブ

  • 現在のディレクトリの位置は引き継がれる。

パネル分割

  • 単に、同じターミナルの画面の別の場所を同時に参照するというだけの機能。
    • (利用例) 分割-> エラーログや前に打ったコマンドを参照しながら新しいコマンドを打つ-> すぐ閉じる
  • 各パネルで別のファイルを編集することは不可能。
ショートカット 説明
Command+t タブを開く
Control+Tab タブ間を移動
Command+w タブを閉じる
Command+d パネルを分割
Shift+Command+d パネルを閉じる


Vim(Vi)

特徴

  • どこにでも入ってるため、すぐに使える。
  • .vimrcにキーの割り当てを記述できるので、変更が容易かつ管理しやすい(僕はimap <C-c> <Esc>くらいしか変更してませんが)。
  • デフォルトのショートカットが押しやすい。
  • vimtutor コマンドを打ち込んで出てきたチュートリアルを一周する程度の準備が最初に必要。
  • 分割以外のvimコマンド(移動など)と一貫した規則があるので覚えやすい。
  • モード切り替え概念のクセが強い。
  • (当たり前だけど)パネル分割のみ可能。


コマンド 説明
:split (:sp) file名 水平方向に分割線を引く
:vsplit (:vs) file名 垂直方向に分割(vertical)
:q 閉じる
Control+w → k 上側の画面に移動
Control+w → j 下側の画面に移動
Control+w → h 左側の画面に移動
Control+w → l 右側の画面に移動
Control+w → + 現在の画面を縦に拡大
Control+w → - 現在の画面を縦に縮小
Control+w → < 現在の画面を横に縮小
Control+w → > 現在の画面を横に縮小
  • カッコは短縮系。どちらも使えます。
  • +は、シフトと";"を同時入力です。
  • たとえば:spまで入力してタブキーを押すと、ファイル名の予測が出て入力保管が使えるので便利です。
  • Control + wのwはWindowだと覚えると分かり良いです。

tmux

詳しくは、A tmux Crash Course など参照。

特徴

  • インストールが必要。
  • なんでもできる。
  • ssh先のLinuxに入れて使うこともできる。
    • 特に、sessionを残しておくことができるためログアウトしてもまた同じ分割状態で再開することができる。
  • .tmux.confに設定を記述することで、どこでも自分の慣れたキーバインドと色味(?)で作業ができる。
    • 設定は比較的わかりやすいし、サンプルは探せばたくさん見つかる。
  • 色々できる分、機能が多くてとっつきにくい。
  • Session-Window-Paneという階層構造が若干分かりにくい。
    • SessionはTmuxのサーバが立ち上がってる感じ。そこにclientとしてアクセスして使う。session自体も、複数立ち上げることができる。
    • Windowはタブのような単位。sessionの中に含まれる。
    • Paneは分割された画面。windowの中に含まれる。
  • ショートカットは、prefix というコマンド(デフォルトはcontrol+b)を打ち込み、入力受付状態にしてから目的のコマンド(nなど)を打つ、という形で使う。(vimのctr+wと同じ。)


  • キーバインドの設定をしたり、使えるコマンドを見るには以下を使うと便利。list-keysで出力された表記を真似すれば良い。
$tmux list-keys
$tmux list-commands

たとえば、window移動をprefix -> nではなく prefix -> lに変更したいなら

# 現在の設定を確認
$tmux list-keys
.........
bind-key    -T prefix       n                next-window
.........
~/.tmux.conf
# ↑の書き方に習い、~/.tmux.confを編集
bind-key -T prefix i next-window

# -T prefix系は以下のようにもかける。
bind i next-window

# 元のバインドを外すなら、それを明示する。
unbind n

参考: 自分の設定ファイルはこれです。

set-option -g default-terminal screen-256color
set -g terminal-overrides 'xterm:colors=256'

bind c new-window -c "#{pane_current_path}"

# 画面分割
bind - split-window -vc "#{pane_current_path}"
bind | split-window -hc "#{pane_current_path}"
unbind '"' 
unbind %

bind h select-pane -L
bind j select-pane -D
bind k select-pane -U
bind l select-pane -R

# 分割画面のサイズ変更
# -rはrepeat. C-bの後、連続でコマンド打つ時必要。
bind -r H resize-pane -L 5
bind -r J resize-pane -D 5
bind -r K resize-pane -U 5
bind -r L resize-pane -R 5

set-option -g status-bg "colour232" 
set-option -g status-fg "colour15" 

set-option -g mouse on

# prefix , :でrenameしたwindowの名前を固定する。(defaultは最後のcommandになる)
set-option -g allow-rename off

# コピーモードのときvimのキーバインドを使う。
# setw : set-window-option.
setw -g mode-keys vi

# Setup 'v' to begin selection as in Vim
bind-key -T copy-mode-vi v send-keys -X begin-selection
bind-key -T copy-mode-vi y send-keys -X copy-pipe-and-cancel "pbcopy"

色の変更方法は
tmux の status line の設定方法 - Qiita
を参考にさせていただきました。

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

docker imageの削除方法

はじめに

不要なimageはリソースのムダ使いに繋がる為、削除方法を忘備録として記載。

前提条件

削除対象のDocker image:centos

Docker image削除手順

1.Docker image IDを確認する

$ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
centos              latest              470671670cac        4 months ago        237MB

IMAGE IDに表示されている470671670cacが今回の削除対象のDocker image

IMAGE ID
470671670cac //←このIMAGE IDを指定する

2.Docker imageの削除

Docker imageの削除は下記コマンドで実行可能

//$ docker rmi {削除対象のIMAGE ID}
$ docker rmi 470671670cac
Untagged: centos:latest
Untagged: centos@sha256:fe8d824220415eed5477b63addf40fb06c3b049404242b31982106ac204f6700
Deleted: sha256:470671670cac686c7cf0081e0b37da2e9f4f768ddc5f6a26102ccd1c6954c1ee
Deleted: sha256:0683de2821778aa9546bf3d3e6944df779daba1582631b7ea3517bb36f9e4007

Deletedと表示されていれば完了

$ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE

※以下のようにエラーが表示される場合

停止中のコンテナが利用しているimageのためエラーとなる為、先に停止中のコンテナを削除する必要がある

$ docker rmi 470671670cac
Error response from daemon: conflict: unable to delete 470671670cac (must be forced) - image is being used by stopped container 1ba05d50c062

停止中のコンテナIDを確認する

$ docker psだと停止中のコンテナは表示されない

$ docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES

$ docker ps-aをオプションをつけることで停止中のコンテナも表示することが可能

$ docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                      PORTS               NAMES
124b0dcc686a        centos              "/bin/bash"         32 minutes ago      Exited (0) 32 minutes ago                       practical_ptolemy

下記コンテナIDが削除対象のコンテナID

CONTAINER ID
124b0dcc686a //←このCONTANER IDを利用する

コンテナの削除

以下の方法で停止中のコンテナを削除することが可能

//$ docker rm {{CONTAINER ID}}
$ docker rm 124b0dcc686a
124b0dcc686a //←上手くいくとCONTANER IDが表示される

改めてDocker imageの削除再実行

$ docker rmi 470671670cac
Untagged: centos:latest
Untagged: centos@sha256:fe8d824220415eed5477b63addf40fb06c3b049404242b31982106ac204f6700
Deleted: sha256:470671670cac686c7cf0081e0b37da2e9f4f768ddc5f6a26102ccd1c6954c1ee
Deleted: sha256:0683de2821778aa9546bf3d3e6944df779daba1582631b7ea3517bb36f9e4007

Deletedと表示されていれば完了

$ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

nodenvでMacにNode.jsをインストールする(auto rehash対応版)

nodenvというNodeバージョン管理ツールを使って、Node.js環境を構築します。

nodenvインストール

Homebrewでインストール

$ brew install nodenv

nodenvはnode-buildコマンドに依存していますが、このコマンド一発でnode-buildもインストールしてくれます。

一旦セットアップコマンドを実行する

$ eval "$(nodenv init -)"

ドキュメントではこのコマンドをシェルの設定ファイルに追記するよう書いてますが、【最後】で実施します。

【最後】の工程までシェルを閉じたり再起動しないようにしてください。再起動してしまった場合は、上記のセットアップコマンドを再度実行してください。

nodenvコマンドが使えることを確認する

$ nodenv -v
nodenv 1.3.2

Node.jsインストール

バージョン一覧

インストールしたいバージョンを確認します。
ちなみに2020/05現在の最新推奨版(LTS)は12.16.3です。
最新推奨版(LTS)はNode.js公式ページで確認できます。

$ nodenv install -l
~~
12.16.1
12.16.2
12.16.3

インストール

$ nodenv install 12.16.3

グローバルに設定

$ nodenv global 12.16.3

インストールしただけでは使えないので、グローバルで使用するnodeのバージョンを指定します。

インストール確認

$ node -v
v12.16.3

$ npm -v
6.12.1

【必須】 nodenv-package-rehashプラグインのインストール

通常nodenvでグローバルにCLIコマンドアプリをインストールしても、その後に手動でnodenv rehashを実行しないとシムリンクが更新されないので、すぐ使えず面倒です。
例:npm install -g @vue/clivueコマンドをインストールしても、nodenv rehashを実行しないとvueコマンドが使えない。

このプラグインはシムリンクの更新を自動で行ってくれるので、nodenv rehashを手動で叩く必要がなくなります。

インストール

$ git clone https://github.com/nodenv/nodenv-package-rehash.git "$(nodenv root)"/plugins/nodenv-package-rehash

$ nodenv package-hooks install --all

 【最後】 シェル設定ファイルにnodenvセットアップコマンドを追記

ご利用のシェルの設定ファイルにセットアップコマンドを追記してください。
(デフォルトのシェルはmacOS Catalina以降ならzshなので.zprofile、macOS mojave以前ならbashなので.bash_profile
プラグインを有効にするため、--no-rehashオプションを付けています。

# 手動追記する場合は、以下をシェル設定ファイルに追記
eval "$(nodenv init - --no-rehash)"
# 自動追記
# zshの場合
$ echo 'eval "$(nodenv init - --no-rehash)"' >> ~/.zprofile

# bashの場合
$ echo 'eval "$(nodenv init - --no-rehash)"' >> ~/.bash_profile

以上でnodenvのインストールはすべて完了です。

備考

nodenvをアップグレードする場合

brew upgrade nodenv node-build
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

日本語キーボードのバックスラッシュは「ろ」

概要

Mac 上の Virtual Box に日本語化した Kali Linux(2020.2) を入れて遊んでいたところ、バックスラッシュ \ が入力できなくて困った。
結果、 に割り当てられているのを発見した。
便利そうなので Mac でも同じ方法で入力できるように設定した。
Windows 10 は ¥ が両方 ¥ (にみえる \)に割りあたっていた。

これはもしかして常識…?

on (Kali) Linux

以下の方法で日本語化した。キーボードレイアウトは 日本語 (OADG 109A) とした。
Kali Linux 2020.1 導入と日本語化 | セキュリティ | DoRuby

ターミナルで作業していたところ \ を含むコマンドが必要になった。
Mac の作法に倣って Alt + ¥ と押すと謎の文字 が入力された。これはさすがに違う。
Windows のノリで ¥ キーを押したら、¥ が出てきた。気にせずコマンド実行したらエラー。あかんか。
で、いろいろ触っていたら (右 Shift の左隣)で \ が入力できることを発見した。

on Mac OSX

アンダーバー・アンダースコア _Shift + ろ と指が覚えてしまっているが、 Mac では Shift なしの だけで _ を入力できる。
ならば Linux に合わせてしまおう。Karabiner-Elements を使ったキーバインドの変更方法は、以下を参照。
Macでバックスラッシュを入力しやすくする設定 by Karabiner-Elements - モノラルログ

追記:そのまま適用すると VirtualBox でも入力が置換されてしまい本末転倒だった。 frontmost_application_unless で VirtualBox を除外すると良い。

設定例
{
  "title": "backslash",
  "rules": [
    {
      "description": "underscore to backslash",
      "manipulators": [
        {
          "from": {
            "key_code": "international1"
          },
          "to": [
            {
              "key_code": "international3",
              "modifiers": [
                "option"
              ]
            }
          ],
          "type": "basic",
          "conditions": [
            {
              "type": "frontmost_application_unless",
              "bundle_identifiers": [
                "^org\\.virtualbox\\.app\\.VirtualBoxVM"
              ]
            }
          ]
        }
      ]
    }
  ]
}


参考)Karabiner-Elementsの設定項目をまとめました - Qiita

on Windows 10

ところで Windows はどうだったか、と確認したところ、 ¥ は同じ入力、つまり ¥ にみえる \ に割りあたっていた。どちらに見えるかはアプリケーションに依存する。

いったい、なぜ今まで気づかなかったのか…

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む