新しいことにはウェルカム

技術 | 電子工作 | ガジェット | ゲーム のメモ書き

BigQueryの少し凝った使い方メモ(etc)

普段Google BigQueryでは簡単な集計SQLしか使っていないのですが、集計SQL以外にも色々便利な機能があります。 ただ、使用頻度が高くないので、いざ使おうとするとマニュアルを探すところから始まるので、自分用に簡単な使い方をまとめておこうと思います。 …

Radiko で早送り・巻き戻しをする方法

PCのWeb版のRadikoで、早送り・巻き戻しをする方法です。 PCのWeb版のRadikoには早送り・巻き戻し機能がありません。何かいい方法ないかとネットで調べると「友達に教えるボタンをクリックすると、60秒・5秒で早送り・巻き戻しボタンがでてくる」という、…

Twitter トレンドはどこまで当てになるか調べてみた

簡易ニュース速報的な目的で、Twitter トレンドを使っています。 しかし、その情報をどこまで当てにしていいのか分からずモヤモヤしていたので、今回定期的にデータを収集して調べてみました。 動機 Twitter トレンドを見たことがある方ならご存知だと思いま…

BIツールの「ディメンション」と「メジャー」の違い

初めてBIツールを使った時に混乱したのが「ディメンション」と「メジャー」の違いでした。 ここでは簡単にその違いや考え方を解説しようと思います。 名称 Tableauでは「ディメンション」と「メジャー」と呼びます。 PowerBIでは「列」と「メジャー」と呼び…

JavaScriptでMicrosoft SQL Serverを使う方法

JavaScriptでMicrosoft SQL Server(MSSQL)を使う方法メモです。 ライブラリはMicrosoftも推奨しているtediousを使い、あまり凝ったことはせず、必要最低限の機能に絞ってまとめました。 tediosはコールバックスタイルのライブラリなのですが、今風にasync…

Go言語の使い方(string・byte・rune)

Go言語の入門書には必ずstring・byte・runeが出てきます。 サラッと書かれていることが多く、そんなものかと分かった気になって軽く流してしまいがちなのですが、いざプログラムを組み始めると、それぞれを相互変換する場面が頻発して混乱してしまいます。 …

Tableauで「相対日付」と「日付の範囲」を同時に使う方法

時系列グラフの表示範囲の指定UIに 「デフォルトは直近X日を表示し、必要な時にカレンダーで任意の日付を指定できる」 といったものをよく見かけます。 しかし、Tableauの日付フィルターで同等のことはできないんです。 「直近X日を表示」は日付フィルターの…

Firestoreを軽量データベースとして使ってみる

GCP関連でプログラムを作っていて、ちょっとしたデータを保存したいことがありました。 データベースを立てるほど大げさなデータでもないし、データ間で結合クエリを書くこともなさそうな単発のデータでした。 そもそも、データベースを立てると、使っていな…

BigQueryの少し凝った使い方メモ(スケジュールされたクエリ)

普段Google BigQueryでは簡単な集計SQLしか使っていないのですが、集計SQL以外にも色々便利な機能があります。 ただ、使用頻度が高くないので、いざ使おうとするとマニュアルを探すところから始まるので、自分用に簡単な使い方をまとめておこうと思います。 …

BigQueryの少し凝った使い方メモ(プログラミング)

普段Google BigQueryでは簡単な集計SQLしか使っていないのですが、集計SQL以外にも色々便利な機能があります。 ただ、使用頻度が高くないので、いざ使おうとするとマニュアルを探すところから始まるので、自分用に簡単な使い方をまとめておこうと思います。 …

BigQueryの少し凝った使い方メモ(テーブル作成・データ更新)

普段Google BigQueryでは簡単な集計SQLしか使っていないのですが、集計SQL以外にも色々便利な機能があります。 ただ、使用頻度が高くないので、いざ使おうとするとマニュアルを探すところから始まるので、自分用に簡単な使い方をまとめておこうと思います。 …

BigQueryの少し凝った使い方メモ(ビュー・マテリアライズドビュー・テーブル関数)

普段Google BigQueryでは簡単な集計SQLしか使っていないのですが、集計SQL以外にも色々便利な機能があります。 ただ、使用頻度が高くないので、いざ使おうとするとマニュアルを探すところから始まるので、自分用に簡単な使い方をまとめておこうと思います。 …

Markdownパーサーremarkの使い方メモ

Markdownを読み込んで、色々好きなように編集して、再度Markdownに出力したいことがありました。 その際、remarkというJavaScriptのMarkdownパーサーを使いました。 ただ、使い方が分かりにくく、次にプログラムの修正が必要になった時には確実に使い方を忘…

Selenium・puppeteer・Playwrightでファイルドロップする

ここしばらく、Selenium・puppeteer・Playwrightの使い方をまとめていました。 まとめが長くなってきたので、ある程度の説明や手順が必要な操作は別記事にまとめようと思います。 ここでは、Selenium・puppeteer・Playwrightそれぞれで、ファイルドロップす…

Selenium・puppeteer・Playwrightで無限スクロールする

