サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
Wikipedia
codezine.jp
「テストを書くと開発に時間がかかる」。こんな話を一度は耳にしたことがあると思います。実際はその逆で、テストを書かないとむしろ開発の工数が増えてしまうのです。本連載では、テストの基本知識はあるが今まで実際のプロダクトでテストを書いたことがない人や、自分が書いたコードのどこをテストしたらいいのかわからない人を対象に、まずはテストを書く→質のいいユニットテストを目指すことを目的として、足がかりとなるようなポイントを解説します。第1回となる本稿では、テストの重要性やTypeScriptを用いたユニットテストの実例を紹介します。 はじめに BASE株式会社でシニアエンジニアを務めているプログラミングをするパンダ(@Panda_Program)と申します。本連載はPHPカンファレンス2022での発表「実践!ユニットテスト入門」を再構成して記事としたものです。 対象読者 本連載の対象読者は、自動テストの
本書はITエンジニアからアーキテクトを目指す方や、アーキテクトになったばかりで知識に不安がある方のために、アーキテクチャ構築の基本をいちから体系的に解説した本です。 「アーキテクチャとは何か」という原点から説明しているので、自分の今の知識や認識が正しいのかもチェックしながら学ぶことができます。 著者の米久保剛さんは、企業向けシステムのアーキテクチャ構築を手がけるITアーキテクト。本書は米久保さんが「筆者が若手だった頃にこんな本があればもっと効果的に学習を行えただろう」という知識を詰め込んだ1冊となっています。 アーキテクトの役割からアーキテクチャの設計と実装についてや、ソフトウェア設計とテストなどソフトウェアエンジニアリングに関しても解説しているので、アーキテクトに必要な幅広い知識が身につきます。 刊行記念イベントも開催されますので、こちらもぜひチェックしてみてください(本記事後半に掲載)
はじめに 前回は、非常に小さなレトロ風RPGの、バトル画面を作りました。今回は、Pythonのクラスと、Pygameのスプライトについて学びます。 クラスとインスタンス クラスは多くのプログラミング言語に存在している仕様です。Pythonにもクラスがあります。クラスはデータと処理をまとめてグループ化できる仕組みです。他にも便利な仕組みを持っています。 クラスは整数やテキストなどと同じような「型」になります。そして、クラスという設計図のようなものから、インスタンス(実体)と呼ばれるオブジェクト(物)を作ることができます。 クラスとインスタンス 実際にどのようなものか、Pythonのプログラムで見てみましょう。class_1.pyというファイルを作り、プログラムを書いて実行します。 class Chara: # コンストラクター、第一引数はself def __init__(self, nam
CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。
あらゆるオペレーションが生成AIによって「代替」されるであろう未来、テクニカルスキルを磨いただけのエンジニアが生き残っていくことは難しいとされる。AIに代替されることなく、AIの担い手となりうるエンジニア像とは、どのようなものだろうか。本セッションには、東京大学工学部在学中にフリーランスエンジニアとして独立、その後株式会社AppBrewを起業し、現在も代表兼エンジニアとして第一線で活躍している深澤 雄太氏が登壇。生成AIによって「代替」されていく世界でエンジニアはどう立ち回るべきか、自身の経験をもとに語った。 生成AIによって「代替」されていく世界 初めに深澤氏は、GPTの出現によって、エンジニアリングだけでなくさまざまなオペレーションが「代替」され始めている現状について整理した。 たとえばある機能を持った関数を作成したいときや、既存のコードはあるものの、それぞれの会社の「お作法」に合わせ
CAMELORSは、同社の運営するフリーランス・複業・副業の求人マッチングサービス「SOKUDAN(ソクダン)」に掲載されている、実際のフリーランス・副業案件に基づいて作成した、2024年最新のフリーランス・副業における「PHPエンジニアの調査レポート」を、7月5日に発表した。 調査結果によれば、PHPエンジニアの年収は平均973万円で、プログラミング言語別の年収ランキングで10位にランクインしている。中央値は910万円で、月収換算では平均81万円、中央値は76万円だった。また、時給換算では平均4826円、中央値4514円となっている。 プログラミング言語別年収ランキング プログラミング言語別の案件数では、PHPは案件比率13.0%で2位にランクインした。月収面では81万円で、トップ10にランクインしたプログラミング言語の中では中程度ながら、JavaScriptよりも若干低い水準となってい
ChatGPTのリリースから1年以上経過した現在も、大規模言語モデル(LLM)の能力を活用し、自社やユーザー向けに価値を提供できている人や企業はごく一部に限られている。このセッションでは、株式会社セクションナイン代表取締役CTOでありChatGPT Community(JP)主宰の吉田 真吾氏、ネクストスキル合同会社の大嶋 勇樹氏、株式会社Pictoriaの阿部 由延(サルドラ)氏、合同会社HOHOの波々伯部 潤氏、ZEN Architectsの三宅 和之氏が登壇。ChatGPTから実際に成果を出しているパイオニアとも呼ぶべき5名が、自身の経験や具体的な取り組み、今後の展望について語り合った。 ChatGPTがもたらす業務効率化の実例 まずは冒頭、「ChatGPTによって効率化が進んでいるのは、どのような業務分野や産業分野か」との問いが司会者によって投げかけられた。 「ChatGPTをコン
本書はWebサイト制作のアプローチとして注目を集める、WebフレームワームとヘッドレスCMSを組み合わせた手法について解説した本です。 表示画面(フロントエンド)はNext.jsで実装し、核となるコンテンツは国産ヘッドレスCMSの「microCMS」で管理します。下記のように、Webサイト制作に必要なノウハウをいちから順にしっかり説明しています。 コンポーネントベースのトップページと下層ページの作成 記事コンテンツのカテゴリ分け ページネーション機能、検索機能、プレビュー機能の作成 キャッシュを活用したパフォーマンスの最適化 BASIC認証によるセキュリティの向上 Vercelによるサイトのデプロイと公開 架空のコーポレートサイトを題材に、ハンズオン形式で制作のプロセスと実践的なテクニックを解説。著者はmicroCMSの開発陣なので、確かな知識が身につきます。 Webサイト制作の初心者はも
2022年11月の公開以来、世界中で爆発的に広がったChatGPT。従来型の大規模言語モデル「GPT」をチャット型にすることで、技術者のみならず一般人まで広く利用可能になった点がイノベーティブだ。しかし同時に、エンジニアには「ハルシネーション(AIが事実とは異なる情報を生成する現象)」のリスクを正しく認識し、適切に付き合っていくことが求められている。2024年2月に開催されたDevelopers Summit 2024において、株式会社NextInt代表の「ところてん」こと中山心太氏が、エンジニアの生成AIとの付き合いかた、生成AIによって変化したエンジニアの業務領域、求められるスキルについて解説した。 ChatGPTの有用性とハルシネーションのリスク OpenAI社によって開発されたChatGPTは、2022年11月に公開され、その高い技術性能によって世界中で爆発的に広がった。ChatG
テストにおけるBuilderパターンの活用 初めに登壇したのは、株式会社ゆめみ Flutterギルド テックリード 和泉田領一氏。Builderパターンとは、複雑なオブジェクトの構築をシンプルにするためのデザインパターンのこと。オブジェクトの構築をBuilderクラスに移譲することで「オブジェクトの構築プロセスを隠蔽できる」「オブジェクトの構築手順を変更しやすい」「同じ構築プロセスで異なる表現のオブジェクトを作成できる」などの利点がある。 本セッションでは「(依存関係やテストの実行環境のための)ProviderContainerのoverrideをBuilderパターンで構築する」手順について解説。Riverpodを使ったFlutterアプリのユニットテストでは、ProviderContainerのoverridesを設定することで、テスト用のデータやモックを注入する。この際に、Build
「Svelte」はWebページ用UIフレームワークで、コンパイル時にプレーンなJavaScriptを生成するといった特徴があります。本連載ではSvelteの活用方法を順を追って説明していきます。初回となる今回は、Svelteの概要と特徴を説明するとともに、実際にプロジェクトを作成して実行させ、Svelteを体験します。 はじめに WebページのUIを構築するためのライブラリやフレームワークは、ReactやVue.js、Angularといったさまざまなものが存在します。本記事で取り上げるSvelteも、そのようなフレームワークの1つです。 図1 Svelteの公式ページ 他のライブラリやフレームワークでは、それ自体のコードがブラウザーに読み込まれて実行されるのに対して、Svelteでは、Svelte自身のコードを含まないプレーンなJavaScriptをコンパイルで生成するため、実行ファイルサ
登壇者を40歳以上のベテランエンジニアに限定し、ITエンジニアの長期キャリア形成について考える「エンジニアがこの先生きのこるためのカンファレンス2025(きのこカンファレンス2025)」が、2025年3月9日にdocomo R&D OPENLAB ODAIBA(東京・港区)で開催される。 きのこカンファレンス2025は、参加者が自身のキャリアやロードマップを見つめ直し、未来を描くヒントを得ることを目的としたITカンファレンス。 登壇者は40歳以上のベテランエンジニアに限定されており、彼らの経験や知識を通じて、参加者が長期的にエンジニアとしての道を歩み続けるためのインスピレーションを提供する。 セッションの内容は、ITエンジニアとしてのスキルやキャリア選択、ロードマップの策定、人生の描き方など、登壇者の実際の経験や学びに基づいたもの。エンジニアとして、この先も生き残るための知識の共有に限定さ
Pythonの爆速化を可能にするにはどうすればいいのか。ツールやライブラリに頼る前に、まずはピュアPythonに組み込まれている機能を使い、コードの最適化を図るべきです。なぜなら、処理速度の課題を解決できる可能性が高いからです。今回はPythonのパフォーマンスを劇的に向上させるためのテクニックを解説した『爆速Python』(翔泳社)から、Pythonの組み込み機能のパフォーマンスを引き出す方法を紹介します。 本記事は『爆速Python』の「Chapter 2 組み込み機能のパフォーマンスを最大限に引き出す」から一部を抜粋したものです。掲載にあたって編集しています。 ※本書はTiago Rodrigues Antãoによる『Fast Python: High performance techniques for large datasets』(Manning Publications)の邦
ソフトウェアテストの自動化やローコード・ノーコードツールへのAI技術導入が急速に進んでいる。とはいえ、生成AIはいまだ研究段階にあり、日本でも海外でも有効な活用方法を模索している途上にある。本セッションでは、ソフトウェアテスト領域のトップランナーである3人、Launchable,Inc共同社長の川口耕介氏、プログラマでテスト駆動開発者の和田卓人氏、オーティファイ株式会社代表取締役 CEOの近澤良氏が、生成AI時代のソフトウェアテストの現状と課題、これからの展望について語った。 海外と日本のソフトウェアテストの現状 アメリカに住み、20年間アメリカのソフトウェア開発現場を見続けてきた川口氏は、「故郷に錦を飾りたい」という思いから、日本でもJenkinsやDevOps、ソフトウェアテストのような取り組みを進めていきたいと考えている。しかし、取り組みの中でいろいろな難しさを感じ、日本と海外のソフ
無料の開発者アカウントには、以下のものが含まれる。 豊富なリクエスト(1か月あたり200万件)と帯域幅(200GB超)およびTLS証明証が提供されるCDN 無制限のL3/4 DDoS緩和とすべてのL7トラフィックを管理するための柔軟性を備えたセキュリティ JavaScriptやRust、Goといった多彩な言語での大規模なアプリ実行のためのWasmベースのコンピューティングプラットフォーム 直接ソケットと1対多のプッシュを使ってリアルタイムシステムを構築・拡張できるWebSocketとプッシュ通知 もっとも高速なエッジデータプラットフォームの1つでありシークレット、構成状態、完全なK/Vデータを管理するデータストレージ、多数のエンドポイントへのログのリアルタイムストリーミングによる可観測性 エンタープライズ品質の画像変換、スマートクロップ、ぼかし、メタデータ、フレーミングなどをサポートする画
今回はAndroidアプリケーションの開発に役立つ3種類の新機能を公開した。1つ目は、画像ファイルからアプリケーションのユーザーインターフェイスのコードを自動的に生成する機能。2つ目は、ユーザーインターフェイスのコードと、その実行結果の画像ファイル、そして改善したい部分から、実際に改善する方法を提示する機能。3つ目は、Geminiへの問い合わせ機能をアプリケーションに組み込むコードを生成する機能だ。 1つ目は、アプリケーションのユーザーインターフェースのイメージ画像をアップロードして、この画像のようなユーザーインターフェイスを構築したいと問い合わせると、Jetpack Composeのコードを返す機能。Geminiが返したコードは、開発中のアプリケーションにコピー&ペーストで組み込める。 2つ目の新機能では、ユーザーインターフェイスを実現するJetpack Composeのコードと、その実
本連載では、さまざまなチームやプロジェクトにおいてプロジェクト管理手法や開発モデルを適用してきた経験から、現場からボトムアップによって、組織にあったアジャイル開発管理手法を取り入れていく方法を解説します。今回は「現場からみたアジャイル開発の難しさの原因」について、アジャイルとウォーターフォールの目的の違い、組織に適した管理手法などを整理しながら考察します。 はじめに 筆者は、金融会社でのシステムエンジニアからエンジニア人生が始まり、2000年からはWeb業界にて5回ほど転職をしてきました。そこでは、自社サービスの立ち上げや業務委託でのシステム開発やR&D(Research and Development)業務やその支援、そしてITプロジェクトにおいてトラブルが生じた場合の問題解決支援などを行ってきました。 数名の小さいチームから大手企業の数十名のチームまでさまざまあり、その度にプロジェクト
amazee.ioは、開発者がコードをプッシュするだけであらゆるテクノロジをオンプレミスを含む、任意のインフラストラクチャにデプロイ可能なアプリケーションデリバリ&ホスティングサービスであり、ITインフラ構築運用にかかる時間をゼロにする、ZeroOpsを実現する。 おもに、クラウドサービスの安全性を評価する国際セキュリティ認証であるSOC2 Type2、ISO27001、ヨーロッパのGDPRやアメリカのCCPAといった個人情報保護法に準拠するオープンソースPaaSであり、あらゆるアプリケーションを統合的に管理できる柔軟性を備えるとともに、セキュリティ、パフォーマンス、可用性や拡張性に優れており、amazee.ioの導入によってデジタルマーケティング、DXや新規事業の実行時におけるITインフラやサポートの課題を一元的に解決し、売上機会の向上と同時にコストの最適化とリスク低減を実現できる。 日
Knitfabは、MLOpsにおけるデータやモデルのバージョン管理が非常に重要かつ困難な作業になるという課題を解決すべく、機械学習やAIの研究者・エンジニアがより生産的に仕事ができるようにしたい、との思いから企画された独自のデータ/モデルバージョン管理自動化ソフトウェア。 Knitfab上で機械学習の処理を実行すると、自動的にそこで使うデータセットやモデルがもれなく保存され、履歴管理が行われる。Knitfab上のワークロードは、Docker化可能な実行ファイルならどんな言語やフレームワークを組み合わせたものでも対応し、任意の技術で作った機械学習やデータ解析ソフトウェアもすべて使用できる。 Knitfabの導入にあたって、既存の機械学習スクリプトやデータ処理プログラムに対して、特定のフレームワークを要求することはなく、登録されたデータ処理をすべて自動監視して、履歴を自動的に記録する。 Kni
インターネットを利用した動画配信は、ブロードバンドの普及とともに急速に発展し、今や多くの人々がたくさんの動画コンテンツを視聴しています。各関連技術は発展と収束を繰り返し、昔は難解だった動画配信技術もデファクトスタンダードが確立されつつあります。本連載ではインターネットを利用したストリーミング動画配信技術についてわかりやすく紹介し、誰でも、簡単に、動画配信ができることを伝えていこうと思っています。第2回となる本記事では、そもそも動画ファイルとは何か、ハンズオンを交えながら紐解いていきます。 はじめに 合同会社DMM.comで動画配信サービスの開発をしている中村(@zyackusan)です。2020年に入社して以来、FANZAの開発やDMM TVのサービス立ち上げなどで主にバックエンドの開発に関わってきました。 ちなみに、私が今の開発グループを選んだ理由は「なんかややこしそうなシステムを作って
本書ではソフトウェア開発の工程で起こりがちな42の失敗事例を取り上げ、その原因と回避方法を解説しています。 特に新任リーダーやチームで開発に取り組むエンジニアにとって、絶対に避けるべきだとわかっていながら避けられない失敗や、気づいたらはまってしまっていた落とし穴など、チームの足を止める状況はできるだけ避けたいものです。もし完全には避けられないなら、被害を最小限に抑える必要があります。 紹介する失敗エピソードは、例えば下記のようなもの。それぞれのエピソードに、架空の開発現場を舞台にした4コマ漫画も収録しています。 機能がてんこ盛りで実装が間に合わない「全部入りソフトウェア」 お願いされた機能を断れない「八方美人な仕様」 ユーザーを迷わす自分ルールのUI「オレオレ表記」 行間を読ませる「文学的仕様書」 リリース版が復元できない「不完全リポジトリ」 アクションしない「聞くだけ進捗会議」 施策を打
AI時代の開発にオブジェクト指向は必要か、現代の開発における「オブジェクト指向プログラミング」とは何か──。3月24日に開催されたObject-Oriented Conference 2024で「オブジェクト指向のリ・オリエンテーション〜歴史を振り返り、AI時代に向きなおる〜」と題して羽生田 栄一氏が基調講演を行った。 「オブジェクト」とは? Alan Kayより、3つのメッセージ 講演冒頭、羽生田氏は「リ・オリエンテーション」と題した本セッションの意図を、以下のように説明した。 株式会社 豆蔵 取締役 羽生田栄一氏 「一つは『オブジェクト指向ってこんなもんだよ』というオリエンテーションをするということ。もう一つは、そうは言っても『AI時代にオブジェクト指向いらないんじゃないの』という声もあるので、単純にオブジェクト指向にどういう方向性があり得るのか『向き直る』という意味をかけています」
次のページ
このページを最初にブックマークしてみませんか?
『CodeZine:プログラミングに役立つソースコードが満載な開発者のための実装系Webマ...』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く