Spring WebFlux で開発した REST API を Swagger Editor から実行するために CORS を有効にする

概要 Swagger Editor の Try it out から REST API を実行できる様にするために、Spring の設定を変更して CORS を有効にする方法を説明します。但し、Spring MVC ではなく、Spring WebFlux を使う場合の方法です。コードは Kotlin で書かれています。 目次 …

SSH で Python を実行したら UnicodeEncodeError になった

概要 ローカル環境で動作していた Python プログラムを Raspberry Pi にコピーして、 ローカル環境から SSH 経由でそのプログラムを実行したところ、 UnicodeEncodeError が発生しました。 確認環境 IntelliJ IDEA Ultimate 2017.3.2 Python 3.5.3 参考情報 …

kotlin-frontend-plugin のソースコードを読んで要約してみた

概要 以下の記事の続きです。以下の記事では、ソースコードの内容をクラス単位で整理しました。 クラス単位では全体像が見えづらいため、図とリストを使って全体を要約します。 nosix.hatenablog.com 目次 概要 目次 確認環境 解説 タスクの依存関係 データ…

kotlin-frontend-plugin のソースコードを読んでみた

概要 kotlin-frontend-plugin は Kotlin/JS を用いてのフロントエンド開発を助ける Gradle プラグインです。 node.js を使うようになっており、webpack, karma などの node.js ライブラリを使った開発を助けます。 Kotlin の公式プラグインですが、現在は EA…

ts2kt を Gradle で実行する

概要 TypeScript の型定義を Kotlin ファイルに変換する Node.js スクリプトである ts2kt を Gradle で実行できるようにします。 2017/8/31 現在、ts2kt は使える状態ではありません。 生成された Kotlin ファイルでは多数のエラーが発生します。 目次 概要 …

Kotlin/JS TIPS - this の扱い

概要 JavaScript の関数中の this は関数を保持しているオブジェクトによって決定されます。 この振る舞いが Kotlin/JS を使う上での問題になります。 this を扱ういくつかの方法を説明します。 最適な方法とは言えないので、より良い方法があれば教えてくだ…

Kotlin/JS TIPS - JavaScript ライブラリへの型情報の付与

概要 JavaScript ライブラリを使用する際に、型情報を付与する方法について説明します。 前回の記事で JavaScript ライブラリの使用方法を説明しましたが、 静的型付けによる恩恵を得ずに JavaScript の柔軟性を重視した使用方法としていました。 型情報を付…

Kotlin/JS で JavaScript ライブラリを使用する

概要 Kotlin/JS から JavaScript ライブラリを使用する方法を説明します。 AMD に対応している JavaScript ライブラリを前提としています。 例として Lodash, Vue.js を使います。 作成するコードでは型付けは弱いままとして、JavaScript の柔軟性を活かした…

Gradle で Kotlin/JS ライブラリを開発する

概要 Gradle を使用して Kotlin/JS の開発環境を構築し、Hello World を作成します。 更に、ライブラリとして配布可能にする方法、そのライブラリを使用する方法を説明します。 JavaScript のライブラリを使用する方法は別の記事で説明します。 なお、筆者は…

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 でパーティションサイズを変更する

※1 : 2017.07.22 追記/修正 ※2 : 2017.09.14 追記 ※3 : 2017.12.06 追記 概要 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 のスラ…