コアダンプの数だけ強くなれるよ

見習いエンジニアの備忘log

HTML5/Javascriptで糸通し風アプリを作る(改良)

前回に作成したアプリでは何点か不満な箇所があったのでよりゲームっぽくなるように改良してみた。 改善点 ・スマホ/タブレット対応 ・曲線をより滑らかに描画 ・障害物を出現 ・経過時間を左上に表示 完成品 設計図 糸(曲線)の速度方式 糸(曲線)の描画 障害…

HTML5/Javascriptで糸通し風アプリを作る

今回はHTML5のcanvasを使って、ガラケー時代の名作ゲームである糸通しっぽい動きをする曲線を作ってみた。 即席で作ったのでソースコードは改良が必要。スマホでは恐らく正常に動かない。 www.appdime.jp 完成品 ソースコード全体 完成品 (function() { var …

Web Audio APIで任意の周波数の正弦波を鳴らす(HTML5/Javascript)

HTML5のWeb Audio APIを使って任意の周波数で正弦波を鳴らす電子音叉的なものを作ってみる。 HTML5のサウンド処理 完成品 ソースコード HTML5のサウンド処理 HTML5ではこんな風にAudioタグを使って簡単に音を出す事が出来る。 <audio src="<オーディオファイル" contorols></audio> Audioタグは簡単に使える反面…

Javascriptでマウス追従

Javascriptでマウスを追従する夏っぽいボールを作ってみた。 addEventListenerでマウスの座標を取得、setIntervalで追従するボールを描画ことで実現。 完成品 マウスを追従する円の描画 マウスの座標取得 マウスの追従を遅延 ソースコード全体 完成品 (funct…

Share LaTeXで数学の図形・グラフを作成

オンラインでTeXスクリプトを編集、コンパイルできるサービスShareLaTeXを使って簡単なグラフと図形を書いてみた。 ja.sharelatex.com Shared LaTeXの使い方 サンプル 二次関数 単位円 点の回転 参考 Shared LaTeXの使い方 Shared LaTeXは無料と有料のプラン…

Javascriptで8パズル

前回の画像データを分割+シャッフルして表示する処理に機能を追加してパズルゲームにしてみた。 www.segmentation-fault.xyz 完成品 シャッフル処理の変更 変更前 変更後 ソースコード 完成品 canvasで図形を描く var blocks = []; var canvas; var img; va…

Javascriptのcanvasと遅延処理でアニメーション

Javascriptのcanvasと遅延処理を組み合わせて簡単なアニメーションを描画してみる。夏なので簡単な花火っぽいアニメを作ってみた。 完成品 花火風アニメの作り方 花火の描画 遅延処理 ソースコード 完成品 点火ボタンを押すとお粗末な花火が描画される(た~…

Javascriptで画像を分割してシャッフルする

HTML5のcanvasとJavascriptを使って画像データを9つのブロックに分割し、ブロックをシャッフルして表示してみる。 シャッフル前 シャッフル後 ソースコード 参照 画像を分割してシャッフル表示 function resize(x, y) { document.orig.width = x; document.o…

coincheckのAPIで仮想通貨の販売レートを表示する

※2017/11/12 販売レートを表示する仮想通貨のペアにltc_jpy、bch_jpyを追加。 下記で提供されているAPIを使ってpythonで仮想通貨の販売レートを表示してみる。coincheck.com 事前準備 ソースコード 結果 その他 事前準備 外部モジュールのrequestsが必要にな…

Python3サンプルコード集(その1)

最近はC言語ばっかりでしたが、今後もソフトウェア屋をやるのであればPythonかRubyは慣れておきたいところ。Pythonを新たに始めるならPython3一択らしい(Python2は必要になったら調べれば事足りるため)。個人的に新しい言語を覚えるときは短いサンプルコード…

WAVE音声にdelayをかける

前回はWAVEの楽曲からボーカル成分だけを消してみました。www.segmentation-fault.xyz今回はWAVE音声にdelay(残響系)のエフェクトをかけてます。ディレイはある時刻 n における値 S(n) に過去時刻の値 S(n-m) を加算合成(やまびこ)していくことで実現できま…

位相反転でボーカルを消す(WAVEファイル)

WAVEファイルのいじり方が段々分かってきたので今回は歌入り楽曲データのボーカルを抜くプログラムを作成してみる。環境はLinux(CentOS7)、言語はC言語。 はじめに 対象の楽曲 ソースコード 実行結果 はじめに 音楽プレーヤー等にイヤホンを半挿しにするとボ…

WAVEファイルのノコギリ波を作って再生してみる

前回はWAVEファイルからデータを抽出し波形をプロットしてグラフ化した。www.segmentation-fault.xyz 今回は逆にWAVEファイルを作成してちゃんと再生できるか試してみる。 ノコギリ波の作成 ノコギリ波生成プログラム 波形表示と再生 ノコギリ波の作成 下記…

WAVEファイルの波形をgnuplotで表示してみる

サウンドエフェクト、信号処理に興味があるが前提知識が全く無い状態。とっかかりとして、まずはWAVEファイルを理解することから初めてみることにした。今回はかじり得た知識を使ってWAVEファイルから音データを抜き出して波形を表示してみた。実行環境はLin…

netstat -s コマンドっぽい表示をシェルで実現する

最近のLinuxはデフォルトではnet-toolsのコマンド(ifconfig、netstat等)はインストールされておらず、代わりにiproute2(ip、ss等)の使用を推奨していたりする。多くの先人の方がnet-toolsからiproute2へ移行する人向けにコマンド対応の一覧まとめて展開して…

Linuxのbcコマンドで高校数学

bcは四則演算や三角関数を使った計算をすることができるコマンド。対話モードで電卓のように使用したり、数式を記載したファイルを食わせて計算したりできる。使いどころが難しいけど覚えると何かと楽しいので軽くおさらいしてみた。 使い方 使用頻度が高い…

GoogleのTCP BBRでLinuxサーバーの高速化を試す

GoogleさんがLinuxに実装したTCPの輻輳制御モジュールでTCP通信がどのくらい高速化されるのか試してみる。環境はVirtualBox上にインストールしたCentOS7(64bit)。具体的にはVMを2つ作成しiperfを使ってVM間のTCP通信性能がどのくらい変わるのか見てみる。 BB…

Net-SNMPのサブエージェントを作ってみる

プライベートMIBで監視するためのサブエージェントをNet-SNMPをベースに作成してみた。 作成&実行環境はLinux-CentOS7(64bit)、言語はC。 はじめに Net-SNMPのインストール ソースコードのダウンロード configure / make / make install コンフィグ(snmpd.c…

コマンドプロンプトの画面ログを取る

仕事でWindowsのコマンドプロンプトを使うときに画面ログを取りたいときがある。 (いままでその都度で表示内容をコピペしたり、PrintScreenを取ったりしており効率が悪かった)PowerShellを使えばログを取る方法があるっぽいが何かと面倒臭そう… PsExecを使っ…

WordpressをNginx + redisキャッシュで高速化する

Wordpressは今までApache + mysql + phpの構成で構築してたけど、NginxとRedisを使ってみたかったで試してみた。下記を参考にさせていただいた。qiita.comwww.jeedo.net 構築環境は下記(さくらVPSの1Gプラン) ・CentOS7 (64bit) ・RAM 1G ・仮想コア 2コア (…

CentOS7(VPS)にminergate-cliをインストールしてアイドルタイムで仮想通貨を掘る

お勉強用にさくらVPSを利用しているが、平日の日中と夜間はリソースの使用率が低く余っており、このアイドルタイムで何か出来ないと探っていたところMinerGateのマイニングソフトで仮想通貨の採掘が可能そうなので試してみた。実行環境はCentOS 7, 仮想2コア…

Androidスマホ(Nexus5X)からapkファイルを取り出す

Androidスマホ(Nexus5X)からインストール済みのアプリのapkファイルを取り出してみた。大した内容は書いてませんがお約束として下記。[前置き] 法律で保護されたプログラムに対してリバースエンジニアリング等を行うことは法律に違反する可能性があります。 …

NETLINKでネットワークインタフェースの状態変化を検知する

LinuxでNETLINKを使ったネットワークインタフェースの状態変化(up/down, IPアドレスの追加/削除)を検知してみる。NETLINKはネットワークインタフェースの状態変化をカーネルからユーザランドのアプリケーションに対してソケットインタフェース経由で通知して…

Raspberry Pi で Hello World

前回に引き続きラズパイ用の開発環境を構築し実機でHello Worldを表示(シリアル経由)するまでをやってみる。 実機は初期モデルからメモリが2倍の512MBになったVer。 最近のラズパイに比べたら装備も性能も劣るけれど個人的にはこっちのシンプルな方が好き。 …

Virtualbox上にLinux Mintをインストール

Windows7でVirtualBox上にLinux Mintの環境(sshでログインできるまで)を構築する。 用途はRaspberry-pi用のソフトウェア開発環境。[材料] ・Windows7-32bit ・Linux Mint 18.1(Mate 32bit) ・VirtualBox ・Teraterm (ssh接続用) 事前準備 イメージァイル(iso…

32bit-UEFI環境でLinux-MintをUSB-bootする

手持ちのノートPCであるASUS x205TAでLinux-Mint(インストール用のライブ版)をUSB-Bootしてみる。[材料] ・ASUS x205TA ・USBメモリ(BUFFALO 16GB) ・Linux-Mint(18.1-mate-32bit)[注意点] ・従来BIOSではなくUEFI(詳しくは勉強中)環境 ・CPUが32bitであるこ…

プロキシの設定(yum,wget,curl,git)

プロキシ環境下にあるLinuxでyum, wget, curl, gitコマンドを使うときの設定。 yum $ sudo vi /etc/yum.conf proxy=http://<server>:8080 proxy_username=<user> proxy_password=<pass> wget $ vi ~/.wgetrc http_proxy=http://<server>:8080 https_proxy=http://<server>:8080 ftp_proxy="ftp://<server></server></server></server></pass></user></server>…

gdbで絶対秒を日付で表示する

gdbでデバッグ時に、対象のプログラムが内部で持っている絶対秒(Unix時間)を 日付に変換して表示する方法。バグ等でcoreファイルから原因を調査する際に欲しくなったので作ってみた。 具体的には~/.gdbinitにユーザ定義のコマンドを作って実現する。#普通にg…

Javascriptでオセロ(その2)

前回に引き続き、不足していた機能を追加してみた。 " id="Computer" value="1" autocomplete="off"/> コンピュータ " id="First" value="2" autocomplete="off" checked="checked"/> 先攻 ---------------------------------- こんな感じのオセロが完成。申…

Javascriptでオセロ(その1)

HTML+JavaScriptでブラウザで動くオセロを実装してみる。 制限付き(*1)で動いたところまで。ソースコードはほとんど参考(*2)のまま。 (*1) 機能制限 ・AIなし(人間vs人間だけ) ・黒が先行 ・パス不可 ・勝利判定なし ソースコード html javascript css その…