エンジニアリングとお金の話

都内で働くエンジニアの日記です。

python環境構築をAnacondaからpoetryに変えるためにやったこと

ずっとPython環境はpyenv + Anacondaで構築していたのだが、Chat GPT APIなどcondaリポジトリに無いライブラリを取得するためにcondaとpipを併用するのが面倒くさくなったのでpoetryで環境を構築することにした。対応内容は以下の通り

1. pyenvでpythonをインストール

pyenv install 3.11.3

2. poetryをインストール

curl -sSL https://install.python-poetry.org | python

python-poetry.org

3. poetryの設定変更

プロジェクト配下に仮想環境を作成するため下記コマンドを実施

poetry config virtualenvs.in-project true

初期状態では仮想環境構築時にエラーとなるので下記コマンドを実施

poetry config virtualenvs.prompt null

4. 仮想環境構築

cd ~
poetry new base-py311

6. ログイン時に仮想環境を起動するようにzshrcに下記を追加

pyenv global 3.11.3
source /Users/hoge/base-py311/.venv/bin/activate

7.powerline-shell導入

※powerline-statusを導入していたが、仮想環境の表示がうまく行かなかったので変更した

インストール

pip install --user powerline-shell

.zshrcにパス追加

export PATH="/Users/hoge/.local/bin:$PATH"

.zshrcに関数追加

function powerline_precmd() {
    PS1="$(powerline-shell --shell zsh $?)"
}

function install_powerline_precmd() {
  for s in "${precmd_functions[@]}"; do
    if [ "$s" = "powerline_precmd" ]; then
      return
    fi
  done
  precmd_functions+=(powerline_precmd)
}

if [ "$TERM" != "linux" -a -x "$(command -v powerline-shell)" ]; then
    install_powerline_precmd
fi

表示内容を変更するためにconfigをコピー

mkdir -p ~/.config/powerline-shell && \
powerline-shell --generate-config > ~/.config/powerline-shell/config.json

参考

Powerline-shellでターミナルを改造しよう - Qiita

Python開発環境の整え方(Mac) - Qiita

vscodeのvim設定について

Chat GPT APIでプログラミングをしようと思いコードを書いているがvscodeのvim設定で毎回イラッとしていた。特にノーマルモードで日本語入力状態になって何も出来ない状態になる事象が多々発生した。防ぐ方法として2つの対応を行った。

im-selectの導入

qiita.com

note.com

ESCキー押したらIMEを解除

y-kawaz.hatenadiary.org

Chat GPTでブログを書く方法について

Chat GPTのプロンプトについて理解していなかったので下記youtubeで勉強した。

www.youtube.com

分かったこととして、Chat GPTから自分が求める内容を生成したい場合は宣言・変数・関数の3つを意識すること。例としてブログ記事をChat GPTで作成したい場合のプロンプトは以下の通りとなる。

// 宣言
[コンテンツの詳細] : このコンテンツはblogの文章です。

// 変数
[対象者] : 30歳から35歳の男性
[キーワード1] : 楽に稼げる
[キーワード2] : 副業 

// 関数
[コマンド1]: [キーワード1]に対する[キーワード2]について、[対象者]に向けたblogのコンテンツの[アウトライン]を作成してください。
[コマンド2]:[コマンド1]で作成した[アウトライン]を元に1000文字程度のblogを書いてください

// 関数実行
実行 [コマンド1] [コマンド2]

このプロンプトをChat GPTで実行して作成された記事がこちら。

はじめに

近年、社会人にとって副業は身近な選択肢となっています。今回の記事では、30歳から35歳の男性を対象に、楽に稼げる副業について紹介します。副業は、本業に追われる毎日の中でも自分のスキルを活かして収入を得られるため、多くの人にとって魅力的な選択肢です。まずは、副業についての背景について解説します。

楽に稼げる副業とは?

副業には、本業に縛られない自由な時間があることが多く、稼ぎ方にも多様性があります。まずは、副業で稼ぐメリットについて紹介します。副業を始めることで、以下のようなメリットがあります。

まず、収入が増えます。本業だけでは不十分な収入を得ることができ、生活費の面でも安心感を得ることができます。また、副業を行うことで、自分のスキルを活かすことができ、自己成長にもつながります。さらに、副業を通じて新しい人脈を広げることができるため、将来的にビジネスチャンスが生まれる可能性もあります。

