Google App Engine スタンダード環境で Kotlin + Spring Boot を動かす

概要 2017.6.28 に Google App Engine スタンダード環境が Java8 をサポートしたと告知されました。 告知記事を読んでいると Kotlin + Spring Boot で動かすサンプルが目にとまったので、動かしてみました。 確認環境 macOS 10.12.5 Google Cloud SDK 161.0.…

IntelliJ IDEA で Emacs 風キーマップを作る

概要 IntelliJ IDEA の keymap 設定を Emacs にしても、使いたい機能のショートカットが複雑で覚えられません。 そこで、Emacs 風のショートカットに設定を変更します。 筆者は最初に覚えたエディタが Emacs でしたが、その後は Emacs のライトユーザーです…

libGDX で iOS アプリを起動できない

概要 libGDX で Multi-OS Engine を使用した iOS アプリを起動するとエラーが発生しました。 libGDX が初期設定で指定している Multi-OS Engine は 1.2.3 ですが 1.2.5 に変更する必要があります。 確認環境 AndroidStudio 2.2.3 libGDX 1.9.5 Multi-OS Engi…

libGDX 2D UI Library - Widgets

概要 libGDX の 2D UI Library のうち、Button 系以外の Widget についてまとめます。 目次 概要 目次 確認環境 参考情報 解説 Image Label TextField TextArea List SelectBox ProgressBar Slider 確認環境 OS X El Capitan (10.11.6) Xcode 8.0 Android St…

GPIO 操作するプログラムを macOS で開発する

概要 macOS 環境で RPi.GPIO モジュールを使用します。 macOS 環境では GPIO が存在しないため、エミュレーターを使用します。 なお、エミュレーターは自作です。 確認環境 Raspberry Pi Zero RASPBIAN JESSIE LITE 2016-11-25 Python 3.4.2 MacBook Pro 201…

macOS で Python プログラム開発環境を構築して Raspberry Pi で実行する

概要 macOS で Python プログラムの開発環境を構築します。 macOS で作成したプログラムを Raspberry Pi で実行できる様にします。 前回の記事の続きです。 確認環境 Raspberry Pi Zero RASPBIAN JESSIE LITE 2016-11-25 Python 3.4.2 MacBook Pro 2016 Late…

Raspberry Pi の Python 実行環境を整える

概要 USB ケーブル 1 本で Raspberry Pi Zero と接続できる様になったので、Python プログラムを Raspberry Pi Zero で動かしてみます。 しかし、今後の試行錯誤を考え、(自分にとっての)プログラムを作りやすい環境を整えてみました。 具体的には以下を行な…

Raspberry Pi Zero を USB ケーブル 1 本で遊ぶ

概要 Raspberry Pi Zero をディスプレイ、ネットワークアダプタなしで使用する方法です。 類似タイトルの記事がいくつかあったので、それらの記事に倣っています。 2016-11-25 版の Raspbian では ssh がデフォルト off となっているため、ssh を有効化する…

Windows 10 でパーティションサイズを変更する

概要 VMware を使用しているとディスクサイズを自由に変更することができます。 ディスクサイズを増やした時に C ドライブのパーティションサイズを拡張することになりますが、 回復パーティションが存在するために拡張できません。 本記事では、回復パーテ…

Thymeleaf で isXxx プロパティを参照するとエラーになる

