真面目なブログはこっち 👉 blog.s64.jp

Android 10 (API 29) 以降でシステムナビゲーション設定を切り替える

  1. 設定画面に入る
  2. System -> Gestures -> System navigation

Gesture navigation はエッジスワイプで切り替えるやつ
2-button navigation はback + homeでアプリ切替をするもの
3-button navigation は従来のソフトウェアボタン。

2020年10月6日時点での東京都の学校行事実施に関する発表をまとめる

新型コロナウイルス感染症による社会情勢の変化を受け、教育機関は行事等の教育活動について厳しい決断を迫られているように思う。
自分もまがいなりにも教育機関と仕事をしている人間なので、これらの活動がどのような制約に置かれているのかを把握していないのはあまり良くないと思い、ここ最近の発表などからかいつまんで状況を把握する。

免責事項

  • 可能な限り正確な情報から判断できるよう努力していますが、あくまでも私個人の見解です
    • 本記事はあくまで参考として、正確な情報については1次ソースを参照してください
  • 本記事の内容が必ずしも弊社ないし私個人の関わる教育機関や事業者の方針と一致するわけではありません
  • 特段記載が無い限り、本記事内の日付は全て2020年のものです
  • ツッコミお待ちしております

9月14日 東京都教育委員会: 現時点での最新ガイドライン

エ 学校行事
12 月までに実施予定の、児童・生徒等が学年(学部)を超えて一堂に集まって行う活動(文化祭、体育祭等)、宿泊を伴う行事や校外での活動は、延期又は中止する。
令和3年1月以降に実施を計画する場合は、次の対策を講じるなどして、児童・生徒等の安全を十分に確保する。
感染状況等により、児童・生徒等の安全が十分に確保できないと判断される場合は、延期又は中止する。

(ア) 児童・生徒等が学年(学部)を超えて一堂に集まって行う活動(合唱祭、演奏会、講演会等)
●「3密」と「大声」を徹底的に避けた計画とするとともに、30 分に1回を目安として定期的に休憩を挟み、その都度、会場内の換気を行うなどの工夫を行う。また、オンラインによる鑑賞も積極的に活用する。
●学校の体育館等の施設を使用する場合は、児童・生徒等同士の間隔をおおむね1~2m確保するとともに、2方向の窓やドアを開けるなど、十分な換気を行う。
●外部会場を使用する場合は、会場の使用規定等に基づくとともに、座席の配置は児童・生徒等同士の間隔を十分確保する。
●飛沫感染防止の観点から、講演会等において演台を使用する場合はアクリル板を設置する。また、歌唱や演奏等を行う者の舞台上の配置は前後 2m 以上、左右 1m 以上確保するとともに、舞台から観客席までの距離を5m程度確保するなどの工夫をする。

(イ) 宿泊を伴う行事について
●学校のある地域又は活動先における感染状況等により、児童・生徒の安全が十分に確保できないと判断される場合は、キャンセル料が発生する前に、延期又は中止と判断する。ただし、海外への旅行については、今年度の実施は中止する。
●感染者の発生に伴い、実施日が臨時休業となる場合は中止する。

(割愛)

●児童・生徒と保護者に対して、旅行のねらい、旅行中の感染症対策、経路、利用する交通機関、緊急時の連絡体制、医療体制、キャンセル料等について丁寧に説明し、特に次の点について必ず確認した上で、実施開始日のおおむね 1 か月前までに参加承諾書を得る。また、必要に応じて、オンライン等による保護者会を開催する。

https://www.kyoiku.metro.tokyo.lg.jp/press/press_release/2020/files/release20200914_3/guidelines_01.pdf

www.kyoiku.metro.tokyo.lg.jp

まとめると、

  • 年度内12月までの行事関係はすべて延期または中止
  • 海外旅行は年度内すべて中止
  • 年度内1月以降については、配慮の上実施可能とする
    • どの行事の場合も、安全が十分に確保できない場合は延期または中止
  • 旅行において、実施日が臨時休業となる場合は中止

9月16日 国土交通省・観光庁: GoToトラベルの東京解禁を発表

