映画『たそがれ清兵衛』の感想

たそがれ清兵衛

たそがれ清兵衛

  • 発売日: 2013/11/26
  • メディア: Prime Video

なにか映画を流しながら PC 作業しようかなあ、と思い、チラチラみながらやってたのだが、だんだんとこれはちゃんと見たほうがよいんじゃないか?と思って、PC を閉じて、映画に集中した。

そのくらい良い映画だった。

まず最初の暗い葬式のような場面が、しんとしていて、悲しさがでていて、はじまりからこの映画の完成度を物語っている。

つぎに、宮沢りえが登場して、清兵衛との恋の予感がある。観ていて感情移入できて、最初の暗い葬式と比べてなごやかなシーンで、人間の感情の描き方の質の高さと幅広さがある映画だなと感じられる。

最初のふたつのシーンで出ているが、この映画は、未来の愛の希望と、過去と現実が示す哀しさを描いてる。

そのコントラストが淡く、非常に人間的で共感できる。

全体的にこの映画は淡々と進んでいき、コカ・コーラのような一瞬で頂点にいく爽快感みたいなものはないのだけど、じわじわとゆっくり惹きつけられる面白さになっている。それが、古き良き日本映画という風格を醸し出している。

最後のシーン。 愛する宮沢りえが待っているかもしれない自宅に帰る清兵衛。

ここはおなじ山田洋二監督の幸せの黄色いハンカチを彷彿とさせる切なさがある。

愛する人が待っているかどうかだ。

OSM データから POI データを抽出する

OSM データの読みだしには Overpass API というのがあり、それを介してデータを取得することができる。

手取り早くこれを試すには GUI で Overpass API を試せるサイトがあるので、これを使ってみる↓

https://overpass-turbo.eu/


この左側に以下のクエリを書く。

この例では "public_transport"="station" として、駅データを抽出しているが、条件を変更することで、いろいろなデータを抽出できるはずだ。 OSM の参考リンク

[out:json];
area["name"~"日本"];
node(area)["public_transport"="station"];
out body;


で「実行」ボタンを押すと、以下のように駅一覧が地図上にマークされる。

f:id:daisuke-t-jp:20200217224329p:plain

さらにこの結果を JSON で欲しければ、

メニューを「エクスポート」→「クエリ」と進んでいき

「OverpassQL (コンパクト) へ変換」をクリックする。

すると API にクエリがくっついた形のリンクがあるので、これを使用する。 たとえば、今回の場合だと

https://overpass-api.de/api/interpreter?data=%5Bout%3Ajson%5D%3Barea%5B%22name%22%7E%22%E6%97%A5%E6%9C%AC%22%5D%3Bnode%5B%22public%5Ftransport%22%3D%22station%22%5D%28area%29%3Bout%3B%0A

になり、駅一覧の JSON データが得られる。


プログラムやバッチ的にやりたい時は

たとえば Python の Overpass API ラッパーが用意されていたりするので、これを使うと良さそうだ。

https://github.com/mvexel/overpass-api-python-wrapper

SwiftUI の UIView を画像にして保存するサンプル

SwiftUI で UIView の内容を画像(UIImage)にして、アルバムに保存するサンプルを作った。

SwiftUI は現在の View を直接 UIView として扱うことは難しいので UIApplication 経由で UIView を取得する感じになる。

extension UIView {
    
    func image() -> UIImage {
        let renderer = UIGraphicsImageRenderer(bounds: self.bounds)
        
        return renderer.image { rendererContext in
            layer.render(in: rendererContext.cgContext)
        }
    }
    
}

extension UIApplication {
    
    static func image() -> UIImage? {
        guard let rootViewController = shared.windows[0].rootViewController else {
            return nil
        }
        
        guard let view = rootViewController.view else {
            return nil
        }
        
        return view.image()
    }
    
}

SwiftUI(iOS 13.3) / ScrollView 上に配置した List の項目選択が残る問題

SwiftUI iOS 13.3 で

  • ScrollView 上に List を配置する
  • その List から NavigationLink で遷移する

を試すと、項目の選択が残ったままになる。

