検索結果

There are 44 results found.

WDE試験合格に重要 JavaScript/Node.js/データベース

2025年12月12日(金)12:00より、LPI日本支部主催のWebinar「WDE試験合格に重要 JavaScript/Node.js/データベース」を開催します。 本ウェビナーでは、堀 光 様が詳しく解説します。 今回は、LPI 認定試験 (Web Development Essentials)の合格に向けて Webシステム開発で使用されるJavaScriptやNode.js、データベースについて解説します。 クライアント側の動的処理やサーバー側での処理を、講義と実習を通して学習します。 クラウド上の仮想マシンによる演習も用意されているので、Webシステム開発をより実践的に学ぶことができます。 登録はこちらから!

<改訂版>【学生・初心者向け】Webエンジニアになろう~WDEを習得!④Node.js入門編〜

2025年11月29日(土)11:00より、LPI日本支部主催のWebinar「<改訂版>【学生・初心者向け】Webエンジニアになろう~WDEを習得!④Node.js入門編〜」を開催します。 本ウェビナーでは、かわむら かな 様が詳しく解説します。 今回は、10月18日(土)に開催されたOSC Online/Fallで講演した Web開発エンジニアになるための初級講座、Node.jsとExpress編の内容をアップデートしてお届けいたします。 登録はこちらから!

LPI WDEを使いこなす #5: データベースとNode.jsによるサーバーサイドプログラミング

