yyp٩( 'ω' )و

色々触って遊んでます

MacでGitHubのセットアップをする

Gitを使う勉強会に行くのですが、まだMacにしてから使っていなかったので環境設定をしました。   たまにしかしない作業なので自分のためのメモとして残しておきます。   Windowsの時もお世話になった、こちらを参考にさせていただきました。

qiita.com

目的  

GitHubでpush/cloneができるようにする。
二段階認証も設定できるとなおよし。

環境

  • OS
  • ターミナル
    • iTerm 3.2.6

Gitインストール確認&設定

まずGitをインストールだ〜と思ったら、Macはデフォルトで入っているんですね。

$ git --version  
git version 2.17.2 (Apple Git-113)  

次にメールアドレスと名前を設定します。

$ git config --global user.email "you@example.com"
$ git config --global user.name "Your Name"

この設定をしていないとgit commitができません。

キーペア作成

GitHubと連携するために、キーペアを作ります。

$ mkdir ~/.ssh  
$ cd ~./ssh  
$ ssh-keygen -t rsa  
Generating public/private rsa key pair.  
Enter file in which to save the key (/Users directory/.ssh/id_rsa): #ここでキーペアの名前を変えられる  

キーペアの名前を変えなければ/Users directory/.ssh/配下にid_rsaとid_rsa.pubができます。

ssh configの作成

キーペアの名前を変えている場合、ssh configの設定が必要です。

Host github github.com
  HostName github.com
  IdentityFile ~/.ssh/hogehoge #自分の秘密鍵をフルパスで  
  User git

GitHubと連携

GitHubに先ほど作成したキーペアの公開鍵(.pubがついている方)を置きます。
公開鍵と秘密鍵は間違えると大変なので注意!
GitHubにログイン > 右上の自分のアイコン > Settings > 左のメニュー"SSH and GPG keys" まで行きます。
New SSH keyで鍵の名前と中身を入力します。
Add SSH keyで内容を保存したら、接続確認。
自分のリモートリポジトリからcloneできるか確認します。

$ git clone git@github.com:hoge/fuga.git

※sudoでやるとできません。
cloneができたら次はpushできるか確認します。
READMEを作ってpushしてみます。

$ cd {cloneしてきたリポジトリのディレクトリ}  
$ touch README.md
$ git add README.md  
$ git commit -m "created README.md"
$ git push

pushが完了したら、GitHubで反映されているか確認。
反映されていたら、連携の設定は完了〜

二要素認証の設定

そんなに大事なものは置いていないのですが、公開鍵を置いているので一応二要素認証でログインするように設定します。
GitHubにログイン > 右上の自分のアイコン > Settings > 左のメニュー"Security" まで行きます。
"Enable two-factor authentication"をクリック。
"Set up using in app"と"Set up using in SMS"があります。
一応他のサービスでGoogle authenticatorを使っているのですが、電話番号で済むならそれがいいと思ったので、SMSにします。
クリックするとRecovery codeが表示されるので、ダウンロードやコピーで保存して置きます。
何らかの理由で接続できなくなった際の復旧に必要なので、失くさない!
保存したら"Next"で次に進む。
電話番号を入力して、SMSが来たら記載の6桁の数字を入力して完了!
今後はサインインの際にSMSで番号が届きます。

MojaveでVirtualBoxがインストールできない 〜暫定対応編〜

これのその後です。
mizukichi3.hatenablog.jp

VitrualBox6.0を入れてみる

Candidate版の6.0が出たみたいなので、これを入れてみました。

virtualbox.org • View topic - VirtualBox 6.0 Release Candidate 1 released

ですが結果は同じく、インストールに失敗。

ネットワーク周りがいじれない

よくみてみると、「アプリケーション」ディレクトリにVirtualBox自体は存在していました。
適当に仮想マシンを作成して起動しようとしてみると、カーネルモジュールがインストールされていないというエラーが出ました。
他にもネットワーク周りがいじれないようです。*1
Windowsだと「管理者として実行」すると解決する場合もあるので、sudoで起動等を試してみましたがだめでした...

回避策を試す

前回も触れた回避策を試してみます。

qiita.com

色々調べてみたところ、リカバリーモードでの起動はAppleのサポートサイト*2でも紹介されていて、そんなに怖いものではないということがわかったので...

