マガジンのカバー画像

へっぽこ学習記録

184
運営しているクリエイター

記事一覧

【MySQL】日付で絞り込む

Date型のカラムを日付で絞り込みたいときはこう

SELECT * FROM sample_table WHERE 登録日時 <= '2024-06-25 00:00:00'

普通に文字で、Date型のフォーマットに乗っ取った日時を渡してあげればそれでOK。

「このSQLを実行した日のその月」とか「その前月」とかやろうとするともうちょっと色々面倒ですが、とりあえず人力で日付指定出来る状況なら

もっとみる
コピー元と全く同じ状態になるようにバックアップを取るバッチを作る

コピー元と全く同じ状態になるようにバックアップを取るバッチを作る

前回の記事

では、「コピー元からコピー先へ、コピー先より新しいフォルダ・ファイルをコピーする」というだけの処理を作りました。

ただ、これだと、元フォルダ内でリネームしたり消したりしたファイルも、そのまま蓄積していってしまいます。バックアップとしてはそういう挙動にしたい場合もあるので一概にダメではないのですが、コピー元とコピー先を常に全く同じ状態に保っといたほうが便利そうだな……と思ったので、そ

もっとみる
バッチ+タスクスケジューラを使って、内蔵HDDの中身を自動で外付けHDDにバックアップする

バッチ+タスクスケジューラを使って、内蔵HDDの中身を自動で外付けHDDにバックアップする

パソコンが壊れました。

早々に新しいのを買ったのですが、その際、以前のPCに仕込んでいた自動バックアップバッチが灰燼に帰したので、もう一度仕込みながら、noteというクラウドにもバッチのバックアップを残しておこうと、そう言う記事です。

全て無料でご覧頂けますが、もし、突然PCが壊れてボーナスを吹っ飛ばした私を憐れんでくださる方がいらっしゃいましたら、有料部分を購入して頂けたら大変嬉しく存じます

もっとみる
【MySQL】自動採番されるID番号だけが登録されているテーブルにデータを追加する

【MySQL】自動採番されるID番号だけが登録されているテーブルにデータを追加する

いっつもやり方分からなくなる

INSERT INTO `スキーマ`.`テーブル名`(`項目名`) VALUE(0);

これで何度も登録すれば自動で採番された番号が入ります。

複数項目あるテーブルなら、自動採番される項目だけ空にしてINSERTすれば良いんですけど、自動採番される項目しかないIDテーブルに追加するの、どうしたら良いかすぐに解らなくなるので。

【GAS】HTMLサービスを使ってクリックできるURLを表示したり、非同期処理問題をなんとかする

【GAS】HTMLサービスを使ってクリックできるURLを表示したり、非同期処理問題をなんとかする


やりたいこと①:スプレッドシートの「入力用」シートに入力した情報を、「出力用」シートに転記・整形して、出力用シートをPDFとして書き出すという処理をボタン一つでやりたい。
②:①で書き出してドライブに保存したPDFのURLを画面上に表示し、クリックで表示できるようにしたい

問題点①

転記・整形する処理とPDF書き出し処理を別のfunctionとして記述すると(おそらく)処理スレッドが分かれて

もっとみる
【GAS】セルから取得したDate型の日付をStringにフォーマットする

【GAS】セルから取得したDate型の日付をStringにフォーマットする

セルに入力した日付を取得すると、Date型になってしまっているので、必要に応じてフォーマットします。