次に、楽に稼げる副業の特徴について解説します。楽に稼げる副業は、以下のような特徴があります。

・自宅でできるものが多い
・自分のスキルや趣味を活かせるものが多い
・時間に余裕があるものが多い

これらの特徴から、ネットビジネスを始めることがオススメです。ネットビジネスは、自宅にいながら自分のスキルを活かして稼げるものが多く、また時間に余裕がある場合にはいつでもできるため、忙しい社会人にも合っています。

楽に稼げる副業の例

次に、具体的な楽に稼げる副業の例を紹介します。

在宅ワーク
在宅ワークは、自宅でできる仕事の一つであり、パソコンとインターネットがあればできます。例えば、ライティングやデータ入力、Web制作などがあります。自分のスキルを活かして仕事をすることができるため、収入を得るだけでなく、自己成長にもつながります。

フリーランスの仕事
フリーランスの仕事は、自分のスキルを生かして自分自身が仕事を探し、クライアントにサービスを提供する仕事です。例えば、Webデザインやプログラミング、ライターなどがあります。自分で仕事を探すため、自分のペースで仕事をすることができるため、時間に余裕がある社会人にはオススメです。

アフィリエイト
アフィリエイトは、自分のブログやSNSなどで紹介した商品が購入されると、商品代金の一部が自分に入る仕組みです。自分の趣味や興味に合わせた商品を紹介することができるため、自分のスキルや趣味を活かした収入源として活用することができます。楽に稼げる副業で成功するためのポイント

楽に稼げる副業に取り組む際には、以下のポイントを押さえることが成功の鍵となります。

副業での稼ぎ方についてアドバイスする
副業で稼ぐ方法は多種多様ですが、その中でも効率的な方法を選ぶことが大切です。例えば、アフィリエイトをする際には、どのような商品を紹介するか、どのようなキーワードを使って商品を紹介するかなど、細かなところまで考える必要があります。そのため、成功者の情報を収集することが重要です。

副業で成功するために必要なスキルを紹介する
副業で成功するためには、必要なスキルを身につけることが必要です。例えば、Webデザインやプログラミング、ライティングなど、自分が得意な分野に関するスキルを身につけることが重要です。そのためには、自己投資をすることが必要です。

副業と本業の両立について解説する
副業を行う際には、本業との両立が必要です。そのため、時間管理や優先順位の設定などが必要です。また、副業を始める際には、本業の上司に相談することが大切です。本業での業務に支障がないように、バランスを取ることが必要です。

まとめ

今回は、30歳から35歳の男性を対象に、楽に稼げる副業について紹介しました。副業は、本業に追われる毎日の中でも自分のスキルを活かして収入を得られるため、多くの人にとって魅力的な選択肢です。楽に稼げる副業の特徴や、具体的な副業の例、成功するためのポイントについて解説しました。読者には、自分に合った副業を選び、将来的により充実した生活を送ることができるようになることを願っています。

関数1で作成した内容(今回の場合はコマンド1で作成した[アウトライン])を関数2で使用することで目次とそれに関連する内容を同時に作成させることが可能である。また、関数1で作成した内容を関数2で使用するためには実行順序が大切であるため実行 [コマンド1] [コマンド2]と順序も指定している。

普通に書いたら2〜3時間ぐらい掛かる記事を2〜3分程度で作成することができた。正直やばいの一言である。まだまだ全然使いこせていないので理解を深めていきたい。

mac購入後に行う初期設定

appleの初売りでmac book pro 14インチを購入した。

以前購入したmacが2014年だったので8年ぶりの端末購入になる。

これからは3〜4年毎に買い替えを行うようにしようと思い、今回行った設定を忘れないようにまとめておく。

端末設定(システム環境設定で行うこと)

ソフトウェアアップデート(まず最初にやる)

ソフトウェア・アップデート

一般

ウインドウで壁紙の色合い調整許可をオフ

ディスクトップとスクリーンセーバー

ホットコーナーにディスプレイをスリープさせるを設定

Dockとメニューバー

Dockとメニューバータブ