9月11日(金)の新型コロナウイルス感染症対策分科会において、感染症の専門家による政府への提言をいただき、東京都を目的とする旅行と東京都に在住している方の旅行について、10月1日(木)以降に開始する旅行より改めて本事業の支援対象とすることが決定いたしました。

goto.jata-net.or.jp

9月28日 文科省: GoToトラベル事業の活用について発表

①東京都が目的地となっている旅行について、東京都内の旅行も含めて、10月1日以降に開始する旅行から、本事業の対象とする。
②東京都内に所在する学校が実施する旅行についても、同様に、10月1日以降に開始する旅行から、本事業の対象とする。

なお、上記に該当する場合の本事業の取扱いについては、各旅行業者等と御相談いただくようお願いします。
仮に今後、感染状況の著しい拡大があるなどの動きが出てきた場合には、政府全体の方針に基づき、東京都の追加を延期するかどうか、あるいは、事業開始後に対象外とするかの判断を改めて行うことといたします。このような取扱いについては、今後は、東京都を含めた全ての都道府県についても同様としたいと考えています。

また、感染の状況等に応じて、対象地域の変更があり得るといった一定のリスクが伴うことについて、改めて御理解をいただきますようお願いします。

(割愛)

修学旅行等の実施については、それぞれの実情を踏まえて、各学校や教育委員会等の学校設置者において適切に判断いただいているところですが、計画・実施にあたっては、以下のホームページに、各交通機関や受入れ自治体の取り組み等が掲載されていますので、これらも参考にしてください。

https://www.mext.go.jp/content/20200928-mxt_kouhou01-000004520_1.pdf

www.mext.go.jp

まとめると、

  • GoToに東京が追加されたから、修学旅行等で活用してほしい
  • 実際に修学旅行等を行うかは、各教育委員会や学校で個別の判断をお願いする
  • また地域により交通機関や自治体の方針も違うので、それらも加味してほしい

10月2日 文科省: 修学旅行等実施向けた配慮のお願いを発表

修学旅行等の実施については、それぞれの実情等を踏まえて、各学校や学校設置者において適切に御判断いただいているところと思います。
今年度未実施の学校におかれては、かねてよりお願いしているとおり、修学旅行等の教育的意義や児童生徒の心情等を考慮し、当面の対応として修学旅行等の実施を取りやめる場合も、中止ではなく延期扱いとしたり、既に取り止めた場合においても、改めて実施することを検討したりするなどの配慮をお願いします。

延期扱いとする場合においては、年度末の3月末日までの実施を検討するよう最大限の配慮をお願いします。当初の計画どおりの実施が難しい場合であっても、感染の拡大防止策を適切に講じた上で、近距離での実施や旅行日程の短縮など実施方法の適切な変更等について御検討いただくなどの配慮をお願いします。

https://www.mext.go.jp/content/20201002-mxt_kouhou01-000004520_2.pdf

www.mext.go.jp

まとめると、

  • 各教育委員会や学校で個別の判断こそお願いしているが、(以前からお願いしているとおり)教育的価値等を考慮して「中止」ではなく「延期」としてほしい
  • 仮に延期だとしても、年度末(= 最高学年の卒業前)までに実施できるよう配慮してほしい

以上を踏まえ

本日時点で出ている内容を元に判断すると、下記のようになる:

  • 文科省として、各種行事の実施は各機関に判断を任せている。が、GoToキャンペーンを活用するなど修学旅行の実施を推奨している。
    • 仮に一旦中止判断をしていても、年度末までに実施する方向で検討してほしい。
  • 東京都教育委員会は、12月までの各種行事は一律中止とした。
    • 文化祭や修学旅行など各種行事は1月以降に実施可能とする。
    • やむを得ない事由においては中止の判断を求める。
    • 旅行については、1ヶ月前までを目安に同意書を取る。

なお、私学の場合の所管は都道府県知事になるので、必ずしも教育機関の定めるガイドラインを参考にするとは限らない。原則的には都道府県知事の要請に従う。

第十四条

大学及び高等専門学校以外の市町村の設置する学校については都道府県の教育委員会、大学及び高等専門学校以外の私立学校については都道府県知事は、当該学校が、設備、授業その他の事項について、法令の規定又は都道府県の教育委員会若しくは都道府県知事の定める規程に違反したときは、その変更を命ずることができる。

