メモってこ!

IT関連系のあれやこれ

合理的配慮によるWEBアクセシビリティの強化

 

■書いたきっかけ

勉強会のメモ

 

■合理的配慮によるWEBアクセシビリティの強化を考える必要性

前々からWEBアクセシビリティを考慮してシステムを構築しようという概念はあった。

(ただ工数とかを考えるとどうしても優先順位は下がって、リリース時には不親切なページが、、)

 

2021年5月に改正された「障害者差別解消法」が2024年4月から施行され、合理的配慮の提供が義務化されることにより優先度が上がる

 

〇例えば

目の不自由な人が来店したら、付き添いの人と来てくれと入店を断るのではなく、店内の移動をサポートして買い物をさせてあげるのが義務となる

忙しいとか差別的でない理由なら義務は果たす必要はない、らしい

 

昔話題になった、車いすで言ったらイタリア料理店に入店断られた的な話があったが、これをきっかけに訴訟を起こされることも出るようになったといこと

 

・ECだと

音声読み上げソフトに対応させるといった視覚・用各障害者が利用しやすくなる構成にする必要がある

(便利だからと言ってなんでもdivタグでやる時代は終わった。。とっくにかもしらんけど。ボタンはbuttonタグで作りましょう)

 

〇違反したら

直ちに罰則を科されることはないが、繰り返し差別が行われて自浄作用が期待できない場合は、担当大臣が合理的配慮に向けての改善経過報告を求めることができる

そして、虚偽報告には過料を科せる

 

〇WEBアクセイシビリティ性の判断基準

JIS X 8341-3:2016ガイドラインに適合するように取り組むことでWEBアクセシビリティに対応したサイトが作成できるとのこと

 

waic.jp

 

 

・外国だと

アメリカ>これ起因の訴訟が多かったので今では複数の法規制がある

カナダ >レベルA準拠のアクセシビリティ達成義務あり

韓国  >独自基準を設置

フランス>ウェブアクセシビリティの基準と罰金制度を設置

 

■対応観点

〇視覚

・テキストの色味やテキストのフォントを可視性高くする

 ・文字色と背景のコントラスト

 ・くっきりと見やすいフォントの使用

 

・画像は読み上げ機能に対応させる

 alt属性の設定は絶対。画像に設定する場合、画像に何が書かれているかを簡潔にaltへ記載する

 

〇聴覚

・動画の音声はテキスト表示

・音以外の通知方法を複数用意

 ・ライトの点灯や点滅

 ・バイブレーション

 ・テキスト表示など

 

〇認知

・理解しやすい表現にする

 ・内容がすぐにわかるようにタイトルを設ける

 ・リンクの場合は下線を付ける

 ・わかりやすい言葉を使用する

 ・サイトマップを付ける

 

■他

総務省のサイトがいい手本になるらしい

・ユニウェブというものを使用すればこれが簡単に維持できるらしい

 

C#からBATファイル実行の備忘録

  • 書いたきっかけ
  • 前提事項
  • 使い方

 

■書いたきっかけ

BATファイルをプログラム実行中に実行する必要があったため。

 

■前提事項

C#での実行

 

■使い方

〇実行メソッド

learn.microsoft.com

 

usefuledge.com

 

usefuledge.com

 

〇戻り値

atmarkit.itmedia.co.jp

 

dobon.net

 

〇管理者実行

araramistudio.jimdo.com

 

ファイル内の文字列操作

  • 書いたきっかけ
  • 前提事項
  • 使い方

 

■書いたきっかけ

取り込みファイルが膨大すぎて、一行ずつ読み込んでの処理が困難だったため使用。

 

■前提事項

C#を使用

 

■使い方

いったんすべての情報を読み込んで、該当ファイルに上書きするという処理になる。

以下を参考

 

lets-csharp.com

 

korekurai.com

 

bbs.wankuma.com

 

 

BtoC向けのインフラ構築について

  • 書いたきっかけ
  • BtoC向けのインフラ構築について

 

■書いたきっかけ

勉強会のメモ

 

■BtoC向けのインフラ構築について

大手が手掛けるBtoCのWebサービスだと、オープン時やセールなどといった、特殊イベントのアクセス数が予想しづらい。

このため、アクセス想定数と実際の数に開きがあると、サーバーダウンなどの事態を招く。

サーバーダウンなどの事態を招くとSNS炎上などで、風評被害を受けやすくなる。

また、緊急対応に対応時間を多く割かなければならない。

 

アクセス数や商品データといった、Webサービス側で提供するテーブルデータ規模などを想定して、サーバースペックなどの算定を行う。

この場合、アクセス規模を大まかにでも把握しておくことが肝要である。

非機能要件、リスク概要をしっかりと客先に説明し、規模に関してはしっかりと確認しておく必要がある。

