2022-08-01から1ヶ月間の記事一覧
とあるディレクトリに保存されている全てのGitレポジトリのバンドルファイルを作成するシェルスクリプトを作成しました. #! /bin/zsh mkdir -p bundles for dir in * do if [ -e $dir/.git ]; then cd $dir git bundle create ../bundles/$dir.bundle HEAD …
macOSのシェルスクリプトの挙動を見ていて気づいたのですが,macOSのshはzshではなくbashです. 環境 macOS Monterey % sw_vers ProductName: macOS ProductVersion: 12.5.1 BuildVersion: 21G83 検証結果 macOSのターミナルにて,以下の通り実行されました…
Djangoで非同期処理を実装するときに,非同期ではない関数を使用するためのアダプター関数 asgiref.sync.sync_to_async() が用意されています*1. sync_to_async()関数は,SyncToAsyncクラスを使って,スレッドプールで実行可能な非同期関数を作成する仕組み…
一般的にWebサーバーの開発は非同期処理と相性がよいです.Webサーバーは不特定多数の人から任意の時刻にリクエストを受信して処理し,レスポンスを返します.Webサーバーの処理の多くは,データベースなど外部のリソースにアクセスすることなので,I/O boun…
OSI参照モデルとは,通信プロトコルを7つの階層に分けて定義したものです.国際標準化機構(ISO)によって策定されました. Layer Number Layer Name Description 7 Application アプリケーション層 Home of the protocols and services that comprise an appl…
結論 Cloud Run で,アクセス元のIPアドレスを取得するには,x-forwarded-forヘッダーを使用します. 検証 リクエストヘッダーを返すWebサーバーを作成して,Cloud Runにデプロイし,動作を確認しました. main.ts import express from 'express'; const app…
監視カメラは,事件が発生したときの映像を残すために設置するものですが,犯人が監視カメラそのものを破壊したり取り外したりする可能性もあります. もし,監視カメラの映像が本体に記録されていると,映像データも一緒に破壊されたり盗られたりするかもし…