imported module ‘test_room’ has this __file__ attributes which is not the same as the test file we want to collect:

Flaskのプロジェクトでテストを書いていたら、なぜかタイトルのエラーが発生

問題点は各ディレクトリに __init__.py ファイルがないことで、各ディレクトリに追加することで解消できました!

こちら参考画像

参考記事

なし、思い出した

TailwindでカレンダーっぽいUIの作り方

簡易的なカレンダーっぽいUIを実装しようと思って調べてみたら、いい感じの見つけました

コード

<div class="p-8">
  <div class="relative grid grid-cols-7 grid-rows-5 gap-px bg-gray-200 border border-gray-200 h-96">
    <div class="bg-white"></div>
    <div class="bg-white"></div>
    <div class="bg-white"></div>
    <div class="bg-white"></div>
    <div class="bg-white"></div>
    <div class="bg-white"></div>
    <div class="bg-white"></div>
    <div class="bg-white"></div>
    <div class="bg-white"></div>
    <div class="bg-white"></div>
    <div class="bg-white"></div>
    <div class="bg-white"></div>
    <div class="bg-white"></div>
    <div class="bg-white"></div>
    <div class="bg-white"></div>
    <div class="bg-white"></div>
    <div class="bg-white"></div>
    <div class="bg-white"></div>
    <div class="bg-white"></div>
    <div class="bg-white"></div>
    <div class="bg-white"></div>
    <div class="bg-white"></div>
    <div class="bg-white"></div>
    <div class="bg-white"></div>
    <div class="bg-white"></div>
    <div class="bg-white"></div>
    <div class="bg-white"></div>
    <div class="bg-white"></div>
    <div class="bg-white"></div>
    <div class="bg-white"></div>
    <div class="bg-white"></div>
    <div class="bg-white"></div>
    <div class="bg-white"></div>
    <div class="bg-white"></div>
    <div class="bg-white"></div>
  </div>
</div>

参考記事

https://play.tailwindcss.com/AIl5AxxVjU

Active Adminで同じModelを複数使う方法

User.roleに応じて実装する方法を探していたところ、継承で実装できそうなので試したところうまくいきました

# models/partner.rbで作成
class Partner < User
end

ActiveAdmin.register Partner do
end

この方法使えば、いくらでも分けて実装することが可能となります🙏

参考記事

Two pages for the same resource – ActiveAdmin

Rails + Haml + Tailwindで Illegal nesting: nesting within a self-closing tag is illegal エラー

Rails + Haml + Tailwindで実装していたら、タイトルのエラーが発生しました

どうやらnestがおかしくなっていると認識しちゃっているらしかったので、
class要素として分けることで対処しました🙏

.bg-gray-300.w-25.mx-4.my-2.p-2.rounded-lg.clearfix{ class: 'w-1/3' }

参考記事

なし

“chromedriver” can’t be opened because Apple cannot check it for malicious software.

chromedriverでe2eテストを実行したところ、タイトルのエラーが発生しました

詳しくは調べれてないですが、MacOSがバイナリファイルを拒絶している、からとのことなので、こちらで許可してあげます

$ which chromedriver
/opt/homebrew/bin/chromedriver

$ xattr -d com.apple.quarantine /opt/homebrew/bin/chromedriver

上記実行後は、問題なくe2e動きました!

参考記事

Fixing error: “chromedriver” cannot be opened because the developer cannot be verified. Unable to launch the chrome browser on Mac OS

PostgreSQLでOne to Manyをarrayで出力する方法

PostgresqlでOne to Manyを出力する方法でちょっと悩んだので、念のため記事に残します

joinしたりサブクエリなど方法は色々あるのですが、サブクエリの方が見通しが良い、との判断のもとこのような実装を行いました

SELECT
	messages.id,
	messages.body,
	messages.created_at,
	messages.updated_at,
	(SELECT ARRAY_AGG(files.name) FROM files where message_id = messages.id) as files -- ここにサブクエリ追加
FROM
	messages
-- この辺色々あるけど省略
WHERE
	messages.topic_id = 1

参考記事

Multiple array_agg() calls in a single query

Go ginでconflicts with existing wildcardの解消法

Ginで同じnamespaceで階層を深くしているrouteを追加したところ、タイトルのエラーが出ました

とりあえず、こちらが解消法です

重要なのは、routeごとに /:id/:topic_id のように分けるのではなく、同一にする、ということらしいです

topics.PATCH("/:id", rH.cookieMiddleware(), rH.topicPatch)
topics.GET("/:id/messages/:message_id", rH.cookieMiddleware(), rH.messageGet)

参考となる情報は下記の 参考記事 に記載があるので、気になる方は確認してみてください🙏

参考記事

GoのフレームワークGinのルーティングで conflicts with existing wildcard が出る時の対処法

The data directory was initialized by PostgreSQL version 13, which is not compatible with this version 14.0 (Debian 14.0-1.pgdg110+1).

Dockerでpostgresqlが起動しないのでlog見てみたら、タイトルのエラーが発生してました

内容としては、postgresqlのバージョンが異なること、が原因らしく、さまざまな記事を漁ったところ、volumesやimagesを削除で対応可能とのことだったので、下記のコマンドを実行

docker-compose stop
docker-compose down

docker system prune

上記実行して治ったかと思ったら、どうやら治っていないみたいで、明示的にpostgresqlのversionを指定してみたところうまくいきました

こっちの方が確実です🙌

services:
  db:
    image: postgres:13.0 # 明示的に指定
    ports:
      - '5432:5432'
    expose:

参考記事

data directory was initialized by PostgreSQL version 13, which is not compatible with this version 14.0

【Docker】postgres image のバージョン互換性対応