しがないエンジニアは日々勉強

GCP, AWS, Docker, フリーランス, Deep Learning, Python, PHP, Unity

【封筒】この封筒は82円?92円? 自動計算ツール

封筒の切手

皆様こんにちは。

 

切手料金の自動計算機

cm
cm
cm
g
 
 

書類などを封筒で送る時、この封筒はいくらの切手を貼ればいいの?って悩むことあると思うんです。(僕は毎回悩みます)

 

ってわけで…切手料金の自動計算機を作りました。こういうのが郵便局のホームページにあると良いと思うんですけれど。。

  

定形?定形外?重さ?規格外?って悩まなくて良いんですよね。サイズと重さ測ったら、結果的にそこが決まってくるわけで。

ということで、↑の表に大きさと重さを入れれば料金が出ます。

 

こういうありそうでなかった、あると便利なものを作っていきたいです。

 

ではではまた。

【フリーランス】名刺?エンジニアに必要?

真夜中にこんばんは。

フリーランスエンジニアに名刺って必要? 

フリーランスに名刺は必要ない!と紹介している人もいらっしゃいますが、あるに越したことは無いです。

人の印象に残るという事はとても大切なことです。 …もちろん悪い方向じゃダメですよ?そして、印象に残った上で思い出してもらえるなにかがあることが大事です。

「かなり前に、~の現場で出会ったあの人!えっとなんだっけ、なんて名前の人だっけ…連絡先は…忘れた!名刺も貰ってなかったし…」

な~んて思い出してもらえなかったら、ビジネスチャンスを逃してしまいます。

先に言っておきますが、名刺作成会社の回し者でも無いですし、アフィリエイトも貼っていません。その上で、少し紹介したいと思います。自分の備忘録代わりも兼ねて。

個性あふれる名刺

名刺というと、私達が想像するのは、白いカード型の紙に文字が書いてあって~って想像しますよね。
ただ、それだと印象には残りません。たくさん名刺交換した人の中のひとりで終わってしまいます。

・透明名刺

私の中でとても印象的だった名刺は、知り合いのプロカメラマンが作った名刺があって、それが「透明名刺」なんですね。

meishihonpo.com

一昔前だと、恐らくこういう名刺をビジネスとして使用すると、少しチャラいようなイメージがあったかな。

でも、今の世の中なら逆に好印象。こだわりがある!と思われるプラスの方に動きます。

なにより、やる気がある、本気だ、ってことをこれだけでも伝わりやすくなります。

・プレミアム感のある名刺

以前、SEとしてでなく音楽家として活動していた際、vistaprint さんで一度作ったことがあるんですが、その vistaprint さんの「DECO名刺」も高級感があって好印象の名刺です。

www.vistaprint.jp

f:id:yuda1k:20190629033059p:plain

めちゃめちゃキレイじゃないですか?こんな綺麗なのもらったら、大事にとっておきたくなりますよね!

まとめ

今日はフリーランスエンジニアにとって、必要性に賛否両論ある名刺について紹介してみました。

