偏屈エンジニアブログ

老害エンジニアの技術メモ

フリーランスの仕事傾向(1~3月)

確定申告でバタバタすぎで気づけば3月半ば。

1~3月でインフラの仕事の傾向がどうなったかをメモ。

メインで仕事受けてる所から去年末に依頼があった案件を受けた。

長期だと思わず受けてしまったが、めちゃ長くてどうするか悩む。。。

3か所ほどサイトに登録してるがどこも同じ傾向なので、

案件の流れには当たり前だが多い少ないが発生してそう。

インフラ周りなので、プログラマーとかはまた違った傾向なのかもしれない。

 

1月:全くないと言ってよい。今回は12月に進めて話でこの段階で決まる。

   開業年度もこの時期暇だったので、色々できたのだが年初からガッツリと。

2月:たまたまスポットの案件が入り対応した。

   雪も降ったので外出したくなかったのだが、オンサイト業務で行く羽目に。

   週1件位は応募したいなと思うものがありました。

3月:厳密には2月末から3月頭にかけて大量の案件が流れる。

   1月に決まって、2月にはスタートしてたのであきらめざる負えないけど、

   3月頭に案件拾う感じにすると案件のチョイスできそうでよさそう。

確定申告2

この時期にまだ整理が終わってないが、何とか昨日完了。

この手の作業が本当に向いてないのだろうと思う。

経費に合わせて整理をして、総勘定元帳の数字の推移を確認して、
おかしいところを場所の取引を確認して、修正する手順で進めた。

スポット発生するものは特に問題ないが定期発生するものが厄介。

整理したものからメモを抜粋。

家賃:前払いでプライベート資金。経費は家事案分するのでタグ付け。

 当年頭:12月に前払いした家賃も1/1で計上/事業主借

 当年末:12月に前払いした分は振替伝票でやる。損益レポート上はプラスに記載。

電気:翌月払いでプライベート資金。経費は家事案分するのでタグ付け。

 当年頭:2月に請求なので特に対応不要

 当年末:12月分を未払金で計上し、未精算で持ち越させる
     →翌年度支払日で未払金(未精算だとこうなる)を精算する。

