shonen.hateblo.jp

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

Linux版OpenSiv3dプロジェクト作成メモ

環境 Ubuntu 19.04 でもArchLinuxの方が導入楽そうな気がしました。 前提 リポジトリはclone済み。 公式のreadme.mdを読んで、一通りビルドして、OpenSiv3D/Linux/Release/libSiv3D.a がある。 やりかた(事前準備なしで) カレントディレクトリは、今から作業…

Github Actions を nodejs(npm) の repository で試してみた。

CI

Github Actions とは? ソフトウェアの品質を担保するために、定期的にビルドを行ったり、git push する前に自動的に単体テストを実行したりする 環境を整えている開発チームは少なくないと思います。 こういう環境はローカルに構築することは出来なくは無い…

文字列・シンボルからクラスインスタンスを取得する

こういうコードがあるとする。 class Hoge def initialize puts 'init Hoge' end end c = Hoge c.new c = Hoge しているんだけれども、Hogeというのをコードに直接書くのではなく、 Hogeという文字列やシンボルからHogeクラスのインスタンスを取りたい。 eva…

Procを受けるところにメソッドを与える

やりたいこと def f(x) x+2 end p [1,2,4,8].map{|e| f(e)} を効率よく書きたい。 Object#method を使う Object#method を使うことでmethodのオブジェクトが取れる。 def f(x) x+2 end p [1,2,4,8].map(&method(:f)) モジュールの場合 モジュールをmethodメ…

jenkinsのghithub連携

CI

仕組みを理解せず説明文眺めながら適当に触ったらやっぱり動かなかったので、メモ。 目標 こんな感じのジョブを作る。 masterにpushされたら npm run build して commitしてpushする

JavaのHelperクラスって何

概要 Javaの本でたまに見かけるのがHogeHelperとかのHelperと付いたクラス。 デザインパターンの一種なのか、適当につけたものなのか、なにか背景があるのか、結局クラス名や機能を見て理解できなかったので調べた。 wikipedia 英語版wikipediaに記事があっ…

android端末を無くして焦った(Googleデバイスを探す)

最近あんまりコードが書けてない辛みと、新しいなにかを勉強しないといけないという焦りと、結局何も出来ていないという事実が炎上気味 概要 盗まれたと思ったら盗まれてなかった android端末を探す 「android 探す」でGoogle検索を掛けると端末のGPSがONに…

まつもとゆきひろさんの特別講演まとめ(2019/07 若手エンジニアの生存戦略 )

イベント概要 supporterzcolab.com 動機 実は去年?も視聴しようとしていたのですが、ゆるっと見逃してしまった。 今年は手の届く場所に住んでいたので、動画配信ではなく、直接参加することに。

nodejsをインストールしようとしたら壊れてしまったので無理やり直した

ローコスト記事。ごめんなさい。 環境 ubuntu 16.04

Rubyでstdinもstdoutもstderrもtimeoutも出来る万能exec

勢いで記事を生やした。 環境 $ ruby -v ruby 2.5.5p157 (2019-03-15 revision 67260) [x86_64-linux-gnu] 何を作るか 別のプログラムを引数付きで起動したり、標準入力を与えたり、標準出力や標準エラーを取得したりしたい。 なぜ作ったか 毎回書いているよ…

Windows10をサブドライブに移動させてメインドライブにUbuntuを入れた

タイトルをしました。 背景 最近思うけど、Windowsを使う理由がゲーム以外に無いな…— 舞葉(㋿) (@m_buyoh) June 27, 2019 無いと思いました。 Ubuntuは仕事でもよく使う、ゲームの時間を減らしたかった等、色々思うところがあったので、Ubuntuに乗り換えるこ…

手っ取り早くredmineのREST APIを叩く

redmineがAPIを提供していることを知った。外から叩けるので、その気になればSlackと連携させることも出来る。 情報 これを読めば良いです。 www.redmine.org

virtualbox とホストPCを仮想イーサネットアダプタで接続する`

注意 メモ書きです。 色々試しすぎたので、ここに書いた方法だけでは上手くいかないかもしれません。 やりたいこと host は windows 10 virtualbox 上に ubuntu 18.04 が居る ubuntu は 2 つのアダプタを持つ。NATとHostOnly。 参考URL qiita.com qiita.com

ubuntuのキーボード配列を日本語・英語に変更する

背景 最近英語配列のキーボードを買ったので、英語配列に戻そうとしたところ、意外と日本語から英語配列に戻す記事がなく辛かった。 環境 ubuntu18,04.2 LTS 操作 sudo dpkg-reconfigure keyboard-configuration を打つと画面が出るので、いい感じに選択する…

M5Stack grayの libraries を眺める

きっかけ m5stack 無線通信関係のモジュールの使い方が公式サイトのdocumentから探しても中々見つからない。 そこで、ArduinoData/packages/esp32/hardware/esp32/1.0.2/libraries の中身を読み漁って、雑にまとめることにする。 m5stackが出来ることの整理…

M5Stack grayを眺める

m5stackという面白そうな製品を見かけたので、勢いで買いました。 m5stackとは? m5stack.com 雑に表現すると、ボタンやディスプレイ・バッテリー・TFカードリーダ*1等が載ったArduino(ハードウェアはArduinoとは異なる)。 Arduino IDEを経由して、プログラ…

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ブラウザ上で作りたい場合,すべての音階…