タグ

inventのブックマーク (93,342)

  • Martin Fowler's Bliki (ja)

    ここは、Martin Fowler's Blikiの日語翻訳サイトです。Martin Fowler氏人の許可を得て公開しています。データはGitHubで管理していますので、どなたでも翻訳に参加することが可能です。 ※現在、移行中につき、Markdown形式になっていないものが多々あります……。PRいただけると大変ありがたいです。 API design / agile / agile adoption / agile history / application architecture / application integration / bad things / build scripting / certification / clean code / collaboration / computer history / conferences / continuous deliv

    invent
    invent 2023/06/29
  • Darklaunchという便利なものと、その未来 - スタディサプリ Product Team Blog

    Darklaunchという便利なものと、その未来 3行要約 スタディサプリのRubyバックエンドで気軽に誰でも使える、"Darklaunch"という Feature toggles 機構がある 4年強ほど運用してきて、様々な知見、多様なユースケース、問題などが明らかになった 知見を活かして、近い将来Darklaunch v2というのを社内で作って公開予定 (HTTP APIであり、Rubyバックエンドだけでなく全環境から直接利用可能) Feature togglesとは Feature togglesとかFeature flagsとかchankoとかcanary releaseとかA/BテストとかlaunchdarklyとかflipperとかDarklaunchなどという言葉を見聞きした機会のある方は多いと思います。ちょっとそれぞれレイヤーやカバレッジは違いますが、ようするに「コードの変更

    Darklaunchという便利なものと、その未来 - スタディサプリ Product Team Blog
    invent
    invent 2023/06/28
  • 不要な Swift コードを静的解析で安全かつ継続的に消していく - スタディサプリ Product Team Blog

    不要な Swift コードを静的解析で安全かつ継続的に消していく こんにちは、iOS エンジニアの @manicmaniac です。 現在スタディサプリ iOS アプリ開発チームのエンジニアリングマネージャをしています。 スタディサプリ iOS アプリは開発開始から7年以上が経過した、そこそこ歴史のあるプロダクトとなっています。 そこそこ長い歴史の中では、「スタディサプリ」が React Native から卒業するまで、あるいは技術的負債への感謝と敬意 で触れたように大小さまざまの利用技術の変遷があり、開発者の入れ替えがあり、多数の新機能の追加や削除がありました。 したがって、コードベースには歴史の生き証人のような不要コードがポツポツと存在しています。 今回はこれらの不要コードを削除する活動を、ツールの助けを得て行った話をします。 不要コードとは さきほどから不要なコードと言っていますが、

    不要な Swift コードを静的解析で安全かつ継続的に消していく - スタディサプリ Product Team Blog
    invent
    invent 2023/06/28
  • SwiftUI.NavigationView のバックボタンをカスタマイズする方法 - スタディサプリ Product Team Blog

    こんにちは。iOS エンジニアの @_nkmrh です。 最近、Full SwiftUI で開発したスタディサプリ 中学講座をリリースし、アプリ開発の醍醐味を味わっています。 はじめに 稿では、スタディサプリ中学講座 iOS アプリで実装した SwiftUI の NavigationView のバックボタンをカスタマイズする方法について紹介します。 この記事で紹介している方法は iOS 14 以上で動作確認しています。 それでは早速みていきましょう! カスタムバックボタン まずはじめに、ナビゲーションバーのバックボタンとして表示したい View を実装します。 ここでは、SFSymbol の chevron.backward を表示しています。 /// ナビゲーションバーのカスタムバックボタン struct NavigationBarBackButton: View { var acti

    SwiftUI.NavigationView のバックボタンをカスタマイズする方法 - スタディサプリ Product Team Blog
    invent
    invent 2023/06/28
  • Figma for VS Codeで変わるデザインと開発のコミュニケーションと効率

    2023年6月にFigma Config 2023という、Figmaのカンファレンスが開かれました。そこでFigma上で開発をサポートするような機能が多数発表されました。 デザイナーとエンジニアの効率を上げるDev Modeなどの発表があり、エンジニアにとっても知っておきたい内容があります。 今回は発表にあった中でも特に開発に直結するFigma for VS Codeを紹介します。 Figma for VS Codeとは? VS Code上でFigmaを使用したさまざまなことができる拡張になります。 ただVS Code上でFigma上のデザインを確認するだけではなく、Figmaと連携した開発速度を上げる機能やコミュニケーションをサポートする機能があります。 Figmaにコメントを送り、コメントの通知を受け取れる VS Code上からFigmaのコメント機能を使用して、UIの質問をすることが

    Figma for VS Codeで変わるデザインと開発のコミュニケーションと効率
    invent
    invent 2023/06/23
  • ANDPADのiOSアプリの設計について - ANDPAD Tech Blog

    iOSアプリの設計について 施工管理アプリANDPADのモバイルアプリ開発をしている山下です。 今回はANDPADで採用しているiOSアプリの設計について書こうと思います。 ANDPADはサービスリリースしてから4年ほど経過しており、ユーザー数も右肩上がりに伸び続けています。アプリもリリースしてから3年半ほど経過して設計を振り返る機会ができたので記事を書いている次第です。 基的な設計方針としてはMVVMを採用しています。3年半ほど前は、アプリ界隈では比較的新しめの設計だったのですが、今では結構当たり前になっているのかなと思います。構成図はこのような感じです。 使っている主なライブラリは、 RxSwift Realm Alamofire などです。比較的今でもよく使われているライブラリなので選択は正解だったと思います。 MVVMの部分は、一般的な使い方と基同じなので説明を割愛します。Ap

    ANDPADのiOSアプリの設計について - ANDPAD Tech Blog
    invent
    invent 2023/06/22
  • SwiftUI + CombineでMVVM - ANDPAD Tech Blog

    はじめに こんにちは、Octでスマホアプリの開発をしているzigeninです。 SwiftUIとCombineによるMVVMの実装のポイントを解説します。 ログイン画面とログイン後の画面があるだけのサンプルアプリを題材とします。 前提 Apple公式のSwiftUIのチュートリアルは大体やり終えている RxSwiftを触ったことがある MVVMを知っている サンプルアプリのソースコード https://github.com/KamikazeZirou/SwiftUI-MVVM サンプルアプリの動作環境 XCode 11.1でビルド iPhone 11 Pro Max 13.1 サンプルアプリの画面構成 ※ユーザIDが"foobar@example.com"、パスワードが"password"のときのみログインは成功します。 サンプルアプリのクラス構成 ViewはSwiftUIとCombine

    SwiftUI + CombineでMVVM - ANDPAD Tech Blog
    invent
    invent 2023/06/22
  • データドリブンな開発をめざして 〜モバイル用分析基盤を整備した話〜 - ANDPAD Tech Blog

    モバイルアプリチームの工藤です。 ANDPADではこれまでユーザの声や思い描くビジョンを元にアプリの開発を進めてきましたが、徐々に機能変更や改善に関する仕事も増えてきています。現在のユーザの状況を意識して議論するシチュエーションも多々あるため、PdMより直々に早急にデータ分析基盤を用意せよとのお達しがありました。 まだまだ粗い部分もありますが、先日一区切りついたのでその対応内容をまとめようと思います 全体の方針を決める 今回の対応で最も意識したのは、複雑なことはしないで専任の担当者以外でも運用・維持ができるようにするという点です。弊社はスタートアップ企業であり、データ分析が根付いている他の企業に比べてまだまだエンジニアは多くありません。明確にアプリの分析担当者が居るわけではなく、職種に関わらずこのデータに触れる可能性があります。 そのため、将来的に突発的な運用作業や謎ルールに苦しめられるこ

    データドリブンな開発をめざして 〜モバイル用分析基盤を整備した話〜 - ANDPAD Tech Blog
    invent
    invent 2023/06/22
  • 【徹底比較】Flutter VS React Native

    はじめに 今回の記事では、モバイルアプリ開発として有名なフレームワークである「Flutter」と「React Native」両方の特徴、決定的な違いを徹底解説する。 2022年11月現在では、モバイルアプリ開発としてFlutterが屈指の人気を誇っている。ところが、実はモバイルアプリを開発できるフレームワークはFlutter一択ではない。Flutter以外にモバイルアプリを開発できるフレームワークとしては、Meta(旧Facebook社)が開発したReact Nativeが挙げられる。 両者はどう違うのか。なぜ開発で使われているのか―そこで、今回の記事では特徴や課題点を徹底解説する。 記事の対象読者 モバイルアプリ開発で生計を立てているプログラマー FlutterReact Native両者の特徴を知りたい人 モバイルアプリ開発案件を検討中で技術選定をされている人 記事のタイトルが気

    【徹底比較】Flutter VS React Native
    invent
    invent 2023/06/22
  • 京都にある謎の麺、「カラシソバ」ってなんだ? | ブルータス| BRUTUS.jp

    「カラシソバ」は京都の“鳳舞系”の店にしか見られない麺料理だ。鳳舞(ほうまい)系とは、かつて京都にあった広東料理店〈鳳舞〉に縁を持つ弟子たちの店のこと。 大正時代半ばに京都に来た広東地方出身の中国人、高華吉(こうかきち)さんが昭和42(1967)年に開いた〈鳳舞〉は、彼が京都の人々の好みに合わせて編み出した、薄味でだしを利かせた独特のメニューで有名だった。店なき今もその味を求め、弟子たちの店へ通う地元民が後を絶たない。 その高さんが考案したといわれるカラシソバも、やはり独特。ゆでた中華麺をカラシ醤油で和え、その上に鶏ガラと昆布でとったスープのあんをかけるというもので、あんには小エビにカシワ、青ネギにシイタケ、そしてレタスがたっぷり入っている。麺を和えるカラシが水や湯ではなく、京都の地酢で溶かれているのも特徴だ。 また、店の品書きには「撈麺」と書かれていて、その横には「エビカシワソバ」とふり

    京都にある謎の麺、「カラシソバ」ってなんだ? | ブルータス| BRUTUS.jp
    invent
    invent 2023/06/22
  • [WWDC2023] SwiftDataを使ってみた。

    CoreDataの後継者であるSwiftDataがついにリリースされたので、簡単なアプリで使ってみた。 SwiftDataを導入するには、6つの簡単なステップを踏む。 import SwiftData モデル作成 AppでmodelContainer作成 @Environment(\.modelContext)を宣言 @Queryを配列の変数につける モデルをcontextにinsertしてsave()を行えば完成 それでは、ひとつずつ見ていこう。 1. SwiftData移入 まずはimportしよう 2. モデル作成 CoreDataを使う場合モデル作成するには.xcdatamodelファイルを開いて、「Add Entity」でEntityを追加するように実装していたが、SwiftDataではローカルデータを使用しないようにclassを作り、その上に@Modelを記述するだけです。 @

    [WWDC2023] SwiftDataを使ってみた。
    invent
    invent 2023/06/22
  • 高圧ジェットで洗車が楽々。電源不要な洗浄ノズルが万能に使える | ライフハッカー・ジャパン

    面倒な洗車も、高圧ジェットが自慢の洗浄ノズルがあれば格段に捗りそうです。 machi-yaでプロジェクトを展開するのは、噴射モードをワンタッチ切り替えられる「TORRAS」。トリガーを一押しすれば放水開始。パワフルな噴射力を自動で維持してくれるので楽ちんです。 洗車から水撒き、清掃までをスマートにこなす洗浄ノズルの魅力と特長をご紹介していきます。 電源不要でも水流はパワフルImage: TOBIHAN STORE高圧洗浄機は、汚れを素早く落とせる点で非常に便利。ただたまに使う道具としては、少々大げさに感じられるんじゃないでしょうか。 「TORRAS」は家庭用の水道に繋ぐだけで使えて、しかも水流は強力。高圧洗浄機と同じように頑固な汚れも短時間で落とせます。 Image: TOBIHAN STORE水道からホースを通って辿り着いた水流は、ノズル内で勢いを増幅。電源要らずの高圧噴射を実現している

    高圧ジェットで洗車が楽々。電源不要な洗浄ノズルが万能に使える | ライフハッカー・ジャパン
    invent
    invent 2023/06/21
  • GitHub の Issue を活用した社内の進行管理

    こんにちは、GajiLabo 横田です。受託で HTML+CSS コンポーネント・JavaScriptRails view等フロントエンド開発をお手伝いしています。 社内メンバーやパートナーさんとチームを作って、わたしが社内の進行管理をする時は、GitHub の Issue でタスクを管理することが多いです。今回は GitHub の Issue で社内の進行管理をする時に実践していることを紹介します。 Issues でタスクを可視化するチーム内のタスクはなんでもかんでも全て Issues にします。プロジェクトのスタート時にはやるべきことが見えているタスクだけでなく、まだ詳細は見えていないが調査する必要があるタスク、作業が必要かどうかから精査するタスク、不明点が多く確認が必要なタスクなど、全貌が見えないタスクも存在します。それらを認識した時点で Issue に残すことで、後々とりこぼさな

    GitHub の Issue を活用した社内の進行管理
    invent
    invent 2023/06/21
  • サイボウズの「モバイル」のこれから - Cybozu Inside Out | サイボウズエンジニアのブログ

    こんにちは!モバイルエンジニアの森嶋です。 この記事では、サイボウズにおける「モバイルチーム」の立ち位置と、 直近取り組んだ大きな変化である「チームの分割」についてお話しさせていただきます。 サイボウズにおけるモバイルチームのミッションと立ち位置 サイボウズでは、モバイル開発に特化したチーム(=モバイルチーム)という組織体制を取ってiOS/Androidの開発を担当していました。 このチームでは、 「サイボウズ製品のユーザに、よりチームワークが高まるモバイル体験を提供する」 をミッションに掲げ、 サイボウズのモバイルアプリ開発PGの役割を一手に引き受けながら、技術的な知見共有や研鑽活動を行っていました。 具体的な活動内容に関してはモバイルチームの働き方と取り組みの紹介の記事を参照ください。 ※こちらの記事内容は取り組み前のもので現在は少し変化しています [モバイルチーム]の課題 課題①

    サイボウズの「モバイル」のこれから - Cybozu Inside Out | サイボウズエンジニアのブログ
    invent
    invent 2023/06/20
  • LazyVStackを使用すると描画処理が何度も走ってしまう

    概要 iOS14.0で利用できるようになったLazyVStackにより、SwiftUIでの開発がやりやすくなったように感じます。 しかし私が携わっているプロジェクトにて少し複雑なレイアウトをLazyVStackを用いて組むと、スクロールがカクついてしまうような事象が発生しました。その一因として、LazyVStackの中にどのようなコンポーネントを配置するかによって毎回レンダリング処理が走ってしまうことが挙げられそうでした。 今回は自分がハマったコンポーネントの配置方法を紹介したいと思います。 Stack+ForEach LazyVStackの中にVStack/HStack/ZStackを配置して、さらにその中でForEachを使うケースは多々あるのかなと思います。 例えば文字列を表示するシンプルなレイアウトを組んでみます。 再描画される書き方 struct ContentView: Vie

    LazyVStackを使用すると描画処理が何度も走ってしまう
    invent
    invent 2023/06/20
  • アジャイルやスクラムでも遅い? TeslaやSpaceXがイノベーションを生み出せる理由

    アジャイルスクラムはソフトウェア開発に適用するもの」というイメージが強いかもしれない。しかし、イーロン・マスク氏が率いるTeslaやSpaceXでは、電気自動車やロケットというハードウェアにもアジャイルスクラムの考え方を取り入れ、これまでのモノ作りでは考えられないような短期間で新しいバージョンの製品をリリースするサイクルを確立している。そして今、その先を目指そうとしているという。 認定スクラムトレーナーとして活躍し、MicrosoftAmazon、TeslaやSpaceXでアジャイル導入支援の経験を持つAgile Business InstituteのCEO、Joe Justice(ジョー・ジャスティス)氏が2022年7月に開催された「Agile Tech EXPO 2022」の基調講演に登場し、その「凄さ」を紹介した。 「アジャイルは何もソフトウェアだけのものではありません。もち

    アジャイルやスクラムでも遅い? TeslaやSpaceXがイノベーションを生み出せる理由
    invent
    invent 2023/06/16
  • アプリを利用しながらアプリの更新ができるin-app updates - JX通信社エンジニアブログ

    Androidエンジニアの@sakebookです。 今まではストアに飛ばしたり、自前で用意したロジックやAPIで更新があるかを確認していました。しかしそんな時代はもう終わりました。Play Core Libraryを使えばアプリ内でアップデートが可能になります。 in-app updates 文字通りアプリ内でアプリのアップデートを行える機能です。アプリのアップデートといえば、知らない間に自動更新されていたり、ストアへ行って更新ボタンを押すなどがありましたが、それらのトリガーをアプリ内から任意のタイミングで引き起こすことが可能になったイメージです。 in-app updatesでは大きく分けて2つの方法がサポートされています。 フレキシブル(Flexible) 知らない間に自動更新 に相当するものです。ユーザにアプリを利用させつつ更新版アプリをDLし、DL完了したタイミングで再起動するメソ

    アプリを利用しながらアプリの更新ができるin-app updates - JX通信社エンジニアブログ
    invent
    invent 2023/06/16
  • チーム規模が変動するチームでスクラムマスターとしてやってきたこと - JX通信社エンジニアブログ

    お久しぶりです。シニアエンジニアの @sakebook です。今回私がスクラムマスター(以下SM)として所属するチームで、SMとして、およびチームで取り組んできたことなどを共有します。 背景 他社事例なども見聞きするなかで、今まで何をやってきたのかを共有することはそれなりに誰かの役に立つことがあると思ったのでこの度まとめました。 前提 この手の話を見聞きする上で前提が異なっていると解釈しにくいので、私たちのチームについて説明します。 チームには業務委託や副業の方、つまり週5稼動ではない人たちもいました。 最大でエンジニアは10人強いました。出入りは数ヶ月単位で発生していて、最小は5人です。 PBI管理にはJIRAとNotionを併用しています。 1スプリントは2週間です。 チームはフルリモートです。 リファインメントの整理 スプリント計画で時間を押してしまうことが多く、リファインメントが慢

    チーム規模が変動するチームでスクラムマスターとしてやってきたこと - JX通信社エンジニアブログ
    invent
    invent 2023/06/16
  • ママリ iOSアプリのモジュール分割 - コネヒト開発者ブログ

    こんにちは!コネヒトでiOSエンジニアをやっていますyanamuraです。 ママリのiOSアプリでモジュール分割を行いましたのでその内容について記載しました。 なぜモジュール分割 目的としては大きく2つありました。 1つ目はApp Extensionsをつくるのを楽にしたいためです。 以前ママリでApp Extensionsを使ったプロトタイプで作ろうとした際、App Extensionsからママリアプリの一部のコードを再利用しようとしたところ、依存関係の問題で芋づる式にたくさんのコードを取り込まなければならなくなりとても大変な思いをしました。App Extensionsで共通利用しそうな部分はモジュール化して分割しておくべきだったなという経験からモジュール分割しようという思いに至りました。 2つ目はSwiftUIのプレビューを速くしたいためです。 ママリのiOSアプリではSwiftUI

    ママリ iOSアプリのモジュール分割 - コネヒト開発者ブログ
    invent
    invent 2023/06/15
  • ママリ iOSアプリの2023年3月現在の開発環境 - コネヒト開発者ブログ

    2023年3月現在のママリのiOSアプリは開発環境について紹介します。 言語 100% Swiftで、以前はObjective-Cのコードもありましたが、全てSwiftに書き換えました。 iOSのサポート範囲 iOS14以上としています。4/10以降は14.5以上に変更予定です。(iOS14.0~14.4でSwiftUIの挙動の違いがあるためサポート範囲外としました) 使っている主なフレームワークやライブラリ 主に以下のフレームワークやライブラリを利用しています。 UIKit, SwiftUI RxSwift, Combine Realm Firebase 以前はUIKitとRxSwiftを使っていましたが、新しい画面についてはSwiftUIとCombineを使用する方針で開発しています。ただし、SwiftUIで実装する際に特殊な方法が必要であれば、新たな負債を作らないためにUIKitで実

    ママリ iOSアプリの2023年3月現在の開発環境 - コネヒト開発者ブログ
    invent
    invent 2023/06/15