苫小牧開催予定だった高専プロコン、今年はオンライン開催に切り替え、自由部門と課題部門の予選通過数がそれぞれ10作品ずつと半減、競技部門は中止と縮小開催。

代わりにバーチャル会場や、動画配信によるプレゼンとデモが見放題と新しい取り組みがいい感じです。


バーチャル高専プロコン会場。メニュー一覧から全展示をサクッと回れて楽しい。 それぞれブースでコメントが残せるともっと楽しくなるかも。


自由部門、課題部門並行して進むので、両方同時に聞くことも可能。


高専プロコン2020オープンデータ(CSV)」
CSVオープンデータできました!それぞれ動画のアーカイブの開始位置へのリンクを付けています。


香港の作品、おもしろい!


競技部門はオープンソースで勝手開発&開催、やってます!
囲みます on GitHub by Code for KOSEN

ものづくり好きの小中学生から高専大学生、大人まで、なにかつくってみたい人の刺激になるイベントにNT鯖江2020。 いよいよ来週末開催! 名乗りを上げていただいた、20の出展者さんを紹介するPRサイトを作りました。

NT鯖江2020 なにかつくろう、技術の祭典nt.sabae.cc
ドメイン、お気に入り!(src on GitHub)

展示物のURLを記載いただいている出展者さんのご紹介!

鍵盤ハーモニカが「トルコ行進曲」を演奏してみた(自動演奏)【ソレコン応募動画】」 by @nezumi_tech
NT鯖江2019でも活躍していた、自動演奏ハーモニカが再び来鯖!


「Vtuberほっぺぷにぷにデバイス」by @satone_030
VRが楽しくなりそう!?


光るJack-o'-Lantern等」by @mashigure
お手軽な部品での光る工作、ステキです!


「陶芸作品」
IchigoJamを製造しているナチュラルスタイルさんの部活とのこと!


FPVRCカーの展示など」 by @runanse
デフォルメされたタミヤのラジコンにカメラを載せて、運転気分!?


囲みます
現役福井高専生による出展、まぼろしの第31回高専プロコンの競技部門を勝手に開催する会より!今日も活動日でした。10/3土の14時-15時に現地で大会しますよ!


「モンスター娘のカスタムドール」by @MintiaP
いろいろカスタマイズするの楽しいですね!


IchigoJam実用プログラミング、DMX512でムービングライト制御入門
IchigoJamと照明、展示します!

出展者のみなさん、展示物のURLを編集いただければ、掲載します!
NT鯖江2020 - PukiWiki

