gBizINFOでは、法人情報はweb標準のAPI、SPARQLで検索できるので、ひとまず種別で全件取得し、検索できるようにしてみました。

日本の地方公共団体一覧」「日本の国の機関一覧src on GitHub
現在、それぞれ7386法人と846法人、合計8232法人あります。1つの国、これだけの機関があると管理費も膨大ですね。デジタル化で一気に効率化しちゃいましょう!

気がついた点
- 日本語の語彙とSPARQLでの英字変数の対応を考えるのが煩雑
- 同じ住所で表記ゆれがある
- 語彙がリンク切れしている
- 市区町村コードのURIがリンク切れしている
- コード一覧もCSVやAPIで取得したい(法人種別 kind.csv など作成)
- SPARQL便利!(makeLocalgovs.js using GBizINFO.js based on SPARQL.js)

課題はいろいろありますが、網羅性あるオープンデータが機械判読できる状態で存在すれば、なんとでも変換できますね!Let's code for 日本!
デジタル庁とシビックテック|デジタル庁


本日、産官学の会「ゼロトラスト研究会」の第二回目を越前市役所にて開催。 ゼロトラスト研究会は、福井県情報システム工業会、DX推進委員会、行政手続き分科会での研究会で、工業会メンバー企業を中心に、福井県、福井県内市町、福井高専などで構成しています。 地球上さまざまな機関、安全にシンプルにつなぎましょう!


武生に来たら、ボルガライス

日本の法人はすべてオープンデータ化され、CSVダウンロード、API(SPARQL)でアクセスも可能です。

都道府県別新規創業会社数
こちら、2021/9/8の新規創業者数を都道府県別にカラム地図を使ってまとめてみました。 都道府県をクリックすると創業した会社名のリストを見ることができます。(一応、検索リンクを貼ってみました。)

こちら「差分データのダウンロード|国税庁法人番号公表サイト」から1日分の差分をダウンロード。 定義から各種項目をcsvファイルでまとめ、正規化するプログラムをJavaScriptで作成。新規企業でフィルタリングしたデータを使っています。(src on GitHub)


gBizINFO (METI)経済産業省
gBizINFO(ジービズインフォ)では、JSON形式などでのダウンロードや、API(SPARQL/REST)もあります。

今日1日に新規創業された企業数「610社」でした。
想像より多かったですか?少なかったですか?この日が特異日かもしれません。

いろんな切り口で日本の法人、調べてみるのもおもしろそうですね!

先日会ったアフリカ人、ict4eへのインターン生ビドさんが、IchigoJamプリントフランス語版、作ってくれました!

IchigoJamプリント - フランス語版
IchigoJamプリントは、その名の通り紙として印刷も想定した教材(もちろん、PC、タブレット、スマホでもどうぞ)。 印刷用のPDFへの変換にヘッドレスChromeとPDF結合ツールnode用の「PDFManager」を使っていました。中身はJavaでできたApache PDFBoxだったので、Denoに移植。

taisukef/easy-pdf-merge-deno: A module to merge PDFs for Deno
本家がメンテナンス終了していましたが、deno版として勝手に引き継ぐ形としました。結合だけでなく、PDF関係でいろいろ使えそうです。

ヘッドレスChromeのフロントエンド、deno-puppeteer、Macでも普通に使えました!
Denoでpuppeteerを使う (windows) - Qiita
これで巨大なnode_modulesと付き合う機会が減りますね。


make deno version · IchigoJam/print@2ffd20c
揃ったので、NodeからDenoへ変換してできあがり!

deno run -A --unstable makepdf.js

Denoを使って、IchigoJamプリントの全ページを自動でブラウジングしながらPDFへ一括変換できます。


【レポート】アフリカ人留学生のインターンシップを実施しました | ict4e
ベナン共和国からはるばる日本へ来てくれているビドセスィ エマニュエル アゴス(Bidossessi Emmanuel AGOSSOU)さん!


ビドさん、フランス語版、ありがとう!
コンピューターの楽しさ、アフリカのこどもたちにも伝えよう!PCNこどもプロコンでは、世界中のこども達からの作品、お待ちしてます!


