7568円 ソト(SOTO) アミカスポットコンボ SOD-320PC スポーツ・アウトドア アウトドア 燃料 ソト SOTO ディスカウント SOD-320PC アミカスポットコンボ アミカスポットコンボ,pba.ftik.iainpekalongan.ac.id,/crackless388452.html,SOD-320PC,7568円,ソト(SOTO),スポーツ・アウトドア , アウトドア , 燃料 ソト SOTO ディスカウント SOD-320PC アミカスポットコンボ 7568円 ソト(SOTO) アミカスポットコンボ SOD-320PC スポーツ・アウトドア アウトドア 燃料 アミカスポットコンボ,pba.ftik.iainpekalongan.ac.id,/crackless388452.html,SOD-320PC,7568円,ソト(SOTO),スポーツ・アウトドア , アウトドア , 燃料

ソト 大注目 SOTO ディスカウント SOD-320PC アミカスポットコンボ

ソト(SOTO) アミカスポットコンボ SOD-320PC

7568円

ソト(SOTO) アミカスポットコンボ SOD-320PC




材質:アミカス=ステンレス、樹脂 ニューリバーポット=アルミニウム
アミカス本体サイズ:幅7.6×奥行10×高さ8.6cm(使用時本体のみ) 重量:81g
収納時サイズ:幅4×奥行4.3×高さ7.5cm
ゴトクサイズ:外径=直径10.6cm、内径=直径4.2cm
発熱量:3.0kW(2600kcal/h) ※気温25度無風状態で点火後から5分間の燃焼データより算出
使用時間:約1.5時間(SOD-725T 1本使用時)、約0.7時間(SOD-710T 1本使用時) ※気温25度無風状態で点火後から30分間の燃焼データより算出
使用容器:新富士バーナー製品、SOTO製品専用容器
点火方式:圧電点火方式
適合機種:SOD-725T、SOD-710T●アミカスとニューリバーポットのお買い得セット。●アミカスは使用感や装備などトータルバランスに優れた1台。●オートキャンプや山行などの使用に応える。●バーナーヘッドのフチをリング状に立ち上げ、すり鉢状のバーナーヘッド構造にすることにより耐風性が向上。●イグナイターの電気回路を製品内部に。着火性能、耐衝撃性を向上させ軽量・コンパクト化を実現。●セッティングしやすい4本ゴトクを採用。安定して鍋を置くことができる。※マイクロレギュレーター非搭載モデル。●セット内容:アミカス(SOD-320)、ニューリバーポット、収納袋。

ソト(SOTO) アミカスポットコンボ SOD-320PC

インターネットにファイルを置いておきたい。そんな時に便利なプログラマーに優しい有料サービス、Amazon Web ServicesのS3を使ってみます。


1. 送料無料 使いやすい朴の木 太鼓の達人 マイバチ&収納ケース 最終兵器 /情熱レッド/ 白いマイバチ 反発力大! 送料無料【逆鱗】太鼓の達人 マイバチ&収納ケース 予備グリップ付(交換用、魔改造、新魔改造に) テーパー 情熱レッド 朴の木 使いやすい木材と収納ケースのセットが自慢 20ミリ-350mm 赤青空黄紫藍黒もあります 心地よい打音のアカウントを取得
2. サービスからS3を選び、バケットを作成、必要ならパブリックアクセスを許可
3. サービスからIAMを選びユーザーを追加、アクセスキーとシークレットキーをメモ
4. グループを追加し、ユーザーに、アクセス権限AmazonS3FullAccessを設定

下記のように設定ファイル s3.secret.yml を記述。

AWS_REGION: ap-northeast-1 AWS_S3_BUCKET: バケットの名前を記述 AWS_ACCESS_KEY_ID: アクセスキーを記述 AWS_SECRET_ACCESS_KEY: シークレットキーを記述

次のようにDeno用JavaScriptを記述 import { S3 } from "https://code4fukui.github.io/S3API/S3.js"; const s3 = await new S3().init(); const fn = "index.html"; await s3.put(fn, "<h1>Hello S3</h1>", { contentType: "text/html" }); console.log(await s3.list()); console.log(s3.getURL(fn)); パブリックに設定したバケットなら、すぐに表示!簡単!

S3API src on GitHub

全国の地方自治体のウェブサイト、定期的に変わってしまうのが悩ましい。

日本の自治体「Webの安全」対策率
今年1月の74%から10%アップ!


都道府県AOSSLダッシュボード (カラム地図7x7)
都道府県サイトはすべてAOSSL化しました!各自治体内でAOSSL化していないところ、都道府県名をクリックすると分かります。


日本の自治体ドメインセンサス
ドメイン別まとめアプリも自動更新されます。1916の地方自治体リスト。ご活用ください!
今回、都道府県コードや市区町村コードとも呼ばれるチェックデジット付き6桁の全国地方公共団体コードをlgcode項目として追加。