このシリーズの前回の記事では、ウェブページをダイナミックにし、エンドユーザーとのインタラクションを可能にするフロントエンド・プログラミング言語、JavaScriptについてお話した。 JavaScriptは長年にわたってサーバーサイドの機能も拡張し、バックエンドのプログラミングに応用されてきた。 そこでNode.jsの出番となる。 バックエンドプログラミングのためのNode.js Node.jsは、JavaScriptで書かれたプログラムを実行することで、ウェブサーバーで受け取ったリクエストを処理できる実行環境だ。 Node.jsは、もともとクライアントサイド言語であったJavaScriptを、他のプログラミング言語と同じようにブラウザの外で実行できるようにした本格的な開発プラットフォームである。 本来はブラウザーの中だけで実行されるはずだった言語が、今ではブラウザーの外で実行されるのだ。 このことから、以下のような多くの利点が生まれる: 学習が容易: すでにJavaScriptに慣れ親しみ、クライアント側のプログラミングに取り組んできた開発者は、サーバー側のアプリケーションを開発するために別のプログラミング言語を学ぶ必要はない。 すでにJavaScriptをマスターしているフロントエンド開発者は、それほど苦労することなく、アプリケーションのバックエンド部分に簡単に取りかかることができる。 完全かつ機能的なアプリケーションを作成する能力: JavaScriptという1つのプログラミング言語の知識だけでも、クライアントサイドとサーバーサイドの両方の開発に精通したフルスタック開発者として働くことが可能です。 これにより、包括的で完全に機能するアプリケーションを作成することができる。 様々なアプリケーションを作成可能 JavaScriptコードを実行できる環境があれば、ウェブブラウザに依存しないスタンドアローンプログラムを作成することができます。 これにより、さまざまなタイプやシナリオのアプリケーションを作成する可能性が広がる。 しかし、なぜNode.jsはこれほどまでに開発者に愛されているのだろうか? 前述の利点に加え、Node.jsはオープンソースでクロスプラットフォーム環境であり、世界中の開発者の大規模なコミュニティを誇っている。 さらに、非同期、ノンブロッキング、シングルスレッド、イベントドリブンI/Oモデルに基づいており、高いパフォーマンスと優れた実行速度を保証します。 クライアントからのリクエストを効率的に管理する。 Linux Professional Institute (LPI)のWeb Development Essentials認定資格は、このシリーズのコンテンツに特化しており、簡単なNode.jsアプリケーションの作成を段階的にガイドしています。 さらに、HTML、CSS、JavaScriptを使用してウェブページを作成したことがあれば、アプリケーションのバックエンドロジックの構築を開始し、特定のユーザーリクエストに対してサーバーがどのように応答すべきかを定義することができます。 アプリケーションの強化方法 Node.jsプロジェクトでは、他の開発者によって作成されたさまざまな無料のリソースやツールを利用して、追加機能を組み込んだり、生産性を向上させたり、作業を容易にしたりすることができます。 npmはNode Package Managerの略で、Node.jsプラットフォームのパッケージ・マネージャーです。 コマンドラインインターフェイスを通じて、パッケージ(他の開発者が作成した、特定の機能を実装するビルド済みのプロジェクト)のインストール、削除、管理を行うことができる。 npmはNode.jsパッケージの大規模なオンラインリポジトリで、それぞれが独自の機能を備えていると考えてください。 数え切れないほどあるパッケージの中には、データベースとのやりとりに特化したものもある。 この連載の第1回で述べたように、バックエンド・プログラミングは、データベースとの統合を含め、エンドユーザーから直接見えないすべての側面を包含する。 アプリケーションが外部データにアクセスする必要がある場合、ほとんどの場合データベースを通じてアクセスすることになる。 LPIのWeb Development Essentialsでは、リレーショナルデータベース管理システム(RDBMS)を実装したソフトウェアライブラリであるSQLiteを特に取り上げています。 このタイプのデータベースでは、データは相互に接続されたテーブルに格納され、シンプルで直感的なクエリを使って照会することができる。 データベース照会 リレーショナル・データベースを自由に使えるようになったとき、そのデータベースに対してどのような操作を行なえばよいのか悩むかもしれない。SQLはStructured Query Languageの略で、リレーショナルデータベース内のデータを操作するためのクエリ言語です。 非常に人気があり、ユーザーフレンドリーな言語である: テーブルの作成と削除 スキーマと呼ばれる、各テーブルで使用可能なフィールドとデータタイプを定義する。 テーブルのデータを更新する テーブルの行の挿入と削除 情報の取得 データベースの保守と最適化 これで、リレーショナル・データベースがSQLデータベースとも呼ばれる理由が明らかになった! 開発者がSQLを使うのは、SQLがさまざまなプログラミング言語と非常にうまく統合できるからだ。 例えば、Node.jsでSQLiteを使うには、先に述べたnpmパッケージ・マネージャーを使ってモジュールをインストールするだけでよい。 これをインストールすると、リレーショナル・データベースの作成と保守を可能にする一連の関数にアクセスできるようになる。 関連するテーブルに情報を格納するリレーショナル・データベースに加え、NoSQLデータベースとも呼ばれる非リレーショナル・データベースもある。 これらはより柔軟なスキーマを持ち、バックエンドアプリケーションでも同様に使用できる。 非リレーショナル・データベースは、特定のアプリケーションと格納されるデータに最適化されたストレージモデルを使用する(例えば、情報は単純なキーと値のペアとして格納できる)。 この種のデータベースは、開発が容易で高性能、優れた柔軟性と拡張性が特徴である。 以下の表は、バックエンドアプリケーションで一般的に使用される、最も一般的なリレーショナルデータベースと非リレーショナルデータベースの一覧です: SQL Database NoSQL Database Microsoft SQL Server MongoDB SQLite CouchDB MySQL Redis MariaDB PostgreSQL   SQL言語とSQLiteデータベースに慣れたら、練習がてら非リレーショナル・データベースでデータを操作し、その長所と短所を発見してみよう。 次はどうする? 今回と前回の連載では、WDE認定資格でカバーされる主な技術(HTML、CSS、JavaScript、Node.js、SQL)と、Web開発者としての第一歩を踏み出すためのプログラミング環境について分析してきました。 まだ解明されていないのは、どの学習リソースが実際の認定試験に最も適した準備ができるかということだ。 これからの連載では、Web [...]

みんなが知っているあなたのこと:あなたの腕時計