イベント告知、webサイトの作り方
使いたい画像を用意して、index.html を1ファイル用意、GitHubに1つリポジトリを作成して、GitHub pagesの設定するだけで公開完了! 独自ドメインにする場合は、更にちょっと設定追加すればOK!(詳細、GitHub Pages で、じぶんのウェブサイトをつくろう!

似たようなサイトであれば、今回作ったこちらのサイトを流用いただければOKです!まずはシンプルなものを真似るのが近道です。

サイトを作っただけでは誰も見てくれません。作ったことを見て欲しい人に伝えましょう。 どのくらいの人が見てくれたのかを手軽かつ強力にチェックするツール、Google Analytics、登録し、コードを埋め込むとリアルタイムに見ている人の数がわかり、自動で集計してくれます。 数百円から始められる各種広告も試してみるのもおもしろい!


NT鯖江2020」2020/10/3-4土日開催 @SCC

人間はきっと本来、創るのが好き。好奇心で広がり、評価や挫折で狭まる好きの範囲。大好きなゲーム、こどもはみんな創りたい。

短時間でコンピューターの凄さと手軽さを楽しく体験、IchigoDyhookを使った、IchigoJamプログラミングワークショップ。今回は神山まるごと高専ができる場所、徳島県神山町にある神山バレー・サテライトオフィス・コンプレックスに来てくれたこどもたちへの遠隔講義。(前回はリアル講義


大いに楽しんでくれました!(サポートいただいた大人の方々、ありがとうございます!)
今日のスライドはオープンデータ、GitHubからダウンロードし、自由に改変含め、ご活用ください!(PDF/Keynote/PowerPoint
一度体験して、一度練習したら、誰でも誰かに教えられちゃいます。

エルチカとかわくだりゲームの間の休憩時間にライブコーディング。タイピング、速ければ速いほどかっこいい。 IchigoJamで使う、PS/2対応のUSB接続キーボード。実は1フレーム(1/60秒以下)を争うゲームの世界で重宝されています。

こちら、今回入手したお手頃ゲーミングキーボード「BUFFALO ゲーミングモデル USB & PS/2 有線キーボード ブラック BSKBCG305BK


特徴は右上の[mode]ボタンで切り替える「Turboモード」と青色ダイオード。通常1秒間に10回のキースキャンが、秒間50回、秒間120回へと高速化して、よりキーボードを押した反応がすばやくコンピューターに伝わるようになります。 合わせてキーリピートも超高速化!

10 WAIT 180 20 CLT:FORI=0TO119 30 IF INKEY()=0 CONT 40 NEXT 50 ?TICK()

3秒間待った後、120回キーが押される時間を計測。


結果
Turbo OFF 549 (9.1秒)
Turbo 50 143 (2.3秒)
Turbo 120 58 (0.9秒) - 今まで体験したことがない速さのキーリピート!

実測で120回/秒、出ました!
すばやく応えてくれ、同時押しにも強いPS/2ゲーミングキーボード、シビアな対戦ゲームづくりにも良さそう!

鯖江からzoomを繋いで福野さんのIchigoJamプログラミング教室を開催中。10人ほどの子供たちが夢中でBASICプログラミングを楽しんでいます。

本橋 大輔さんの投稿 2020年9月4日金曜日

どんどんつくろう!自信作、PCNこどもプロコンで待ってます!

links
- 新高専予定地、徳島県神山町でIchigoJamプログラミング with CoderDojo神山、遊ぼう自然もコンピューターも、はじめてのマシン語体験
- 神山まるごと高専、技術教育統括ディレクター就任に向けた所信表明と、Amabieペンダント

jigインターン2020、まるっと1日、本格開発となった、4日目!
jig.jpオンラインインターン2020 4日目! - jigintern2020’s diary

Breakout Roomでそれぞれのチーム毎の開発が進みます。フロントエンド、バックエンド、基本2人ずつ担当し、詰まったら、まずはチーム内で共有してトライして、15分間進展がなければヘルプを呼ぶ感じで進めます。 何件かヘルプに入って解決。画面共有があれば、ちょっと見せてがオフライン同様にできて便利です。

プログラムを見ていて気になった冗長な書き方。歴史が長いJavaScriptはブラウザの進化と普及ともに変化するベストプラクティス。ちょっと便利なミニテク集を紹介してました。

1. document.getElementById は使わない
document.getElementById("nanika").value は nanika.value と書けます。
(ifやwindowなど、JavaScriptの予約語とかぶるidはつけない!)

2. 文字列と変数の連結は ` ` を使う
"./next.html?a=" + num.value + "&b=" + select.value;

`./next.html?a=${num.value}+&b=${select.value}`
すっきり!(間に改行も使えるので、HTMLの埋め込むにも便利です)

3. 関数定義でfunctionと書かない
function a(param1, param2) { .. }

const a = (param1, param2) => { .. }

4. DOM構築の document.createElement など長い関数を繰り返し使う時はコンパクトに
const cr = (tag) => document.createElement(tag);
const p = console.log;

5. クラスを使おう
JavaScriptでも class が使える
class A {
func(param1, param2) { .. }
}
より自然な関数定義、積極的にクラスでまとめていきましょう!

まだまだいろいろあるので、少しずつ紹介していきます。まとめアプリにするのも便利かも。


Code for KOSEN、高専プロコン競技部門を勝手にやる会「囲みマス」練習試合。
AIを持ち寄って、対戦させてみたところ、これが結構おもしろい!1試合3分、観戦するのもなかなか楽しく、いい感じでした。

参戦方法
囲みマス」を開きます
Kakomimasu on GitHubをクローンかダウンロード
cmd or terminal で、cd client_deno

deno run -A client_a4.js

ブラウザで表示されるゲーム一覧にゲームIDがつき、対戦者待ちになります
もうひとつ起動するか、誰かが参戦すれば対戦が始まります!
ゲームIDをクリックして観戦しましょう!

ローカルで試したい場合は、ローカルで apiserver を起動し

cd apiserver deno run -A apiserver.ts

client_deno/.env のhostを http://localhost:8880 にして、http://localhost:8880 を開き、クライアント起動!

強いAI、楽しいAI、人の手を介在させてもOK、ご参戦、待ってます!


全国高専卒業生の会 ヒューマンネットワーク高専(HNK) の月例会、オンラインに登壇!
神山まるごと高専についてお話しました!中学生に選ばれる高専になるために、技術でアピールしましょう!

HNKでの登壇、ブログで振り返ってみると、東京(2014)仙台(2015)東京(2015)大阪(2017)に続く、5回目でした! イベントから広がる、いろんな縁がつながってます!


毎日更新「新型コロナウイルス対策ダッシュボード
こちらもJavaScriptのオープンソース(src on GitHub)。Chart.jsで「入院治療を要する者」だけ表示にした推移。第二波収束方向のようです。
まずい状況が社会に伝わると、みんなが気をつけ、緩むと増える、繰り返しているうちに弱毒化してくれることを願います。

jigインターン2日目、恒例の鯖江市長室訪問、今年はオンライン! webネイティブ世代の高専生からの鋭い質問と重みある回答。直接民主主義に近づける、市民主役で持続可能なまちづくりへの熱い想い、受け取りました。(これからを担う、鯖江市長候補者比較オープンデータ

鯖江市長と学生オンラインQAセッション - jigインターン2020学生 - YouTube
ITが十分に普及していないガラケー時代の16年前、なぜITに目をつけたのですか?


朝9時ちょうど、ラジオ体操から始まる夏のインターン。オンライン、みんなで体を動かすのは意外と効果あり!何でもやってみるものですね。

AWSを使ったサーバー設置勉強会、オープンデータの可能性と楽しさを知ってもらって、鯖江市役所オンライン訪問。

最後に記念写真!
鯖江市長の牧野さん、CIOの牧田さんありがとうございました!


インプットの後は、アウトプットの時間。チーム別ブレイクアウトルームで、社員エンジニアによるメンターと共に課題とアイデアをディスカッション。 明日の午前中にはかっこいい「ビジョン」を決めますよ!

サーバーで自分で作ったwebアプリが動く感動体験。
1時間単位課金で使えるVPS(バーチャル・プライベート・サーバー、仮想専用サーバー)のおかげで隨分手軽になりました。

ConoHaのVPS(700円クーポン付き?)に登録し、サーバーを一番安いプラン、OSは「CentOS8」で起動。 コンソールを表示して、次のコマンドを貼り付けるだけで、Denoがセットアップされ、自分だけのwebサービスが稼働します。(src on GitHub)

curl https://code4sabae.github.io/js-sample/setup-for-centos8.sh | sh

http (SSLは未設定なので https ではない)に、起動したサーバーのIPアドレス、更に :8881 とポート番号を付けて、アクセスし、「Hi Deno!」と出れば成功です! (参考、Deno x Servest x JavaScript で始めるシンプルweb開発

しばらく稼働する場合は、サイバーセキュリティの基本、サーバーのアップデートをしておきましょう。

$ yum update

* 本当は、スタートアップスクリプトに起動前に入れるだけでOK!としたかったのですが、うまくいかず。・・・もっと勉強が必要です。うまく行った方、教えてもらえるとうれしいです。

jigインターン生によるブログ、2日目は福井高専、すずとも!
Jig.jpオンラインインターン2020 2日目! - jigintern2020’s diary

links
- Deno x Servest x JavaScript で始めるシンプルweb開発
- 昨日、毎夏恒例となっている㈱jig.jpのインターン生との意見交換でした。(市長Facebook)

今年はオンライン開催のjigインターン2020。ウェルカムスピーチ、自己紹介、ガイダンスの後に、あだなが決まって、まずは軽くゲームから。


自宅から読みの辞書順で、一番早いものを持ってきた人が優勝ゲーム!
勝者は「アース付きコンセント」を持ってきた、ぷりん!Arduino、iPad、ITパスポート、アルゴリズム辞典、赤いバケツなど、いい感じに偏ってます。

少し和んだ後、みなさん期待のweb開発とチーム開発の勉強会!
Deno x Servest x JavaScript ハンズオン、全員web開発者になれました!
意外とシンプルで簡単に始められそうですよね!あとはいろいろやってみるのみ。

さりげなく使った、import(JavaScript関係は、まずは + mdn で検索するのがオススメ!)

console.log("Hi Deno!");

console.log と書くのが面倒な場合、次のプログラムを p.js として保存して

const p = console.log export { p };

hideno.js をこんな風に書きます

import { p } from "./p.js"; p("Hi Deno!"); p("again!");

ブラウザ上やDeno上のJaavaScriptの抽象化、import / export は、URLも使えて便利です。


Proxyを使うと、データ構造とHTMLのタグを対応づけできます。
選択するための select タグを、配列と対応づける proxySelect.js を作って使ってみました。(src on GitHub)

const ar = [1, 2, 3]; const par = proxySelect(sel, ar); par.push(4); par.unshift(0); console.log(par); par.pop(); par.pop(); par.pop(); for (let i = 0; i < 10; i++) { par.push(rnd(100)); } par.sort();

配列操作がそのままselectタグに反映されて便利です。

辞書順ゲームをやってみましょう!

const ar = [ "アルデュイーノ", "アイティーパスポート", "アルバム", "アイスクリーム", "アイス", "アカイバケツ", "アースツキコンセント", ]; const par = proxySelect(sel, ar); await sleep(3000); par.sort();

おや、「アースツキコンセント」が一番になりません。
文字コードの問題のようなので、sort関数を別途用意して、無事優勝!(src on GitHub)

par.sort((a, b) => { const len = Math.max(a.length, b.length); const clong = "ー".charCodeAt(0); for (let i = 0; i < len; i++) { const ca = a.charCodeAt(i); const cb = b.charCodeAt(i); if (ca === cb) { continue; } if (ca === clong) { return -1; } else if (cb === clong) { return 1; } return ca - cb; } return a.length - b.length; });

長音記号があったら前にもってきます。(参考、Array.prototype.sort() - JavaScript | MDN


チーム開発、いちばん大事なのは「ビジョン」。いろいろあるプロクティスですが、シンプルなものから使っていきましょう。


今年のjigインターンメンバー、2週間後の成果発表に向けて、気合十分!


jig.jpオンラインインターン始まります! - jigintern2020’s diary
インターンブログも始まりました!初日は福井高専みゅーすけ!

第31回の高専プロコン競技部門を勝手に創るオンライン会。APIサーバー、Javaのクライアント、C言語のクライアント、JavaScriptのクライアントとそれぞれ役割分担して開発中。(src on GitHub競技ルールの後半)


対戦している様子!・・・ただ、コアにバグがあるようで、途中青忍者が消失する現象あり。

JavaScriptのクライアント、クラスを作って整理。デタラメに置いてデタラメに動くAIプログラムはこんな感じに書けます。(src on GitHub)

import { KakomimasuClient, Action, DIR } from "./KakomimasuClient.js" import util from "../util.js"; const kc = new KakomimasuClient("a3", "デタラメ", "サンプル", "a3-pw" ); let info = await kc.waitMatching(); const pno = kc.getPlayerNumber(); const nagents = kc.getAgentCount(); const points = kc.getPoints(); // ポイントの高い順ソート const pntall = []; for (let i = 0; i < points.length; i++) { for (let j = 0; j < points[i].length; j++) { pntall.push({ x: j, y: i, point: points[i][j] }); } } const pntsorted = pntall.sort((a, b) => b.point - a.point); info = await kc.waitStart(); // スタート時間待ち while (info) { // ランダムにずらしつつ置けるだけおく // 置いたものはランダムに8方向動かす const actions = []; const offset = util.rnd(nagents); for (let i = 0; i < nagents; i++) { const agent = info.players[pno].agents[i]; console.log(pno, agent); if (agent.x === -1) { // 置く前? const p = pntsorted[i + offset]; actions.push(new Action(i, "PUT", p.x, p.y)); } else { const [dx, dy] = DIR[util.rnd(8)]; actions.push(new Action(i, "MOVE", agent.x + dx, agent.y + dy)); } } kc.setActions(actions); info = await kc.waitNextTurn(); }

一歩進めて、周りの点数の高いところから狙っていき、壁破壊も行うAIにしたものがこちら。(src on GitHub)

const dirall = []; for (const [dx, dy] of DIR) { const x = agent.x + dx; const y = agent.y + dy; if (x >= 0 && x < w && y >= 0 && y < h && checkFree(x, y)) { const f = field[y][x]; if (f.type === 0 && f.pid !== -1 && f.pid !== pno) { // 敵土地、おいしい! dirall.push({ x, y, type: f.type, pid: f.pid, point: f.point + 10 }); } else if (f.type === 0 && f.pid === -1) { // 空き土地優先 dirall.push({ x, y, type: f.type, pid: f.pid, point: f.point + 5 }); } else if (f.type === 1 && f.pid !== pno) { // 敵壁 dirall.push({ x, y, type: f.type, pid: f.pid, point: f.point }); } } } if (dirall.length > 0) { sortByPoint(dirall); const p = dirall[0]; if (p.type === 0 || p.pid === -1) { actions.push(new Action(i, "MOVE", p.x, p.y)); poschk.push({ x: p.x, y: p.y }); poschk.push({ x: agent.x, y: agent.y }); // 動けなかった時用 } else { actions.push(new Action(i, "REMOVE", p.x, p.y)); poschk.push({ x: agent.x, y: agent.y }); } } else { // 周りが全部埋まっていたらランダムに動く


圧勝!・・・おや、フィールドに忍者がいる!?コアのバグ修正が必要です。
何か気づいたことがあれば、Issuesまで、お寄せください。

C言語版クライアントのサンプル、Windowsで動かなかったのを修正。Windowsでは標準のスタック領域が1Mbyteしかないようで、メモリ確保できずに落ちてしまうことが判明。ヒープ領域を使う malloc/free を使うよう、変更(src on GitHub)。 ただ、JSONのパースなど、もうひと手間必要なので、手っ取り早くAIプログラミングにチャレンジしたい人は、JavaScript版かJava版がオススメです。

次回、8/20(木)20:00〜に、練習試合します!
Code for KOSENSlackまでどうぞ!

福井高専未来戦略アドバイザー、「創造」を軸にものづくり人材を育成する高専。日本で唯一「アントレプレナーサポートセンター」を持つ、福井高専の新しい取り組み、創業を目指すビジネスプランコンテスト。 その一環、今日は福井高専にてアイデアソン!1年生から4年生まで、集まってくれた、やる気あふれる高専生!

課題、アイデア、データを使ってアプリづくりを繰り返そう。良いアプリができて、横展開できれば、それがイノベーション。


チーム毎に発表!聞く方は、投資家のつもりになって聞こう。

身近な課題からのアプリデザインまでやった後、発想を切り替えるヒントとして、世界中の課題が詰まったSDGsを紹介。 15分、新たな視点で、課題、アイデアを出してみて、新たな発見を感じてもらう体験。


今日をKPT(ケプト)で、ふりかえり。
最強の振り返りメソッド「KPT法」で、失敗を反省するどころか、長所も希望も見つかった話 - STUDY HACKER|これからの学びを考える、勉強法のハッキングメディア

視野が広がったところで、福井高専がある鯖江市。今年は鯖江の未来を占う重要な市長選挙。


鯖江市長選2020 / Twitter
鯖江市長選2020、候補者Twitter、リストを作ってみました。それぞれ候補者のつぶやき、見てみましょう!


鯖江市長選挙 立候補予定者 公開討論会
主催は、OCサミット実行委員会と有志の会。鯖江市の女性の投票率が低いことを問題視した女性による企画とのこと!

早速データで見てみましょう!

Code for Sabae で相談し、オープンデータ化してもらった「投票所ごとの投票者数、投票率オープンデータ」を、高校の情報I教材の延長として実装、公開。

鯖江市 女性投票率」ほか


鯖江市 女性投票率 - 男性投票率


鯖江市 合計有権者数

 みんなでつくろう、世界一持続可能なまち!

Code for Kosen、Kakomimasu project、オンラインハックデー。
コア、APIサーバーが揃ったので、サーバーを仮に立ててAIプログラムをテスト実行!


同時に手が進行する陣取りゲーム「囲みマス
2018年のボードを元に、デタラメな手を打つAI同士を対戦させた結果。

AIづくりは、何を見て、どう打つかの手順(=アルゴリズム)をプログラムにすること。

デタラメAIの戦略
1. 点数の高いマスに優先して配置する
2. 置いたエージェントは、ランダムに動く

ただ、このAI同士を対戦させると、点数の高いマスにお互い同時に置こうとしてしまって、何もエージェントを置けず引き分けになってしまうので、1の置く場所決定をランダムでゆらぎを入れました。

JavaScriptのプログラムにしたものがこちら(src on GitHub)

// デタラメに置き、デタラメに動くアルゴリズム // 8方向、上から時計回り const DIR = [[0, -1], [1, -1], [1, 0], [1, 1], [0, 1], [-1, 1], [-1, 0], [-1, -1]]; // ポイントの高い順ソート const pntall = points.map((p, idx) => { return { x: idx % w, y: Math.floor(idx / w), p: p }}); const pntsorted = pntall.sort((a, b) => b.p - a.p); // スタート時間待ち await sleep(diffTime(gameInfo.startedAtUnixTime)); for (let i = 1; i <= totalTurn; i++) { console.log("turn", i); // ランダムにずらしつつ置けるだけおく // 置いたものはランダムに8方向動かす const actions = []; const offset = util.rnd(nplayers); for (let i = 0; i < nplayers; i++) { const agent = gameInfo.players[pno].agents[i]; console.log(pno, agent); if (agent.x === -1) { const p = pntsorted[i + offset]; actions.push(new Action(i, "PUT", p.x, p.y)); } else { const [dx, dy] = DIR[util.rnd(8)]; actions.push(new Action(i, "MOVE", agent.x + dx, agent.y + dy)); } } setAction(roomid, playerid, actions); const bknext = gameInfo.nextTurnUnixTime; await sleep(diffTime(gameInfo.nextTurnUnixTime)); for (;;) { gameInfo = await getGameInfo(roomid); if (gameInfo.nextTurnUnixTime !== bknext) break; await sleep(100); } }

動く先を画面外を排除したり、高い点数を狙ったり、相手の手を見て狙い所を変えたり、戦略を練って、プログラムにしていきましょう!

手元のサーバーで試す際は、host を client_util.js の host を localhost:8880 に変更して実行してください。 apiserver、client_ai1.js x2、合計3つのコンソールで動かします。

次回も来週金曜日20時、オンラインで開催!
ご興味ある高専生は「Code for KOSEN」へどうぞ。

総務省主催の「WiCON / 高専ワイヤレスIoTコンテスト2020」の二次審査会がありました。 ハードもソフトも強い高専生ならでは。そんな高専生におなじみ電子パーツ専門店「秋月電子通商」のwebサイト。 コピペ時に、伝統の全角英数が気になります。


思いつく解決方法は3つ
1. プロキシーで変換する(HTTPなので変換可能)→ 全通信が通って重い
2. ブラウザ上で変換する(Chrome拡張)→ 特定サイトのみ適応できて軽い
3. コピーする際に変換する(Chrome拡張で可能?)→ 調査に時間かかるかも

ということで、スピード優先、2でいきます。FAXっぽいwebに続く、Chrome拡張第二弾。(src on GitHub)

Chrome拡張の設定ファイル manifest.json を用意します。

{ "name": "zen2han", "version": "1.0.0", "manifest_version": 2, "description": "zenkaku alphabets and numbers to hankaku", "content_scripts": [{ "matches": ["*://akizukidenshi.com/*"], "js": ["content.js"] }] }

matchesで適応するサイトを指定、jsで今から作成するプログラムのファイル名 content.js を指定しておきます。

const toHalf = s => { if (s === null || s === undefined) return s const ZEN = "0123456789()/−!&: abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" const HAN = "0123456789()/-!&: abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" let s2 = "" for (const c of s) { const n = ZEN.indexOf(c) if (n >= 0) { s2 += HAN.charAt(n) } else { s2 += c } } return s2 } const toHalfText = parent => { if (parent.children.length === 0) { parent.textContent = toHalf(parent.textContent); } else { for (const c of parent.children) { toHalfText(c); } } } toHalfText(document.body); document.title = toHalf(document.title);

HTMLのドキュメント構造(DOM)を再帰的に辿り、子を持たない textContent の全角英数を半角英数に変更するJavaScriptのプログラムです。 ついでに、タイトルも変換しておきましょう。

あとは chrome://extensions/ を開き、「Load unpacked」で読み込むだけ!
適応したい他のサイトがあれば、matchesをいじり、リロードしましょう。快適電子パーツブラウジングが完成です!

経産省のオープンソース、IMIコンポーネントツール全角半角統一コンポーネントなど外部ライブラリを使った変換もありですが、強力すぎるChrome拡張、セキュリティ確保のために極力依存なしでの実装がオススメです。 (Hana道場では中学生がサイバーセキュリティ入門スタート!


今年から審査委員として参加中。日本中にある高専、その地域性も審査項目の一つ。それぞれ特色あるバラエティー豊かな作品達。 採択されたテーマの仕上がりが楽しみです。残念ながら採択されなかったものも、チャンスはたくさんあります。ぜひ独自に実現する道、探りましょう。応援します!


高専ワイヤレスIoTコンテスト(WiCON) (@Kosen_WiCON) / Twitter
高専ワイヤレスIoTコンテスト、通称WiCONのタイトルロゴも決定!Twitterの運用も始まりました。 きっと来年度も開催されるので、身近な課題5GやIoTなど、ワイヤレスで解決できそうなネタ、普段から意識してみるといいですよ。

イノベーションのタネは様々な日常にあり。
視界広げていきましょう!

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