Suica:前払い金でチャージするように仕訳したがあっているかは謎。。。

    これで指摘来てもしょうがないと思うので、ブログのネタにすると思う。

    色々ブログみたがしっくりこず、サポートにも問い合わせしたが正解わからず。

    クレカが連動してるせいで支払いとかがぐちゃぐちゃFreeeに(涙

    カードの収支はあってる形にしたので大丈夫だと思いたい。

 

どうにも本年も一山ありそうだが、とりあえず昨年度の俺お疲れ様でした。

Freeeで始めてみたものの、他の会計ソフトのが楽な可能性もあるので、

期限切れる前に他も検討してみたい。

確定申告

個人事業主になって初めての確定申告です。
勝手が違うのと元々金勘定が上手くない性格でなかなかつらい。

整理したことを忘れるのでメモ。

モデル:IT系の個人事業主でお家で作業。会計ソフトはfreee利用。

経費:毎月発生するのは以下

 案分:家賃、電気、wifi代(個人でも利用あるので案分した)

 全額:携帯(事業用に分けた)、AWS、Azure

決済:すべてfreeeに連携してます
 Dカード:携帯、Suica、備品とかの購入、AWS、Azure

 銀行:新生(収入とDカードの支払い)

 SuicaDカードで支払い(特に経理上はチャージは関係ない)

 

前払い:家賃

当月:wifi

後払い:電気、AWS、Azure

翌々月払い:wifi

 

家賃と電気は個人の口座だけど、wifiDカードで事業側で払う形で。

wifiは案分するので、切り替える必要なかったと後悔してます。

面倒なのでこのまま行くしかないです。

追記:

当月かと思ったら、翌々月払いなことが判明。どうやって入れるんだこれ。。。

追追記:

発生主義だからカードの明細日を確認して入れる形に変更。

カードの明細から自動で取り込まれるけど、日付がずれるので変更が必要そう。

 

前払いの家賃は、2022/12→2023/1の跨ぎで2023/1/1づけ地代家賃/主借で入れました。

逆に2023/12に払った分は前払い/事業主借で入れてる。

これを2024/1で地代家賃/事業主借の認識。

振替伝票で入れるようだが、この辺がfreeeでわかりずらい。

質問してようにも契約レベルあげないとダメらしい。

 

電気などの後払いの分は、1月に請求がくるので、

12/31付けで未払い伝票で処理して、翌1月の請求日に事業主借で処理する認識。

これもあってるか自信がない。

 

 

 

ApacheGuacamole環境の構築

記事にし忘れてので整理して掲載。

ApacheGuacamole(アパッチワカモレ)はWEB経由でリモートサーバに

RDPやSSHできる環境を提供するツールです。

各サーバに個々のセキュリティ設定が不要なこと、外部との接続口を一元化するので便利

参考ページのまま作業すればOKでした。

ただバージョンが古いままだとapt upgradeした後だとエラーでたので、

guacamoleのバージョンは1.5.4に整えてやりインストールしました。

connectorは8.0.30を利用しました。

他のサイトのものもやってみましたが、参考ページのやり方から少しでも変えると、

エラーになりかなり時間を浪費しました。。。 作者に感謝です。

使ったコマンドはメモで

```
sudo hostnamectl set-hostname gua3sv
sudo apt update -y
sudo apt upgrade -y
sudo apt install xdg-user-dirs-gtk -y
LANG=C xdg-user-dirs-gtk-update
sudo apt install language-pack-ja-base language-pack-ja -y
sudo localectl set-locale LANG=ja_JP.UTF-8
sudo timedatectl set-timezone 'Asia/Tokyo'

sudo apt install build-essential libcairo2-dev libjpeg-turbo8-dev libpng-dev libtool-bin uuid-dev libossp-uuid-dev
sudo apt install libavcodec-dev libavformat-dev libavutil-dev libswscale-dev freerdp2-dev libpango1.0-dev libssh2-1-dev libvncserver-dev libssl-dev libvorbis-dev libwebp-dev
wget -O "guacamole-server-1.5.4.tar.gz" https://apache.org/dyn/closer.lua/guacamole/1.5.4/source/guacamole-server-1.5.4.tar.gz?action=download
tar -xzf guacamole-server-1.5.4.tar.gz
cd guacamole-server-1.5.4
sudo ./configure --with-init-dir=/etc/init.d
sudo make
sudo make install
sudo ldconfig
sudo systemctl daemon-reload
sudo systemctl start guacd
sudo systemctl enable guacdsudo apt install tomcat9 tomcat9-admin tomcat9-common tomcat9-user -y
wget -O "guacamole-1.5.4.war" https://apache.org/dyn/closer.lua/guacamole/1.5.4/binary/guacamole-1.5.4.war?action=download
sudo mv guacamole-1.5.4.war /var/lib/tomcat9/webapps/guacamole.war
sudo systemctl restart tomcat9 guacd
echo "GUACAMOLE_HOME=/etc/guacamole" >> sudo /etc/default/tomcat9

sudo apt install mariadb-server -y
sudo mysql_secure_installation
sudo mkdir -p /etc/guacamole/extensions
sudo mkdir -p /etc/guacamole/lib
wget https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-8.0.30.tar.gz
tar -xf mysql-connector-java-8.0.30.tar.gz
sudo cp mysql-connector-java-8.0.30/mysql-connector-java-8.0.30.jar /etc/guacamole/lib/
wget -O "guacamole-auth-jdbc-1.5.4.tar.gz" https://apache.org/dyn/closer.lua/guacamole/1.5.4/binary/guacamole-auth-jdbc-1.5.4.tar.gz?action=download
tar -xf guacamole-auth-jdbc-1.5.4.tar.gz
sudo mv guacamole-auth-jdbc-1.5.4/mysql/guacamole-auth-jdbc-mysql-1.5.4.jar /etc/guacamole/extensions/
sudo mysql -u root -p
cd guacamole-auth-jdbc-1.5.4/mysql/schema/
cat *.sql | sudo mysql -u root -p db
sudo vi /etc/guacamole/guacamole.properties
sudo systemctl restart tomcat9 guacd mysql

```

参考ページ:

【備忘録】クライアントレスのApache Guacamoleを構築してみる (zenn.dev)

Installing Guacamole natively — Apache Guacamole Manual v1.5.4

正月からpython

あけましておめでとうございます。

正月のおみくじもついてなかったのでおっさんエンジニアです。

 

インフラの話だったはずが物がpythonのlambdaだったため、

コードの確認して移してく形にせざるおえない状況に。。。
そもそもpythonもよく分からないので、コード見て何となく雰囲気と変数とデータ格納を追って、動きを確認してくいくのだが基礎が必要になり、その際に参考したページのメモ記事を残す。

 

fromについて:

【Python】importとfrom の違い | Free Hero Blog

asについて:

【Python】import文のasの使い方 - 猫が蛇と戯れる (neko-py.com)

df処理:

【pandas入門】DataFrameを使ったデータの操作を覚えよう | 侍エンジニアブログ (sejuku.net)

lambdaでEFSのlibrary利用:
EFSにセットアップしたPythonライブラリをLambdaにimportする方法 #Python - Qiita

 

別環境に移植するのでEFSにある、ライブラリ環境をどう移行するか思案しないとダメなもよう。

頑張ったけどグダグダ。。。

注意:個人で調べた知見なので、内容の責任は負いませんのでご了承ください。


インボイス始まるのに色々対応してたのと、案件がプチ火災して身動きが取れてなかった。。。

最初申請しない予定でしたが、9月に受注があったとこから適格請求書発行事業者の番号を教えてと言われて、

初めていることに気づき9月頑張ってみたが結果ダメぽ。方法ぐにゃぐにゃでヤバすぎる。

整理した内容は、メモした方がいいかなと思い記事に書き留めてみました。

会計ソフト:

 freee(スタンダード)
売り手:

 事業:IT全般のサポート(5種)

 取引先:知り合いの会社(課税事業者)

買い手:

 経費:家賃、電気(家事案分)、AWS/Azureの利用料金(カード払い)、携帯

 

請求書は現在エクセルだったのを撤廃して、freeeに統一しました。

フォーマットと電子帳簿保存法の関係もあったので機会もらえてよかったかなと。

申請はe-Tax体制整えていたので、e-Taxで申請投げました。

リードタイム一か月とのことでしたが、今日(10/2)現在届かず。

どうも調べると登録番号なしで発行して、その後請求書と番号の紐づけするための、

証明書の取り交わしがいるようです。このパターンでやることになりそう。

→税務署に確認した。請求書は発行してしまって、番号の通知を後からしてやれば税務的にはOK。相手側のシステム次第の話。

→10/4に番号通知きました。e-Taxで1ヵ月まるまるなので、書類だともっとかかりそうです。

消費税の課税方式は2割特例があるが、元来は簡易課税か一般課税を選ぶようです。

特例期間中はどちらで消費税を出すかを選べるようなので、予め簡易課税の申請もしておきました。

 

ここまでは想定しましたが、完全に買い手視点が漏れてので慌てて確認中。

家賃は問い合わせ中ですが、契約書に番号の追記などをする形がスタンダードなようなので、

管理会社に事情を話して対応どうするか相談中です。

→確認して、大家さんの適格請求書発行が必要になるとことでした。
 既存で契約したケースでは適格請求書の証明を大家さんから出してもらい、

 その書類を保持しておけばOKとのこと。
 確定申告時に都度都度出すものではないもののようです。

 →大家さんは当たり前だが、適格請求書発行者でなかった。

  経費として、家賃は案分計上はできるが、そもそもが非課税なので
  消費税関連の動きは関係なし。情報が氾濫しすぎて混乱の日々。

電気に関してはWEB明細になってたので、確認するとインボイス発行できるようでした。

当社のインボイス発行方法のご案内|東京電力エナジーパートナー株式会社 (tepco.co.jp)

まだ検針結果の反映終わってないので、確認できずで不安あり。

携帯はドコモですが、インボイス対応の請求書に変更されるようです。

dカード | インボイス制度対応に関するご案内 (docomo.ne.jp)

 

随時追記してメモる。

ChatGPTでlambdaコード作成してみた

インフラでちょっとしたlambdaツールが欲しくなった。

言語の勉強もしてないのでどうするかと思って、ChatGPTでかけるのようなので書いてもらった。

昔の英訳ツールのイメージで使ってたが、世の中が騒ぐだけあってかなり動ける。

ただ注意するべき点があったのでそこをメモしておく。

・機密情報系は(アカウントIDなど)環境変数で外だしする。

 →コードをそのままコピペできるようになるのでよい。

・コード修正の条件付けに「問題のないコードは変更せず、問題のある部分のみ修正」を追加する

 →基本短いコードで出す習性があるので、指定しないと修正部分のみ回答する。

・全体をコピペで動かしたいときには「コード全体を稼働できる状態で」を追加する

 →コードの修正と同じでコメント入れてくれるので、コピペできるようにコメントは遠慮してもらうようにする。

・コードが長くなると対応できない。
 →修正&修正で長くなると全体出力ができない。色々試したが自分の知識では無理だった。
  →修正部分だけ出してもらって、そこをコピペで継ぎ足してる。

  →この意味で言語的にコンパクトにまとまる方がいのかも。

・コードが長くなり、コメントで元のやつからコピペしてねとなった状態で、
 前のコードを維持するように制限しても、そのコード部分がなかったことになる。
 →いわれればそうなので、もう一度覚えさせ直す必要がある。
  →コメント部分のコードを補完して修正してもらう。

・デバックしてIAMの権限エラーなどは聞かずに自分でやる。

 →エラーコードを盲目的に張ると余計な話になる。

・エラーコードは素直に張って修正してもらう。
 →昔はググってその内容を反映させたが、そのまま直してくれる。便利すぎ。

・コードの縮小のため、レイヤーに逃がせるものはレイヤーに逃がす。

 →pytyon使ったのだが、importしたいやつの稼働環境はレイヤーでまとめた。

・超重要だがエラーハンドリングは必要なので、検証環境があるべき。
 →まともに動くまではトライ&エラーでやったので残骸でまくり。
  思ってるよりコードを間違えてるので対話が必要(自分よりもうん億倍の性能だけどww)

  検証で動く目途つけて動くようにしてからリリースしたほうがよい。

 

所感:
なんの拍子か急にドラスティックにコード全体を変えるときがある。
この場合に追加の条件を投げ込むと、更にコードが変異して困るときがある。
生成されたコードは最低でも1個前と比べる必要ある。
もし違ってたら戻ってもらうように言わないとダメ。