Android でメールを送信する

概要 メールクライアントアプリを使わずに、自身が開発したアプリでメールを送信する方法です。Google のサービスを使ってメールを送信します。1つの方法は Gmail の SMTP を使い、もう1つの方法は Google API の Gmail サービスを使います。 目次 概要 目…

無料で使えるプライベート Git リポジトリを共有する

GCP

概要 Google Cloud Platform のサービスの一つである Cloud Source Repositories を使って、プライベート Git リポジトリを共有する方法です。Cloud Source Repositories には、リポジトリ数制限の無い無料枠があります。この無料枠を使ってプライベート Git…

RecyclerView の各項目で、スライドしてメニューを表示する

概要 以下の動画の様に、RecyclerView の各項目で、スライドしたときにメニューを表示させる方法です。他のライブラリを導入せずに、ItemTouchHelper クラスを使って実現します。 サンプルでは削除ボタンしかありませんが、複数のボタンを設定できます。また…

Android の ImageView.ScaleType

概要 ImageView.ScaleType を解説している記事は見かけますが、表で整理された内容を見かけないため整理します。 目次 概要 目次 参考情報 解説 参考情報 [Android] ImageView画像をScreenのレイアウトにフィットさせるには 具体例を示した具体的な解説 解説…

Spring WebFlux で InMemoryWebSessionStore にセッションタイムアウトを設定する

概要 Spring WebFlux を使いながら application.properties で spring.session.timeout を設定した際、設定が効きませんでした。WebFlux の WebSessionStore をカスタマイズして、セッションタイムアウトの間隔を設定する方法を説明します。 目次 概要 目次 …

Spring WebFlux で Spring Security と CORS WebFilter を併せて使う

概要 Spring WebFlux を使う際に、CORS を有効にする方法と認証/認可を有効にする方法を下記の記事で説明しました。しかし、この 2 つの内容を併せて適用すると、CORS が期待通りに機能しません。原因は、WebFilter の実行順にあります。この記事では、WebFi…

Spring WebFlux で Spring Security の認証と認可を使う

概要 Spring Security を使う場合、Spring WebFlux と Spring MVC では仕組みが異なっています。このため、Spring MVC と併せて使う場合のカスタマイズ方法と Spring WebFlux と併せて使う場合のカスタマイズ方法も異なります。Spring Security を Spring We…

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…