フルスタック開発をしていてよく出くわしたこと

Uncategorized

同期処理

同期処理が思いのほか出てきます。

同期処理は処理を一つ一つ順番に行うことを言います。
逆に非同期処理というのは複数の処理を同時に行います。

名前がややこしいですね。

非同期が同時に。同期が順番に処理です。

これがどういう場面で必要になってくるかというと、例えばデータベースの中のユーザー情報ををサイトに表示したい場合。

処理の順番は、データの取得→表示 で行う必要がありますが、通信が遅くデータをとるのに時間がかかり、表示の処理が先に完了してしまうと、何も表示されない事態が起こりえます。

そんなときのために、データをとった後に表示の処理に移ってくださいと、おあずけの指示を出せるのが同期処理になります。

これがことあるごとに出てきます。

先ほどのデータをとってくる例のように、通信が行われるところでよく使われてる気がします。
もはや通信は同期処理とセットになってるぐらいの頻度です。

HTTP

相手がメール相手であれデータベースであれリクエストを送ってレスポンスを返すことは共通なので、通信を行うHTTPの知識が必要になります。

データの取得や送信に使うGETやPOSTなどの主要なメソッドは必須知識です。

他にアプリの開発でHTTPの知識を使ったのは送り返すエラーコードを決めるときです。

通信ができないとき、返ってくるエラーコードが400番台だとユーザー側に原因があり、500番台だとサーバー側に原因があることを示しています。

正しいエラーコードを返すことは、ユーザーに問題解決へのヒントを与えることにもなるので、間違えないでおきたいです。

ただ、どうしてもあらかじめ想定が困難なエラーもあり得ます、そんな時は原因不明を表す500番を返すようにしています。
if文で言ったらelseの処理に似ていますね。

調べながらでもできそうな気がしますが、使う頻度が多いのであらかじめ基本的なことを知っておくと開発がスムーズになると思います。

ブラウザのセキュリティに引っかかる

フルスタック開発に限った話ではないかもしれません。

外部のツールを使おうとして、リンクを張るとブラウザにブロックされることがあります。

お手本では動いているのに、自分がやろうとするとなぜか動かず、開発ツールで調べてみると、プライバシーポリシーなるものにひかかっていた。ということが結構あります。

ブラウザの変化は早いので、1年前の教材を使っていても普通に引っかかります。
しかも解決策を探しても見つからずお手上げとなることも。

ブラウザの変化をすべてのツールに合わせてせーので行うことができない以上致し方ないですね。

前の職場ではサイト編集を担当していたのですが、CSSのプロパティによっては使えるブラウザと使えないブラウザの壁にぶち当たることもありました。
同じことをすれば同じ結果が返ってくることを信じて疑わなかった当時の私は、目の前の人形が急に喋りだしたような衝撃を受けました。

まとめ

通信関係のことで発見が多くありました。ただ実装するだけでなくて、セキュリティや通信速度のことも考え始めるとまだまだ発見がありそうです。

コメント

タイトルとURLをコピーしました