ITの隊長のブログ

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

Flutter.Okinawaを立ち上げました&開催しました

とても久々のイベント参加記事です。どこに書けばいいのかわからなくなりましたが、とりあえず自分のブログにPostした。

立ち上げました

以前これらのイベントに参加しました。(登壇者として)

frontend-conf.okinawa.jp

conf2022.pwanight.jp *1

イベント熱に当てられたので、2023年はコミュニティをやっていくぞ!と思っていたんですが、Pythonから離れてしまったので*2、PyData.Okinawa*3じゃなくて、沖縄&フロントエンドなどのWeb周りのコミュニティやっていこうかなーと考えていました。

で、今勤めている会社がアプリ開発をやってて、隣にいる同僚がアプリ開発しているんですが、沖縄だと1人なので寂しいと話していたので、「おっ!じゃあワイワイできるところ探しましょう!^^」ってなりました。

なったんですが、「沖縄 Flutter コミュニティ」などでぐぐってみると見つからず、沖縄にはFlutterのコミュニティがないことがわかりました。

なるほどー...

というわけで作りました。 勢いは大事(3回目)

flutter-okinawa.connpass.com

僕はアプリ開発で仕事したことがなく、沖縄にどのぐらい開発者がいるのか全くわからなかったので、とりあえず狼煙として立ち上げて、 数回やったところで何名か集まってくるやろ 。みたいな軽いノリでconnpassを用意しました。

過去のコミュニティ運営での経験や、運営したことがある人の話を聞くと、「最初はめっちゃ少なくても続けることが大事」ということはわかっていたので、とりあえず同僚と前職で知り合ったFlutterに興味ある学生(今年卒業して就職してました。おめでとう!!!)と3名でもいいからやっていくぞー!と話をして、connpassをさっと用意・公開しました。

と思ってたんですが、 いつの間にか満員御礼 だったので、とてもびっくり。思いの外Flutter興味ある人多いぞ!!(多分。そしてうれしい)

満員御礼

開催しました

無事開催できましたー!

場所から機材から駐車場からなんと飲み物などまで色々と用意してくれました同僚の方*4をはじめ会社にはとてもありがとー!!という気持ちです。

まずは入門としてコンテンツを用意しました*5が、参加者の2/3弱が経験者だったので、 半分ぐらいの時間 で終わってしまいどうしようかなーーとなりましたが、LTで調整できたのでよかった。発表者の方々に感謝。

僕はLTをした

Flutter初心者がChatGPT使って入門してみた的な内容をやろうかなと思ってたんですが、3月は仕事とプライベートが思いの外ハードに襲ってきたので、いつのまにか前日になり、急いで用意しなきゃとさっと作ったのがこれです。

speakerdeck.com

最近Firebase使ったWebアプリ開発の仕事していたので、その時調べた内容やびびったことをつらつらと書いただけのスライドです。Flutter開発しているとBaaS使うことが多くなるそうなので、いずれコミュニティでやるかもしれないので、先んじでやった感じです(言い訳)

懇親会

connpassにはちょろっとだけ書いたのですが、懇親会を有志で募ったら多くの方々が参加してくれたので、そのまま流れました。初めてお会いした方、今年社会人になる方、お久しぶりな方々とわいわい楽しかったです。

みんなとワイワイ飲みながら技術の話できるのは最高でございました! そのまま滅んでくれコロナ!!!!!!!!

次もやります!

Flutterを色々調べてみると、Webと似たような感じで、BaaSであったり、アーキテクチャやゲームやら、3Dやらデプロイパイプライン、またMLを使ったアプリ開発など、ネタに困らない感じで色々できそうなので、1年ぐらいはネタに困らず続けられそうかなと思っています。

flutter-okinawa.connpass.com

また、まだ見ぬ沖縄Flutter勢がどこに生息しているのかわからないので、とりあえず北部に向けて行脚する予定です。#2までは那覇ですが、#3は中南部、中部のどこかでやろうかなと企画中どす。

行脚

ぜひお待ちしております!!!

個人的には今の仕事に活かせそうなMLライブラリに興味があるのと、せっかくアプリ開発している会社なんで、Flutter覚えて仕事できるようになりたいです。頑張るぞー。

その他

沖縄はまたオフラインイベントが増えている感じなので、盛り上げていきましょー!!!

re-build.connpass.com

jbug.connpass.com

tech-chura-lady.connpass.com

gpt-okinawa.connpass.com

cfm-cts.connpass.com

*1:そういえばまだ発表資料・解説記事あげていない・・・

*2:全く使わなくなったわけではないので、どこかで恩返し的なことはしたい

*3:PyData.Okinawaもなんかしたいんだけど一旦お休み中

*4:Flutterには興味がない同僚の方

*5:同僚がしてくれた。が正しい

Nuxt3のcreate-nuxt-appでカレントディレクトリにプロジェクト作りたい場合

概要

  • gitリポジトリを先に作ると、ネストしてプロジェクトが作成されるので嫌だった
  • なんかないかなって下記眺めてたらいけそうだったので試した