この記事は、現代におけるデータ収集について扱う連載シリーズの一部です。これまでの記事では、自宅内のデバイスや自動車に関するデータ収集について取り上げてきましたが、今回はさらに個人的な領域に踏み込みます。 フィットネス機器によって収集されるデータは、プライバシーの観点から見ると非常に曖昧な位置にあります。たとえば、社会保障番号やパスワードのように、明らかに悪用されると危険な情報が含まれているわけではありません。しかしその一方で、個人に関するデータの中でも、これほど機微な情報はないとも言えます。 私の高齢の親戚は、ある日 Apple Watch から心拍数が異常に速いと通知を受けました。すぐに医師の診察を受けるよう勧められ、幸いにも迅速に予約を取ることができました。その結果、心房細動の薬を処方されました。これは、デバイスがいかに多くの個人情報を推測できるかを示す、シンプルな例です。 現在、人の声から認知症やうつ病の初期兆候を検出するための分析技術も、実験段階にあります。また、うつ病は歩き方の特徴からも検出できるとされています。 私は Apple Watch が収集しているデータを調べるために、一般消費者向けサイトと、より詳細な情報が掲載されている開発者向けサイトの2つを参照しました。そこから分かった、ウォッチが把握している情報は実に多岐にわたります。 心拍数、呼吸数、手首の温度、睡眠(睡眠時間および睡眠段階) 血中酸素濃度(以前は測定可能でしたが、法的理由により現在はこの機能は削除されています) 歩数および運動時の活動量 座っている時間 排卵周期(本人が任意で提供した場合) 歩行の安定性 呼吸の動き 運動中に消費したカロリー 心肺機能(酸素消費量、いわゆるVO2 Max) 上り下りした階段の数およびその速度 日光の下で過ごした時間 手洗いの頻度および時間 自動車メーカーと同様に、Appleはこれらの情報に加え、フィットネス評価を向上させるために利用者が任意で提供する情報や、(Apple Storeでのダウンロード履歴など)同社が把握しているその他の情報も組み合わせています。 私は Mozilla Foundation のサイトにも戻り、Apple Watch のプライバシーリスク評価を確認しました。同団体はAppleのポリシーを評価しつつも、あらゆるコンピュータと同様に、ウォッチ本体やその背後にあるデータ保存システムには脆弱性が存在する可能性があると警告しています。 次に、もう一つの人気デバイスである Fitbit が収集する情報についても調べました。このデバイスの主要なセンサーは、3軸加速度計(前後・左右・上下の動きを測定)とGPSです。フィットネス関連サイトおよびGoogleのFitbitヘルプセンターを参照し、次の情報が収集されていることが分かりました。 収集される動作データ:歩数、移動距離、上った階数 消費カロリー 安静時心拍数および心拍変動(HRV) 呼吸数 酸素飽和度(SpO2) 皮膚温度 これらの統計データを長期間にわたって追跡すると、(少なくとも理論上は)個人の健康状態、行動、生活習慣について多くのことが分かるとされています。 本シリーズの次回記事では、オンラインの世界に目を向け、Web上でのデータ収集について取り上げます。 <<このシリーズの前回の記事を読む

AI が切り拓く 3D プリンティングの進化

多くの産業が人工知能(AI)の活用による恩恵を期待していますが、現時点では、AI がどこで有効に機能し、どこで信頼できないのかについて、十分な理解があるとは言えません。3D プリンティングは、AI が精度やコストの改善にどのように役立っているのかを検討するうえで、非常に適した分野です。というのも、3D プリンティングには AI と相性の良い特性があるからです。たとえば、フィラメント内の材料比率から後処理に至るまで、成功した造形には多様な要因が関与し、それらは極めて複雑に相互作用します。さらに、結果は、メーカーが制御できない物理環境のわずかな変動にも左右されます。 本記事では、3D プリンティングにおける AI 活用に関する膨大な研究文献の中から、特に興味深い課題に直面した 3 つの研究プロジェクトを取り上げます。これらの論文で示された解決策は、わずか数年前のものであるとはいえ、特にトランスフォーマーや大規模言語モデル(LLM)の登場によって、すでに新しい技術に取って代わられている可能性もあります。しかし、著者たちがたどった思考プロセスそのものは非常に示唆に富んでいます。本記事で紹介する研究を総合すると、AI の活用は一種の「技術」や「芸術」に近いものであるということが見えてきます。 幅広いアプローチ AI の力は、微妙に相互作用する多数の特徴量を同時に扱えることにあります。論文「A data-driven machine learning approach for the 3D printing process optimisation(データ駆動型機械学習による 3D プリンティング工程最適化)」では、複数の 3D パラメータを同時に分析し、さまざまなプリンタに適用できる手法が提案されています。 この研究の目的は、印刷に関する 3 つのパラメータ――所要時間、フィラメントの長さ、完成物の重量――を算出することでした。 この論文で特に興味深い点は、2 段階の処理プロセスを採用していることです。まず、畳み込みニューラルネットワーク(CNN)が、押出幅やレイヤー高さといった一般的な 3D 設定を入力パラメータとして受け取ります。さらに研究者たちは、オブジェクトの表面積と体積という 2 つの計算パラメータを追加しました。 CNN で扱えるようにするため、面や頂点の数を削減する必要があり、アルゴリズムは各オブジェクトから 5,000 個の頂点をランダムに選択しました。 次に、CNN が生成した複数の新しいパラメータを既存の入力パラメータに加え、それらを別の 多層パーセプトロン(MLP) に入力しました。 研究者たちは、70 個の 3D プリントされたオブジェクトを用いてモデルをテストしました。各オブジェクトは 32 種類の異なる「パラメータセット」で評価されました。その結果、モデルは実際のテスト結果とよく一致し、成功しているように見えました。 自然を超えて 内部に穴やチューブを持つ柱は、実体のある柱よりも強度が高い場合が多くあります。これは、中心から離れた位置にある材料ほど圧力に対する耐性が高いためだと考えられます(ここで引用されている論文は、同じ質量の柱――一方は中実、もう一方は内部構造を持つもの――を比較しているのだと思われます。同じ直径であれば中実の柱の方が強度は高いですが、現実的には重すぎて材料の無駄が大きくなります)。 自然界には、内部が同心円状や格子状に分割された構造を持つ茎や支柱が数多く存在します。たとえば、竹、サボテン、ミント、羽軸、パピルス、貝殻、ハニカム構造などです。こうした構造を 3D プリント物に取り入れることで、性能を向上させることはできるのでしょうか。 従来の製造方法では、任意に複雑な格子構造は製造が非常に困難なため、ほとんど実用的ではありません。しかし、3D プリンティングであれば対応可能であり、実験も現実的になります。 論文「3D [...]

