サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
2024年ランキング
codezine.jp
これまで本連載ではPlatform Engineeringについてさまざまな観点から解説してきました。前半では理論編として、既に提唱されているソフトウェア開発の重要な考え方(SREやTeam Topologiesなど)との関係を整理していくアプローチを中心に理解を深め、後半には実践編としてInternal Developer Portalのハンズオンや、プラットフォームをプロダクトとして構想し成長させる進め方について解説してきました。今回は、前回に引き続きPlatform Engineeringを初期から実践する株式会社メルカリ 中島大一(@deeeet)さんへのインタビューを通じて、Platform Engineeringに関わる醍醐味や、プラットフォームの転換点といった話をお届けしたいと思います。 メルカリ 中島大一さんインタビュー 前編はこちら 「Platform Engineeri
安全最優先ゆえの新技術導入に慎重な体質 関電システムズは関西電力100%出資の子会社として、関西電力向けシステム開発を専門とする機能子会社だ。2019年4月より関西電力と関電システムズの合同でDevOps推進が始まったが、当時の関電システムズと関西電力の関係は、IT部門再編に伴い役割分担が大きく見直された直後であったこともあり、西内氏が「完全なる親子関係」と振り返るほど強い上下関係だったという。 株式会社関電システムズ テクニカルラボ DevOps推進グループ テクノロジスト(プロフェッショナル)西内 慶子氏 そのため関電システムズの開発体制は決められたことを計画どおり進めていくウォーターフォール型が基本方針であり、技術面では「枯れた技術」の使用が推奨されているなど、新技術の導入にあまり積極的ではなかった。 こうした体質は以前から課題認識されており、関電システムズではDevOpsの推進前に
Google Agentspaceは、Geminiの推論機能やGoogle検索機能、企業データを統合し、専門知識を提供するプラットフォーム。組織内でサイロ化されている情報を統合し、集合知を提供することで、従業員の生産性を向上する。 具体的には、その企業専用のマルチモーダル検索エージェントを提供し、会話によるサポート、複雑な質問への回答、企業固有の情報に基づいたアクションの実行などを行う。ConfluenceやGoogleドライブ、Jira、Microsoft SharePoint、ServiceNowといった一般的なサードパーティのコネクタが、あらかじめ構築されている。Google Agentspaceでは、メールなどの非構造化データ、表などの構造化データの両方を扱うことが可能で、翻訳機能も組み込まれている。 また、Geminiを搭載したノートアプリ「NotebookLM」を使用し、企業デ
はじめに 前回は、「Tauri 2.0」と「Rust」についての基本情報と環境整備を解説しました。今回は、実際にお絵描きアプリを作る前に、まずRustの文法についておさらいしておきましょう。もしRustの文法をよくご存知なら、この回は読み飛ばしても大丈夫です。特別なことは書いていません。 ただしプログラミング言語「C/C++」を知っていても、Rustには所有権という独特なメモリ管理の概念があるので、Rustが初めての方は必ず読んでください。「new」や「delete」とは一味違います。 Rustの知っておくべき文法 プログラミング言語において、最も基本で最も重要な文法の1つが「変数」です。 変数には値を入れたり見たり後から値を上書きしたりすることができます。変数に入れられる値には「データ型」という種類が決められています。数値の変数は算数と同じ計算ができます。またプログラムの処理をまとめて「
テストは増え続ける、でもボトルネックにはできない 今、あらゆることが爆速で進む。飛行機は、生まれてからユーザー数が5000万人に到達するまで68年かかった。自動車は62年。電話は50年。テレビは22年。インターネットは7年。ここから情報の伝達が早くなり、YouTubeは4年、Facebookは3年。そしてPokémon GOになるとわずか19日。朱峰氏はこうした状況を鑑みて「超爆速な時代」と評する。 となると、時間をかけてはいられない。どんなに素晴らしいアイデアでも開発や準備に何年もかけていると、誰かに先を越されてしまうかもしれない。さらに市場のニーズも変わる。時間をかけるほど、リスクは高まる。 満を持して完ぺきなものをリリースしたとしても、市場に受けいれられるか分からない。朱峰氏は「アジャイルは成功を保証するものではないと考えていますが、失敗のリスクを少しでも少なくするプロセスです。こま
情報処理推進機構(IPA)は、DXの事例を業種や事業規模といった項目をキーに検索、閲覧できるWebサイト「デジタル事例データベース」を、12月17日に公開した。同サイトは、政府相互運用性フレームワークの事例データモデル(GIF451-3-1)に準拠しており、利用者は高品質で均質化された事例情報の活用が可能になっている。 「デジタル事例データベース」は、企業や自治体をはじめとするさまざまな業種・業態において、デジタル技術を活用して新たなビジネス・モデルを創出・柔軟に改変するDX推進の取り組みが広がっている一方で、先行事例の掲載方法や項目が異なる状態では、検索や参照に時間と手間がかかってしまうことから、先行事例を素早く効率的に検索・閲覧できるようにすべく、作成・公開された。 「デジタル事例データベース」では、業種や事業規模、所在地に加えて、取組理由、取組内容、結果といったデータ項目を揃えた形で
この連載では「超時短テクニカルライティング」と称して、生成AIを活用しながら効率的に質の高いドキュメントを作成するときのアイディアをいくつか紹介します。普段、IT製品のマニュアルや仕様書などのドキュメントを作成している人はもちろん、それ以外のドキュメントを作成するときにも役立つ内容です。連載第1回である今回は、生成AIを活用したドキュメント作成の流れを掴んで、ドキュメント作成へのハードルを下げる方法を解説します。 本記事の著者 株式会社ソラコム テクニカルライター 矢崎 誠 SORACOMのドキュメントをメンテナンスしたり、生成AIを利用するSORACOM Support Botを開発したりしているテクニカルライター。アベイズム株式会社→有限会社ビートラスト(フリーランス)→LINE株式会社→株式会社ソラコムと何度か転職はしていますが、社会人になって約25年間、常にテクニカルライターです。
AI技術の進化は、ソフトウェア開発の現場に大きな変化をもたらした。単純作業がLLMに代替される場面も増えてきた昨今、従来の開発手法は見直されつつある。いわゆる「シリコンバレー企業」をはじめとする欧米の先進的なIT企業により、従来の常識が次々と塗り替えられているなか、国内企業はどのようにして生き残っていくべきだろうか?ソフトウェア技術者の養成機関・Greek Alphabet Software Academyで講師を務め、自らもGoogle本社で10年間の勤務経験がある石原直樹氏が、AI新時代のエンジニアに求められるスキルや開発組織の在り方・養成機関での取り組みなどについて講演を行った。 シリコンバレー流開発術とはトライ&エラーの繰り返し 「シリコンバレー流ソフトウェア開発術」と銘打たれた本講演。その冒頭、石原氏は「正しいソフトウェア開発は存在しない」と断言する。ソフトウェア開発は常に変化し
更新前のシステムの全体像と、抱えていた課題 LINEヤフーでは、時系列データベースを自社で開発して運用している。統合監視ツール「IMON」で収集する「Metrics」「Logs」「Traces」の3種類のデータを保存するデータベースだ。今回はそのうちMetricsを保存するバックエンドストレージを入れ替えた。入れ替えに至った主な理由はコスト効率。柔軟なスケールアウトが難しい課題もあった。 現在、LINEヤフーは10億種類以上のMetricsを保持しており、合計データ量は500テラバイト弱。さらに、このデータが1日当たり2.3テラバイトも増え続けている。これほどの大規模なデータを格納し、高速に検索できなければならないと考えると、今回のプロジェクトは途方もないことのように思える。 LINEヤフー株式会社 Senior Software Engineer 坂本 大将氏 坂本氏によると、Metri
CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。
では、Rustの基本情報から学んでいきましょう。 「Rust」の基本情報 「Rust」は、WindowsでもmacOSでもLinuxでもクロスプラットフォームに対応した高速でスマートなプログラミング言語です。「Rust(ラスト)」とは、錆という意味でロゴマークもそこからデザインされたのでしょう。 「Rust」のロゴ Rustのメモリの管理の仕方、「所有権」とは? Rustはメモリの管理の仕方がスマートな、とても優れたプログラミング言語です。 「所有権」という独特な概念でメモリを管理して、ビルド時にメモリリークが起こる可能性を排除するので、極めてメモリリークが起こりにくくなっています。例えば、次の図のように「スコープ」内だけ変数にメモリを所有する権利を与えて「スコープ」を抜けるときには、「所有権」を持つ変数のメモリを解放します。 「Rust」の「所有権」の仕組み Rustの追加機能、「クレー
PHPに関する日本最大のカンファレンスである「PHPカンファレンス2024」が2024年12月22日(日)に開催されます。カンファレンス盛り上げ企画として、開催までの5カ月間にわたりPHPの技術記事の連載を企画しました。この記事をお読みの皆さんには、PHPのさまざまな技術に触れながらカンファレンス当日を楽しみにしていただければと思います。第5回目の今回は、オープンソースのツールである「PlantUML」「php-class-diagram」を使って、既存のPHPのソースコードからソフトウェア設計の把握や改善に役立つクラス図を自動生成する方法を紹介します。 複雑なシステムの課題 PHPは伝統的に、シンプルなWebサイトを迅速に立ち上げるためのツールとして威力を発揮してきました。 迅速に立ち上げられたシステムも、機能追加を繰り返しながら運用を続けていると、プログラムが複雑化して修正や機能追加を
本連載では、VSCodeにフォーカスし、基本的な使い方から拡張機能の活用、そして本格的な開発現場での利用を想定した高度な機能までを紹介していくことで、読者がVSCodeマスターになるお手伝いをします。VSCodeは、プログラミング以外の用途にも使えます。第11回では、VSCodeをUML図やフローチャートなどのダイアグラム作成のツールとして使う方法を紹介します。 はじめに Microsoftの提供するVisual Studio Code(VSCode)は、2015年の最初のリリースから、今では開発用エディタの定番の座を占めるまでになりました。これには、無償で使えることも大きいですが、何よりエディタとしての使いやすさ、そしてさまざまな拡張機能によっていくらでも使い勝手を向上させたり、利用の領域を拡げたりできることも大きいでしょう。 本連載では、このVSCodeにフォーカスし、基本的な使い方か
調査結果によれば、調査対象者の年収中央値は850万円だった。2023年から横ばいとなり、年収2000万円以上は10%だった。 外資系企業で働いているエンジニアの年収中央値は、日本企業と比較して47%高い。また、経験年数10〜20年のエンジニアで比較すると外資系企業の年収中央値の方が、日本企業よりも75%以上高くなっている。 流暢にまたは常に英語を使うエンジニアの年収中央値は950万円でもっとも高くなった一方、英語をまったくまたはめったに使わないエンジニアの年収はもっとも低く、中央値は550万円だった。 転職活動についての質問では、リモートワークができないという回答者の39%、フルリモート可能なエンジニアの10%が転職活動中と答えており、リモートワークの機会や時間が少ないエンジニアほど、転職を希望する傾向が強い。 エンジニア経験年数の中央値は、男性が7年、女性が6年だった。男性の25%が13
ITエンジニア本大賞2025の一般Web投票、締切が12月8日(日)に迫っています。「おすすめしたい本がある!」というエンジニアの皆さん、投票はお済みでしょうか。まだの方はお忘れなく! 今回はITエンジニア本大賞を振り返り、これまでのどんな本が選ばれてきたのか、過去の技術書部門・ビジネス書部門の大賞をまとめて紹介します。 ITエンジニア本大賞はCodeZineを運営する翔泳社が主催。2014年から続いている「ITエンジニアがITエンジニアに読んでほしい技術書・ビジネス書を選ぶイベント」です。 これまで数々の名著が大賞を受賞してきましたが、皆さんが読んだことのある・知っている本は何冊あるでしょうか。今回は歴代の大賞を一挙に紹介しますので、読もうと思っていた本や、ノーチェックだった本があれば、この機会に読んでみてください! ITエンジニア本大賞2025の一般Web投票はまだ受付中(12月8日ま
一定の規模の開発であればドキュメントは必須です。ドキュメントを使わない開発が存在するならば、すべての情報を口頭やチャットを使い、ソースコードレベルで記述する必要があります。一方で、効果的に記述されて運用されているドキュメントには、開発組織・チームをスケールさせる力があります。ドキュメントは互いの時間を拘束せずに非同期で書いたり、読んだりできるからです。したがって、ドキュメントを効果的に使えるならば、開発組織・チームの生産性を向上できます。しかし、ドキュメントの書き方をしっかり学んでいる人は多くないです。もしドキュメントライティングの基礎技術を事前に身につけられるならば、今後の開発者人生において非常にレバレッジの効くスキルとなります。本記事では、ドキュメントライティング術を学んだことがない人向けに、「ここまでは最低限知っておくと良い」という知識をお伝えします。 対象読者 対象読者は、以下を想
キャリアの転換点に立つエンジニアにとって、コミュニティへの参加は新たな視座と人とのつながりをもたらします。2024年12月7日に翔泳社 CodeZine編集部が開催する、エンジニアの生きざまをブーストするカンファレンス「Developers CAREER Boost 2024」では、技術習得からマネジメントまで、多様な学びの場を提供する11のコミュニティが、エンジニアのキャリアと学びを共に応援するべく、コミュニティスポンサーをつとめています。Go言語やキーボード自作といった専門的な学びの場から、エンジニアリングマネージャー同士の経験共有の場、さらにはプロダクト開発やアジャイルの実践知を得られる場まで。本記事では、エンジニアの皆さんの今後のキャリアを深化させるのにふさわしい、オンライン・オフライン両方で活動するコミュニティをご紹介します。 コミュニティへの参加は、技術力の向上だけでなく、新た
まずは、アプリ開発を行える環境を整えるところからはじめていきましょう。 開発環境のセットアップ アプリ開発に必要なもの この連載のアプリ開発で必要になるのは、次の4点になります。 インターネット環境 Mac Apple Account Xcode iPhoneアプリを開発するためには実機のiPhoneが必要だと思われるかもしれませんが、この連載では実機のiPhoneを使用せずに進めていくため、持っていない方でも安心してアプリ開発を進めることができます。 インターネット環境 XcodeのダウンロードやApple Accountの作成にインターネットを使用します。 この連載のアプリ開発では、開発環境のセットアップ以外ではインターネット環境が必要ではありませんが、調べ物をしたり、本格的なアプリ開発を行う時には必要になってくるため、インターネット環境がある方が望ましいです。 Mac 執筆時点での最
Flutterアプリ開発における最大の利点は、各OS用のネイティブ言語を使わず開発できる点です。同様に、環境もほぼ気にせず、開発を進められます。しかし、いざ本番としてリリースしようとすると、アプリ名やアイコンなどのリリース設定の違いでさえ、各ネイティブ環境の違いに困惑してしまうケースがあります。今回は、こういった問題を解決するための便利なツールについて紹介します。 AndroidとiOSアプリの基本的設定の違い まず、最初にFlutterにおけるAndroidとiOSアプリの管理についておさらいします。 Flutterの場合、ターゲットとするAndroid、もしくはiOSのプロジェクトファイルが完全に内包されています。従って、Android向けのアプリ設定であれば、図1のようにAndroidプロジェクト内のファイルを開き、設定ファイルを編集すれば問題ありません。 図1:Android向けプ
正式リリースされた二つの機能 本連載は、フロントエンドフレームワークVueのアップデート内容を紹介しているものです。今回は、2023年12月にリリースされた3.4、および、2024年9月にリリースされた3.5の内容をまとめて紹介します。 3.4、3.5ともに、SFCのビルドの改善やリアクティブシステムの改善など、パフォーマンス面での改善もかなり行われていますが、こういった目に見えない部分だけでなく、目に見える機能面でもいくつか新しいものが導入されています。 その中から最初に紹介するのが、以前は実験的リリースだった機能が正式リリースとなったふたつの機能です。実はこれらの機能は、第1回ですでに詳細に紹介しています。 正式リリースとなったdefineModel() ひとつめは、defineModel()マクロです。これは、v-modelによる新しい値の自動格納の仕組みを簡潔に記述できるようにした
米GitHubは、AIアシスタントであるGitHub Copilotを使用して生成されたコードが、どの程度機能的で読みやすく、信頼性があり、保守しやすく、簡潔で、承認される可能性が高いかを明らかにすべく実施した、ランダム比較試験の結果を11月18日(現地時間)に発表した。 同試験では、5年以上の経験を有する開発者202名が参加し、半数にはGitHub Copilotへのアクセスがランダムに割り当てられ、残り半数にはAIツールを使用しないよう指示が与えられている。参加者全員に、WebサーバのAPIエンドポイントを記述するコーディングタスクを完了するよう依頼し、その後単体テストと専門家のレビューによってコードを評価した。 試験結果のうち、いくつの単体テストに合格したかをみると、GitHub Copilotを使用して作成されたコードは、AIツールを使用せずに書かれたコードと比較して、はるかに多く
ここ2〜3年で、GitHub Copilotなど、生成AIを利用した開発者支援サービスが続々登場した。すでに業務で利用されているという皆さんも少なくないだろう。一方で、「使ってはみたが、期待外れだった」と感じている人も多いに違いない。本セッションのスピーカーは、「現場では得意不得意を見極めて、使い道を考えている」と語る。そして、「ソフトウェアエンジニアリングの研究コミュニティでも研究が進んでおり、得意不得意が論文という形で表れつつある」ともいう。このセッションでは、開発現場でコンサルタントやエンジニアとして活躍を続ける和田卓人氏と、アジャイルコーチとして開発の現場を支援しているやっとむ氏の2人がモデレーターを務め、名古屋大学大学院情報学研究科の森崎修司氏が、最新の研究事例と、自身の研究を紹介しながら、生成AIの得意、不得意について語った。 研究者が語る、生成AIの得意/不得意とは? まず森
WebVMは、仮想化エンジンであるCheerpX、仮想ストレージバックエンド、ネットワーク層、エミュレートされたグラフィカルデバイスで構成されている。 CheerpXは、x86命令からWebAssemblyへの効率的なJust-In-Timeコンパイラと、Linuxシステムコールのエミュレーションレイヤに基づく、x86バイナリコード用のWebAssemblyをベースにした仮想化エンジン。標準のJavaScript/WebAssembly、およびブラウザAPIのみで実装されているため非常に安全で、CDNまたはNPMパッケージを使って、他のJavaScriptライブラリと同様に使用できる。 WebVMでは、WebSocketを使用してCloudflare Workerバックエンドからオンデマンドで128kbのディスクブロックをダウンロードする、ストリーミングディスクデバイスを実装している。Cl
「RAG・プロンプト管理」画面のイメージ RAG機能は、AIが回答を生成する際に外部データベースから情報を参照して、その情報に基づいて回答を生成する技術であり、従来の生成AIが抱える「ハルシネーション問題」(AIが事実でない情報を生成してしまう問題)を大幅に軽減し、より正確で信頼性の高い回答の提供を可能にする。同機能はとりわけ、社内ナレッジ活用や顧客サポートでの活用が期待される。 プロンプト管理機能は、企業内で使用するプロンプトを一元管理することで、それぞれの部門やチームが必要な情報へ直ちにアクセスできるようにする。プロンプトの履歴やバージョン管理を通じて、組織内のプロンプトの再利用性を高め、AI回答の一貫性と効率性の確保が可能になる。 RAG機能やプロンプト管理機能を使用することによって、zip形式で圧縮してアップロードするだけで、QA履歴やマニュアルなどを追加や変更でき、追加料金なしで
技術者の中には、「これは素晴らしい!」「みんなに勧めたい!」と感じる"推し"の技術を持っている人も少なくないだろう。一方で、その技術の素晴らしさを上司や経営層に熱心に提案しても、渋い顔をされたり、やんわり断られたりした経験があるかもしれない。技術的に優れているのは明白なのに、推しの技術はなぜ経営層に受け入れられないのか。その背景には、技術力だけでは乗り越えられないビジネスの壁が存在している可能性がある。本セッションでは、株式会社NTTデータグループ 技術革新統括本部 Apps & Data技術部の菅原 亮氏が、エンジニアが"推し"の技術を組織に採用させるための具体的な方法について語った。 戦略と戦術の違い、エンジニアが陥りがちな失敗とは? 初めに菅原氏は、自らのキャリア初期を振り返りながら、エンジニアが陥りがちな「推し技術を採用させる難しさ」について語った。駆け出しのエンジニア時代、技術へ
PHPに関する日本最大のカンファレンスである「PHPカンファレンス2024」が2024年12月22日(日)に開催されます。カンファレンス盛り上げ企画として、開催までの5カ月間にわたりPHPの技術記事の連載を企画しました。この記事をお読みの皆さんには、PHPのさまざまな技術に触れながらカンファレンス当日を楽しみにしていただければと思います。 第4回目の今回は、PHPのパッケージ管理ツールとしておなじみの「Composer」について、どのようにパッケージの存在を確認し、バージョンを解決するのか、一連の流れを見ていきましょう。 パッケージ管理ツール「Composer」 今日では、多くのプログラミング言語において、開発プロジェクトにパッケージ管理ツールが欠かせないものとなりました。 既存資産の活用で「車輪の再発明」を避け、開発の効率化を助けてくれます。また、セキュリティ意識が高まる中で、厳密なバー
現代的なアプリ開発において、高パフォーマンスを実現するには並行処理の知識が欠かせません。エンジニア初級者が学ぶような「逐次実行を前提にしたプログラム」では理解しづらい概念や特徴があるため、どのように並行処理プログラミングを行うのかはしっかり学ぶ必要があります。 本書では著者のユニークな語り口と楽しいイラストによって、並行処理プログラミングの核となる知識を徹底的に詳しく解説。様々なハードウェアアーキテクチャの長所と短所も理解でき、スケーラブルな並行処理システムの実装が可能になります。 エンジニアとしてある程度の実力がついてきたと感じている人がぶつかる壁を、本書で乗り越えましょう。 目次 Part 1 タコのオーケストラ:並行処理の交響曲 Chapter 1 並行処理 Chapter 2 直列実行と並列実行 Chapter 3 コンピュータの仕組み Chapter 4 並行処理の構成要素 Ch
テキストエディタとして活用(2) 禅モードを使う 禅モード(Zenモード)とは、エディタ上に表示されるUI要素をできるだけ少なくしてフルスクリーン表示とし、文章の入力・編集作業に集中できるようにするモードです。集中したいのは文章に限らずコーディングでも同じだと思いますが、書く、消す、以外の機能をあまり使わない文章の入力・編集作業では、特に禅モードは有用でしょう。 禅モードへの移行(切り替え)には、いくつかの方法があります(図3)。 メニューから[表示]-[外観]-[Zen Mode]を選択 コマンドパレットを開き([Command]+[Shift]+[P」/[Ctrl]+[Shift]+[P])、「zen」と入力すると「表示: Zen Modeの切り替え」がメニューに表示されるので選択 キーボードショートカットとして[Command]+[K][Z]/[Ctrl]+[K][Z] 図3:禅モー
次のページ
このページを最初にブックマークしてみませんか?
『CodeZine:プログラミングに役立つソースコードが満載な開発者のための実装系Webマ...』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く