まずMacを再起動。
この時に⌘+rを押し続けて、リカバリーモードで起動します。
リカバリーモードで起動したら、上のメニューの「ユーティリティ」から「ターミナル」を起動します。
「ターミナル」を起動したら、下記のコマンドを実行します。

$ csrutil disable  

「ターミナル」を閉じて、通常の再起動。
その後VirtualBoxdmgを実行したところ、インストールが正常終了し、VirtualBoxも起動できました。
参考にした記事ではコマンドを実行してVirtualBoxを起動していましたが、今回はダブルクリックで正常に起動できました。バージョン違うからかな?

*1:後ほど5.2.22も入れてみましたがこれらの挙動は同様でした。

*2:https://support.apple.com/ja-jp/HT201314

MojaveでVitualBoxがインストールできない

VirtualBoxが入らない

Macbook AirVirtualBoxを入れようと思ったら全然入らない...
OSのバージョンを確認。

$ sw_vers
ProductName:    Mac OS X
ProductVersion: 10.14.1

Mojaveにインストールできない問題はもう解決されているはずなんだけれど...

applech2.com

修正された5.2.14と最新版5.2.22両方とも試してみたけどだめでした。

回避策

回避策はあるようです。

qiita.com

ただ、Macリカバリモードで起動する必要があるようです。
Mac買ったばかりなので何かあったらと思うとちょっと怖い...

VirtualBoxのアップデートを待つ

VirtualBoxchangelogを見てみると、大体毎月初め〜中頃にアップデートがあるみたいです。

Changelog – Oracle VM VirtualBox

そんなに急ぎではないので、アップデートを待ってみることにします。
変わらなかったらISSUE漁ってみよう。

UNDERTALEをやりました。

技術ブログ、転職ブログみたいな感じになってますが、明確なカテゴライズをするつもりはないのでゲームの感想を書きます。
私は結構なゲーマーでもあるので、ゲーム遍歴とかも今度書こうかな。

今回は「UNDERTALE」です。

目次

  • ゲーム概要
  • ネタバレなし感想
  • ネタバレあり感想

    ゲーム概要

    「誰も死ななくていいRPG」というキャッチコピーです。
    それ以上のことは言うまい…(ケツイ)
    未プレイの人で少しでもプレイする可能性のある人は、事前情報なしでやってほしい…!
    おすすめしたい人:ゲーム好きな人。特にドラクエとか王道RPGを楽しくプレイしてきた人。

    ネタバレなし感想

    ゲーム好きの友人がSteam時代にやってて、「面白いよ~」と言ってたので、結構前から自分の「やりたいゲームリスト」に入っていました。
    PCでやってもよかったんですが、ゲームはなるべく据え置き機でやりたい派なので、持ってるハードで出ないかな~と待つこと2年ほど。
    Nintendo Switchで発売というニュースを耳にし、Amazonで予約。
    「事前情報なしでやって欲しい」「記憶を消してもう一度やりたいゲーム」という情報を耳にしていたので、頑張ってネタバレ回避。
    公式HPも見ないようにしました。
    プレイ後の感想:ヤバぉ!!! 「記憶を消してもう一度やりたいゲーム」というのは本当でした。
    私はプレイ中、どうしても我慢できなくなって途中でネタバレ検索をしてしまったのですが、それもしなければよかったと若干後悔しています。
    なので以降の感想は、クリアしていない方はブラウザの「戻る」ボタンを押してください。

続きを読む

「Bugハンター日記」を読んだ話

いつものようにTwitterをさまよっていると、こんな記事がリツイートされてきた。

会員限定の記事だったので続きは読めなかったのだが、「バグハンター」という職業が気になったのでgoogle先生に聞いてみた。

バクハンターとは、「ソフトウェアの脆弱性を自らの技術によって発見し、悪用される前に開発元に報告する人」らしい。
「ホワイトハッカー」「現代の賞金稼ぎ」とも言われたりするようで、中二心をくすぐられる。

実際にどのようにバグハントをしているのか気になったので、「Bugハンター日記」を読んでみた。

Bugハンター日記

Bugハンター日記