あなたの家が把握しているあなたの情報

この記事は、現代におけるデータ収集をテーマとした連載の第2回です。第1回では、このテーマが持つ広範な全体像を紹介しました。今回は、データが実際にどこで、どのように収集されているのかという具体的な場面に目を向けていきます。 あなたの家は、あなたを追跡しているでしょうか。2023年の調査によると、「インターネット接続を持つ米国の一般家庭には、2023年時点で平均17台の接続デバイスが存在していた」とされています。米国の一部の家庭では(驚くべきことに)インターネット接続がない場合もありますが、大半の家庭では利用されています。そこで問題となるのは、こうした「スマート」デバイスが、私たちについてどのような情報を製造元に伝えているのか、という点です。 ここでいう「スマート」とは、組み込みプロセッサ、通信機能(WiFi、Bluetooth、インターネット)、そしてユーザーの行動やリクエストを解釈するために機械学習を用いる可能性のある分析機能を組み合わせたものを指します。 家庭内で最も多くのデータを収集するデバイスは、ストリーミング対応のテレビプレーヤーです。ケーブル会社やストリーミングサービスは、あなたが何を、いつ視聴したかを把握しており、そこからあなたの興味関心、つまりどのような人物で、何を好むのかについて信頼性の高い情報を得ることができます。 しかし、テレビの視聴行動はそれだけにとどまりません。あなたの居場所、どれくらいテレビを観るか、就寝時間など、さらに多くのことを示しています。こうした情報から、企業はあなたの学歴、就労状況などを推測することさえ可能です。 これらの情報は、比較的無害な形で利用されることもあります。たとえば、次に視聴しそうな北イタリア料理をテーマにしたグルメ番組や、また別の『ゲーム・オブ・スローンズ』風作品を推薦するためです。現在では、スタジオが新しい番組を企画する際にもこうしたデータが使われており、ジャンルの選定からキャスティングに至るまでの意思決定に影響を与えています。 この連載を通じて繰り返し目にすることになりますが、ストリーミングデバイスによって収集されたデータは、SNS上の消費者レビューなど、他の情報源からのデータと組み合わされます。さらに、そのデータは、収集時の活動とはほとんど、あるいはまったく関係のない企業に販売されることもあり、広告目的であなたの関心を極めて詳細にモデル化するために利用されます。 次に、あなたのことをよく知っているスマートデバイスとして挙げられるのが、音声起動型の録音デバイスです。Apple の画期的な Siri、Amazon の Alexa、Google Home Assistant などがこれにあたります。これらのデバイスは常にあなたの声を聞いていますが、ベンダーは「Hey Siri」のような呼びかけで明示的に起動されるまで、何も記録しないと約束しています。 しかし、これらのデバイスと会話している間、記録されるのはあなたの発した言葉だけではありません。声のトーン、他の人との会話、周囲の環境音なども含まれます。研究者たちは、これらのデバイスが、あなたが意図的に提供した以上の情報を捉えている可能性があることを指摘しています。 つまり、テレビサービスやスマートスピーカーは、あなたについて非常に多くの情報を記録しているのです。さらに近年では、多くの人が家庭内にさまざまな「スマートデバイス」を設置しています。たとえば、防犯カメラやビデオドアベル、エネルギー使用量モニター、入退室を把握する照明、朝起きる時間や夜に帰宅する時間を予測する家電、温度センサーなどです。 これらの新しい家電製品(照明、洗濯機、コーヒーメーカーなど)の多くは、先に挙げたスマートスピーカーを通じて起動・操作できます。その場合、スマートスピーカーの提供元が、あなたに関する情報を収集することになります。 メーカーは、ロボット掃除機が撮影した写真や使用パターンから、家の広さ、あなたが最も多くの時間を過ごす場所、さらにはライフスタイルに関するさまざまな手がかりを推測することができます。 最近私がダウンロードしたプリンタ管理用アプリでさえ、私のプリンタ利用状況に関するデータを収集しています。メーカーはそれを、顧客としてすでに保有している他の情報と組み合わせています(もっとも、私はプライバシーポリシーを読む程度には教育を受けているので、データ収集をオプトアウトすることができました)。 製造業者やストリーミングメディア企業が、あなたの生活の詳細な情報を得ることについて、特に気にしない人もいるかもしれません。しかし、ゾンビデバイスについては注意が必要です。ゾンビデバイスとは、通常、メーカーがアップデートの提供を終了することで、セキュリティ保護が不十分になったデバイスのことです。こうしたサポート終了については、マサチューセッツ州で提出された法案(私の選挙区代表であるデイブ・ロジャースによる提出)のような形で通知される場合があります。 最後に、電力会社もまた、1日の中でのあなたのエネルギー使用状況を追跡しています。これは社会的価値のある取り組みでもあります。電力会社は消費者の需要に合わせて発電量を調整したり、高価で汚染度が高く、気候変動の原因となる発電所を使用せざるを得ないピーク時間帯の消費を避ける方法を、消費者に提案したりできるからです。 しかし、ストリーミング動画企業、スマートスピーカー、各種デバイス、あるいは電力会社によって収集される、あなたの行動や生活スケジュールに関する情報は、あなたの収入、ライフスタイル、健康状態などについての推測を導き出すためにも利用され得ます。 次回の連載記事「あなたの車はあなたの何を知っているのか」では、データ追跡の舞台を屋外へと広げていきます。 << このシリーズの前の記事を読む

