観察と傍観のはて

アプリ、プログラム、本、映画、メンタル的なこと、日記などを書いています。

英語を話すことを、諦めたほうが幸せになれるのかも

ミドルウェア脆弱性の調査やOSのエラーを調べているときに
公式ドキュメントが英語で書かれている場合がある。

もちろん日本語で書かれていることもあるが、日本語サイトでは
情報が更新されていなかったりで、原文の英語を読むことが多い。

ただ最近はGoogle翻訳でささっと意味を理解し
詳細を自分で読み込むスタイルが確立してしまっている。

若手だったときは、「エンジニアたるもの英語できないと!」とは思っていたが
意味を理解するというだけであれば上述した方法でなんとか?なっている。

ただぱっと浮かんだ日本語文を英文にしたり
英単語をタイピングする際はからきしだめで、お話にならないレベルである。
FTPから接続を切る際に、頭の中でバイだなっと思って打ったのがbuyだったり。)


もともと学生の頃から英語が苦手で、なんとかしたいと思いながらも勉強が続かず。
(英文を書くと前置詞句の順番が間違っていたり、アプリで発音しても何回やっても通じず。
リスニングも聞こえたとおりに書くと間違っていたり。。。)

まぁ、色々グダグダいっているが、要は英語コンプレックスである。


大学入学後も、社会人1年目と、なにかの節目の度に
「それでは駄目だ」と気合い入れて
ネットで評判の良い参考書を買ったが結局本棚で眠っている。
(解説がないところに疑問が出てきて誰にも聞けず今に至る。)

実力もつかないまま「今年こそは!!」と思いながらも、結局常駐先の忙しさに疲弊して1年が終わる。

何だが英語も含めもう自分には今くらいが限界で
ソフトウエアエンジニアとしては伸びしろがないと見切ったほうが楽なのかなと考えてしまう。

なんだか最近いろいろ意欲がわかなくて困る。

macの開発環境構築(その4)

vagrantプラグインについて

まずはプラグインの確認。

$ vagrant plugin list
No plugins installed.

プラグインのインストールコマンド

$ vagrant plugin install (プラグイン名)

vagrant-vbguest
GitHub - dotless-de/vagrant-vbguest: A Vagrant plugin to keep your VirtualBox Guest Additions up to date

vagrant up で起動した際に、VirtualBox Guest Additionsのバージョンをチェックして、
新しいバージョンが必要であれば自動でインストールするプラグイン


vagrant-hostmanager
GitHub - devopsgroup-io/vagrant-hostmanager: A Vagrant plugin that manages hosts files within a multi-machine environment.

ホストOSと仮想マシンの/etc/hostsを自動で書き換えてくれるプラグイン

プラグインvagrant upおよびvagrant destroyコマンドに自動的にフックします。
マシンがrunning状態になるか、exitすると、
同じプロバイダーを持つすべてのアクティブなマシンのhostsファイルがそれに応じて更新されます。


# この動作をアクティブにするには、Vagrantfileでhostmanager.enabled属性をtrueに設定します。
  config.hostmanager.enabled = true

# ホストのhostsファイルを更新するには、hostmanager.manage_host属性をtrueに設定します。
  config.hostmanager.manage_host = true
# ゲストのhostsファイルを更新するには、hostmanager.manage_guest属性をtrueに設定します。
  config.hostmanager.manage_guest = true
 
 # マシンのIPアドレスは、プライベートネットワーク構成の静的IPまたはSSHホスト構成のいずれかによって定義されます。
 # プライベートネットワークIPアドレスの使用を無効にするには、config.hostmanager.ignore_private_ipをtrueに設定します。
  config.hostmanager.ignore_private_ip = false
  
 
# hostmanager.include_offline属性がtrueに設定されている場合、
# 稼働中のボックス、またはプライベートIPが構成されているボックスがホストファイルに追加されます。
  config.hostmanager.include_offline = true
  
 
# マシンのホスト名は、config.vm.hostnameによって定義されます。
# これが設定されていない場合、Vagrantfileでマシンを定義するシンボルにフォールバックします。 
  config.vm.define 'example-box' do |node|
    node.vm.hostname = 'example-box-hostname'
    node.vm.network :private_network, ip: '192.168.42.42'
    
    # hostmanager.aliases構成属性を使用して、ホスト名のエイリアスを提供できます。
    node.hostmanager.aliases = %w(example-box.localdomain example-box-alias)
  end

vagrant-hostsupdater
GitHub - cogitatio/vagrant-hostsupdater

ホストシステム上の/ etc / hostsファイルにエントリを追加するプラグイン
up、resume、reloadコマンドで、hostsファイルに情報がまだ存在していない場合は、情報を追加する
その際、sudoを使用してファイルを編集するため、管理者パスワードの入力を求められる。

停止、破棄、および一時停止すると、それらのエントリは再び削除されます。
config.hostsupdater.remove_on_suspend = falseを設定すると、一時停止および停止しても削除されません。

設定方法としては、必要なホスト名と、固定IPアドレスを持つprivate_networkネットワークをVagrantfileに記述すればOK。

config.vm.network :private_network, ip: "192.168.3.10"
config.vm.hostname = "www.testing.de"
config.hostsupdater.aliases = ["alias.testing.de", "alias2.somedomain.com"]

vagrant-vbox-snapshot
→使おうと思ったが、公式に以下の内容が。
「2015年第4四半期の時点で、vagrant snapshotコマンドはVagrantによって提供されています。
このプラグインよりも優先して使用することを検討してください。」とあった。
https://github.com/dergachev/vagrant-vbox-snapshot

