サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
衆院選
codezine.jp
2015年にリリースされたRustが近年注目されています。RustはMozilla社の社員による個人プロジェクトから始まり、当初はFirefoxなどに使われていました。次第にパフォーマンス、安全性、生産性の高さが評価され、様々なソフトウェアやハードウェアへの組み込み、Webアプリやゲームなどに利用されるようになりました。Webサービスのバックエンド開発にも活用されており、利用を考えている方もいるのではないでしょうか。今回はRustの入門書『バックエンドエンジニアを目指す人のためのRust』(翔泳社)から、なぜRustが注目されているのか、その魅力を紹介します。 本記事は『バックエンドエンジニアを目指す人のためのRust』(著:安東一慈/大西諒/徳永裕介/中村謙弘/山中雄大)の「第1章 Rustはどういうところで使われているのか?」から抜粋したものです。掲載にあたって編集しています。 Rus
Gmailの新ガイドラインが目指すものとは? 2023年10月、Gmailからメール送信者向けの新しいガイドラインが発表された。それに対し、海外では相当な反応があった。メールは古くからある技術だが、新しい技術や環境への対応は常に行われており、時代の要請も踏まえてこれまでの常識が新常識に置き換わっている部分も多い。 実際、新ガイドラインが求めていることは、ネット社会の環境変化などを受けたもので、中井氏によれば「その要点は2つに絞ることができる」と言う。1点目は認証と信頼性の確保だ。送信者の身元が明確で、安全かつ信頼できる方法で送信している必要がある。2点目は送信者としての適切な振る舞いだ。受信者が必要としているメールを送ること、不要なメールは受け取らない選択ができることなど、受信者が快適であるような施策が求められている。 新ガイドラインでは、大きく2つの対応が求められた Gmailのようなメ
これまで本連載ではPlatform Engineeringについてさまざまな観点から解説してきました。前半では理論編として、既に提唱されているソフトウェア開発の重要な考え方(SREやTeam Topologies等)との関係を整理していくアプローチを中心に理解を深め、後半には実践編としてInternal Developer Portalのハンズオンや、プラットフォームをプロダクトとして構想し成長させる進め方について解説してきました。今回とその次の回では、「Platform Engineering Kaigi 2024」で共有された知見や、基調講演でも登壇した株式会社メルカリ 中島大一さんへのインタビューを通して、Platform Engineeringの実践のポイントについて紐解いていきます。 Platform Engineeringの先人に学ぶ──PEK2024の講演より 2024年7月
生成AIの急速な進化は、多くの分野で生産性の向上や人件費削減などの利益をもたらしている。しかしその反面、ソフトウェア開発におけるテスト工程の複雑化などにより、品質保証のプロセスにおいてさまざまな問題が発生している。こうした問題への対処として、開発プロセスの早い段階でテストを行うことで問題を早期に発見し修正する「シフトレフト」、リリース後の本番環境で、実際のユーザーデータを用いて問題を発見し迅速に修正する「シフトライト」の2種類のアプローチが試みられている。こうした複雑化の背景や、シフトレフト/ライトの考え方について、高橋寿一氏によるセッションが行われた。 生成AIで複雑化するテストプロセスとソフトウェア品質 セッションの冒頭、高橋氏は「AIの品質保証は、今後かなり面倒になる」としたうえで、「AIの台頭がさらに進むと、品質保証にかかるテスト費用は増える。このテスト費用はここ30年変わらなかっ
近年はソフトウェア開発技術の進化によって技術のコモディティ化が進み、エンジニアはより本質的なプロダクト的な価値に集中できるようになりました。本記事は、プロダクト的な価値を中心に置いた「プロダクトエンジニア」という職種について解説します。プロダクトエンジニアの出現の背景をひも解くとともに、フルスタックやフルサイクルエンジニアの役割と比較して理解を深め、プロダクトエンジニアがどういう職種なのか、具体的に紹介します。 プロダクトエンジニアの出現、領域の越境と拡大 こんにちは、アセンド株式会社CTOの丹羽です。突然ですが「プロダクトエンジニア」という言葉を聞いたことはありますか? プロダクトエンジニアとは、開発の中心にプロダクトの価値追求を置くソフトウェアエンジニアの職種を指します。近年、スタートアップ企業を中心にプロダクトエンジニアという職種を新たに設定し、採用募集を行う企業が増えています。 ソ
「スタディングテック」は、オンラインでプログラミングが学べる動画学習サービスで、基本コースは無料となっており、会員登録のみでプログラミングの学習動画を視聴できる。 提供コースとしては、人気プログラミング言語ランキングにて1位を獲得した「Python」や、近年需要が急速に高まっている「生成AI」などを用意しており、生成AIの活用、プログラミングの基礎からWeb開発・アプリ開発まで、未経験からITエンジニアになるためのスキルを身につけられる。 提供コースは以下の通り。 Python基礎 JavaScript入門 HTML/CSS入門 Astro入門 生成AI入門 Git/Githubの使い方 VSCodeの使い方 今後は、以下のコース提供も予定する。 PHP入門 Node.js入門 Next.js入門 Laravel入門 React入門 あわせて、現役エンジニアによるサポートが受けられる有料プ
「デザインが変わっただけ」でもスクリプトの修正が大変 3つ目の事例は「テスト実行が遅く、仕様変更時の修正が大変な現場」。顧客へのヒアリングにて「最近テスト実行に時間がかかって困っている」との声があがった。テストケースのステップ数が多いのか尋ねたら「画面数は数個で、UIが少し変更された程度だが、スクリプトの修正が非常に大変」とのことだった。大幅な機能変更の有無を問うと「デザインやメッセージが変わっただけ」との回答を得た。 詳細を調べたところ、テスト対象は問合せフォームで、文字列を入力し送信するページだった。テストスクリプトではデザインの検証に加え、フォームへの入力値やメッセージのチェックを行っていた。デフォルト値のチェックや、入力必須のアラートが出るかのバリデーションも行い、最後にテキスト入力をするなど、多岐にわたる検証を行っていた。 UIの詳細な検証を含む、非常に複雑な内容だった テストの
テスト自動化の運用における3つの課題 バルテスグループは、ソフトウェア開発におけるV字モデルの上流から下流まで、品質向上を支援する事業を展開する企業である。同グループのバルテス株式会社では、ソフトウェアテストの支援に加え、日本語で書かれたテストケースをスクリプトに変換できる月額3630円~(7月24日現在)利用できるテスト自動化ツール「T-DASH」も提供している。江村氏は、20年以上にわたりWEB業界に携わり、アプリケーション開発やプロダクトマネジメント、QA組織の立ち上げ、テスト自動化プラットフォームの構築など、さまざまな経験を積んできた。現在は、同グループ内のバルテス・ホールディングスでテスト自動化のエバンジェリストとして社内外で活動している。 バルテス・ホールディングス株式会社 ソリューション事業推進部 首席研究員 江村 禎昭氏 テスト自動化には、仕様の追加や変更時にスクリプトを修
PHPに関する日本最大のカンファレンスである「PHPカンファレンス2024」が2024年12月22日(日)に開催されます。カンファレンス盛り上げ企画として、開催までの5カ月間にわたりPHPの技術記事の連載を企画しました。この記事をお読みの皆さんには、PHPのさまざまな技術に触れながらカンファレンス当日を楽しみにしていただければと思います。 第3回目の今回は、筆者がOSSとして公開した、PHPでアクターモデルを実装するためのツールキット「Phluxor」を活用し、PHPでの並行処理に入門しましょう。 アクターモデルとは アクターモデルは1973年に発表された並列演算モデルであり、現在では並行処理を行うためのモデルのひとつとして広く利用されています。このアクターモデルは独立したプロセスとして振る舞う「アクター」と呼ばれるオブジェクトがメッセージをやり取りすることで処理が行われます。 アクターモ
調査対象者のうち、元会社員で現在フリーランスとして独立している人に、会社員時代と比較した働き方の違いを尋ねたところ、会社員時代よりも「増えた」こととしては、「仕事の進め方の自由度」(79.9%)がもっとも多く、「私生活の幸福度」(58.6%)がそれに続いた。会社員時代よりも「減った」ことでは、「仕事上のストレス」(65.5%)が最多となっている。 収入面では、「増えた」が35.7%、「減った」が49.9%だった。具体的な金額としては、ITエンジニア・開発系が約73万円増、編集・ライター・印刷系は約95万円減と職種によって違いがみられる。 働き方の満足度は、「満足」が62.1%に達し、職種別でも「満足」が5割超を占めた。 すべての調査対象者に、フリーランスとして働く上で不安なことを尋ねた質問では、「収入に波がある・不安定」(38.8%)がもっとも多く、「収入額が少ない」(31.6%)がそれに
見積もりやリカバリーの「失敗」は必ず起こる このような事態が発生するのはなぜだろうか。石垣氏は以下の2点を挙げる。 「失敗は見積りの失敗」であるという認識の欠如 隠された失敗が明るみになり、「詰んでいる」状態であること 1.について石垣氏は、マーティン・ファウラー氏による言葉を引用しつつ、「プロジェクトが失敗するのは、そもそもの見積もりが失敗しているためだ」と話す。さらには「見積もり時点での計画工数が大きくなるほど、実績との乖離が大きくなる傾向がある」というIPAのデータも示した。 そのうえで石垣氏は、「見積もりが失敗するのは、プロジェクト初期の段階で多くの約束事を決めてしまうためだ」と指摘する。有名な図である「不確実性のコーン」が示すように、プロジェクトの初期は不確実性が非常に高いため、焦ってリカバリー策を講じたところで見積もりのズレは取り戻せないのだ。 初動のズレは「見積もりの失敗」で
技術負債は「価値の創出」を妨げる 「技術負債が事業に与える影響はさまざまな領域に波及するが、ソフトウェアに限れば、"価値あるものを作れなかった"という点に集約される」と語り始めた石垣氏。ここでの「価値」とは、売上の創出やユーザー数の増加、リテンション向上につながる機能を指す。すなわち、「価値が作れなかった」とは「事業責任者が立てた、機能やキャンペーンなどの目標を達成できなかったという状況」を意味する。 ではなぜ、多くの費用をかけても価値を創出できない事態に陥るのか。石垣氏は「期限に間に合わなかった」ケースと「作るべきでないものを作ってしまった」ケースに大別し、今回は前者に焦点を当てると示した。 数億円規模の損失をもたらし、事業へのリスクもある技術負債 価値の創出と技術負債にはさまざまな要素が関わるが、とくにソフトウェア事業における事業計画では、予算計画と開発計画が主なカギになることが多い。
GitHub Copilotの機能はコーディング支援にとどまらない GitHub Copilotはいち早く「Copilot」を冠することになったプロダクトだ。業務に生成AIが有用であることを証明し、エンジニアの開発生産性を急速に高める契機となった。開発でコーディングするエンジニアなら、GitHub Copilotまたは何らかの生成AIを日常的に使用していることだろう。 GitHubの調査によるとGitHub Copilotは開発業務を55%高速化し、コード品質を15%高めるという結果が出ている。生産性向上は疑いの余地がないところだ。ただしソフトウェア開発のための作業はコーディングだけではない。エンジニアの業務時間のうち、コーディングを中心とした開発作業は25%程度。それ以外の75%は調整のための会議、資料作り、リサーチなどに費やされている。 ギットハブ・ジャパン合同会社 シニアカスタマーサ
ポルトガルのOutSystemsは、業界初となる本格的なソフトウェア開発ライフサイクル(SDLC)デジタルワーカーとして、ローコードと生成AIを活用したアプリの生成・提供・監視を可能にする「OutSystems Mentor」を、10月15日(現地時間)にオランダ・アムステルダムで開催されている「OutSystems ONE Conference」にて発表した。 OutSystems Mentorは、アプリ開発にあたってシフトレフトアプローチを採用しているため、開発者は開発の初期段階から作業を開始できる。 最初にプロジェクトの要件定義とプロトタイプの作成に着手し、アイデアの妥当性を検証しつつ本格的な開発に入る前に初期設計の調整が可能となっており、ユーザーがアプリケーションのニーズやビジョンをOutSystems Mentorに伝えるだけで、フロントエンド機能、データモデル、ビルトインのビジ
CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。
iPLAssは、2012年5月に提供が開始された、システム開発の生産性向上を目的に汎用的な機能をフレームワークとモジュール形式で提供するローコード開発プラットフォーム。専門的なプログラミングの知識がなくても高速かつアジャイルな開発が可能で、開発期間の短縮や開発コストの削減を実現する。 今回、提供が開始されたiPLAss Ver.4.0では、最新のJava 21/Jakarta EE 10に対応しており、iPLAss上のJavaプログラムで仮想スレッドなどを活用することによって、大規模なデータ処理や大量同時アクセス時のシステム性能を向上させられる。また、最新のJava言語仕様に沿うことで、より簡潔で読みやすく保守性の高い効率的なプログラムコードを記述できる。 また、最新のJava標準仕様の採用とOSSライブラリの最新化によって、長期間のサポートと継続的なセキュリティパッチの提供が可能になり、
対象読者 IoTに興味があり、C#と電子工作の基本的な知識がある方を対象とします。C#や電子工作のごく初歩的な説明は割愛していますので、「C#ではじめるラズパイIoTプログラミング」の記事なども併せて参照してください。 はじめに 連載第5回の今回は、マトリックスLEDを使った電光掲示板表示や距離センサーの値を表示するプログラムを作成します。 マトリックスLEDとは マトリックスLEDは、複数のLEDを行列状にならべて一体化したLEDです。今回は、8×8ドット(LED縦横8個、計64個)のマトリックスLEDを利用します。 マトリックスLEDは、行と列を選択して特定のLEDを点灯させます。8×8ドットなら、計16ビットのデータで制御できるということです。前回解説した16ビットシフトレジスタMAX7219を使うことで、かんたんに制御することができます。 マトリックスLEDディスプレイモジュール
CAMELORSは、同社の運営している複業マッチングプラットフォーム「SOKUDAN」に掲載されている、実際のフリーランス・副業案件に基づいて作成した、2024年におけるフリーランス・副業の「Next.jsエンジニアの調査レポート」を、9月27日に「SOKUDAN Magazine」にて発表した。 Next.js開発者の平均年収は、フレームワーク別の平均年収ランキングでは6位の1026万円となっている。 フレームワーク別平均年収ランキング Next.jsの案件数は、フレームワーク別案件数ランキング8位で、案件比率としては2.8%を占めた。 フレームワーク別案件数ランキング Next.js案件の稼働日数は、「週4〜5日」(66.7%)がもっとも多い一方で、「週2〜3日」も25%と一定の割合を占めている。なお、「週1日」は8.3%と少数派だった。 Next.jsの稼働日数 Next.js案件の
対象読者 この連載では以下の読者を想定しています。 オブザーバビリティやOpenTelemetryに興味がある人 SREやDevOps、Platform Engineeringに取り組んでいるエンジニア バックエンド開発者、クラウドエンジニア、インフラエンジニア OpenTelemetryによるデータ収集 前回まではオブザーバビリティとOpenTelemetryとの関係性(第一回)、そしてオブザーバビリティのためのテレメトリーデータ(第二回)について解説してきました。 今回からは具体的なデータの取得方法について解説します。 第一回で「OpenTelemetryはオブザーバビリティフレームワーク」と紹介しました。 OpenTelemetryには、主にアプリケーションからトレースやメトリクスを取得するためのSDK、APIに加え、それらのデータやその他のメトリクスやログの収集、処理、送信を担うO
本連載では、このVSCodeにフォーカスし、基本的な使い方から拡張機能の活用、そして本格的な開発現場での利用を想定した高度な機能までを紹介していくことで、読者がVSCodeマスターになるお手伝いをします。第9回では、VSCodeの持つ豊富な編集機能を紹介します。行操作、マルチカーソル、検索と置換、エディターグループを紹介します。 はじめに Microsoftの提供するVisual Studio Code(VSCode)は、2015年の最初のリリースから、今では開発用エディタの定番の座を占めるまでになりました。これには、無償で使えることも大きいですが、何よりエディタとしての使いやすさ、そしてさまざまな拡張機能によっていくらでも使い勝手を向上させたり、利用の領域を拡げたりすることも大きいでしょう。 本連載では、このVSCodeにフォーカスし、基本的な使い方から拡張機能の活用、そして本格的な開発
プロジェクトの生成 最初に、実装のもととなるプロジェクトを作成していきます。 Reactプロジェクト 「TypeScriptを利用したReactプロジェクトの生成方法」をCopilot Chatに質問すると、図2の通り、Create React Appを利用する方法を提案してきました。 図2 Copilot Chatが提案したReactプロジェクトの生成方法 しかし、Create React Appを利用する方法は、Reactの古いページには記述があるものの、現在の公式ページには記述がなく、方法として古い点が気になります。そこで「create-react-appは古いのでは」とCopilot Chatに質問すると、図3の通りViteを利用した方法を提案してきました。 図3 「create-react-appは古いのでは」と質問した様子 本記事ではこの提案に基づき、Viteを利用して、リスト
スタートアップの生命線は、スピードとPMF メディカルフォースという会社は、名前に「メディカル」と入っているものの、実際には医療系のSaaSだけでなく、さまざまなサービスを展開している企業である。当初は、社名と同じ「medicalforce」というSaaSを2021年にローンチした。これは、保険診療のみならず、自由診療(保険が適用されない医療)を提供しているクリニックを中心に患者の予約から会計までを一括で管理できるサービスだ。そして2024年5月には警備業界向けの同様のSaaSを提供開始しており、バーティカルSaaSを多岐にわたって開発していくことを目指している会社である。そのため、ビジョンを「これからの産業の成長プロセスを合理化する」とし、より広範な事業展開を目指している。 CTOの畠中氏は、学生時代からインフラの構築やWebアプリの立ち上げに多数取り組んできた。2020年11月に株式会
本連載ではコーディング支援AIツール「GitHub Copilot」のさまざまな機能や活用例を紹介しています。前回はGitHub Copilotのより詳細な操作方法とシーン別の活用法を説明しました。最終回となる今回は、クライアント側にReact、サーバー側にExpressを利用したWebページを、GitHub Coplotに全面的に頼り、できるだけ自分でコードを書かずに実装する事例を紹介します。 はじめに 「GitHub Copilot」は、プログラムのコーディング支援を想定したAIツールです。本連載では、GitHub Copilotの便利な機能や利用法を、複数回にわたって紹介しています。 図1 GitHub CopilotのWebページ 前回記事では、ショートカットキーやコマンドといった、GitHub Copilotのより詳細な操作方法と、学習時や開発作業時といったシーン別の活用事例を紹
スクラムを提唱したジェフ・サザーランド氏は講演や著書で、トヨタの初代プリウス開発から知見を得たと述べている。トヨタ社内でアジャイルのフレームワークのひとつであるスクラムを推進するうえで、内部資料から初代プリウス開発プロジェクトを振り返り、スクラムとの接点を見い出そうとする試みがあった。その取り組みについて、トヨタ自動車株式会社のパワートレーン機能・性能開発部 竹内伸一氏と、パワートレーン統括部 南野圭史氏、アジャイルコーチとして参画しているアギレルゴコンサルティング 川口恭伸氏に、アジャイルを成功させるために大切なポイントをお話いただいた。 初代プリウスを分析して得たスクラムのヒントとは? ──自己紹介をお願いします。現在、どのようなお仕事をしていますか? 竹内伸一(以下、竹内):これまでパワートレーンとスポーツ車両で、幅広く技術開発の現場に携わってきました。現在はパワートレーン機能・性能
ロジック層の複雑化がもたらす問題と解決への模索 PMFを達成するためには多くのことを迅速に実行する必要がある。スタートアップでは時間をかけていられないため、スピード感が非常に重要である。プロダクトが一定のシェアを獲得した後も、その優位性を保ち続けるためにスピード感が不可欠なのだ。 ただし、創業当初からのスピード感と、その後のスピード感は大きく異なると感じた。それは同社がDDDを導入するきっかけにもなった。「プロダクトとしての優位性を保つためには仕様変更や新機能の追加を迅速に行うことが求められる。重要なのはスピード感の維持であると感じています」(畠中氏) 仕様変更と改善のスピードを高めるには、コードの変更が容易であることが欠かせない。どこを変更するべきかが明確であり、変更によって何が起こるかが予測できる状態であれば、スピードを保つことができるだろう。さらに詳しく見ると、仕様変更においては、各
プライベート・ビジネスを問わず活用が進む生成AI。そんな生成AIの進化を支えるのが、OSSだ。AIシステムを支えるコアソフトウェアのLangChainやvLLMは、代表例の1つ。しかも最近は生成AI自体がOSSとして提供されており、ローカルでLLMを実行できるところまできている。本セッションでは、レッドハットでスペシャリストソリューションアーキテクトを務める石川純平氏がOSS視点で生成AIの今とこれからを語った。 オープン/クローズドで読み解くLLMの現在 生成AI活用が広がる中で、LLM(大規模言語モデル)事情も変化していると語るのは、レッドハットのスペシャリストソリューションアーキテクト、石川純平氏だ。 レッドハット株式会社 テクニカルセールス本部 スペシャリストソリューションアーキテクト 石川 純平氏 LLMは大きく、クローズドLLMとオープンLLMに分けることができる。クローズドL
本連載では、Modern C++と称されるC++について、Modern C++らしい言語仕様をピックアップし紹介していきます。第8回は、基本ライブラリを紹介します。誰でもいつでも必要となるような機能はあらかじめ持っておく、というのがモダンなプログラミング言語の条件でしょう。コンテナ、正規表現など、利用頻度の高い基本ライブラリについて理解を深めます。 はじめに C言語から派生したオブジェクト指向プログラミング言語であるC++は、21世紀に入ってまったく別物とも言えるプログラミング言語に成長していきました。それは、Modern C++と称されています。1990年代にC++を触っていたプログラマが現在の仕様を知れば、隔世感に苛まれるのではないでしょうか。本連載では、かつてはC++をたしなんでいたという方、今からC++言語を始めるという方に向けて、Modern C++らしい言語仕様をピックアップし
はじめに BASE株式会社でシニアエンジニアを務めているプログラミングをするパンダ(@Panda_Program)と申します。本連載はPHPカンファレンス2022での発表「実践!ユニットテスト入門」を再構成して記事としたものです。 対象読者 本連載の対象読者は、自動テストの必要性をわかっているもののまだテストコードを書いたことがない開発者の方です。さらに本記事では、テストコードを書く習慣が身についている中級者の方にとっても自動テストに対する理解を深める助けになるでしょう。 テストを上手に活用してソフトウェア開発を加速させる 前回は、Dev(開発)のみならずOps(運用)にまで視点を広げることにより、ソフトウェア開発の全体像におけるテストの位置付けを説明しました。ここからは視点をDev(開発)の自動テストに戻しましょう。 本連載を通して、自動テストの意義は開発者がリリース前にバグを見つけるこ
次のページ
このページを最初にブックマークしてみませんか?
『CodeZine:プログラミングに役立つソースコードが満載な開発者のための実装系Webマ...』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く