京都府舞鶴市、東舞鶴の商店街の大門通り沿い、元舞鶴高専の先生で、PCN舞鶴代表の町田さんによる、プログラミングもできる電子工作&模型屋さん「舞鶴電脳工作室」オープン!(アクセス


こどもから大人まで、ワクワクするお店!店頭の模型や、電子工作見ていると、ちょっと覗いてみたくなりますね。


福井県大野市、元福井高専の先生、前川さんによるPCN大野研究所で採れたイチゴを直送!


電波の先生、前川さん。電波を見るツール「Nano VNA」が良い感じとのこと。 オープンソースな高周波解析機。日本語ユーザーガイドもオープンソースで作成されていました。 コロナ禍、飛行機に電波を当てて反射させての通信実験、旅客機は減っても、貨物は比較的飛んでいるとのこと。人には見えないものが見える力、広めましょう!


真っ赤になった、甘いイチゴ!いつの日かしたい、イチゴ収穫ロボコン。


舞鶴電脳工作室で仕入れた電子部品と大野さんイチゴのコラボ!IchigoJamでMAX7219マトリクスLEDチェーンの制御できました!


風通しの良い店内、ミニ四駆コースがこどもに人気とのこと!IchigoJamを使った計測システムも計画中とのこと!


抵抗、コンデンサ、LED、基本パーツが揃っていてうれしい、電子パーツコーナー。


15 マイコン、と書かれた電子工作用部品コーナーにはIchigoJamも。右下に見慣れない部品を発見!


8x8の赤色マトリクスLEDx4、全部に制御用のIC、MAX7219搭載でデイジーチェーン対応。これで400円は安い!

MAX7219制御のマトリクスLEDx4のIchigoJam制御チャレンジ!

MAX7219/MAX7221データシートをチェック、日本語ドキュメントがありますね。7セグLEDを8コまとめて制御するチップの様子。 4bitで数を指定すると7セグLED用にデコードするモードと、そのままストレートに8bit分出すモードがあります。8桁以上に対応するためにWS2812Bの用にデータを後ろにパスする仕組みがあります。 転送方式は16bitのSPI、FM音源チップYMF825などでやりました。

VCC 5V
GND GND
DIN シリアルデータ入力 - IchigoJamのOUT3
CS チップセレクト - IchigoJamのOUT1
CLK クロック - IchigoJamのOUT2

とIchigoJamと接続して、ひとまずBASICで実験!

500 @SPIW:OUT1,0:FORI=15TO0STEP-1:OUT2,0:OUT3,N>>I&1:OUT2,1:NEXT:OUT1,1:RTN N=12<<8|1:GSB@SPIW

付きました!(SHUTDOWNアドレス12のbit0に1で表示)

SPIはBASICのままだとゆっくりなので、マシン語化して高速化。ライブラリとして整えて、サンプルプログラムと合わせてできあがり!

10 GSB@INIT 20 N=5:GSB@INTENSITY 30 S="0528":GSB@SHOW:WAIT30 40 S=" jig.jg ":FORK=0TO10:GSB@SHOW:WAIT10:S=S+1:NEXT 60 S="17th":GSB@SHOW 70 FORJ=0TO7:N=J&1*9+5:GSB@INTENSITY:WAIT10:NEXT:WAIT30 80 GOTO 20 200 @INIT 210 POKE#700,80,35,27,2,91,28,27,4,1,33,201,3,0,34,8,66,0,208,4,50,154,97,2,50,154,97,73,8,246,209,112,71 220 N=7:GSB@SCANLIMIT:N=1:GSB@DISPLAY:RTN 300 @SHOW:FORJ=0TO7:OUT1,0:A=(J+1)<<8:FORI=0TO3:C=ASC(S+I):N=PEEK(C*8+J):U=USR(#700,A|N):NEXT:OUT1,1:NEXT:RTN 400 @INTENSITY:N=10<<8|N&#F:GSB@CMD:RTN 410 @DISPLAY:N=12<<8|N&1:GSB@CMD:RTN 420 @SCANLIMIT:N=11<<8|N:GSB@CMD:RTN 500 @CMD:OUT1,0:FORI=0TO3:U=USR(#700,N):NEXT:OUT1,1:RTN

300 @SHOW S:display chars 4桁表示 (I,J,A,C,N,Uが破壊される)
400 @INTENSITY N=0-15 輝度設定 (I,Uが破壊される)
410 @DISPLAY N=0/1 表示のON/OFF制御、最初にONにする (I,Uが破壊される)
420 @SCANLIMIT N=0-7 使用する最後の行、今回は7まで8行全部使う (I,Uが破壊される)
500 @CMD cmd send x4 - 16bitのコマンドを4つ分送信 (I,Uが破壊される)


後ろにどんどんつなげることができるので、もっと長くしたり、縦16ドットにしてみたり、高速化するためにループをマシン語化してみるなど、必要に応じて改造しましょう!

今回のプログラムの見どころ、4文字表示する処理300行@SHOWを丁寧に書くと、下記のような2重ループになっています。

300 @SHOW 310 FORJ=0TO7 320 OUT1,0:A=(J+1)<<8 330 FORI=0TO3 340 C=ASC(S+I):N=PEEK(C*8+J) 350 U=USR(#700,A|N) 360 NEXT 370 OUT1,1 380 NEXT 390 RTN

OUT1でCSを0に、4つ分のデータをSPI転送して、CSを1にすることでバケツリレー!

@SPIWのマシン語バージョンはこちら。asm15でアセンブルしてみましょう。

' @SPIW:FORI=15TO0STEP-1:OUT2,0:OUT3,N>>I&1:OUT2,1:NEXT:RTN @SPIW R3=#50 ' R3=#50010000 R3=R3<<8 R3=R3+1 R3=R3<<16 R1=1 R1=R1<<15 @LOOP R2=0 R0&R1 'F=N>>(15-I)&1 IF 0 GOTO @SKIP R2+=4 ' for OUT3 @SKIP [R3+`110]L=R2 ' OUT2,0:OUT3,F R2+=2 ' for OUT2 [R3+`110]L=R2 ' OUT2,1 R1=R1>>1 IF !0 GOTO @LOOP @END RET

OUTポートを変更する場合は、適宜プログラム内の数を変更しましょう(マシン語入門


小学生の頃、敷居の高さにあきらめたプラモデルの塗装。


塗装コーナー、人気とのこと!


美しい、塗装された模型!VRで塗装体験できるもの作ってみるのも入門にいいかも!?

新しい世界への入口「舞鶴電脳工作室&PCN舞鶴」でした!

links
- 舞鶴電脳工作室に子供パソコンIchigoJamの開発者の福野さんがご来店 | Cyber Workshop in Maizuru

初心者にはオススメできないC言語ですが、多くの高専の授業で登場するC言語

#include <stdio.h> int main() { printf("Hello World!\n"); return 0; }

このC言語のプログラムを実行すると

Hello World!

と出ます。これで感激できるのはC言語を作った人と、環境構築に苦労した人くらい。大抵の人は「で?」と思うだけでしょう。 なぜ # で始まる? <stdio.h> はHTMLのタグとは違う? studio のつづり違い?など1行目から分からないことだらけです。

こちら、その謎に本質から迫るため開発した、x64版の超シンプルマシン語標準入出力ライブラリ stdio.asm を Windows 10で動かした様子。Mac/Linux/FreeBSDでも同様に動きます。

今日の記事はC言語を少しやったけど、なんだかスッキリしない人、現代PCの主力CPU、Intel/AMDのx86系x64マシン語を使ったOSの深い話が気になる人向けです。 まずは楽しくプログラミングでゲームを作ってみたい人や、マシン語の基本は、シンプル&コンパクトなパソコン、IchigoJamからスタートするのがオススメです。(IchigoJam入門動画はじめてのマシン語

C言語プログラミング、本当のはじめのいっぽはこちらです。

int main() { return 1 + 1; }

これを test1.c と保存し、コンパイルし、実行し、実行結果を表示すると(for macOS/Linux)

gcc test1.c ./a.out echo $? 2

1 + 1 という人間らしい言葉で、コンピューターに計算させることに成功!

細かく解説すると・・・。 こちら、整数(int)を返すmainと名付けた関数(数学の関数と似たもの)を作り、中身に「1 + 1」を返して(return)と記述したC言語のプログラムです。 mainという名前は特別で、プログラム起動時に最初に呼び出されます。 「1 + 1 」という人にわかりやすい言葉を、コンピューターが分かる言葉、マシン語へ変換してくれるのがC言語のコンパイラというツールです。 gccというコンパイラは、特に何も指定しないと a.out という実行ファイルができます。それを、実行。 プログラムが実行した結果をみるコマンド(echo $?)を使って、コンピューターが計算した結果「2」を得ることができた。というわけです。

ゲームのキャラクターを表示したい、コントローラー入力を使いたい、音を慣らしたい、いろいろ欲が出てきます。 そこで登場するのがライブラリ。コンピューターの仕様を隅から隅まで調べなくても、誰かが作ってくれた便利な部品を使うことで楽できます!

そんなライブラリの代表格が stdio.h(スタンダードI/Oの略) で定義されている標準ライブラリというものです。 基本的な文字の表示(output)と入力(input)のための関数が揃っています。 冒頭に登場した、printfという関数もそのひとつ。

int main() { printf("hello!\n"); return 0; }

上記のようにプログラムを変更してコンパイルすると、printfって何?とエラーになります。

printfを事前に定義する必要があります。stdio.h というファイルに定義があります。#include は指定したファイルを埋め込んでくれます。 ファイル stdio.h はどこにあるのでしょう?コンパイラが含めるために使うディレクトリが決まっていてその中のを使ってというのが、「<」と「>」で囲う意味でした。 その場にある自分で作ったファイルを含めるときは、ダブルクォートで囲みます。 HTML,CSS,BASIC,C,JavaScript,Pythonなど、コンピューター言語毎に、記号の意味は変わります。

文字の表示やサウンド出力などの手順は、Windows/macOS/LinuxなどのOS毎に違います。 C言語のコンパイラはCPUの違いを吸収してマシン語を生成してくれますが、手順の違いを吸収するのはライブラリの役目。

例えば、Macで文字を出力するには、レジスタrsiに出力したい文字列の先頭アドレスを、レジスタrdxに長さを、rdiに1を、raxに0x2000004をそれぞれ設定して、システムコール(syscall)を呼ぶことで、OSが文字を表示してくれます。(stdio_mac64.asm src on GitHub、cmd: nasm -f macho64 hello.asm -DMAC64; ld -lSystem hello.o -o hello )

mov rdi, 1 ; fd = stdout mov rax, 0x2000004 ; syscall write syscall

CentOS, Ubuntu, Debian, OpenSuSE, Arch Lniux, Fedoraなど、多くのLinuxではレジスタraxに設定するシステムコール番号を変えるだけでOKです。(stdio_linux64.asm src on GitHub、cmd: nasm -f elf64 hello.asm -DLINUX64; ld -e _main hello.o -o hello )

mov rdi, 1 ; fd = stdout mov rax, 1 ; syscall write syscall

FreeBSDでは他のLinuxと異なります。macOSはBSD系の子孫、この値に 0x2000000 数を足したものです。(stdio_bsd64.asm src on GitHub、cmd: nasm -f elf64 hello.asm -DBSD64; ld -m elf_x86_64_fbsd -e _main hello.o -o hello )

mov rdi, 1 ; fd = stdout mov rax, 4 ; syscall write syscall

Windowsでは直接システムコールを呼んではいけないことになっていて、dll(ダイナミックリンクライブラリ)を経由しての呼び出しとなります。stdio_stdout の初期化が必要で、レジスタの使い方や、スタックの使い方も違います。(stdio_win64.asm src on GitHub、cmd: nasm.exe -fwin64 hello.asm -DWIN64& link.exe /entry:_main /subsystem:console hello.obj kernel32.lib )

mov r8, rdx ; len mov rdx, rsi ; buffer mov rcx, [rel stdio_stdout] mov r9, stdio_bytesWritten push qword 0 call WriteFile

このようにOSによってそれぞれ使い方は異なりますが、名前と使い方に揃えれば、以後気にしなくてよくなります。stdio.asm で、環境によって使うライブラリを切り替えるようにしておきます。

%ifdef WIN64 %include "stdio_win64.asm" %elifdef MAC64 %include "stdio_mac64.asm" %elifdef LINUX64 %include "stdio_linux64.asm" %elifdef BSD64 %include "stdio_bsd64.asm" %endif

こうして準備をしておき、stdio.asm を include すれば、どのOSでも動くマシン語でプログラム「Hello World!」が、このようにシンプルに書けます。NASMでのファイルへの埋め込みのincludeは#ではなく%。 いろんな環境での動作確認はConoHaのVPSを使うと1環境1時間1円〜と、とても手軽です。

%include "stdio.asm" global _main section .rodata MESSAGE db "Hello World!", 0x0d, 0x0a LEN_MESSAGE equ $-MESSAGE section .text _main: call stdio_init mov rsi, MESSAGE mov rdx, LEN_MESSAGE call stdio_write mov rdi, 0 call stdio_exit ret

開発効率、速度、汎用性の向上や、特殊な用途への特化するためなど、さまざまなプログラミング言語が誕生し、使われたり、廃れたりしていますが、結局動いているのはこれらマシン語です。 基本を抑えておけば、余計な手間をかけることなく、楽しく楽に開発できてますますプログラミングが楽しくなります。

理解を深めるには、実際にやってみるのが一番です!Windows/Mac/Linux/FreeBSD、それぞれ環境に合わせた c-*.sh/bat、c-*-test.sh/bat を使って、実際に動かしてみましょう。(src on GitHub

開発に必要なツールを設定しましょう。Windowsでは「Visual Studio C++ 2019 コミュニティ」、Macでは「Xcode」がそれぞれ無料で提供されています。 アセンブリ言語をマシン語化してくれるツール、アセンブラ「NASM」もオープンソース、無料です。

Visual Studio C++ 2019 コミュニティ、右側赤枠で囲んだ2つ、ビルドツールとSDKがあれば、ひとまず今回の開発は可能です。セットアップ後、コマンドプロンプトで hello-x64asm のディレクトへ移動し init-win.bat を動かし、開発ツールとNASMにPATHを通して、レッツトライ!

stdio.asm は、stdio.h が持つ機能の極一部。自分なりのライブラリや、プログラミング言語づくりにチャレンジするのもおもしろいですよ!

links
- taisukef/hello-x64asm: the first step of x64 64bit assembly programming on Windows/macOS/Linux
- C言語開発者「C言語は初心者にはお勧めできない」 エントリーにオススメBASICは、世界初のクラウド対応言語だった! IoTで起業家甲子園目指す、長岡高専チームメンタリング
- プログラミング言語は何から学ぶべきか? ロボットプログラミングゲームをIchigoJamでプログラミング! C言語の教科書「Springs of C」より
- 高専でなぜC言語を学ぶのか? IchigoJamマシン語生成プログラム c4ij で作る、C言語版かわくだり
- IchigoJamからのステップアップ - IchigoJam BASIC / Python3 / JavaScript / Java / C言語 対照表
- ハンドアセンブルで高速計算! RISC-V、RV32ICエミュレーターのC言語実装
- マシン語対応 IchigoJam web、気軽にハンドアセンブルして遊べます!
- OpenCL/C言語 GPUプログラミングはじめのいっぽ on Mac
- わずか16KB! WebAssemblyで動くミニC言語オフラインコンパイラ&インタプリタ webci0
- 深いプログラミング言語学習に最適! 512行のC言語コンパイラ ci0 を使ってみました
- 地味なC言語がなぜ楽しいのか?

福井県独自の新型コロナウイルス対策、県内全戸へのマスク配布を購入券配布で、福井のドラッグストア「ゲンキー株式会社」が協力。 受け取った購入券を持って、最寄りのゲンキーを手軽に探せるマップアプリを作ってみました。 (県民向けにマスク購入をあっせんします | 福井県ホームページ


ゲンキーマップ
ゲンキー公開の店舗オープンデータはなかったので、「店舗・チラシ検索」に記載のデータから、一覧CSVデータを作成。 全角半角、郵便番号の表記ゆれも標準化。スクレイピングするソースコードもオープンソース、全国の高専生、Let's Code for! (Node.js src on GitHub

使用技術:ゲンキー店舗一覧CSV地理院地図 x leaflet.mjsカラム地図util.mjs
* util.mjs - JavaScriptプログラム用の便利ユーティリティーの mjs まとめ(旧、fukuno.js)


ゲンキー店舗一覧CSV
Excelなどで一覧で見ると、表記ゆれや、データの間違いは一目瞭然。行政だけでなく、民間企業でもCSVオープンデータとして公開、業務効率化と集客に有効です!

Open Data Now! (元ネタ)

links
- 福井県庁の方へ、教材リストCSVオープンデータでウェブサイトも同時更新して楽する方法
- 厚生労働省の方へ、CSVオープンデータ化で効率化しましょう! 新型コロナウイルス国内事例における都道府県別の患者報告数表示アプリ
- おうちで学ぼう、時間割ガチャ。オープンソースで貢献するきっかけ、プログラミングの教え方新動画も公開!
- jigインターン2020募集開始!高専生の学びは止まらない、JavaScriptモジュール対応の地理院地図使用クラスライブラリ leaflet.mjs

全国高専生向けjig.jpインターンプログラム2020、募集開始! 今年もがっつり3週間、jig.jpのスタイル「アジャイル」を使ったチーム開発への参加したい高専生を大募集。


map sample - leaflet.mjs
jsからモダンなmjsへの移行、地理院地図で使える Leaflet をmjs対応させました。 日付解釈の dtcheckjp.mjs に続く第二弾、import を使った、すっきりシンプルに地図を使ったウェブアプリが簡単に作れます! 各地の高専生と開発進む、あるプロジェクト用に整備しましたが、地図の応用範囲は広大です。

<script type='module'> import L from 'https://code4sabae.github.io/leaflet-mjs/leaflet.mjs' window.onload = async function() { const data = [ { lat: 35.943560, lng: 136.188917, name: '鯖江駅' }, { lat: 35.944539, lng: 136.186222, name: 'Hana道場' }, { lat: 35.942795, lng: 136.198881, name: 'めがね会館' }, { lat: 35.949658, lng: 136.258142, name: 'JAPAN CRAFT HOUSE' }, ] const map = L.map('mapid') // set 国土地理院地図 https://maps.gsi.go.jp/development/ichiran.html L.tileLayer("https://cyberjapandata.gsi.go.jp/xyz/std/{z}/{x}/{y}.png", { attribution: '<a href="https://maps.gsi.go.jp/development/ichiran.html">国土地理院</a>"', maxZoom: 18, }).addTo(map) let iconlayer = L.layerGroup() iconlayer.addTo(map) const lls = [] for (const item of data) { const ll = [ item.lat, item.lng ] const marker = L.marker(ll, { title: item.name }) marker.bindPopup(item.name) iconlayer.addLayer(marker) lls.push(ll) } if (lls.length) map.fitBounds(lls) } </script>

フロントエンド、バックエンド、それぞれどんな技術を使ってどうつくるか!?
チームで話し合って決めて進めます。弊社、現役エンジニアがメンターとなってサポートします。もちろん、私も!


キレイにリノベーションされた、広い古民家を使った共同生活&レクチャー。


スクラムの一種、アジャイルを使ったチーム開発を実践で学ぼう!


最後にはしっかり成果発表!


Welcome to Sabae!

新型コロナウイルス対策で開発した、オープンソースなウェブアプリ、教材としてどうぞ!
- COVID-19 Japan - 都道府県別 新型コロナウイルス陽性患者数
- VS COVID-19 #民間支援情報ナビ
- 時間割ガチャ - 教材オープンデータから自動生成する時間割
- 日本カラム地図 - TabularMaps Japan

links
- 楽しく続けるチーム開発のススメ、jigインターン版「スクラム」とHTML8行で作るVRアプリ - 高専カンファレンス in 明石3
- jigintern2019のブログ

福井県の教育委員会が始めた福井県独自の学習動画づくり&配信の取り組みがステキです!


Twitter/Facebookでも県内外から大きな反響!そこで、作ってみました、動画で学ぶ時間割!全国の高専の先生もいかがでしょう?エンジニアに憧れる、小中学生にワクワクを届けるチャンスです!


時間割ガチャ - 教材オープンデータから自動生成する時間割
PCNチャンネルと合わせて、オープンデータとしてまとめ、作ったランダムに教科をピックアップして自分だけの時間割を作ってくれるアプリです。

自分の好きなことを自分で学ぶ時間「自由研究」と、自分で学べば学ぶほど楽しい「プログラミング」を混ぜています。 「ゲームは1日1時間! IchigoJamは1日4時間!!」 by 高橋名人(出典、連射ゲーム - SHIROのIchigoJam日記

Schooさんで、収録した新動画「おとなプログラミング入門」も追加!

プログラミング教材「IchigoJam」の使い方とデモンストレーション 32min」
BASICからはじめよう、SchooにてIchigoJam動画教材収録! ガチャピン・ムック、engadget、高橋名人も参戦!?


「対象、科目、タイトル、URL、公開日」を項目名としたGoogleスプレッドシートや、CSVデータとしてオープンデータとしていただければ、どんどんつないでいきます!
教材オープンデータ 登録フォーム

集約したCSVJSONデータは、オープンデータ by Code for Fukui。こちらも自由にお使いください。ただし、動画自体はそれぞれ提供者の著作物なのでご注意ください。


このプログラムも、GitHubでオープンソースとして公開しているので、学生でも誰でも自由に作り変えて使ったり、公開したりできます! デザインをかわいくしたり、学年選択や、得意科目を多めにいれる、逆に苦手科目を克服するなど、自由に改造して自慢しましょう!

JavaScriptで作ったプログラムのメイン部分(index.html)を紹介。CSVデータを読み込み、タイムテーブル作成し、ウェブサイト内に組み込む。ボタンが押されたら、もう一度!

const main = async function() { const url = 'data/funs.csv' const data = await fetchCSVtoJSON(url) const show = function() { timetable.innerHTML = '' const tt = makeTimeTable(data) timetable.appendChild(tt) } show() btn.onclick = show } window.onload = main

学び方を学ぶ、良い機会!

福井県庁、新型コロナウイルス対策アプリに必要なオープンデータを、総務省推奨、Code for Japan 作成の推奨データセットに準拠する形で公開スタート!
新型コロナウイルス感染症のオープンデータを公開します! | 福井県ホームページ


COVID-19 Fukui 福井県 新型コロナウイルス対策ダッシュボード
早速、陽性患者オープンデータを使って、福井県カラム地図上で各市町の現在患者者数の多さを色の濃さで表現。


新型コロナウイルス感染症のオープンデータを公開します! | 福井県ホームページ
データはこちらからどなたでもオープンデータとしてご利用いただけます。


陽性患者情報、検査実施件数、陰性確認数、コールセンター相談件数、4つのデータセットがCSVで公開。


東京都版をベースに新たな定義された推奨データセットを使用(総務省資料より)


新型コロナウイルス感染症対策サイトのためのデータ公開について 令和2年3⽉31⽇総務省
詳細は「新型コロナウイルス感染症対策サイトのためのデータ公開について」「新型コロナウイルス感染症対策サイトのためのデータ公開支援 - Code for JapanCode for Japan」をご覧ください。 他の都道府県の担当の方もぜひご検討ください!(参考、オープンデータの作り方と育て方


福井新聞掲載された、福井高専学生開発の福井版対策サイトと共に、新型コロナウイルス対策ダッシュボードも連携サイトとして福井県庁からリンクいただきました。

コンピューターが少し分かれば、家の中でできることが無数にあります!
福井県内自粛でダメージが大きい外食産業との連携、森さんが集めた「#頑張ろう福井グルメ」のデータを使ってアプリ開発&公開。

TAKEOUT FUKUI 福井県のお持ち帰りグルメまとめました
スマホ、PC、タブレット、どれでも地図と合わせて使いやすいをテーマに作ったウェブアプリです。地図は、地理院地図/egmapjsを使用。素のJavaScriptなので、初心者の方でも改造簡単!


スマホなど縦長で見ると、画面下に地図が来ます。アイコンタップでページ内で詳細表示。使い勝手、もう少し良くする予定。


code4fukui/takeoutfukui: TAKEOUT FUKUI #頑張ろう福井グルメ
GoogleスプレッドシートからJSON/CSVへの変換を含めて、プログラムは、GitHubでオープンソースとして公開。Issuesにてご意見、ご要望と、改善自体もオープンに受け付けています。


COVID-19 Japan 新型コロナウイルス対策ダッシュボード
都道府県ごとの詳細画面に一般社団法人 日本耳鼻咽喉科学会が区分を定義した「ハイリスク地域」「ローリスク地域」の表示を追加。 現在患者数が10名以上の地域では、感染リスクが高いため、手術を延期したり、事前の検査が入念になるなどの、対応ガイドラインが公表され、本ダッシュボードへの案内も記載されています。 (学会からのお知らせ:一般社団法人 日本耳鼻咽喉科学会


「気管切開」の対応ガイド(2020 年 4 月 3 日版)一般社団法人 日本耳鼻咽喉科学会)」より
気管切開手術を行う場合の例、ハイリスク地域かローリスク地域かで、異なるフローが推奨されています。

標準PPEとSARS-CoV-2陽性症例への対応に必要となるfull-PPEについて

PPEとは個人防護具(Personal Protective Equipment)のこと。サージカルマスク、アイシールド、手術ガウン、手術用帽子、手袋による通常手術同様の防護が標準装備。

対して、full-PPEとは、感染症対策に強化した下記の装備のこと
- FFP2(N95)マスクあるいは電動ファン付呼吸用保護具
- 眼球保護としてのフェースシールド±ゴーグル
- 身体の保護としての不浸透性長袖ガウン
- 皮膚の露出の少ない手術用帽子

full-PPE 装着下での気管切開は,執刀医から関連する医療者の肉体的・精神的な負担となるため,複数例に対応する場合には同じ医療者に負担が重ならないような配慮も必要である.
医療関係者の負担を極力減らすための行動が必要です。 何か、データでご協力できることがあれば、ぜひお寄せください。


code4sabae/coughgathering: voice uploader web app and node.js server
国際チームで開発進む咳診断サービス、シリコンバレーにいるあみると改善した咳あつめアプリ「Virufy」(Virus + Verify)。 指示に合わせて音声を録音し、サーバーへアップロードし、アンケートシートへ連動する、シンプルでモダンなJavaScript/HTML/CSSのプログラムです(index.html on GitHub)。

緊急事態宣言が出され遠隔医療も解禁。テクノロジーでできること、一気に広げるチャンス!

全国の高専生や、エンジニア目指す小中学生、お家で地域に貢献してみよう!
興味ある方、こちらへどうぞ「Slack: Code for KOSEN

4/3の福井新聞2面、大きく写真付きで掲載。何よりうれしい福井高専の後輩の活躍!

福井県内の最新感染動向 | 福井県 新型コロナウイルス感染症対策サイト(非公式)」を開発・運用しているのは、福井高専専攻科を卒業したばかりの野村くん。平成30年度の「起業家甲子園」出場メンバーでもある(右上)。

また、無観客開催となったPCNこどもプロコンの様子も掲載(左下)。鯖江市でHana道場に通う小学2年生が高橋名人特別賞受賞おめでとう! 名人、ブログ書いてくれてます!「高橋名人特別賞「スーパーちゃくち」のプログラム | 高橋名人オフィシャルブログ「16連射のつぶやき」Powered by Ameba

今回10回目を迎えた「PCNこどもプロコン」、過去の受賞者達が高専生となって活躍しています。今回「COVID-19 Japan 新型コロナウイルス対策ダッシュボード」に加えた新機能「元気ですか?」の作者は、PCNこどもプロコン2014冬/2015冬マルツエレック賞、2016夏永和システムマネジメント賞を受賞し、現在福井高専の2年生!


新型コロナウイルス対策ダッシュボード
各都道府県別のデータも見えますが、1日〜2日遅れの厚生労働省が集約したデータです。最新状況をチェックするには「アプリ」のボタンで福井版対策ウェブアプリへ。


福井県内の最新感染動向 | 福井県 新型コロナウイルス感染症対策サイト(非公式)」 by 元福井高専生!
オープンソースの東京都の対策サイトを活用し、こちらもGitHub上のオープンソースとして公開、継続的に改善されています。誰でも参加可能です!

新型コロナウイルス対策ダッシュボードで公開している都道府県別の現在患者数のJSONファイル、過去分も公開するJavaScriptのプログラムを作成(src on GitHub)。
covid19japan-all.json」2020/3/18-最新データまで 根拠PDFへのリンク付き
「CC BY 厚生労働省」の、みなしオープンデータとして活用しましょう。1日分欠損があります。その他、もし、JSONデータに間違いなどあれば、issuesにて、お気軽にご連絡ください。

福井高専の新1年生はじめ、福井や、全国にいるエンジニア目指す学生やこどもたち、社会貢献と実力アップのチャンス!Let's code for around you!

links
- 東京都 新型コロナウイルス対策サイトへの貢献方法を解説 - Qiita(鳥羽商船高専生による貢献ガイド)
- シビックテックに参加する10の方法|陣内 一樹(Code for Japan)|note
- 新型コロナ情報サイトが話題 関連機関発表の一次データ基に感染者数や病床数一目で | 電波新聞デジタル

Code for Sabae主催のオープンデータを使ったコンテスト「カフモン2020」開催です!
2020/4/1〜2020/5/15までの福井市で計測されるヒノキ花粉量を当てるだけ。
差の合計が一番小さい人が優勝です!


福井県花粉データまとめ(福井市)」(src on GitHub)
2007年から2020年まで、14年分の1日ごとのスギ花粉とヒノキ花粉の飛散量のCSVデータが福井県のオープンデータとして公開されています。 スギ花粉は終息してしまいましたが、これから迎えるヒノキ花粉。こちらが今回コンテストのテーマです!


こちらが登録フォーム。APIを用意したいところでしたが、ひとまず誰でも参加できる形でスタート。

4/1 10 4/2 30 4/3 50 ... 5/15 0

このような日付と飛散量を書いたデータをフォームに追加するだけでOK!
登録日の翌日以降のみ有効になりますが、何度もデータ更新してOK。

参加お待ちしています!
カフモン - 花粉オープンデータチャレンジ


福井県花粉データまとめ(福井市)」(src on GitHub)
12年分のデータを単純に平均する?天気データと突き合わせてみる?どのデータがどう影響しているか?コンテストサイトや、花粉オープンデータの表示方法をかっこよくするフォーク、プルリクも大歓迎!

新型コロナによる症状と間違えられやすい花粉症。誰もが発症リスクある困りもの。

高専生、大学生や機械学習を使って人、家でじっくり取り組むテーマのひとつとして、ぜひ活用ください! 良いアルゴリズムが見つかれば、来年の花粉症対策にすぐ使えちゃうかも?

現役高専生エンジニアとオンラインハッカソン試行版、テーマは「新型コロナ対策」。10時にzoomで顔合わせ、オープンデータとアイデアの創り方をレクチャー、今日つくるアイデアを決定。

「アイデア = 誰かがほしいもの x 自分がつくれるもの」

まずは手が届くものから、ひとつひとつ作りながら、作れるものの幅、広げましょう!


オンラインでもいろんな人が集まるとアイデア弾む!いい感じにまとまってきたところで、アジャイルチーム開発の一種「スクラム」をレクチャー。 ランチ休憩後、いちばん大事な誰のための何を目的としたどういうものかを端的に文章「ビジョン」の決定からスタート。チームメンバーは誰もが空で言えるくらい、ステキなビジョンを創りましょう。


ビジョンを構成する機能単位でプロダクトバックログを作成し、優先順位の高い順に並べます。十分に合意ができたら、上から順にタスクに分解、誰が担当するか決めるスプリント計画して、開発開始!今回のスプリントは超短縮版で1時間!

1スプリント終わったら、zoomでスプリントレビュー、発見や反省は、次のスプリント計画に活かします。レビューと計画に30分かかりました。3スプリント目に全員のタスク分がひとつにまとまるところまで開発できました。 最後に今日1日の「ふりかえり」、良かったこと(Keep)、問題点(Promlem)、次どうするか?(Try)のKPTを使いました。

参加した高専生、勉強と刺激になった1日となったようで何より!

ここからは個人作業。Facebookで情報もらっていた、人工呼吸器やECOMOのデータ、連絡すると許諾のご返信が!早速、ダッシュボードに組み込んでみました。

COVID-19 Japan - 新型コロナウイルス対策ダッシュボード
人工呼吸器およびECMO装置の取扱台数等に関する緊急調査の結果について | 公益社団法人 日本臨床工学技士会」には、2020年2月と最近調査された、都道府県別の総CE数、人工呼吸器数、COVID-19の重症患者を救う鍵ECMOの数が記載されています。

機材の使用に欠かせないという、CE(=臨床工学技士、Clinical Engineering Technologist、Clinical Engineer)、医療現場でも活躍エンジニア!

今回アプリ上での使用を許諾いただきました、一般社団法人 日本呼吸療法医学会さん、公益社団法人 日本臨床工学技士会さん、ありがとうございます!


COVID-19 Japan - 新型コロナウイルス対策ダッシュボード
福井県でも陽性者数、じわじわと増加。CEは106人、人工呼吸器は208台、ECMOは6台。対応できる数には限りがあることを知っておきましょう。Faceobookシェア数2.5万。

ITmediaさんからの取材、ご紹介いただきました。
「ひっ迫した状況が一目瞭然」新型コロナ病床数まとめサイト、大反響に「バグを疑った」と開発者仰天 “医療現場の声”励みにスピード公開 - ITmedia NEWS
シビックテックとオープンソースがオープンデータを大きく発展させ、より強い社会を創るでしょう!

links
- sakurum/covid19-tokushima: 徳島県民一人一人がコロナにまけんための情報提供と情報共有ができるサイト

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