【Reviews】自転車のライトを新調してみました(GENTOS 閃 SG-355B & CAT EYE OMNI5 TL-LD155-R)

cea5cd3e44c3209356d4a99bf2986071_s.jpg 今の自転車に乗り始めてから3年、その間に2回ライトを買いました。いずれも充電式。充電式は電池を入れる手間がなくコストが安く抑えられる……と思っていたんですが、

  • 充電バッテリーは案外持たないし、長時間持つものはデカい。高い。
  • 充電バッテリーは劣化で容量が減る。交換出来ないのでそのまま買い換え
  • 外出先で充電が切れたときに、リカバリ出来ない
といった問題があり、長期間使いつづけるには低コストとは言いがたいなあと思えてきました。その上最近は充電電池がものすごく安いので、必要本数の3倍ぐらい買っておいても大した額にならないし、ちゃんとした製品なら放電もほとんどないので予備として持ち歩くことも可能。ということで、ライトを電池式に交換してみました。

続きを読む

雇用契約か委託契約か(確定申告の観点から)

契約書のイラスト(印鑑)

昼働いている仕事は「出勤してタスクをこなす」という形態なのですが、出勤時間や出勤日は僕が自由に決められる上、細かい業務指示というようなものもほとんどなく、雇用契約にも委託契約にも出来るような内容になっています。今のところは会社にデスクがあるしパソコンの貸与も受けているので雇用契約だろうねということでそうしていますが、少し準備をするだけで委託契約に切り替えることも出来ます。

続きを読む

WordPressのカスタマイズを(たぶん)初めてしている件【#np2020】

「お前ほんとにWebデザインやってたのか」と言われかねない(多分言われる)ようなことですが、仕事・プライベート通じて初めてWordPressをカスタマイズしています。いや昔一度、自社サイトのCMSフレームワークとしてWordPressを使おうとして触ったことはあったんですけど、当時はまだ複数ブログを扱うには不安定なオープンソース版を入れないといけないような時代、つまりごく初期のWordPressで今とは似ても似つかわしくない状態でした。今のWordPressはほんとWebの知識があまりない人でも触りやすく、カスタマイズしやすい良いプロダクトになりましたね。プライベートで使ってるのが古いMovableTypeだから余計に思うのかも知れませんけれども。

続きを読む

サイト移行プロジェクトの現状【#np2020】

昨年11月に始めた現行サイトのサーバーアップデートとそれに伴うサイト移行プロジェクトですが、4ヶ月経った現在でもまだ移行出来る目途が立ってません。長い間に積もったものを一気に変えようとしているせいもあるし、課金をなるべく減らすべくローカルで作業しながら準備をしているせいで、作業は進んでも目に見える結果は何一つ出ていないというせいもあります。そもそも無い時間を縫って作業しているし。

続きを読む

JavaScript エラー「Uncaught SyntaxError: Unexpected end of input」への対応

記録されたエラーは下記の通り。

"message": "Uncaught SyntaxError: Unexpected end of input",
"file": "",
"lineNo": 1,
"colNo": 158,
"stack": "SyntaxError: Unexpected end of input",
"user_agent": "Mozilla/5.0 (Linux; Android 7.1.1; OPPO A79; Build/N6F26Q; wv) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.92 Mobile Safari/537.36 SogouMSE,SogouMobileBrowser/5.6.0"
このエラーは一般的にはコーディングのミスで発生するものです。例えば閉じ括弧を付け忘れたとか。 Uncaught SyntaxError: Unexpected end of inputというエラー でもこのエラーは長く安定して動いている(はずの)スクリプトで生じていて、十分にチェックしてもそのての文法ミスは見つかりません。しかも毎回記録されるわけではなく、何か特定の条件が重なったときにだけ記録されるようです。もし閉じ括弧の付け忘れなら、毎回エラーが記録されるはず。 致命的な問題にはなっていなさそうだけれど、気持ち悪いので調査を続けたところこんな情報が。

analog_MultiMeter: JSON.parseでハマった

原因 ChromeのJSON.parseは、空文字が入るとおかしなことになるらしい。 JSでは空文字列はfalse性を持つので、上記の対策で通るという事。 そのエラー発生は良いとしても、JSON.parse()のエラーでなくてEnd of Inputなんてわかりづらいエラー、それもHTMLの1行目なんかに出るのが悲しい。

