サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
秋冬の新作アニメ
codezine.jp
米Orbital Labsは、KubernetesやWindows Subsystem for Linux(WSL)のようにLinuxマシンの実行が可能な、macOS用の高速かつ軽量なDocker Desktopの代替である、「OrbStack 1.0」を9月21日(現地時間)にリリースした。 OrbStackは、コンテナを実行するためのDockerエンジンが含まれており、Compose、Dev Containers、buildxといったツールがそのまま利用できる。 あわせて、開発用に最適化された軽量なKubernetesディストリビューションが含まれており、ネットワークが統合されているので、すべてのポッドとサービス(ClusterIP、LoadBalancer、NodePort、Ingress)へ、macOSから直接アクセス可能となっている。また、イメージをレジストリにプッシュする必要は
CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。
ウェブサイトやモバイルアプリの、エンドユーザーからみた動作を確認するテストはE2Eテスト(End-to-End Test)と呼ばれ、このE2Eテストの自動化ツールは、アジャイル開発の普及もあって、今では多くの開発現場で活用されるようになりました。ブラウザ操作の自動化ツールSelenium(セレニウム)は日本でも有名になり、ご存じの読者も多いでしょう。しかし近年、E2Eテスト自動化の世界では、Seleniumに代わる新たなツールがたくさん登場し、急速に利用者を増やしています。この記事では、これらの新しいE2Eテスト自動化ツールのトレンドについて紹介します。 E2Eテスト自動化トレンドの変遷 筆者はテスト自動化ツールを作る仕事にもう15年近く関わっていますが、これまでのトレンドを見ていくと、「非OSS(非オープンソースソフトウェア)の時代」「Seleniumの時代」「多極化の時代」の3つに分け
品質を測定するとは? 技術的負債、という言葉を知っていますか? 技術的負債とは、“何らかの理由により、必ずしも最善とは言えないが、実現が容易な手法を選択した結果生じる、将来の追加コスト” のことです。コード品質の世界にも技術的負債はあります。例を挙げれば、“納期に追われて安易にコードをコピペしちゃう”、とかですね。その場は切り抜けられるかもしれませんが、そのコピペに関連する様々な不具合を将来にわたって負債として引き受けることになります。 さて、この負債。負ってしまったらどうしましょう? 真面目な方はすぐ返済したくなるかもしれませんが、負債の大きさが許容範囲内であれば、とりあえず利息だけ払って借り続けるという選択もありえます。コード品質の負債も、無理にコードを直して返済しない方がよいことがあります。コードを直すのにも費用がかかるので、開発予算や開発スコープなどと天秤にかけると、そのままにして
米GitHubは、これまでGitHub Copilot for Businessユーザーを対象にベータ提供していた、AIに対してチャットインターフェースを通じてコーディングに関する質問が可能な「GitHub Copilot Chat」を、9月20日(現地時間)からすべてのGitHub Copilot個人ユーザーに対してリリースしている。 現在、GitHub Copilot ChatはVisual Studio EditorとVisual Studio Codeでサポートされており、GitHub Copilotの個人ユーザーは案内のメールを通じて、GitHub Copilot Chatを利用できるようになる。 GitHub Copilot Chatでは、特定のコーディング課題に合わせたベストプラクティスやヒント、ソリューションを、AIアシスタントからリアルタイムで提案してもらえるほか、新しい
Remix v1以降に行われたおもな変更としては、バージョン1.8とバージョン1.10において、RemixをReact Router v6に合わせて調整し、最終的に両者が同じ依存関係に基づくライブラリを使用できるようになったほか、バージョン1.11ではストリーミング/遅延応答を作成するためのショートカットであるdeferが追加されるとともに、ネストされたディレクトリを使用することなく、ネストされたレイアウトの実行を簡素化する「フラット」ルーティングが追加されている。 バージョン1.13とバージョン1.16では、PostCSS、CSSモジュール、Vanilla Extract、CSSサイドエフェクト(グローバル)インポートといった、CSS戦略のサポートが大幅に改善された。また、バージョン1.14とバージョン1.18では、ホットモジュールリロード(HMR)とホットデータリロード(HDR)の両方
Vue3、すなわち、Vue.jsのバージョン3がリリースされたのが3年前の2020年9月です。そのVue3が、Vueプロジェクトのデフォルトになったのが、2022年2月です。その時点でのVue本体のバージョンは3.2です。それから1年以上が経過した2023年5月11日に、Vue3.3がリリースされました。本稿では、前編と後編の2回にわたって、このVue3.3での新機能をまとめて紹介します。前編である今回は、PropsとEmitsに関する新機能を紹介します。 TypeScriptとの親和性を高めるアップデート Vue3.3によって導入された新機能を紹介する前に、このアップデートの趣旨をまず紹介しておこうと思います。 Vue3.3アップデートの趣旨 Vue.jsの開発者であるEvan Youによると、3.3にアップデートを行うにあたって、その一番中心に据えたのが、TypeScriptによるコー
プログラミングで最も恐ろしい事態の1つはエラーでコードが動かないこと。数々の死線をくぐり抜けてきたプログラマーならまだしも、経験の少ないプログラマーにはエラー箇所を特定することもまた簡単ではありません。今回はそんなプログラマーのために、エラーが出たとき、実際にコードのどこに不具合があるのかを特定する「二分探索」という方法を書籍『コードが動かないので帰れません!』(翔泳社)から紹介します。 本記事は『コードが動かないので帰れません! 新人プログラマーのためのエラーが怖くなくなる本』(桜庭洋之/望月幸太郎)の「3-3 二分探索で効率的に探そう」を抜粋したものです。掲載にあたって一部を編集しています。 二分探索で効率的に探そう 小さなコードであればプリントデバッグだけですぐに不具合の原因を特定することができます。しかし、コードが大きかったり、複数のシステムが連携したりするような場合には、原因が潜
エンジニアには言わずとしれた存在であるGitLab社は、オフィスを持たない完全なリモート組織としても有名です。世界67カ国の2,000人を超えるメンバーは、いかにしてリモートワークをこなしているのでしょうか。また、コミュニケーションに問題は生じていないのかも気になるところです。今回はエンジニアの採用や組織づくりに従事し、自身の会社もオールリモート企業を達成した千田和央さんによる『GitLabに学ぶ 世界最先端のリモート組織のつくりかた』(翔泳社)から、同社がどのような考え方と方法でリモートワークを成り立たせているのか、そしてどんなカルチャーを大事にしているかを解説します。 本記事は『GitLabに学ぶ 世界最先端のリモート組織のつくりかた ドキュメントの活用でオフィスなしでも最大の成果を出すグローバル企業のしくみ』(千田和央著、伊藤俊廷/佐々木直晴監修)の「第1章 世界最大のリモート組織「
同チームは、米HashiCorpがTerraformをオープンソースライセンスからビジネスソースライセンス(BSL)に切り替えたことを受けて、同社に対してオープンソースライセンスに戻すよう求めていたが、同社から応答がなかったことから、今回のOpenTFの一般公開に至っている。 OpenTF開発チームは、真のオープンソース、コミュニティ主導、公平なプロジェクトの作成を目指しており、今後はOpenTFをオープンソースで開発していく。 OpenTFは現時点で、ローカルテストと開発をサポートしており、コードのビルド、テストの実行、バイナリのビルドなどが可能となっている。ただし、いくつかの項目がまだ完了していないため、正式版のリリースには未だ至っていない。 現在までに、すでに完了している項目は以下の通り。 OpenTFマニフェストの公開 HashiCorpからの応答待ち OpenTFフォーク作業の開
SRE NEXT 2023 Chair Wataru Tsuda / gr1m0h ソフトウェアベンダーで開発、運用、SRE、企画を経験。2023年2月に株式会社Luupにジョイン。IoT領域のSREとして主にSLI・SLO周りを推進。 SRE NEXTでは、第1回であるSRE NEXT 2020はスポンサーとして参加し、2021年からSRE NEXTの運営主体となる勉強会であるSRE Loungeの運営に参加。SRE NEXT 2022から運営のコアスタッフとして参加。SRE NEXT 2023では、Chairに加えてSpeakerとして登壇も行う。 SRE分野のトップランナーが登壇し、ハイブリッドで開催 ──SRE NEXT 2023はどのようなカンファレンスですか? 概要を教えてください。 SRE NEXT とは、信頼性に関するプラクティスに深い関心を持つエンジニアのためのカンファレ
開発の現場では、単体テストの自動化、結合テスト(APIテスト)の自動化、システムテストの自動化など、段階ごとにさまざまなテスト実行が自動化されている。だが、特に結合以降において、テスト自動化の導入を失敗するケースは少なくない。その原因の一つは、テストの自動化をツール導入と捉えていることにある。本セッションでは、テスト自動化アーキテクチャという概念を通じて、ソフトウェアテストを自動化する仕組み、テスト自動化システム構築のポイントについて語られた。 テスト自動化成功の大きな鍵「テスト自動化アーキテクチャ」 テスト自動化アーキテクチャはその名の通り、テスト自動化の仕組みを構築するためのアーキテクチャを意味し、テスト自動化が成功するか失敗するかの大きな鍵と言われている。 本セッションは、mablのQuality Advocateを務め、TestingやQAの啓蒙活動に取り組むおだしょーこと小田祥平
Mojoは、AI開発者向けの新たなプログラミング言語であり、将来的にはPythonのスーパーセットを目指して開発が進められている。すでに任意のPythonコードとのシームレスな統合がサポートされており、GPUなどアクセラレータを含むパフォーマンスが重要なシステムをターゲットとする、スケーラブルなプログラミングモデルを搭載する。 Pythonの使いやすさに加えて、C/C++/CUDAの備えるシステムプログラミング機能を併せ持つため、研究チームと導入チームが共通のコードベースで作業できる。一方で、Pythonでは未だ登場していないGPUやASICなどの特殊なアクセラレータをサポートし、C++やCUDAと同等のパフォーマンスが提供される。 また、Pythonエコシステムとの完全な相互運用性を確保しており、MojoコードとNumPyやMatplotlibなどとのシームレスな混合も可能となっている。
Bunは、JavaScriptの優れた点をすべて捨てることなく、遅さと複雑さを排除することを目的に開発されており、任意のライブラリやフレームワークの動作が可能となり、使い慣れたツールを使って開発を行うことができる。 一方で、BunはNode.jsの代替となり、トランスパイラなしで各種ファイルの実行が可能であり、クラス最高のパフォーマンスとesbuild互換のプラグインAPIを備えたJavaScriptバンドラとして各種バンドラを置き換えられる。さらに、npm互換のパッケージマネージャであり、Jest互換のテストランナであり、高速なJavaScriptランタイムでもある。 これまで、BunではmacOSとLinux用のネイティブビルドのみを用意し、Windowsで利用する場合はWindows Subsystem for Linuxが必要だったが、「Bun 1.0」ではWindows版の実験的
はじめに BASE株式会社でシニアエンジニアを務めているプログラミングをするパンダ(@Panda_Programと言います。本連載は「フロントエンドカンファレンス沖縄2022」で私が発表した内容[1]を記事として再構成したものです。 対象読者 本連載の対象読者は、個人開発に興味があるソフトウェアエンジニアの方です。 個人開発の楽しさはモノづくりの楽しさ、個人開発のメリットは事業の仕組みを学べること 個人開発は一見すると、自分の時間を使ってソフトウェア開発をするという大変な作業のように思えます。実のところは、さながらDIYのようにモノづくりそのものに熱中する楽しさを味わえます。ソフトウェアエンジニアを職として選んだ頃の、純粋にコードを書いてシステムが動くのが楽しいという初心に帰りながら、仕事とは無関係に自分の作りたいものを作る楽しさと喜びは小さいものではありません。 私はかつて、幸福には3種
米Microsoftは、macOS向け統合開発環境(IDE:Integrated Development Environment)「Visual Studio for Mac」の提供を終了すると8月30日(現地時間)に発表した。現時点での最新版である「Visual Studio for Mac 17.6」を最後に開発は終了し、2024年8月31日まではセキュリティ関連の修正や、macOSのバージョンアップに伴う修正プログラムを提供する。 Microsoftは今回の決定について、Visual Studio for Macの利用パターンの解析結果や、ユーザーからの声から判断したとしている。今後は、さまざまなOSで利用できる開発環境として「Visual Studio Code」のC#言語向け拡張機能や、クラウドで提供する仮想的開発環境「Microsoft Dev Box」の開発に集中するとしてい
大規模言語モデル(LLM)とは何か? その仕組みと実用化まで 登壇したのは、グーグル・クラウド・ジャパン合同会社 ソリューションズアーキテクトの中井悦司氏と、同社のAI/ML 事業開発部長である下田 倫大氏の2人。まず中井氏がセッションのテーマである大規模言語モデル(LLM)の基礎知識を解説した。 グーグル・クラウド・ジャパン合同会社 Solutions Architect 中井悦司氏 ウィキペディアで「言語モデル」を調べると、「単語列に対する確率分布を表わすもの」とある。中井氏は、世の中に存在する大量の自然言語で書かれたテキスト文書に対し、その文書がどれほど「ありそう」なものなのかを確率で表現するものが言語モデルであると説明した。 言語モデルの利用例として、文章の次に来る単語の予測が挙げられる。例えば、"This is a ……"とあると、多くの日本人は"pen"と想像することが多い。そ
アルメニア出身で米サンフランシスコ在住の開発者であるAsh Vardanian氏は、Python/C/C++向けライブラリ「StringZilla」のバージョン1.1.3を8月31日(現地時間)に公開した。StringZillaはApache 2.0ライセンスと3条項BSDライセンスで公開しているオープンソース・ソフトウェア。ユーザーはどちらかのライセンスを選んで利用できる。 StringZillaは、大規模な文字列データを単語ごとに区切ったり、区切った単語をソートするなどの機能を提供している。StringZillaの最初のバージョンであるバージョン1.0.0が公開されたのは2023年7月13日。それに先立ってVardanian氏が公開したブログポストでは、StringZillaの基本的な考え方を解説している。 StringZillaは、長い文字列が対象であっても最初の4文字が合致していれ
Linux Professional Institute(LPI)は、LPI認定試験の入門レベルEssentialsシリーズに、ITセキュリティに関する「Security Essentials v1.0」の日本語試験をリリースしたことを9月6日に発表した。受験価格は1万円(税別)で、誰でも受験可能。 Essentialsシリーズは、2019年のLinux入門試験「Linux Essentials」のリリース以降、年々認定者を増やしているエントリーレベルの資格試験。今回、同シリーズの新しい認定として初心者向けのITセキュリティ認定、「Security Essentials」の日本語試験がリリースされた。 Security Essentialsでは、「基本的なセキュリティ概念」「暗号化」「デバイスとストレージのセキュリティ」「ネットワークとサービスのセキュリティ」「アイデンティティの保護」「プ
ifは、「ITの力をみんなに」というミッションを掲げ、エンジニア転職やキャリアアップを目指して独学でスキルアップしたい人を対象としたプログラミング学習サービス「Code Lesson」を運営している 同サービスでは、Java・PHP・Python・SQLコースを新規リリースした。 Javaコースでは、主に下記のことを学べるレッスンを用意している。 入門(変数やデータ型の扱いなど) 条件分岐 繰り返し処理 配列 メソッド Javaを実務で使用することになった人や、Webアプリを開発したい人などにおすすめのコースとなっている。 PHPコースでは、主に下記のことを学べるレッスンを用意している。 入門(変数やvar_dumpを使ったデバックなど) 条件分岐 繰り返し処理 関数 配列(連想配列) PHPでWebアプリを開発したい人はもちろん、WordPressで独自カスタマイズに取り組むためPHPを
はじめに Microsoftの提供するVisual Studio Code(VSCode)は、2015年の最初のリリースから、今では開発用エディタの定番の座を占めるまでになりました。これには、無償で使えることも大きいですが、何よりエディタとしての使いやすさ、そしてさまざまな拡張機能によっていくらでも使い勝手を向上させたり、利用の領域を拡げられたりすることも大きいでしょう。本連載では、このVSCodeにフォーカスし、基本的な使い方から拡張機能の活用、そして本格的な開発現場での利用を想定した高度な機能までを紹介していくことで、読者がVSCodeマスターになるお手伝いをします。 対象読者 テキストエディタメインで開発してきた方 Visual Studioより軽い環境が欲しいと考えている方 Visual Sudio Codeをもっと使いこなしたい方 必要な環境 本記事の内容は、以下の環境で動作を確
対象読者 Reactの基本を修めている方 通信回線が弱いユーザーにも高速に表示できるサイトを作りたいエンジニア WebブラウザとNode.jsという異なるランタイムをそれぞれキャッチアップするのが辛くなってきたエンジニア 前提環境 筆者の検証環境は以下の通りです。 macOS Ventura 13.4.1 Node.js 20.4.0 NPM 9.7.2 Remix 1.18.1 Webサイトと通信の歴史 これまでの連載で、Remixの基本的な考え方や、頻出する使い方について解説してきました。今回からは、個別の機能にフォーカスして解説していきます。今回は、通信に関する機能の解説として、データ取得とデータ更新について解説します。 さて、Web標準とプログレッシブエンハンスメントを大切にするRemixは、通信においても可能な限り、ブラウザの基礎的な機能に肉付けする形でユーザー体験をよくするため
Biomeはコードのフォーマット統一や静的解析の機能を併せ持つツール。JavaScript/TypeScript、JSON、CSSに対応する。JavaScript/TypeScriptを使ったアプリケーション開発では、Babel(トランスパイラ)、ESLint(静的解析ツール)、webpack(モジュールバンドラ)、Prettier(フォーマット統一ツール)、Jest(結合テスト・ツール)など、それぞれ異なる機能を持つ別々のツールをかき集めて、適切に使い分ける必要があるが、必要なツールを集めて環境を作るだけでも開発者にとっては大きな負担となっている。 そこで、単一のツールで上記のような機能をすべて提供しようという考えからFacebook(現Meta Platforms)で2020年に開発が始まったのが「Rome」だ。その後RomeはFacebookの手を離れ、開発を主導していたSebast
東京大学松尾研究室発のAIスタートアップ、ELYZAは8月29日、Metaが開発した大規模言語モデル(LLM)「Llama 2」に日本語の追加学習を行い開発した、70億パラメータの日本語LLM「ELYZA-japanese-Llama-2-7b」の一般公開を開始した。本モデルは、研究および商業目的での利用が可能。 「ELYZA-japanese-Llama-2-7b」は、Metaの英語ベースLLM「Llama-2-7b-chat」に対して、約180億トークンの日本語テキストで追加学習を行ったモデル。70億のパラメータ数は、公開されている日本語のLLMとしては最大規模になる。日本語の追加学習には、OSCARやWikipediaなどに含まれる日本語テキストデータが使用されている。 全部で4つのバージョンが公開されており、ELYZA独自の事後学習を施した「ELYZA-japanese-Llama
次のページ
このページを最初にブックマークしてみませんか?
『CodeZine:プログラミングに役立つソースコードが満載な開発者のための実装系Webマ...』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く