3/6は、インターナショナルオープンデータの日!そのプレイベントとしても開催、オープンデータ勝手表彰!

最優秀賞は、シビックテックの火付け役、東京都コロナウイルス感染症対策サイト
Code for JapanのSlackへの参加呼びかけに応えるエンジニアがすごい勢いで伸び、3000人を突破!現在4,766人を数えます。 ここでの活動がきっかけで、COVID-19 Japan 新型コロナウイルス対策ダッシュボードは生まれました。


COVID-19 Japan 新型コロナウイルス対策ダッシュボード」も貢献賞!
まもなく運用開始から約1年、データが十分に揃っておらず、状況が日々変わる第一波の頃はかなりエキサイティグな日々を過ごしました。 オープンデータの力、多くの方に知っていただく機会になったことがうれしいです。表彰いただき、ありがとうございました。
オンライン開催 インターナショナル・オープンデータ・デイ 2021 in HOKURIKU」にて、舞台裏、紹介します!


我らが福井県、Code for Japanと共に受賞!
いち早く、推奨フォーマットに準拠したCSVオープンデータ化が評価されました。


石川県、静岡県、青森県、コンプリート賞!
オープンデータ都市状況はこちらのオープンデータとアプリでご覧いただけます
日本の市町村オープンデータ取組率ダッシュボード (カラム地図7x7 x 政府CIOポータルオープンデータ)
おや、青森県97%!?
青森県平川市のオープンデータが政府CIOポータルのデータに未反映のようでした。


ダッシュボード賞として「エレクトリカル・ジャパン - 発電所マップと夜景マップから考える日本の電力問題 | 東日本大震災アーカイブ - 国立情報学研究所」を選定させていただきました。 身近なで重要なインフラなのにまだまだデータ整備が足りていない発電所オープンデータを、民間運用でなんと10年、日本一のデータ量を誇ります! 手回し発電して無電源で無限にプログラミングできる、IchigoJam無電源セットを副賞としてご提供!

受賞いただいた、Nii 北本朝展さんが提供する多数のデータは、電力以外にも興味深いものがたくさんあります。 気になる地震のデータ、気象庁XMLを使った表示はじめのいっぽ、試してみました。

震源・震度に関する情報 - 気象庁XML
気象庁 | 気象庁防災情報XMLフォーマット形式電文(PULL型)」こちらの情報をブラウザでダイレクトに取得することはCORS設定されていないのでできないので、中継サービス「proxy for Deno」を作って、自前サーバーで運用して対応。


Geo3x3」zoom設定可能になったGeo3x3-map
取得した震源地の緯度経度をproj4をESモジュール化し、緯度経度を日本測地系を世界測地系に変換しつつ、Geo3x3でコード化して、地図表示へのリンクを追加しました。 ただ、この気象庁XMLでは、電力会社の停電情報同様、一定時間で消えていってしまうので、別途アーカイブ化する必要があります。データ活用の余地、大きいですね!

勝手表彰、受賞いただいたみなさま、ありがとうございました!

いろいろイベントが続きます!PRに欠かせないSNSシェア。画像が付いているかどうかでインパクトは大きく変わります。 ただ、画像つきにするにはogpやTwitter Cardの仕様に沿ったHTMLである必要があります。システムによっては非対応なものもあるでしょう。


そんな人のための便利ツール「ogpmaker」
表示したいURL,タイトル、画像へのURLを記入して「OGPリンク作成」ボタンを押すと、画像付きシェアできるURLを生成してくれます! Twitter Card validatorや、Facebook シェアデバッガーでご確認ください(変更した時の更新もこちらから)。

参考までに、下記のようなHTMLをJavaScriptで自動生成しています。(src on GitHub)

<!DOCTYPE html><html><head><meta charset="utf-8"><meta name="viewport" content="width=device-width"> <title>${title}</title> <meta property="og:title" content="${title}"> <meta name="twitter:card" content="summary_large_image"/> <meta name="twitter:image" content="${img}"> <meta property="og:image" content="${img}"> </head> <body> <script type=module> document.location.href = "${url}"; </script> </body> </html>

ブラウザやサーバーで動くアプリを作るのに便利なプログラミング言語JavaScriptは、IchigoJam BASICなどで基本的なプログラミングを学んだ方にイチオシ言語! Hana道場に通う、IchigoJamでプログラミングに慣れた中学1年生、バリバリ活用してますよ!


