さて、このブログはいくら稼いでると思いますか?

こんにちは、

唐突ですが、このブログ(一生ヘタレプログラマー)は、

月間いくら稼いでるとおもいますでしょうか?

ブロガーにAdSenseの広告を表示させており、

閲覧数やクリック数に応じて広告収入が入って来ます。

趣味の範囲で

お小遣いを稼ごうと考えている方がいれば、

『やめた方が良い』です。

全く稼げていません。

むしろ年間のドメイン費用が原因で赤字です。

人件費は無視しても赤字です。

ランニングコストの部分だけで赤字です。

もし、それでもブログの広告収入で稼ぎたいと思っている方が入れば、

完全無料でブログ運用できるこの、

ブロガーとかを利用して練習したほうが良いです。

もし、この記事にたどりつた人がいれば、

興味のある広告が出てたら、

クリックなどしてくれると嬉しいなぁ。

最近まとまりが無い

 タイトル通りで、最近のワタシのブログは、

技術なのか、日記なのが、資産運用なのか、ゲームなのか

全くもって、まとまりが無い、

そんな事も書いちゃうワタシ。

自由気ままなブログでやっていきます。

コロナに負けずに頑張りましょう。

一生ヘタレプログラマー


iOS14系から デバッグビルドがしずらくなった?

 こんばんは、

表題の通り、

現在(2021/05/28) アプリを申請するにはXcode12以上でビルドした物が必須

しかし、企業のアプリなどで、Xcode11で開発していて、

iOS 14系での動作が要件になっているものがあった。

以前は、古いXcodeでも、設定ファイルのようなデータをXcodeにいれれば、 

デバッグビルドが出来ていた。

例えば、

Xcode10でiOS13をデバッグビルドするなど。

しかし、

iOS14からは、それが出来なくなった様子

Xcode11 でIOS14の端末に向かってビルドしてアプリを流す所まではできるが、

デバッグビルドが出来ず、

ブレイクポイントを設置してのデバッグ作業が出来なくなった。

不便・・・・。

まぁ、今年は

新しいiOS15 やXcode13がでると思うので・・・。

そのタイミングでも良いのかも。

AdSense 税務情報の管理

設定をはよしておけ、と警告がきてました。

ちゃんと、入力しておかないと、
収益の一部がアメリカへ税金として
取られるのでちゃんと行いましょう。
人によっては、課税対象の方もいるかと思いますが、
大半の個人の方は、税率0%になるはずですよね?

承認された事になってるので、これでまるまるもらえるはず。




ドコモユーザーの方で子供用の携帯電話は、ahamo (アハモ)にする必要は無いかも。 

4月から中学生となり、子供専用のスマホを用意しました。

まずは、画像を見てください。




利用の仕方にもよりますが、

3月は1081円です!

ahamoの基本料金より、断然安く仕上がってます。

2月から携帯電話与えて、3月はまるまる一ヶ月利用しています。

主に、Lineや家での利用がメインなので、家ではWIFIでLineを利用する流れです。

機種に関しては、メルカリで購入した、iPhoneSE(初代 5000円)の白ロムにしました。

色々と条件はありますが、

子供の場合は、自分が利用していた iPhone系なら古い端末でも十分に利用が可能なので。

あと、ギガライト2も、1GBの上限設定を入れても良いですね。

そうすれば安心安全かと思います。

みんなどこも割+ドモコのロング学割(U22)+ドモコのロング学割(期間限定)で

2000円も割引です。(タイミングがすごく良かった。)

本当は端末保証も入れたいですが、ドコモで購入している物では無いので入れてません。

端末保証は、一回交換で 5000円 くらいするので、中古で購入すればよいかなと。

子供のスマホをahamoで契約しようとしている人は、一度検討してみてください。

タイミングなどによっては、だいぶ良さげな金額になるかと思います。


んじゃ またね

資産になるものならないもの。

資産って聞いて、改めて考えて見た。

自分の中で考えた資産の定義は、

長期的に価値があり、更にその価値で金銭を増やす事ができる、物体や行為。

そう、簡単に言えば、借金ナシの土地や家、株券などの事を指しています。

無収入の、ブログ、note、youtube、スマホアプリなどは、あまりにも短期的なもので、

資産とは言いにくいものばかりだと思います。

先程あげたサービス?に関しては、非常に流行に左右されるし、

