プログラマになる

組み込みエンジニアで主にC言語、時々C#をやっている人の技術メモです。最近はAndroidも少しずつ勉強中

MacOSにCppUTestをインストールする

*:first-child { margin-top: 0 !important; } .mde-preview .mde-preview > *:last-child { margin-bottom: 0 !important; } .mde-preview a:not([href]) { color: inherit; text-decoration: none; } .mde-preview .anchor { display: inline-block; paddi…

Kotlinで内部クラスを理解する

*:first-child { margin-top: 0 !important; } .mde-preview .mde-preview > *:last-child { margin-bottom: 0 !important; } .mde-preview a:not([href]) { color: inherit; text-decoration: none; } .mde-preview .anchor { display: inline-block; paddi…

DockerでArchLinux環境を構築する

はじめに 下記の環境でArchLinuxを構築してみます。 macOS High Sierra Version 10.13.6 MacBook Pro(13-inch, 2017, two Thunderbolt 3 ports) Processor 2.5GHz Intel Core i7 Memory 16GB 2133Mhz LPDDR3 Dockerをインストール まずはDockerがないことに…

今更ながらListViewをまとめる - ViewHolder編 -

はじめに 今更ながらListViewをまとめるの続きです。 今回はViewHolderについて説明してみたいと思います。 またPersonクラスを生成してそのプロパティをListViewとViewHolderを使って表示してみます。 1. ListViewに表示するItemを作成 ここは前回と同じくP…

今更ながらListViewをまとめる - 基礎編 -

はじめに 今更ながらListViewの使い方をまとめたいと思います。 今回はPersonクラスを生成してそのプロパティをListViewに表示してみます。 1. ListViewに表示するItemを作成 まずはPersonクラスを定義します。 Person.kt class Person(firstName : String, …

ViewModelを生成する際にModelを指定する

はじめに ViewModelProvidersを通してViewModelを生成する場合、 ModelをViewModelに受け渡すには一工夫必要みたいです。 本記事ではModelをViewModelに渡すための実装方法を記載します。 実装 ViewModelProviders.createの呼び出し時にViewModelProvider.Fa…

C# XMLファイルの書き込みと読み込み

はじめに C#でXMLファイルの書き込み・読み込みを利用するには下記のクラスを利用する。 名称 説明 XmlWriter XML形式でファイルに書き込む XmlTextWriter おそらく非推奨でXmlWriterを利用したほうがよい XmlReader XML形式のファイルを読み込む サンプルコ…

レポジトリパターン: Repository Pattern

レポジトリパターン : Repository Patternとは データ層へアクセスするコードをレポジトリに記述する。 レポジトリに複雑なデータ取得を ロジックを集約して管理するパターンらしい。 データ層へのアクセスをレポジトリに 任せることでビジネスロジックの抽…

プロセス監視ツール(Ressurection)を作った

概要 プロセス監視ツール 「Ressurection」を作りました。 「Ressurection」は登録したソフトウェアのプロセスを監視し、 クラッシュしたら再起動するという機能を持つソフトウェアです。 使い方 使い方は説明するまでもないくらい簡単にしたつもりです。 ア…

最も単純なViewModelとLiveDataの利用

セットアップ Googleのレポジトリを追加する buildscriptのrepositoriesにgoogle()を追加する。 以下が設定例です。 buildscript { ext.kotlin_version = '1.2.21' repositories { google() jcenter() } dependencies { classpath 'com.android.tools.build:…

「Kotlin入門までの助走読本」を読んだ

はじめに 日本Kotlinユーザグループが提供している資料で、 Kotlinとは何かを簡潔に説明しているらしいです。 「Kotlin入門までの助走読本」 読んでみて 写経しながら進めましたが、簡潔でわかりやすかったので2~3日で読み終わりました。 (写経したソースコ…

C# BeginInvokeとInvokeの違い

はじめに WPFアプリ作成中にBeginInvokeとInvokeを使い分ける必要があったのでメモる。 Dispatcher.BeginInvoke スレッドでデリゲートを非同期的に実行、 Dispatcher に関連付けられています。 Dipatcher.Invoke 指定したデリゲートをスレッドで同期的に実行…

Android ADB 使い方

ADBコマンドの初歩的な使い方をメモります。 Emulatorの一覧を確認する adb devices シェルを起動する adb shell ファイルを送信する adb push local_file remote_path ファイルを受信する adb pull remote_file local_path アプリケーションをインストール…

C# WPFでミュージックプレイヤーを作った話

はじめに C# WPFを用いてミュージックプレイヤーを作成したので紹介します。 Android・iOSのアプリのUIをそのまま継承したようなアプリケーションです。 できること ライブラリ機能 再生、停止、一時停止、リピート flacとmp3とwaveファイルの再生 作ろうと…

デザインパターン 遅延読み込み(LazyLoading)

定義 Wikipedia 遅延読み込みによると以下の意味らしい。 遅延読み込み(ちえんよみこみ、英語: Lazy loading)とは実際にオブジェクトが 必要とされたときに後から初期化を行うソフトウェアデザインパターンの一つである。 Lazy Initialization 遅延読み込…

C# structとobjectをマッピングする

C#

概要 C#からC言語で記述されたDLLを呼び出す機会が少なからずある。 その時に必ずstruct定義を引数としてデータ設定・取得を行う。 組み込み系だと1バイトのビットフィールドに情報を詰め込むことがあり、 これをそのままアプリケーション側に渡すと使いづら…

C# Visibilityとは

C#

Visibilityを制御する必要があるUIを作成した際に調べたのでメモる。 Visibility列挙型 Collapsed 要素を表示しない、レイアウトの領域も確保しない Hidden 要素を表示しない、レイアウトの領域を確保する Visible 要素を表示する、レイアウトの領域を確保す…