github.com

コマンド

$ yarn create nuxt-app . --overwrite-dir

--overwrite-dir とプロジェクト名をいれるところを . にするだけ

/usr/local/share/.config/yarn/global/node_modules/sao/lib/installPackages.js:108
        throw new SAOError(`Failed to install ${packageName} in ${cwd}`)
        ^

SAOError: Failed to install packages in /app
    at ChildProcess.<anonymous> (/usr/local/share/.config/yarn/global/node_modules/sao/lib/installPackages.js:108:15)
    at ChildProcess.emit (node:events:513:28)
    at maybeClose (node:internal/child_process:1091:16)
    at ChildProcess._handle.onexit (node:internal/child_process:302:5) {
  __sao: true
}

そしてできませんでした涙

どうやら、プロジェクト名と移動するディレクトリ名が一緒じゃないとだめらしい(つまり . ではなく指定したプロジェクト名のディレクトリがないとだめ?)

エラーでぐぐってみると、npmやyarnのバージョンアップが必要なのでは?ってでてきたなるほど

結果はかわらず涙

zenn.dev

以前試したときとコマンドが違うことがわかった。 create-nuxt-app だとなぜだ〜

m1 macでschemaspyをdocker composeで動かす

概要

  • 参考にしてた記事で動かんくなってたので辛い
  • 改めて整理して色々試して動くようになったのでそれだけ貼り付ける

ディレクト

$ tree
.
├── Dockerfile
├── docker-compose.yml
├── initdb.d
│   └── 01-init.sql
├── mysql
│   └── custom
│       └── my.cnf
├── output
└── schemaspy
    └── schemaspy.properties

ファイルの内容

Dockerfile

FROM openjdk:8u212-jdk-alpine

ENV DRIVER_URL https://repo1.maven.org/maven2/mysql/mysql-connector-java/8.0.30/mysql-connector-java-8.0.30.jar
ENV APP_URL https://github.com/schemaspy/schemaspy/releases/download/v6.1.0/schemaspy-6.1.0.jar

WORKDIR /app
COPY schemaspy/schemaspy.properties .

RUN apk --update add graphviz ttf-dejavu && \
    apk --update add --virtual .builddep tzdata wget libressl && \
    cp /usr/share/zoneinfo/Asia/Tokyo /etc/localtime && \
    mkdir /drivers && \
    wget -O /drivers/mysql-connector-java.jar ${DRIVER_URL} && \
    wget -O schemaspy.jar ${APP_URL} && \
    apk del .builddep && \
    rm -rf /var/cache/apk/*

docker-compose.yml

version: "3.9"
 
volumes:
  db-store:
 
services:
  db:
    image: mysql:8.0-oracle
    volumes:
      - db-store:/var/lib/mysql
      - ./initdb.d:/docker-entrypoint-initdb.d
      - ./mysql/custom:/etc/mysql/conf.d
    environment:
      - MYSQL_DATABASE=my_database
      - MYSQL_ROOT_PASSWORD=root
 
  schemaspy:
    build:
      context: .
    image: schemaspy
    volumes:
      - ./output:/output
    tty: true

initdb.d/01-init.sql

CREATE DATABASE IF NOT EXISTS my_database;
USE my_database;

CREATE TABLE `pokemon` (
    `id` INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
    `name` VARCHAR(255) NOT NULL
);

CREATE TABLE `type` (
    `id` INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
    `name` VARCHAR(255) NOT NULL
);

CREATE TABLE `waza` (
    `id` INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
    `name` VARCHAR(255) NOT NULL,
    `type_id` INT NOT NULL,
    FOREIGN KEY (`type_id`) REFERENCES `type`(`id`)
);

CREATE TABLE `pokemon_type` (
    `id` INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
    `pokemon_id` INT NOT NULL,
    `type_id` INT NOT NULL,
    FOREIGN KEY (`pokemon_id`) REFERENCES `pokemon`(`id`),
    FOREIGN KEY (`type_id`) REFERENCES `type`(`id`)
);

CREATE TABLE `pokemon_waza` (
    `id` INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
    `pokemon_id` INT NOT NULL,
    `waza_id` INT NOT NULL,
    FOREIGN KEY (`pokemon_id`) REFERENCES `pokemon`(`id`),
    FOREIGN KEY (`waza_id`) REFERENCES `waza`(`id`)
);

schemaspy/schemaspy.properties

schemaspy.t=mysql
schemaspy.dp=/drivers/mysql-connector-java.jar
schemaspy.host=db
schemaspy.port=3306
schemaspy.db=my_database
schemaspy.s=my_database
schemaspy.u=root
schemaspy.p=root
schemaspy.implied=true
schemaspy.norows=true
schemaspy.nopages=true

mysql/custom/my.cnf

[mysqld]
character-set-server=utf8

[mysql]
default-character-set=utf8

実行

$ docker compose up -d
$ docker compose exec schemaspy java -jar schemaspy.jar -o /output/

参考記事

gmor-sys.com

qiita.com

zenn.dev