shonen.hateblo.jp

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

標準入力からスペース区切りで値を拾うEnumerableな何か

競技プログラミングで与えられる入力は半角スペース・改行の両方で区切られることが多い. そこで,半角スペース・改行で区切って値を拾ってくるEnumerableなクラスを書いた. class In include Enumerable def initialize(io) @io = io @buff = [] self end…

エンジニア・プログラミング本まとめ

個人メモです.あまり読めてない本があるので,その反省として. index センス 技術者のためのテクニカルライティング ノンデザイナーズ・デザインブック リーダブル・コード プリンシプル・プログラミング 言語 プログラミングRust メタプログラミングRuby …

Windowsアプリケーション(C#)からarduino の 1.5inch RGB OLED Module に画像を送る

前記事の結果を使います shonen.hateblo.jp

1.5inch RGB OLED Module の公式のライブラリが全ての色を使えていないので,全ての色を使えるようにする

環境 Arduino Micro 動機 公式の通販サイト https://www.waveshare.com/1.5inch-rgb-oled-module.htm には16bit(65K colors)と書かれているが, 18bitで指定できる設定を見つけたので記事にした. 本当に262k colors発色出来ているかどうか,人がそれを認識…

1.5inch RGB OLED Module を Arduino Micro で動かす

数ヶ月前に買って放置していたので,動かしてみる. やること とにかくサンプルを動かすだけ 結果 わーすごい!フルカラーだ*1! 配線の色が滅茶苦茶なのは気にしないでください *1:24bitではありません

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…