DevOpsツール入門 #02:モダンなソフトウェア開発の考え方

DevOps の世界は決して立ち止まりません。そして Linux Professional Institute(LPI)も同様です。DevOps Tools Engineer 認定試験 バージョン2.0 のリリースにより、LPI は試験内容を、現在プロダクション環境で実際に使われている技術――コンテナ化、クラウドネイティブアーキテクチャ、そして現代的な開発手法――にしっかりと合わせました。 この記事では、更新された最初の試験範囲である 701.1:モダンソフトウェア開発(Modern Software Development) を一緒に見ていきます。学習のためにも、実務での理解のためにも、頭の中に明確な全体像(メンタルマップ)を構築できるよう支援します。 多くの変更が加えられた一方で、変わらないものもあります。それは、強固なソフトウェアエンジニアリングの基礎は今でも重要であるという点です。比重 6 を持つ試験範囲 701.1 では、現代のランタイム環境に本当に適したソリューションを設計できることが求められます。つまり、サービスがデータ、セッション、セキュリティ、パフォーマンス、スケーラビリティ、信頼性をどのように扱うのかを、理論ではなく実践的な分散システムの文脈で理解している必要があります。 アーキテクチャの基盤:サービス、マイクロサービス、クラウドネイティブ設計 現代のアプリケーション設計は、サービス指向およびクラウドネイティブの原則によって大きく形作られています。バージョン 2.0 では、Service Oriented Architecture(SOA)を含むサービスベースのアーキテクチャ、特に マイクロサービス が強く重視されています。 アーキテクチャ理解を深めたいのであれば、Martin Fowler の仕事は非常に優れた参考資料です。彼と共著者たちは、アプリケーションアーキテクチャ、SOA やマイクロサービス、不変(immutable)サーバー、モノリスと結合度、そして疎結合の重要性についての記事を提供しています。これらの概念は、試験範囲全体にわたって暗黙的に登場します。 新しい認定試験では、コンテナ内で実行され、クラウド環境で自然に動作するソフトウェアを設計できることが明確に期待されています。これは、密結合されたモノリシックシステムからの脱却という、業界全体の現実的な変化を反映しています。 同時に、試験は現実も認識しています。レガシーシステムは依然として存在するという事実です。今回の試験では、レガシーなモノリシックソフトウェアを移行・統合する際のリスクを認識することが明示的に求められています。これは多くの組織が直面している課題を踏まえたものであり、革新と安定性のバランスを取った戦略的なモダナイゼーションが必要であることを示しています。 クラウドネイティブおよびコンテナファースト開発の採用 認定試験バージョン 2.0 における最も重要な更新点のひとつが、クラウドネイティブおよびコンテナファースト設計への明確なフォーカスです。これは単にアプリケーションをクラウドにデプロイするという話ではありません。弾力性、自動化、分散インフラの利点を最大限に活かすソフトウェアを構築すること、そしてコンテナで動作し、クラウドサービスにデプロイされるソフトウェアを設計できるスキルを示すことが求められます。 これらのスキルは、クラウドを単なるホスティング環境として使うだけでは不十分です。クラウドが持つ動的かつ分散された特性を最大限に活用できるよう、アプリケーションを設計する能力も含まれます。 Cloud Native Computing Foundation(CNCF)によると、クラウドネイティブ技術は、パブリッククラウド、プライベートクラウド、ハイブリッドクラウドといった動的な環境において、スケーラブルなアプリケーションを構築することを可能にします。実際には、これは コンテナ化され、動的にオーケストレーションされ、マイクロサービスを中心に構成されたアプリケーション を意味します。 コンテナ向けの設計では、ステートレスなサービスと不変性(immutability) が重要です。各コンテナは理想的には 1 つの役割に集中し、容易に置き換え可能で、摩擦なく水平スケールできるべきです。この考え方は、耐障害性を高め、デプロイを簡素化し、自動化をはるかに効果的にします。 API、データ、ステート管理 分散システムにおいて、API はすべてをつなぎとめる「接着剤」です。試験では引き続き、REST を中核となるアーキテクチャスタイルとして、JSON を標準的なデータ形式として重視しています。 RESTful の原則を理解することは、HTTP メソッドを暗記すること以上の意味を持ちます。スケールし、進化し続けることができる、予測可能で一貫性のあるインターフェースを設計することが重要です。RESTful 原則に関する包括的な入門資料では、REST の基本的な制約条件から実践的な設計パターンまで、優れたチュートリアルとベストプラクティスが提供されています。 JSON:API のような仕様は、データ構造を標準化し、サービス間の相互運用性を向上させます。また、jsonapi.org では、JSON を用いた API [...]