ここしばらく、Selenium・puppeteer・Playwrightの使い方をまとめていました。 まとめが長くなってきたので、ある程度の説明や手順が必要な操作は別記事にまとめようと思います。 ここでは、Selenium・puppeteer・Playwrightそれぞれで、無限スクロールする…

puppeteerの使い方メモ

以前、SeleniumとPlaywrightの比較のため両方を検証していました。せっかく使い方を覚えたので、また必要になった時にすぐに思い出せるよう下記記事に簡単に使い方をまとめました。 元々クローラーとしてpuppeteerを使っていたので、Selenium・Playwrightを…

JavaScriptの配列をSQLで扱いたい

普段SQLを使うことが多いのですが、JavaScriptで配列のデータを扱っている時、JavaScriptの配列に対してもSQLでクエリが書けたらいいのになと思うことがあります。 一方、C#には配列をSQLライクなクエリで処理できる、LINQという言語が備わっています。 Java…

Playwrightの使い方メモ

最近Playwrightを試していたので、使い方を忘れてもまた思い出せるよう、Playwrightの使い方をメモしておこうと思います。 インストール npm install --save playwright Playwrightをインストールすると、同時にブラウザChromium・Firefox・Webkitもインスト…

Seleniumの使い方メモ

最近Seleniumを試していたので、使い方を忘れてもまた思い出せるよう、Seleniumの使い方をメモしておこうと思います。 インストール Selenium pip install selenium ブラウザとそのブラウザを駆動するWebDriverは別途インストールする必要がある。 WebDriver…

Excelのワークシートを名前順で並び替える

数百のワークシートがあるExcelを扱う機会があったのですが、目的のシートを見つけづらいので名前順でワークシートを並び替えようとしました。 しかし、Excelにはワークシートを名前順で並び替える機能はないんですね。 結局VBA(Visual Basic for Applicatio…

Go言語の Generics は自分には関係ないと思っていたが必須だった

Go言語のバージョン1.18からGenericsが入りました。 自分がGo言語を使う範囲では、汎用的な関数を書くこともないし、関数の記述も長くなるので、Genericsを使うことはないかなと思っていました。 便利な機能が追加されていた とは言え、Genericsを全く知らな…

シェルスクリプトの関数で戻り値を使う

シェルスクリプトを使っていて、スクリプトが長く見づらくなってきたので、関数でまとめようとしました。 しかし、シェルスクリプトの関数の戻り値は、他のプログラム言語の関数の戻り値と違っていて、同じように使うには工夫が必要でした。 ただ、ちょっと…

SQLのウィンドウ関数(分析関数)の覚え方

SQLを学び始めた時、一番分かりにくかったのがウィンドウ関数(分析関数)です。 データベースを、単にデータを出し入れする場所として利用する分には、ウィンドウ関数を使うことは無いのですが、データを分析しようとする場合、あるととても便利な機能です…

Google Cloud Platform でサービスアカウントを使ってREST APIを呼び出す方法

普段GCPの操作は、コマンドラインツールかクライアントライブラリ経由で行えるので、REST APIを直接呼び出すことはありませんでした。 今GCP Batchというサービスを試しているのですが、まだプレビュー段階でコマンドラインツールやクライアントライブラリが…

シェルスクリプトでURLエンコード・デコードする方法

シェルスクリプトでURLエンコード・デーコードする方法メモです。 検索すればやり方は色々見つかります。 https://stackoverflow.com/questions/296536/how-to-urlencode-data-for-curl-command 最初、エンコード・デコード両方ともnkfを使う方法にしたので…

Confluence Cloud で検索結果をソートする方法

Confluence Cloud で検索結果を更新順やタイトル順など、任意の条件でソートする方法です。 Advanced Search Confluenceの右上の検索窓をクリックすると、下に「Confluence の高度な検索」リンクが表示され、リンクをクリックすると、Advanced Searchのペー…

AWS Redshiftで連番・カレンダーテーブルを作る方法

AWS RedshiftからGoogle BigQueryに移行して、ここ数年Redshiftを使っていませんでした。 しかし、ついに従量課金のRedshiftこと、Redshift Serverlessが登場して気になりはじめ、久しぶりに遊び程度ですがRedshiftを使ってみました。 案の定、使い方は完全…

JavaScriptのPromiseは非同期関数だと勘違いしていた

下記の記事を読んで知ったのですが、JavaScriptのPromiseは同期呼び出しされるんですね。 https://zenn.dev/yuhua_shi/articles/331569ef2fe886 Promiseに渡される関数は、非同期関数だと思い込んでました。 以下、自分用にPromise呼び出し順をまとめておき…

BigQueryの定額料金を見積もってみる

Google BigQueryは従量課金で比較的安価なため、今まで料金のことはあまり気にせず使っていました。 ビッグデータ分析は、今まで推測するしかなかった事柄が、実際に数値として出せるようになり画期的でした。 その便利さが周知されるようになると、BigQuery…

Selenium と Playwright の両方を使ってみた感想

WebのクローリングにPuppeteerを使っています。 いつかPuppeteerの使い方をまとめたいなと思っていたのですが、そうこうしている内に月日は流れ、Puppeteerと同様のブラウザ操作ツールとして、Playwrightの名前をよく聞くようになってきました。 ならばいっ…