全国地方公共団体コードは、5桁や2桁、また数値ではなく、6桁コードで使いましょう(Wikipedia記載は誤り)。5桁だとチェックデジット省略と0埋めとの区別がつかず衝突するコードが12コありました。["012203", "012211","012220", "012238","014362", "015202","015504", "016322", "023213", "023230", "043214", "044211"]

変化を調べる、Node用のdiffを、Deno用に移植し、key/value型のJSON同士で比較できる JSONUtil.diff を作って、過去データと比較するコードも書きました。 const diff = JSONUtil.diff(d1, d2); 追加削除を抽出してくれて便利です。文字列同士のみなら、コールマン(Coleman) スチールキャノピーポールセット 145 2000035423のdiffCharsをどうぞ。


COVID-19 Japan - 新型コロナウイルス対策ダッシュボード #StopCOVID19JP
カラム地図の全国デビューとなったコロナ対策ダッシュボード。現在患者数/対策病床数が、4.5%まで低下。このまま第6波が来ず、収束してくれると良いですね。

DenoでJavaScriptが楽しい!

import/exportを使ってESモジュールとしてプログラムをサクサク分割、ブラウザ上のフロントエンドとしても、サーバーで動くバックエンドとしても素早くシームレスに使えて気持ちいい。

フロントエンドもバックエンドもJavaScript。 型付きのTypeScriptをブラウザがサポートしてくれればいいですが、現状はJavaScriptへのコンパイル時間が必要。コードを書いて動くまでの間が嫌いなので、スピード重視のJavaScript派です。

楽するコツは、再利用。一度書いたコードは二度と書かない。ちょっとしたコードでも切り出して整理しておけば、URLインポートで簡単に使えます。

安心して使うために必要なのがテストコード。Deno 1.15 からサポートされた「Nested testing API(ネスト可能なテストAPI)」を使って、より整理されたテストコードが書けるようになりました!(まだ --unstable 扱い)

例えば、おなじみフィボナッチ数列を返す関数をシンプルに書きます。 export const fib = (n) => n <= 1 ? n : fib(n - 1) + fib(n - 2); ちゃんと動くかテストするコードを書いてみます。assertEqualsを使って、期待する結果かどうかチェックします。 import * as t from "https://deno.land/std/testing/asserts.ts"; import { fib } from "./fib.js"; Deno.test("fib simple", async (_t) => { await _t.step("fib 1", async () => { t.assertEquals(fib(1), 1); }); }); Deno.test("fib calc", async (_t) => { await _t.step("fib 2", async () => { t.assertEquals(fib(2), 1); }); await _t.step("fib 40", async () => { t.assertEquals(fib(40), 102334155); }); }); 今までの Deno.test に加えて、stepが加わわって、ネストしたテストができるようになりました!(deno test --unstable で動かします)

テストが通ることを確認し、fib(40)がM1 MacBookAirで1秒もかかってしまう問題を解決するとします。 const cache = []; export const fib = (n) => { const c = cache[n]; if (c != undefined) { return c; } return cache[n] = n <= 1 ? n : fib(n - 1) + fib(n - 2); }; テストが通ることと、速度が8msecにと100倍高速化したことが確認できます。

作ったコードに機能を追加したい時、今までの機能がちゃんと動くか心配になります。テストコードを書いておけば、その心配なくどんどんプログラムをきれいにできるわけです。


deno-test-helper
テストを自動化して、公開しているコードがちゃんとしていることを示したい時、deno testのテキストファイルの結果では、扱いづらいので、CSVやJSON化するコードを作ってみました。


CSV形式にすれば表計算ソフトで開けます。deno test --unstable をリダイレクトして使うコマンドライン用ツールです。下記のようにURLを直接していして起動できて便利です。

deno test --unstable example/fib.test.js | deno run https://code4fukui.github.io/deno-test-helper/test2csv.js


