Category:

投資について調べてみた

最近「中田敦彦のYouTube大学」を見ていて、ちゃんと投資をしないとなーという気持ちになったものの、投資に関しては全くの素人だし書籍を読み込むほどの情熱も持てないので、YouTubeを見たり証券会社のWebサイトを見たりしながら、投資関連の知識をメモしていこうと思います。 前提知識 所得税 (会社員の場合) 所得税 = 課税所得 * 所得税率 そもそも「所得」とは収入からその収入を得るために使った経費を抜いた金額というような意味 課税所得は、課税対象になる所得のこと(課税対象は給与収入ではない) 所得税率は、累進課税。課税所得が多いほど税率が高くなる。最高で45% 課税所得 = 給与収入 – 給与所得控除 – 所得控除 給与収入は会社から支払われる給与・賞与の合計金額 給与所得控除は、給与収入から計算さる。収入が多いほど控除額も大きくなるが上限195万円。給与所得控除は「みなし経費」とも Continue Reading

Posted On :
Category:

GCR(Google Container Registry)を使ってみる

Google Container Registry(GCR)はGCPが提供するプライベートなDocker Registryです。Docker Hubと同じようにDockerイメージのアップロード/ダウンロードができ、かつ、外部から利用されることもありません。 今回は、自作したDockerイメージをサービスアカウントを通じてCLIでGCRにpushしてpullするところまでを検証してみようと思います。基本的には公式のクイックスタートをベースに検証を進めます。 GCRの特徴 以下の様なことができるみたいです。 Docker Registoryとして、Dockerイメージをpushしたりpullしたりできる アクセス制御ができる CI/CDシステムと連動できる 今回はこれのうち1.と2.あたりを軽く検証してみます。 事前準備 GCP側の設定 こちらからGCPのプロジェクトを作成/選択します 今回 Continue Reading

Posted On :
Category:

AirflowでDockerOperatorを動かす

Airflowは、ワークフローをプログラムで作成、スケジュール、および監視するためのプラットフォームです。仕事でAirflowを採用することにしたので、今回はAirflowをローカルPC上で動かして、DockerOperatorで任意のDockerコンテナを実行しつつ、必要な要素(DAG実行時のパラメータ指定とか環境変数渡しなど)を試していきたいと思います。 Airflowについて 公式のトップページから引っ張ってきただけですが、以下のような原則・特徴があるそうです。 原則 スケーラブル Airflowはモジュール化されたアーキテクチャを備えていて、Messageキューを使用して任意の数のワーカーを調整でき、無限に拡張できる 動的 AirflowのパイプラインはPythonで定義されており、動的にパイプラインを生成することができる 拡張可能 独自の演算子を簡単に定義し、ライブラリを拡張して Continue Reading

Posted On :
Category:

Poetry+direnvで環境管理しているPythonアプリをVS Code上でDebug実行する

ここ最近Pythonのローカル開発環境においては、Poetryで仮想環境+パッケージ管理を行い、direnvで環境変数管理を行うスタンスなのですが、VS Code上でDebug実行しようと思ったら少し設定が必要だったのでメモ的に残しておきます。 Poetry Poetryは仮想環境構築とパッケージ管理をまとめて実行できる便利なツールです。つまり、venvとpipの代替ツールとなります。詳細は以前記事を書いたのでそちらを参照ください。 poetryでパッケージ・仮想環境を管理 direnv 12 factor を意識して、設定は環境変数に格納するというのが一般的になってきていると思いますが、ターミナルであるディレクトリにcdしたさいに、現在のディレクトリもしくは親ディレクトリを探索して、.envrcが存在していた場合そこに記載されている内容を環境変数にロードしてくれる便利なツールです。別のデ Continue Reading

Posted On :

Vue.js, TypeScript, FirebaseでChrome Extensionを作った

任意のWEBサイトに自分用のメモを残すことができる Chrome Extension を作って公開しました。 plaintextモード or markdownモードでメモを取ることができます。よければ使ってみてください。 この記事では、このChrome拡張開発のコアな部分が出来上がるまでについて紹介していこうと思います。 Web Storeリンク https://chrome.google.com/webstore/detail/memorun/lhkibcggoojcpjmigjohdlgfgjdbjkpb 紹介動画 使用している技術 Chrome Extension Vue.js + Vuetify TypeScript Firebase Authentication Cloud Firestore Cloud Function(この記事では出てきません) Vue.jsを使ったChro Continue Reading