結論function Date型をStringにフォーマット(値){ // Date型かどうかを確認 if(Object.prototype.toString.call(値) != "[object Date]"){ throw Error("引数はDate型で渡してく

もっとみる
【Python3+Firestore】PythonアプリからFirestoreにアクセスする2024

【Python3+Firestore】PythonアプリからFirestoreにアクセスする2024

以前の記事

を参考に新しいアプリを作ろうとしたら動かなかったので情報を更新していきますよっと。

今回は、既にFirestoreデータベースは作ってある前提でさくっとデータを取得しに行きます。とりあえずテスト用にデータベースを作ってみたい場合はGUIからやればすぐできる。

公式ドキュメントより始めよはい

言われた通りにやってみる管理用パッケージをインストール

$ pip install -

もっとみる

【Java】StringからIntにしたりDateからStringにしたりStringをDateにしたり

テスト用に、データベースに入れる情報を用意→データベースに登録→登録した情報を取り出して比較、というロジックを作ったら、入れる用のデータはJSONで受け取る前提だから全部Stringで渡さなきゃいけなくて、出してくるデータはテーブルカラム通りの型で出てくるもんだから困ったね、ということで全部変換していくよ!
とりあえずざっくりキャストできればOK!細かいフォーマットの違いとか例外が発生する文字が入

もっとみる
【Java+MyBatis】データ登録系API作成時に、登録に成功したレコードの、自動採番で付与されるIDを返却する

【Java+MyBatis】データ登録系API作成時に、登録に成功したレコードの、自動採番で付与されるIDを返却する

「このデータを登録しておくれ」「はいよ、登録したよ、レコード番号〇〇番として登録できたよ」というAPIを作る際、肝心の「レコード番号〇〇番として登録できたよ」をどうやって取得しようか。というお話。

レコード番号は通常自動採番に設定するじゃないですか。いちいち最新のレコード番号取得して+1してとかしないじゃないですか。あんまり。
でも、SQLでInsertする処理は登録処理をするだけで、「今まさに

もっとみる
【GAS】APIを叩いてPOSTでJSONを送信したり、その通信をPostmanでエミュレートしてみたり

【GAS】APIを叩いてPOSTでJSONを送信したり、その通信をPostmanでエミュレートしてみたり

GASからAPIのエンドポイントへアクセスして、POSTで情報送信出来るようにしたいの巻きです。

結論// データベース登録用会員データ.gs// sampleclass 会員データ{ constructor(名前, 電話番号, メールアドレス){ this.name = 名前; this.tel = 電話番号; this.mail = メールアドレス; } JSONとし

もっとみる
【GAS】VLOOKUPみたいなことをfindを使って華麗にやる

【GAS】VLOOKUPみたいなことをfindを使って華麗にやる

VLOOKUPがそのままGAS上でも使えれば何も問題ないんですが

結論function lookup(target_code){ // A列に商品名、B列に商品コードが入っているものとする const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet(); const vals = sheet.getDataRange

もっとみる

【GAS】map関数を使って、一列分のデータだけを華麗に取得する

やりたいことスプレッドシート上にあれこれ展開した情報のうち、1列だけ、例えば計算結果のC列だけ、ごっそり配列として取得したいんじゃよ、っていうときに、forだのなんだのごにょごにょ書くのめーんどーくさーい。

結論const CODE_COL = 0 // 取得したい列番号let sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveShee

もっとみる
【Python3】例外発生時、Exceptionにファイル名と行数を追加してエラーメッセージをわかりやすくする

【Python3】例外発生時、Exceptionにファイル名と行数を追加してエラーメッセージをわかりやすくする

「float divition by zero」と一言だけ言われても困るんですよ。

結論sys.exc_info()で取れる

# 例外を一旦受け取って再送しているファイルを想定import systry: result = 1 / 0 # ZeroDivisionErrorが起きるexcept Exception as e: exception_type, exception_o

もっとみる
【Python】Seleniumのログ出力を止めたいんだ…!

【Python】Seleniumのログ出力を止めたいんだ…!

Seleniumを使っているプロジェクトで、こちらの記事でまとめたやり方でログ出力をしておりまして

で、デバッグ用に全体のログ出力レベルをDEBUGまで下げたところ、Seleniumが逐一何もかもすべてログを吐くもんだからログが流れまくっちゃってとても困る!!!君はちゃんと動いている!!大丈夫!!!君のログレベルは別にINFOとかWARNINGとかでいい!!
これはもうパッケージの中身弄るしかな

もっとみる