SwiftUI
Observation Frameworkでアプリ環境変数をViewで監視する2つの方法
Appleのデバイス上で動くアプリで使われる値監視メカニズムは、かつてはCombineフレームワークと共に導入されたObservableObjectプロトコルを使ったものだった。今はObservationフレームワークが使われる。これはSwiftUIをインポートすれば同時に利用できる。
Package.swiftの書き方
Package.swiftとはAppleの開発環境でLibrary, App作成のためのProjectファイルっぽいものである。
ScrollView-SingleView画面遷移
NavigationLinkを使ったListViewとDetailedView間の画面遷移と似た画面遷移を実現する方法を見つけた。
SQLite.swift の使い方
SwiftからSQLite3を扱うためのFrameworkは複数ある。Swift Package Indexで検索するとダントツに星が多いのがSQLite.swiftだ。
Xcode Build Numberを自動更新
この記事では、日付とカウンターに基づくカスタム フォーマットを使用して、Xcode でビルド番号をビルド毎に自動で増やす手順を説明します。下図の様にmacOS AppのAbout Menuで表示されるカッコ内の数字1がビルド番号です。
macOSアプリのWindow Size変更
SwiftUIはmacOSアプリのWindow Sizeを変更する手段を提供していない。ViewのLayoutの制御手段が主でWindow管理は別物だ。View.frameモディファイアでWindow Sizeを制御出来るようにも思えるがやってみると上手く行かない。
Observable Macro
Observable Object protocolからObservable Macroへの移行ガイドを参考にmacOS App Projectを作ってみた。PreviewでData Bindingが機能している。
Apple DocumentationではObservable MacroとはデザインパターンのSwift版実装だと紹介されている。SwiftUIに組み込まれたCombineとは違い、Windows, Linuxでも動作するのだろう。
Migrating from the Observable Object protocol to the Observable macro | Apple Developer Documentation
iOS
Swift5.1 Custom Attribute
カスタム属性・関数ビルダー
Why Rx Extension?
なぜReactive Extensionなのか?
Swift5.1 Tips2
Swift5 新機能
RxSwift
RxSwift
Swift5.1 Tips
初見殺しのSwiftヘンテコ構文
画像の並進、拡大
座標変換、画像の回転はどうやる?
Ruby
pdf, 7z, zip, xls, xlsxファイルからtext抽出
Rubyで日本取引所グループ(JPX)から入手できる規模別株価指数、構成銘柄リストを読んでみる。やってみると、pdfは27pagesもあって全ページ検証したわけでは無いが一見すると上手く読むことができた。ところどころ謎の改行が含まれている。popplerコマンド(brewでinstall可能)だと壊れた表のレイアウトが維持されている。構成銘柄一覧は、呼値がTOPIX500銘柄が特別細かく設定されて取引されるので、株式売買シミュレーション(バックテスト)を厳密にやりたい時に必要となる。
homebrewで意図せずRubyのバージョンが変わってしまって時にやったこと
Rubyでpdfファイルの中の表からCSVファイルを作ろうとした。結局は失敗するのだが、brew install popplerを実行するとbrew updateが走り出してvim, ruby,…がupdateされてしまった。するとvim-lspが動かなくなってしまった。後から解るのだが、solargraphがRubyのVersion Upにともない動かなくなってしまったのだ。そこでvim-lspが再度動くようになるまでの格闘記録を残す。
Pointerを受け取るC言語関数(ta-lib)をRubyから呼出す
株価分析ソフトを作る際に利用されるTA-LibをRubyから活用する方法を説明する。この記事では移動平均を算出するTA_MA関数を例にまずはC言語から呼出すコードを掲載し、更にRubyからも呼出すコードも示す。
default
This is Just Another Post
I have some text.
Syntax Highlighting Test
Jekyll uses Rouge by default for syntax highlighting, here are some tests.
Default
How to push
トラブル解消だよね
pushしようとすると[rejected]となる場合、pull(merge)してみる。
JavaScript
JavaScript: Clousure
lunr.jsの動作を理解するためにJSのClousureについて調べてみた
YouTube
youtube
This post tests YouTube video embeds.
diary
最近思うこと
26年続けた(1992 - 2018)サラリーマンを無計画に辞めたオッサンの生き様を綴る。 Jekyllでブログを書き始めた。昨日の夕方から作業を開始して今ようやく記事を掛ける用になった。今使っているmimima themeはcategoriesが表示されない。 適当なのを探すことにする。それからlangの設定を変更する方法も! site.langをいじるのかな? Variables | Jekyll • Simple, blog-aware, static sites