概要
Vivliostyleの小形さんからお声がけいただいて、2022年12月-Vivliostyle開発者会議で『Vivliostyleの公式テーマをカスタマイズして、ゆめみ大技林 '22のテーマを作った』というテーマで登壇しました。
資料
登壇した感想
直接開発者の方に意見が言えたり、困りごとの解決方法を聞けたり、知らなかった技術の話を聞けたりして、とても有意義でした。
さいごに
次回制作する技術同人誌では今回仕入れた情報をもとに、よりよい本を作りたいと思います!
Vivliostyleの小形さんからお声がけいただいて、2022年12月-Vivliostyle開発者会議で『Vivliostyleの公式テーマをカスタマイズして、ゆめみ大技林 '22のテーマを作った』というテーマで登壇しました。
直接開発者の方に意見が言えたり、困りごとの解決方法を聞けたり、知らなかった技術の話を聞けたりして、とても有意義でした。
次回制作する技術同人誌では今回仕入れた情報をもとに、よりよい本を作りたいと思います!
毎年楽しみにしているiOSDCに今年は初めてのプロポーザルを提出してみました。
元DTPオペレーターからiOSアプリエンジニアになった自分ならではのテーマがないかと考えた結果、他の人とかぶらないようなテーマのプロポーザルが出せました。
数年前に私が実際に依頼された内容をベースに、Illustratorの実例を交えたお話ができたらいいなと思っています。
まだ採択されてないけど。
文章考えるの、難しいね
株式会社サポーターズ様の学生向けの勉強会で、ゆめみのiOSエンジニア3人が設計やアーキテクチャについて発表しました。 私は「設計を知るための第一歩を踏み出そう」というタイトルで発表しました。
発表資料を作りながら設計とはなにかを再度勉強し直す機会となり、私自身にとっても得るものが多かったです。 また社内でなにをテーマとして発表するか決めたり、発表者3人がどういう構成で話すか決めたり、私が聞きたいことを盛り込んでもらったり、事前準備含めて勉強になりました。 設計は一家言ある方が多いテーマですが、発表を聞いてくださった方になにかしら実りがあったらうれしいです。
株式会社サポーターズ様、ご参加いただいた皆様、発表してくださった皆様、ゆめみの運営サポートメンバーの皆様、ありがとうございました!
2022/04/22開催のYUMEMI.自動化 feat. note tech meetupで登壇しました。
noteさんとの共同開催の勉強会で、YUMEMI枠、note枠、公募者枠に応募した登壇者が自動化について発表しました。 私はYUMEMI枠のうちの一人として、「AutomatorでFFmpegを呼び出して動画ファイルをGIFに変換するフォルダアクションを作った」というタイトルで、動画ファイルをGIFに変換する作業をAutomatorを経由することで自動化する方法について発表しました。
いろいろな分野の自動化のお話が聞けて、参加者としても楽しかったです。 だっしーさんのAmazon Aurora Serverlessの話を聞いてDBのオートスケールってすごい時代だなって思ったり、noteさんのZapierの活用っぷりすごいなって思ったり、shirailyの発表を聞いて改めて住所入力フォームって統一してほしいよねって思ったりしました。 fromkkさんからMacのショートカットアプリでなんか自動化できそうですよねって宿題を投げられたので、今後はその路線でもなにか自動化できるネタがないか探してみようと思います。
ご参加いただいた皆様、発表してくださった皆様、ゆめみの運営メンバーの皆様、ありがとうございました!
フォロワーさんから「Adobe の ExtendScript が Apple Silicon 環境で動かないという話を聞いたが、実際どうなの?」と質問されたので、簡単に調べてみた
これは特にソースは見つからなかったけど、おそらく BridgeTalk の話と一緒くたになってそう。
手元で試したところ、特になにもせずスクリプトを起動できてしまった。
試したコードは以下。
//@targetengine "hoge" var progressBar = makeProgressBar('プログレス'); progressBar.show(); function makeProgressBar(title) { var palette = new Window("palette"); palette.text = title; palette.preferredSize.width = 700; palette.preferredSize.height = 60; palette.alignChildren = ["center","center"]; palette.spacing = 10; palette.margins = 16; palette.myProgressBar = palette.add("progressbar", undefined, undefined, {name: "myProgressBar"}); palette.myProgressBar.maxvalue = 100; palette.myProgressBar.value = 0; palette.myProgressBar.preferredSize.width = 450; palette.myProgressBar.preferredSize.height = 20; palette.myProgressBar.alignment = ["center","center"]; var button = palette.add("button", undefined, undefined, {name: "OK"}); button.onClick = function () { alert('Button clicked!'); } return palette; }
私が販売しているスクリプトが動かないという報告を受けて、その際に「BridgeTalk を利用しているとだめっぽい」と教えていただいた。
ググったところ、UserVoice にもあがっていた。
https://indesign.uservoice.com/forums/601180-adobe-indesign-bugs/suggestions/43993263-scripts-using-bridgetalk-do-not-work-on-m1-macs-r
これ、Vote 数少なくないけど、困っている人そんなにいないんですかね。
Illustrator で ScriptUI + BridgeTalk + ExtendScript という構成で作成していると、詰むはずなんだけど。
根本原因は Adobe に解決してもらうしかないので、当座の対策として Rosetta 環境で Illustrator を起動するしかなさそう。
なんのための Apple Silicon なのか。
ちなみに Rosetta 環境で起動させる手順は以下のとおり。
1. Finder で 該当アプリケーションを選択する
2. 情報を見る
3. 開いたダイアログ内の「Rosetta を使用して開く」にチェックを入れる
4. アプリケーションを起動する
これは人づてに聞いた話がもとで調べた。
ググったら Adobe のコミュニティで解決策が提示されていた。
https://community.adobe.com/t5/indesign-discussions/vscode-extendscript-debugger-on-m1-doesn-t-ask-to-select-target-and-selectactivetarget-not-found/td-p/12006537
要約すると 公式サイト の Intel Chip をダウンロードしてインストールし、ExtendScript Debugger をインストールすればよい。
Universal、Apple Silicon も試してみたが、だめだった。
すでに ExtendScript Debugger がインストール済の場合は、VS Code を起動した時点で読み込まれるっぽい。
複数バージョンの VS Code が存在することになるので、ちょっと鬱陶しいけど、解決するまではこうするしかなさそう。
Apple も Adobe も 環境的に DTP に向いていない気がする。
正直だいぶやる気を削がれている。
UXP になったら少しは改善するんですかね。
お昼休みを利用して久しぶりに社外の勉強会に参加しました。
自分の備忘録代わりにブログに残しておきます。
『ラクマ x STORES LTイベント ~ iOS開発の裏側 ~』 https://hey.connpass.com/event/236189/
2021 年の振り返り記事です。
2 月から 11 月まで Android チームに異動して、Android エンジニアに転向していました。
Android アプリ開発自体は浅く関わってきていたんですが、今年は本腰いれて開発してみたいと思って、チームを異動しました。
担当したタスクで思い入れがあるものを、いくつか具体例として挙げます。
ドラッグで画面を閉じれないようにするという仕様があったのですが、ライブラリのバージョンの関係で isDraggable
が使えない(バージョンをあげると他の影響が大きすぎて断念)ので、state を細かく制御して強引に実現しました。
だいぶ時間をかけてしまったけど、満足のいく機能になったかと思います。
isDraggable
を使ったボトムシート制御もそのうち実装してみたいですね。
新画面で RecycleView
を追加する必要があったので、プロジェクトに初めて ListAdapter
を導入してみました。
iOS の CompositionalLayout
と同じように差分更新を OS がいい感じにやってくれるのと、コードの記述量が少なく読みやすくもなるので、以降私が RecycleView + ListAdapter
で実装するようになりました。
クリックイベントを ViewModel でハンドリングするように試みたりもして、RecycleView + ListAdapter + DataBinding
の組み合わせはめっちゃ好きですね。
新機能の開発時に Java から Kotlin に置き換え、ついでにモダンな構造に置き換えました。
2 つの言語の違いがわかる作業で、好きな作業でした。
MVP の構造がコードを追いづらいよねっていう話がチーム内で定期的にあがるので、シンプルな画面を MVVM に置き換え、ついでに Coroutine を使ったり、LiveData
に置き換えました。
Flow
を使ってみたいなと思ったのですが、怒涛のタスクラッシュに見舞われて調査時間が取れず、誰でも理解できる LiveData
で妥協しました。
この作業も楽しかったです。
長年理由がわからず動いていなかった Bitrise 上の UITest を動くように直しました。
やったことは単純で、公式ドキュメントの Device testing for Android を参考にして、ワークフローを作り直しただけです。
iOS チームにいたときにも Bitrise のお守りをしていたので、CI/CD のお守りも結構好きな作業かもしれないです。
Arctic Fox にしたらなぜか UnitTest のビルドができなくなってしまった問題が発生したので、直しました。
stackoverflow を参考に対応しただけ。
実装ではないですが、未経験で入社した方との 1on1 やメンター的なことをやりました。
実装タスクだけじゃなくて、地ならしやチームマネジメントみたいなことまで、いろいろやりましたね。
なかなか満足のいく成果がだせたと思っています。
Kotlin の書き心地がいいのと、JetPack Compose が気になっているので、Android のキャッチアップは来年も続けていきたいです。
12 月に転職して、iOS エンジニアに戻りました。
今後も Android エンジニアとしてキャリアを積んでいく道も考えたけど、やっぱ iOS の世界観が好きだなーって気づいて iOS エンジニアに戻ることにしました。
関係ないけど、Findy、Lapras のオファー的なのは Android のほうが多かった印象がありますね。
まだまだ Android エンジニア不足は続くのかしら。
そのうち転職エントリ的なものを書くかもしれないし、書かないかもしれない。
DTP スクリプト開発の技術顧問的なお仕事をしています。
大阪 DTP の勉強部屋で登壇したときの 資料 がきっかけで声をかけていただきました。
業務内容は、クライアントが実装したスクリプトのレビュー、ワークフローやスクリプトの困りごとの相談、スクリプトの実装です。
実装だけでなく、クライアントのコードレビューやワークフローの相談を受けることで、私も勉強になっています。
来年も引き続きお力添えしていきたいです。
今年もカタログ系の自動化ツール開発を受注しました。
データの作りがしっかりしているのと、過去に受注したスクリプトでいろんなパターンをスクリプトに落とし込めているので、短期間で満足いただけるものを納品できてよかったです。
来年も受注できたらいいな。
DTPerのスクリプトもくもく会 を主催して、来年の 5 月で 5 周年になります。
今年もオンライン開催しかできなかったですが、6 回開催できました。
ご参加いただいた方、またいつも準備に余念がないメイン主催 id:uske_S 、ありがとうございました。
DTPerのスクリプトもくもく会 #21 - オンライン
DTPerのスクリプトもくもく会 #22 - オンライン
DTPerのスクリプトもくもく会 #23 - オンライン
DTPerのスクリプトもくもく会 #24 - オンライン
DTPerのスクリプトもくもく会 #25 - オンライン
DTPerのスクリプトもくもく会 #26 - オンライン
来年も引き続き開催していきたいので、ご参加お待ちしています。
作りかけのものはここに挙げたもの以外にもいくつかあるのですが、公開に至ったものだけ挙げています。
4 リポジトリしか公開に至らなかったので、来年は作りかけのものを完成させたり、別になにかを作ってもっと公開していきたいです。
体重が一時期8キロを超えてしまい、獣医と相談してダイエットフードに切り替えました。
原因は日々隙をみて虎次郎のご飯を盗み食いしているからです…。
切り替えたご飯は 猫用 pHコントロール+満腹感サポート ドライ です。
レノくんはストルバイトが原因で下部尿路疾患になったことがあるので、pH コントロールのご飯を食べる必要があって、ちょうどロイヤルカナンから新しいご飯が発売されたので、それに切り替えました。
最初はあんまり食べてくれなかったけど、最近は諦めたのか食べてくれるようになりました。
獣医に相談して、猫用鰹節をふりかけているからかもしれない。
幼少期からたまに発生していた発作が特発性てんかんと診断されました。
二ヶ月ぐらい各種検査(血液検査とか)をするために週末に通院する日々が続き、MRI もうけました。
毎日薬を飲ませる必要があって、日々試行錯誤の日々です。
医療用ちゅーるに乗せてみたり、ちゅーるに乗せてみたり、投薬用のおやつにくるんでみたり。
結果的にすべて見破られてしまい、結局保定して口の中に薬をいれてごっくんさせるという昔ながらの方法で落ち着きました。
薬を飲んだあとはちゅーるを袋半分だけあげるルールが定着しているので、最近は虎次郎も前ほど暴れずに受け入れてくれるようになりました。
焼きがつおちゅーるが約束されたおいしいものと認定されているので、もう我が家は焼きがつおちゅーるを欠かせなくなりました。
正月に PUBLIC TOKYO で買った緑色のコートがお気に入りなので、来年はいろんなところに着ていけたらいいなと思っています。
また、M1 Mac が発売されてしばらく経ち、そろそろ手元にほしいなと思っていたところに、M1 Max MacBook Pro が発表されたので、二週間くらい悩んで買いました。
M1 Proで十分だった可能性が高いですが、まぁ大は小を兼ねると思って。
謎のスリープ中のバッテリー消費問題があるものの、大満足です。
Intel Mac は Adobe アプリのスクリプト開発で使うことがありそうなので、手元に残しています。
それ以外の開発環境を削除して容量をあけて、妻にレンタルする予定。
オフライン、オンラインでお会いした方々、また SNS で遊んでくれた方々、今年もお世話になりました。
来年はリアルで飲み会とかしたいですねぇ。
おいしい日本酒やウィスキーを好きな人とただただ飲む時間をすごしたい…。
また、個人開発でなにか作りたい欲もあるので、それもがんばりたい。
SwiftUI か Flutter かなやんでいるけど、どっちにしようかな。
せっかく M1 Max にしたので、Blender や Houdini などの 3DCG もやってみたい。
来年もいろいろやりたいことがありますね!
それではみなさん、よいお年を!