回転(出てきては消え)が激しく、資産とは言いにくい物なのでは?

と考えています。

広告収入も他人の広告費用に依存していたり、

Googleなどの大企業のさじ加減で簡単にルール変更がされてしまいます。

例えば、 youtubeの広告を掲載する条件など。

以前は、登録者1000人以上などのルールはなく、

誰でも動一本から収益を得られた感じです。

そのルールのおかげで、既存のユーザーにお金が回ってきた気がしますが・・・。

あと、一発系(事件事故、暴露系)の炎上系ユーチューブチャンネルは減った気がします。

脱線しました。

また、一発で大きなお金を得ようとせず。

地道に少しづつ堅実にが、

リスクも少なく、増やせる手段なのでは? と思ってます。

ブログ、youtube、アプリなどで、

googleのAdSenseにお世話になっておりますが、

自由気ままに、好きな時タイミングでこういった感じで書いたり

アプリを公開したりしていますが、

月に得られる収益は ✗✗✗円 しかもらえません。

しかも

8000円以上にならないと、現金化もできないです。

無料で得られる収益は本当に趣味の範囲だと微々たる物です。

なので、投資信託(NISA)有料で運用する分、リスクもありますが、

その分リターンもあります。

今、個人的に、おすすめは、投資信託で毎月数千円投資する。

これが一番なのでは?と思ってます。

長期戦となるので、年齢は早いうちから取り掛かるべきなのかなと思ってます。

みんなで、資産をどんどん増やしてみましょう。

そして、おごってください。

んじゃ、またね。

Go言語(Golang)をはじめました

きっかけ

仕事でGo言語を使うことになりました。それまでは別の言語での開発が中心でしたが、プロジェクトの要件上、Goを使ったサーバーサイド開発に携わることになりました。

正直なところ、最初はかなり戸惑いました。Goは他の言語と比べてシンプルな構文を持つ一方で、型の扱い方やエラーハンドリングのスタイルが独特で、「なぜこう書かなければならないのか」と思う場面が多々ありました。コンパイルエラーが出るたびに調べ、試して、また失敗して……という繰り返しが続き、最初の数週間はかなり苦労しました。

しかし、そこで助けになったのが一緒に実装を進めてくれる経験豊富なメンバーの存在です。詰まったときに的確なアドバイスをもらいながら少しずつ理解が深まり、気がつけばある程度スムーズにコードが書けるようになっていました。今振り返ると、最初の壁を乗り越えられたのはチームの力が大きかったと感じています。


現在の開発環境

現在のローカル開発環境は以下の構成で進めています。

  • 言語: Go(Golang)
  • DB: MySQL(Dockerコンテナで起動)
  • ORM: GORM
  • エディタ: Visual Studio Code
  • コンテナ: Docker / Docker Compose

Visual Studio Codeは拡張機能が充実しており、Go用の拡張(golang.go)を入れるだけで補完・フォーマット・デバッグ・テスト実行がほぼすべてエディタ上から行えます。以前はターミナルを行き来することも多かったのですが、今はVSCodeのサイドバーやコマンドパレットから大半の操作が完結するので、開発体験が大きく向上したと感じています。

DockerでMySQLを立ち上げているため、ローカル環境の構築もdocker-compose up一発で完了します。環境の再現性が高く、チームメンバーとの環境差異もほとんど出ないのは大きなメリットです。


今取り組んでいること

現在メインで取り組んでいるのは以下の3点です。

① GORMを使ったDB操作 GORMはGoのORMライブラリで、SQLを直接書かずにGoの構造体を通じてDBを操作できます。マイグレーション、クエリ、リレーションの扱いなど、最初は複雑に感じましたが、慣れてくると非常に直感的に書けるようになりました。

② 単体テスト Goは標準ライブラリにtestingパッケージが含まれており、外部ライブラリなしに単体テストが書けます。VSCodeから直接テストを実行できるため、コードを書いてすぐに検証できる点が気に入っています。モックの使い方やテーブル駆動テストのパターンなど、まだ学ぶことは多いですが、テストを書く習慣が身についてきました。

③ デバッグ VSCodeのデバッグ機能(Delve)を使って、ブレークポイントを設定しながらGoのコードを追えるようになりました。実行時の変数の状態を確認しながら原因を特定できるので、バグ修正の効率が格段に上がりました。


今後の学習・展望

