めもちょー

メモ帳代わりに使っています。

2022-07-01から1ヶ月間の記事一覧

第1回SQLコンテスト

練習 参加記 練習 用意されたテーブルから要求されたビューになるようなSQLを書くコンテストがありました。 第4問は縦に並んだレコードを横にする問題で、`GROUP BY`と`SUM(CASE WHEN 条件1 then x ELSE 0 END)`を使えば解けました。自分の回答 topsic-conte…

『SQLパズル』メモ

こちらの問題集から、厳選した問題の回答記録を記します。 Q13 2人以上か、それが問題だ 自分の解法 エレガントな解法 Q14 電話とFAX 自分の解法 解答 エレガントな解答 Q30 買い物の平均サイクル 自分の解答 Q36 一人二役 自分の解法(本の解法4とほぼ同じ…

楽観的ロックと悲観的ロックをタイムシーケンス図で理解する

前提 タイムシーケンス図的理解 悲観的ロック 楽観的ロック 前提 複数のクライアントが同じファイル(レコード)を編集する際に競合を防ぐ方法として排他制御がある。 排他制御の方法として悲観的ロックと楽観的ロックがある。まずは、一般的な話 説明 前提 …

『シェルスクリプト基本リファレンス』メモ

シェル力を高めたく『シェルスクリプト基本リファレンス』を読みました。本記事はそのメモになります。 3. シェル文法の循環構造 4. 複合コマンド 5. 組み込みコマンド1 3. シェル文法の循環構造 p.33 パイプラインのコマンドの終了ステータスを個別表示 $ (…

Python・JavaScript・HTMLのLint Checkを行うGitHub Actions

Pythonにはpipでflake8, isort, blackを入れる。 name: "test" on: [pull_request, push] jobs: style: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v2 - name: Set up Python 3.9 uses: actions/setup-python@v2 with: python-…

seleniumからhtml2canvasを実行してwebページの特定タグ領域を画像化する

seleniumを使って部分的な領域をスクショする方法を(無理やり)つくりました。selenium.webdriver.chrome.webdriver.WebDriverにもsave_screenshot()というメソッドがありますが欲しい位置が取得できないという問題がありました。 全画面をスクショする方法…

Pythonでジェネリクスを扱う

最近Pythonを書くにしても、型を意識して書くことが増えたためこちらのドキュメントについて、あやふやに理解していた部分をまとめました。 docs.python.org 新しい型を定義したい時 ジェネリクス Any型 特殊型 typing.LiteralString typing.NoReturn typing…

アプリケーションからSQLを実行する際の注意点

PythonなどのアプリケーションからSQLを実行する際のポイントを個人的にまとめてみました。 Python関数よりもSQL関数 NG OK bulk NG OK エラー処理 NG OK Python関数よりもSQL関数 基本的にPythonの速度はSQLの速度と比べて非常に遅いため, SQLで実行できる…