2024-04-17

鯖江のステキカフェ「レンズパーク」で見つけたアナログ。DXがテーマとなっている表彰が、紙とハンコによる賞状という謎。電子署名によるデジタル受賞証明を前面に出してほしいところです。(参考、インターネットに信頼を!データの有効活用とDFFT 総務省地域情報化アドバイザー全体会議


「はばたく300社ダッシュボード 2023年度」

全企業数の99.7%を占めるという中小企業を担当する、経済産業省 中小企業庁が発表した「2023年度 はばたく中小企業・小規模事業者300社 | 中小企業庁」をカラム地図を使ってダッシュボードアプリ化。


「2023年度 はばたく中小企業・小規模事業者300社 | 中小企業庁」

オープンデータがあればうれしいのですが、「e-Govデータポータル」を見てもなさそうなので、PDFかウェブサイトを元に自作することにします。PDFには公式ウェブサイトの記載がないので、ウェブサイトのHTMLから抽出(スクレイピング)する30行程度のプログラム「scrape.js」をつくって、CSVオープンデータ「company300.csv」を作成しました。

ウェブサイトには、わざわざ都道府県別、カテゴリー別、五十音順とPDFを3種類も作成しておいてありますが、オープンデータを元にすればスマホでもPCでも見やすアプリ化するのは簡単。必修化された高校の情報Iのプログラミングの範囲で作れます。PDFは紙。印刷するアナログ文化から、データ中心への転換(DX)を進めましょう!

レンズパークをオープンした乾レンズの名前が福井にないと思ったら、大阪本店。国の政策を民間活動につなげるためにも、具体的な取り組み概要データ、同名の企業と間違わないように法人番号データも合わせたオープンデータ化を望みます。

進めよう、日本DX!

2024-04-16
把握しておきたいIT用語。情報処理学会から「情報科全教科書用語リスト」が、オープンデータよりちょっと制約が厳しいクリエイティブ・コモンズ CC 4.0 BY-SA ライセンスで公開されたので、アプリにしました。


「IT辞典」
src on GitHub
レコード数、なんと5,894!ですが、説明データが記入されていたのは内810、重複を除くと696でした。とはいえ、貴重なデータ。活用しやすいCSVデータに変換してGitHubにアップしています。

用語データをキャッシュし、検索に通信を必要としないPWAにしているこの辞書アプリは、台湾のオープンデータを使った「MJ典」や英語のみにした「JE典」のオープンソースを元に、説明内用語の瞬間リンク機能を追加しています。用語のヒットを最優先に、説明のヒットをその後に続くようにし、用語の長さと最初の文字でソートしています。


ただ、問題は記載の誤り。いくつか見ただけで、複数の誤りを見つけました。教科書も絶対ではありません。出典がない情報、自分で確かめていない情報を鵜呑みにしてはいけないことが学べます。

もし誤った用語や、意味が変わってしまった用語があっても、オープンデータで一次情報を管理していれば、それを更新するだけで、こども達が使っている電子教科書が自動的に瞬時に更新されるのが情報社会のあるべき姿ですね。


「アナログ」

情報とは何か?データとは何か?アナログとデジタルの違いは?このIT辞典では、調べるほどにわからなくなれます。自分なりに調べて結論づける学びにつなげましょう。

links
- 情報処理学会 情報入試委員会 - 情報科全教科書用語リスト
- 【情報処理学会】「情報科全教科書用語リスト」を公開 | 一般社団法人情報処理学会のプレスリリース
- 情報処理学会「情報科全教科書用語リスト」を無料公開、5895用語をスプレッドシートで共有 高校情報科の教育支援に役立つ - こどもとIT
- 情報処理へ巻頭コラム寄稿「第二大航海時代に向けて」人類の叡智を一段積もう - 情報処理 特集別刷「プログラミング教育の最前線」(2020 年 8 月号):情報処理学会
- その24「 Ruby City MATSUEからお届け! 第1回 Matz葉がにロボコンに行ってみた」(Vol.65 No.4)-情報処理学会

2024-04-15
愛あるC言語入門 with WebAssembly、C言語からJavaScriptの関数を呼び出そう編!


まったさんからもらった、C言語入門 for mac!


入門者にぴったり、多めに見てくれるモード -Wno-all がイイ!


putcharで数が文字に!これをWebAssemblyでも実現します!

love() { putchar(65); putchar(66); putchar(67); } ゆるいC言語で書いたプログラム。65、66、67を指定してputchar関数を呼び出しています。GitHubのlovec-wasm、step2からZIPファイルをダウンロードするか、GitHub Desktopでbranchをstep2に切り替えよう。(初心者じゃない人は、ゆるくないモードの step3 をどうぞ)

これをコンパイラclangを使って、ブラウザ用の仮想マシン語、WebAssembly(wasm)にコンパイル!

clang -Wno-all --target=wasm32 -nostdlib -Wl,--no-entry -Wl,--export=love -Wl,--allow-undefined love.c -o love.wasm

・・・ちょっと長いですね。コピペでOKですが、毎回コピペも面倒なので、この1行を c.sh というファイルに書いて保存しておけば・・・

sh c.sh

と、ターミナル上ですぐ使えます!lsで確認、WebAssemblyのバイナリファイル love.wasm ができます。(Windowsの人は、WSLを使おう)


「wasm in C test」

ブラウザで love.wasm ファイルを読み込んで、関数 love を呼ぶと、画面に"ABC"が表示されます。ターミナルで動くJavaScriptのランタイム、Denoを使っても動きますよ。

deno run -A love.js 100

肝はブラウザから呼び出しする時に準備する、importObject で、JavaScriptの関数を設定しているところ!

分からない、うまくいかないときは、Issuesに記述するか、Xで返信ください!


鯖江のおしゃれカフェ&メガネやサングラスなど目の複合施設、レンズパーク


レンズがたくさん!


ステキな店内!


カフェで注文、めめモンの初恋、いちご味!


レンズのプロ、諸井さんと!
メガネの上からかけるサングラスで、神山まるごと高専への長距離ドライブへの備えもばっちり!

links
- step1 C言語で作ってブラウザで動かそう! love.c for WebAssembly
- step2 ゆるいC言語でブラウザにもputchar! love.c for WebAssembly

2024-04-14
大好評、love.cで始まる、まったさんのC言語入門 in 神山まるごと高専 in ITブートキャンプ!

C言語でWebアプリも開発できるところを伝えるべく、ひとまず超シンプルなサンプルを作りました。

int love(int param) { return param + 1; } 引数に1を足した数を返すだけの関数を持つC言語のソースファイル love.c

これをコンパイラclangを使って、ブラウザ用の仮想マシン語、WebAssembly(wasm)にコンパイル!


「wasm in C test」

ブラウザで love.wasm ファイルを読み込んで、関数 love を呼ぶテスト。いろいろ数値を変えて実行してみよう。ターミナルで動くJavaScriptのランタイム、Denoを使っても動かせます。

deno run -A love.js 100


「code4fukui/lovec-wasm」

超ミニマムWebAssemblyのコンパイルセットはこちら。love.c のコンパイルにチャレンジしてみよう!分からない、うまくいかないときは、Issuesに記述ください!

C言語からJavaScriptの関数を呼び出す、step2 へ続く!

Tweet
クリエイティブ・コモンズ・ライセンス
本ブログの記事や写真は「Creative Commons — CC BY 4.0」の下に提供します。記事内で紹介するプログラムや作品は、それぞれに記載されたライセンスを参照ください。
CC BY / @taisukef / アイコン画像 / プロフィール画像 / 「一日一創」画像 / RSS