Dockサイズ変更
画面上の位置を右に変更
Dockを自動的に表示/非表示 オン
最近使ったアプリケーションをDockに表示 オフ

バッテリータブ

バッテリー の割合(%)を表示 オン

spotlightタブ

spotlight メニューバーに表示 オフ

spotlight

プライバシータブ

spotlightの検索から除外する場所にMacintosh HDを追加

通知と集中モード

ヒントの通知を許可 オフ

サウンド

メニューバーにサウンドを表示 オン

キーボード

キーボードタブ

キーボード速度を最高に変更
環境光が暗い場合にキーボードの輝度を変更 オフ
F1、F2などのキーを標準のファンクションキーとして使用 オン

Caps LockをControlへ変更
ControlをEscへ変更

ユーザ辞書タブ

英文字入力中にスペルを自動変換 オフ
文頭を自動的に大文字にする オフ
スペースバーを2回押してピリオドを入力 オフ
スマート引用符とスマートダッシュを使用 オフ

ショートタブ

spotlight検索を表示 オフ
Finderの検索ウインドウを表示 オフ

入力ソースタブ

デフォルトソース削除
※google日本語入力をインストールした後対応

トラックパッド

ポイントとクリックタブ

調べる&データ検出 オフ
タップでクリック オン
クリック、軌跡の速さ 変更
強めのクリックと触覚フィードバック オフ

スクロールとズームタブ

スクロールの方向:ナチュラル オフ

その他ジェスチャタブ

通知センター オフ

ディスプレイ

輝度を自動調整 オフ
True Tone オフ

位置変更

プリンタとスキャナ

バッテリー

バッテリータブ

ディスプレイをオフにする 10分
バッテリー電源使用時はディスプレイを少し暗くする オフ

電源アダプタタブ

ディスプレイがオフのときにMacを自動でスリープさせない オン

共有

コンピュータ名を変更

端末設定(システム環境設定以外)

Finder設定

一般タブ

新規Finderウインドウで次を表示にホームディレクトリを設定
フォルダを新規ウインドウではなくタブで開く オフ

サイドバー

ムービー オン
ピクチャ オン
ホームディレクトリ オン
iCloud Drive オフ
最近使ったタグ オフ

詳細

すべてのファイル名拡張子を表示

アプリインストール(ネットから取得)

google chrome

www.google.com

旧端末のidでログインしデータを同期

google日本語入力

www.google.co.jp

入力補助タブ

全角を半角へ変更

サジェストタブ

入力履歴からのサジェスト自動表示を有効にする オフ
システム辞書からのサジェスト自動表示を有効にする オフ
リアルタイム変換を有効にする オフ

drop boxインストール

www.dropbox.com
旧端末のidでログインしデータを同期

Bettor Touch Toolインストール

folivora.ai

ベーシックタブ

PCの立ち上げ時にBetter Touch Toolを起動する オン

トラックパッドタブ

すべてのアプリ TipTap左(3本指修正)に⌘Wを設定

google chrome TipTap左(1本指修正)に⌥⌘←を設定
google chrome TipTap右(1本指修正)に⌥⌘→を設定

AppCleanerインストール

freemacsoft.net

Clipyインストール

clipy-app.com

DeepLインストール

www.deepl.com

SD CardFormatterインストール

www.sdcard.org

iTerm2インストール

iterm2.com

Profilesタブ

※こちらの対応はPowerline用のフォントhttps://github.com/powerline/fontsをインストール後行う
TextタブのFontをDroid Sans Mono Slashed for Powerlineに変更
文字サイズを13に変更
TextタブのNon-ASCII FontをDroid Sans Mono Slashed for Powerlineに変更
文字サイズを13に変更

WindowタブのTransparencyを15に設定

VSCodeインストール

code.visualstudio.com
設定の同期をオンにして旧端末の設定を引き継ぐ

Alfredインストール

www.alfredapp.com Alfred HotKeyを⌘Spaceに変更
Where are youにJapanを設定
Permissionsを設定

アプリインストール(app storeから取得)

1passwordインストール

1password.com
旧端末のidでログインしデータを同期

kindleアプリインストール

Kindle

Kindle

  • AMZN Mobile LLC
  • ブック
  • 無料
apps.apple.com
旧端末のidでログインしデータを同期