現時点では「動くコードが書けるようになった」段階ですが、今後はより深くGoを理解していきたいと考えています。具体的に取り組んでいきたいテーマは以下の通りです。

Goらしい書き方を身につける

Goにはいわゆる「イディオム」があります。インターフェースの使い方、goroutineとchannelを使った並行処理、エラーハンドリングのベストプラクティスなど、「動くコード」と「Goらしいコード」の間にはまだ大きな差があります。コードレビューを通じてフィードバックをもらいながら、少しずつGoのスタイルを吸収していきたいと思っています。

並行処理(goroutine / channel)を理解する

GoはもともとC言語の設計者が開発した言語であり、並行処理が得意な言語として知られています。goroutinechannelを使えば、シンプルな構文で非同期処理を記述できますが、適切に扱わないとレースコンディションやデッドロックといった問題が発生します。この辺りはまだ理解が浅いため、実際にコードを書きながら理解を深めていく予定です。

パフォーマンスを意識した実装

サーバーサイド開発ではレスポンスタイムやリソース効率も重要です。Goはpprof(プロファイリングツール)が標準で使えるため、ボトルネックの特定や最適化に活用できます。まずは基本的な使い方を学び、実際のコードに適用してみたいと考えています。

テストの品質を上げる

単体テストは書けるようになってきましたが、テストカバレッジの向上、モックの活用、統合テストへの取り組みなど、まだまだ改善の余地があります。テストコードの品質がプロダクトの品質に直結するという意識を持ちながら、継続的に改善していきたいと思っています。

書籍や公式ドキュメントを活用する

業務を通じた実践的な学習は非常に有効ですが、体系的な知識を身につけるためには書籍も有効だと感じています。現在候補として考えているのは以下のような書籍です。

  • 『プログラミング言語Go』(Alan A. A. Donovan, Brian W. Kernighan著):通称「The Go Programming Language」。Goの仕様や設計思想を深く理解したい方に向いている定番書。
  • 『Go言語による並行処理』(Katherine Cox-Buday著):goroutineやchannelを体系的に学べる一冊。並行処理の理解を深めたい段階で読む予定。

公式ドキュメント(https://golang.org/)も非常に充実しているため、まずは公式のチュートリアルやEffective Goを読み込むことも計画しています。


まとめ

Go言語は最初のハードルこそありましたが、慣れてくると書いていて気持ちのいい言語だと感じています。型が明確で、コードが読みやすく、ツールチェーンが整っている点が特に気に入っています。

まだ実装スピードは決して速くありませんし、わからないことも山積みですが、一つひとつ着実に習得していくつもりです。このブログでは今後、業務でハマったポイントや学んだことをメモとして残していく予定ですので、同じようにGoを学んでいる方の参考に少しでもなれれば幸いです。

引き続きよろしくお願いします。

AdSenseようやく、8000円になりそう。

 AdSenseに登録して、広告が表示できるようになって、

何年たったでしょうか。

もう、すでに4、5年は過ぎている気がします。

タイトルにもありましたが、

ようやく、現金化できる金額に近づいてきました。

現金化が近くなると、色々と手続きが必要で

アメリカの納税関連? みたいな書類なども記載義務が会ったり、

申請しくると、アメリカの所得税?みたいのが取られたりするようなので、

googleで検索しまくって色々確認していました。

初めての事でより勉強になりました。

このAdSenseの収入は基本的に私の場合は雑所得に該当するが、

数十万? くらいにならなければ、とりあえずは大丈夫そうなど。

実際、現金を得るための時間や私自身のコストも考えると大赤字となるので、

あれですが。

とりあえず、そのお金で美味しいものでも食べる為に使おうと思ってます。

んじゃ またね。


Nginxで "413 Request Entity Too Large" と怒られた。

とりあえず。

nginx.conf の client_max_body_size を アップ可能なサイズに変更するだけ。


【Mysql】utf8 → utf8mb4へ変えたらエラーが出た。

古いサーバーを利用していて、
utf8 → utf8mb4に設定変更したら

下記mysqlにログインしようとすると下記が出るようになった。

 mysql: Character set 'utf8' is not a compiled character set and is not specified in the '/usr/share/mysql/charsets/Index.xml' file

上記のxmlも設定変更しています。

my.cnfを下記に修正

vi /etc/my.cnf
[mysqld]

character-set-server = utf8mb4
[client]

default-character-set = utf8mb4