Skip to content

Posts

MLTファイルを作る

Shotcutのプロジェクトの保存形式がMLTで、中身はXMLのテキスト。

作業動画を編集していて、無音部分はスキップして尺を短くしたい。

無音部分はffmpegのsilencedetectで検出できるので、そのタイムスタンプで切ったShotcutプロジェクトを開けば、効率的に不要な部分を切り詰めつつ必要な部分を残せるのではないかという目論見。

https://github.com/umemak/ffmpeg_test/blob/main/main.go

とりあえずこんな感じで。

DNS不調2

今日もDNS解決できない感じのインターネトに接続できない現象が発生した。

IPアドレス指定だと接続できてたので、たぶんDNS。

RT-S300SEと無線LANルーターの間の有線を抜き差ししたら直った。

何かが詰まっているのだろうか。。

DNS不調

昨日からインターネット接続が突然できなくなる現象が発生していて、RT-S300SEの電源抜き差しでとりあえず復帰するものの、連日の不具合でちょっと困った。

Slackの通話とかすでに接続しているものは使い続けられていたので、完全にネットワークがダメなわけではなさそう、新規の接続するときにDNSが引けないエラーになっているっぽい。

Read more

sqlcのエラー2

sqlc@v1.10.0だと、

-- name: ListCommentsTree :many
WITH RECURSIVE r AS (
    SELECT * FROM comments WHERE comments.id = ?
    UNION ALL
    SELECT comments.* FROM comments, r WHERE comments.parent_id = r.id
)
SELECT * FROM r;

これが

$ sqlc generate
# package sqlc
db/query.sql:35:5: syntax error near "WITH RECURSIVE r AS ("

こう。

sqlc@latestにするとこれは解消するけれど、昨日のtable aliasエラーが。。

うーん。

sqlcのエラー

-- name: ListEventUsers :many
SELECT eu.id, eu.eventid, eu.userid, eu.`status`, u.name
FROM (
    SELECT id, eventid, userid, `status`,
    row_number() OVER (PARTITION BY eventid, userid ORDER BY id DESC) AS num
    FROM eventUser
) eu, user u
WHERE eu.eventid = ?
  AND eu.num = 1
  AND eu.userid = u.id
ORDER BY eu.id;

これが

$ sqlc generate
# package sqlc
db/query.sql:14:1: table alias "eu" does not exist

adminerで実行したらちゃんと思った結果得られるのに。

Table alias not working · Issue #1385 · kyleconroy/sqlcのissueだとv1.10.0だと使えていたっぽい。

$ sqlc version
v1.14.0
$ go install github.com/kyleconroy/sqlc/cmd/sqlc@v1.10.0
$ sqlc version
v1.10.0

エラー消えて生成できるようになった。

Read more

OpenAPI generatorのソース

openapi-generator/GoServerCodegen.java at master · OpenAPITools/openapi-generator

この辺りから読み始めればよいのかな? けどJavaかぁ。。

Javaは出始めのころちょっと触って、今もそうかもしれないけど、パッケージ名の命名にドメインを逆順で、みたいのが当時ドメインとか持ってなくてどうすればいいんだ?ってなって躓いた。

あとなんかインポートするの長くて呪文みたいだなーって思ってそっと閉じた思い出。

Read more

OpenAPIとsqlcの連携

Documentation for the go-server Generatorで生成したファイルとsqlc.dev | Compile SQL to type-safe Goで生成したファイル、うまく連携できればもっと手数少なくAPIサーバーが作れるのになー・・

現状用意するものとしては、DDLとqueryとAPI定義で、APIのリソースとDBのテーブルが1:1なら決め打ちでかける部分が出てくるはず・・

どちらに寄せるかは、OpenAPI定義側かなぁ。。 OpenAPI定義からDDLが生成できれば、queryはサーバーコードと一緒でも良いと思うし。

Read more

airのオプション

cosmtrek/air: ☁️ Live reload for Go appsで、コマンドラインでオプション指定できるみたいだけど、思ったように動かないな・・という内容で書こうとして見直してたら、beta featureってちゃんと書いてあるし。

エラーになったり、完全に動かないわけではなく、build.cmdとか指定が効いてたので気づかなかった。

モノレポで使うときに、共通の部分は.air.tomlに書いておいて、異なるところだけコマンドラインで指定できるとうれしい。

Read more