2022年1月26日水曜日
Microsoft 365のメール自動転送失敗?への対応 | ライタス株式会社
2022年1月21日金曜日
Surface Pro 8 使用感レビュー | ライタス株式会社
こんにちは。ライタスお手伝いの青井です。最近は代表箕谷さんのいろんなお手伝いをするため出現しております。これからちょくちょく出現するのでよろしくお願いします。
さて、ライタスにいる人は皆Surfaceで仕事をしており、偶然ですが私もSurfaceを使ってお仕事をしております。
そんな中、先日長年使っていたSurface Pro4のバッテリーが逝ってしまい使えなくなってしまいました。
思い切って、発売したばかりのSurface Pro 8にリプレースしてみましたので、せっかくなので製品レビューをしてみました。
大きくなった Surface Pro8 重量もアップ
Surface Pro8はおっきくなって重くなりました。。。比べてみるとよくわかります。
ただ、Surface本体+タイプカバー+ペンの合計質量は1187gと、モバイルノートPCとしては一般的な質量となっています。カバンの中に入れて持ち運ぶ分には、問題ありません。軽いPCをご希望の場合はThinkPad X1 Carbonとの比較検討になるかと思います。
ディスプレイが13インチに 外部接続の仕様変更に注意
ただ、ちょっと大きくなった分ディスプレイも12.3インチから13インチと若干大きくなりました。画面比も3:2(2880×1920ドット)なので使いやすいです。
それとハードウェア仕様が大きく変わり、DisplayPort、USB-A、microSDカードスロットも廃止となりました。
右側には移動してきた電源ボタンと、USB-Cコネクタ二つとSurface connectの端子があり右側にはイヤホン端子と移動してきた電源ボタンがあります。
いやいや、USB-A使うよ!って人はSurface USB-C Travel Hubで変換するといいと思います。Travel HubはUSB-C→USB-Aだけではなく、HDMI、VGAにも変換できますしLANコネクタもついてきます。便利なので一緒に買うといいと思います。
たまにキャンペーンで一緒に買うと安くなることがあります。ただ、私はAmazonでポチりました。
https://www.amazon.co.jp/dp/B088CK5F66/
本体M.2 SSDが交換可能に
microSDカードスロットはなくなってしまいましたが、本体SSDが交換可能になりました。容量足りなくなったら変えるのもありです。まぁクラウドにデータ置いちゃえばそんなに容量もいらないと思います。
交換しちゃうと保証がNGになってしまいますので、要注意です。
PC Watch - 「Surface Pro 8」購入記。SSDを換装してお手頃価格で1TBを実現
タイプカバーの仕様変更に注意
一番大きな変更点としてはキーボードカバーの端子変更です。そのためPro7まで使えたキーボードが使えなくなりました。買いなおしです。
左が新しいキーボード、右がPro7までのキーボードです。端子ががっつり変わっております。
それぞれをアップにしてみるとこんな感じです。
Surfaceのキーボードカバーはコバルトブルーを使っていて、結構気に入っていましたのでこれは地味にショックでした。そのため、現在のラインナップで近いと思ったアイスブルーを購入してみました。思ったより淡い色で個人的にはちょっと残念。。。また、車輪を見てもわかる通りペンが収納で切るようになりました。しかも、ここに置くとペンの充電できるのはありがたいですね!以前は画面の横に磁石でくっつくタイプで、よく落としていました。今度は落ちることはないので良いアップデートだと思います!ペン使わないけど。。。
充電は電力(ワット数)変更
充電は相変わらずSurface Connectポートで変更なしです。また、USB-C充電も可能です。ただ、ワット数が変更になっていて、変圧器に仕様変更があった模様です。
Pro 4は44Wだったんで、Anker Nano II 65W+Sisyphy Surface PDを使って充電していました。Pro 8に変更してから、どうやら電圧が65Wになっているらしく、給電するときに低速警告メッセージが発生するようになりました。
今はUSB-C直で充電しています。電圧落ちないConnectポート変換ケーブルあったら教えてもらえると嬉しいです。
Anker Nano II 65Wは、USB-PD電源として軽くて小さくて、お勧めです。
https://www.amazon.co.jp/dp/B08X11GD52
総論:(重量が)重くなるけど、それ以外は満足(慣れ?)
仕事の都合上、Surface Pro 4(壊れたのと別のマシン)と同時使用しておりますが、持ち心地は旧マシンのほうがよかった気がします。便利になると大きくなるのは仕方ないのかな。。。これは頑張って慣れていきます。
といった感じで思ったことをつらつら書いていきました。気が向いたらWindows10からWindows11に変わったことで良かったこと、悪かったことも書いていこうかと思います。気が向いたらですが。。。
ライタス株式会社では今回ご紹介したSurface Pro 8はもちろんのこと、様々なIT機器の購入から導入まで承っております。新たにIT機器及びシステムを導入したいといったことがあれば、お気軽にお問い合わせフォームまたは担当者までご連絡ください。
2022年1月17日月曜日
SQL 文から ER 図を自動生成してくれる SchemaSpy を docker-compose でやってみた | ライタス株式会社
お世話になります。 田所です。
弊社は開発をすることは基本はないのですが、データベース周りを扱うことはよくあります。
最近、こんな連絡がありました。
DB設計をしてみたのでテーブル内容、リレーション等不備がないか確認をお願いします。 添付ファイル: DB.sql
添付の中を確認しますと、、
CREATE TABLE product (
category INT NOT NULL, id INT NOT NULL,
price DECIMAL,
PRIMARY KEY(category, id)
) ENGINE=INNODB;
......
...........続く
なるほど、わからん。
SQL文だけではさすがにしんどいですよね。
なのでSQL文からER図を作成してくれるSchemaspyを使ってみました。
どうやらSchemaspyはJavaベースで動いて、MYSQL等のデータベースへアクセスして情報を取得し、最終的なレポートを静的なHTMLで生成してくれるものみたいですね。
手順として以下のような感じになります。
- JavaとMySQLをインストール
- MySQLにSQL文をマイグレート
- Schemaspyを実行
うーん、、、なかなか面倒そうだし、ってことなので使い回しも考えてDocker化しちゃいます!
参考記事
構成
- 構成図
- ファイル構成
SchemaSpy/
├── README.md
├── Dockerfile
├── docker-compose.yml
├── mysql
│ └── table.sql // xxxx.sql と拡張子がsqlになっているSQL文のファイルを配置する
└── output // このフォルダにHTML,CSS,JSが生成される
Dockerイメージにはschemaspy/schemaspy:snapshotのイメージがあるので使いました。
しかし実行の際にmysql-connector-javaのバージョンが低いため失敗するので新しいmysql-connector-javaを入れています。
参考記事: Docker でサクッと MySQL 8 から ER 図を作成する
Dockerfile
FROM schemaspy/schemaspy:snapshot
USER root
RUN apk update && \
apk add mysql-client && \
mkdir -p drivers && \
apk add --update openssl && \
wget -P /tmp https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-8.0.16.tar.gz && \
tar xvzf /tmp/mysql-connector-java-8.0.16.tar.gz -C /tmp && \
cp /tmp/mysql-connector-java-8.0.16/mysql-connector-java-8.0.16.jar /drivers/. && \
rm -rf /tmp/mysql-connector-java-8.0.16*
docker-composeは若干の工夫が必要で、 先にschemaspyコンテナが起動するとMySQLへの接続エラーとなるため、 MySQLが正常に接続できるようになるのを確認したらschemaspyコンテナを起動させます。
そのためMySQLコンテナにヘルスチェック項目を、 schemaspyコンテナにはdepends_onでcondition: service_health、 とすることでMySQLのヘルスチェックが成功した後、schemaspyコンテナを起動します。
MySQLコンテナの公式に/docker-entrypoint-initdb.dに.sqlファイルを配置したらこれらをインポートすると書いてあるのでこれを利用してマウントさせています。
docker-compose.yml
version: "2"
services:
db:
image: mysql:8
container_name: "mysql"
volumes:
- ./mysql:/docker-entrypoint-initdb.d
environment:
- MYSQL_ROOT_PASSWORD=root
- MYSQL_DATABASE=SCHEMASPY_DATABASE
ports:
- 3306:3306
healthcheck:
test: mysqladmin ping -h 127.0.0.1 -u root -proot || exit 1
schemaspy:
build:
context: .
container_name: "schemaspy"
environment:
- MYSQL_ROOT_PASSWORD=root
volumes:
- ./output:/output
depends_on:
db:
condition: service_healthy
command: -t mysql -host db:3306 -db SCHEMASPY_DATABASE -u root -p root -s SCHEMASPY_DATABASE
実行
1. mysql フォルダに拡張子が.sql の SQL ファイルを配置する
今回はサンプルとしてMySQL 公式の SQL 文をtable.sqlという名前で配置しています。
※SQL文にはCREATE DATABASE
の記載はせずCREATE TABLE
のみ記載してください。
2. コマンド実行: docker-compose build
mysql-connector-java-8.0.16.tar.gzがリンクぎれになってエラーになった場合は最新のものを取得してください。
参考: https://www.mysql.com/jp/products/connector/
3. コマンド実行: docker-compose up
まずMySQLが立ち上がります。
xxxx@DESKTOP-xxxxx:~/schemaspy$ docker-compose up
[+] Running 2/2
⠿ Container mysql Created 0.1s
⠿ Container schemaspy Created 0.1s
Attaching to mysql, schemaspy
mysql | 2022-01-14 10:29:42+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 8.0.27-1debian10 started.
mysql | 2022-01-14 10:29:42+00:00 [Note] [Entrypoint]: Switching to dedicated user 'mysql'
mysql | 2022-01-14 10:29:42+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 8.0.27-1debian10 started.
mysql | 2022-01-14 10:29:43+00:00 [Note] [Entrypoint]: Initializing database files
......
........続く
mysql | 2022-01-14T10:30:00.672640Z 0 [System] [MY-011323] [Server] X Plugin ready for connections. Bind-address: '::' port: 33060, socket: /var/run/mysqld/mysqlx.sock
mysql | 2022-01-14T10:30:00.672703Z 0 [System] [MY-010931] [Server] /usr/sbin/mysqld: ready for connections. Version: '8.0.27' socket: '/var/run/mysqld/mysqld.sock' port: 3306 MySQL Community Server - GPL.
準備ができ、そのまま少し待つとSchemaSpyが起動します。
schemaspy | Using drivers:mysql-connector-java-8.0.16.jar
schemaspy | ____ _ ____
schemaspy | / ___| ___| |__ ___ _ __ ___ __ _/ ___| _ __ _ _
schemaspy | \___ \ / __| '_ \ / _ \ '_ ` _ \ / _` \___ \| '_ \| | | |
schemaspy | ___) | (__| | | | __/ | | | | | (_| |___) | |_) | |_| |
schemaspy | |____/ \___|_| |_|\___|_| |_| |_|\__,_|____/| .__/ \__, |
schemaspy | |_| |___/
schemaspy |
schemaspy | 6.1.1-SNAPSHOT
schemaspy |
schemaspy | SchemaSpy generates an HTML representation of a database schema's relationships.
schemaspy | SchemaSpy comes with ABSOLUTELY NO WARRANTY.
schemaspy | SchemaSpy is free software and can be redistributed under the conditions of LGPL version 3 or later.
schemaspy | http://www.gnu.org/licenses/
schemaspy |
schemaspy | INFO - Starting Main v6.1.1-SNAPSHOT on 28ae269f727b with PID 1 (/usr/local/lib/schemaspy/schemaspy-6.1.1-SNAPSHOT.jar started by root in /)
schemaspy | INFO - The following profiles are active: default
schemaspy | INFO - Started Main in 1.523 seconds (JVM running for 2.257)
schemaspy | INFO - Starting schema analysis
mysql | mbind: Operation not permitted
...................
schemaspy exited with code 0
無事終了したら Ctrl + C でコンテナを終了させます。
^CGracefully stopping... (press Ctrl+C again to force)
[+] Running 2/2
⠿ Container schemaspy Stopped 3.1s
⠿ Container mysql Stopped 2.0s
canceled
4. output フォルダに HTML,CSS,JS が生成される
ホスト側のoutputフォルダにファイルが生成されています!
この中にあるIndex.htmlファイルを開きます。
問題なくみれました!
上にある「Relationships」をからER図を確認してみます。
いい感じにER図作らています!
今回のソースはGitHubにも上げています。
使いまわしが効くので便利です!
ご参考までに!