This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* | |
Azure OpenAI SDK(@azure/openai)をCloudflare Workerで利用するとこういうエラーが出る | |
Trace: RestError: Error sending request: The 'credentials' field on 'RequestInitializerDict' is not implemented. | |
at getError (file:///private/var/folders/32/.../T/.../index.js:3407:12) | |
at FetchHttpClient.sendRequest (file:///private/var/folders/32/.../T/.../index.js:3317:13) { | |
name: RestError, | |
code: REQUEST_SEND_ERROR, | |
statusCode: undefined, | |
request: PipelineRequestImpl, |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
const textarea = document.querySelector('textarea[data-id="root"]'); | |
textarea?.addEventListener( | |
"keydown", | |
(event) => { | |
if (event.key === "Enter" && event.isComposing) { | |
event.stopPropagation(); | |
} | |
}, | |
{ capture: true } | |
); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
console.log('production-experiment-hackforplay-helpfeel.js') | |
console.log('update') |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import 'dart:typed_data'; | |
import 'package:flutter/material.dart'; | |
import 'dart:ui' as ui; | |
class IOSStatusBarBlack extends StatelessWidget { | |
IOSStatusBarBlack(); | |
@override | |
Widget build(BuildContext context) { | |
return CustomPaint(painter: IOSStatusBarBlackPainter()); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
あそべるプログラミングハックフォープレイは、プログラミングの楽しさを伝えるために、2014年に当時現役の高専生だった寺本が開発し、起業しました。 | |
その独創的なプログラムにより、これまでに1万人以上の子どもたちがプログラミングのとりこになっています。近年様々なサービスが乱立していますが、本当にプログラミングの楽しさが分かるサービスはほとんどありません。ハックフォープレイなら、本当のプログラミングの楽しさが分かります。 | |
まずは、ゲームで遊んでいただきます。でもただのゲームではありません。“プログラミングをしないとクリアできないゲーム”です。子どもたちはゲームをクリアしようとして、いつの間にかプログラミングを学んでしまうのです。 | |
クリアしてからが本番です。今度は、自分がゲームを作る側になってもらいます。ゲームを作るなんて難しそうだと思われるかも知れません。しかし、ハックフォープレイ公式 YouTuber TANI による面白くて分かりやすい解説動画や、ハックフォープレイが長年研究開発してきた専用のエディタがあるので、驚くほど簡単にゲームが作れます。 | |
よくワークショップを開くのですが、スイスイ覚えてしまうお子さんの圧倒的な吸収力に、どの親御さんも目を見張るほどです。 | |
そして、作ったゲームを公開します。ここから先はもう、子どもたちの独壇場。他の子どもが作った作品に影響されてテクニックを盗んだり(注:良い事です)、自分の作品が YouTube に取り上げられて狂喜乱舞したり、全国一斉にハックフォープレイをする「ハックフォープレイフェス」に参加してあっと驚くような作品を作り上げたりと、短期間でメキメキと成長していきます。ハックフォープレイでプログラミングの基本的な考え方を身につけたあとは、ハックフォープレイと同じ JavaScript を極めてウェブサイトを開発したり、Unity で 3D ゲーム開発に挑戦したりと、卒業後にテキストプログラミングに移行しやすいのもポイントです。 | |
ぜひ、この機会にハックフォープレイを始めてみてください! |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import '../game' | |
rule.this = 'まほうじん' | |
rule.つくられたとき(async function() { | |
await this.costume('まほうじん') // 見た目をかえる | |
/*+ つくられたとき */ | |
this.n('みえやすさ', ('▼ を', 'イコール'), 0) // とうめいになる |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
React.useEffect(() => { | |
function onChange(instance: CodeMirror.Editor) { | |
if (!definition) return; // 定義ファイルのロードが済んでいない | |
const age = ++ageRef.current; // 前回までの処理をキャンセルさせる | |
const makeWidget = makeWidgetRoutine(instance, definition, hint); | |
const widgets = [] as WidgetBase[]; | |
(function step() { | |
window.requestIdleCallback( | |
deadline => { | |
if (age !== ageRef.current) { |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import { Button, Dialog, DialogActions, DialogTitle } from '@material-ui/core'; | |
import * as React from 'react'; | |
import { Subject } from 'rxjs'; | |
export interface IConfirm { | |
title: string; | |
ok: string; | |
cancel: string; | |
resolve: (ok: boolean) => void; | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import '../game' | |
rule.this = '黒色のタマゴ' | |
rule.つくられたとき(async function() { | |
await this.costume('黒色のタマゴ') // 見た目をきめる | |
this.family = ('▼ なかま', Family.モンスター) // なかまをきめる | |
this.n('たいりょく', ('▼ を', 'イコール'), 3) // 体力をきめる | |
this.n('こうげきりょく', ('▼ を', 'イコール'), 1) // こうげき力をきめる |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import { BehaviorSubject } from 'rxjs'; | |
import { useState, useEffect } from 'react'; | |
export type LocaleKeys = 'Press any key' | 'Touch to start'; | |
export type Locale = { [key in LocaleKeys]: string }; | |
const localeMap: { | |
[locale: string]: Locale; | |
} = { | |
en: { |
NewerOlder