ローソンデジタルイノベーション テックブログ

ローソンデジタルイノベーション(LDI)の技術ブログです

KotlinでDateの操作を簡単にするライブラリをつくってみる(その7)

開発者Gです。前回はDateに年月日時分秒ミリ秒を加算、減算するのに便利な拡張関数を追加しました。今回はDate, LocalDate, LocalDateTimeの相互運用について考えてみます。 Date, LocalDate, LocalDateTimeの相互運用 DateInteropExtension.kt 使用例 実行…

KotlinでDateの操作を簡単にするライブラリをつくってみる(その6)

開発者Gです。前回はDateを文字列にフォーマットする拡張関数と、文字列をパースしてDateを取得する拡張関数を追加しました。今回はDateに年月日時分秒ミリ秒を加算、減算するのに便利な拡張関数を追加します。 Calendarで加算、減算を行う方法 CalendarPlus…

KotlinでDateの操作を簡単にするライブラリをつくってみる(その5)

開発者Gです。前回は日付の操作を簡単にするオレオレライブラリのコンセプトを示し、まずDateとCalendarに関する問題を解決する拡張プロパティを作りました。今回はさらにDateを文字列にフォーマットする機能と、文字列をパースしてDateを取得する機能を拡張…

KotlinでDateの操作を簡単にするライブラリをつくってみる(その4)

開発者Gです。前回はSimpleDateFormatに関する諸問題を回避する方法として Apache Commons、Date and Time API、Joda-Time などについて触れ、それぞれの特徴や考慮すべき点について確認しました。いよいよ今回は日付に関するオレオレライブラリを具体化して…

KotlinでDateの操作を簡単にするライブラリをつくってみる(その3)

開発者Gです。前回はSimpleDateFormatの使用例と問題点について書きました。 今回はそれらの問題を回避する他の方法を確認します。 Apache Commonsはどうなの? DateUtils/DateFormatUtils DateUtils/DateFormatUtilsの使用例 実行結果 DateUtils/DateFormat…

KotlinでDateの操作を簡単にするライブラリをつくってみる(その2)

開発者Gです。前回は日付の操作を簡単にするライブラリを作成する動機について書きました。 今回はJavaで昔から使用されているSimpleDateFormatクラスについて、何が問題かを確認します。なお、ソースコードはJUnitのテストメソッドの部分のみを抜粋して表示…

KotlinでDateの操作を簡単にするライブラリをつくってみる(その1)

開発者Gです。 初投稿です。長年使ってきたC#からKotlinを含むJava系の言語を使い出して久しいですが、Javaのクラスライブラリは使い勝手やら仕様やらで???となって悶絶することが多いです。特にDateやCalendarなど、使用頻度の高いクラスはコード記述量…

アプリの画面設計で考慮している状態表現についてまとめてみた

こんにちは!iOSエンジニアの柳です。 今回はアプリ開発におけるUIの状態表現について記事を書きたいと思います。 背景 開発を行う際、一枚絵のデザインを見た時にこのデータパターンはどう表示するんだっけ?と考え始めると手が止まり生産性が落ちるため、…

初期値を入れて楽々コーディング

こんにちは、iOSエンジニアの柳です。 今回はコーディングする際に工夫していることについて記事を書きたいと思います! メソッドの引数に初期値を入れてコード量を減らす取り組み 最近開発をしていてメソッドの引数に初期値が入っていないと呼び出すのが少…

Appiumは複数アプリを操作できる

ども。LDI品質管理部の仙波です。 スマホアプリの自動テストを担当しています。最近は運動不足解消のためよく散歩していますが、新たなルートを開拓するのが楽しみです。さて、今日もAppiumの使い方を探求しましょう。 今日は複数のアプリを操作する方法を紹…

技術ブログのタイトルデザインのはなし

こんにちは!今回は、技術ブログのタイトルデザインが新しくなりました!ということで技術ブログではありますが、デザインを作るときに考えたことなどお話いたします。 改めてはじめまして! 4月にLDIに入社しました、デザイナーの松本です。よろしくお願い…

Appiumで期待した画面が表示されていることを検証する

ども。LDI品質管理部の仙波です。 スマホアプリの自動テストを担当しています。最近はリモートワークの影響でサイズアップしたのでダイエットを画策中ですが、なかなかうまくいきません。さて、Appiumの使い方について少し実践的に学んでいきましょう。 今日…

macOS を Big Sur から Catalina へダウングレードする方法

はじめまして、LDIのモバイルアプリエンジニアの阪口 祐香です。 開発をやっているとmacOSを過去のバージョンに戻したい場合があります。 Time Machineが利用できる場合は良いのですが、そうでない場合は工場出荷時の状態に戻してから作業する必要があります…

SwiftPackageManagerによるライブラリの導入をしてみた

はじめまして、LDIのモバイルアプリエンジニアの庄司です。 今回はLDIの開発でSwiftPackageManager(SPM)を導入したため、導入方法を紹介していきます。 この記事はSPMを導入したいと思ってる人向けです。 導入経緯 テストフレームワークのNimbleとQuickをCar…

finalとprivate修飾子の有無でビルド速度が変化するのか検証してみた

はじめまして、去年末にLDIに入社したiOSエンジニアの柳です。 今回はビルド速度改善に関する記事を書きたいと思います。 今回やったこと finalとprivateを付与することでビルドの速度が改善される。という話は以前から聞いたことがあったのですが、どれくら…

AppiumでXPathを使用すると遅いらしいけど、どれくらい遅いの?

ども。LDI品質管理部の仙波です。 スマホアプリの自動テストを担当しています。最近は基本的にリモートワークですが、気分転換に商店街まで散歩してたい焼きを買って帰るのが楽しみです。 前回はXPathを使って画面要素を柔軟に取得する方法を紹介しました。 …

AppiumでXPathを使用して目的の要素を取得する

ども。LDI品質管理部の仙波です。 スマホアプリの自動テストを担当しています。最近はDysonの空気清浄ファンヒーターがお気に入りですが、電気料金の請求書を見てちょっと焦ってます。 前回は Androidアプリの画面を操作・検証する基本的なコードを紹介しま…

AppiumでAndroidアプリの画面を操作・検証する

ども。LDI品質管理部の仙波です。 スマホアプリの自動テストを担当しています。前回は IntelliJ IDEA+Appiumでスマホアプリのテスト環境をつくりました。 今回はAndroidの設定画面を例にテストコードの作成方法を紹介したいと思います。 作成するテストのイ…

IntelliJ IDEA+Appiumでスマホアプリのテスト環境をつくる

ども。LDI品質管理部の仙波です。 スマホアプリの自動テストを担当しています。歳はかなりハイレベルですが、マネージメント業の傍ら、まだまだ現場の技術者としてやって行く気満々です。ここしばらくはAppiumを活用した自動テストに取り組んでおり、試行錯…

LDIの開発環境を紹介します!

はじめまして、ローソンデジタルイノベーション(LDI)の開発チームです。 この度、技術ブログを立ち上げることになりました。 今回は弊社の紹介も兼ねて開発環境の全体像を紹介させていただければと思います。 株式会社ローソンデジタルイノベーション それで…