ITの隊長のブログ

ITの隊長のブログです。Rubyを使って仕事しています。最近も色々やっているお(^ω^ = ^ω^)

JavaScriptを雰囲気で書いているマン、やっとimport/exportを理解

謎だったこと。import ... from '...' で、 import {...}import ... のどっちでかけばいいの問題。(後者は特にVueでよく書くなって思ってた)

というわけでドキュメントを読みました(今頃)

developer.mozilla.org

developer.mozilla.org

完全に理解しました。

  • import { hogehoge }export function hogehoge() で呼べる
  • import hogehogeexport default function hogehoge() で呼べる

qiita.com

qiitaの記事でも正しいのかとか読んでみましたが大丈夫そう。確かにVueのcomponentって export default だよなーって思ったのでそういうことですね。

vueのcomposition apiを理解したい

正確にはNuxt(v2)ですが

zenn.dev

こちらの記事参考にして進めています。

github.com

進捗がこちら↑(○ロ注意)

まだ完全に理解はできていないので雰囲気だけですが、componentとロジックをめっちゃ分離できた感じがある。文章読むだけでは全くわからなかったがこれはよい!!!そして果たしてNuxt(Vue)なのかこれは???みたいな気持ちにもなりました。 this がなくなるのもステキだなって思いました。

<script>
import { defineComponent, ref, useContext } from '@nuxtjs/composition-api'
import Video from '~/components/Video.vue'
import { useTouchHandler } from '~/handler/TouchHandler.js'  // ハンドラを分離!

export default defineComponent({
  name: 'VideoList',
  components: { Video },
  setup() {
    const url = ref('')
    const like = ref(0)
    const { store } = useContext()  // this.$storeが返ってくる
    const { swipe, touchStart, touchMove, touchEnd } = useTouchHandler()

    return {
      store,
      swipe,
      touchStart,
      touchMove,
      touchEnd,
      url,
      like,
    }
  },
})
</script>

componentでuiを組み、ロジックは別スクリプトで用意して、つなぎこみやらまとめのサービスクラス的なやつの作り方を理解したら一旦設計の悩みは解決するんじゃなかろうかと思っている。あとTypeScriptやらなきゃ

DockerでPostgreSQLのコンソール?に叩いたSQLを流すようにしたい(できていない)

まだできていないけど、コンテナ内部のログファイルに出力するようにしたのであとはそこをどうにかするだけ。

$ docker run -d --rm --name test_pos -e POSTGRES_PASSWORD=test -it postgres:14.1
f779875f7c8db4889316bc5730276b258aa96497de6fdb54c64635dbfd8163fa
$ docker ps | grep test_pos
f779875f7c8d   postgres:14.1         "docker-entrypoint.s…"   13 seconds ago   Up 12 seconds   5432/tcp                 test_pos

$ docker cp test_pos:/var/lib/postgresql/data/postgresql.conf pg.conf
$ wc pg.conf
     798    3775   28835 pg.conf

# 設定を下記コメントのようにいじる
$ vim pg.conf
# log_destination = 'stderr'
# logging_collector = on
# log_connections = on
# log_disconnections = on
# log_statement = 'all'

$ docker stop test_pos
$ docker run --rm --name test_pos -e POSTGRES_PASSWORD=test  -v $(pwd)/pg.conf:/etc/postgresql/postgresql.conf -it postgres:14.1 -c config_file="/etc/postgresql/postgresql.conf"

面倒な手順踏んでいるけど、configファイルもちゃんと差分管理していきたくて(ちなみにログ出力するだけであれば、環境変数をいじればおk)