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

  • Xcode 15.3 を使って今のうちに Swift 6 へのアップデートに備える | DevelopersIO

    Xcode 15.3ではSwift 5.10に対応している。Swift 5.10の次はSwift 6.0と言われており、順当にいけばXcode 16.0で採用されるだろう。Swift 6.0ではいくつかの機能がデフォルトで有効となり、これまでのSwiftの書き方ではエラーになってしまい、開発の現場では混乱が予想される。 例年通りであればXcodeのメジャーアップデートは9月で、一昨日Xcode 15.3がリリースされたばかりなので気が早いとは思うが、Xcode 16.0へのアップデート時にスムーズに移行できるように、また問題が発生しないように早めに対応しておきたい。 Swift 5.8以降、今後デフォルトで有効になる機能を「先行的に有効する機能」が存在している。Xcode 15.3でも利用が可能なので、この機能を使ってあらかじめSwift 6の機能に先行して対応しておくとよいだろう。 例の

    Xcode 15.3 を使って今のうちに Swift 6 へのアップデートに備える | DevelopersIO
    yimajo
    yimajo 2024/04/23
  • 【速報 : OpenAI APIがアップデートされました!!】GPT-4, GPT-3.5の0613版がリリース / GPT-3.5のコンテキスト長が4倍に / 新機能Function callingも追加 | DevelopersIO

    Function callingは開発者向けとしては目玉の機能追加だと思います。 自身で定義した処理を組み込んだチャットが実現できる機能となっています。 文字での説明はちょっと難しいので、詳細は以降の試してみるでご説明致します。 試してみる それでは実際に動かしてみます。 環境 Google Colaboratoryを使います。 !python --version Python 3.10.12 openaiライブラリを入れておきます。 !pip install openai !pip freeze | grep -e "openai" openai==0.27.8 インポートおよびAPIキーを設定します。 import openai import os openai.api_key = "{sk-で始まるAPIキーを指定してください。}" とりあえず新しいやつを動かす 以下のコードで動かし

    【速報 : OpenAI APIがアップデートされました!!】GPT-4, GPT-3.5の0613版がリリース / GPT-3.5のコンテキスト長が4倍に / 新機能Function callingも追加 | DevelopersIO
    yimajo
    yimajo 2023/06/14
  • 5年間は生き続ける考え方が凝縮された良書「AWSで実現するモダンアプリケーション入門」 | DevelopersIO

    「最近、モダンモダンすげぇ聞くけどモダンってなに?」 「人の数だけモダンはあるんだよ…」 近年、パブリッククラウドを主軸としたアプリケーション開発文脈の中で「モダンアプリケーション」という言葉をよく聞くようになりました。自分もMAD(Modern Application Development)事業部の部長を去年やっていたりして、モダンという言葉には人一倍敏感だったりします。 そんなおり、そのモダンアプリケーションについて真正面から解説するを、著者の落水さんから献いただいたので、僭越ながら書評という形でご紹介させていただきます。 モダンがなにかようやくわかるの…!? ( ゚д゚) ガタッ /   ヾ __L| / ̄ ̄ ̄/_ \/   / 丸わかりやで。 書籍の概要「AWSで実現するモダンアプリケーション入門」 AWSで実現するモダンアプリケーション入門 〜サーバーレス、コンテナ、マイ

    5年間は生き続ける考え方が凝縮された良書「AWSで実現するモダンアプリケーション入門」 | DevelopersIO
    yimajo
    yimajo 2023/02/01
    読みたい本が増える
  • Swift5.1から使えるOrdered Collection Diffingについて | DevelopersIO

    Swift5.1から導入された機能の一つにOrdered Collection Diffingというものがあります。 WWDC2019ではAdvances in Foundationというセッションで紹介されています。 Ordered Collection Diffingについて Ordered Collection Diffingを使用すると2つのコレクションの差分を計算して何がどう変わっているのかを知ることができます。 この機能の主役になるのはCollectionDifference<ChangeElement>です。 実装はSwiftで行なわれているのでSwiftを書いたことがあればアルゴリズムの実装の部分を知らなくてもそれほど複雑に感じないAPIです。 CollectionDifferenceは差分を保持していて、差分はコレクションのどの要素が削除されてどの要素が追加されているのか

    Swift5.1から使えるOrdered Collection Diffingについて | DevelopersIO
    yimajo
    yimajo 2022/12/19
  • anyenvを利用した開発をVisual Studio Codeで実施する際は**env/shimsのパスを指定する | DevelopersIO

    事業開発部の野村です。デレマスの関裕美の中の人のTwitterを見ることが最近の密かな楽しみです。 Visual Studio Code(以下vscode)で、anyenv(ndenv)で導入したnode.jsのプロジェクトを開発する際に、nodeやnpmコマンドのパスがanyenvのパスではなくシステムのパスを見ていたことが分かりました。結論としてはタイトルの通りですが、詳しい調査経緯と解決策を共有させていただきます。 ndenvに限らずrbenvなど他の言語を導入した開発でも同様のことが起こり得ると思います。 検証環境 MacOS High Sierra(バージョン10.13.1) Visual Studio Code(バージョン1.18.1) anyenvとndenvをGithubのREADMEに従いインストール済み https://github.com/riywo/anyenv 事

    anyenvを利用した開発をVisual Studio Codeで実施する際は**env/shimsのパスを指定する | DevelopersIO
    yimajo
    yimajo 2022/06/13
  • 【全文書き起こしてみた】Developers.IO 2020 CONNECT「VIPERで作ろう! 実践iOSアプリ開発 〜録画したライブコーディングを添えて〜」 | DevelopersIO

    【全文書き起こしてみた】Developers.IO 2020 CONNECT「VIPERで作ろう! 実践iOSアプリ開発 〜録画したライブコーディングを添えて〜」 はじめに まいど。CX事業部の中安です。 今回は Developers.IO 2020 CONNECT で動画発表させていただきました「VIPERで作ろう! 実践iOSアプリ開発 〜録画したライブコーディングを添えて〜」の内容の全文書き起こしになります。 動画内で作ったサンプルアプリのソースコードも置いてあります。 以降は、動画の全文になります。聞き取れなかった、もしくは分かりづらかったという箇所の確認としてご利用ください。 冒頭 みなさん、こんにちわ。こんばんわ。 クラスメソッド株式会社 CX事業部の中安と申します。 普段はiOSアプリをメインにモバイルアプリの開発エンジニアをやっています。よろしくお願いします。 今回は、

    【全文書き起こしてみた】Developers.IO 2020 CONNECT「VIPERで作ろう! 実践iOSアプリ開発 〜録画したライブコーディングを添えて〜」 | DevelopersIO
    yimajo
    yimajo 2022/01/25
  • XcodeでSwiftのコンパイルにかかる時間を調査する方法を調べてみた | DevelopersIO

    概要 XcodeでiOSアプリを開発していると、プロジェクト後半になるにつれて、徐々にビルド時間が伸びていて時々、チーム内でも議論されていました。まずは、どの部分で時間がかかっているかを調べてみようと思います。なので今回は、XcodeでiOSアプリを開発する時に、コンパイルにかかる時間を調べる方法をご紹介します。 環境 Xcode: Version 9.4(9F1027a) macOS: 10.13.5 やり方 Xcodeの Other Swift Flags に以下のパラメータを追加します。すると、設定時間以上にコンパイルに時間がかかる箇所が、warningとして表示されるようになります -Xfrontend -warn-long-expression-type-checking=100 -Xfrontend -warn-long-function-bodies=100 数字の部分はms

    XcodeでSwiftのコンパイルにかかる時間を調査する方法を調べてみた | DevelopersIO
    yimajo
    yimajo 2022/01/18
    “-Xfrontend -warn-long-expression-type-checking=100 ”と"-warn-long-function-bodies=100"は型推論とコンパイルではなく、両方ともに型推論で違いはコードごとか関数ごとかではないかと
  • [iOS 8] App Extension #2 – Embedded Framework を利用して共有コードを Framework 化する | DevelopersIO

    [iOS 8] App Extension #2 – Embedded Framework を利用して共有コードを Framework 化する containing app と App Extension の共通コード App Extension は containing app が提供する機能の一部を外部から利用できるようにする仕組みです。このため、当然ながら containing app と Extension の間には共通で利用したいコードやリソースが発生することになります。そのような場合に便利なのが Embedded Framework です。 Embedded Framework Embedded Framework はアプリにバンドルされた状態の Framework です。Framework を利用するアプリのビルド時に、コンパイル後のアプリのバイナリや Storyboard

    [iOS 8] App Extension #2 – Embedded Framework を利用して共有コードを Framework 化する | DevelopersIO
    yimajo
    yimajo 2022/01/12
    “App Extension には、iOS SDK で提供されている API のうち、NS_EXTENSION_UNAVAILABLE マクロが付いているものに関しては利用することができないという制約が存在します。”
  • 隣の芝駆動組織開発「よそがやってる良さそうな施策をなんとなくやる」からの脱却。検証と妥当性確認とは? | DevelopersIO

    こんにちわ。従業員体験( EX )  の向上がミッションのエンジニアリング統括室に所属しているてぃーびーです。 私達のチームは開発バックグラウンドを持ったメンバーで構成されています。そういった経緯もあり、チームの Value の一つに「 開発者としての目線を持ち、ノウハウを活用していく 」という項目を掲げています。今回はこの視点から組織開発における検証と妥当性確認について考えます。 組織開発においてはソフトウェア開発に比べて成果物の仕上がりや、それがもたらす効果に対して曖昧に扱うケースが珍しくないでしょう。 例えば たぶんこれをやると効果がある / どのような問題をどのように解決するか決まっていない こんな感じで実現しよう。たぶん実現できたっぽい / 完成条件が定まっていない たぶん良い成果がでてるよ / 要求を実現した状態が定義されていない。また、成果を確認していない もっと厳密に?大丈

    隣の芝駆動組織開発「よそがやってる良さそうな施策をなんとなくやる」からの脱却。検証と妥当性確認とは? | DevelopersIO
    yimajo
    yimajo 2021/12/23
  • [iOS 8][Swift] アクセス修飾子を理解する | DevelopersIO

    Swiftはアクセス修飾子(Access Control)が利用できます。これにより式やクラスのスコープを明確に定義することができます。 すなわち、「変数」「定数」「クラス」「メソッド」「関数」といったプログラミングを構成する各要素へのアクセス権限を制御できるようになっています。 ただ、このアクセス修飾子がJavaなどと同じ感覚で理解しようとすると「?」となる部分が多いのでまとめておきます。 アクセス修飾子 Swiftのアクセス修飾子は3つのレベルで定義しています。 public 誰からでもアクセスすることができます。APIを定義する時などに利用されます。 異なるファイルでも異なるモジュールであってもアクセスすることが出来ます。 Javaの public とは少々意味が異なり、特殊な用途(ライブラリのAPI定義など)に利用されるアクセス修飾子となります。 Javaにおける public よ

    [iOS 8][Swift] アクセス修飾子を理解する | DevelopersIO
    yimajo
    yimajo 2021/12/13
  • [Swift API Guidelines] 英語で自然に読めるように心がけた命名 | DevelopersIO

    はじめに こんぬづは、池尻大橋駅の近くにある橙という中華料理屋の激辛麻婆豆腐がとてもウマ辛だった田中です。渋谷界隈のエンジニア御用達らしいので、お近くにお立ち寄りの際はぜひ。 さて題ですが、最近自分の考えるSwiftのclassやstruct、関数などの命名に疑問を感じています。その疑問を解消すべく、Swift.orgのAPI Design Guidelinesを読むことにしました。そしてせっかくなので読んだ内容をブログ化してみました。 今回はその中のStrive for Fluent Usageより。 この記事の内容はAPI Design Guidelinesから一部抜粋して筆者の解釈で和訳・意訳したものになります。参考になれば幸いです。 英語で自然に読めるように心がけた命名 英語として読める名前付けをする ↓良い例。 x.insert(y, at: z) “x, insert y a

    [Swift API Guidelines] 英語で自然に読めるように心がけた命名 | DevelopersIO
    yimajo
    yimajo 2021/11/21
  • AWSアカウントを作ったら最初にやるべきこと 〜2021年版〜 #devio2021 | DevelopersIO

    ログ・モニタリングのやるべきこと AWS CloudTrail の設定 CloudTrail は AWS リソースを「誰が」「いつ」「何に」対して「どうような」操作をしたのかを記録するサービスです。 ログの長期保管の設定をしておくことで、トラブル発生時の解析等に利用できます。 有料です(無料利用枠もあります) [YouTube] AWS CloudTrailを触ってみた CloudTrail Insights を利用することで、機械学習により異常なアクティビティを検出することもできます。 ログは S3 と CloudWatch Logs に転送でき、S3 に保管しているログは Athena により検索することもできます。 Athena を利用する場合は、事前に CloudTrail 用のテーブルを作成しておき、検索方法を習熟しておきましょう。 インシデントが発生してから習熟では対応が遅くな

    AWSアカウントを作ったら最初にやるべきこと 〜2021年版〜 #devio2021 | DevelopersIO
    yimajo
    yimajo 2021/10/14
  • FFmpegで音声ファイルと画像1枚から動画を作成してみた | DevelopersIO

    はじめに 清水です。先日ひょんなことから音声のみのmp3ファイルをYouTubeにアップロードすることがありました。 しかしYouTubeで音声のみのファイルをアップロードすることはできず、アップロードしようとすると以下の画面のように変換を促されます。 YouTubeにアップロードするには別途映像部分と合成しなければなりません。YouTubeのヘルプページには、 Windowsユーザ向け: Windows Live ムービーメーカーの使用 Macユーザ向け: iMovieの使用 Youtubeのスライドショーでの動画作成 などの方法での変換方法が紹介されています。 が、映像部分はこったものである必要はなく、写真1枚の静止画状態で十分、という具合でした。そのために動画編集するのもな、、、と思いましたので、FFmpegで音声ファイル+静止画1枚からの動画を作成し、YouTueにアップロードして

    FFmpegで音声ファイルと画像1枚から動画を作成してみた | DevelopersIO
    yimajo
    yimajo 2021/06/27
    wavからmp4にもできるのでTwitterにアップロードできる
  • IAM ロールの PassRole と AssumeRole をもう二度と忘れないために絵を描いてみた | DevelopersIO

    コンバンハ、千葉(幸)です。 皆さんは、 PassRole と AssumeRole についてきちんと理解ができていますか?どちらも IAM ロールに関するものですね。 私はカラダ(ボディ)の調子がいい時は思い出せるのですが、雨が降っている日や、ちょっと疲れて気を抜いた時にはすぐ分からなくなってしまいます。 ということで、イメージとして脳に刻み付けることによって忘れられなくしてやろうと思いました。 そこで出来上がったのが以下です。 間違えました。以下です。 あ、でもやっぱり忘れづらいのはこちらかもしれませんね。 どうですか?もう忘れられなくなりましたね? 先にまとめ IAM ロールには以下ポリシーを設定できる アイデンティティベースポリシー Permissions boundary 信頼ポリシー AWS リソースに IAM ロールを引き渡す際には PassRole の権限が必要 PassR

    IAM ロールの PassRole と AssumeRole をもう二度と忘れないために絵を描いてみた | DevelopersIO
    yimajo
    yimajo 2020/12/23
  • 【フロントエンド、バックエンドを一つのリポジトリで管理】monorepoを実現できるNxをさわってみた | DevelopersIO

    フロントエンド、バックエンドを一つのリポジトリで管理】monorepoを実現できるNxをさわってみた どうも!大阪オフィスの西村祐二です。 フロントエンド、バックエンドを一つのリポジトリで管理したいときがあると思います。 それの実現をサポートNxが使い勝手よかったのでご紹介したいと思います。 monorepoとは 1つのリポジトリの中に複数のパッケージを同梱しリポジトリを運用することをmonorepoと言います。 環境構築やビルドなどのプロセスを簡単に統一できることや、 フロントエンド、バックエンドの共通処理の横断した修正が容易などメリットがあります。 特にTypeScriptの場合、型定義ファイルをフロントエンドとバックエンドで共有できて効率よく開発を進めることができるなどのメリットがあります。 ただ、リリースサイクルの違いであったり、規模が大きくなった際の共有処理の管理に問題がでてき

    【フロントエンド、バックエンドを一つのリポジトリで管理】monorepoを実現できるNxをさわってみた | DevelopersIO
    yimajo
    yimajo 2020/10/01
  • [Swift] Alamofireの仕組みを使ってiOSからAWS S3のPre-Signed URLに画像をアップロードしてみる | DevelopersIO

    [Swift] Alamofireの仕組みを使ってiOSからAWS S3のPre-Signed URLに画像をアップロードしてみる はじめに モバイルアプリサービス部の中安です。 Amazon S3のPre-Signed URL(署名付きURL) を利用すると、Amazon S3に限定的にアクセスしてファイルをアップロードすることができます。 この仕組みを使用すると、AWSの認証なしで直接Amazon S3にオブジェクトをアップロードすることが可能になります。(最近、教えてもらいました) で、iOSアプリ開発でネットワーキングのライブラリといえば Alamofire を使うことが多いと思いますが、 この仕組みを使って、Pre-Signed URLに対して画像をアップロードすることに奮闘したので、その経緯と解決法をアウトプットしてみたいと思います。 ネットによくあるサンプル Alamofir

    [Swift] Alamofireの仕組みを使ってiOSからAWS S3のPre-Signed URLに画像をアップロードしてみる | DevelopersIO
    yimajo
    yimajo 2020/09/10
  • [書評]「AWSなのに、エモい。」を読んで、ドキドキしながらAWSについて学べました | DevelopersIO

    こんにちは。オペレーション部の橋(@_mossann_t)です。 今回は、ストーリーも楽しめてAWSの勉強にもなる、一石二鳥な技術書を皆さんに紹介したいです。 注意事項 ※「AWSなのに、エモい。」のストーリーはフィクションです。 ただし、AWSサービスについて解説されている部分は事実です。 ※書籍の性質上、ネタバレを控えるためにストーリーに関する話題は筆者様が公開している情報のみに留めています。 そのためこの記事は、筆者の感想が大半を占めています。予めご了承ください。 どんな書籍なのか 「AWSなのに、エモい。」は、「技術同人誌」であり、「ファンタジー」であり、「脱出もの映画っぽい小説」であるという、様々なジャンルを併せ持つ書籍です。 小説は「AWSは4,500年前から稼働していた」というテーマで展開していきます。 属性がてんこ盛りで、この段階で既に面白いですよね。内容も面白いです。

    [書評]「AWSなのに、エモい。」を読んで、ドキドキしながらAWSについて学べました | DevelopersIO
    yimajo
    yimajo 2020/06/17
  • 校正用コマンドラインツールtextlintのChromeアドオン版を試してみた | DevelopersIO

    ブログ記事の誤字脱字目視確認が割と不安な haoyayoi です。 ブログは勿論、社内チャットでの送信する文章に対して以下の2点で目視確認を入れています。 typoしていないか 異なる意味で受け取られないか 不安なときは3重或いは4重と見直すのですが、それでもやはり見落としは発生します。 今回、testlintChromeアドオン版にてその負担が若干なり軽減できた感覚がありましたので紹介します。 textlintとは テキストやMarkdown等へ、プラグイン等の形式で利用可能な文法チェックツールです。 Github : textlint/textlint DevelopersIO上の関連紹介記事 Atomとtextlintで始めるその場で文章校正ができる環境の作り方 Chromeアドオン版について textlintについては、オンライン自動校正サービスや特定のエディタにおけるプラグイン

    校正用コマンドラインツールtextlintのChromeアドオン版を試してみた | DevelopersIO
    yimajo
    yimajo 2020/06/09
  • DockerfileをGitで管理してElastic Beanstalkでデプロイする | DevelopersIO

    森永です。 ElasticBeasntalkとDockerを組み合わせると色々と夢が広がります。 Dockerでアプリケーションの実行環境を構築し、EBでAWS環境を構築して実行環境とアプリケーションをまるっとデプロイします。 これが出来るとまったく同じ環境をいくつでも作成できるようになります! Dockerのコンテナを作成する方法はいくつかあるのですが、今回はコンテナの設計書となるDockerfileを使い作成します。 Dockerfile自体はただのテキストファイルなのでgitで管理すると捗りますし、EB CLIは公式にgitとの連携をサポートしていますので、非常に簡単に使用することが可能です。 前準備 Macで作業していきます。(OS X Yosemite Ver.10.10.3) 必要な物をインストールしておきましょう。 git AWS CLI EB CLI 3.x Macであれば

    DockerfileをGitで管理してElastic Beanstalkでデプロイする | DevelopersIO
    yimajo
    yimajo 2020/05/27
    branchごとにデプロイ先指定できたのか
  • 【書評】「実践 AWS CDK – TypeScript でインフラもアプリも!」 | DevelopersIO

    技術書典応援祭で発売されていた「実践 AWS CDK - TypeScript でインフラもアプリも!」の書評です。これからAWS CDKを始める人や少し触り始めた人には有用な内容だと思ったので、各章でどんなことが書かれているのか簡単に紹介します。 はじめに CX事業部東京オフィスの佐藤智樹です。 先月の技術書典応援祭で買ってからずっと積んであった「実践 AWS CDK - TypeScript でインフラもアプリも!」を読んで、CDKを始める際のイントロとして分かりやすくまとめていると思ったので紹介したいと思います。これからCDKを始めるという方はもちろん、既にAWS CDK使い始めてますという方にも体系立って説明が書かれているのでおすすめできる内容でした。 概要 販売ページより学べるポイントを引用します。 書で学べるポイント ・AWS CDK の基を紹介 ・AWS Step Fu

    【書評】「実践 AWS CDK – TypeScript でインフラもアプリも!」 | DevelopersIO
    yimajo
    yimajo 2020/05/01