(割愛)

第百三十三条

第五条、第六条、第九条から第十二条まで、第十三条第一項、第十四条及び第四十二条から第四十四条までの規定は専修学校に、第百五条の規定は専門課程を置く専修学校に準用する。
この場合において、第十条中「大学及び高等専門学校にあつては文部科学大臣に、大学及び高等専門学校以外の学校にあつては都道府県知事に」とあるのは「都道府県知事に」と、同項中「第四条第一項各号に掲げる学校」とあるのは「市町村(市町村が単独で又は他の市町村と共同して設立する公立大学法人を含む。)の設置する専修学校又は私立の専修学校」と、「同項各号に定める者」とあるのは「都道府県の教育委員会又は都道府県知事」と、同項第二号中「その者」とあるのは「当該都道府県の教育委員会又は都道府県知事」と、第十四条中「大学及び高等専門学校以外の市町村の設置する学校については都道府県の教育委員会、大学及び高等専門学校以外の私立学校については都道府県知事」とあるのは「市町村(市町村が単独で又は他の市町村と共同して設立する公立大学法人を含む。)の設置する専修学校については都道府県の教育委員会、私立の専修学校については都道府県知事」と読み替えるものとする。

http://www.kyoto-u.ac.jp/uni_int/kitei/reiki_honbun/w002RG00000944.html

ExcelでUnicodeなcsvを綺麗に開く

ExcelはWindows文化を汲んでいるので、Shift-JISおよびそれ系文字コードではないcsv (tsv) を開こうとするといわゆる "文字化け" が起こる。
これを開く方法を調べると「一度テキストエディタで開いてBOM付きUnicode保存する」なんていうのばかり出てきて本当にゲンナリするので、Excelだけでやる方法をメモ。

1. Excel上で空のExcelブック (シート) を作る

ちょっとここは悲しいけど致し方ない。この時点では保存しなくて可

2. リボン上の「データ -> テキストファイル」をからcsvを開く

Chooserが出るので対象のファイルを見る

3. 「元のファイル」として「Unicode (UTF-8)」を選ぶ

データ形式として最初から「区切り記号付き」が選択されている。
エンコーディングは他エンコーディングならそれ。ダイアログ下部のプレビューが化けて無ければOK。

4. 区切り文字を選択

デフォルトでは区切り文字として「タブ」が選択されているかもなので、csvならカンマに変える。
そのほか気になる項目があれば変える。
正しく区切り文字が設定されれば、プレビューに罫線が入る。

5. 必要に応じて、各列のデータ形式を設定する

4でプレビューに罫線が入ったので、列ごとにクリックして設定する。

6. 既存のシートに挿入する

これはあくまでインポートツールなので、空のシートに挿入する扱いになる。

Visual Studio Codespacesで "Login failed due to an..." みたいにログイン失敗する場合

Visual Studio Codespacesを使おうとして、ログイン時に下記表示になり失敗することがある:

Login failed due to an unexpected error. Please log out and try again.

Log out

Image from Gyazo

エラーの詳細が無くハマったのだが、どうもこれは3rd party cookieのブロックによって発生している模様。
Chromeのプライベートブラウズ機能を使っている場合、新しいタブページの「サードパーティのCookieをブロックする」を無効化すれば、正常に進むことができるはず。

Image from Gyazo

生徒のみなさん、手間取らせてしまってすまねえ

Androidライブラリ開発でRuntimeInvisibleParameterAnnotationsとなりアプリがビルドできない時の対処法

明確な原因まではわからないものの、対処法までは見つかったのでとりあえず書く。ざっくり言うと、Jetifierのバグを踏んだらしい。

問題の再現手順

ライブラリプロジェクトとして、Android Support Libraryを用いたものを作成する。AndroidXではない。

api "com.android.support:support-annotations:28.0.0"

下記のようなEnumクラスを作成する。ポイントなのは、コンストラクタのパラメータにAnnotationが付けてあること。

public enum MyOriginalEnum {
  
  MyOriginalEnum(@Nullable Integer hoge) {
    // do something
  }
  
}

このクラスをライブラリとして参照するプロジェクトで、Jetifierを有効にする。gradle.propertiesにある。

