free 技術log

フリーランスのための勤怠管理サービスを公開しました

個人開発
2025年3月1日(土)
こんにちは前々から個人でサービスを作りたいという目標があったのですが、今回ようやく公開することができました。フリーランスのための勤怠管理というサービスです。https://www.free-attendance.comフリーランスや副業の方向けに勤怠管理を簡単に行えるサービスになっています。詳細はQiitaにも記事を公開していますので、よければお読みくださいhttps://qiita.com/chinoshuta/items/e30d18a42c15bbc6e5fa去年の12月ごろから週末など空いている時間を見つけてコツコツ開発していたのですが、ようやく公開することができて嬉しいです。要望・フィードバックなど大歓迎ですのでよければメールやQiitaのコメント等でいただければ嬉しいです。今後も作りたいサービスの考えがあるので、また時間を見つけて開発していきたいと思っています。ではまた

Googleのソフトウェアエンジニアリングを読んで

その他
2024年12月28日(土)
12月は次の案件を探し応募をしていたのですが面談で落とされてしまうことが非常に多かったです。フリーランス独立当初よりも多くの経験を積み、案件を探していただく企業の方にも「7割方はいけるはず」「面談でよっぽど酷くなければ」と言っていただいていたにも関わらずです。これまでの面談では誠意をもって受け答えをしていれば通過することも多かったのですが、今回の面談は技術的な面でキツイ質問が多く、それにうまく答えられずに落とされてしまう、ということが増えていました。そうです。独立当初よりも多くの経験を積んでいるからこそ、より高いレベルのエンジニアとしての受け答えを期待されていたのです。そんな中、「Googleのソフトウェアエンジニアリング」を図書館で見つけました。ずっと読みたいとは思っていたのですが高額でなかなか手が出せずにいた本です。この本によれば、ソフトウェアエンジニアリングとは「時間で積分したプログラミング」であるとGoogleで言われているそうです。「時間で積分したプログラミング」とはどういうことでしょうか。難しいですね通常のプログラミングでは機能を実装するために目の前のソースコードを書くことしか意識しません。ソフトウェアエンジニアリングではそのソースコードの想定可動時間を考慮する。時間軸を意識するのです。「プログラミングとソフトウェアエンジアリングでは次元が違う」と述べられています。この本で書かれていることこそがまさに自分に必要なことでした。単に機能実装するのみではなく、より高い視点でプロダクトを開発する。そのことについてGoogleでの考え方が幅広く紹介されており、大変参考になりました。今後もエンジニアとしてより成長するために努めていきたいと思います。

今年もありがとうございました

その他
2024年12月5日(木)
こんにちは。今年ももう少しで終わりですねフリーランスとして独立した当初は先が全く見えず不安も大きかったのですが、無事3年続けることができ大変感謝しております。今年は責任の大きな仕事を無事終えることができ自信に繋がったのと同時に、技術的な部分での未熟さを実感させられた年でもありました。現状の自分に満足せず、今はフルスタックエンジニアを目指して頑張っていきたい気持ちです。これまでフロントエンドメインでやってきたので、来年はバックエンドやインフラ面の学習を頑張りたいと思います。また、今月は少しお休みさせていただく期間となりました。ここまで目の前のお仕事を必死に頑張ってきたので、リラックスして過ごせたらと思っています。来年もどうかよろしくお願いします。

Qiitaに記事を投稿しました

その他
2024年11月11日(月)
おはようございます。投稿したい記事があったのですが、このブログはweb系についてのみ投稿するようにしたいのでQiitaに投稿してみました。https://qiita.com/chinoshuta/items/ffc665a37a757ad66d5dブログとは違いQiitaではより多くの人の目に見てもらえることになると思うので、大丈夫かな?と不安でしたが、エンジニアとしてこうやってアウトプットしていくのは大事ですね。これからもweb系以外の記事や、より多くの人に見てもらいたい場合はQiitaにも投稿していければと思います。ではまた

next/headersのcookies().setでcookieが書き込めない問題

Next.js
2024年10月22日(火)
こんにちはnext/headersのcookiesはサーバーサイドで用いるNext.jsのcookie用の関数で、Next.jsのサーバーサイドに含まれるリクエスト/レスポンスヘッダーのcookie読み書きが簡単にできるようになっています。公式によるとサーバーコンポーネントではcookieのread,ServerActionsとRouteHandlersではread/writeを行うことが可能です。問題点サーバーコンポーネントではcookieの書き込みができないので、サーバーコンポーネントからcookieの書き込みを行うRouteHandlersを呼び出す実装を行いました。しかしそれでもcookieが書き込めませんでした。await fetch("/api/set-cookie") // サーバーコンポーネントからcookieを書き込むRouteHandlersを呼び出す // リクエストが成功してもcookieが書き込まれない原因原因はcookieそのものの仕組みにあり、サーバーサイドからのcookieの保存はレスポンスヘッダにset-cookieを指定し、それをブラウザが受け取りcookieを保存するという流れになっています。サーバーコンポーネントでcookieの書き込みを行うRouteHandlersを呼び出してもレスポンスヘッダのset-cookieをブラウザが受け取れるわけではなく、書き込めないというわけでした。対処サーバーコンポーネントからクライアントコンポーネントにcookieに書き込みたい値を渡し、クライアント側でcookieの書き込みを行うことで無事に解決することができました。<SetCookieClientComponent name={name} value={value} />