IchigoJam web でプログラミング体験! - YouTube
コロナでリアルイベントがなかなかしづらい状況が続きますが、IchigoJamはブラウザだけあれば無料で体験できます。 IchigoJam web を使ったはじめてのプログラミングから、ゲームづくりまでの30分動画(jigインターン生向けに実施&収録)。 ぜひ自分で打ち込みながらご覧ください!(高専生向けスピードなので、追いつけなければ一時停止、遅すぎであれば再生スピードを速くするなどでどうぞ!)

jigインターン2021夏、紹介する最後の作品、Aチーム「歩いたー」は、歩いた歩数をポイントとして使っておもしろ写真を見たり、評価するサービス。 歩いたついでにおもしろ写真を撮って投稿すると、「いいね」がもらえて、また歩きたくなる設計がいいね!
「お散歩SNS歩いたー」のビジョン、「我々はSNS好きな若者のために、ソーショル的な万歩計を開発することによって、運動不足の改善を実現する!」
ビジョンテンプレ「我々は〇〇のために、〇〇を開発することによって、〇〇を実現する!」を使ってくれました!


Aチーム、うえのごう、あざろ、コウメイ、メンターはきのぴー
GitHubのリポジトリは「jigintern/2021-summer-3-a


Google Fitが記録する歩数データをAPIで取得し、歩数をポイントに変換して表示。


歩数を変換したポイントを使ってタイムラインを10コだけ更新!無限にできる「いいね」だけど、「いいね」もポイントを消費します。

場所に紐づくステキ写真は、あればあるほどおもしろサービスへのアイデアが広がり、実現が近づきます。 もっともっと増やそうオープンデータ!


越前海岸盛り上げ隊マップsrc on GitHub
もうひとつのインターン、福井高専の1年生、海側の福井市、先日訪問した越前海岸盛り上げ隊のマップを整理してCSVオープンデータに!


Hana道場、越前海岸盛り上げ隊のマップ化技術とデータを使ってJKによるJKのためのマップアプリ「JKまっぷ src on GitHub」を開発開始!