再現させる最小限のサンプルを GitHub においた↓

iOS 13.2 の時点で発生していたんだけど、 iOS 13.3 になっても変わらず。。。

困ったもんだね。




似たような問題が StackOverflow でも上がっていた↓

非税理士が申告書などを作成するソフトを開発、販売することは禁止されているか?

税理士の業務は、独占業務なので、非税理士が事務をすると違法になる場合がある。

では、ソフトウェア・アプリで税理士に関連したものを開発するとどうなるのか?




https://www.nta.go.jp/taxes/zeirishi/zeirishiseido/ihan/qa02.htm

問2-3 他人の求めに応じ、業として、申告書等の作成ソフトを開発又は販売することは、非税理士により行うことが禁止されている税理士業務に該当しますか。 答 非税理士が申告書等の作成ソフトを開発又は販売することは、非税理士により行うことが禁止されている税理士業務のいずれにも該当しません(問2-1参照)。 【参考法令等】

法第2条、第52条

大丈夫そうである。

SwiftUI で iOS アプリを個人開発&ストアに公開した

2019年に Apple から SwiftUI が発表された。

今回、その SwiftUI を使ってアプリを開発&ストアに公開までしたので、実際 SwiftUI 使ってみての感想などをメモする。

公開した iOS アプリ

公開したアプリは以下である。

複雑で難易度が高いアプリだと SwiftUI も慣れていないため、挫折しそう。。
なので、ある程度やりやすそうな題材を選んだ。

最初、審査に提出したら内容がコンパクトすぎたのか、Minimum Functionality でリジェクトされた。。

その後、すこし機能追加して、無事審査は通った。

SwiftUI の初期印象

最初に触ったみた SwiftUI の印象

  • あくまでも UI を記述するたの機構
    • 今までの Swift コードの View, ViewController にあたる部分が SwiftUI で書き換えれるイメージ
  • SwiftUI は Swift 固有の言語(DSL:domain-specific language)であるので Swift とは別に学習が必要であり、すこしとっつきにくい
  • UI コンポーネントの名前が UIKit と微妙に変わっていてややこしい
    • UITableView -> List
    • UISwitch -> Toggle
  • データフローまわり、よくわからない・・・
  • SwiftUI を使うと iOS 13 以降が対象になる -> なんか未来感があってイイ

よく理解できず、これでアプリが作れるんだろうか? という不安を感じた。

SwiftUI チュートリアルで学ぶ

まず公式のチュートリアルは鉄板なので、動かしてみてみる。

このチュートリアルをみていくと、アプリをつくるために必要な

  • NavigationView (画面遷移)
  • List(UIKit でいえば UITableView)
  • Environment (アプリ全体でつかうデータ)
  • @State (UI で変更した値と連動)

などの要素を学べる。

このチュートリアルで基礎を学んだら、いろいろ自分で、こういうのは SwiftUI でどう実現するのかな? という題材をつくり、トライして理解度を高めてゆくとよい。

SwiftUI サンプルを作って理解度を高める

いろいろサンプルを作って、動作を確かめていく。
私は以下のサンプルを作って試した。

参考になった情報

マネーフォワードさんが SwiftUI で実際にアプリをリリースした時の記事。

SwiftUIの大変なところ 現状のSwiftUIには様々なバグや不足しているAPIなどまだまだ残っているなという印象です。

先行していろいろ試している方の記事を読んで「諦めが肝心」というマインドを得た。


こちらのリポジトリには、まとまった SwiftUI コードがあって、実装の上で大変参考になりました。
Appleチュートリアル以外で、ある程度の規模がありながら、動作する SwiftUI のコードは貴重である)

感想

アプリを開発/公開したり、いろいろ調べた結果
2020/1/7 現在、SwiftUI でアプリ開発することはまだ辛いな、という印象。

以下、理由

一方で

今は SwiftUI そのものが改善されていくのを日々体験できる、という特別感があり、今後行き先はどうなるのか、楽しみではあります。 (Swift は OSS ですが、 SwiftUI は Closed な Apple 感があるような気がしますね)