img

宇賀神のブログ

色々あってフリーランスのエンジニアをしています。普段触ったりした技術なんかを書いています。

2023/07/5

フロントエンドのバリデーションを設計するときに思うこと

はじめに こんにちは、宇賀神です。 みなさんはバリデーション、書いてますでしょうか。 フレームワークとかライブラリの都合で仕様が固定されることも多く、設計とかあまり意識しない&意識したところで選択肢がない、的な状況もあると思うんですが、最近はフロントの自由度が上がっている影響で、考えられることが増えてきた感があります。 そんなバリデーションを設計するときに、UIUX的な観点も含めて自分なりに意識しているポイントを書いていこうと思います。 わりと設計思想の話なのでケースバイケースで正解は違うだろうし、あくまでいまの段階で自分が思うことなので、これが絶対だとも思ってないです。このあたりを前提として、生暖かく読んでください。 フロント側のバリデーションを実装するべきか、について たまに聞くのが「バリデーションの処理はAPI側に書いて、フロントは422レスポンス受け取って結果を表示すれば良いじゃない」みたいなのがあります。処理の内容が同じになることが多いので結果として2重管理になったりする、みたいな観点ですね。 後述しますが、APIとフロントが行うバリデーションは厳密には役割が違う、というのが今のとこ自分の考えです。なので、基本的にはどちらにもバリデーションが実装されているのが理想かなと思います。 フロント側のバリデーション...

2023/06/13

まずは、、挨拶だ。

はじめに すごくお久しぶりです、宇賀神です。 あれから色々ありまして、一度会社員になったりしたのですが結局またフリーランスやっています。近頃は割と足元も固まってきたところもあり、さすがに放置しすぎ&あまりアウトプットをしていなかったのでまたちゃんと書いていこうかなと思っています。ちょっとこのブログも3年くらい更新していなかった気がするんですが、また更新をする前に今回はその間何をしていたかをちょっと書いておこうと思います。 社会復帰 新卒の会社を辞めてからフリーランスをしていたのですが、2020年の2月にLINE GrowthTechnology(以下、LINE GT)に入社していました。元々フリーランスやるのはちょっと早かったかな、というのも自覚としてあった中で、当時の自分にまだなかった経験を多く得られそうな場所に就職を希望したのが理由だったりします。あとはシンプルに家で仕事をし続けるのが辛かった、オフィスが欲しかった。 予想外のこと 晴れて入社が決まって、「やったー綺麗なオフィスで働くぞー」などと浮かれていたところにコロナが直撃しました。一年間のリモートを経て出社することを希望したのに、再び自宅で仕事することになってしまいました。人生うまくいかねえなぁと思いました。 会社で得た経験...

2020/01/23

OSXで.devドメインにアクセス出来なくなった際の対処法

はじめに はいどうもお久しぶりです。宇賀神です。 少し前のことになるのですが、私のPCで難解な問題が発生していたので、そのときにやった対処法について書きます。 なにが起きた 仕事でお客さんのとこのサービスを開発していた際、立ててもらった環境にアクセスしようとすると、以下のような画面が表示される状態になってしまいました。 詳細なドメイン名は伏せておりますが、どうやら .dev がついたサイトにアクセスしようとするとこうなっておりました。 対応 ローカルマシンの...

2019/10/2

Homebrewで入れているruby-buildをgitのHEADに更新する

はじめに こんにちは。宇賀神です。 今回は Qiitaに投稿した記事 をこちらにも転載したものになります。 何がおきた Rubyの2.4以降のバージョンに対してセキュリティリリースが出たそうで。 https://www.ruby-lang.org/ja/news/2019/10/01/ruby-2-6-5-released/ 使っているrubyのバージョンを更新しようとしたところ、brew upgrade...

2019/09/30

23のデザインパターンを全部一行で説明していく

はじめに おはようございます。腰の痛みが本格化してきました宇賀神です。 今日はいわゆるGoF本にて紹介されているデザインパターンのお話。 What is GoF本で紹介されるデザインパターンは23種類あります。自分への備忘録も兼ねて記事にしたいなーと思った次第。 本当は全部について詳しく解説していきたいのですが、多い。なんせパターンの数が多い。 そこで、開き直って全部のパターンを1行だけで解説していきたいと思います。 パターン解説 ここからは各パターンについて解説します。...

2019/09/18

RailsでAmazonTranscribeを使ってみよう

はじめに おはようございます。早起きチャレンジに成功した宇賀神です。 最近AWSの文字起こしサービスである AmazonTranscribe を少し触る機会があったので、今日はそのあたりのお話。 実行環境 ruby 2.6.2 rails 5.2.3...

2019/08/30

モデルのdependentオプションは片方にしか貼ってはいけないよという話

こんにちは、宇賀神です。 今回は久々にRailsのお話。 前提 以下のような形のモデルがありまして、 Parent1 または Parent2 のレコードを消した時に、関連するレコードも同時に消したいなぁと思って dependent オプションを設定した時です。...

2019/08/5

Dockerでwordpress開発環境構築

こんにちは。宇賀神です。 今日はこのブログのテーマ作成の時に使ったwordpress環境構築についてです。 なぜDocker 今回テーマのコーディングやデザインを知り合いのデザイナーに頼んだのですが、WordPressに触れるのが初だったらしく、環境構築がネックだなーと思いまして。 こんなときのためのDockerだろう、ということで、使うことにしました。 手順 構築の手順としてはこれだけ。さすがDocker。 Docker for Macなどはインストール済みだったようなので、そのあたりはすっ飛ばしています。...

2019/06/17

Pawが邪魔してDockerが80番ポートでアクセスできない場合の対処

はじめに お久しぶりです。 先日Dockerを触っていたらちょっと特異性のありそうなエラーに遭遇したので、その対処法を記事にしようかと思います。 何が起きた nginxイメージを元にして webserver というコンテナを起動しようとしたときのことです。 おそらく、入門書的な本ではよくあるコマンドなのではないかと思います。 docker container...

2019/03/25

Python tutorial(前編)

みなさんおはようございます。 この記事はこちらの続きとなっております。 はじめに というわけで、前回の記事で構築した実行環境を使いながら、Python tutorialを進めてみました。 内容としては比較的経験や知識の多いRubyなどと比べたりしながら、個人的に思ったことなどをまとめています。 ただ、触ってるうちに「これ実際にアプリケーション作る方向に倒した方が良いんじゃね」と思ってしまい、7章以降はざっと流し読みした程度になっています。 タイトルが「前編」となっているのはそのためですが、後編の更新予定は今のところありません。今後にご期待ください。 触りながら思ったことなど ここからは実際に動かしながら思ったことをまとめていきます。...