Posted On :
Category:

ローカルPCでWEBサーバを立ち上げ静的ファイルをSERVEする4つの方法

最近スクレイピングをすることが多いのですが、開発時に動作確認のために条件に合うWEBサイトを探し出すのが大変なので、ローカルPC上でWEBサーバを立ち上げて静的ファイルをSERVEしたくなることが多いです。 ローカルPCで簡単に静的WEBサーバを立ち上げる方法を4つほど紹介しようと思います。 VS Code の Live Server(おすすめ) 自分は知らなかったのですが、VS Codeの拡張機能でLive Serverというものがあります。静的および動的ページのライブリロード機能を備えたローカル開発サーバーを起動してくれる拡張機能です。こちらに特徴が列挙してあります。 インストール VS CodeのExtensionsからLive Serverを検索してインストールします 使い方 一番お手軽な方法は、対象のファイルを右クリックして、Open with Live Serverする方法です Continue Reading

Posted On :
Category:

Chrome ExtensionをWeb Storeに公開する

WEBページに個人用のメモを残せるChrome拡張を作成しているのですが、だいたい作り終わったので、公開しました。 一度申請して拒否されてしまい、今は二回目の申請で公開されたのですが、どう書いて申請したか紹介している記事が少ない印象なので、なるべく具体的に紹介してみたいと思います。 ちなみに、作ったChrome拡張はこちらです。よければ使ってみてください。 https://chrome.google.com/webstore/detail/memorun/lhkibcggoojcpjmigjohdlgfgjdbjkpb?hl=ja 1回目 => 拒否 以下のサイトをベースに作業を進めました。 https://developer.chrome.com/webstore/publish 開発者アカウントを作成 開発者コンソールに初回アクセスする際に、開発者アカウントの作成を要求されます。 Continue Reading

Posted On :
Category:

VuetifyのリセットCSSの影響範囲をVuetify適用範囲内に限定する

Vuetify は、とても使いやすいVue UIコンポーネントを提供してくれるライブラリなのですが、リセットCSSが強制的にページ全体に適用されてしまうため、既存ページの一部分にVuetifyを使いたくてもその外側のデザインが崩れてしまうことがあります。 ここではその問題を回避する方法について紹介します。 リセットCSSとは リセットCSSとは各ブラウザがデフォルトで適用するCSSの差異の影響で画面のデザインが変わってしまわない様に、ブラウザが適用するCSSを打ち消すためのものらしいです。 VuetifyのリセットCSS VuetifyのリセットCSSは以下で、これが強制的に適用されます。 https://github.com/vuetifyjs/vuetify/blob/master/packages/vuetify/src/styles/generic/_reset.scss 例えば、 Continue Reading

Posted On :
Category:

pythonのGeneratorとAsyncGeneratorの使い方

pythonの generator について、yieldはもともとたまに使ってたのですが sendやreturnもできること 非同期処理でも使えること を知ったので、軽く記事を書いておこうと思います。 ジェネレータ(Generator) ジェネレータ関数は、値を返す代わりにジェネレータ(一連の値を返す特殊なイテレータ)を返す関数で、yieldキーワードを含む関数はジェネレータ関数です。 ジェネレータ関数の中でyieldが呼び出されると、一旦ジェネレータ関数は一時停止して呼び出しの処理が実行されます。次にジェネレータの__next__()が呼び出される(for文やnext(gen)など)と、ジェネレータ関数の処理が再開されます。 Listを返して処理できるケースであれば、ジェネレータ関数にする必要はないと思いますが、 値をyield(生成)した時の状態で何か処理をしたい場合(Listにすると Continue Reading

Posted On :
Category:

Spark(with Yarn)におけるメモリ設定

Dataprocで Spark を利用することがあるのですが、メモリに関する設定でいつもよく分からなくなるので、備忘録的に残しておきます。Resource Managerに Hadoop Yarn を利用しているケースになります。 メモリ設定の包含関係 Sparkに関する設定はこちら、Yarnに関する設定はこちらに書いてあります。 各Executorノードのメモリ設定は以下のような包含関係になっているようです。 マシンメモリ OS その他 yarn.nodemanager.resource.memory-mbコンテナに割り当て可能な物理メモリ spark.executor.memoryOverhead1ExecutorあたりのVMオーバーヘッド、インターン化文字列、その他Nativeオーバヘッドなど spark.executor.memory1Executorが利用する最大メモリサイズ s Continue Reading

Posted On :