サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
アメリカ大統領選
codezine.jp
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:禅モー
Markdownエディタとして活用 Markdownは、軽量なマークアップ言語の一つです。Markdown形式のファイルは、Qiitaにおける記事作成や、GitHubのREADMEの記述にも用いられており、簡単に書けて表現力もあるフォーマットとして広く使われています。VSCodeでも、拡張子が.mdであるファイルをMarkdown形式として扱い、シンタックスハイライトなどの基本的な機能を提供しています。 プレビューを表示する Markdownに慣れないうちは、独特のマークアップ(記号)と見た目の対応がなかなかイメージできないので、プレビューを見ながら書けたら便利でしょう。VSCodeでは、Markdownファイルの編集中に、プレビューを表示させることができます。同一のエディタグループとするか、あるいは新たなエディターグループとして横に表示するか、2通りの操作があります(図8)。 同一エディ
本連載では、VSCodeにフォーカスし、基本的な使い方から拡張機能の活用、そして本格的な開発現場での利用を想定した高度な機能までを紹介していくことで、読者がVSCodeマスターになるお手伝いをします。VSCodeは、プログラミング以外の用途にも使えます。第10回では、VSCodeをドキュメント作成のためのテキストエディタ、Markdownエディタとして使う方法を紹介します。 はじめに Microsoftの提供するVisual Studio Code(VSCode)は、2015年の最初のリリースから、今では開発用エディタの定番の座を占めるまでになりました。これには、無償で使えることも大きいですが、何よりエディタとしての使いやすさ、そしてさまざまな拡張機能によっていくらでも使い勝手を向上させたり、利用の領域を拡げたりできることも大きいでしょう。 本連載では、このVSCodeにフォーカスし、基本
2015年にリリースされたRustが近年注目されています。RustはMozilla社の社員による個人プロジェクトから始まり、当初はFirefoxなどに使われていました。次第にパフォーマンス、安全性、生産性の高さが評価され、様々なソフトウェアやハードウェアへの組み込み、Webアプリやゲームなどに利用されるようになりました。Webサービスのバックエンド開発にも活用されており、利用を考えている方もいるのではないでしょうか。今回はRustの入門書『バックエンドエンジニアを目指す人のためのRust』(翔泳社)から、なぜRustが注目されているのか、その魅力を紹介します。 本記事は『バックエンドエンジニアを目指す人のためのRust』(著:安東一慈/大西諒/徳永裕介/中村謙弘/山中雄大)の「第1章 Rustはどういうところで使われているのか?」から抜粋したものです。掲載にあたって編集しています。 Rus
本記事では、React Nativeベースのフレームワーク「Expo」がどんな仕組みなのか、Expoによってどのようにモバイルアプリを開発・実行できるのかを解説します。ベースエンジンとなっているReact Nativeはどのようなものかを見た後、Expoはどのような側面からアプリ開発をサポートするのかを解説していきましょう。動作確認用のExpo Goアプリの使い方も解説します。 対象読者 モバイルアプリを作ってみたいReactエンジニア モバイルアプリのリリース作業を手軽に行いたい方 前提環境 筆者の検証環境は以下の通りです。 macOS Sonoma 14.6.1 Node.js 22.8.0 npm 10.8.2 Expo 51.0.32 React Native 0.74.5 Webに軸足を置いたモバイルアプリ開発の需要 モバイルアプリ開発の分野は、他の多くの分野と同じように進化を続
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年変わらなかっ
本書はRustを学びたい人のための入門書です。下記のようなプログラムを作りながら、Rustならではの生産性の高いプログラミング手法を解説します。 様々な課題を細分化してステップバイステップで解説するので、初心者でもじっくり理解しながら仕事に直結するスキルを身につけられます。 計算クイズ ポーカーゲーム メモリ付き電卓 家計簿プログラム 本棚ツール 勉強会カレンダーツール TODOアプリ 画像変換ツール また、バックエンドエンジニアとして就職・転職する際に必要となる入社試験を想定した問題も掲載しています。Rustによるバックエンドのスキルアップができるだけでなく、「仕事に活かす」「仕事にする」ための手法が学べる1冊です。 目次 第1章 Rust はどういうところで使われているのか? 第2章 Rust のプログラムを動かせるようになろう[ Hello, World ] 第3章 インタラクティブ
近年はソフトウェア開発技術の進化によって技術のコモディティ化が進み、エンジニアはより本質的なプロダクト的な価値に集中できるようになりました。本記事は、プロダクト的な価値を中心に置いた「プロダクトエンジニア」という職種について解説します。プロダクトエンジニアの出現の背景をひも解くとともに、フルスタックやフルサイクルエンジニアの役割と比較して理解を深め、プロダクトエンジニアがどういう職種なのか、具体的に紹介します。 プロダクトエンジニアの出現、領域の越境と拡大 こんにちは、アセンド株式会社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を利用して、リスト
次のページ
このページを最初にブックマークしてみませんか?
『CodeZine:プログラミングに役立つソースコードが満載な開発者のための実装系Webマ...』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く