概要 Thymeleaf の変数式で ${aVariable.isXxx} とするとエラーになって困った時の記録です。 確認環境 Spring Boot 1.4.2 Spring 4.3.4 Thymeleaf 2.1.5, 3.0.0 Kotlin 1.0.5 解説 Kotlin で次のクラスを作成したとする。 data class User( val name: Strin…

bootRun で Spring Boot を起動した時に、IntelliJ IDEA でデバッガを使う

概要 Spring Boot と IntelliJ IDEA の組み合わせでデバッガを使う方法です。 Terminal から bootRun 起動する場合に限ります。 確認環境 IntelliJ IDEA CE 2016.3 Spring Boot 1.4.2 参考情報 How do I debug a gradle/Spring-boot app in IntelliJ Idea ? …

Thymeleaf snippet

概要 Thymeleaf の書き方を学習するために、チュートリアルの内容を一通り書いてみました。 その記録です。 確認環境 IntelliJ IDEA COMMUNITY 2016.3 Spring Boot 1.4.2 Thymeleaf 2.1.5 参考情報 Tutorial: Using Thymeleaf (ja) Thymeleaf の使い方。日本…

FaceRig + 恋声 + Skype で映像と音声を変換して通話する

概要 FaceRig + Live2D Module を使えばイケメン・美少女キャラクターに成り替わることができます。 恋声を使えばマイク入力の音声を変換して女声・男声に替えることができます。 これらと Skype を組み合わせれば、姿と声を変えて通話することができます。 …

プログラム用のきれいな等幅フォント

Mac

2011.12.08: MacBook Air に環境構築。 2016.11.20: MacBook Pro 導入に伴って、再度インストールしました。内容は更新されています。表題の件で何かないかと探したら、Ricty というフォントがあるそうな。早速入れてみました。詳しいインストール方法は Ric…

libGDX 2D UI Library - Widget (Button)

概要 libGDX の 2D UI Library のうち、Button 系 Widget についてまとめます。 目次 概要 目次 確認環境 参考情報 解説 Button ImageButton TextButton CheckBox 確認環境 OS X El Capitan (10.11.6) Xcode 8.0 Android Studio 2.2.2 Multi-OS Engine Plugi…

libGDX Scene2d の基礎

概要 libGDX で 2D UI Widget (Button, Label, CheckBox, etc.) を使用するための基礎となる Stage, Viewport, Layout についてまとめます。 (ゲームライブラリとしてではなく、マルチプラットフォームの GUI ライブラリとしての使用を模索中です。) 確認環…

libGDX アプリケーションのライフサイクル

概要 libGDX アプリケーションのライフサイクルの説明です。 言語は Kotlin、Android/iOS アプリで動作確認をしています。 確認環境 OS X El Capitan (10.11.6) Xcode 8.0 Android Studio 2.2.2 Multi-OS Engine Plugin 1.2.1 Kotlin 1.0.4 buildToolVersion…

libGDX ロギング

概要 libGDX のロギング機能の使い方です。Android/iOS アプリで動作確認をしています。 確認環境 OS X El Capitan (10.11.6) Xcode 8.0 Android Studio 2.2.2 Multi-OS Engine Plugin 1.2.1 Kotlin 1.0.4 buildToolVersion 25.0.0 compileSdkVersion 24 lib…

Kotlin で iOS アプリを作る (libGDX 編)

概要 Intel Multi-OS Engine を使うことにより Android Studio で iOS アプリを作成できます。 しかし、UI 部分は各 OS によってライブラリが異なるため、共通化できる部分は限られます。 そこで、ゲーム用フレームワーク libGDX を使って描画の共通化を計り…

Kotlin で iOS アプリを作る

概要 Kotlin で iOS アプリを作成します。 開発環境には Android Studio を使用し、Intel Multi-OS Engine を使って iOS アプリに変換して実行します。 確認環境 OS X El Capitan (10.11.6) Xcode 8.0 Android Studio 2.2.2 Multi-OS Engine Plugin 1.2.1 Ko…

Android の実行環境

概要 Android のアプリを動かしている仕組みを整理します。 全体像を概観することを目的としています。 細かな部分は推測になっている所があります。 (間違いがあれば教えてください。) 参考情報 Anatomy & Physiology of an Android 2008 Google I/O のスラ…

インテント (Intent) とインテントフィルタ (intent-filter)

概要 Android の基礎的な仕組みである Intent について整理します。 下記のページの内容を私なりに整理したものです。 developer.android.com 解説 コンポーネント Intent はコンポーネント間の通知に使われる。 Intent の日本語訳は、意図や意思。 Intent …

Android で SQLite を使う

概要 Android で SQLite を使う方法です。 サンプルにはデータの参照、挿入、トランザクションを含みます。 参考情報 Android データを簡単に保存する方法(SQLite編) | TechBooster データの参照と挿入 SQLiteでトランザクション処理とロールバック - Androi…

SQLite のデータをコマンドプロンプトから参照する

概要 Android で SQLite を使う際に、コマンドプロンプトから SQL 文を実行してデータを確認したい場合があります。 実機に sqlite3 がインストールされていない場合の実行方法について書きます。 但し、実機で base64 コマンドを実行できる場合の方法です。…

ADB (Android Debug Bridge) のプロトコル 後編

概要 ADB の Java クライアントを試作してみようと取り組んでみたら深みにはまっていったお話。 とても長いので前後編に分けました。 雑談 nosix.hatenablog.com 幸せになれたと思ったのに コマンドを実行できるようになった。 しかし、再度接続を試みる際に…

ADB (Android Debug Bridge) のプロトコル 前編

概要 ADB の Java クライアントを試作してみようと取り組んでみたら深みにはまっていったお話。 とても長いので前後編に分けました。 雑談 USB ケーブルがなくっても使える ADB ADB (Android Debug Bridge) は Android アプリ開発者にとってはおなじみのツー…

画面のスナップショットを撮影する

概要 Android で画面のスナップショットを撮影するアプリを作ります。 他のアプリが起動しているときにスナップショットを撮影するために、サービス経由でスナップショット撮影を行います。 確認環境 Android Studio 2.1.2 Build Tools Version 24.0.1 Compi…

フローティングアプリを作るためのはじめの一歩

概要 Android で他アプリを実行中でも前面に表示されるアプリ(フローティングアプリ、Xperia のスモールアプリのようなもの)を作るため、 他アプリを実行中にビューを表示できることを確認します。 さらに、フローティングアプリの移動とタップが可能であ…

落ちないサービスでアプリの起動を監視する

概要 Android で落ちないサービスを作ろうとした時の記録です。 使用履歴を参照してアプリの起動を監視するサービスを作っています。 確認環境 Android Studio 2.1.2 Build Tools Version 24.0.1 Compile SDK Version 24 Target SDK Version 24 Min SDK Vers…

Watson に喋らせる

概要 Watson の Text to Speech サービスをブラウザから使う方法です。 実行環境 Chrome Version 52 手順 new-console.au-syd.bluemix.net IBM Bluemix のページで、登録を選択し、アカウントを作成する ログインして、組織とスペースを作る カタログから Te…

Spring Boot で Thymeleaf テンプレートを使う

概要 Hello World をブラウザで表示できることを確認できたので、 HTML 文書をブラウザで表示できるようにします。 HTML を表示する際には静的な HTML としてではなく、 動的に生成した HTML を表示するようにするため、 テンプレートエンジンを使用します。…

はじめての Sprint Boot in Kotlin

概要 Spring Boot での開発環境を構築する手順を説明します。 インストールから、ブラウザでページに Hello World を表示させるまでの手順です。 開発言語には Kotlin、ビルドツールには Gradle を使います。 確認環境 IntelliJ IDEA COMMUNITY 2016.2 Sprin…

アプリ内課金をする

概要 Android でアプリ内課金を行う方法についての要約です。詳しい内容は参考情報のページに書かれているので、全体を大まかに説明します。 確認環境 Android Studio 2.1.2 Build Tools Version 24.0.1 Compile SDK Version 23 Target SDK Version 23 実行…

SDカードにファイルを作成して書き込む

概要 Android で SD カードにデータを書き込む方法です。Android 6.0 以降では、権限設定に変更があります。 確認環境 Android Studio 2.1.2 Build Tools Version 24.0.1 Compile SDK Version 23 Target SDK Version 23 実行環境 Sony SOV32 Android 6.0, AP…

メモリリークを解決する

概要 Android で発生しているメモリリーク (Memory Leak) の解決方法です。RecyclerView を使用していて発生するメモリリークを解決した例です。 確認環境 Android Studio 2.1.2 Compile SDK Version 22 Build Tools Version 22.0.1 実行環境 Sony SOV32 And…

ViewPagerで右スクロールを禁止して、左スクロールだけにする

概要 ViewPager を使用して複数の Fragment を横スクロールで切り替える時、右スクロールは禁止して、左スクロール(戻る)のみを有効にする方法です。 確認環境 Compile SDK Version 22 Build Tools Version 22.0.1 実行環境 Sony SOV32 Android 6.0, API 23 …

DialogFragment を Back で戻ると InputEventReceiver で警告が出る

概要 DialogFragment を使用した 時に、Back ボタンで DialogFragment を閉じると W/InputEventReceiver: Attempted to finish an input event but the input event receiver has already been disposed. と表示される件の対処方法です。(2016.7.8現在、未解…

RecyclerView を使用した Fragment で Back した時にスクロール位置を保存する方法

概要 複数の Fragment を replace で遷移します。 遷移元の Fragment (Aと呼ぶ) では RecyclerView を使用しており、スクロールした状態で次の Fragment (Bと呼ぶ) に移動します。 B から Back ボタンで、A に戻った際にスクロール位置を保存する方法です。 …

DialogFragment

DialogFragment を試したメモ。 SeekDialogFragment.kt companion object の show メソッドはなくても構わないユーティリティメソッドです。Fragment を生成して表示します。 onAttach → onCreateDialog の順に実行されます。Activity が Listener を実装し…

let と as でスッキリ

Kotlin メモ。 as を使ったキャストはスマートなのだけど、変数を使わざるをえなくなる。 val view = view.findViewById(R.id.picker) as NumberPicker // as に続けて書けないよね? view.minValue = 0 view.maxValue = 100 view.setOnValueChangedListener…

合併と併合

合併と併合の違いは何だ!? 気になったのでコトバンクで調べてみた。複数の辞書を比較できるので便利。 合併(がっぺい)とは - コトバンク 企業の合併が例に挙げられる。 2つの企業が消滅して、新しい1つの企業が生まれること。 1つの企業が、もう1つの…

Android の VR 動画再生アプリ

Android の VR 動画再生アプリを色々試してみたので、記録してみんとてするなり。 イチオシ 様々なタイプの VR 動画に対応していて、機能に無駄がありません。ローカルに保存された VR 動画の再生と URL 指定での VR 動画の再生を行えます。動画再生で本体が…

VR の健康上の問題

VR は面白いことができそうですし、2016年はこぞって HMD (Head Mount Display) 製品が発売されます。 しかし、目にとっては、子供の発育にとっては大丈夫なのか?という不安もあるでしょう。 www.moguravr.com Oculus Rift には 13 歳以下は使うべきではな…

自作 VR HMD (おまけ)

nosix.hatenablog.com 量産型機 NCB-01 の開発に成功したことで気をよくし、新たな試作機 NXCB-02 を開発することにしました。 基本は量産型機と同じですが、装備がグレードアップしています。試作1号機 NXCB-00 のレンズを流用。 量産型機は排熱が問題にな…

自作 VR HMD

安い材料で、特別な道具を使わず、安全に簡単に Cardboard を作ります。 材料:@146円 シートレンズ(焦点距離 30mm)@24円×2(80枚1850円) 発泡スチロール板(A4) @58円(3枚172円) 両面テープ @40円(3m141円) 道具: ハサミ(発泡スチロール、両面テ…

Autonomous Teleport

www.digimonostation.jp 上記のサイトで紹介されていた Teleport を購入してみました。 Teleport Ultimate Kit ($119) : 送料込みで約 16000 円 3/9 に注文して、3/22 に到着です。途中、郵送のために住所と電話番号を確認するメールが届きました。英語で、…

Raspbian を仮想マシン(QEMU) で動かす (2)

Raspbian を仮想マシン(QEMU)で動かす (1) - NOSIX では、QEMU で Raspbian が動作するところまでは辿り着けました。使ってみるとまず気になるのが、キーボード設定。思うように入力できないので、見直します。ついでなので、キーボード設定以外の言語設定、…

Raspbian を仮想マシン(QEMU)で動かす (1)

QEMU によって Raspbian を仮想環境で使えるようにした記録です。Raspberry Pi Zero の仮想化を想定しています。大まかな流れは以下の通りです。 VMWare Fusion 7.1.3 に Ubuntu 14.04 をインストール Ubuntu 14.04 に QEMU 2.0.0 をインストール QEMU 2.0.0…

HMD 一覧

2016年はAR/VR元年とも言われて、様々なHMDが発売される予定になっています。AR (Augmented Reality, 拡張現実), VR (Virtual Reality, 仮想現実) に加えて、MR (Mixed Reality, 複合現実) という言葉も出てきました。MR = AR + VR です。 ここいらで HMD を…

GitHub の Author/E-mail を間違えちゃった

Eclipse で設定していた Author/E-mail と GitHub で使用している Author/E-mail を違う設定にしておりまして、そのまま commit -> push したところ GitHub に Eclipse 設定の Author/E-mail で登録されてしまいました。しまった!?と焦りつつ、対応を探し…