android.useAndroidX=true
android.enableJetifier=true

このEnumをJavaコードから参照する。importだけでも再現する。Kotlinから参照する場合は関係ない。

Log.d("Hoge", MyOriginalEnum.values());

すると、下記のようなエラーになってコンパイルができない。

エラー: MyOriginalEnumにアクセスできません
クラス・ファイル/Users/****/.gradle/caches/transforms-2/files-2.1/****/jetified-****-api.jar(****/MyOriginalEnum.class)は不正です
RuntimeInvisibleParameterAnnotations属性が不正です: MyOriginalEnum(Integer)
削除するか、クラスパスの正しいサブディレクトリにあるかを確認してください。

対処方1

Enum側のパラメータに付与してあるAnnotationを外す。今回の場合は @Nullable を外すので、IDE補助がなくなる。

対処法2

Jetifierを使わない。どうもこの問題はJetifierによるバイトコードの変換で発生しているらしい。

対処法3

Kotlinコードからしか参照しない。試したところ、Kotlinからしか参照しない分には問題は発生しなかった。

2020年賀状を住所を知らないネットの友達に自作デザインで送る

2020年 (2019年末投函分) の場合、日本郵便のはがきデザインキット2020 Web版を使えばいける。
ハガキを用意しなくても、クレジットカードさえあれば印刷から投函までぜんぶやってくれるので便利。

1. ゆうびんIDでログイン

なければ作る。Webアプリ右上の「新規登録 / ログイン」からいける。

2. 全面写真レイアウトで作る

はがきを作るをクリックすると、レイアウトをテンプレートから選択する画面になる。
特段こだわりがないだとか、気に入ったデザインがあるのならここから選んでもよい。その場合、テキストメッセージ, スタンプ, 手書き文字, 写真アリの場合は画像の差し込みくらいなら可能。

今回はオリジナルのデザインにしたいので、上部バー内にある「写真あり」から「全面写真」を選ぶ。

f:id:S64:20191226115728p:plain

3. 用紙を選ぶ

フチ無しの場合は写真用紙、フチありの場合は写真用紙で作る。

4. 入稿データを作る

入稿データと言うけど、ただの画像ファイルでOK。jpg, png, gifに対応。1181x1748 (px) で作るとよい。
フチ有無問わず、四隅5mmが塗り足し(裁ち落とし)となることが利用ガイドで明記されているので注意。 なお、全面写真の場合はマージンなしで配置されるのので気にしなくて良いのだが、フチありの場合は後述するエディタでフチ分のマージンを入れた状態で配置されてしまう。px換算すると60px分になるようなので、その分を差し引いた形式にするとよいかもしれない。

5. エディタにアップロードする

写真を想定しているので、自動補正を掛けることもできる。掛けないこともできる。

6. メッセージ等追加要素を入れる

前述したメッセージやスタンプなどを追加できる。なお後述するとおり送る相手によってメッセージを追加で配置することも可能なので、相手により内容を変更したい場合はここでは何もしなくてよい。

7. 保存する

デザインを保存すれば後から追加注文などもできるので、一旦ここでは保存にしておく。

8. マイデザインから注文へ進む

右上メニューのマイデザインから保存済のデザインを呼び出し注文できる。

9. 配送相手を選ぶ

相手の住所がわかっていれば、ここで「直接相手に届ける」をクリックし必要事項を入力すればよい。プリントから投函まで自動で行われる。
今回はネットの友達宛なのだが、ここで2通りの方法がある。
どちらの場合も自分には相手の氏名や住所が見えることはなく、相手側の個人情報が割れることはない。

相手にTwitterのDMが送れる場合

「Twitterの友達に送る」をクリックし、自分のTwitterアカウントと連携する。宛名登録画面になるため、左側の「友達を選択する」から相手を選ぶ。
このあとの手順を済ませ注文を確定すると、自分のTwitterアカウントから相手へ直接DMが飛ぶ。ここにある専用URLから相手に受領ないし拒否をしてもらい、住所を入力してもらう。

注文確定から数分後にDMが届くようなので、おそらくキューかなんかに溜まっている。

f:id:S64:20191226122857p:plain