地域ICTクラブ オンラインシンポジウム2021 | Peatix
総務省の「地域ICTクラブ」の活動報告へのコメンテーターとして参加しました。 地域のIT力を高めるためにはじめること。もっともっとシンプルにデータをまとめる必要を感じました。

百聞くより一行動。まずはやってみるのがオススメです!

IchigoJam web」を開くか、手元の「IchigoJam」と合わせてご覧ください!

jigインターン2021冬、Dチームの作品「BazUp!!」は、誰でもバズリ体験できるサービス。 画像、タイトル、文章を入れると勝手にバズったように見せてくれ、通知止まらない状態を体験できます!


forked BizUp!! on GitHub
登録後の自動遷移とローカル通知を加えてプルリク、APIサーバーなしに起動するバージョンを試作しました。 ogpを取得してどんなどんなページでも仮想バズして、そのページ自体をシェアできるとおもしろいかも?


使用技術は、Nuxt.jsServer.js。 開発期間は2日間、アイデアから、実装、発表まで、ここまで仕上げて来ているのはすごい!

楽しいチーム開発、学びも多く、オススメです!

2日間のDeno勉強会付きハッカソン型インターン「jigインターン2021冬」では、過去最多の18名参加、5チームの作品ができました。

テーマは「学生xバズる」、快適な学生生活には推し配信者を持つことがいいみたい。YouTubeのプレイリストに目をつけ、共有できるAチームのプロトタイプ「切り抜きまとめサイト(仮)」、 社員投票によう優勝プラン!

切り抜きまとめサイト(仮) - 鯖江バージョン」(src on GitHub)
YouTube Data APIを使って、プレイリストから動画リストを取得して、使いやすく横スクロール表示を使ったスマホ対応で表示してくれます。

ユーザー毎の保存はできないので、ひとまず保存機能が効かない状態でアップしています。サーバーとフロント、それぞれシンプルなJavaScriptでできているので、ぜひ自分の手で動かしてみてください。

