タグ

ブックマーク / dev.classmethod.jp (159)

  • Amazon RDSをAuroraにできるだけ簡単に移行&メジャーアップグレードしてみた ~RDS MySQL 5.7からAurora MySQL 8.0への移行を例に~ | DevelopersIO

    スナップショット 切り替えのタイミングでスナップショットを取得し、新クラスタを作成します。 スナップショットはRDSからAuroraへの移行だけでなく、メジャーアップグレードにも使えるため、その両方を同時に実現するのが良いでしょう。 新クラスタを作成するため、データベースのエンドポイントが変わります。 Blue/Greenデプロイメント RDS間、及び、Aurora間でメジャーアップグレードする場合、Blue/Greenデプロイメントが使えます。 ダウンタイムはスイッチオーバー時の一瞬ですし、アプリケーションの接続先が同じになるようなエンドポイントの調整や、切り替え時のデータロス対策等がフルマネージドで行われ、切り戻し先も残ります。 RDSあるいはAuroraに閉じて短いダウンタイムでメジャーアップグレードするのであれば最有力です。 RDSからAuroraへのBlue/GreenやAuro

    Amazon RDSをAuroraにできるだけ簡単に移行&メジャーアップグレードしてみた ~RDS MySQL 5.7からAurora MySQL 8.0への移行を例に~ | DevelopersIO
  • RustのサーバレスプラットフォームShuttleを使ってみる | DevelopersIO

    Introduction Shuttle は、Rustアプリを無料でデプロイ可能なクラウドプラットフォームです。 Shuttle は Rust ネイティブのクラウド開発プラットフォームで、 すべてのインフラストラクチャを管理しながらアプリをデプロイできます。 cargo shuttleコマンドでアプリケーションをパッケージ化し、 Shuttleのプラットフォームにデプロイ可能です。 そこでアプリがビルドされ、Shuttleから付与された 一意のサブドメインでアプリを公開できます。 Shuttleの主な特徴は以下になります。 Rustフレームワークのサポート cargo shuttleコマンドでアプリのコードを生成するとき、 現状では下記フレームワークを指定して生成することができます。 Axum Poem Rocket Salvo Serenity Tide Tower SerenityでD

    RustのサーバレスプラットフォームShuttleを使ってみる | DevelopersIO
  • Mackerel で Amazon RDS for MySQL を監視する | DevelopersIO

    こんにちわオペレーション部 ttaka です。 今回は MackerelAmazon RDS for MySQL の監視の設定について書いてみます。 想定する読者 Mackerel のアカウントを取得している人 MackerelAmazon RDS for MySQL を監視したい人 実際の設定 構成図 動作環境 OS: Amazon Linux release 2 (Karoo) Apache: 2.4.39-1 MySQL: 5.7.23 PHP: 7.2.21-1 WordPress: 5.2.3 やること AWS インテグレーションを用いて Amazon RDS for MySQLホストとして管理する 公式プラグインを用いて MySQL カスタムメトリックを収集する 公式チェックプラグインを用いて MySQL 監視を行う 1. AWS インテグレーションを用いて A

    Mackerel で Amazon RDS for MySQL を監視する | DevelopersIO
  • Flutter Web AppをCodemagic Static Pagesにデプロイしてみた | DevelopersIO

    こんにちは、CX事業部 IoT事業部の若槻です。 Codemagicは、モバイルアプリケーションに特化したCI/CDサービスです。Nevercode社により2018年にリリースされ、2022年現在では1M+ successful buildsがCodemagic上で行われているとのことです。 Codemagic - CI/CD for Android, iOS, Flutter and React Native projects 今回は、Flutter Web AppをCodemagic Static Pagesにデプロイしてみました。 Codemagicの料金 Codemagicの料金プランは、毎月指定のインスタンスタイプを500分利用できる無料プランと、いくつかの有料プランがあります。詳しくは下記を御覧ください。 Pricing - Codemagic Docs 今回は無料プランを使

    Flutter Web AppをCodemagic Static Pagesにデプロイしてみた | DevelopersIO
  • コードベースのデザインツール「UXPin Merge」をNext.jsで試してみた | DevelopersIO

    こんにちは!DA(データアナリティクス)事業部 サービスソリューション部の大高です。 最近コードベースのデザインツール「UXPin Merge」を触る機会をいただいたので、実際に試したことをまとめたいと思います。 UXPin Mergeとは? UXPin Mergeはコードベースのデザインツールです。 一般的なデザインツールでは描画したものはベクター、ラスターのイメージデータとして扱われますが、UXPinで描画したものはコード化が行われ実際に動作するコンポーネントとしてレンダリングされます。 また、UXPin Mergeでは作成したReactコンポーネントをインポートしてデザインに利用することができます。 今回試してみたこと UXPin Mergeでは「React」に対応していますが、今回は「Next.js」のプロジェクトでコンポーネントを作成し、作成したものをUXPinに取り込んで利用

    コードベースのデザインツール「UXPin Merge」をNext.jsで試してみた | DevelopersIO
    wakuworks
    wakuworks 2022/02/25
  • 手順書運用の留意点とNotion 〜作成はクラス設計、運用はインスタンス利用〜 | DevelopersIO

    こんにちわ。てぃーびーです。 多くの方が何らかの形で関わる手順書。手順書は作成されるだけではなく、運用されてこそ価値を生むものです。 また、手順化することによってその先に自動化の可能性も見えてきます。 業務の質、効率向上の要となる手順書。そんな手順書に関して 手順書とは何なのか? 手順書運用の留意点 Notion での手順書運用例 についてまとめます。 手順書とは? 手順書は任意の作業の具体的な手順をまとめたものです。 1つ1つの工程を実施していくと、最終的に目的を達成することができます。 手順書があることによって 自身が繰り返しその作業を実施する際に同じ質で実施できる 1回目に手順をまとめながら試行錯誤して取り組んだ部分をショートカットして2回目以降に取り組むことができる 手順化した作業を他者にアサインすることができる 手順化した内容のうち、自動化可能であればさらに作業を効率化することが

    手順書運用の留意点とNotion 〜作成はクラス設計、運用はインスタンス利用〜 | DevelopersIO
  • TypeScript で記述した Google Apps Script を clasp と GitHub Actions を使ってデプロイする | DevelopersIO

    TypeScript で記述した Google Apps Script を clasp と GitHub Actions を使ってデプロイする TypeScript で記述した Google Apps Script を clasp と GitHub Actions を使ってデプロイし、トリガーを使った定期実行をしてみました。 @google/clasp を使うことで CLI で Google Apps Script (GAS) を扱えるため、コードを Git で管理できるようになります。 今回はコードを GitHub で管理し、テストと clasp push を Github Actions で実行できるようにしてみます。 最終的な完成物は下記のリポジトリになります。 https://github.com/hbsnow-sandbox/clasp-github-actions-exampl

    TypeScript で記述した Google Apps Script を clasp と GitHub Actions を使ってデプロイする | DevelopersIO
  • [Flutter]入力フォームのインラインバリデーションを実装する | DevelopersIO

    Form、FormTextFieldを使ってスマートフォンアプリでよくある入力フォームのインラインバリデーションを実装しました。 問題のあるフィールドのインラインにエラーメッセージを表示するインラインバリデーションについて扱います。 現在個人開発で実装中のアプリの詳細画面でフォーム入力が必要になりました。インラインバリデーションのUXについて書いた記事を見た覚えがあり、使用するか迷いましたが、ボタンタップ時のバリデーションと違ってFlutterではまだ実装したことがないUIだったので今回実装してみました。 インラインバリデーションがフォーム入力の妨げになるケース | UX MILK Form、FormField 入力フォームを実装する時にTextFormFieldが選択肢に浮かびますが、今回にはバリデーションを簡易に柔軟に行えるTextFormFieldを選択しました。TextFormFi

    [Flutter]入力フォームのインラインバリデーションを実装する | DevelopersIO
  • CodemagicでiOSのネイティブアプリをCIに載せる | DevelopersIO

    Flutter専門のCI/CDサービス Codemagicでネイティブアプリのビルドやテストが行えるそうなので試してみました。 Flutter専門のCI/CDサービスとして開始されたCodemagicはアップデートによりネイティブアプリでも同等に扱えるようになりました。この記事ではcodemagic.yamlファイルを使ったネイティブアプリのCI/CD設定方法を説明します。 GUIで直接AndroidやiOSのネイティブアプリをビルドすることはできませんが、ネイティブアプリをビルドするためにcodemagic.yamlを使って簡単に設定することができます。 導入 Codemagic - CI/CD for Flutter and mobile app projectsにログインします。 Applications overviewで任意のプロジェクトを選択(ここではネイティブのiOSアプリの

    CodemagicでiOSのネイティブアプリをCIに載せる | DevelopersIO
  • [iOS] 画面遷移時のアニメーションキャンセルに注意 | DevelopersIO

    はじめに こんにちは!モバイルアプリサービス部の加藤です。 今回の内容はもしかしたらiOS開発者であれば常識かもしれません。 iOSで繰り返しアニメーションを実装していてアニメーションを行っている画面から他の画面に遷移して 再びアニメーションを行っていた画面に戻るとアニメーションが止まってしまっていることに気づきました。 実験として新規に簡単なアニメーションを行うアプリを作成し、当に止まるのか試してみました。 開発環境 Xcode 7.1 iPhone 6s シミュレータ(iOS 9.1) 画面構成 アプリの画面構成は以下のようにタブで2画面を管理するようにしました。 こちらは1つめの画面で左上に配置しているビューがアニメーション対象のビューです。 STARTボタンをタップするとアニメーションを開始するようにします。 こちらは2つ目の画面です。遷移先として使うだけなので特に処理は行いませ

    [iOS] 画面遷移時のアニメーションキャンセルに注意 | DevelopersIO
  • UITableViewのdragDelegate, dropDelegateについて調べて試した | DevelopersIO

    UITableViewでdragDelegate, dropDelegateを使って、ドラッグ&ドロップ機能を実装する方法を調べました。 UITableViewでdragDelegate, dropDelegateを使って、ドラッグ&ドロップ機能を実装する方法を調べました。既出の技術ですが、備忘録がてら記事にしました。dragDelegate, dropDelegateはiOS11以降で使用することができます。 公式ドキュメント Appleの公式のドキュメントがあります。サンプルプロジェクトもダウンロードできますので、ビルドして動きを確認することができます。 Adopting Drag and Drop in a Table View Supporting Drag and Drop in Table Views Understanding a Drag Item as a Promise

    UITableViewのdragDelegate, dropDelegateについて調べて試した | DevelopersIO
  • プルリクをSlack連携するPull Pandaが2020年10月14日に停止するため、GitHub公式機能に移行しよう | DevelopersIO

    同機能がGitHub公式で用意されているため、忘れないうちに移行しましょう! Pull Remindersの移行 Pull Remindersは大きく下記2つの機能があるため、それぞれで設定が必要になります。 特定のチャンネルに対して、指定時刻にプルリクを通知する 個人DMに対して、指定時刻にプルリクを通知する、かつ、リアルタイム通知も行う 特定のチャンネルに対して、指定時刻にプルリクを通知する 公式ドキュメントに従って移行します。なお、GitHubのOwner権限が必要です。 Organization Settings -> Scheduled reminders 個人DMに対して、指定時刻にプルリクを通知する、かつ、リアルタイム通知も行う こちらのドキュメントは見つけられていないのですが、個人の設定画面から設定可能です。 Your Settings -> Scheduled remin

    プルリクをSlack連携するPull Pandaが2020年10月14日に停止するため、GitHub公式機能に移行しよう | DevelopersIO
  • [iOS 10] Auto Layout の新機能について | DevelopersIO

    What's New in Auto Layout WWDC 2016 で発表された Auto Layout に関する以下の新機能についてご紹介します。 Incrementally Adopting Auto Layout Design and Runtime Constraints Incrementally Adopting Auto Layout 直訳で「増加的 Auto Layout 適用」でしょうか。 Xcode 8 からは制約を付与していないビューに対して AutoresizingMask が利用できるようになりました。 AutoresizingMask とは、親ビューの bounds が変更された時に 上下左右のマージン や 幅・高さ を自動調整する機能です。 Auto Layout が登場する Xcode 5 より前ではデフォルトの機構として利用されていました。 Xcode

    [iOS 10] Auto Layout の新機能について | DevelopersIO
  • [Swift]順序を保持するCollection、KeyValuePairs | DevelopersIO

    Swift5.0ではKeyValuePairsというオブジェクトが使用できます。Hashと配列両方の特徴を一部持っているKeyValuePairsについてこの記事では扱います。 こんにちは。モバイルアプリサービス部の田辺です。 Swift5.0 で追加された Dynamic Callable について調べていると KeyValuePairs という構造体が登場します。 Dynamic Callable の Proposal を見ると@dynamicCallable属性 を使用するために dynamicallyCall(withArguments:)またはdynamicallyCall(withKeywordArguments:)の実装を必要とするとあります。 その際に(withKeywordArguments:)の方では KeyValuePairs などのExpressibleByDict

    [Swift]順序を保持するCollection、KeyValuePairs | DevelopersIO
  • [iOS][Swift] 「Jazzy」を使ってSwiftのソースファイルからドキュメントを生成する | DevelopersIO

    はじめに こんにちは。加藤です。「Jazzy」。その存在は前から知ってはいたものの、実際に使用する場面が無く、これまで使ったことはありませんでした。しかしながら今回使う機会がありましたので忘れないように記録に残しておきます。 Jazzyとは Jazzyとは、SwiftやObjective-Cのドキュメントを生成するツールです。 以下はリポジトリのREADMEからの引用です。 jazzy is a command-line utility that generates documentation for Swift or Objective-C モバイルデータベースで有名なRealmによって管理されており、MITライセンスで公開されています。 検証環境 エントリは以下の環境で検証を行っています。 macOS High Sierra バージョン 10.13.3 Xcode Version 9

    [iOS][Swift] 「Jazzy」を使ってSwiftのソースファイルからドキュメントを生成する | DevelopersIO
  • [iOS]UITableViewのStatic CellsをUIViewControllerで使いたい! | DevelopersIO

    おばんです、毎朝オフトゥンが離してくれなくなる季節になったなあと感じている田中です。 今回はUITableViewのStatic CellsのTipsです。 UITableViewのStatic Cellsとは UITableViewのStatic Cellsとは、扱うセルを静的に固定して置きたいときに使うUITableViewのコンテントモードのことです。 Storyboard上では以下の画像の箇所で変更できます。 例えばこのStatic Cellsをアプリ開発の中のどういった場面で使うかというと、 設定・その他画面のUITableView EmptyStateを表示する、UIRefreshControlを使うためのUITableView などです。 Static CellsをUIViewControllerで扱うことはできない Static Cellsは上述したように静的に配置するセル

    [iOS]UITableViewのStatic CellsをUIViewControllerで使いたい! | DevelopersIO
  • 1Passwordから情報を取得するgit credential helperを作ってみた | DevelopersIO

    DA事業部の岩澤です。 最近、色々ありまして社用PCにWSLを導入しました。 (MacにVMWare使ってWindows10入れてその上にWSLのUbuntu入れました。さらにMac側にはDocker環境もインストールしているので、時折PC FANがいい音を奏でます) ついでにgit操作も行えるようにと git(ver.2.24.0)をインストールしたりしました。 すると、設定が悪いのかリモートリポジトリにアクセスする度にパスワード入力を求められてしまい... ・pushしようとしてパスワード聞かれてコピー&ペースト ・fetchしようとしてパスワード聞かれてコピー&ペースト ・cloneしようとしてパスワード聞かれてコピー&ペースト ...いけない、このままでは虚ろな目で作業することになり精神的にもよろしくないです。 これを改善すべく1Passwordからユーザーとパスワードを引っ張って

    1Passwordから情報を取得するgit credential helperを作ってみた | DevelopersIO
    wakuworks
    wakuworks 2020/02/04
  • [Swift] OptionSetについてまとめてみます | DevelopersIO

    はじめに モバイルアプリサービス部の中安です。 今回は、使うと非常に便利。Swift標準ライブラリにある OptionSet についてまとめようかと思います。 OptionSet OptionSet は Swift標準ライブラリに搭載されているプロトコルのひとつです。 かつては OptionSetType という名前で定義されていました。 リファレンスの説明にはこのように記載されています。 You use the OptionSet protocol to represent bitset types, where individual bits represent members of a set. ビット集合型を表現するためOptionSetを使用します。個々のビットは集合のメンバーを表現します。 英訳は少し怪しいですが(苦)、ビットの集合を表すという役割が OptionSet に準拠

    [Swift] OptionSetについてまとめてみます | DevelopersIO
  • [iOS 13] SwiftUI + Combine + APIKitでインクリメンタルサーチ | DevelopersIO

    CX事業部の太田です。 前回の記事で、RxSwiftでのインクリメンタルサーチをやりましたが、今回はiOS 13で追加されたSwiftUIとCombineを使って 同様のインクリメンタルサーチを作ってみました。 環境 macOS Mojave 10.14.6 Xcode 11.0 beta 6 Swift 5 APIKit 5.0.0 APIKitのインポート Xcode 11からSwift Package Managerが使えるようになったので、これを使ってAPIKitをインポートしてみます。 左側のProject Navigatorのプロジェクト名から、Swift Packageというタブを開きます。 左下に+ボタンがありますので、これを押下すると追加するライブラリの画面が表示されます。 表示された画面で追加したライブラリのgitリポジトリを指定します。 今回は、APIKitを追加し

    [iOS 13] SwiftUI + Combine + APIKitでインクリメンタルサーチ | DevelopersIO
  • 【iOS】CGAffineTransformを使ったので、アフィン変換について調べた | DevelopersIO

    大阪オフィスの山田です。アフィン変換についてがんばって調べたので、その過程やら理解したことをメモしてます。 背景 QRコードの記事を書いた時に、CGAffineTransform が出てきたんですが、これがなんなのか全然わからなかったので、アフィン変換も併せて調べることにしました。筆者は数学が苦手なので苦労しながら書いてます。 まず最初に とりあえずググってWikipediaにあたりました。アフィン写像 一般に、アフィン変換は線型変換(回転、拡大縮小、剪断(せん断))と平行移動の組み合わせである。 へーなるほど。わからない。というわけでここで出てくる回転、拡大縮小、せん断、平行移動を数式と共に紹介していきます。 その後、アフィン変換行列について解説します。 画像の加工と数式の紹介 加工する前の画像 こちらの画像を加工していきます。ちょっと前に撮影に成功したNecoの「無」です。 画像は正方

    【iOS】CGAffineTransformを使ったので、アフィン変換について調べた | DevelopersIO