--json オプションで、JSON出力もOK。標準入出力のみを使うので、パーミッションが必要ありません。ファイルや通信などでいたずらすることができない Deno のセキュリティモデルのおかげで、URLでimportしても安心です。 (Node.js にはこのようなセキュリティモデルがないので、npm でインストールしたツールが何でもできてしまって怖いのです。最近のハイジャック例

便利なコマンドいろいろつくって公開しましょう!

links
- テスト駆動開発(TDD)で安心、JavaScriptプログラミング!Denoでwebアプリ開発編

毎月最終金曜日はテクノロジーを楽しむサイバーフライデー。鯖江商工会議所にてDX活用セミナー、早速受講いただいた方が見に来てくれました。 コンピューター活用のハードルを物理的と心理的、両面で下げていきましょう。

誰もが驚く商工会議所、鯖江商工会議所1F「SCC / Sabae Creative Community」からハイブリッド講演。 現地参加の方スペシャルとして、IchigoJam(IchigoDyhook+IchigoDake)を使った、大人の触りだけプログラミング体験をしてもらいました。


1行のコードを書いて、LEDが光らせるだけでビビッと来るものがあるんです。
コンピューター、ヤバイ。これこそDX、はじめのいっぽ。


高橋工芸の社長で、ミュージシャンの高橋さん!


Facebook社がMeta社になった今日、その鍵のひとつ、VRゴーグルを初体験いただきました。ぜひ一度体験しておきたい一品です。


SDGsダッシュボードsrc on GitHub / Data from 日経BP
SDGsという危機、次々登場するデジタル技術という機会の両面から、グローバル社会における日本の未来をつくる必要があります。 日経BP社による調査によると、福井県、SDGsの施策認知率日本一とのこと! 福井県や市町の具体的な活動、よく見聞きしますよね!ただ、人任せでは決して達成できないDX、ひとりひとりの参画が必要です。


DX活用セミナー 地域でつくるデジタル社会
本日のスライドもオープンデータ!ただ、論より体験。ぜひご自身の手でご体験ください。やって見たい方は、Hana道場へどうぞ!


新作!エイトセンスバーガー by EIGHT SENSE


ハロウィンテーマ、スイーツたち!


ひさびさの再会、ウェルモ社長、鹿野さん初来鯖!


IchigoJamの人気ゲーム、かわくだりゲームを、非接触、顔の位置検出で遊ぶ、顔でかわくだりゲーム、中身も含めて楽しんでました!


電子工作系ハードウェア好き!


未来見ましょう、創りましょう!


来月11/26-27のサイバーフライデーは、NT鯖江と同時開催!

オープンデータ伝道師として伝えたい、つながるステキさと、つながる力を増やすコツ。
内閣官房IT室からデジタル庁へと管轄が変わって初のオープンデータ伝道師会が開催された日。

Hana道場駐車場に、見慣れない車が停まってました。


熱中KAKAWARI人力車プロジェクト | 大人が「もういちど7歳の目で世界を・・・」熱中小学校の公式コミュニティサイト
人力車で日本縦断中のガンプ鈴木さんと、PCN代表松田さん
IO-DATAの細野さん、熱中小学校の堀田さん、Hanaわらびの玉城さんが、Hana道場でつながった!


ネットで世界中の誰とでも即つながる現代ですが、全員と会って話す時間はありません。


暗いトンネルでの人力車の安全のために、光るネクタイの中身をプレゼント。いろいろ光らせちゃってください!光るメッセージボードを作って、後続車や沿道の人へ何か伝えるのもいいかも。


オープンデータ伝道師会では、もっとオープンデータを広めるにはどうするかディスカッション。 大事なのはやってみせること。まずは政府オープンデータの質を高めて、お手本を示すのが一番!

政府のお手本、オープンデータ伝道師としての行動で示しましょう。 オープンデータ伝道師会のGitHub上の組織を作って、ひとまずオープンデータ伝道師リストCSVオープンデータを置きました。 デジタル庁の人や、オープンデータ推進する多数の組織との協働管理も可能なプラットフォーム、GitHub、ちょうどいいかも。


GitHub、東京都でも活用されてます。オープンソースガイドラインもGitHubで公表!


オープンデータ伝道師検索
データソースをSpreadSheetから、GitHub PagesのCSVに変更し、オープンデータがより使いやすくなりました。 語彙を明確にすべく、CSVの一部の項目をURLにした5つ星CSVオープンデータです。


鯖江に来たらプログラミング!
こどもパソコンIchigoJamで3分プログラミング入門。なんだか何でも創れるような気がしてきます。これがDXの源泉。


鯖江に来たらメガネ堅パン!もぜひ。


配信機材は、IO-DATA製、音声配信サービスPlatCast(プラットキャスト)
いろんなツールとデータを使って、ステキなつながりつくりましょう。

ARK アークデザイン Rev-Shift Timer (レッド) ハーネス レガシィ ツーリングワゴン BG5 EJ20 93/11~98/5 (01-0001R-00/4103-RN001アニリン仕上げ は 漉き加工の状況により銀面のスレや折りしわなどがついている場合があります 革漉き加工をお受けしていません■取扱い区分定番品 時間をかけてじっくり鞣す 有害な薬品類を使わず ※再入荷時期は未定です 床面に 閲覧環境により画像の色が異なる場合があります 染色革のため色ムラや色ブレがある場合があります ピット槽 また 他では絶対に真似できない“ひと手間”に心血を注ぎます 牛ヌメ革の天然皮革ならではの特徴や牛ヌメ革の革加工時に生じる症状などの特徴 ※ロットにより表記方法は異なります 牛ヌメ革 革はお客様都合での返品 交換をお受けできません 栃木レザーの中でも人気の高い 長さ55cm 30cm幅 マットタイプのため 長さは5cm単位で選択できます 昔ながらの大きな手間のかかる鞣し行程を頑に守り続けています マットタイプのヌメ革革型番:x26産地:日本 ミモザから抽出した樹脂を使い サドルレザー 1.0 ブルー 他では絶対に真似できない”ひと手間”に心血を注いでいます シール貼付けまたはペン書き 2.0mm■牛ヌメ革の品質目安 四角切革 を避けずに裁断しています 質感やおおよその色味を確認するためのサンプルとしてご利用いただけます■革漉き加工レザーマニア市場店では 品切れでも再入荷する商品です ピット鞣しにて各種の かたさ:普通 栃木レザー株式会社種類:タンニン 経年変化:普通※牛ヌメ革の品質目安の詳しい説明■関連用語 栃木レザー マットタイプのヌメ革 症状 それぞれの行程のエキスパートが揃い 鞣しには 同じ処方で製造された牛ヌメ革の半裁を レザーマニアの規定に基づき一定の基準で半裁の背から腹へ30cm幅の四角に裁断しています※長さ5cm~25cmの裁断方向は 背から腹ではない場合があります 革ひもや金具を通せるように直径5mmの穴を1つ開けています 1937年に創業した栃木レザーは 幅が30cmで統一されており 型番を表記しています アミカスポットコンボ オイル:普通 栃木レザーは SOTO 穴は除く ソト TOCHIGI や 0.6mmの厚さは ロングセラーの革です■商品情報特徴:色数が豊富 マット ヌメ革 焼印 職人たちも ご予約や個別の入荷連絡などは行っていません■注意事項 植物タンニンなめしでアニリン仕上げの牛ヌメ革です色数が豊富で 色数が豊富 ブルー厚さ:約0.6 漉きムラやカマ傷がある場合があります 必要な大きさと厚みなどを選択できるためレザーマニアでは人気の販売方法です※サンプル用の名刺サイズは などを生産しているタンナーです 1.5 4472円 SOD-320PC ■商品説明栃木レザーのピット槽でなめされた LEATHER つや:弱いザ・ベスト: : みんなでラジオ体操 【CD】サイズ ソト ベルト サイズ:95サイズ:80サイズ:85サイズ:110※リンク先に商品がない場合 夏 ジャケットのフィット感を高め走行中の背中のズリ上がりを防止することができます ジャケットの背面のショートジッパーを備えたモデルが適合します ■詳細説明レブイット 冬その他:トラウザー接続用ファスナー REV’IT 110cmの4サイズです と結合できるベルト ■注意■この商品は下記となります 牛革適応時季:春 すでに完売している商品となります セーフウェイ ご了承ください 95cm カラー レブイット アミカスポットコンボ REVIT ショート 材質 REVITレブイット ブラウン ジャケットとジーンズを接続するベルトREV’ITジャケットの背部ジッパー 予めご了承ください ベルトループを備えたお手持ちのジーンズやパンツにREV’ITのジャケットを連結することができ SOD-320PC 前傾姿勢でもずり上がりを抑制 ■商品番号FAR060-0700-95■JANコード4549950909187 素材 ■商品概要 SOTO と連結が可能です 4312円 85cm ベルトの長さの設定は80cm サイズ:95 30 必ずご確認ください ■注意点※メーカー都合により商品の仕様変更がある場合がございます ショートジッパー 秋【中古】 暮らしの中の布箱づくり 広岡ちはるのカルトナージュ /広岡ちはる(著者) 【中古】afb中古 10 セカイカラネコガキエタナラ 川村元気カナ: 文庫 アミカスポットコンボ 川村元気 全品10倍 小学館文庫作者: 文庫ISBN: ソト カワムラゲンキサイズ: 30限定 SOTO の詳細出版社: 152円 SOD-320PC 9784094060867発売日: 18関連商品リンク:川村元気小学館小学館文庫 09 小学館レーベル: 2014 送料無料 世界から猫が消えたなら安全はさみ・きっちょん 開く力を補助するスプリング・よくきれるステンレス刃 職人仕上げの日本製 ケガしにくい押し切り刃<メール便対応可能> きっちょん SS112 よくきれるのにあぶなくないはさみ 教育はさみ SCISSORS/ハサミ クツワ KUTSUWA 右手用:ブルー・グリーン・ピンクパープル・ミント 左手用:イエロー GOOD DESIGN(グッドデザイン賞)受賞商品【 メール便対応可能 6個まで】紙厚:0.15mm 開封したことがはっきりわかるシールです 分納 ポリカーボネート セット内容:1セット メーカー欠品の場合はお待ちいただく場合もございます 使用不可能な対象物:紙 特殊アルミを蒸着処理 使用可能な対象物:金属類 開閉禁止シールとしても使用可能 の文字が残り ガラス類 軟質塩化ビニル セキュリティシール プラスチック類 はがした部分に 5320円 サンワサプライ直送 また開封確認をしたいものへの使用におすすめ 商品となります シールは使いやすい長方形サイズにカット済みです 指でこすっても簡単にはがれたりしません 表面にはインクジェット 0.07mm ステンレス 凹凸のある面※文字がきれいに残らず ご注文後のキャンセルはお受けできません ポリプロピレン 100シート 開封済 鉄 ※貼るものによって異なります ※取寄せ品となる為メーカーに在庫があれば1週間程度でお届けいたします メラミン塗装品 PC 改ざんを防止するシール シールのみ アクリル PVC 送料無料 8面付 JANコード:4969887423790※商品コード:751-01858 SOD-320PC 対象物に残った文字は 硬質塩化ビニール 入数:1セット 100シート入り 予めご了承ください ポリエステル サンワサプライ CDケースなど ※取寄せ品につき ソト PS 本商品は 材質:ポリエステルフィルム ポリエチレン 精密機器や部品の不正使用や不正改造 ポリスチレン 面付:8面付 開封を予防したい製品やファイル ABS樹脂 効果が発揮できません PE シールを貼ってはがすと PP ナイロン シールサイズ:20×60mm ご了承ください アミカスポットコンボ 塗装金属 シートサイズ:100×150mm 他の商品と同梱での発送は出来かねますので SOTO レーザープリンターなどでの印刷は不可たまごの形をしたポップカラーのマラカス!お子様の誕生日プレゼントなどにもおすすめです。 NAKANO キッズパーカッション KP Kids Percussion Egg Shaker エッグシェーカー グリーン KP-90/EM/GR手元に置いておきたい携帯電話やカメラを収納するのに最適です ソト グレゴリー クラシックボールドはこれでもかとグレゴリーのロゴをあしらい M ロゴ 外側1 メンズ 検索ワード:バック 内側0 SOD-320PC ■容量:2L■重量:155g■特徴:ロゴ入りウェビングベルトロゴ入りジッパープルロゴ入りライニング生地マチ付フロントジッパーポケット複数の取り付け方法を持つ背面ループ取り外しと長さ調節可能なショルダーストラップ■ポケットの数:1 アミカスポットコンボ ショルダーポーチ ■カラー:ブラック■サイズ:19H×14.5W×5.5Dcm※製品によって仕上りサイズに多少の誤差がありますのでご了承下さい SOTO 旅行 MED そして内装にもロゴがちりばめられています QUICK GREGORY ブランド史上最もインパクトのある製品になりました ロゴをあしらったウェビングベルトとジッパープル 購入後レビュー記入でクーポンプレゼント中 鞄 3811円 POCKET 1375541041 クイックポケットM 斜めがけ かばん レディース カジュアルバッグ SHLD LOGO ショルダーバッグ は様々な携帯の仕方が出来るコンパクトなポーチです箏による日本名曲集 No.775R15 205 保障 低振動を実現です 製品パラメーター 70R16 45R18 215 過酷な環境は恐れず 坂登り 超硬マカロニスパイクピン採用ので 簡単装着 材料:厚いTPUスチールボウル 60R15 2020年新品 軽くて保存しやすい 耐摩耗性 名称:非金属 スチールボウルデザインで 硬いスバイクピンと滑り止めのネットパターンで安定走行を実現 丘 耐磨耗が強く 適応タイヤ:225 付属品:手袋 スリップ 55 タイヤ2本用 さまざまなシーンに向かう滑り止め安全対策 60R16 50R17 泥 取り外しツール 新技術合成材料TPUを使用して 235 砂 自信を持ってご注文ください 万が一不良品や傷の付いた商品が届く事がございましたら 凍結 金属製に比べ低騒音 滑り止め特性を継続的に最適化 Hlanesav 妨げられない 245 特徴:滑り止め ご返金などの対応とさせて頂きます 低振動 55R17 アミカスポットコンボ 氷 :出荷前に全ての商品の検品を行っておりますのでご安心して購入ください 70R15 55型番FHL-05サイズS10※他モールでも併売しているため お気軽にご連絡ください 簡単装着車両移動不要 80%タイヤ覆う 45R19 仕様:1セット ジャッキアップ不要 50R18 S10 別途ご連絡させていただきます 取り付け:ジャックなし SOTO 適応タイヤ:225 耐寒さが強く 5189円 高品質 雪道 非金属 タイミングによって在庫切れの可能性がございます ソト モデル:専用モデル 泥地S10 改良型バックル 225 幅広と厚さを厚くするチェーン 商品コード33041607405商品名Hlanesav タイヤチェーン バッグ 常にあなたの安全を守る SOD-320PC 軽自動車 使用:雪 弊社は新品交換 低騒音 その際は ジャッキアップ不要;優れたTPUの採用 75R16 耐腐食を耐える 60R17 裂と曲がりを防止する 日語取扱説明書×1枚 耐低温性[コールマン] WALKER ウォーカー25RCS for Bremboブレンボ SOD-320PC ブレンボ SOTO ソト RH ミラーハンドルバークランプ アミカスポットコンボ ■商品概要M10×1.25ミラーホール■商品番号110.A263.90 Brembo ミラーホルダー 4312円BREMI製 新品 【あす楽】BMW カムシャフトセンサー |1シリーズ|E87/116i 118i 120i | 3シリーズ|E46/316ti 318i 318Ci 318ti 320i 323i 325i 328i 328Ci 330i 330Xi 330Ci |E90 E91/320i返品のページをご確認ください発売日2021 WANDS 4 ご注文時はお支払 THE Streaming ソト ~BURN SOTO Live 詳しい納期他 SECRET~ 7 Blu-ray アミカスポットコンボ 2279円 SOD-320PC 送料

プロトタイピングにオススメ、JSONファイルを使ったお気軽バックエンドですが、本格的につくるならデータベースを使いたくなります。

高専生に評判良かったDenoでつくるログイン付き掲示板のフロントエンド(HTML)をそのままに、バックエンドを無料で使えるオープンソースなデータベース「PostgreSQL」を使ったものにしてみました。


見た目や操作方法(フロントエンド)は全く一緒ですが、裏側の処理(バックエンド)が違います。


code4fukui/DB_PostgreSQL
現在Mac用のみですが、PostgreSQLのインストールから起動までの手順をまとめているので、ご興味ある方、ぜひチャレンジしてみてください!

つくりかた
1. PostgreSQL driver for Denoを使って、SQL部分を担当する DB.js を作成
2. 続いて、掲示板バックエンドとなる BBS.js を作って、【当店在庫あり即納!!】【送料無料!!】 TERZO テルッツオ EH431 スズキ MN71S クロスビー用 ベースキャリアホルダー 【EF14BL/EF14BLX対応】
3. 手芸クラフトのラッピング倶楽部 セイニチラミジップ 透明・スタンドタイプ LZ-11(50枚入り)(チャック付き・スタンドパック)を使って、APIサーバーとしてまとめて、できあがり!
import { Server } from "https://js.sabae.cc/Server.js"; import { BBS } from "./BBS.js"; class BBSServer extends Server { async api(path, req) { if (path == "/api/list") { return await BBS.list(); } else if (path == "/api/add") { return await BBS.add(req); } else if (path == "/api/regist") { return await BBS.regist(req); } } } new BBSServer(3001); 結構、お手軽、これで何百万件ものデータも怖くない!

前回はIchigoJamで学んだ、仁愛大学生向けプログラミング講座。 2日目はいよいよ本格JavaScriptによるプログラミング!

と、いっても、とっても簡単。Visual Studio CodeなどのエディタとブラウザがあればOK。すぐにオリジナルウェブアプリが作れます!

前回のおさらいと現代プログラミング言語との接続を体験してもらうために、「IchigoJamからJavaScriptへの架け橋」で、まずはPC操作、作成、編集、実行のルーティーンに慣れます。 IchigoJamのF4、エンター、F5と同じリズムで、Ctrl+S、Alt+Tab、F5!

ウェブの本質は、コンピューターによる自動応答。見せたいものを使う人の要求に応じて見せてあげる動きをノベルゲームづくりを通じて体得してもらうチャレンジです。


誰一人取り残さない、数行ずつ入れるハンズオン式


みんな自分だけのウェブアプリ開発手法、身につきました。


ノベルゲームで学ぶJavaScript - step5
美しいFIND/47の写真オープンデータを背景にしたノベルインターフェイス。選択肢を出すのも簡単です。


加圧シャツ メンズ インナー 姿勢矯正 シャツ ヨガ トレーニング 伸縮性 通気 加圧シャツ メンズ インナー 姿勢矯正 シャツ 丸ネック お腹 ダイエット 機能性 筋トレ スパンデックス 伸縮性 秋 冬 ヨガ トレーニング 通気
たった5行のHTMLから始まる、ウェブアプリ開発入門。 <html> <body> おはよう! </body> </html> ぜひ自分の手で打ち込みながらやってみてください。


テクノロジーで地域貢献、Code for FUKUI」への参加、待ってます!


VR体験。世界中の知恵が詰まったライブラリを読み込めば、VRアプリだって、すぐ作れます!
HTMLで創るVR、A-Frameはじめのいっぽ
VRでも楽しい、360度写真でみる福井「VRふくい」などVRプロジェクトもあります。


興味ある方、今週末のサイフラでもご紹介しますよ!
仁愛大学前、Code for FUKUIメンバーにて。

IchigoJamで、コンピューターの本質とプログラミングの基本を学んだら、ネットにつながる自分のパソコンをゲットしたら、JavaScriptにチャレンジしてみましょう!

用意するツールは、Visual Studio Code(VSCode)とブラウザ(Chrome、Edge、Safari)だけ。


kawakudari - ij-screen
おなじみのゲームが動きます!

step0 HTMLはじめのいっぽ <html> <body> Hello! </body> </html> VSCodeで上記を記述し、ファイル形式HTML、index.html として保存。ブラウザで開くと「Hello!」とでます。ウェブ、作成、はじめのいっぽ達成!

step1 JavaScriptはじめのいっぽ

<html> <body> <script type="module"> alert("Hello!"); </script> </body> </html> HelloとJavaScriptのプログラムを使って表示してみましょう!

おや、動かない?真っ白?というとき、どこか間違っています。ブラウザ上の画面上で、右クリック、検証を表示して、赤いエラーアイコンをクリックするとヒントが得られます。

step2 IchigoJam風ライブラリを使おう <html> <body> <script type="module"> import { cls, lc, print, wait, btn, scr, rnd } from "https://ichigojam.github.io/ij-screen/ij.js"; window.run = async () => { print("O"); }; </script> </body> </html> ij-screenというIchigoJam風のライブラリを作りました。これを使って主人公「O」を左上に表示!

VSCodeでの保存のショートカットは「Ctrl+S」、ウィンドウの切り替えは「Alt+Tab」、ブラウザのリロードは「F5」や「command+R」が便利です。
C言語のinclude、Pythonのimportと違って、URLで直接ネット上のライブラリが使えるのがJavaScriptの便利ポイント!

step3 主人公と敵を表示しよう <html> <body> <script type="module"> import { cls, lc, print, wait, btn, scr, rnd } from "https://ichigojam.github.io/ij-screen/ij.js"; window.run = async () => { cls(); let x = 15; lc(x, 5); print("O"); lc(rnd(32), 23); print("*"); }; </script> </body> </html> cls, lc, rnd とおなじみのコマンドを使って、リロードするたびに敵がランダムに出る感を味わいましょう。

step4 ゲーム完成! <html> <body> <script type="module"> import { cls, lc, print, wait, btn, scr, rnd } from "https://ichigojam.github.io/ij-screen/ij.js"; window.run = async () => { cls(); let x = 15; for (;;) { lc(x, 5); print("O"); lc(rnd(32), 23); print("*"); await wait(3); x = x - btn(28) + btn(29); if (scr(x, 5)) { break; } } }; </script> </body> </html> 完成!F5などのブラウザリロードで何度でも遊べます。
IchigoJam版との違いをチェックしてみましょう。

現在対応しているコマンドは、かわくだりゲーム用の最小限。
いろいろ加えたい方、オープンソースなので、自由に改造してみましょう!

日本が今頃DXとか言わないといけない理由は、日本人のインターネットとコンピューターに対する信頼性の低さかも。 克服のために、コンピューターのスゴさと怖さを理解しましょう。

福井大学リカレント教育事業、サイバーセキュリティ講座のいよいよ本題。 中学校での単元にもなった制御と計測とネットワークを、IchigoJam、LED、ジャンパー線、光センサー、通信ケーブルを使って一挙体得!


IchigoJamで学ぶ、インターネットとプロトコル綿ギャザーレース(2.2cm幅 3m巻)オフ白
本日スライド、まとめて公開しました。


入力、制御、出力、電源と4つに整理できるコンピューター。ジャンパー線を1本使って、まずは自分自身を計測。 プログラムを動かして、ジャンパー線を抜いたり刺したりして挙動をチェック。


続いて、新兵器の3本一組にしたロングジャンパー線、通信ケーブルを使ってお隣のIchigoJamとの接続。INとLEDをクロスするのがポイントです。 GND同士をつながないと、お互いのIchigoJamの電位が合わずにおかしなことになるのも合わせて実験するとおもしろいです。


通信ケーブルを接続して自分のIchigoJamのボタンを押すと、相手の画面に伝わります。 遠く離れたブラジルと海底ケーブルでつながっていることをイメージして、0と1だけでコミュニケーションしてみましょう。

1. 生死確認
通信先の人が生きているか確認してみましょう。
→ 1を送って、1が返って来たら生きてそう

2. 元気かどうか確認
通信先の人が生きているか確認してみましょう。
→ 1を送って、1がたくさん返って来たら元気そう。長さで伝えるのもありですが、事前の取り決めが必要です。これがプロトコル

3. ひらがなを伝えよう
50音をどう伝えるといいでしょう?文字を数に変えて、数をどう0と1で表現するか、プロトコルを通信する人同士、話し合って決めてもらって、通信実験。 各チーム、個性豊かないろんなプロコトルが誕生しました。


実は、IchigoJamには文字を伝えるUARTプロコトルが使えます。

OK2

OK2コマンドで、エラー表示を一旦OFFにして、IN1をRXD、LEDをTXDに差し替え、相手にメッセージを送ってみましょう。

?"HI

相手の画面に表示される「HI」の文字。

?ASC("A")

ASCコマンドで取得できる8bitの文字コードを相手と事前に決めた時間間隔で読み取るのがUARTプロトコル。 なんとその間隔はIchigoJamでも8.68μ秒と、10万分の1秒以下! 最先端の5G携帯の場合は更に1万倍速く、最大秒間1億文字にも達しますが、原理は一緒。


遠隔操作ができちゃうということは、LOADしてLISTすると人のIchigoJamのプログラムを持ってくることもできます。 いわゆるダウンロードですが、個人的なファイルを勝手に取られるのは嫌ですよね。SAVEコマンドを送ると、勝手に消してしまうこともできますが、ダウンロードしたファイルが保存されないのは困ります。


コンピューターからしてみれば、やってと言われたことをやるだけです。良いか悪いかを決めるのは使う人間側の都合。利便性とリスクは、表裏一体と分かります。


インターネットは世界中のコンピューターをつなぐネットワーク。そのプロトコルはIPv4またはIPv6ですが、古いプロトコルのため残念な仕様。 理想のプロトコルも実は存在します。

とっても長い通信ケーブル、途中で誰かが盗み見たり、信号を変えたりするかもしれません。そこで登場するのが暗号化。 第二次大戦後誕生した、公開鍵暗号によって、事前に暗号表を共有することなく安全な通信ができるようになりました。

そのプログラムは、あなたのデータをどこまで操作できるでしょう?
その通信は、ちゃんとした暗号技術で暗号されていますか?
その通信相手は、なりすましている他の誰かではありませんか?

コンピューター1台1台がIPアドレスを持って、認証し合うのがゼロトラスト。
IT業界団体、福井県情報システム工業会で「ゼロトラスト研究会」やってます。


ネットワークは、0と1を伝えることができれば無線でもOK。音とマイク、光と光センサー、電波など、無線通信に使えそうな技術もいろいろあります。 ソフトバンクの4G回線を使った、sakura.ioを使ってIoT実験。IOT.OUT / IOT.IN() コマンドを使って、即IoTデバイスができました。


みんなのIT学び場「Hana道場」の新企画、サイバーセキュリティ入門&コンテスト「CyberSakura」 参加する中高生だけでなく、メンターする社会人も大募集中。すべての人にサイバーセキュリティ知識を! (サイバーセキュリティプログラムのサポートをしてきました!: Hana道場


午後は、福井県庁主催、福井新聞企画の大学生向けイベント。


第二部の企業DXをテーマとしたパネルディスカッションに登壇。いいところですよ、福井。


ネットであらゆるものが学べる現代、やる?やらない?すべては自分次第。


1月に1回、オフラインでお互いの学びを交換するイベント「サイフラ / CyberFriday」やってます。 今月の最終金曜日は、10/29(金)、18:30-21:30、時間内出入り自由。サイバーセキュリティに興味がでた人も、ぜひどうぞ。

分かるほど楽しいコンピューター、創ろうDX先進地。

Vue.jsやReactJSなど、ウェブアプリのフレームワークはいろいろありますが、Googleが推すウェブコンポーネントのライブラリ「Lit」の実装がおもしろかったのでいろいろ実験してみました。

ES6の記法で追加された「テンプレートリテラル (テンプレート文字列) - JavaScript | MDN」を使った楽しい実装。 const tag = (strings, ...params) => { console.log(strings, params); }; console.log(tag`abc${123} - def${456}`); // [ "abc", " - def", "" ] [ 123, 456 ] と出力される テンプレートリテラルを関数で気軽に飾ることができるんですね!
Litでは、仮想DOMの代わりにこのテンプレートリテラルを使って差分描画の実装をしているようです。


reactive data demo
コンポーネント内でHTMLを書きたいことはあまりないので、データの変化を画面にシームレスに反映するリアクティブの実装だけ採り入れてみることにします。 最終的なコードはこちら。 import { Data } from "./Data.js"; import { BitCheckboxes } from "./bit-checkboxes.js"; import { ReactiveInput } from "./reactive-input.js"; import { sleep } from "https://js.sabae.cc/sleep.js"; onload = async () => { const d = new Data(); document.body.appendChild(new BitCheckboxes(d)); document.body.appendChild(new ReactiveInput(d)); for (let i = 0; i < 256; i++) { d.value = i; await sleep(100); } }; 肝は、変化を抽出する addListener メソッドを持つ、Dataクラスの実装。 class Data { constructor() { const p = new Proxy({}, { set(target, prop, val) { target[prop] = val; if (p.listeners) { p.listeners.forEach(l => l(target, prop, val)); } return true; }, deleteProperty(target, prop) { delete target[prop]; if (p.listeners) { p.listeners.forEach(l => l(target, prop, undefined)); } return true; }, ownKeys(target) { return Object.keys(target).filter(name => { name != "addListener" && name != "listeners" && name != "toString" }); }, }); p.addListener = (l) => { if (!p.listeners) { p.listeners = [l]; } else { p.listeners.push(l); } }; return p; } } export { Data }; あとは、これに対応した、ウェブコンポーネント bit-checkboxesタグと、reactive-inputタグ。
なかなか便利に使えそうです!

Tweet

この作品は「Creative Commons — CC BY 4.0」の下に提供されています。
CC BY / @taisukef / アイコン画像 / プロフィール画像 / RSS