DevOpsツール入門 #01:学習を始めるための準備

DevOps Tools Engineer 認定資格 バージョン2.0について 2025年11月、Linux Professional Institute(LPI)は Linux Professional Institute DevOps Tools Engineer 認定資格のバージョン2.0 をリリースしました。本試験は、ソフトウェアを協調的に開発・提供するために使用される一連のツールを対象としており、ソフトウェア開発者とシステム管理者の双方のスキルを拡張する内容となっています。 DevOps Tools Engineer 認定資格の V2.0 アップデートは、現在の DevOps 実践により適合するよう、試験構成と全体的なビジョンを近代化したものです。オープンソースツールを用いてソフトウェア開発と運用を橋渡しするという中核領域はこれまでと変わりませんが、V2.0 では一部の試験範囲が再編成され、「更新ドラフト(updated draft)」として位置づけられています。これは、進化し続けるツールや手法に対応するため、カリキュラムが今後も修正される可能性があることを示しています。 V2.0 のリリースでは、試験内容が基礎から再構成・更新・近代化されました。V1 では、コンテナ、構成管理、インフラストラクチャ、CI/CD、監視といった、従来型の幅広い DevOps 分野を軸に構成されていましたが、V2.0 では、今日の実際のエンジニアリングワークフローにより密接に沿ったトラック構成が導入されています。新しい構成では、ソフトウェアエンジニアリング、コンテナ、Kubernetes、セキュリティ、可観測性(Observability)に重点が置かれており、現代の DevOps チームが日常的に依存している技術と実践を反映しています。 この新バージョンは、より明確な構成、洗練されたトピックの区分、更新されたツール要件を備えつつ、LPI の理念の中心であるオープンソース重視の姿勢を維持しています。 総じて、DevOps Tools Engineer V2.0 は単なる内容の改訂ではありません。それは、現代の DevOps の現実に合わせて認定資格そのものを再調整したものです。V1 との概念的な連続性を保ちながらも、その対象範囲、構造、提供方法を進化させ、より高速で自動化され、協調的な環境で働くプロフェッショナルを支援する内容となっています。 学習教材と本シリーズについて この認定資格の公式ラーニング教材は、非常によく整理されており、すでに LPI の Learning Portal で利用可能です。この教材は、試験範囲をより深く理解し、ツールを実際に操作しながら学び、明確な指針と自信を持って試験準備を進めたい方にとって、非常に優れたリソースです。内容はステップ・バイ・ステップで構成されており、認定資格取得までの道のりを、より楽しく、達成しやすいものにしてくれます。 本記事は、LPI ブログに掲載される導入シリーズの第1回目です。このシリーズでは、LPI DevOps Tools Engineer の試験範囲を順に巡っていきます。各トピックごとに、最も重要なツールやスキルを要約し、学習を始める際に役立つドキュメントを紹介していきます。 今後の記事を活用するための準備 これから公開される記事を読み進め、DevOps [...]