YouTube Data APIが、フロントエンドから呼び出されていたものをバックエンド側へもっていくなど、調整してみました。(プルリク


プレゼンもよかった!


2日間、おつかれさま!
どんどん作っていきましょう!


2月最後の金曜日、プレミアムフライデーを勝手に引き継ぐサイバーフライデー in 鯖江商工会議所地下!
勉強会や、ワークショップ、セグウェイを使った移動にも最適!

春のオンラインjigインターンスタート!集まってくれた18名、アイスブレイク&LTの後は勉強会。 サクッとWebアプリづくりの基本を学んで、いざ開発へ!今回のインターン期間は2日間のハッカソンスタイル、楽しくいきましょう!
事前に送った開封厳禁「jigボックス」中身のひとつ、鯖江の銘菓、眼鏡堅パン


下記、順にたどっていくだけで、作れます。(要、コマンドプロンプト or ターミナルの知識)
introweb src on GitHub



Denoをイントール!」




Server.js」で簡単サーバー起動! powered by Servest

$ deno run -A --watch --unstable server.js

更新を確認して、自動リロードしてくれるオプションを使うと更に便利!
Deno の組み込み機能、ソースコードの変更を検知してオートリロードする "File Watcher" の紹介


















さぁ、これでみなさんもwebエンジニア!

2021.2.26(金)18:30- Cyber Friday @ 鯖江商工会議所(E3792198838339) 地下1Fにて!
コンピューター好きな方、ぜひどうぞ!

links
- introweb src on GitHub

いろんなプログラミング言語で試しに作ってみるのがマイブーム。Geo3x3の対応言語が26まで増えました。 (Elixirユーザーによる貢献、感謝!


Geo3x3 Programming Language List
3進法で緯度経度を統合するコード体系、Geo3x3の対応プログラミング言語一覧をCSVオープンデータ(ライセンス、CC0)として、作成しました。 名前、拡張子、構造記述スタイル(カッコ or begin/end系)、変数、定数の書き方、種類(スクリプト型かコンパイル型か)、Geo3x3のencode/decodeのプログラムへのサンプルだけをひとまずまとめました。

新対応の各言語、雑感
Nim、変数をちゃんと宣言できてコンパイルしてくれ高速なPython風、*を付けてexportというのがユニーク。
Lua、コンパクトで有名なインタプリタ、++、+=が使えないのが不便。
Perl、ひさびさPerl、モジュール化のためにいろいろと拡張されてる様子!
Elixir、創ってもらったもの、関数型言語っぽい書き方、LISPへの移植にもいいかも?
Groovy、シンプルに書けるJavaとしておもしろい。
D言語、少し豪華なC言語?文字列の扱いがちょっと面倒。
Julia、ブロックをendで区切るタイプの変数宣言不要なかわいい言語。

お気に入りの言語を探そう!
気に入ったものがなければ、創ってしまうのもいいですよ。

求む、COBOLFortranプログラマー!

links
- Geo3x3

CC0にしたGeo3x3、より使ってもらえるためには、いろいろなプログラミングへのサポートが大事かも? サポート言語を一気に14言語まで増やしました!

JavaScript / TypeScript / C / C++ / C# / Swift / Java / Python / Ruby / PHP/ Go / Kotlin / Dart / Rust で、使えます!
それぞれの言語の学習サンプルとしてもご活用ください。


Geo3x3 - src on GitHub


CyberValley サイバーバレー は、E379219
2.26金曜日18:30-、サイバーフライデーとして、鯖江商工会議所 SCC B1Fでミートアップ
コンピューター好きのみなさん、ぜひどうぞ!

京都大学坂出さん主催、タリン、ニューヨーク、京都、鯖江をつないだDXGOVイベント。エストニアの首都、タリンのオープンデータが興味深い。
In the event connected Tallinne, New York, Kyoto and Sabae about DXGOV, held by Sakade-san at Kyoto-U. Opendata in Talline is interesting.


Bus in Tallinn」by Open Data Tallinn
Update every 5 seconds, enjoy with beautify sight from the sky! Get more info by clicking the pin.
5秒間隔更新、美しいまちなみを見る衛星写真と共にどうぞ! ピンクリックで情報が見えます。

DATA: Location of public transport vehicles in real time
The app make CSV from providing the open data as headless CSV (TXT)
アプリ内でヘッダーレスなCSVデータ(TXT)をCSVデータとして変換しています

const fetchData = async () => { const url = "https://transport.tallinn.ee/gps.txt"; //const txt = await (await fetch(url)).text(); // Please support CORS!! const txt = await fetchViaProxy(url); const csv = CSV.decode(txt); csv.unshift(["type", "line", "lng", "lat", "speed", "label", "vehicle"]); const data = CSV.toJSON(csv).map(d => { const l = (s) => s.substring(0, 2) + "." + s.substring(2); d.lat = l(d.lat); d.lng = l(d.lng); return d; }); console.log(data); return data; };

Browser can't fetch directly from the server by Tallinn. Please support CORS
ブラウザはタリンのサーバーからデータを直接取得できません。CORS対応、お願いします!

Enjoy to create!
創るを楽しもう!

行政DX、はじめのいっぽはマップかも by クリス

番地まで入った住所表示と緯度経度がセットになったデータ「電子国土基本図(地名情報)「住居表示住所」 | 国土地理院」がありました。
これはすごい!・・・と思いきや、京都のデータはごくわずか二市


住居表示住所データ公開率ダッシュボード
現時点での全国の網羅状況をざっくり調べてみました。CSVデータ生成ツール src on GitHub


住居表示住所データ公開率ダッシュボード(福井県)
都道府県別に整備状況をチェックできます。(すみません、政令市の区には未対応です)
福井県内、市はすべて公開済みの様子。


住居表示住所サマリーマップ」(5.6万件読み込みで重いです)
ただ、公開している鯖江市でもカバー率は100%なわけではありません。(サマリーCSV on GitHub


住居表示住所サマリーマップ
ご自分の自治体、データありますか?

ドローンに届けてもらいたいなら、確実な場所を伝えることが必須です。
住所末尾に、緯度経度やGeo3x3を入れる新しい習慣、どうでしょう?

電子国土基本図「住居表示住所」を盛り上げる勝手連グループ、発足!

links
- Geo3x3 - 緯度経度を文字列化するシンプルなコード体系

無線LANでつないで楽しい、IchigoJamとパソコン。
MixJuiceとパソコン上で作るウェブサーバーをつないでみましょう!

まずはサーバープログラムの準備。JavaScriptでプログラムする環境、Deno(ディーノ)をインストールします。
Windowsの人は、PowerShellを起動して次のコマンドを実行

iwr https://deno.land/x/install/install.ps1 -useb | iex

Macの人は、ターミナルを起動して次のコマンドを実行

curl -fsSL https://deno.land/x/install/install.sh | sh

コマンドプロンプトや、ターミナルで deno とタイプ、エンターで次のような画面がでたらインストール成功!

Deno 1.7.2 exit using ctrl+d or close() >

Ctrl+d で Deno を終了し、ウェブサイドプログラムづくり hello.js (serveWebの中身はservest)
Windowsの人(書き終わったら Ctrl+Z、エンター)

copy con hello.js import { serveWeb } from "https://js.sabae.cc/serveWeb.js"; serveWeb(80, (from, path, query) => { return "hello!"; });

Macの人(書き終わったら Ctrl+D、1行目以外は一緒です)

cat > hello.js import { serveWeb } from "https://js.sabae.cc/serveWeb.js"; serveWeb(80, (from, path, query) => { return "hello!"; });

動かしましょう

deno run -A hello.js

ブラウザで http://localhost/ を開くと、hello! と表示されるはずです。
Ctrl+C でサーバープログラムを止めて、hello.js の文字列を好きな文字に変更して、また動かして確認しましょう。

次に IchigoJam web を使ったパソコン上での実験です。

「I/O」ボタンを押し「MixJuice」をチェックして、バーチャルMixJuiceをIchigoJam webに接続します。

IchigoJam web上でMixJuiceのコマンドを使って、アクセスしてみます。

?"MJ GET LOCALHOST MJ GET LOCALHOST OK hello!

などと表示されたら成功です。つながりました!

ひとまず、シンプルなサーバーにどんどん書き込めるチャットサービスを作ってみましょう。

import { serveWeb } from "https://js.sabae.cc/serveWeb.js"; let data = ""; serveWeb(80, (from, path, query) => { if (query) { data = data + "'" + query + "\r\n"; return "'OK\r\n"; } return data; });

IchigoJamからquery(クエリー)として送られてくる文字列をどんどん足し算して貯め、クエリーなしで全部表示する、というJavaScriptのプログラムです。 なんとなく読めますね?

このサーバーを動かしておき、IchigoJam web から試してみましょう。

?"MJ GET LOCALHOST/?HI! ?"MJ GET LOCALHOST/?HELLO ?"MJ GET LOCALHOST/

クエッションマーク(?)に続く文字列がサーバーでクエリーとして送られます。発言内容、見えましたか?

最後に、実IchigoJam+MixJuiceからつないでみましょう!

インターネットにつながるコンピューターには、IPアドレスが振られます。192.168.や172.で始まる4つの数字、普通の家ではローカルエリアネットワーク(LAN)用のIPアドレスが振られていることが多いです。 まずは自分のパソコンのIPアドレスを確認します。
Windowsの人

ipconfig

Macの人

ifconfig

192や172で始まるIPアドレスらしきものを探してください。

MixJuiceをつないだIchigoJamで、MJ APCを使ってアクセスポイントに接続して、次のようなコマンドで通信!

?"MJ GET 192.168.1.10

つながりましたか?

サーバーで二乗するプログラム

import { serveWeb } from "https://js.sabae.cc/serveWeb.js"; serveWeb(80, (from, path, query) => { return "" + Math.pow(parseFloat(query), 2); });

サーバーでルートを計算するプログラム

import { serveWeb } from "https://js.sabae.cc/serveWeb.js"; serveWeb(80, (from, path, query) => { return "" + Math.sqrt(parseFloat(query)); });

そのフォルダを開いちゃうプログラム(コマンド起動)

import { serveWeb } from "https://js.sabae.cc/serveWeb.js"; serveWeb(80, (from, path, query) => { const open = Deno.build.os == "darwin" ? "open" : "start"; Deno.run({ cmd: [open, "."] }); return open; });

どの端末からアクセスがあったか、どういうクエリーか見たいとき

import { serveWeb } from "https://js.sabae.cc/serveWeb.js"; serveWeb(80, (from, path, query) => { console.log(from, path, query); return "ok"; });

IchigoJamからパソコンコントロールし放題。
DenoやJavaScriptを調べて、いろいろ遊んでみましょう!

コンソール(コマンドプロンプトやターミナル)に慣れていない人は、まずはこちらなどを参考に!
コンピューターと深く話そう! Macのターミナル入門とNode.jsでつくるwebサービスはじめのいっぽ

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