2024年4月19日に『Ebisu.mobile #5〜モバイルアプリの品質改善どうしてる?〜』を開催しました。 hey.connpass.com Ebisu.mobileとは、恵比寿周辺で働くモバイルアプリエンジニアが日々の開発で得られた知見を共有する勉強会です。平日のランチタイムにオンラインで開催しています。 登壇内容 今回は STORES から3名が登壇しました。 発表内容 登壇者 MetricKitで予期せぬ終了を検知する話 @nekowen GitHub Copilotのススメ @marcy731 Compose Compiler Metricsを使った実践的なコードレビュー @tomorrowkey MetricKitで予期せぬ終了を検知する話 speakerdeck.com nekowenからはiOS13から提供されているMetricKitについて紹介しました。MetricK
こんにちは、iOSエンジニアのふじのです。 Mirrativの機能開発を進める傍ら、iOSアプリのメモリ使用量の改善に取り組んでいます。 今回は、アプリ内でメモリ使用量を増やしている問題点を見つける方法と、それらをクライアント実装で解決する具体的なアプローチについて紹介します。 Mirrativアプリが抱える課題 着眼点とアプローチ 画像キャッシュの効率化 UIImageのリサイズ 画像のメモリキャッシュの上限サイズ設定 メモリリークへの対策 Allocationsやmemory graphを利用した手動検出 XCTestを利用したCI上での自動検出 改善の成果と今後の課題 We are hiring! 参考リンク Mirrativアプリが抱える課題 Mirrativアプリはライブ配信機能や視聴機能、Unityを利用したアバター機能やWebGLを利用したゲーム機能など、メモリを多く必要とす
こんにちは、クライアントエンジニアの竹澤(@to4iki)です。 MirrativのiOSチームでは、開発効率の最大化を狙い以下に取り組んでいます。 データフローの単方向化 (Fluxアーキテクチャの強制) 宣言的UIによるView実装 (SwiftUIの部分適用) 責務分割 (モジュール分割) 今回の記事では、どのような構成でSwiftUIを適用し始めたか、また、MirrativのiOSプロジェクトの構成やプロダクト特性の課題感からセットでモジュール分割を進めている点を紹介します。 背景 前提となるプロジェクト構成 導入に向けて決めたこと SwiftUIでどこまで実装するか 本体アプリではなくSwiftPackageを活用する 垂直分割するか水平分割するか 方針やTipsを明文化し育てる 新規開発部分のUI開発をFeatureモジュールで行う SwiftPackage: SwiftUI.
こんにちはiOS開発をしている福山です。 この記事では、SwiftGenとSwift-DocCを用いて、xcassetsを開かずにコード内の画像をQuick Help(右パネルまたは⌥オプションキー+クリック)で直接確認する方法を紹介します。 各ツールの簡単な説明 Swift-DocCは、Swift言語用のドキュメント生成ツールです。Swiftコード内に書かれたコメントから、ナビゲーションが容易で、見た目も美しいドキュメントを生成することができます。 SwiftGenは、Xcodeプロジェクトで使われるリソース(画像、フォント、色、ローカライズなど)を静的に型付けされたSwiftコードに変換するツールです。自動生成された安全なコードを通じてリソースにアクセスできるため、タイプミスによるエラーや存在しないリソースへの参照をコンパイル時に検出するのに役立ちます。 SwiftGenの生成コード例
自分が気をつけていることに「今この状況を説明して」って言われた時に2分くらいにポイントを絞って話せるように常時準備しておく、というのが有って、これができるとだいぶ印象が違います 仕事で報告を求める人が最優先で知りたいのは「ヤバいか、ヤバくないか、アクションするのは俺か、お前か」です— magnoliak🍧 (@magnolia_k_) 2024年3月3日 繰り返し言ってるけど、状況報告、報告を受ける側が知りたいのは尽きるところ「ヤバいか、ヤバくないか」「それで次に行動するのはオレかお前か」というところです— magnoliak🍧 (@magnolia_k_) 2024年4月11日 振り返ると定期的に同じことを書いているんですけど、「報告を受ける側」が期待することって、「ヤバいか、ヤバくないか」「それで次に行動するのはオレかお前か」を素早く判断して、行動に起こすための情報が欲しいわけです
成長の為にアウトプットがなぜ必要なのか。mattn氏が語る持続的なアウトプットのススメ 2024年5月16日 mattn 大学卒業後、ソフトウェアハウスやSIerなどでソフトウェア開発に携わる。vi派生のテキストエディタVimの日本語化やプラグイン、Go言語などでOSS(オープンソースソフトウェア)の開発・コミュニティ運営に参加し、2019年からGoogle Developers Expert。2021〜2023年 GitHub Stars。著書に『みんなのGo言語』(2016年、2019年に改訂2版、技術評論社、共著)、『Go 言語プログラミングエッセンス』(2023年、技術評論社、単著)がある。関西在住。 X:@mattn_jp GitHub
2024年5月に株式会社カケハシは、湯前慶大さんが執行役員CTOに就任したことを発表しました。 執行役員制度刷新および新執行役員就任に関するお知らせ https://www.kakehashi.life/news-post/20240501 湯前さんはこれまで、株式会社日立製作所でLinuxカーネルの研究に携わった後、2014年に株式会社アカツキに参画。同社でエンジニアとしてのキャリアを開始し、エンジニアリングマネージャーやVPoE、執行役員 職能本部長など開発組織のマネジメントに従事してきた人物です。 エンジニアコミュニティでも、「マネジメントスキルが高い人物」として知られる湯前さん。ですが、「決して最初からマネージャーとしてなんでもできたわけではありません」と、彼は自身の歩みを振り返ります。今回は湯前さんのキャリアについてインタビュー。そのエピソードには、「エンジニアがマネージャーとし
機械学習・データ部 / データチームの @irotoris です。こんにちは。 データチームでは社内で使うデータプラットフォームやデータマートの開発をしています。今日は弊チームの開発スタイルの中から「プレスリリース駆動開発」を紹介します。 データチームの開発スタイル データチームの開発は1週間のタイムボックスで、月曜日にバックログやプロジェクトから今週取り組むタスクを計画し、金曜にスプリントレビューを行っています。デイリーでは夕会を行っています。ベロシティの計測などは今のところできていませんが、いわゆるスクラムっぽい開発です。 その月曜朝の計画会で、まずプレスリリースを書いています。 プレスリリースとはなにか? 本来プレスリリースは新商品や新サービス、経営・人事などの企業情報を、ニュースとしてメディアに掲載する文書ですが、ここではデータチームが開発・提供する機能や改善をユーザーに伝えるため
対応の比較動画 (体感2倍)エウレカ iOS エンジニアの muukii (Twitter) です🥃 私が開発を担当しているPairs Global (Pairsの海外向けアプリ)はアプリの起動がとても遅いのです。 一体なぜなのか。 OSはアプリを起動してAppDelegate (厳密にはmain関数)が呼び出されるまでには様々な処理を行います。 この部分の処理を最適化することでアプリが起動していない状態からの起動の高速化が期待できます。 アプリ起動高速化のための前置き (長め)まず、用語について、厳密には FrameworkとLibaryは異なるものですが、性質は近いので本記事では次のように用語を用います。 Static Framework または Static Libraryを まとめて 「Static Framework」と呼びます Dynamic Framework または Dy
Swift の Task.yield() は、非同期タスクから実行を一時停止して、他のタスクが実行されるようにするために利用するAPIです。よきタイミングでスレッドを譲ることで、CPU負荷の高い処理を効率的に実行することができたりします。 developer.apple.com この Task.yield() はある状態が担保されているかを待つなどの while ループ でも使うことができます。 // isFoo = false になるまで Task.yield() し続ける while isFoo { await Task.yield() } 非同期処理の中の while ループで Task.yield() を使うことで、後続処理に進むのにある状態を担保しつつ不必要な sleep をしなくて済むということができるという学びでした。
エンジニアだからセーラー服で仕事ができた さくらインターネット執行役員・江草陽太氏の自由な発想の源 「枠組みに従って作るだけの人」と「根本を理解している人」で二極化 さくらインターネット・江草陽太氏が示す“プログラマーの本質” さくらインターネット株式会社にはセーラー服を着た執行役員がいます。IoTプラットフォーム「sakura.io」の立役者である江草陽太氏です。同社に新卒入社し、1年半後の24歳のときに執行役員に就任し、技術全般を統括しています。 今回は、江草氏に「やりたいことをやるスタンス」はどのように作り上げられたのか、その原点をおうかがいします。前半は、さくらインターネット株式会社に入社した経緯と、プログラミングとの出会いについて。 新卒入社のさくらインターネットですぐに執行役員に就任 ――江草さんは、さくらインターネット株式会社に新卒で入社されて、1年半後の24歳の時に技術推進
無印良品週間が開催中(3月25日まで)ということでちょっとまとめてみました。 無印良品のオススメ商品は色々なところで紹介されてますが、共感するものもあれば自分だとこれは選ばないかな…… というものもあります。今回はあくまで私個人の視点で今まで買って良かったと思ってる無印アイテムをまとめてみることにします。といっても、やっぱり定番のものばかりになっている気もしますけど。 書いてる私がおっさんなので化粧品やレディース商品はありません。 食品 キッチン用品 生活雑貨 家具、収納 寝具 トラベル 衣料品 その他、廃盤で残念など 食品 無印商品の食品ってレトルトカレーを始めファンが多いようですが、個人的には色々試してみるのですが美味しいものもある一方で、結構外れも多い気がしています。或いは悪くはないけどリピートはない、など。 カレーも種類は多いですが、リピートしてまで食べたいって思うものはかなり限ら
最近キーボードで文字を打つのが面倒になってきている技術本部 Eight Engineering Unitの斉藤です。 キーボードは既に100年以上使われ続けているみたいですね。そろそろ新しい入力の方法ができてもよさそうです。 例えば、頭で考えていることが文字に起こせたら、AIに任せるよりももっと便利だと思います。 前置きはさておき、Sansanではちょっと前にエンジニアの生産性と生産量の最大 化が話題になっていました。このブログをご覧の方ならご存知の方も多いのではないでしょうか。 私はこれまで何度か転職をしていますが、どの職場でも例外なくこの話題が挙がりました。 チームとして、あるいは事業としてどう最大化するかが基本前提となるのですが、私が今回話したいのは個人としての生産性の最大化についてです。 私は個人の生産性を上げることもチームの生産性を上げるのと同じくらい非常に大事なことだと考えてい
www.hageatama.org blog.hatenablog.com 自分の周辺でネットの開通で事故っている人に向けて書いた記事が、2023年のはてなブログで年間3位になっちゃった奴の続編です。引っ越しシーズンでまたアクセスがちょこちょこと伸びてるので今度こそ書き上げるぞ!と思ってたのに、言いたいこと全部書いたら電柱見上げる話で長文になってしまい完結しませんでした……。 前回のような、一般向け想定の妥協はしません。今回は本当の誰得記事なので、拾える枝葉も残しましたし、読みやすさも捨てました。 そもそも私自身、別にネットワークエンジニアどころか、IT業界の人間ですらないので専門的な正しさは保証できません。ぜひフィードバックはほしいし、何ならこの上位互換の記事を書いてください。私が読みたい。 【主張の概要】 光コンセントが元からある物件を選べ フレッツ光回線でプロバイダをいつでも切り替え
総務省は、本日、LINEヤフー株式会社(代表取締役社長 出澤 剛、法人番号 4010401039979、本社 東京都千代田区)に対し、同社における、不正アクセスによる通信の秘密の漏えい事案に関し、通信の秘密の保護及びサイバーセキュリティの確保の徹底を図るとともに、再発防止策等の必要な措置を講じ、その実施状況を報告するよう、文書による行政指導を行いました。 LINEヤフー株式会社(代表取締役社長 出澤 剛。以下「LINEヤフー社」という。)からの報告により、同社及び同社のITインフラの運用に係る業務委託先であるNAVER Cloud社が、それぞれセキュリティに係るメンテナンス業務を委託していた企業においてマルウェア感染が生じたことを契機として、NAVER Cloud社の社内システムが侵害されるとともに、同社を介して、同社とネットワーク接続のあったLINEヤフー社の社内システムに対して不正アク
「あれ、コンテナって何だっけ?」から生まれた Rust で書かれた コンテナランタイム youkiの話 2021年8月28日(土) 10:00 〜 10:45 今やエンジニアにとって必須の技術となっているコンテナ。何気なく使っているコンテナですが、コンテナって実際はどうやって動いているのでしょう?namespace?cgroup? そんな疑問から私はコンテナランタイムを学び始めました。そして出来上がったのがRustで書かれたコンテナランタイムのyoukiでした。 youkiは今ではコンテナランタイムとしての基本的な機能は一通り備え、rootlessやcgroup v2対応なども行われています。また、僕以外にもアクティブな開発者を数人抱え、podmanなどを開発しているオーガナイゼーションのcontainersでファーストリリースに向けて開発が続けられています。 本セッションではまず、コンテ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く