また、目先のランニングコストでスペック選定を行うのではなく、将来性を見据えなければならない。

 

〇対策

Webサービス開始前の性能検証

オープン時と同一データでレスポンスタイムの検証や負荷試験の実施

※オープン後は本番環境と同一データの検証環境を用意する

 →これにより追加開発時に性能劣化の気づきが得られる

 

・クライアントとイベントスケジュールの共有のルール化

セッション制限、キャッシュ対策、スペックアップやスケールアウトなど

 →事前の作業計画が可能

 

これにより、事前に作業やインフラ変更の金額提示ができ持ち出しコストも抑えることが可能。

 

〇インフラ設計のポイント

CDN

頻繁にアクセスされるページやある程度データ反映に時間が空いてもよくて、アクセス負担を効率よく減らせるページ(例:TOPや商品ページ)のページキャッシュ

※Webサーバーへのリクエストを減らすことができるため、ある程度までスペックを増強せずアクセス増加に耐えることができる可能性あり

 

・LoadBalancer

初期導入しておくことでアクセス増加時の対策は取りやすい。

例:流量制限、エラーページの振り分け

 

・共有DBのメモリ

共有DBの利用に際しては、現状のメモリ使用量などのリソースの空き状況の確認は必要

※ほかに共用DBを使用しているサービスでレスポンス遅延が発生する

 

・非機能要件定義

IPA機能要求グレード参照

www.ipa.go.jp

 

 

 

データを一括で更新する(C#からSQLServerの更新)

  • 書いたきっかけ
  • 前提事項
  • 使い方
  • そのほか

 

■書いたきっかけ

一括updateが一括insertのようにスマートにできず、

パフォーマンス改善に悩んで使用した。

一括で取得したデータをC#側でコード処理、既存データにupdateかけたかった。

 

■前提事項

使用しているのはC#SQLServerである。

 

■使い方

DataTable型データをSQL実行時にstruct型で引き渡す。

テーブルとして使用ができるのでjoinしてupdateSQLを発行する。

string sql = "";
sql += " UPDATE t SET x = 'XX' FROM test t ";
sql += " INNER JOIN @tmptable tmp ON t.xxx = tmp.xxx "
 
SqlParameter param2 = new SqlParameter
("@tmptable", SqlDbType.Structured, updateTmptable);

 

使用方法としては↑だが、実際に実行するには事前にSQLServer側にTableTypeを作成しておく必要がある。

 

itblog.dynaspo.com

 

実行前に確実に作成しておきたい場合は、以下と組み合わせればよい

 

note.mokuzine.net

 

■そのほか

〇参考

itblog.dynaspo.com

 

↓は採用しなかったが、使えそうなもの

freeit.hatenablog.com

BATファイルの備忘録

  • 書いたきっかけ
  • 使い方

 

■書いたきっかけ

batファイルもWindowsコマンドもまともに書いたことなくて、四苦八苦した備忘録。

 

 

■使い方

〇bat使用の前提(注意事項)

qiita.com

 

qiita.com

 

〇コマンド全般

memorva.jp

 

〇圧縮・解凍

bluebirdofoz.hatenablog.com

 

www.itmedia.co.jp

 

qiita.com

 

qiita.com

 

qiita.com

 

〇戻り値

qiita.com

 

〇エラー

piyopiyocs.blog115.fc2.com

 

〇ログ取り

afroglass.com

 

fpcu.on.coocan.jp

 

coffeekko.com

 

rainbow-engine.com

 

〇文字化け対策

www.javadrive.jp

 

 

SharpCompressについて

  • 書いたきっかけ
  • SharpCompressとは

  • 前提事項
  • 使い方
  • そのほか

 

■書いたきっかけ

案件で圧縮ファイルを解凍処理する必要があった。

同じ案件でSharpCompressを解凍処理に使用していたので、解凍処理に採用することに。

 

■SharpCompressとは

C#で使用できるオープンソース

バージョン次第ではnugetパッケージになっている。

ソースも公開されている。

products.fileformat.com

 

github.com

 

■前提事項

案件の関係でSharpCompressを使用したバージョンは最新ではない。

 

■使い方

以下リンクを参考にすれば、大体できる。

ただ最新バージョンのソースじゃないので、要注意。

最新バージョンだと使えないものと思われる。

teratail.com

 

garakutatech.blogspot.com

 

ilyuda.blog.fc2.com

 

www.cnblogs.com

 

■そのほか

SharpCompressを使用して解凍処理をしようとした拡張子は「tar.gz」であった。

Lahplusで圧縮した「tar.gz」は解凍可能。

ただし、windowsのtar.exeで圧縮した「tar.gz」は解凍不可である。

(圧縮ファイル形式は同じはずなのだが、なぜか解凍できない)