サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
GPT-4o
codezine.jp
CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。
2024年3月26日、オンラインイベント「マネージャーとテックリードどっちを選ぶ? エンジニアのキャリアについて本音で語り合う」が開催された。キャディとカケハシ、ENECHANGEというテックベンチャー3社で、テックリードまたはエンジニアリングマネージャーとして活躍している方々が登壇した。今回は本イベントの後半パートのパネルディスカッション「技術に特化して生きていくというキャリア。テックリードを担う上で必要なスキルと考え方とは?」の模様をレポートする。 テックリードとは何を担っているのか 本パネルディスカッションでは、テックリードとしてのキャリアパスを模索する人々に向け、IT企業各社のテックリードたちが必要なスキルや考え方について語った。 モデレーターはキャディ Drawer VP of Engineeringの藤倉成太氏。スピーカーはキャディ CADDi Drawer Growth部 I
『図解まるわかり サーバーのしくみ』は、業務で使い慣れているようでその実態には詳しくないというようなエンジニアのために、サーバー全体の概要や「そもそもサーバーが何をしているのか」について、イラストを多用して解説した入門書です。 最初から順に読めば体系的に理解できますし、興味のあるキーワードを拾い読みして知識を積み重ねることもできます。ぜひこの無料全文公開の期間に読んでみてください。 本書を読んでみる ※なお、無料で読むにはSHOEISHA iDへの会員登録が必要です。CodeZine会員の方はそのまま読むことができます。 5/14発売 図解まるわかり 仮想化のしくみ 5月14日(火)には、同シリーズの最新刊『図解まるわかり 仮想化のしくみ』が発売予定です。 本書では視覚的にわかりづらい仮想化技術を、なるべく多くの図解を用いてイメージしやすいように解説。サーバー、ネットワーク、ストレージ、デ
「Kubernetesは難しい」と感じている方におすすめの入門書『つくって、壊して、直して学ぶ Kubernetes入門』(翔泳社)。今回は本書から、実践的な知識を習得する第一歩として、Kubernetesの基礎の基礎であるPodの作り方を解説します。また、本書でどんなことが学べるのかも紹介します。 本記事は『つくって、壊して、直して学ぶ Kubernetes入門』(高橋あおい著、五十嵐綾監修)の「Chapter 3 全体像の説明」と「Chapter 4 アプリケーションをKubernetesクラスタ上につくる」から一部を抜粋したものです。掲載にあたって編集しています。 本書での学習の流れ 本書では3つのパートに分かれています。 ●Part 1:基礎的な知識と環境構築を行います。 ●Part 2:一番ページ数も多く、Kubernetesを扱ううえで大事なことを詰め込んだパートになります。本
エンジニアのキャリアとして、技術にもとづいた専門的なキャリアパスを提供する「スタッフエンジニア」が注目されている。本講演では、2023年に出版された翻訳本『スタッフエンジニア マネジメントを超えるリーダーシップ』の監修・解説を務めた増井雄一郎氏が登壇。本書の内容に沿って、ソフトウェアエンジニアが技術力を武器にテクニカルリーダーシップを発揮し、キャリアパスを築くための指針とあり方について新たな視点とインスピレーションを提供した。 エンジニアの能力を活かし、組織に貢献する「スタッフエンジニア」というキャリア 「風呂グラマー」の愛称で呼ばれ、トレタやミイルを始めとする数々のB2C/B2Bプロダクト開発に携わってきた増井氏。監修・解説を務めた2023年発行の『スタッフエンジニア マネジメントを超えるリーダーシップ』では、「スタッフエンジニア」について触れている。「スタッフエンジニア」とは多くのエン
「GitHub Copilot」は、プログラムのコーディングをさまざまな機能で支援してくれるAIツールです。本連載ではGitHub Copilotのさまざまな機能や活用例を紹介していきます。初回となる今回は、GitHub Copilotの概要とともに、実際に使い始めるまでの手順を説明し、簡単な例でGitHub Copilotを体験します。 はじめに 近年、OpenAIの「ChatGPT」やMicrosoftの「Microsoft Copilot」、Googleの「Gemini」といった、さまざまなAIツールが利用できるようになっています。これらのAIツールは、人間の自然言語を理解し、質問への回答、画像や文章の生成、タスクの実行など、さまざまな機能で人間の作業を支援します。 図1 AIツールの利用例(Windows 11のMicrosoft Copilot) そんな中でも今回紹介する「Git
ブロックエラーの発生時にロジックエラーをキャッチする エラー発生時、時間が経つことでエラー原因が解決する場合は、再試行を選択することもできますが、そうでない場合は、同じことを繰り返しても同じエラーになってしまいます。 [ブロックエラーの発生時]アクションを利用すると、エラーの発生時に該当アクションの前後のアクションをまとめたブロックの先頭や末尾にジャンプする[例外処理モード]も作成できます。また、特定のアクションに対してではなく起こりうるロジックエラー(0除算など)に対してもエラー処理を指定することができます。 たとえば以下は、ユーザーが2つの数を入力した後、その2つの数で割り算をするフローです。 [1]新しいフローを作成する Power Automate for desktopを開きます。トップ画面から[+新しいフロー]をクリックして、適当な名前で新規のフローを作成します。 [2]ブロッ
エンジニアとして仕事を始めた人の多くが戸惑うのが、「黒い画面」ことCLI(またはCUI)。文字だけでいろんなことができると聞いても、グラフィカルなUIに慣れていたらどうしても扱いにくく、「下手なことをしてしまったらどうしよう」と恐怖さえ感じているかもしれません。今回はそんな恐怖心をなくし、CLIを使いこなす方法を解説した『コマンドラインの黒い画面が怖いんです。』から、CLIを使ってネット上の情報を取得する方法や、ファイルをZipに圧縮する方法を詳しく解説します。 本記事は『コマンドラインの黒い画面が怖いんです。 新人エンジニアのためのコマンドが使いこなせる本』(kanata著)の「第5章 たった1行でできる作業効率化!」から一部を抜粋したものです。掲載にあたって編集しています。 本記事また本書は動作環境としてWindowsを想定しています。 インターネットから必要な情報を得よう 読者の皆さ
すごいエンジニアになるためのマインドセット2つ目は「あらゆる責任を引き受ける」 2つ目に田中氏が大事にしているマインドセットは、米国の起業コンサルタントであるダン・ケネディ氏の「人生のコントロールをしたかったら、責任を引き受けろ」だという。 人生にはさまざまな判断がつきもの。しかし、会社の中でも意外と判断していない人は少なくない。その理由は「責任を取りたくないから」だと指摘する。しかし、逆に言えば責任を取る意思があれば、どんなことでも自分で決められる、判断できる、自分でコントロールできることを意味する。 つまり、責任を取れる人は、判断できる人であり、指示されたこと以上のことができる。すると、どんどん仕事ができるようになり、プロアクティブに動いて仕事をこなせるようになっていく。一方、責任から逃れようとする人は、常に言われたことしかできなくなり、さらに力もつかず、言われたことすらできなくなって
生成AIの技術革新が相次いだ2023年、生成AIを本格的に業務やサービスに導入する企業が増える中、生成AIの最前線に取り組むエンジニアは、現状をどう観察していて、今後どうなっていくと考えているのだろうか。本セッションでは、メルカリ、LayerX、そして2023年に創業したばかりのスタートアップAlgomaticの3社が集い、事業フェーズの異なるそれぞれの視点から、生成AIへの現状の取り組みや、今後期待する変化について語った。 生成AIへの3社の取り組み 「生成AIを本気で推進するトップランナーが語る!AIの展望2024年とその先」と題したパネルディスカッションでは、PIVOT 蜂須賀大貴氏がモデレーターを、メルカリ 石川佑樹氏、LayerX 松本勇気氏、Algomatic 南里勇気氏がパネリストを務めた。 冒頭で蜂須賀氏は「他の2社に負けない生成AIへの取り組み」というテーマを提示し、各社
今回、リリースされたPodman Desktop 1.9では、イメージまたはコンテナのtarアーカイブでの保存/復元が可能になった。また、KubernetesにおいてPodのターミナルに接続できるようになっている。 さらに、navigation APIへのnavigateToAuthenticationメソッドの追加や、extension APIのextensionContextにおけるシークレットの取り扱いの追加、認証セッションリクエストのみを備えた認証プロバイダサインインボタンの追加、WebViewにおけるrevealのサポートが行われるなど、数多くの機能追加・改善が行われた。 そのほか、デーモンレスのコンテナエンジンであるPodman 5.0.1がリリースされ、macOSにおいてQEMUに代わってApple Hypervisorが使われるようになったことから、パフォーマンスが向上する
CI/CDパイプラインをコード化することで継続的な構築・メンテナンスを可能にするPipeline as Codeという取り組みが注目を集めている。システム開発で当たり前になったコードのバージョン管理や自動テスト・実行環境のメンテナンスがCI/CDパイプラインにも及んでいるのだ。 本セッションでは、NTTコミュニケーションズの杉野博徳氏が、自分たちのチームで取り組んできたPipeline as Codeについて解説した。杉野氏は、NTTコミュニケーションズの社内向けSREという立場で、3年にわたって自分たちと複数のアプリケーション開発チームのCI/CDパイプラインを構築・メンテナンスしてきた。開発チームなどで継続的デリバリーの環境構築・メンテナンスに取り組むエンジニアにとって役立つ事例となるだろう。 CI/CDパイプラインで考慮すべき3つのポイント NTTコミュニケーションズ株式会社 イノベ
これまでの連載で、Platform Engineeringとは、技術の複雑性が増加することで高まったアプリ開発者の認知負荷を軽減し、生産性を向上させることを主な目的としていると解説してきました。そして、前回のチームトポロジーについての解説では、ストリームアラインドチーム(アプリ開発者と同義)がビジネスロジックなどのコア業務に集中できるように、プラットフォームチームがアプリ開発者のニーズに合ったプラットフォームを提供することが重要であるということをお伝えしました。今回は、そのプラットフォームの詳細に焦点を当てます。 プラットフォームチームが提供するInternal Developer Platformとは プラットフォームチーム(以下、PT)が提供するプラットフォームは、Internal Developer Platform(内部開発者プラットフォーム:以下、IDP)と呼ばれます。これは、開
Kubernetes Controllerの仕組み 次はKubernetesがどのようにControllerを利用しているのかを見ていこう。 先述したように、コントロールプレーンには「kube-controller-manager」と「cloud-controller-manager」がある。基本は前者でControllerを大量(大抵30〜40個)に実行している。後者はKubernetes実行基盤(クラウド)と何らかの連携するためのControllerになる。例えばクラスタに参加しているワーカーノードにノードのラベルを設定するとか、クラウド側のロードバランサーと連携するなどだ。 前者の「kube-controller-manager」では、実際にどのようなものがあるか見ていこう。Pod関連のControllerには下図のようなものがある。 Pod関連 Controller 例えばKube
クラウドで使うコンテナというと、AWSのAmazon ECS、Google Cloud Runなどがある。今回はコンテナオーケストレーションのKubernetesのアーキテクチャについて、スリーシェイク bells17氏が解説する。KubernetesはもともとGoogleが内部で運用していたコンテナ基盤のBorgをベースとしており、Cloud Native Computing Foundation(CNCF)に寄贈されたものだ。認知度からも分かるように、成熟度レベルは「GRADUATED」で成熟が進んだものとなっている。 KubernetesのコアとなるControllerとは? コンテナオーケストレーションツールとして有名なKubernetes。代表的な特徴を挙げるとサービスディスカバリとロードバランシングがある。Serviceリソースを定義することで、多数起動されているコンテナに接続
自動テストを始めるBtoB:Webサービス企業の事例 続いて浅黄氏は、自動テストに取り組む2つの企業の事例を紹介した。 まずは、BtoBのWebサービス企業がテスト自動化に取り組み始めた事例だ。WebサービスなのでフロントエンドはJavaScriptで、バックエンドにPHPで作られたものとJavaで作られたものという2つのシステムがあった。この会社で課題だったのは、リグレッションテストがうまくできていないことだった。ウォーターフォールで開発していて、テストケース自体は数百と作ってあったが、それをすべて手動で回していた。そうするとテストをやり切れず、結果としてユーザーが不具合を見つけてしまい、サポートに連絡がきて調査に追われる。そういう状態が繰り返されていた。 「アップデートで動かなくなったところがないか、不具合が発生していないか、ちゃんと確認したい。毎日自動テストが動いている状態にしたい。
システム開発においてテストの自動化は欠かせない要素になってきている。継続的に開発を進めながらサービスを成長させるモダンな開発スタイルは、高い頻度でテストすることで品質を担保しているからだ。一方、自動テストを実施したいと考えながらも、実行まで至らない、実行し始めてもうまく継続できていないという開発者も少なくないだろう。本セッションでは、ソフトウェアテストの専門企業である株式会社ヒューマンクレストの浅黄友隆氏が、UI層を操作するE2Eテストの自動化の取り組みについて具体的に紹介した。本レポートでは、自動テストを進める際に現れる2つの山と激しい環境変化にどのように対応するのか、そのポイントを解説する。 自動テストを進めるうえで直面する2つの課題と環境変化 株式会社ヒューマンクレスト 取締役 兼 技術推進本部 本部長 / テスト自動化研究会(STAR) 浅黄友隆氏 セッションの前半で、浅黄氏は自動
怖くなくなるためにKubernetesを知ろう セッション冒頭、高橋氏はKubernetesの持つ3点の特徴を挙げた。 障害発生時に、各コンテナの設定・復旧を簡単にする コンテナの仕様の管理を簡単にする 複数台サーバを利用してコンテナを起動したいとき、最適な起動先の決定を簡単にする 1.については、NGINXのコンテナが2つ欲しいというケースを例示した。「Kubernetesは2つのコンテナが起動している必要があるということを理解し、2つのうち片方のコンテナがクラッシュした際は自動的に復旧する」(高橋氏)というReconciliation Loopを行うことがKubernetesの特徴の1つだという。 2.は「マニフェストファイル」と呼ばれる、YAMLで書かれたファイルを利用して各設定を管理することができるという点だ。Kubernetesではインフラの設定をコードで書くという「Infras
CAMELORSは、同社の運営するフリーランス・複業・副業の求人マッチングサービス「SOKUDAN(ソクダン)」に掲載されている実際のフリーランス・副業案件に基づいて作成した、2024年のフリーランス・副業における「案件が多いフレームワークランキング(プログラミング言語)」を、4月16日に発表している。 同ランキングでは、「React」が案件比率38.9%で1位を獲得し、平均月収でも111万円で1位となった。以下、「Vue.js」(20.5%)、「Laravel」(13.6%)が続いている。 Reactは、Google、Facebook、Instagramなどの大手企業で採用されている人気の高いJavaScriptフレームワークで、Webアプリケーション開発やモバイルアプリ開発に広く使用される。 Vue.jsは、Webアプリケーション開発に特化したJavaScriptフレームワークで、Re
調査結果によれば、企業内でAIの可能性についての議論はますます活発化している一方で、調査対象者の全員がAIに潜むセキュリティリスクについて懸念していると答えており、51%が生成AIの採用を適切なガイドラインが整うまで見送るべきだと回答した。 調査対象者は、先進技術の潜在的なビジネス上のメリットと未来についてもっとも関心を持つ立場であり、46%が早急に生成AIの採用を進めなければ、競合に遅れを取る恐れがあると考えている。一方で、4分の1の調査対象者が生成AIを信頼していないと回答した。 その他のおもな調査結果は以下の通り。 50%が企業の評判に生成AIがもたらすリスクについて懸念していると回答 51%が著作権や法的リスクが非常に不安であると回答 51%が適切なガイドラインが整備されるまで生成AIの導入は検討していないと回答 正式なガイドラインを策定済みの企業は29%に留まり、66%はこれらの
型システムに関する新機能リスト 本連載は、TypeScriptのバージョン3から5.2までのアップデート内容を、テーマごとにバージョン横断で紹介する連載です。第3回である今回紹介するのは、TypeScriptの根幹ともいえる型システムの変更点です。具体的には、以下の内容を順に紹介します。 ジェネリクスと「...」に関する新機能 constキーワードに関する新機能 型定義におけるテンプレート文字列 Mapped型での再マッピング インデックスシグネチャの新しいキー catchブロック変数でunknownが可能 returnのない関数の戻り値 ジェネリクスと「...」に関する新機能 最初に紹介するのは、ジェネリクスと「...」演算子に関する新機能です。 ジェネリクスとスプレッド演算子の組合せ 例えば、個人情報を表す型定義としてPersonalBaseDataがあり、プロパティとしてid(num
典型的なソフトウェア劣化パターン6種類 続いてインディ氏は、ソフトウェアの劣化について話を向けた。ソフトウェアの劣化は、開発プロジェクトでよく見られる現象であり、新製品の開発時にはソースコードが比較的シンプルであり、正しいアーキテクチャを持ち、複雑化していないため容易に理解できる。しかし、機能の追加が進むにつれて複雑度が増し、設計が急速に複雑化し、人間が理解しづらい状態に陥る。すると、新たな機能の追加、エラーの修正、バグ修正のコストが大幅に増加する。これにより、計画された製品ライフサイクルが終わる前に製品の維持が困難となってしまう。 機能性が高まると、それ以上にソフトウェア劣化の可能性が高まる ソフトウェアコードの複雑さや複雑度が発生する背景には、複数の劣化の種類が存在する。インディ氏は、自動車のダッシュボードに温度を表示するシステムを例に紹介した。センサーが温度を摂氏で測定し、その後で単
シュトゥットガルト大学の研究から始まった静的解析ツールAxivion Suite Qt Groupは、"Code Once, Deploy Everywhere"のタグラインの下、1995年からクロスプラットフォーム開発フレームワークを提供してきた。開発プロセスの課題に応えるために品質保証ツールの範囲を拡大し、2021年にはfroglogicを買収して、GUIテストの自動化ツールであるSquish、コードカバレッジツールのCoco、そしてテスト結果管理ツールのTest Centerなどの製品ラインを強化した。さらに、2022年にはソフトウェア劣化を防ぐための静的解析とアーキテクチャ検証ツールを提供するAxivionを買収した。 インディ氏は20年以上にわたり、大手からベンチャーまでさまざまなハードウェアとソフトウェアの開発に携わってきた。2022年にQt Groupに参加し、ソリューション
wasm32-wasip1は、既存のWASIターゲットであるwasm32-wasiの名前を変更したものであり、2025年1月5日(現地時間)にリリースされる「Rust 1.84」ではwasm32-wasiが削除されることから、その前に新ターゲットへの移行が推奨される。なお、wasm32-unknown-unknownとwasm32-unknown-emscriptenは、この変更の影響を受けない。 今回の名前変更は、最終的なWASI 1.0ターゲットを見越してターゲット名の一貫性を維持すべく行われ、9月5日(現地時間)にリリースされるRust 1.81では、wasm32-wasiを使用しているユーザーに対してwasm32-wasip1への移行を促す警告表示が行われるようになる。最終的に、Rust 1.84ではwasm32-wasiが安定版リリースチャネルでは提供されないようになる。 そのほ
次のページ
このページを最初にブックマークしてみませんか?
『CodeZine:プログラミングに役立つソースコードが満載な開発者のための実装系Webマ...』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く