jigインターン2021夏、最後はオンライン一本締め!(撮影 by スクショタイマー

jigインターン」次回開催をお楽しみに!

jigインターン2021夏シーズン3、Bチーム「みんスポ」は、続けるのが難しい運動を、Discordのように友達が今やっている運動を見て刺激を受けようという作品。

みんスポのターゲットは高校生、ビジョンは、運動のハードルを下げること!


Bチームメンバー、てる、みやけん、もっく、メンターはよしろー


登録して、ログイン、すべてのユーザーを見ると、ずらっと今やってるスポーツが並ぶ。
友達を見つけてフォローしよう!


デモ時にも好評だった、操作内容や、エラーメッセージを伝えるUI。右下でさりげなく、かわいく知らせてくれる。
どうやって作っているんだろう?
GitHubにあるオープンソースから発見、bulma-toast!(2021-summer-3-b/ActiveUsers.vue at main · jigintern/2021-summer-3-b)
みんスポでは、Vueで作られたフロントエンドで使っていますが、Pure JavaScriptなので、Vanilla JS(空のフレームワーク、素のJS)でも使えそう。


bulma-toast test
ESモジュール版もあったので、GitHub Pagesにして、そのまま使うこともできました!
ステキCSSフレームワークであるBulmaと、アニメーションヘルパーAnimate.cssのCSSをCDNから取得するようにセットしてできあがりです。


デジタル庁ニュース
デジタル庁のブログも取り込んで表示するようにしたデジタル庁ニュースをBulmaでちょっとかわいくしてみました。

noteは、RSSにも普通のスクレイピングにも対応していないので手間取りました。
1. 一覧CSVを作る scrapeNote.js (Deno)
2. ヘッドレスChromeで表示してHTML取得 fetchOGPNote.mjs (Node.js)
3. OGPを取り出してnote.csv作成 fetchOGPNote2.js (Deno)

アクセスしやすいウェブサイトにするという課題は、デジタル庁でもちゃんと把握済み!どんどん改善提案していきましょう!
デジタル庁ウェブサイトにいただいたフィードバックの反映状況について|デジタル庁

jigインターン2021夏シーズン3、Cチーム作品は近くの対戦相手を探すサービス「match app」

こちら「match app」のビジョン!新しい場所で生活を初めた大学生や、新社会人にもうれしいサービスになりそうですね。


対戦したいスポーツ選択画面。都道府県、市区町村で絞り込めます。


abcさんに対戦、申込み!


abcさんにはundefinedさんからの対戦依頼が届きます。承諾して、対戦結果入力、レートに反映という流れが実装済み!


Cチーム、トトロ、マナト、てん、メンターはにゅ
matchapp on GitHub
用意されたAPIをソースから辿れます。セッション管理がuseridになってますが、このままでは偽装できてしまうのでログイン付き掲示板のように推測不能で十分長い文字列を使いましょう。 追記した起動方法をプルリクを参考に手元で動かしてみると勉強になりますよ。


select-pref tagsrc on GitHub
気になったのは、都道府県、市区町村の選択コンポーネント。都道府県はめったに変わりませんが、市区町村はたまに変更があるので、ハードコーディングは避け、切り出しておきたいところ。 先日作ったTownIDを使って、都道府県選択コンポーネント select-prefタグ を作りました。 最強の都道府県選択コンポーネントづくり、チャレンジ待ってます!


「ウェブサイトのデザイン原則案を策定」とありますが、標準コンポーネントを実装して、オープンソースで配布する方が近道ですね!


デジタル庁ニュース
デジタル庁のニュースURLと日付を拾って作成したCSVファイルから、DenoでOGPを取得してリッチなCSVファイルを作成、それを使ってデジタル庁ニュースサイトができあがり! noteの記事はまた別のようなので、マッシュアップしたいと思います。

jigインターン生によるブログもぜひどうぞ!
⭐jigintern diary⭐

今年は1週ずつ3週に渡って開催したjigインターンもグランドフィナーレ。 シーズン3のテーマは「学生x健康・スポーツ」、4チームの成果発表を発表順に紹介します。

Dチームはeスポーツの憧れの選手の生活パターンから学び、強くなるヒントを得るサイト「break」
チーム開発で一番大切なもの、それは「ビジョン」、みんなブレずにできたかな!?


有名eスポーツプレイヤーが並ぶトップページ。あの憧れの人はどんな生活を送っていて、どういうことに気をつけっているんだろう?が解決するサイトのイメージ。


有名人を紹介する記事でよくある生活パターンを円グラフで表示するやつをアプリで再現。 超快適に入力できる時間UIや、かっこよく見やすい円グラフなど、いろいろと突き詰めたくなりますね!


Dチーム、まーしー、いつき、やまゆ、メンターはゆうり

使用技術は、バックエンド(APIとwebサーバー)はJavaScriptランタイム「Deno」、Node.jsを使ってビルドするフロントエンドフレームワーク「Vue.js」、データベース「SQLite」

ソースコードはGitHub(jigintern/2021-summer-3-d)にあります。 起動方法がうまくいかず、APIの呼び出し先がデプロイ先になっていたので、conts.jsで設定可能に変更して、ひとまずローカルにしたものを作ってプルリクしました。

個人的にはESモジュールが使えない Vue.js は好みじゃないですが、自分の手で確認するのが一番です。見た目の美しさはHTMLElementや、CSSとしてとりこんでいく作戦。


昨年から成果発表会オンラインスタイル、だいぶ慣れました。


1週間、やりきった!けど、みんな創りたい感マシマシな様子。

こちら、デジタル庁オープンデータを元に作った人事検索アプリ、オープンソース on GitHub

デジタル庁人事検索アプリ
ぜひチャレンジしたいフレームワークで実装してみましょう!

オープンソースへの貢献入門、プログラミングによるeスポーツ、中止になった高専プロコンの競技部門を勝手に開催する「囲みマス」もどうぞ!
codeforkosen/Kakomimasu: #procon31 競技部門 コアモジュール for Deno
Issuesを見てできそうなものにチャレンジ→プルリク→レビューを経て→貢献の流れ、ぜひ体験しみましょう!
もちろん、AIを作って遊ぶだけでも、観戦してみたいなど、どんな形でも大歓迎!

jigインターン参加者からの感想が続々と投稿されるjigインターン生によるブログもぜひどうぞ!
⭐jigintern diary⭐

オンライン開催中のjigインターン、みんなでポーズしながら記念撮影の課題、撮る人は片手が取られる問題。 カメラのタイマー撮影のような機能を持ったスクショ(スクリーンショット)があれば欲しくなったので作成。

スクショタイマー - screenshot-timersrc on GitHub
WebAPIで作ったのでブラウザで開くだけで動かせます。「準備する」ボタンを押して、キャプチャーする範囲を画面全体を選んで「共有」し、画面キャプチャーボタンを押すだけ。カウントダウンの音がして、シャッター音。 撮影したJPGの写真データは即ダウンロードが始まります。何枚か連続して撮る機能があるので、ベストな写真を後からじっくり選べます。

写真データをサーバーには一切を送らないので、プライベートな会議でも使えます。(心配な方、ソースをご確認ください src on GitHub


スクショタイマー - screenshot-timersrc on GitHub
プログラムはシンプル、1つのHTMLと効果音ラボさんのサウンドファイルのみ。
過去の一日一創で作ったいろんなESモジュールとして組み合わせて、プログラミング! import { css } from "https://js.sabae.cc/stdom.js"; import { Base64 } from "https://code4fukui.github.io/Base64/Base64.js"; import { sleep } from "https://js.sabae.cc/sleep.js"; import { fix0 } from "https://js.sabae.cc/fix0.js"; import { downloadZip } from "https://code4sabae.github.io/js/downloadZip.js"; import { DateTime } from "https://code4fukui.github.io/day-es/DateTime.js"; import { Sound } from "https://js.sabae.cc/Sound.js"; ボタンが押されたら、カウントダウンして、撮影の流れ(setTimerではなくawait sleep) btncapture.onclick = async () => { btncapture.disabled = true; if (countdown.value) { message.textContent = "撮影カウントダウン!"; for (let i = countdown.value; i >= 1; i--) { message.innerHTML = "撮影カウントダウン!<br>" + i; sndCountdown.play(); await sleep(1000); } } const delay = delaycapture.value; let cnt = ncapture.value; if (cnt == 1) { message.innerHTML = "撮影!"; sndShutter.play(); const canvas = video2canvas(videoin); downloadJPEG("ss.jpg", canvas); プログラミングが苦手という人は、そもそも英語に苦手な人が多そうです。 関数や変数を日本語にしたり、日本語プログラミング言語を使う手もありますが、圧倒的大多数の英語ベースで書かれたプログラミング資産を使わず、また、世界に共有できないのももったいない。

小学校で必修化された英語と合わせて、シンプルな英語でカタカタかっこよく作るIchigoJam BASICで慣れておけば、違和感なくすっと本格プログラミングの世界に入っていけます。

いよいよ、大詰めjigインターン生の記録
⭐jigintern diary⭐
スクショタイマーのことも書いてくれてます
jigintern 第3週4日目 team-B - ⭐jigintern diary⭐

内閣官房IT室が終了し、新たにスタートしたデジタル庁コピーライトポリシー(CC BY互換)に基づき、組織、人事、幹部名簿をCSVオープンデータ化しました。
code4fukui/digital-agency-jp - デジタル庁オープンデータ
ひとまず Code for FUKUIのGitHubのプロジェクトとしてスタート、誰でも貢献可能です。

デジタル庁」のミッションは「誰一人取り残さない、人に優しいデジタル化を。

誰にとっても使いやすいアプリはありません。
誰一人取り残さないために大事なのはデータ。
データがあれば、それを使ってあなたに、または、あなたの大事な誰かにぴったりなアプリを構築可能です。

2020年から小学校からのプログラミングが始まり、誰もが開発者になれる現代になりました。
きれいなデータさえあれば、アプリづくりは驚くほど簡単です!


幹部等人事が決定しました |デジタル庁
デジタル庁の気になる人事が公表されましたが、謎が多いPDF文書です。

新、旧は役職を表していそうですが、役職の下の「【免】」などが謎です。どうやら、旧に記載してある役職にもともと対応していたものが崩れてしまったようです。 ずらずらと記載された役職名の分割はなんとかできそうでしたが、カッコ書きがどこに対応しているのかが曖昧になるため断念しました。

また氏名に記載されている漢字がすべて1文字ずつ空白が入っていたので、なんとなく姓名を分けました。たぶん合っていると思いますが保証がありません。ふりがなや、英語表記と合わせた正しいデータがほしいところです。


デジタル庁人事.csv
ひとまずできる範囲でCSVオープンデータ化しました。(PDFからコピペでテキスト化、人力整形し、JavaScriptのプログラムでCSV化しました src on GitHub


デジタル庁の組織体制.csv
まずは図のみ公開された組織ですが、これでは目の見えない人が把握することができません。ひとまず階層構造をデータ化。組織図をきれいに表示するアプリを作るのも楽しそう。 アプリであればインタラクティブに概要を掴むも、詳細を掴むも簡単です。


デジタル庁幹部名簿.csv
こちらはふりがなも記載あった幹部名簿データ。肩書は組織のデータとつながるように表記方法をあわせました。 人名は同姓同名もありうるので、デジタル庁から率先してマイナンバー活用してはいかがでしょう?


出典.csv
データ出典をまとめたCSVオープンデータ。以上の4つをひとまず3つ星オープンデータとして作りました。次のステップは語彙を作って、5つ星オープンデータ化し、英語表記を加えて日本語圏ではない人も取り残さない形を目指したいところです。

オープンデータは作成者への連絡なしに、商用・非商用問わず自由に活用できます。
本プロジェクトへの貢献、ご意見も歓迎です。
code4fukui/digital-agency-jp
創ろう、誰一人取り残さない国!

2021/8/31、IT室こと内閣官房情報通信技術(IT)総合戦略室の最終日。最後の更新があり、政府DXに関連する様々な文書が公開されました。

政府CIOポータル - 更新終了
デジタル政策はデジタル庁へと引き継がれるとのことです。(→デジタル庁スタート


ディスカッションペーパー | 政府CIOポータル
発表されたディスカッションペーパーは下記の7つ!
- ゼロトラストネットワークを実現するための政府職員のアカウントやアセットの管理
- 政府情報システムの移行のためのデータポータビリティ
- クラウドサービス(SaaS)活用のためのネットワーク設計
- 拠点間ネットワークに適用可能なオーバーレイネットワークの設計と運用
- メタデータルールと利用イメージの検討
- データ人材フレームワークの設計
- デジタル社会実現のためのアーキテクチャ設計

この7つリンクを作るプログラムはこちら

$ deno import { CSV } from "https://js.sabae.cc/CSV.js"; const data = CSV.toJSON(await CSV.fetch("https://code4fukui.github.io/cio-jp/discussionpaper.csv")); data.filter(d => d.datetime.startsWith("2021-08-31")).map(d => `- <a href=${d.url}>${d.name}</a><br>`).forEach(s => console.log(s))

たった3行、CSVデータとしてまとめておくと活用しやすくて便利です。

政府CIOポータルのライセンスがCC BYのオープンデータなので気兼ねなくスクレイピングしデータの二次利用が可能です。 デジタル庁でも使いやすいデータがどんどん出ることに期待しましょう!


ディスカッションペーパーのページのHTMLソースを見てみると、大事な部分がarticleタグで囲まれているのでスクレイピングしやすいナイスな構造!

HTMLから、スクレイピングして、CSVにするシンプルなコード(実際のコードはGitHub参照) import HTMLParser from "https://dev.jspm.io/node-html-parser"; import { CSV } from "https://js.sabae.cc/CSV.js"; const dom = HTMLParser.parse(txt); const articles = dom.querySelectorAll("article"); console.log(articles.length); const data = []; for (const a of articles) { data.push({ name: a.querySelector("h1").text }); } await Deno.writeTextFile("scraped.csv", CSV.stringify(data)); (src on GitHub)


政府CIOポータル ディスカッションペーパー Markdown
Markdown化しておくと一括して読めて便利ですね。


標準ガイドライン群用語集src on GitHub
更新された標準ガイドライン群用語集。検索、各項目でソートもできます。「廃止」で検索すると並ぶ、11項目。政府CIO、IT室は廃止され、デジタル庁へとその機能を移します。 IT人材という言葉も今後は「デジタル人材」や「高度デジタル人材」などと呼ぶようになるとのこと。

最終更新日から一気に、スマホでも読みやすいMarkdownバージョンもどうぞ
標準ガイドライン群用語集

こちらCSVをMarkdown化するcsv2md.jsと、MarkdownをHTML化するmarked.jsを作って、make.jsで使っています。

いろんなデータで遊んで、データ人材になりましょう! 高度デジタル人材データ人材の育成プログラムでもある、jigインターン生による成長の記録。 3周目の2日目が終了しました。
⭐jigintern diary⭐

Tweet
クリエイティブ・コモンズ・ライセンス
この作品は「Creative Commons — CC BY 4.0」の下に提供されています。
CC BY / @taisukef / アイコン画像 / プロフィール画像 / RSS