shonen.hateblo.jp

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

0桁埋めした文字列を返す関数

/** * 0埋めしたdigit桁の文字列を返す。 * @param {number} n 非負整数 * @param {number} digit 正整数 */ function zeroPadding(n, digit) { return "0".repeat(digit).concat(n).slice(-digit); } 他に無いらしい。時刻を指定したフォーマットで文字列に…

N 秒間だけ処理を実行する c++ のコード

処理を実行するのは、メインスレッドでない別のスレッド。 メインスレッドは、sleep_forで待機して、時間になったら atomic_bool で通知する。 #include "bits/stdc++.h" using namespace std; int main(){ atomic_bool halt(false); long long counter = 0;…

nodejs サーバのWebサイトに Google IDによる 認証機能を実装する

参考 developers.google.com developers.google.com やること Googleアカウントを使って、Webアプリにログインしたりログアウトしたり出来るようにしたい。

CUDA で HelloWorld

gpu

環境 Windows10 Visual Studio 2017 + Visual Studio 2019 NVIDIA のグラフィックボードが刺さっている(geforce gtx 1050ti) CUDA Toolkit v10.1.105 が公開されている やる CUDA Toolkit のインストール developer.nvidia.com 上のリンクから、ツールキット…

自作PCを組み立てました

動機 普段メインで使っていたノートPCが7年目ぐらいになったので、PCを買い換えることに。 BTOも検討しましたが、3万ぐらいの開きがある・ゲームより開発がしたいなどなど。せっかくなので作ってみた。 経験 自作PC1度目

Hugoを導入してみた

Hugoとは? gohugo.io 静的なwebサイトを作ることができる markdownで書ける syntax highlightも豊富(もちろんjsなしの静的生成)

htmlの要素の変化を検知する

脱jQuery中. 個人的な事情で必要になったので,簡単に調べた. やりたいこと javascriptによって,htmlのdomの構造が書き換えられたとき,それを検知したい. 結論 MutationObserverというものがあるので,これを使う. developer.mozilla.org (new Mutatio…

標準入力からスペース区切りで値を拾う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 について

何度も調べているので,もう自分でまとめた. 参考資料 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 アプリ

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

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

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 を触りだけ

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辺りでざっくり書く.

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

rubyからtelnetで接続する

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