Linuxサーバーが奏でる交響曲 ― 起動の仕組み

Linuxマシンの電源を入れたとき、裏側では何が起きているのか? Linuxマシンの電源ボタンを押したとき、その裏側で何が起きているのか考えたことはありますか?サーバーの電源が切れている状態は、壮大なコンサートホールが静まり返り、暗闇に包まれているようなものです。ステージには誰もおらず、客席も空っぽです。 しかし電源ボタンを押すとき、あなたは単にスイッチを入れているのではありません。そこから、複雑で美しいパフォーマンスを始める合図を送っているのです。 デジタル交響曲の4つの楽章 このパフォーマンスは4つの楽章から成り立っており、静寂に包まれたホールを、生き生きとした交響曲へと変えていきます。それぞれの楽章には主役がいて、役割があり、そして輝く瞬間があります。 第1楽章:会場スタッフ(ファームウェア:BIOS / UEFI) 最初の一音が奏でられる前に、会場スタッフ(マシンのファームウェア)が暗いステージに姿を現します。彼らの最初の仕事は、建物そのものが安全であることを確認することです。 メインの電源系統を入れ、ステージ照明や安全装置をテストしながら、チェックリストを一つずつ確認していきます。これが POST(Power-On Self Test) です。もし会場が安全でないと判断された場合、スタッフはすべての作業を中止し、問題を報告します。 安全が確認されると、次はスケジュールの確認です。これには2つの方法があります。 旧来の方式(BIOS)いつも同じ場所、つまりステージ入口にある台帳の最初のページ(MBR:マスターブートレコード)を確認し、次の責任者を探します。 現代的な方式(UEFI)より洗練された方法で、オフィスにあるデジタルのスケジュール表(NVRAM)を確認し、そこからEFIシステムパーティション(ESP)内にあるステージマネージャーの部屋を直接指し示します。 第2楽章:ステージマネージャー(ブートローダー:GRUB2) 会場の安全が確保されると、ステージマネージャー(GRUB2)がスポットライトを浴びて登場します。彼らは一時的な存在ですが、非常に重要な役割を担っています。ショーの間ずっと居続けるわけではありません。 ステージマネージャーは、プログラム冊子(grub.cfg)を手にしています。そこには、現在のカーネル、過去のバージョン、リカバリーモードなど、実行可能な演目が一覧されています。 数秒後、メインとなる演目を選択し、演台を整え、譜面台に必要な楽譜(カーネルパラメータ)を置き、指揮者をステージに呼び出します。そして、何事もなかったかのように静かに建物を後にします。 第3楽章:指揮者と舞台スタッフ(カーネルと initramfs) 指揮者、つまり Linuxカーネル がステージ中央に立ちます。彼らはパフォーマンスの最初から最後まで演台に立ち続け、テンポ(スケジューラ)や音響(メモリ管理)を制御します。 しかしこの時点では、楽器はまだケースに入ったままで、演奏台も設置されていません。そこで指揮者はすぐに、舞台スタッフ(initramfs)を呼び出します。この専門の一時チームは、重要な初期設定作業を迅速にこなします。 楽器ケースを開けるストレージドライブを読み取るために必要な基本ドライバ(カーネルモジュール)を読み込みます。 演奏台を組み立てる本来のルートファイルシステムを見つけてマウントし、オーケストラが座る場所を用意します。 本物のステージが準備できると、switch root と呼ばれる操作が行われます。これにより、仮のステージは完全に消え、本物のステージが置き換わります。 第4楽章:コンサートマスターと演奏者たち(初期化システム:systemd) ここで指揮者(カーネル)は、演奏者たちの統率をコンサートマスター(systemd)に引き継ぎます。最初のプロセス(pid 1)として、コンサートマスターはオーケストラ全体の登場を指揮します。 旧来のコンサートマスター(SysVinit)は、演奏者を一人ずつ呼び入れていました。まずバイオリン、次にチェロ、その次にフルート……という具合で、着実ですが時間がかかります。 一方、systemdは現代的な名手です。どのパートが同時に登場しても問題ないかを正確に把握しています。コンサートマスターの鋭い合図とともに、オーケストラは次のように登場します。 打楽器(ジャーナル/デーモン)ログ記録サービスが、リズムを刻むかのように動き始めます。 弦楽器(ミドルウェア)NetworkManager などのサービスが起動し、ステージと外の世界をつなぐ調和を織り成します。 木管楽器(ユーザーアプリケーション)最後に、Webサーバー、オーディオプレーヤー、データベースといった複雑な旋律が奏でられます。 すべてが同時に、連携し、正確に、そして圧倒的な美しさで進行します。 グランドフィナーレ わずか数秒のうちに、静寂は調和へと変わります。コンサートホールは生命を帯び、照明は輝き、交響曲は最高潮に達します。 観客であるあなたの目の前には、ログインプロンプトという形で幕が上がります。オーケストラは準備万端、あなたの指示を待っています。 静まり返っていたホールは、見事な連携の結晶へと姿を変えました。それこそが、4つの楽章で構成されたLinuxのブートプロセス なのです。 さらに詳しく知りたい方へ ブートプロセスとの具体的な関わり方については、LPIのLearningサイトにあるガイドをご覧ください。