Final Cut Pro

Final Cut Pro

Final Cut Pro

  • Apple
  • 写真/ビデオ
  • ¥48,800
apps.apple.com

CotEditor

CotEditor

CotEditor

  • Mineko IMANISHI
  • 仕事効率化
  • 無料
apps.apple.com

The Unarchiver

The Unarchiver

The Unarchiver

  • MacPaw Inc.
  • ユーティリティ
  • 無料
apps.apple.com

MonthlyCal

MonthlyCal

MonthlyCal

  • Fausto Ristagno
  • ユーティリティ
  • ¥320
apps.apple.com

Skitch

apps.apple.com

開発環境構築

homebrewインストール

brew.sh

個別設定

m1 macでhomebrewを使用するためには下記設定が必要

$ echo '# Set PATH, MANPATH, etc., for Homebrew.' >> /Users/r/.zprofile  
$ echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> /Users/r/.zprofile  
$ eval "$(/opt/homebrew/bin/brew shellenv)"  

homebrewで下記をインストール

  • pyenv
  • zsh-completions
  • zsh-syntax-highlighting
  • peco

pythonインストール

  1. pyenv install --listにてインストール出来るpythonを確認
  2. pyenv install anaconda3-2022.10
  3. pyenv global anaconda3-2022.10
  4. pyenv rehash

仮想環境構築

conda create -n py39 python=3.9 anaconda

.zshrcに下記を設定

export PYENV_ROOT="${HOME}/.pyenv"
export PATH="${PYENV_ROOT}/bin:$PATH"
eval "$(pyenv init --path)"
eval "$(pyenv init -)"

pyenv global anaconda3-2022.10
source /Users/自分のホームディレクトリ/.pyenv/versions/anaconda3-2022.10/bin/activate py39

powerlineインストール

$ pip install --user powerline-status

個別設定

site-packages配下にscriptsフォルダが無いとエラーとなるので下記対応にて回避
1. mkdir ~/.local/lib/python3.9/site-packages/scripts
2. cd ~/.local/bin
3. cp * ~/.local/lib/python3.9/site-packages/scripts

zshrcに下記を設定

~/.local/bin/powerline-daemon -q
source ~/.local/lib/python3.9/site-packages/powerline/bindings/zsh/powerline.zsh

.zshrcと.vimrc設定

dropboxの.zshrcと.vimrcのシンボリックリンクをホームディレクトリに作成

cd ~
ln -s  dropboxの.zshrc .zshrc
ln -s  dropboxの.vimrc .vimrc

参考リンク

【まとめ】Macを買ったらまず最初にやる設定・カスタマイズ 2022年05月版 | りんごの使い方

【Tips】Macを快適に使いこなすために、最初に設定すべき33の項目 - iPhone Mania

M1 Macの初期セットアップ メモ

MacOS10.11環境構築: AnacondaとDein.vimでPowerline - Qiita

オプション取引について勉強してみた

今日読み終えた個人投資家もマネできる世界の富裕層がお金を増やしている方法に投資手法の一つとしてオプション取引が紹介されていた。オプション取引については自分も名前を知っているぐらいであまり理解していなかったので調べてみた。

オプション取引とは

日本証券取引所のオプション取引の説明には下記の通り記載されている

  1. 将来のあらかじめ定められた期日に
  2. 特定の商品(原資産)を
  3. 現時点で取り決めた価格で売買する「権利」

ここでのポイントはあくまでも「権利」を売買するということ。つまり約束ごとを取引の材料にしている。例としては20歳時点で好きな人が30歳まで独身だったら結婚出来る権利を販売しているみたいなイメージ。この権利を購入し30歳になった時点で行使すれば無事結婚することが出来るし、それまでの間に別に好きな人が出来ればこの権利を放棄する事も出来る。また、この権利を売った側は権利が行使されるか破棄されるまでの間、結婚の自由を奪われる対価として毎年お小遣いを貰える。なお、権利を売った側は拒否権が無いので権利を買った側が権利を行使した場合必ず結婚しなければならない。

うーん。何となく分かった気がする。

オプション取引の戦略について

リスクを抑えながらリターンを取る方法として以下の2つがある。

  1. ターゲットバイイング戦略
  2. カバードコール戦略

