ブログ

Reactのチュートリアルを拡張しました

こんにちは。
長いこと更新をあけてしまいました。

仕事の関係でVue.jsをよく触るんですが、最近Reactにも興味が出てきまして・・・。

チュートリアルの三目並べ(https://ja.reactjs.org/tutorial/tutorial.html)を一通り実装し、課題部分も実装しました。さらに、独自にリファクタと機能追加を行いました。

また、AWSのS3、CloudFront、Route 53、ACMを使ってホスティングまで行いました。実際のページはこちら。
https://aflat.reharmonize.art/tic-tac-toe/index.html

リファクタしたのはハードコーディングになっていた勝利判定のところとボードの大きさ、プレイヤー名の取得です。

勝利判定の部分ですが、判定するラインはそれぞれボードの大きさから数学的に
・水平方向のライン
・垂直方向のライン
・斜め方向のライン
を計算することができます。

また、自分のプレイから1秒後に自動プレイするコンピューターを実装しました。
ランダムに打ちつつ、ピンチは防ぐようになっています。

実際のコードはgithubに上げています。
https://github.com/lionel36/tic-tac-toe

React、結構楽しい。

音声認識

こちらの記事を読みました。

JavaScriptで音声認識のコードが書けるんですね。
色々と使えそうだったので、試しに自分で書きつつ、少しアレンジしてみました。

https://reharmonize.art/myApplications/jsStudy/study1/index.html

ほとんど丸パクリ&CSSライブラリのbulmaで装飾と、”ありもの”ですが・・・。笑

※Google Chrome最新版のみ動作確認。
※コードはコンソールから見てください。

精度はそこそこですね。ニュースを朗読してみたら、9割くらいは起こせてました。

音量のスレッショルドもあるのか、後ろで流してる動画の音は拾わなかったです。

拾った言葉をp5.jsでグラフィック化するとか、kintoneに入れてメモアプリにするとか・・・。上手く使えばおもしろくなりそう?

p5.js

お久しぶりです。


前回から記事の投稿が空いていますが、その間、Python〜Djangoを触ったり、scalaやProcessingなどJava系の言語を触っていました。

今、仕事ではkintoneをベースにJavaScriptやHTML、CSSを触っているのですが、やはりJavaScriptの勉強を進めることが大事だなと思い、散々他の言語に浮気した後、なんやかんやとJavaScriptに帰ってきました。

今はグラフィックデザインに興味を持ち、タイトルにもある「p5.js」を触ってみています。(詳細説明は諸先輩方のエントリーに任せます。)

特に「The Nature of Code」というサイト(https://natureofcode.com/)を参考にして、自然現象をJavaScriptで記述することにハマっています。

頑張ると、某映画のランタンを空に飛ばすシーンなんかも作れるみたいですね。

とりあえず惑星の動きまで進めてみました。
https://reharmonize.art/myApplications/p5Study/study1/index.html

もう少し頑張ってみようと思います。


では。

SQLへの画像のアップロードでつまずく

かなりつまずいています。

<html>
<head>
<meta charset="utf-8" />
<title>入力フォーム</title>
</head>
<body>
<div>
<form action="add.php" method="POST" accept-charset="utf-8">
<p><input type="hidden" name="MAX_FILE_SIZE" value="30000" />
<p>写真: <input type="file" name="file" />
<p>タイトル: <input type="text" name="title" />
<p>説明: <input type="text" name="description" />
<p><input type="submit" value="送信" />
</form>
</div>
</body>
</html>

のフォームに、

<?php
// データーベースへ接続
$db = new mysqli('(url)','(username)', '(password)', '(databasename)');
// SQL文を登録
$state = $db->prepare('INSERT INTO `(tablename)` (`(key1)`,`(key2)`,`(key3)`,`(key4)`) VALUES (?, ?, ?, ?);');

// フォームで設定されたデータを変数に一度保存
$user_key = 1;
$file = $_FILES['file']['tmp_name'];
$photo = file_get_contents ( $file );
$title = $_POST['title'];
$description = $_POST['description'];

// ?の部分を置き換える値を指定する
$state->bind_param('isss', $user_key, $photo, $title, $description);

// SQL文実行
$state->execute();

// データベースとの接続を切断
$state->close();
$db->close();

// index.phpへ遷移
header('Location: index.php');
?>

で扱っているんだけど、画像データがうまく登録されない。

バイナリデータへの変換が間違っているのかな・・・?

もう少し勉強が必要そう。

SQLとの連携に挑戦中

こんばんは。lionです。

 

電卓アプリの小数点機能が整ってきたので、

野望の第一歩、 SQLとの連携に挑戦してみました。

(ページはこちら

 

追加フォームからユーザー名とパスワードを登録すると、

このページに一覧が出るという恐ろしい機能です。

先人の知識をコピペしただけですが、なんとなく仕組みはわかりました。

 

次はこれを応用して、ユーザーごとのページを表示するWebアプリを作ろう。

電卓アプリを作りはじめました

Webアプリケーション開発の練習で、電卓アプリを作りはじめました。

(ページはこちら)

 

HTMLで枠を組みつつ、ボタンにid・クラス名をつけてCSSで装飾と、JavaScriptを使って普通の計算まで。

あとは小数点の計算なんですが、ここで苦戦しています。

 

どうやったら小数の入力とかデリートができるんだ・・・?

 

とりあえずデザイン力が皆無なので、もう少し見た目も整えながら格闘します。

 

次はlocalStrageを使ってメモリ機能をつけたいなぁ。

 

目指すはコード譜作成登録アプリの開発。

 

 

がんばります。

ホームページを立ち上げました

はじめまして。lionです。

普段は北関東の某所でアプリケーション開発のプロジェクトリーダーをしています。

 

いつもはサイボウズのkintoneというサービスをベースに開発をしているのですが、

ふとオリジナルのWebアプリケーションを作ってみたくなり、

なるべく馴染みのある HTML、CSS、JavaScriptで書きつつ、

「せっかくならホームページも作ってしまえ!」と、

気がついたらドメイン取得からサーバーレンタルから、

ついにはWordPressも見よう見まねでやってしまいました。

 

基本的にはWebアプリケーションを作りながら、

趣味の音楽に関する話や、日常のどうでもいいことを思いつくままに書きたいと思っています。

 

ちなみに、「Reharmonize」は「新しい響きを加える」「再び調和する」という意味で、

既存のものを組み合わせて新しい何かができたらいいなぁと思って名付けました。

 

仕事の合間に更新するので、どのくらいのスピードで進められるかわかりませんが、

めんどくさくならない程度にやっていきます。

 

 

よろしくお願いします。