タグ

ブックマーク / note.com (994)

  • Rails で Playwright が公式にサポートされたので RSpec 経由で使ってみた|ONE CAREER Tech Blog

    Ruby では Capybara というライブラリを経由して自動操作ツールを呼び出すことが多いです。この辺りのエコシステムについては PlaywrightRuby クライアントを開発してくださっている Yusuke Iwaki さん(@yi01imagination)のスライドがわかりやすいです。 RailsPlaywright をつかった E2E テストを動かしてみるGem のインストールまずは必要なライブラリをインストールします。 Rails は main ブランチを指定しつつ、Playwright を動かすために必要なライブラリを導入します。 gem "rails", github: "rails/rails", branch: "main" group :development, :test do gem 'rspec-rails' end group :test do

    Rails で Playwright が公式にサポートされたので RSpec 経由で使ってみた|ONE CAREER Tech Blog
    invent
    invent 2024/07/03
  • Now in REALITY Tech #16 REALITY iOSの設計レビューで活用しているPlantUML|REALITY

    中長期規模の機能開発で設計レビューが必要な際、設計イメージが図示されているとレビュワーとの認識齟齬が発生しづらいです。UML描画ツールであるPlantUMLの活用法についてREALITY iOSチームの事例をまとめていきます。 概要ここ1ヶ月で3つほど記事を投稿しているかむいです。 今週の『Now in REALITY Tech』はiOSチームが担当します。 REALITY iOSチームの設計レビューでは説明を円滑に行うためにUML図を活用しているのですが、描画ツールとしてPlantUMLを使っています。 普段の設計レビューでの活用事例について書いていこうと思います。 PlantUML is 何クラス図やシーケンス図などのUMLを素早く描画するためのDSLです。 使えるエディターは色々あるようですが、かむいはVS Codeを利用しています。Kibelaの様にWikiに直接PlantUMLを

    Now in REALITY Tech #16 REALITY iOSの設計レビューで活用しているPlantUML|REALITY
    invent
    invent 2024/06/18
  • Xcode 16 Betaの「Testing」の紹介 - 主に「Swift Testing」について|tarappo

    Xcode 16 Betaリリース今年もWWDC24の時期になり、Xcode 16 Betaのリリースノートが公開されました。 今回のリリースノートでは「Test Report」「Testing」「XCTest」という項目があります。 「XCTest」には新たに追加されたAPIについての話が記載されています。 この話もしたいところですが、今回の(私にとっての)最大の目玉は「Testing」に記載されている「Swift Testing」といっても過言ではないでしょう。 そこで、記事ではpublicに公開されているリリースノートやドキュメントに記載された内容をベースに「Testing」の箇所について紹介していきます。 なお、正式リリース後に追加の記事を書きたいと思います。 「Testing」項目の抜粋Testingに記載されている内容を抜粋して書くと次のような感じです。 Xcode 16から

    Xcode 16 Betaの「Testing」の紹介 - 主に「Swift Testing」について|tarappo
    invent
    invent 2024/06/14
  • The Composable Architectureを使ってみた|TAAT

    iOSアプリの開発ではMVCやMVP、MVVMなどのGUIアーキテクチャが採用されることが多いが、宣言的UIフレームワーク(同様のフレームワークでJetpackComposeやFlutterReactNativeなどがある)であるSwiftUIの登場により、SwiftUI時代に合ったアーキテクチャを検討する必要が出てきた。今回はSwiftUI開発で使えるThe Composable Architectureというアーキテクチャを簡単に紹介する。 宣言的UIとは?宣言的UIでは、アプリのステータスに応じて、どのようなUIになるべきかを宣言的に記述する。また、リアクティブなデータバインディングで実現されるため、データドリブンな方法と言える。そのため、データの流れやステータスの管理が重要になり、モデル層以下がしっかり設計されたアーキテクチャが必要となる。 The Composable Arch

    The Composable Architectureを使ってみた|TAAT
    invent
    invent 2024/06/10
  • NavigationStackで画面遷移をコードで制御|TAAT

    SwiftUIでiOS 16から従来のNavigationViewによる画面遷移がdeprecatedになり、代わりにNavigationStackが発表された。NavigationStackを使うことで、従来では難しかったコードベースでの画面遷移や遷移元の特定画面に戻るなどの制御がしやすくなる。 NavigationViewまず従来のNavigationViewでの画面遷移方法だが、基的な画面遷移は以下のようにNaviagtionViewをルートViewとして、NavigationLinkで遷移先のViewとLabelを指定する。 struct ContentView: View { // 基的な画面遷移 var body: some View { NavigationView { NavigationLink(destination: SecondView()) { Text("N

    NavigationStackで画面遷移をコードで制御|TAAT
    invent
    invent 2023/09/05
  • iOS版『NAVITIME』をリアーキテクチャした話|NAVITIME_Tech

    こんにちは、s-pongです。ナビタイムジャパンでiOS版『NAVITIME』の開発を担当しています。 iOS版『NAVITIME』は、2022年7月に全面リニューアルしました。iOS版『NAVITIME』をリニューアルした話は、すでに別の記事にてお話ししていますが、この記事ではもう少し開発サイドにフォーカスを当てて、リアーキテクチャしたことについてお話ししていきたいと思います。 背景『NAVITIME』は2010年にスマートフォン向けのサービスを提供開始しており、今日までたくさんの機能追加や改善を重ねてきました。 今では多くのユーザーの方に利用していただき、開発者としてとても嬉しく思っています。 一方その裏側で、『NAVITIME』は当社アプリの中でもトップクラスの複雑さを持ったアプリへと成長を遂げました。 別の記事での「技術面での課題」でも触れていますが、 今となっては利用されているか

    iOS版『NAVITIME』をリアーキテクチャした話|NAVITIME_Tech
    invent
    invent 2023/08/18
  • Active Jobをレイヤードアーキテクチャにどう取り入れるか|PharmaX Blog

    記事は、PharmaX Advent Calendar 2022の 5日目の記事です。 PharmaX株式会社、エンジニアの江田(@asamuzakE)です。 普段はSM(セルフメディケーション)事業のLINE bot、管理画面の開発をしています。 今年は、PharmaXでアドベントカレンダーをやることになりました! というわけで僕は、SM事業でRailsのActive Jobをレイヤードアーキテクチャにうまく取り入れるためにしている工夫を紹介しようと思います! SM事業のアーキテクチャActive Jobの話の前に、まずSM事業のバックエンドアーキテクチャについてざっくり解説したいと思います。 Railsを採用しており、レイヤードアーキテクチャになっています。 基的には業務ロジックをLogicに書き、その業務ロジックを実現するためのDBアクセスなどをRepositoryで行います。

    Active Jobをレイヤードアーキテクチャにどう取り入れるか|PharmaX Blog
    invent
    invent 2023/07/12
  • Notionでテストケース管理してみた|レスキューナウ(24時間365日 災害・危機対応をサポート)

    こんにちは。株式会社レスキューナウで社内基幹システムのマネジメントをしている金子です。 今年に入り社内で大規模にNotionを使い始めたので、他のwebサービスを利用していたテストケース管理をNotionに移行したお話をさせていただきます。 求める要件は少ないチームで利用していたテストケース管理はデータ検証と結合試験のもので、特に自動化するなどはしていません。 単体テストは既にGithubActionsで自動化をしてたり、順次自動化していますので、ここではあくまで「○○な場合、○○となる」みたいなテストケースを記述するという単純な要望でした。 利用するNotionの機能今回は以下の機能を利用します。 テンプレート データベース この2つだけで実現できます。 手順1)テストケース管理用のページ作成 テストケースのリンク用のページです。 テンプレート用のボタンを用意するのと、そのボタンを利用し

    Notionでテストケース管理してみた|レスキューナウ(24時間365日 災害・危機対応をサポート)
    invent
    invent 2023/04/04
  • Node.js(ES6で実装)におけるESLint・Prettierの設定を1からやってみた|SHIFT Group 技術ブログ

    はじめにこんにちは、SHIFT の開発部門に所属しているKatayamaです。 開発をしていく中に静的解析・構文チェックが常に走る状態になっておらず、開発後に一気に静的解析・構文チェックを実行すると、中々悲惨な事になってしまいます・・・。というわけで今回は JavaScript の開発をする上では必須とも言える静的解析・構文チェックツールである ESLint・prettier の設定を 1 からやってみたので、それについて書いていこうと思います。 合わせて、ESLint・prettier の設定に合わせた VS Code の設定も行ってみたので、それについても書いています。 ※なお、今回 ESLint の設定を行うプロジェクトは、Node.js で ES Modules を利用して実装しているものにります。Node.js で ES Modules を利用するための設定についてはNode.j

    Node.js(ES6で実装)におけるESLint・Prettierの設定を1からやってみた|SHIFT Group 技術ブログ
    invent
    invent 2023/03/17
  • GoogleのDurhamオフィスから追い出されました|ばやしこ|note

    こんにちは。大変お騒がせしております。ばやしこと申します。 日をもって、GoogleのDurhamオフィスから追い出されました!! ヤーーーーーーー!!!!! 2022年7月11日よりGoogle Cloud Interconnectというチームに入社し、North Carolina州DurhamにあるオフィスでSoftware Engineerとして約半年間、仕事をしてきました。 ココ…ところが日1月10日(火)を以て、GoogleのDurhamオフィスから自分の荷物をまとめ、現在のチームでの業務を止めるよう命じられました。 去年の7月にこんな記事を書いてドヤっていましたが、まさかちょうど半年くらいで自分がこんな状況になるとは思いもしませんでした。 最近Twitterのニュースで見たやつと同じことをまさか自分が…とは言っても、クビになったわけではないです。ローパフォーマンスとか、会社

    GoogleのDurhamオフィスから追い出されました|ばやしこ|note
    invent
    invent 2023/01/11
  • 最近うまれた「ふりかえり手法」と活用できそうな場面|SHIFT Group 技術ブログ

    はじめに こんにちは、SHIFTにてアジャイルQAをしている西薗(にしぞの)です。 突然ですが皆さん、日々の仕事の"ふりかえり"をしていますでしょうか? アジャイル開発現場に従事しているとKPT(keep problem try)をよく耳にしたり、実際に行っている方々もいらっしゃるかと思います。 ここでKPTって?という方に簡単に説明すると、 現状を見直す際に、keep(このまま継続すること)、problem(課題)、try(解決策)という3つの項目を書き出して、今後どうするかを考えるものです。 ただそのKPTばかりじゃない、日々生まれる新しい振り返り手法が存在することをご存じでしょうか? 今回は、そんな最近生まれてきているふりかえり手法を取り上げた、「ふりかえり手法のおもちゃばこ ~最近うまれたふりかえり手法をお届け!」で学んできた内容をご紹介させていただければと思います。 はじめてふり

    最近うまれた「ふりかえり手法」と活用できそうな場面|SHIFT Group 技術ブログ
    invent
    invent 2022/11/09
  • ゲーム開発者から見た PlayStation のヤバさ|EIKI`

    という話題がありました。 この数字の信憑性はさておき、少し前から開発者サイドから見て PlayStation というハードには色々思うところがあって、何人かで集まると「最近プレステってヤバイよね」という話がぽつぽつ出てきたりします。 デベロッパーからしてみれば当然全ハードでゲームが売れてくれるのが一番好ましいわけですが、素直に「SIE 頑張って!応援してるよ!!」とは言えないくらいの状況になっていることは確かで(そしてそれを招いたのは他ならぬ SIE なわけで)、そういうモヤッとした気持ち、もっと言えば危機感を共有するために主観的な話をしたいと思っています。でも、ネガキャンしたいわけじゃないんですよ。この気持ちのせめぎ合いをわかってほしい。 というわけで、PlayStation に対する今の思いを一つ。 *画像は DALLE2で出力したサイバーパンクシティにたたずむ犬です。 開発しづらい 

    ゲーム開発者から見た PlayStation のヤバさ|EIKI`
    invent
    invent 2022/09/03
  • AWS Batchでバッチ処理はバッチリ?!|narudesu

    こんにちは!エンジニアの小幡です。最近だいぶ暖かくなってきましたね。 外出自粛が続いているので、一人用のホットプレートを買ってしまいました。好きな焼肉やら炒め物を昼休みに気軽に作れるので自分的にはQOL爆上がりです。 さて、表題のバッチ処理については弊社柿木からの記事もありましたが、EC2インスタンス上のcronで管理していたバッチ処理を順次AWS Batchへ移行しています。 そこで、今回は私が業務を通して初めて触ったAWS Batchや合わせて利用している周辺サービスについての概要を皆さまに共有できればと思います! AWS Batchとはバッチ管理・実行ができるフルマネージドのサービスです。利用するためには以下の3点を最低限設定する必要があります。 ・ジョブ定義 ・コンピューティング環境 ・ジョブキュー ジョブ定義 ジョブ定義とはその名の通り実行するバッチ処理作業がどのようなものかを定

    AWS Batchでバッチ処理はバッチリ?!|narudesu
    invent
    invent 2022/08/31
  • Xcodeのコードカバレッジを定期的に知りたい|かっくん / iOS Developer

    現在社内で有志が集まって品質を向上する活動をしているのですが、その中で「カバレッジを定期的に知りたいよね」という話が出ました。 サーバーサイドの方は既に実装済みだったので、アプリの方も対応したいなと思っており、ゆるく調べながら対応を進めていました。 Xcodeでカバレッジを集計するXcodeでカバレッジを集計するにはスキームのTestのOptionsにカバレッジを集計するかどうかのチェックがあるのでここでチェックを入れます。 カバレッジを集計するターゲットも任意で選ぶこともできます。 Code CoverageのGather coverage for を選択するxcresultファイルを保存する集計したカバレッジはxcresultファイルに記録されています。 まずはこれを任意の場所に保存する必要があります。 xcodebuildコマンドでテストを実行する場合には -resultBundle

    Xcodeのコードカバレッジを定期的に知りたい|かっくん / iOS Developer
    invent
    invent 2022/05/10
  • needleでDI改善に取り組み始めた話|REALITY

    Dependency Injection(以降: DI)のOSSであるneedleを使い、REALITYのiOSアプリにおけるDI改善の導入についてまとめました。導入過程の話やneedleのメリットについてまとめたので、参考になれば幸いです。 概要 ガチャを引く際にご利益がある曲を探すのがマイブームのかむいです。 REALITYのiOSチームではDIのルールを整理し、既存コードに多く存在しているBastard Injectionなコードの除去、またシングルトンな神Managerクラスに依存している問題を解決したいといった課題がありました。今回は取り組み中のDI改善について書きたいと思います。 OSSか独自DIコンテナかiOSで推奨 or 支持されているDIシステムはAndroidほど決定的なものは見かけない印象です。Androidでは公式リファレンスで推奨されているHiltがありますが、i

    needleでDI改善に取り組み始めた話|REALITY
    invent
    invent 2022/04/14
  • 東京から「京都」に移住したら、想像以上によかった話。|休憩迷子

    昨年の11月に東京から「京都」に引っ越し、流行りの表現で言うと「移住」してみた。 コロナの流行と同時にリモートワークとなり、今やほぼすべての仕事がオンラインで完結するようになった。 出社体制に戻す企業が増えている中、私の環境ではこれからもリモートワークが続く。 日に日に、「東京に住んでる意味あるのかな」「どこに住んでも変わらないなら、気になる街に住んだ方が楽しくなるのでは」 と感じるようになり、思い切ってみた。 とはいえ京都には縁もゆかりもなかった。さすがにサクッと行動できなくて、決断してから半年ほど時間をかけて情報を集め、悩みに悩みまくった……。 けれど4ヶ月経った今、もっと早く行動すればよかったと思うくらい、日々の暮らしが充実している。 四条通観光地を除けば、ごちゃごちゃし過ぎているわけでもなく寂しいわけでもない。適度な賑わいがあって、生活に必要なお店も揃っている。散歩しやすい整備され

    東京から「京都」に移住したら、想像以上によかった話。|休憩迷子
  • note iOSアプリで利用していたAPIライブラリを統一した|かっくん / iOS Developer

    こんにちは。noteでiOSアプリの開発をしているかっくんです。 この記事は「noteのみんな Advent Calendar 2021」21日目です。 この記事も例に漏れず負債を返済したという内容の記事なのですが、これはAdvent Calendarの宿命かもしれないですね。 アプリの歴史noteのiOSアプリの歴史は意外と古く、2014年ごろから存続しているアプリで運用開始して7年が経過しています。 それだけ歴史があるとコードも古いものから新しく書いたものまで色々と入り混じってきます。 特に古くから存在するObjective-Cのコードは依存も多く、消すことは不可能なのでは?と思ってしまうほど複雑に絡み合っています。 この記事ではその複雑な依存の一部であるAPIを呼ぶ処理に利用していたライブラリを一つに統一したという内容を書いていきます。 どうしてライブラリを統一するのか普段アプリを開

    note iOSアプリで利用していたAPIライブラリを統一した|かっくん / iOS Developer
    invent
    invent 2022/03/30
  • DateFormatterで日付の表示にハマらない #iOS #Swift|かっくん / iOS Developer

    普段実装を進めてる中でこだわり始めたらどこまでもこだわれる部分って色々あると思います。特にグローバル対応をしていたら各国毎に違う表記をするなどありますよね。ものによってはデザイナーのこだわりが強くて細かい対応が必要になることもあると思いますが、なるべく実装を頑張らずに済ませたいですよね。今回はなるべく楽に実装を進められる方法を2つまとめたので紹介します。 日付のフォーマットを国毎に最適化する DateFormatterを利用するとDateを文字列にすることができます。dateFormatプロパティにyyyy/MM/ddなどの値を渡してstring(from:)を実行すると2020/09/10などの文字列を取得することができます。このyyyy/MM/ddの部分を画面に出す場合、国の慣習によって表記が異なることが多いです。マッピング表などを作って頑張れば国ごとに実装をすることも可能かもしれませ

    DateFormatterで日付の表示にハマらない #iOS #Swift|かっくん / iOS Developer
    invent
    invent 2022/03/08
  • 【誰も教えてくれない】 AMEXセンチュリオンカードの解約方法|ritz

    10年近くホールドしていたAMEXセンチュリオンカードを解約しました。 おそらく、「誰も詳しくは語っていない」であろうAMEXセンチュリオンカードの解約方法と、解約後に起きたことをnoteします。 もちろん、この10年間で得た素晴らしい体験、取得した経緯についても後述します。 ☑なぜ、解約したのか自分の今の生活スタイルでは十分に生かしきれなかった、発行枚数を制限しているという話も聞くので、当に必要としている人に渡って欲しいというのが一番の理由です。 最近Twitterを始めたこともあり、センチュリオンカードを目指す方々のツイートの熱量を見て、かつて自分もホルダーを目指しああでもない、こうでもないと試行錯誤していた頃を思い出しました。 使いもしないのにホールドするのは失礼かなと。 ちなみにAMEX自体は大好きで、これからもずっと使い続けたいと考えています。 思えば初めてAMEXグリーン(個

    【誰も教えてくれない】 AMEXセンチュリオンカードの解約方法|ritz
    invent
    invent 2022/02/20
  • 育児の現場で父親が透明化する現象について|ヨッピー

    僕、「よーし、育児ゴリゴリやるぞ~!」ってな意気込みだったんですけど、育児教室の先生や助産師さんがみんな「ママが~」「ママは~」ってママ主体で話をするし、男性が参加出来ないものもたくさんあったりするので、僕自身は別に気にしないけどあれで心が折れる父親もいると思うから改善して欲しい — ヨッピー (@yoppymodel) February 8, 2022 この件で急にabemaprimeに「出てくれ!」って言われていそいそと出て行ったら柏木由紀さんが「私のタイムラインにも出てきました~!」って言ってて「Twitterすげえ!」ってなりました。まあそれはどうでも良いんですけど。 〇透明化する父親 一応背景的なものを言っておくと、育児教室とか予防接種とかいわゆる「育児の現場」では何かにつれて「ママは~」「ママが~」ってなりがちで、「普段のお子さんの様子は~」みたいな事を聞かれるのもだいたい母親

    育児の現場で父親が透明化する現象について|ヨッピー
    invent
    invent 2022/02/11