相手のメールアドレスがわかる場合

「メールアドレスで送る」をクリックし、「送り先を登録する」から住所録に追加していく。
必須項目は「氏名」「メールアドレス」だが、どちらも受領されるまでしか利用されない。具体的には、受領依頼メール内での文言とその送信先としてしか使われない。そのため相手に見られてもよい限りは氏名には何を入力しても問題ない。

このあと手順を済ませ注文を確定すると、receive_m@design-kit.jpのFROMで相手にメールが届く。ここにある専用URLから相手に受領ないし拒否をしてもらい、住所を入力してもらう。

f:id:S64:20191226122038p:plain

※住所もTwitterもメールアドレスもわからないけど個別連絡が取れる場合

LINEだとかFacebook Messengerで送るメニューはないためアンオフィシャルな使い方になるが、下記の手順で正常に受領してもらえることを確認した。

  1. 「メールアドレスで送る」へ進む
  2. 自分が受け取れる形式でメールアドレスを指定する
  3. 受け取ったメール(の専用URL)をコピーする
  4. 相手へ個別メッセージで送る
    • 発行されるURLが個人専用なので、不特定多数が踏めてはいけない

f:id:S64:20191226122748p:plain

10. 差出人を登録する、またはしない

名前, 郵便番号, 住所 を入力し、宛名面に印刷する差出人名を設定できる。
ただし、郵便は差出人を書かなくても届けることができ、左側チェックボックスの「宛名面に印刷しない」を設定すればこのステップをスキップできる。もし相手に実名や住所を教えたくない場合は印刷を無効にすればよい。

f:id:S64:20191226123318p:plain

11. 必要なら、個別メッセージなどを挿入する

左側で相手を選ぶと、個別のデザインプレビューが出る。ここで「デザインを編集する」をクリックすることで、個別にメッセージやスタンプなどを挿入できる。

f:id:S64:20191226123555p:plain

12. 注文内容を確認し、購入手続きをする

10枚以上送るなら、一度の注文でまとめて手続をすると割引が効く。
相手が受け取るか否かが確定しないため、ここではクレジットカードのみ利用可能。決裁をすると、一度オーソリとしてカードに全ての受領があった場合の請求が走る。もし相手が受取拒否ないし期限までに受領しなかった場合、その分が返金処理される。

以上で手続は完了。

手続の期限

注文が確定され相手にメッセージが届いてから3日以内に手続が行われなかった場合、その分はキャンセル扱いになり、前述のとおり枚数分の返金処理が走る。
また、相手にはこの3日間ずっと催促メッセージが飛ぶので注意。

f:id:S64:20191226124436p:plain

法務省のソフトが何度やっても「ICカードリーダの初期化に失敗しました。ICカードがICカードリーダに差し込まれているか確認してください。」となるので手順を書き起こす

合同会社の設立に伴って法務省の「申請用総合ソフト」を使うときにマイナンバーカードを使って署名を付けたりするんだけど、何度やっても正しいであろう手順を踏んでも

ICカードリーダの初期化に失敗しました。ICカードがICカードリーダに差し込まれているか確認してください。

というエラーで失敗してしまう。
めちゃくちゃ数十回と再試行しまくって、やっと下記手順でやれば再現性のある形で署名ができることを確認した。

  1. 申請用総合ソフトを起動しておく
  2. ICカードリーダを接続する
  3. 「ツール」 ->「オプション」 を開く
  4. ICカード切り替え タブに切り替える
  5. 「使用するICカードライブラリを登録します。」の「登録」ボタンをクリックする
  6. 「使用するICカードライブラリを切り替えます。」で「個人番号カード」を選ぶ
  7. 「適用」をクリックする
  8. 「設定」をクリックする(ダイアログを閉じる)
  9. 目的の「署名付与」へ進む
  10. 「ICカードで署名...」をクリックする
  11. 「ICカード差し込み確認」というダイアログが出るので、このタイミングでマイナンバーカードを差し込み、次へ進める
  12. パスワードを入力し、次へ進める
  13. これで署名成功!

マイナンバーカードを挿入するタイミングやICカードリーダを接続しておくタイミングがけっこうシビアで、これをミスるとすぐエラーになる模様。