shonen.hateblo.jp

やったこと,しらべたことを書く.

Elo ratingを実装してみた

Elo rating とは 二人制ゲームのレーティングの算出法の1つ. Wikipedia には,次の3点を基準に設計,と記述されている. ゲームの結果は一方の勝ち、一方の負けのみとし、引き分けは考慮しない(0.5勝0.5敗と扱うものとする)。 200点のレート差がある対局…

WEBブラウザ上で生成したメロディを再生する方法(WEB Audio API)

introduction 特定のフォーマットのファイルを準備せず,音を動的に生成して再生する 通常WEBブラウザ上で音を鳴らす時は,音楽ファイル(mp3やmidiなど)を準備して,それを再生する場合が殆ど. DTMのようなものをWEBブラウザ上で作りたい場合,すべての音階…

jQueryでdata要素のキーと値を持つ要素を選択する

jQueryのdataで追加した要素にも使えます. バージョン jQuery 3.3.1 結論 data に "key"をキー"val"を値に持つ要素の色をredに変える場合. $("div") .filter((idx,elem)=>($(elem).data("key") == "val")) .css("color", "red"); 罠 Array.prototype.filte…

windowsの環境変数のPATHに書き込んだのに反映されないとき

アプリケーションを再起動する OSを再起動する 環境変数のPATHの設定を開いて,重複して追加されている項目が無いか確かめる.あれば片方消す. AppData\Local\Microsoft\WindowsApps が2つありませんか?僕はありました. 環境変数のPATHの設定を開いて,1…

某ツイートに触発されてwhitespaceを出力するコンパイラのようなものを作った

この記事は何ですか 日記です 興味を持った コンパイラを作る講習会があったらしく*1, 興味を持ったので自分でもコンパイラを書いてみた. どんなコンパイラ コンパイラから出力されるアセンブリは whitespace*2. CやらjavascriptやらRubyやらが混合した感…

C++ の継承でよく見かける virtual について

Cpp

何度も調べているので,もう自分でまとめた. 参考資料 http://www.yunabe.jp/docs/cpp_virtual_destructor.html virtual に関する実験 #include "bits/stdc++.h" using namespace std; struct A{ int x; A(int _x = 1):x(_x){ cout << "construct A : " << …

立方体の各面にテクスチャを貼る - three.js アプリ 制作メモ 1