Morrolinux:TrelloからFOSSへ ― Vikunjaの紹介

チームでの作業整理はなぜ難しいのか 仕事を効率よく整理することは簡単ではありません。特にチームで協力して作業する場合、その難易度は一気に高まります。タスク管理の複雑さは急速に増していくため、適切なツールを選ぶことが不可欠です。 しかし、データを特定のエコシステムに囲い込む商用サービスに依存したくないとしたら、どうでしょうか? 私はオープンソースかつセルフホスト可能なツールを好んで使っています。そのため、Trello や Asana のようなプラットフォームに代わる、柔軟でプライバシーに配慮した選択肢を探していました。そこで出会ったのが Vikunja です。Vikunja は軽量で使いやすく、カンバン、ガント、リスト、テーブルといった複数のプロジェクトビューを備えた、オープンソースのタスク管理ツールです。 この記事では、Vikunja の仕組みや優れた点、そして私自身のワークフローに合わせてどのようにカスタマイズしているかを紹介します。 他のタスク管理ツールではなく、Vikunja を選んだ理由 オープンソースのプロジェクト管理ツールは数多く存在しますが、その多くは「インターフェースが複雑すぎる」「習得に時間がかかる」といった使い勝手の問題を抱えています。私は以下のツールも検討しました。 OpenProject:機能は豊富だが、私の用途には複雑すぎた ProjectLibre:成熟したツールだが、ユーザビリティに欠ける Redmine:定番ではあるが、古く使いづらい印象 一方で Vikunja は、驚くほどシンプルです。機能性と使いやすさのバランスが非常によく、個人利用はもちろん、小規模チームにも最適だと感じました。 Vikunja を際立たせる主な機能 Vikunja が他のオープンソースツールと一線を画す理由は何でしょうか。ここでは主な機能を紹介します。 複数のタスク表示形式 Vikunja では、用途に応じてタスクをさまざまな形で管理できます。 カンバンボード:作業フローを視覚的に把握するのに最適 ガントチャート:スケジュール管理や期限設定に理想的 テーブルビュー:スプレッドシートのような構造的表示 リストビュー:シンプルで従来型の ToDo リスト ホスティングの自由度 Vikunja は以下の方法で利用できます。 自分のサーバーで運用する セルフホスト Vikunja の マネージドクラウドサービス を利用し、開発を金銭的に支援する Open API と WebHooks による拡張性 自動化に対応した 完全な API を提供 WebHooks により、外部からアクションをトリガー可能 プライバシー重視のオープンソース AGPLv3 ライセンスの完全オープンソース データのロックインなし。プロジェクトは常に自分のもの ローカルバックアップ機能により、データ消失を防止 タスク自動化とクイック追加機能 「明日 17時」のような 自然言語入力で期限設定 タスクの割り当て、優先度設定、ラベル付けを素早く実行 私のワークフローにおける Vikunja [...]