なるほど。 ChromeのJSON.parse()に空文字を入れるとエラーになると。エラーログからでは具体的にどのJavaScriptファイルでエラーが出ているのかわからないし、そもそも1行目のエラーとなっていて問題の特定が難しかったけれど、幸いサイト内で「JSON.parse()」を使っている部分は限られていたので、そこを改修。 もともと発生頻度の低いエラーなのでこれで効果があるかどうかは不明だが、しばらく様子を見たいと思います。 ちなみに僕が見た環境での「JSON.parse()」は、こんな感じで使われていました。
function (error) {
var obj_error = JSON.parse(error);
}
どこかで生じたエラーをキャッチしてエラー処理を行う的な感じの部分。errorはエラーメッセージを格納するようでPHPとの連携がある部分なんですが、コードを追っていくとどうやら、一部の古いコードで例外は投げるがエラーメッセージは投げない、という処理がなされている模様。それがJavaScript側に渡され、空のerrorが作られ、それを JSON.parse() しようとしてエラーが出る……みたいな流れ。 そう考えると悪いのはPHPのコードの方なんじゃないのという気もしないでもないけど、だとしても空文字に対する処理は必要だし。とりあえず解決したっぽくて良かった。

続きを読む

源泉徴収(乙)が重い

過労のイラスト(男性) 本業である飲食業(正確に言うと本業は個人事業主でありイベント出店やケータリング、個人で請け負うWeb制作なので、飲食業は「メインの副業」)の収入が減り続けて生活が苦しいので、かつて働いていた会社にエンジニアとして復帰しました。そこでは自分の裁量で働く時間が決められるので、余裕がある月は多めにシフトインするなどした結果、本業を補うほどの収入になってなんとか生活を立て直すことが出来ました。あのまま飲食業で収入を作っていたら、破産するところだった。危ない。 とはいえ今でも状況が改善すれば飲食業に週5日フルで入る気はあり、実際繁忙期にはかなりの頻度で入っていて本業であることは変わっていないので、収入が少し減ってからも引き続き源泉徴収は甲だし、社会保険にも入れてもらっています。ただねえ、一時的とはいえ少し増えた収入で支払う源泉徴収(乙)がすごいツラい。一般的には乙に該当する収入は少なく、それ以上に甲に該当する収入があるはずだということになるので、乙の源泉徴収額が多いことは理に適っているし、仮に多く払いすぎたとしても確定申告すれば戻ってくる話なので良いのだけど、ただ月の収入がそれで削られるのが。 具体的な僕の収入は出せないのであくまで例示ですが、例えば月の総支給額が10万円で社会保険等にも入っていなかった場合、源泉徴収税額票(平成31年分)では扶養家族0人の甲が720円なのに対し、乙は2,880円。この差は額が大きくなればなるほど大きくなって、20万円の場合は甲が4,770円で乙が20,900円、30万円の場合は甲が8,420円で乙が52,900円。

課税対象差額
10万円720円3,600円2,880円
15万円2,980円8,700円5,720円
20万円4,770円20,900円16,130円
25万円6,530円36,400円29,870円
30万円8,420円52,900円44,480円
もしもう片方の収入が88,000円以下だった場合、最終的な所得税額は甲の合計に近くなるので、この年度の所得税還付金は甲乙の差額の合計、10万円だった場合には3.5万円ほど、20万円の場合には19万円ほどにもなります。ここまで行ったらさすがに甲乙入れ替えろよという話ではありますけど(会社の経理が申請するんだっけ)、僕の場合はまだそこまでは行きません。あくまでサブ的な収入なので。ただもし仮にそこまで行ったとして、バキッと甲乙の変更を決められるかというと……難しいところですね。再び飲食業に時間を掛けられるようになってじゃあまた労働条件をイチから整備しましょうか、ってなってもなかなかやってもらえないし「現在の状況はあくまで一時的な措置」といってむちゃくちゃな源泉徴収を支払うことになるかも。 現状むちゃくちゃな額ではないにしても、それでも手元に残る金額が目減りするのは元が薄給だけに結構ツラい。別に損しているわけではないし、むしろ自動的に貯金出来てると思えば少しは気も楽に……いやならんか。無駄に長時間働いてる気がする。そもそもは個人事業主の収入が少ないことが問題なので、そっち何とかして給与収入を減らすようにする方が本質的なんですけども。いろいろ厳しいなあ。

続きを読む