どちらもオプション料を稼ぐ戦略だが、ターゲットバイイング戦略は自分が買ってもいいかなと思う銘柄でオプション料を稼ぐものである。

ターゲットバイイング戦略

また、カバードコール戦略は自分が保有している銘柄を使ってオプション料を稼ぐものである。

カバードコール戦略

まとめ

オプション取引はコール(買う権利)とプット(売る権利)を売ったり買ったり出来たりといろいろな戦略があるため難しそうなイメージで敬遠していたが、この2つの戦略を一旦覚えておけば良さそうである。投資のレベルを上げるためにも活用していきたい。また、もっと詳しい方法を知りたい場合は下記本がおすすめです。

2023年の目標

2023年の目標を立てた。

  • 生成AIの理解
  • AWSの資格取得
  • フロントエンド理解
  • 投資で3000万円
  • 船舶免許取得

40歳を向かえたこともあり、現在勤めている会社に頼らず自分の力で稼ぐ能力を重点的に身に付けて行きたい思っている。そのためにはスキルの習得が必須であり、生成AIとAWSとフロントエンドの3つの軸のスキル習得に励みたい。

株式投資については去年が+2000万円ほど利益が出たので今年は+3000万円を目指したい。今年も一筋縄で行かなそうな相場になることが想定されるがリスク管理を怠らずに利益を上げるようにしていきたい。

また、今後の趣味の一環として船舶免許を取得し新しい知見を増やしたいと思っている。

40歳は人生の折返し地点的なイメージを持っている。まずは土台を作って大きく羽ばたくことが出来るようにしたい。2023年は土台を作る第一歩として力を注いでいきたい。

40歳の壁をスルッと超える人生戦略を読んだ

尾石晴さんの40歳の壁をスルッと超える人生戦略を読んだ。40歳という悩める年頃の救世主となる本であった。

晴さんはvoicyを聴いていたこともあり非常に論理的で知的なイメージを持っている。その晴さんが40歳以降をどのように戦略的に生きていくかを自身の経験を持ってまとめたのが今回の本だ。

自分も成って分かったのだが40歳という年は本当に不安でいっぱいである。体の衰えを感じ出すし、このままの能力で定年まで働き続けることも出来るか不安だし、子供も手が掛かるしと。20代、30代とはひと味もふた味も違う辛い現実に直面するのが40代という年齢だと言える。

この不安な気持ちを払拭するために必要なことは「自分業」を持つことが大切だと晴さんは言います。晴さんは自分業を以下の通り定義しています。

  • お金・つながり・健康の3つの要素を満たす仕事
  • やりがいの持てる仕事
  • 自分が裁量権を持てる仕事

この中でも特に重要なのが自分が裁量権を持てる仕事につくことです。これは自分も思い当たる節があるのですが裁量権が無い仕事は主体性を持つことが難しくまた時間のコントロールも効かないので辛い思いをすることが多かったです。尊敬する勝間和代さんも毎日数分単位でいいから少しずつ自分の裁量権を広げる意識をもち、いつ何時も仕事を能動的にデザインする必要があると説いています。つまり自分業とは自分で稼ぎ方、時間、相手を選ぶことが出来るような仕事を作ることになります。

では、自分業を作るためにどうすればいいのか?そのための鍵は自分がどのような報酬を求めているかを明確にする必要があります。仕事の報酬はお金じゃ無いのかと思っていたのですが、晴さんは以下5つの報酬があると説いています。

  1. 精神的報酬
  2. 技能的報酬
  3. 金銭的報酬
  4. 信頼的報酬
  5. 貢献的報酬

これらの報酬を得て自分の出来ることの幅を広げていくことが自分業を見つけるヒントになります。

また、自分業を始める上で一番大切なことは継続出来ることを行うことです。つまり自分が好きで好きでたまらないことで報酬を得ることが出来るように仕組みを作るのが40歳以降の人生戦略としては必要であるということです。最近はFIREがブームとなっていますが仕事は社会と接点を持つ良いツールだと思います。リタイアを目指すのでは無く、自分のやりたいことを将来現役で続けることも幸せの一つだと思います。自分の人生を主体的に生きるためのヒントが詰まった本でした。