正直に言うと何をやっているのかという技術的な部分はほぼ分からなかった。
まえがきに「C言語アセンブラの基礎的な知識があること」と書いてあったのだが、自分にはどちらもないので、仕方ないといえば仕方ない。

ただ、この本特有のことなのかもしれないが、脆弱性にはパターンがあるのかなと思った。
一般ユーザでもデータを自由に書き込める箇所を探して、そこを突くという感じだったような気がする。
このあたりは自分の知識が足りないのでなんとも言えない。

全体としてそんなに難しいことはやってなさそうだったので、バグハントをやってみたくなったりもした。
この本ではソフトウェアの脆弱性を中心に扱っていたが、Webサイトやアプリなど、ITあるところにバグあり、状態だと思うので、自分のできそうなところからやってみたいなあと思う。

Windows最適化チャレンジ Docker導入編

前回chocolateyでを入れてみたのは、これがやりたかったためです。

環境

前回の続きなので、AWS上のWindows Serverです。
使用AMI : Windows_Server-2016-English-Full-Base-2018.09.15 (ami-0ecf3c199663ebcde)

Dockerインストール

Docker for Windowsを入れます。

choco install docker-for-windows

スタートメニューからDockerを起動しようとしたところ、下記のメッセージが表示されました。

You need to log out of Windows Then your "docker-users" membership will be taken into account

"docker-users"というmembershipが必要なようです。
おそらくdocker-usersというグループに所属しているという意味?

グループの確認

スタートメニュー > Windows Administrative Tools > Computer Management を起動します。
System Tools > Local Users and Groups > Groups を確認。
一番下に"docker-users"がありました。
所属しているユーザはデフォルトではAdministratorのみでした。

ユーザ追加

docker-usersグループにユーザを追加します。
追加したユーザ:docker-user
所属グループ:Users, docker-users, Remote Desktop Users
docker-userでログインしなおして、Dockerが使えるかどうか確認します。

PS1 > docker --version
Docker version 18.06.1-ce, build xxxxxx

使えるようになりました!

Windows最適化チャレンジ パッケージ管理編

Windowsでソフトを入れる時、だいたいはインストーラ落としてきてインストールすると思います。
ただそうすると、バージョン上がった時に少々面倒だなと最近思います。特にWindows Serverの場合。
調べてみると、Windows用のパッケージ管理ツールがあるようなので使ってみようと思います。

環境

自分のPCは既に色々入っているので、AWS上でまっさらなWindows Serverを立てます。
使用AMI : Windows_Server-2016-English-Full-Base-2018.09.15 (ami-0ecf3c199663ebcde)
英語なので、起動時にuserdataで日本語化します。

<powershell>
ipmo international
Set-WinSystemLocale ja-JP
</powershell>

上記スクリプトをuserdataに入れたらいけるかなーと思いましたが、英語のままでした…
なんとかしたいところですが、今回はここがメインではないので英語のまま進めることにします。
この辺のプロビジョニングはまた今度。

パッケージ管理ツール導入

今回は"chocolatey"を使ってみます。

chocolatey.org

手順に従って、進めていきます。
PowerShellを管理者権限で起動して以下コマンドを実行します。

Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))

コマンドを使うにはシェルを開き直さないといけないようなので、そうします。
コマンドが使えるかどうか確認します。

PS1 > choco --version
0.10.11

入りました!

パッケージをインストールする

せっかくなので何か入れてみます。
chocolateyで入れられるものは以下のページに一覧が載っています。

Chocolatey Gallery | Packages

インストール時のコマンドも載っているのでコピペできて便利。
試しにchromeを入れてみます。

choco install googlechrome

上記コマンドを実行すると、インストールが始まります。

 The install of googlechrome was successful.
  Software installed as 'MSI', install location is likely default.

Chocolatey installed 2/2 packages.
 See the log for details (C:\ProgramData\chocolatey\logs\chocolatey.log).

裏ではmsiが使われているのかな?
あとログも吐いてくれるみたいですね。
スタートメニューで確認したところ、chromeも使えるようになっていました。

アンインストール

アンインストールをしてみます。

choco uninstall googlechrome

これだけで消えました。便利!

まとめ

Windowsのパッケージ管理がめんどくさい問題はchocolateyで解決できそうです。
アップデートがあった場合は"choco update hogehoge"でできるようなので、使ってみたいですね。