HelloWorld(https://threejs.org/docs/index.html#manual/introduction/Creating-a-scene)の次からいきなり詰んだので記事書きました . 環境 0.95.0 from npm dom操作が苦手なので必要以上にjqueryが登場しますが,その場合はv3とします.

古いGCCのシフト演算子の評価値の拾い方が違う

Cpp

C++コンパイラ依存シリーズ 古いGCCの評価値の拾い方がおかしい. ・・・こんなコードはまず書かないだろうけれど. code #include <iostream> using namespace std; int main(){ int x = 0; auto f = [&x](){return ++x;}; cout << x << f() << f() << f() << x << en</iostream>…

(楕円)円運動っぽいアニメーションの実装

目的 divが円運動するようなアニメーションを作る. 下のgifはカクついていますが,実際のアニメーションは一応ぬるぬる動きます.

whitespace(esolang) メモのまとめ

2018/08/10 ヒープ操作追記 2018/09/06 負整数について追記 whitespaceとは esolang スタックベース 参考URL [https:;hackage.haskell.org/package/whitespace-0.4/src/docs/tutorial.html] 以下,「本家」と呼ぶものはwspace 0.3 (ideoneで試せるもの)とす…

gprof を触りだけ

Cpp

gprofとは プロファイラ. 参考 https://www.howtoforge.com/tutorial/how-to-install-and-use-profiling-tool-gprof/ 環境 paiza cloud. ~$ g++ --version g++ (Ubuntu 5.4.0-6ubuntu1~16.04.10) 5.4.0 20160609 Copyright (C) 2015 Free Software Foundat…

クエリちゃん x プロ生ちゃん 夏休み #プチプログラミング コンテスト2018 に応募しました

気軽なイベントらしいので,気軽なコード(?)を書きました(?). 夏休みプチプログラミングコンテスト2018 とは テーマ『夏休みの宿題(小学生な感じの夏休みをイメージ)』に沿った短め(長めでもOK)のコードを投稿するイベント. pronama.azurewebsites.net…

HSPで幾何モジュール - 点と線と円

HSP

目的 以下の命令を実装するよ. 直線と直線の交点を求める 直線と円の交点を求める 円と円の交点を求める 直線と点の距離を求める 点に最も近い直線上の点を求める 高校数学の最初の方の知識だけで解くことは出来ますが,面倒.

Visual Studio Code で latex 環境構築

Visual Studio Code に対するこだわりは特に無いです ひょっとしたら,足りない項目がありかもしれません.

配列とEnumerable,どちらが高速?

問題 いくつかのrubyコードに対して実行時間を計測する. require 'benchmark' # p `ruby -v` foo = (1..5050505) [ 'foo.reduce(:+)', 'foo.to_a.reduce(:+)', 'foo.to_a.reverse.reduce(:+)', 'foo.each.reduce(:+)', 'foo.each.to_a.reduce(:+)', 'foo.re…

jsonのparserを書く

2018/08/05 致命的なミスを修正しました JSONとは javascriptをベースに設計された,軽量のデータ交換フォーマット. 詳しくは,https://www.json.org/json-ja.html 目的 構文解析を頑張る.C++で書いたら型がだるかったのでRubyで書く. jsonを読み込みたい…

手抜きjson構造体をC++11かC++14辺りでざっくり書く.

Cpp

ざっくり. 2018/6/29: ソースコード一部修正,parseを追加.説明も増やした. JSONとは 気味の悪い拡張子. javascriptをベースに設計された,軽量のデータ交換フォーマット. 詳しくは,https://www.json.org/json-ja.html 仕様の省略 仕様の全てを実装す…

rubyからtelnetで接続する

別の記事を書こうとしたところ躓いてしまったので 環境 raspberrypi zero WH やりたかったこと rubyプログラムから動作中のdockerコンテナに対してコマンドを実行したい. やったこと コンテナ上でtelnetdをインストール,ホストからtelnetでアクセスしてコ…

多層ニューラルネットワークのフルスクラッチ実装(コードと検証のみ)

概要 非線形分類器も学習可能な多層ニューラルネットワークをフルスクラッチで実装した. 役に立たないだとか車輪の再発明だとか言われがちですが,やっぱり面白いですよね.

python3に慣れるための線形分類器実装に関するメモ

目的 python3に慣れるために単細胞パーセプトロンを実装します. 数式の解説等は無し. 環境 PyCharm Community Edition 2018.1 Python 3.6.5(venv) numpy 1.14.2 matplotlib 2.2.2

3軸加速度センサーのキャリブレーションを試みた(arduino)

加速度センサーとは 加速度を検知するセンサー. 加速度とは,速度の微分(変化量). 高校物理で習う方程式`F=ma`を思い出せば,物体に掛かっている力を検知するとも言えそう. 一番検知しやすいのは重力.センサーが重力の方向に対してどの程度傾いているの…

今すぐC#で機械学習を始めるための手っ取り早い手順

使うもの Windows 10 VisualStudio 2017 C# Accord

3軸加速度センサーを手に入れたので軽く触る(arduino)

加速度センサーとは 加速度を検知するセンサー. 加速度とは,速度の微分(変化量). 高校物理で習う方程式F=maを思い出せば,物体に掛かっている力を検知するとも言えそう. 一番検知しやすいのは重力.センサーが重力の方向に対してどの程度傾いているのか…

画像のノイズ除去プログラムを書く

目的 画像のノイズを取り除く,という表現は語弊があるかもしれない. ノイズの種類や定義は多々ありますが,全体的になめらかになっていれば良さそう. 写真かデジタル絵か分からないような画像が出力されれば好み. お断り 入力画像は撮影.jpegしたもので…

Windowsアプリケーションから Arduino の OLED ディスプレイを操作する(HSP - 画像送信編)

todo: draft 目標 シリアル通信を介してUSBで接続された ArduinoMicro+OLED に画像を表示する. 環境 Arduino IDE (Windows Store Version) Arduino Micro 5V (ATmega32u4) ディアイワイモール (DIYmall) iic i2c OLEDモジュール ディスプレイ 0.96インチ 51…

Windowsアプリケーションから Arduino の OLED ディスプレイを操作する(HSP - テキスト送信編)

目標 シリアル通信を介してUSBで接続された ArduinoMicro+OLED にテキストを表示する. 環境 Arduino IDE (Windows Store Version) Arduino Micro 5V (ATmega32u4) ディアイワイモール (DIYmall) iic i2c OLEDモジュール ディスプレイ 0.96インチ 51マイクロ…

Ruby on Rails アプリ製作の基本的な手順

Railsの勉強としていくつかのwebappを作ったときのノートを残していたので,ブログに載せます. ブログを書くのを後回しにしていたら年が明けてしまった. 記事の目的 Ruby on Railsの基本的な流れを掴む. 基本コマンドのチートシートとして.

latex 数式チートシート

latexチートシートを作ったほうが良いと思ったので,とりあえず個人メモ. せっかくなのでブログにも載せておく.

C++での生ポインタを使わないクラスのキャスト

Cpp

C++でまともにクラス継承を書いたことが無かった事に今更気づくなど. 目的 次のようなコードを書きたいとする. 異なるクラスに属する(共通の親クラスは存在)インスタンスを持つリストがある. リストの要素ごとにメンバ関数を呼びたい. ポインタを使うと…

Kuin で atan2 を実装

プログラミング言語「Kuin」 - Kuina-chan atan2 が無かったので. func atan2(y: float, x: float): float ; 参考: https://cpprefjp.github.io/reference/cmath/atan2.html if (y = 0.0) ret x < 0.0 ?(lib@pi, 0.0) elif (x = 0.0) ret y < 0.0 ?(-lib@pi…