名刺って、持っているだけでも「しっかりしなきゃ!」って気分になりません?(自分だけ?

たかが名刺、されど名刺です。

しっかりした名刺を持つことは、必ずどこかで役に立つ時が来ます

と偉そうなことを言いましたが、まずは03番号の取得と、オフィスとしての住所を都内で取得しなければ。

バーチャルオフィス周りの話はまた次回。

それではでは。

【フリーランス】 屋号って決めなきゃダメ?

こんばんは、今日はフリーランスとなるにあたって、屋号とはなんぞやと。

 

「屋号」は、将来会社名になるものだーくらいに思っておこう。

法人化するときがくれば、それをそのまま会社名として使用できる。

 

個人事業主でやっていきたい!ってだけなら、決めなくても良いんだけどね。面倒くさがり屋さんならスルーしていい部分。

 

メリット

  • よほど名が通った有名人で無い限り、屋号を使用して活動を行ったほうが信頼がある
  • 法人化するときにスムーズ
  • 名刺を渡す時にインパクトがある
  • やる気が出る

 

デメリット

  • 考えるのがめんどい
  • あとで変えたくなったら変えられるけど、名刺も変えなきゃいけない

 

とまあ、何より、考えるのが面倒だよね。無しなら無しで良いかな。

こういうことやってました~とかの自己紹介ホームページとか作りたいから、僕はドメインと一緒に登録しますがね。

【フリーランス】何が経費になる?

今日のお題は「経費」です。  

会社員と比較して、フリーランス最大の利点と言ってもいいあの経費です!  

何を経費にしていいかって迷ってしまいますよね。

そこで、いくつか具体例で考えてみましょう。

番号 内容
1 打ち合わせに行くために交通費を経費にした。
2 会社員からフリーランスになるにあたって、新しい名刺を新調し、それを経費にあてた。
3 オンラインプログラミング学習の月額会費を経費にした。
4 家の光熱費を経費にした。
5 仕事で身体が疲労したので、マッサージ費を経費にした。
6 飲み会の費用を経費にした。

さて、上の5つですが、皆さんわかりますか?  

共通して考える考え方としては…  

仕事をする上で、それは関係しているか?  

これに尽きます。答え合わせをしていきましょう。

番号 内容 答え 解説
1 打ち合わせに行くために交通費を経費にした。 OK 仕事にしっかり関係しています。ただし、仕事に関係なく回り道などしたらいけません。
2 会社員からフリーランスになるにあたって、新しい名刺を新調し、それを経費にあてた。 OK 仕事に関係ある名刺ならもちろん経費になります。
3 オンラインプログラミング学習の月額会費を経費にした。 OK これも一見迷いそうですが、仕事の質の向上の為、など仕事と関連付けられる費用なので問題なし。
4 家の光熱費を経費にした。 一部OK どの程度の仕事を家で行ったか、申告者のさじ加減で決まります。100%はもちろんダメです。寝ずにずっと働き続けるわけではありませんので。詳しくは家事按分でググってください。
5 仕事で身体が疲労したので、マッサージ費を経費にした。 NG えっ、これダメなの?と感じる人もいるかもしれません。マッサージがOKとなるには、例えば医師からの指示による治療目的であれば医療費控除の対象。取引先と何かしらの関係がある接待目的でのマッサージであれば、接待交際費に当てることができます。
6 飲み会の費用を経費にした。 場合によってはOK 飲み会にいた相手が仕事関係の人であれば経費になります。単なる地元の友人と飲みに行く、などでは経費になりません。

こう考えると、少しでも仕事に関わったものに囲まれる日々を送ることが、色々と経費申請ができて、オトクな日々が過ごせるかもしれませんね。

【フリーランス】国民健康保険 国民年金

1. 健康保険

フリーランスになると、全て(といっても大げさですが)のことを自分でやらなければいけません。

 

 まず第一に国民健康保険に加入!いわゆる国保ですね。

会社員の時点では社会保険に入っているわけですが、会社員ではなくなるにあたって自分で加入しなければなりません。

 

私が所属していた直近の某株式会社は、会社員として働いている時でも、国民健康保険に入っていたブラック企業なわけですが。。(訴えたらなんとかなるのか、これ?)

 

2. 年金

よく、年金を国に払うくらいなら自分で貯金をしたほうが返ってくるお金が多いなんて言っている人をよくみます。

言いたいことはわかります、が!年金を払うのは義務なので、そこは認識しておきましょう。払っていないと国から嫌な目で見られます。直接何かバツがあるわけでは無いですがね。

 

 

フリーランスが普通の会社員と違うのはこの国民年金も大きいです。年金というのは大枠です。ここで、少し細かく2種類にわけて説明します。

 

  • 国民年金
    日本国民全員が支払うべき年金です。フリーランスになっても、もちろん払います。
  • 厚生年金
    会社員の時に会社と半分ずつして払っていた年金です。フリーランスになったらこれがなくなります。

 

以上を踏まえて「あれ?フリーランスのほうが払わなきゃいけない年金が少ないの?ラッキー!」と思ってはいけません

 

払う分が少ないということは、それだけ返ってくるお金が少なくなるということ。こう考えると、会社員だった時は自分に返ってくるお金の分を、会社がある程度負担してくれていたわけですね。そういう点では会社員は恵まれています。

 

フリーランスだけど、後の年金を増やしたい!って人には国民年金基金などのシステムもあります。この国民年金基金は、もちろん控除対象になるので節税にも一役買ってくれます。控除関係については、またこれから触れていきたいと思います。

 

 

【課税所得】 ボーダーを少し超えても損はしない

皆様こんばんは。

7月末をもって会社を退職することが決定しましたしがないエンジニアです。

今働いているところはSESしかやっていない会社なのですが、私の手元に給料が入ってくるまでに思いっきりお金が引かれてしまっているので辞めることを決心しました。

主に今いるところの社長が差っ引いているんですが、何度給料の交渉をしても一切上げてくれないので、一旦フリーにでもなって稼げるようになろうかな~と。

フリーになるにあたって、勉強したこと、やったほうが良かったことなど記事にしていきます。

既に税金のことやら、失業手当についてやら勉強しているところです。
まず今日始めて知ったこと。

以下の表は課税所得の表です。

※ 課税所得 = 売上-経費-控除

課税所得 税率
195 万円以下 5%
195 万円超 330 万円以下 10%
330 万円超 695 万円以下 20%
695 万円超 900 万円以下 23%
900 万円超 1800 万円以下 33%
1800 万円超 4000 万円以下 40%
4000 万円超 45%

さて、ここでよく勘違いしがちなのが以下です。

A 課税所得 195 万円 B 課税所得 196 万円
195 万円 × 5% = 9.75 万円 196 万円 × 10% = 19.6 万円
195 万円 - 9.75 万円 =185.25 万円 196 万円 - 19.6 万円 = 176.4 万円

195 万円を少し超えるくらいじゃ損じゃん!195 万円を超えるなら思いっきり超えないと損しちゃう!

………あなたはこの間違いがわかりますか?
私は少なくとも今日までこういうふうに思っている人間でした。


累進課税制度というものがあり、超えた分にその税率が適用されるので、上記は間違いです。
なので、正しくは、

A 課税所得 195 万円 B 課税所得 196 万円
195 万円 × 5% = 9.75 万円 195 万円 × 5% = 9.75 万円
1 万円 × 10% = 0.1 万円
195 万円 - 9.75 万円 =185.25 万円 196 万円 - (9.75 万円 + 0.1 万円) = 186.15 万円

となります。

稼げば稼ぐほど純粋に増えるようにはなっているのですね。

【GCP】お手軽無料! HTTPS の Redmine docker

2022/04/10 追記

下記サイトにて、最近また GCP での構築を同様に行ってみたのでそちらを参考にして下さい。

daylifehack.com

概要

Redmine&docker-compose で、HTTPS を使いたいと思って調べたのですが、ドンピシャな情報がありませんでした。

Container-Optimized OS にて docker-compose コンテナなど使って試行錯誤しましたが、上手く行かなかったので通常のVMにて。

GCP上の無料枠で構築。証明書がオレオレなので、半分くらい真面目な構築です。
小さいインスタンスの割に意外とサクサク動く HTTPS 無料 Redmine

GCP は新規作成でなくともよいが、GCE の Always Free 枠が空いていることが前提です。(無料がいいなら)

GCP登録

GCE は作成するにあたって、無料トライアルを登録必須。 GCPプロジェクトを作成。 1.png

インスタンス作成

Compute Engine ページで VM 作成。

2.png

さて、GCE の無料枠は以下のように (2019-06-13 現在) 書いてあるので、当てはまるように。

3.png

今回は↓のようにしました。

4.png

ここで注意したいのが、ディスクの容量はデフォルト10Gになっていますが、30Gまで無料 なのでせっかくなら30Gに変更しましょう。
「720時間が無料」ということは、30日間無料。
31日まである月は、ご丁寧にここが744時間になります。

まずはスワップファイル作成

無事に VM が作成完了。
メモリが非常に少ないので、スワップで補います。

$ sudo fallocate -l 4G /swapfile
$ sudo chmod 600 /swapfile
$ sudo mkswap /swapfile
$ sudo swapon /swapfile
$ echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab

オレオレ証明書作成

次に、SSH で中に入り証明書を作成。

5.png

サクッといきます。 最後の工程は結構時間がかかる(ことが多い)。

$ mkdir -p ~/redmine-docker/volumes/redmine/certs
$ cd ~/redmine-docker/volumes/redmine/certs
$ openssl genrsa -out redmine.key 2048
$ openssl req -new -key redmine.key -out redmine.csr
.
.
.
Country Name (2 letter code) [AU]:JP
State or Province Name (full name) [Some-State]:Tokyo
Locality Name (eg, city) []:Shibuya
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Redmine Test Corp.
Organizational Unit Name (eg, section) []:
Common Name (e.g. server FQDN or YOUR name) []:redmine.sample.local
Email Address []:
A challenge password []:
An optional company name []:

$ openssl x509 -req -days 3650 -in redmine.csr -signkey redmine.key -out redmine.crt
Signature ok
.
.
.
$ openssl dhparam -out dhparam.pem 2048
Generating DH parameters, 2048 bit long safe prime, generator 2
This is going to take a long time
.
.
.

タイムゾーンJST

$ sudo apt-get install -y dbus
$ sudo timedatectl set-timezone Asia/Tokyo

docker と docker-compose をインストール

docker 公式手順 に従ってインストールします。

docker インストール

$ sudo apt-get remove docker docker-engine docker.io containerd runc
$ sudo apt-get update
$ sudo apt-get install -y \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg2 \
    software-properties-common
$ curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -
$ sudo apt-key fingerprint 0EBFCD88
pub   rsa4096 2017-02-22 [SCEA]
      9DC8 5822 9FC7 DD38 854A  E2D8 8D81 803C 0EBF CD88
uid           [ unknown] Docker Release (CE deb) <docker@docker.com>
sub   rsa4096 2017-02-22 [S]
$ sudo add-apt-repository \
   "deb [arch=amd64] https://download.docker.com/linux/debian \
   $(lsb_release -cs) \
   stable"
$ sudo apt-get update
$ sudo apt-get install -y docker-ce docker-ce-cli containerd.io # ←気長に待つ
$ sudo usermod -aG docker $USER

ユーザーのdockerグループ追加の反映のために、ここで一旦SSHを抜ける (SSHウインドウを閉じる)。
そして再度SSHで中に。

$ docker run hello-world
.
.
.
Hello from Docker!
.
.
.

無事に docker のインストールが完了。
sudo なしで docker コマンドが実行できるようになりました。

ちなみに、docker グループへのユーザー追加はセキュリティの問題があるので注意しておきましょう。
詳しくは各自調べてください。

docker-compose インストール

$ sudo -i
# curl -L https://github.com/docker/compose/releases/download/1.24.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
# chmod +x /usr/local/bin/docker-compose
# exit
$ docker-compose --version
docker-compose version 1.24.0, build 0aa59064

無事に docker-compose もインストールが完了。

Redmine 用の docker-compose.yml 作成

~/redmine-docker/docker-compose.yml を作成します。
ブラウザ上のviで貼り付けようとすると (少なくとも私は) 上手くいかなかったので、右上の歯車アイコンからファイルを直接アップロードすると楽でした。

9.png

docker-compose.yml

version: '2'
services:
  postgresql:
    image: sameersbn/postgresql:9.6-4
    environment:
    - DB_USER=redmine
    - DB_PASS=password
    - DB_NAME=redmine_production

  redmine:
    image: sameersbn/redmine:4.0.3-2
    depends_on:
    - postgresql
    environment:
    - TZ=Asia/Tokyo

    - DB_ADAPTER=postgresql
    - DB_HOST=postgresql
    - DB_PORT=5432
    - DB_USER=redmine
    - DB_PASS=password
    - DB_NAME=redmine_production

    - REDMINE_PORT=443
    - REDMINE_HTTPS=true
    - REDMINE_RELATIVE_URL_ROOT=
    - REDMINE_SECRET_TOKEN=
    - NGINX_HSTS_MAXAGE=2592000
    
    - REDMINE_SUDO_MODE_ENABLED=false
    - REDMINE_SUDO_MODE_TIMEOUT=15

    - REDMINE_CONCURRENT_UPLOADS=2

    - REDMINE_BACKUP_SCHEDULE=
    - REDMINE_BACKUP_EXPIRY=
    - REDMINE_BACKUP_TIME=

    ports:
    - 443:443
    - 80:80
    volumes:
    - ./volumes/redmine/certs:/home/redmine/data/certs

ホームにアップロードされるので、 ~/redmine-docker/ 内に移動。

$ mv ~/docker-compose.yml ~/redmine-docker/docker-compose.yml

起動も気長に待ちましょう。

$ cd ~/redmine-docker/
$ docker-compose up -d

さて、GCEの外部IPのところをクリックしてアクセスすると… 7.png

オレオレ証明書のワンクッション。
詳細設定から「~ にアクセスする(安全ではありません)」を選択。 6.png

無事にオレオレ証明書を使用した Redmine が出来上がりました。

管理者
初期ID:admin
初期PW:admin
8.png

[参考]
https://sakura-bird1.hatenablog.com/entry/2019/03/12/034152
https://github.com/sameersbn/docker-redmine