しじまるめも

生活の雑記

Sping Boot+H2DB にてデータが文字化けする

やりたいこと

Spring Bootを使用してWebアプリケーションを構築する際、データベースを用意して、アプリ起動時にテーブル作成とデータ投入をするよう設定しました。

MyBatisとH2Databaseを使用し、テーブル構成を定義したschema.sql、投入データを定義したdata.sqlをresoucesに配置します。

アプリ起動、テーブル作成・データ投入までできること確認できたのですが、テーブルデータが文字化けしてしまいました。

環境

  • Windows11
  • IntelliJ IDEA Community Edition 2023.3.6
  • Spring Boot 3.2.4

解決策

結果として、data.sqlのEncordingをSJISにすることで解決しました。

明示的にSJISを定義している箇所は無いと思うのですが、なぜかこれだと上手くいきました、、 どうしてSJISだと正常に表示されるのか分からず。

色々試したこと

全体的にUTF-8に揃えたかったのもあり、解決までに色々と試したので記録として残します。 結果としてUTF-8にはできず、、

Python3エンジニア認定基礎試験に合格しました

12月の初旬、Python3エンジニア認定基礎試験を受験しました。
無事に一発合格することができたので、勉強の記録と試験の感想を書きます。

 

受験のきっかけ

「これからはPythonだ!」という上司の一言です。(笑)

 

というのも、弊社にはPython技術者がほとんどいない状態であり、
今後Python技術者を増やしたいという会社の意向があったそうです。

私自身もずっとJavaでの開発経験のみだったので、
これを機に新しい言語を勉強してみたいと思い受験に至りました。

 

 

勉強方法

主に、書籍と模擬テストサイトで学習しました。

 

書籍①: Pythonチュートリアル 第3版

Pythonチュートリアル 第3版

Pythonチュートリアル 第3版

  • 作者:Guido van Rossum
  • 発売日: 2016/03/24
  • メディア: 単行本(ソフトカバー)
 

 

書籍②: プログラミング超初心者が初心者になるためのPython入門(1)~(3)

 

模擬テストサイト:DIVE TO EXAM

exam.diveintocode.jp

 

始めに「プログラミング超初心者が初心者になるためのPython入門(1)~(3)」を読みながら、実際に手を動かしてコードを書いていきました。

一つずつ丁寧に解説してくれているので、本当に超初心者の方にもおすすめしたい書籍です。

 

一通り終わったら、DIVE TO EXAMで模擬テストを受験します。
初回は500点くらいでした。

間違えた問題については、「Pythonチュートリアル 第3版」で復習します。

 

上記の模擬テスト⇒書籍で確認、の流れを本番までに5回ほど行いました。
結果、最終的には模擬テストで800点くらい取得できるようになりました。

 

 

試験の感想

試験時間は30分ほど使いました。

模擬テストには登場しなかった問題も多く、結構苦戦しました。

 

試験問題は回答中に見直しマークを付けることができるのですが、
回答済の問題に戻れない試験もあるのでありがたかったです。

 

 

試験結果 

全然自信が無い状態で、試験終了ボタンを押しました。

 

すぐに結果が表示されました。725点、ギリギリで合格することができました。

 

 

 

振り返り

pass、continue、breakの使い方について、理解が浅いことが分かりました。
Javaだとどうだったかな、、と考えましたが、自信のある答えを出すことができませんでした。

それとenumrateについても復習が必要そうです。 

 

今後はデータ分析試験のほうも受験を検討しようと思います。

 

【Power Apps】SharePointリストに入力した日付を取得して自動採番値にする

イベントコードを自動採番したい

勉強会や報告会など、社内イベントの管理を一覧化するため、
SharePointリストで管理をすることになりました。

各イベントの主催者がリストに概要を入力する運用にしたいのですが、
イベント名をタイトルとすると重複してしまう可能性があります。

そのため、一意となるイベントコードを自動採番するように入力フォームを作成しました。

 

リストの管理値

イベントリストには下記の値を持たせます。

  • イベント名
  • 開催日付
  • イベントコード

主催者にイベント名、開催日付を入力してもらい、
その開催日付からイベントコードを生成する仕組みとしました。

 

入力フォームのカスタマイズ

Power Appsでリストの入力フォームをカスタマイズします。

f:id:shizimaru:20201016232723p:plain

入力フォーム完成図

カスタマイズ後のフォームです。
日時欄に入力した内容が反映されています。

 

f:id:shizimaru:20201016232857p:plain

イベントコードのDefaultプロパティの中身

"DateValue1"が日付の入力値を表しています。
取得した日付を"yyyymmdd"の形に変換します。

さらに"HourValue1"で時間を取得し、日付に足しています。

 

日付のみだと同日開催するイベントがある場合に重複してしまうので、時間も付け加えました。

 

f:id:shizimaru:20201016233531p:plain

イベントコードのDataCardValueプロパティ

変更できないよう、表示モードはビューにしておきます。

 

 

以上でイベントコードの自動採番が実装できました!

 

 

悩んだところ

HourValueを取得する際、

 HourValue1.SelectedText.Value
 HourValue1.Selected.Value

の両方で取得可能なようでした。

 

何か違いがあるのでしょうか。。
今後使っていく上で不具合など出ないかどうか見守りたいと思います。