DataTables(+Django)でAjax通信

はじめに DataTables 1.10.12 (https://datatables.net/)でAjax通信を行う方法をまとめます。 以降のサンプルプログラムではDjangoを使用しています。 DataTablesの設置 まず、次のテーブルをWebページに設置します。 デザインにはBootstrapを使用しています…

VimでNeomake + Pylavaを使用したPython3の自動静的コード解析

はじめに Python3のコーディングをVimで行う際にPEP8規約違反などを自動的に検出する方法をまとめます。 静的検証ツール Pylava の導入 Pythonの静的解析ツール Pylava を使用します。 github.com Pylava では pycodestyle や PyFlakes などのツール群が利用…

Miniconda3でPython環境構築

はじめに 本エントリではMinicondaでPython環境を構築する手順をまとめます。 インストール Miniconda3 Python 3.7 version(投稿時点最新Ver 4.5.11)を次の手順で導入します。 次のURLにアクセス : https://conda.io/miniconda.html 該当するOSのbashインス…

C#で非同期に処理するTask間のメッセージ通信

はじめに C#でTaskを使用した非同期処理をする場合に複数スレッド間でメッセージのやりとりをする方法をまとめます。 実行環境 Windows 7 Professional Visual Studio Professional 2017 事前準備 MVVM Light ToolkitのMessengerを使用するのでNuGetでインス…

LINE Messaging APIを使用したbotの作成

はじめに LINE Botを作成してみたので本エントリにまとめます。 Herokuをはじめる botアプリケーションはHerokuにデプロイするため、 こちらの手順に従ってHerokuアカウントの登録、Heroku CLIのインストールと使い方を学びます。 Herokuはアプリケーション…

Vimのmakeで任意の名前のMakefileを指定する

はじめに Vimのmakeコマンドは便利ですが、任意の名前のMakefileをオプションで指定できそうもありません (カレントディレクトリのMakefileを探しにいきます)。 そのため所属するプロジェクトでMakefileの格納先ディレクトリや命名規則が規定されている場合…

Cygwinの個人的セットアップ(GNU Global + Pygments + Vim)

はじめに 自宅ではMacですが職場ではWindows7なのでターミナルで操作したいときはCygwinを使うようにしてます。 本エントリではCygwinをインストールする際に、まず始めに実施する個人的セットアップをまとめます。 Cygwinのインストール 以下のURLからCygwi…

HiRDBで表のマトリクス分割

はじめに データベースシステムのデータ格納方式は、性能・信頼・運用性等を考慮した上で決定する必要があります。 本エントリではこの目的において、HiRDBでデータの物理配置を制御する「表のマトリクス分割」を試してみた結果をまとめます。 表の横分割の…

MacにPostgreSQLインストールとSQL実行計画の確認

はじめに 最近は業務でDBMSをよく扱うことからデータベース関連の書籍を読んでいます。 「SQL実践入門」は性能に目を向けた内容で面白かったです。 SQL実践入門──高速でわかりやすいクエリの書き方 (WEB+DB PRESS plus)作者: ミック出版社/メーカー: 技術評…

Synology DiskStation DS215jにSpring bootアプリをデプロイ

はじめに 自宅で常時稼働しているSynologyのDS215jに先日構築した'roomba_client'をデプロイし、 ネットワーク上の各デバイスからいつでも簡単にルンバを操作できるようにしました。 hiroki-sawano.hatenablog.com 環境 クライアント:MacBook Pro macOS Hig…

Travis-CIとCoverallsでJavaアプリケーションの単体テスト

はじめに 今更ながら継続的インテグレーション(CI)環境を整え、自動単体テストのための仕掛けを用意しましたので、 本エントリに実施した事項をまとめます。 以降では、先日紹介したroomba_clientプロジェクトを対象に説明します。 hiroki-sawano.hatenablog…

[Roomba Hack] Spring boot Webアプリからルンバ800(+RooWiFi)を操る

はじめに ルンバ800をハックしました。 Webアプリからルンバと通信することで掃除をさせたり、音楽を流したり、スケジュールを変更したり、できるようにしました。 準備 ルンバと無線通信するため「RooWiFiルンバ用無線LANモジュール(RB-Roo-01)」をルンバに…

ブロックチェーン基盤 Hyperledger Fabric v1.0 アプリケーションの実装

はじめに 今回はHyperledger Fabricのサンプルアプリケーションを動かしてみます。本エントリは次のページで紹介されている手順に従って進めていきます。 Writing Your First Application — hyperledger-fabricdocs master documentation 実行環境 Max OS Hi…

vimからmake

はじめに vimを開発環境として使う場合に標準搭載されているmakeコマンドを使用すると便利です。 サンプルプログラムの作成 次の通りCのプログラムとMakefileを用意します。 $ ls Makefile hello.c hello.c #include<stdio.h> int main(){ printf("Hello!\n"); return</stdio.h>…

ブロックチェーン基盤 Hyperledger Fabric v1.0 アーキテクチャ概説

はじめに オープンソースなブロックチェーン基盤であるHyperledger Fabric(v1.0)を最近学習中なので理解した範囲で本エントリーにまとめます。 Hyperledger Fabricのアーキテクチャやトランザクションの流れを理解することや、 アプリケーションの実装方法を…

Red5でニコニコ動画のようなストリーミングサービス構築

環境 CentOS7 概要 4年ぐらい前に実装したニコニコ動画もどきが見つかったので軽くリファクタリングして公開してみる。 当時はオンライン講義での利用を想定して設計をしたため、 教育機関に属するユーザのロールに基づいたコメント公開範囲の制御や、コメン…

実行可能なJARファイル

問題 Mavenプロジェクトで生成されたJARファイルが'java -jar'コマンドで実行できないときの話。 $ java -jar your_app.jar no main manifest attribute, in your_app.jar 原因 your_app.jarファイルを展開してみるとMANIFEST.MFにMain-Classの指定がない。 …

chef-zero+knife-zeroでCentOS7上にGlassFish4環境構築を自動化

実行環境 Mac OS X 10.9.5 インストール Chef DKとchef-zero、knife-zeroをインストールする。 >curl -L https://www.opscode.com/chef/install.sh | sudo bash -s -- -P chefdk >chef gem install knife-zero chef-zero json --no-ri --no-rdoc chef-client…