そのためプラグインは入れずに以下のコマンドを実行する。

# スナップショット作成
$ vagrant snapshot save  (スナップショット名)

# 作成したスナップショットは vagrant snapshot list コマンドで確認
$ vagrant snapshot list

# スナップショットを復元
$ vagrant snapshot restore (スナップショット名)

# スナップショットの削除
$ vagrant snapshot delete  (スナップショット名)

※スナップショットを1つしか作らないで良い場合はpushで保存、 pop で復元をすることができる
$  vagrant snapshot push
$  vagrant snapshot


vagrant-sahara
GitHub - jedi4ever/sahara: a plugin for vagrant that allows you manage a sandbox state

仮想マシンロールバック機能をvagrantから実行できるプラグイン
Provider に VirtualBox を利用している時のみ使用できます。
vagrant snapshotコマンドあるので、不要かな。

# sandbox開始
$ vagrant sandbox on

# status確認
$ vagrant sandbox status

# rollback
$ vagrant sandbox rollback

# 変更を反映(commit)
$ vagrant sandbox commit

# sandbox停止
$ vagrant sandbox off

macの開発環境構築(その3)

今日はVagrantfileの中身について

Vagrant.configure("2") do |config|
  #  vagrant init時に指定したBox名が設定される
  config.vm.box = "bento/centos-7.7"

  #  仮想OSのIPアドレス設定
  config.vm.network "private_network", ip: "192.168.33.10"

  # Vagrant ファイル共有
  # "../data"がhostのフォルダで、カレントはVagrantfileのあるフォルダ, 
  # "/vagrant_data"が仮想OS先のフォルダ
  config.vm.synced_folder "../data", "/vagrant_data"
end

共有のオプションは、公式参照。
Basic Usage - Synced Folders | Vagrant by HashiCorp

macの開発環境構築(その2)

■概要
とりあえずVagrantwiki。(真偽は自己判断で。)
Vagrant (ソフトウェア) - Wikipedia

1.6以降で、Dockerがネイティブサポートされていた模様。
ちなみに現在はバージョン2.2.7だった。

vagrantとして知っておくべき構成?は2つ。
・Boxファイル
 →所謂、テンプレ。外に転がっているものを利用することが可能。
  大体みんな下からダウンロードして、構築するのが一般的。

  リンク先でインストールするBoxファイルを検索して使用する。
  Discover Vagrant Boxes - Vagrant Cloud


・Vagrantfile
 →設定ファイル

■構築
バージョン確認

$ vagrant version      
Installed Version: 2.2.7
Latest Version: 2.2.7


Vagrant専用のフォルダを作成し、仮想マシン用のフォルダを作成。
今回はCentOS7.7を入れてみます。

$ mkdir Vagrant && cd ./Vagrant
$ mkdir centos77 &&  cd centos77

Vagrantの初期化して、Vagrantfileを作成する。
Discover Vagrant Boxes - Vagrant Cloudから選ぶ。
vagrant init [name [url]]

今回はcentos-7.7を使用するため以下とする。

$ vagrant init bento/centos-7.7

直下にVagrantfileが作成されるため

Vagrantfileを編集してvagrant upコマンドの実行で仮想マシンが起動できるが
Vagrantfileをどうするか調べたいので、今日はここまで。

macの開発環境構築(その1)

過去に開発環境を色々試しては忘れて
「これなんで作ったんだ?」となることが多かったため

今回は環境を汚さないよう仮想環境構築を用意して
かつ、ブログにも残すようにする。

とりあえず各OSにあうように
以下をダウンロードすればあとは猫でできる。


vagrantのインストール
https://www.vagrantup.com/downloads.html


Oracle VM VirtualBox
https://www.oracle.com/virtualization/technologies/vm/downloads/virtualbox-downloads.html


VirtualBoxやりたいことはサクっとできるが
vagrant使うのは、完全に好みだと思ってる。

(個人開発なら仮想環境を、バンバン作ることはあまりないためVirtualBoxで、その都度カスタマイズして対応したほうが良い場合があるため)

ちなみにvagrantの読み方は「ベイグラント」だ。
aはeiと書きたくなるぞ。

Macをクリーンインストールし直した

Macの環境が、ごちゃごちゃしていたので、クリーンインストールし直した。

次から開発環境はMac上で「VagrantVirtualBox) + Docker」で構築することにしよう。

そうしよう。そうしよう。

P.S.
入れ直して知ったんだけど、Command Line ToolsはXcodeがバージョンが6.1以降であれば自動的に入っているのね。
知識もアップデートせぬば。。。

インプット大全とアウトプット大全を読んだ

本屋さんで少し読んで、これは面白いと思いメルカリとラクマから安いものを購入。

どちらも面白かったが、職業柄インプットはしているが
アウトプットは十分にできていないと感じていたため「アウトプット大全」は特に勉強になった。

例えば「伝える」という項目では
No But 話法はよろしくないと書いてあった。

悪い話を先にしたほうが結論が先に出て良いと思っていたが
最初に嫌なことを聞くとあとの話が入ってこないらしい。

では何がよいのかであるが、そこは本を見てほしい。

内容はさらっとしているため小さなトピックスは5分もあれば読める。
なんなら一気読みでも1時間もかからず読めるくらいさくっと読めるのでコンビニ便利レベルのおすすめだ。

そういえば昔、naoyaさんがRebuild.fmで「正しいからと言って乱暴な言葉を言ってよいわけじゃない。正しさと思いやりは両立する。」
みたいなことを言っていて琴線に触れた覚えがある。

優しい世界にしたい。