検索結果

There are 100 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 [...]

Why Do Programming Languages Rise and Fall? Part 2

The first article in this two-part series looked at programming languages with long tenures. In this section we'll examine a few cases of languages that didn't fare so well—despite high hopes for them. False Starts Some languages make a big splash but fail to really catch on. The most salient example [...]

Konstantinos Giannakakis:好奇心が導いたITへの道

好奇心から始まったITとFOSSへの道:Konstantinos Giannakakisの歩み こんにちは。Konstantinos Giannakakisです。ここでは、私がITとFOSS(Free and Open Source Software:フリーおよびオープンソースソフトウェア)の世界へ進んだ道のりをご紹介します。 大学に初めて入学した当時、コンピューターサイエンスは私の専攻分野でも、将来のキャリアプランの一部でもありませんでした。私はITとは無関係の分野で学位取得を目指していましたが、間もなくコンピューターが非常に価値のある学習分野であることに気付きました。 私は、経済を動かす仕組みとコンピューターシステムを支える論理構造には共通点があると考えるようになりました。この気付きが、私にとってテクノロジーへの本格的な関心を持つきっかけとなりました。 最初の学位を取得した後、私はコンピューターサイエンスを学ぶ大学へ再び進学し、第二学位の取得を目指しました。そして、デジタルエコシステムが表面的には見えない部分でどのように動作しているのかを理解することを決意しました。 私がLinuxの世界に入るきっかけとなったのは、教科書ではなく、コミュニティでした。 Greek Association of Free Software / Open Source Software Users (GreekLUG)を通じて、地域のミーティングやオンラインでの交流に参加し、オープン性と協力関係によって結ばれた活気ある人々のネットワークを知りました。 このコミュニティは、オープンソースの理念を私に紹介してくれました。それは「知識やツールは自由に共有されるべきであり、それによって誰もが成長できる」という考え方です。 この考え方は、後に私のプロフェッショナルとしてのアイデンティティを形成する基盤となりました。 学生時代、私は趣味としてLinuxディストリビューションを試し始めました。 最初は単なる好奇心から始まった取り組みでしたが、次第にシステム管理や自動化への本格的な情熱へと発展していきました。 余っていたハードウェアを利用して初めて構築したホームラボは、私の日々のプロジェクトになりました。サーバーの構築、仮想マシンの作成、そして自宅の環境で実際に発生する問題のトラブルシューティングに取り組みました。 学習に体系性と深みを持たせるため、私はFOSS関連の認定資格取得にも取り組みました。 GreekLUGのメンバーとして活動する中で、Linux Professional Institute(LPI)のLPIC-1およびLPIC-2認定資格に合格するために必要な情報や指導を得ることができました。 これらの試験対策を通じて、単に技術知識を広げるだけではなく、Linuxをより深いレベルで理解する力も身につきました。 具体的には、ネットワーク、セキュリティ、システムプロセスなど、Linuxシステムを支える重要な分野について理解を深めることができました。 認定資格は、単なる資格証明以上の大きな価値をもたらしてくれました。 それらは、堅牢なシステムを構築・維持するための自信を与えてくれ、独学で行っていた実験的な取り組みを、プロフェッショナルレベルのスキルへと発展させる助けとなりました。 こうして身につけた能力は、初めてのIT職への扉を開き、さらに現在の、成長を続けるテクノロジー企業でDevOpsエンジニアとして働く道へとつながりました。 現在、私はCI/CDパイプラインの設計・管理、クラウドインフラストラクチャの運用、分散環境におけるシステムの安定稼働などに取り組んでいます。 これらの業務には、オープンソースの世界から学んだ原則が息づいています。それは、透明性、協力、そして継続的な改善という価値観です。 仕事以外でも、私は現在もオープンソースコミュニティへの貢献を続けています。 これまでに、ソフトウェアドキュメントのギリシャ語翻訳、オープンソースプロジェクトへのコード修正パッチの提供、そして自身のトラブルシューティング経験をまとめた詳細な記事の公開などを行ってきました。 私にとって貢献とは、単にコードを書くことだけではありません。 それは、自分自身が初期段階で直面した困難を、他の人が乗り越える手助けをすることでもあります。 これからの未来について、私はDevOpsの実践とオープンソース文化が、より密接に結び付いた世界になると考えています。 今後の目標として、Kubernetes Certificationの取得、新たにLinuxを学び始める人々へのメンタリング、そしてコミュニティで自由に利用できるよう公開する自動化ツールの開発などがあります。 私の歩みは、オープンソースを受け入れることで、好奇心を専門的な能力へと変えることができることを示しています。 また、協力、学習、そしてテクノロジーへの情熱があれば、誰もがゼロから始めて、IT分野で充実したキャリアを築くことができるということを示しています。

MoodleMoot Philippines 2026:Nephila Web創立15周年とLPIの連携

MoodleMoot Philippines 2026:オープンソースが支えるデジタル教育の未来 教育分野は、コース開発向けのフリーかつオープンソースソフトウェアであるMoodleによって大きく発展しました。2002年にリリースされたMoodleは、教師やカリキュラム開発者が協力して教育コースを作成・共有するために利用されてきました。 フィリピンでは、Nephila Web Technology Inc.がデジタルラーニング分野の最前線で活動し、国内の学校や教育機関が拡張性と持続可能性を備えたオープンソースソリューションを導入できるよう支援しています。 そして、MoodleMoot Philippines 2026は、東南アジアのMoodleコミュニティにとって重要な節目となるイベントでした。このイベントは、フィリピン唯一のPremium Moodle Partner であり、同地域における先駆的な存在であるNephila Web Technology Inc.の創立15周年とも重なりました。 過去10年間にわたり、Nephila Webはデジタルラーニング分野の最前線で活動し、フィリピン各地の学校や教育機関が、拡張性と持続可能性を備えたオープンソースソリューションを導入できるよう支援してきました。 Linux Professional Institute(LPI)は今回のイベントに参加し、パネルディスカッションへの登壇とブース出展を行いました。LPIとNephila Webの関係は正式には2024年に始まりましたが、両組織の出会いは2023年にシンガポールで開催されたEduTech Asiaにまでさかのぼります。それ以来、オープンソースの普及、LPI認定資格の取得支援、教育分野におけるデジタルトランスフォーメーションの推進という共通の目標のもと、協力関係は着実に発展してきました。 パネルディスカッション:学習管理システムにおけるAI・セキュリティ・倫理 MoodleMootの中心的なセッションの一つとして、「学習管理システム(LMS)におけるAI、セキュリティ、倫理」をテーマにしたパネルディスカッションが開催されました。 この議論では、教育成果を高めながら、教育の信頼性を損なうことなくMoodle上でAIを活用した教育コンテンツを作成する方法について議論が行われました。 LPIのパートナー開発・成功支援マネージャー(APAC)として、私はこのパネルに参加し、必要なトレーニングや認定資格を測定可能な人材育成成果の一部として位置付ける、コンピテンシーベース(能力基準型)の職務定義の重要性について説明しました。 私が強調した主なポイントは、LPIのような認定資格は、単独で取得する資格として提示されるのではなく、具体的な雇用要件と結び付けられたときに、最も効果を発揮するということです。 Moodleを支えるオープンソース基盤 その他にも、注目すべき2つのパネルセッションがありました。 Nephila WebのCTOであるRoy Plomantes氏と、同社CEOであるSheryl Villaroman氏は、いずれも長年Linuxを支持してきた人物であり、Moodleの導入基盤としてUbuntuが非常に優れたプラットフォームの一つであることを紹介しました。 両氏の主張は実践的なものでした。Moodleの柔軟性とLinuxの信頼性は、非常に相性が良いという点です。 オープンソースは単にコスト効率が高いだけではありません。長期的なデジタル教育基盤を構築する教育機関にとって、戦略的な基盤を提供するものでもあります。 LPIブース:パートナーシップに関する交流 パネルセッション以外にも、LPIのブースには、技術チームや学生への認定資格提供を目的としてLPIとの連携に関心を持つ、国内外のさまざまな組織が訪れました。 これらの交流は、特にデジタル教育基盤が急速に拡大している地域において、世界的に認知されたオープンソース認定資格への需要が高まっていることを示しています。 来場者とは、LPIパートナープログラム、アカデミックパートナー制度、そしてLPI認定資格を既存の教育・トレーニングプログラムへどのように組み込むことができるかについて意見交換を行いました。 今後に向けて Nephila Webは今年、フィリピンのデジタル教育分野における15年間の貢献を祝いました。 MoodleMoot Philippinesは、オープンソースによる学習を推進する人々が集う、地域を代表するイベントとして成長を続けています。 Nephila WebとLPIのパートナーシップは、オープン性、協力、そして学習者や教育機関がオープンソース技術を導入できるよう継続的に支援するという、両組織に共通する価値観を反映しています。 今後もフィリピンおよび東南アジア全域におけるデジタル教育分野での共同活動を継続し、学習者、教育者、教育機関がオープンソースの未来で成長するために必要なツールと認定資格を提供していきます。

プログラミング言語の歴史:なぜ成功し、衰退するのか? 前編

プログラミング言語の盛衰(前編) プログラマーには、それぞれお気に入りのプログラミング言語があります。それは、スポーツファンが地元や母国のチームを応援するのとよく似ています。 Luaのように非常に限定的な分野で使われ、その熱心な利用者から高く評価されている言語もあります。一方で、CやC++のように、まるで不滅であるかのように使い続けられている言語もあります。しかし、多くの言語は、登場当初には将来を期待されながらも、やがて静かに姿を消していきました。 本シリーズでは、そうした重要なプログラミング言語の栄枯盛衰を2回に分けて紹介します。 不滅の言語 C言語は、1970年代初頭にUnixオペレーティングシステムとともに誕生しました。 CとUnix(現在ではLinuxやBSD)は切っても切れない関係にあり、この強い結び付きが現在でもC言語が使われ続ける大きな理由となっています。しかし、Cにはそれとは別に、言語そのものとしての魅力もあります。 Cは習得しやすく、扱いやすい一方で、誤った使い方もしやすい言語です。しかし、高水準言語では実現が難しいほど高速に実行できるという大きな利点があります。(一方、C++は正しく扱うための難易度がさらに高くなります。) そのため、多くの新しいプログラミング言語では、C/C++で作成されたライブラリを利用できる仕組みが用意されています。実際に、PythonのNumPy、SciPy、TensorFlowといった重要なライブラリでは、この仕組みが積極的に活用されています。 もっとも、CやC++はすべての用途に適しているわけではありません。バッファオーバーフローのような古くから知られるプログラミングミスやセキュリティ上の欠陥を防ぐ仕組みが十分ではありません。現在ではAIやファジング、各種コード解析ツールによって、こうした問題が頻繁に発見されるほどであり、もはや言語の特性の一部とも言えるほどです。 そのため、CやC++は、長期間にわたって大きな変更が行われず、最高レベルの実行性能が保守性よりも重視されるようなソフトウェアに適しています。 JavaScriptも、不滅の言語に分類できる唯一の存在です。 JavaScriptには批判的な意見も少なくありませんが、ブラウザがネイティブでサポートしている高水準言語はJavaScriptだけです(低レベル言語であるWebAssemblyを除く)。そのため、動的なWebページを実現するためには、依然として欠かせない存在となっています。 その結果、CoffeeScriptやElmのような拡張言語や、多数の強力なライブラリによってJavaScriptを補完しながら利用するという文化が発展しました。こうした豊富なライブラリ群は、あらゆるプログラミング言語の生命線とも言えます。 Javaもまた、CやC++と同じような長寿言語になる可能性があります。 Javaは1995年に「より優れたC++」として、さらにWebブラウザ上でも動作する移植性の高い言語として登場しました。当時のコンピューター業界では、オブジェクト指向プログラミングが大きな注目を集めていました。 現在主流となっているJava、Python、JavaScriptなどを見ても分かるように、オブジェクトは現代プログラミングの基本的な構成要素となっています。 Sun Microsystemsが開発したJavaは、大規模な企業システムにおける標準的なプログラミング言語となり、現在でもコンピューターサイエンス系の大学教育で最も広く教えられている言語の一つです。また、より新しい言語から生まれた優れた機能を積極的に取り入れながら進化を続けています。 一方、Sun Microsystemsと激しく競争していたMicrosoftはJavaをそのまま採用することを避け、2000年に対抗するオブジェクト指向言語としてC#を発表しました。 C#の支持者の中には、Javaよりも優れていると主張する人もいます(Java初期の設計上の問題を改善したとも言われます)。しかし、オープンソースのMono Projectによるサポートがあったにもかかわらず、C#がJavaを追い抜くことはありませんでした。 現在のC#の主な役割は、Microsoftの包括的な.NETフレームワークを支えることです。 PHPは、動的Webページのサーバーサイド処理を目的として開発されましたが、多くの人の予想以上に長く生き残っています。 現在でも非常に多くのWebサイトで利用されており、ある調査では全Webサイトの71%がPHPを利用しているとされています。 PHPも他の成功した言語と同様に、初期の欠点を改善しながら進化を続けてきました。 プログラミング言語も企業と同じで、まずは「必要最低限の実用製品(MVP)」を提供し、その後に改良を重ねていくという考え方は理にかなっていると言えるでしょう。 不滅の言語という観点では、多くの開発者がRustにもその仲間入りを期待しています。特に、新しいシステムではCやC++の代わりとして利用されることが期待されています。 しかし、Rustがその期待に応えられるかどうかを判断するには、まだ時期尚早です。私自身は、その可能性はあまり高くないと考えています。 理由は、Rustが多くのプログラマーにとって複雑すぎ、抽象度も高すぎるからです。そして、複雑さは設計上の問題を生みやすくなります。本番環境で広く利用されることを目指すプログラミング言語にとって、それは大きな弱点となり得ます。 一時代を築いた言語たち 一方で、特定の時代に重要な役割を果たし、その後は徐々に姿を消していった言語もあります。 代表的なのがCOBOLとFORTRANです。 COBOLはビジネス分野で、FORTRANは科学技術計算の分野で圧倒的な存在感を誇りました。FORTRANのベテラン開発者は、「人類を月へ送り届けたのはFORTRANだった」と誇らしげに語ることがあります。 企業や研究者がこれらの言語を積極的に採用したのは、その時代の要求に非常によく合っていたからです。 これらの言語は数世代にわたって経済発展や科学技術の進歩を支えました。しかし、ソフトウェア開発がより専門的になるにつれて、保守性やセキュリティが重視されるようになり、やがてCOBOLやFORTRANの役目は終わりを迎えました。 もっとも、プログラムは言語よりも長生きすることがあります。 COBOLの重要性は1990年代後半の2000年問題(Y2K問題)によって改めて注目されました。そして現在でも、COBOLプログラマーは必要とされています。 私自身、ずいぶん昔にテクニカルライターの仕事のためにCOBOLを学びましたが、それほど難しい言語ではありませんでした。そのため、意欲のある若いプログラマーであれば比較的短期間で習得し、高齢化したベテラン技術者に代わって活躍できるでしょう。 ところで、「まだ○○ではこの言語が使われています」と教えてくださる必要はありません。 自然言語を例に考えてみてください。 ラテン語は紛れもなく「死語」ですが、現在でも参加者全員がラテン語だけで会話する国際会議が開かれていますし、バチカンでは公式文書のためにラテン語辞典が更新され続けています。 また、ヘブライ語は紀元前500年頃には日常会話としては使われなくなりましたが、その後も詩人たちは書き言葉として使い続け、20世紀には再び日常語として復活しました。 サンスクリット語も、現在では話者は少ないものの、宗教儀式では今なお重要な役割を果たしています。 FORTRANプログラマーたちは、パンチカード時代の制約を色濃く残した記法で、IやJといった単純な変数名を使い、ほとんどコメントも付けず、大量の保守しにくい関数を書き続けました。こうしたコードは「スパゲッティコード」と呼ばれています。 次回の記事では、この問題を解決しようとしたコンピューターサイエンス研究者たちの取り組みを紹介します。 FORTRANは科学技術計算の世界にあまりにも深く浸透していたため、その開発者の一人は「2000年のプログラミング言語がどのようなものかは分からない。しかし、その名前はFortranだろう」と語ったことで有名です。 しかし、コンピューターサイエンスそのものが進歩し、FORTRANでは対応できない要求が増えていきました。 開発者たちは「Fortran 8X」というコードネームで新バージョンの開発を長年続けましたが、あまりにも完成が遅れたため、「Xが16進数になってしまった」と冗談を言われるほどでした。そして最終的に、その言語はFortran 90としてリリースされました。 ちなみに、私がフリーランスとしてO'Reillyで最初に編集を担当した書籍はFortran 90に関するものでした。この本は高い評価を受けたものの、商業的には成功しませんでした。 BASICも忘れてはならない言語です。 1963年に、プログラマーではない人でも簡単にプログラミングできることを目的として開発され、オフィスワーカーやアマチュアプログラマーの間で爆発的に普及しました。 その後、MicrosoftはVisual Basicを発表し、IDEも備えたWindows向けのグラフィカルアプリケーション開発言語へと発展させました。 さらに、UnixからPerlなどのスクリプト言語が登場した後も、BASICはしばらく日常的に利用され続けました。 そのため、COBOLやFORTRANほど中心的な存在ではなかったものの、アマチュアプログラマーという重要な層を支え、長期間利用された言語として、この分類に含めています。 Perlもまた、「一時代を築いた言語」の代表格です。 Perlは、システム管理者が日々の作業を自動化したいという要求に真正面から応えた最初のスクリプト言語でした。これはDevOpsという概念が生まれる20年以上も前のことです。 Perlはシステム管理者にとって欠かせない存在となり、さらにWorld Wide Webサーバー上で動的Webページを実現する最初の実用的なプログラムを支えるという栄誉も手にしました。 Perlは非常に自由度が高く、プログラマーの創意工夫をさまざまな方法で表現できる言語でした。しかし、その自由度は長い目で見ると、あまりにも大きすぎました。 Perlプログラマーの間では、「1行でどれだけ多くの処理を書けるか」を競う文化さえありました。 私自身、以前保守を担当することになったPerl 4のプログラムは、 $firstline or print ... のような記述ばかりで構成されていました。 Perlでは「or」は演算子ですが、そのプログラムを書いた開発者は制御構文のように使っていました。 この1行は、「変数$firstlineが設定されていなければ、後続の内容を表示する」という意味です。(LISPの「遅延評価」にも似ています。) 最終的に私は、そのプログラム全体が、$firstlineのような大量のグローバル変数によって状態を管理する、非常に複雑な状態遷移システム(ステートマシン)であることに気付きました。 こうしてPerlは、現在でも一部のレガシーシステムでは使われているものの、多くの競合言語にその座を譲ることになりました。 その代表が、現在主流となっているPythonです。 そのほかの競合言語については、本シリーズの後編で紹介します。

DevOps面接でLinuxの知識は通用するのか?

DevOpsエンジニアの面接対策を始めると、すぐに気づくことがあります。それは、「Linuxの知識はごまかせない」ということです。 面接官が求めているのは、教科書どおりの回答ではありません。実際にターミナルを使って稼働中のシステムや障害が発生したシステムを調査し、必要な技術情報を見つけ出して適切に対応できるかどうかを知りたいのです。実際にLinuxで問題を解決した経験がある方なら、この意味がよく分かるでしょう。 つまり、企業が求めているのは実践的な問題解決能力です。多くの企業では、システム管理者のトラブルシューティング能力がインフラの安定運用を支えています。そのような力は、本を読むだけでは身につきません。 だからこそ私は、「Everything You Need to Know for a Linux DevOps Interview」という動画を制作しました。また、DevOpsエンジニアを目指す人にとって、Linuxをしっかり身につけることが最も重要なステップだと考えています。 この記事では、DevOpsの面接でよく問われるLinuxの主要な知識と、それらがLPIの次の3つの試験とどのように関連しているかを解説します。 Linux Essentials(試験範囲) LPIC-1(101試験・102試験の試験範囲) DevOps Tools Engineer(試験範囲) DevOpsにLinuxが不可欠な理由 まず、自分自身に問いかけてみてください。 「LinuxはDevOpsのエコシステムの中で、どのような役割を果たしているのだろうか?」 重要なのは、Linuxコマンドをいくつか知っていることではありません。Linuxがさまざまな複雑なシステムをどのようにつないでいるかを理解することです。例えば、次のようなDevOpsを支える技術は、Linuxなしでは成り立ちません。 構成管理 Ansible、Chef、Puppetなどの構成管理ツールは、自動化やアップデート、インフラ管理を行うためにLinuxを前提としています。 CI/CD GitLabやJenkinsなどのパイプラインは、アプリケーションのホスティングやソフトウェアのビルド・デプロイにLinuxを利用しています。 コンテナ技術 DockerやPodmanは、Linuxカーネルのnamespacesやcgroupsといった機能を利用して、コンテナとホストOSを分離しています。 監視 Grafana、Prometheus、ELKなどのツールは、Linuxサーバー上で動作するアプリケーションの状態やパフォーマンスを監視・分析します。 面接で求められる知識 DevOpsの面接では、コマンドを暗唱できるかどうかは問われません。 「必要な場面で、そのコマンドを実際に使ったことがあるか」が問われます。 この考え方は、Linux Essentials認定やDevOps Tools Engineer認定にも共通しています。 まず求められるのは、Linuxシステムの仕組みを理解し、ターミナルを自信を持って使いこなせることです。 Linuxのファイルシステムがどのように構成されているのか、ファイル操作の方法、ファイルの種類などを理解しておく必要があります。また、ディレクトリの移動、アクセス権限の理解、所有者の変更といった基本操作にも慣れていなければなりません。 さらに基本的なファイル操作だけでなく、scpやrsyncを使ってリモートサーバーへファイルを転送できることも重要です。 また、ディスク容量の空き状況やサーバーの稼働時間、どのサービスがメモリを多く消費しているかを確認できる必要があります。そのためには、df、uptime、topといったコマンドを使い、その出力内容を理解できなければなりません。 本番環境では、ファイルの検索や管理も重要な業務です。find、grep、awkなどを利用して、サイズや所有者、アクセス権限などを条件にファイルを検索できる必要があります。また、tail -fを使ってリアルタイムでログを監視し、サービスの障害を調査できることも役立ちます。 プロセス管理は、システムの安定運用に欠かせません。 ps、top、htopを使って実行中のプロセスを確認できますか。 CPUやメモリを最も消費しているプロセスを特定できますか。 応答しなくなったプロセスをkillで終了したり、niceやreniceで優先度を変更したりできますか。 さらに、&、fg、bgを使ってジョブをバックグラウンドへ移したり、再びフォアグラウンドへ戻したりできますか。 これらに自信を持って答えられるなら、監視やリソース管理といったDevOpsの重要な業務について十分に話せるでしょう。 そして、日々の業務でも特に重要なのがネットワークです。 ネットワークは単一のツールで完結するものではなく、多くのツールやユーティリティが連携する複雑な仕組みです。 まず基本として、ネットワークインターフェース(ip a)、接続状況(ss、netstat)、疎通確認(ping、traceroute)、DNS(dig、host、nslookup)を理解しておく必要があります。 サービスに接続できない場合、その原因や、どこで通信が止まっているのかを調査できますか。 例えば、本番サーバーへ接続できなくなったとき、まず何を確認しますか。どのコマンドを使いますか。 この内容については、LPIの「LPIC-1 102 Learning Materials」で詳しく学ぶことができます。 また、SSH接続のトラブルシューティングについて質問されることも非常に多くあります。そして、SSHの話になると、セキュリティという非常に大きなテーマにつながります。 SSHは、DevOpsでは必須の知識です。 公開鍵・秘密鍵認証を使ってリモートサーバーへ接続する方法、ポート番号の変更、鍵の生成やコピー、SSH関連ファイルの管理などを理解しておく必要があります。 特に、公開鍵認証と秘密鍵認証がどのような仕組みで動作するのかを説明できることは非常に重要です。これは、日常のDevOps業務で最も頻繁に行う作業の一つだからです。 これらは特別なテクニックではありません。基本中の基本です。 Linuxを本当に理解しているのか、それとも面接対策として勉強しただけなのかは、このような基本的な質問で見極められます。 成功への近道は? 正しい方法で学ぶこと 私はこれらを本だけで学んだわけではありません。 実際のプロジェクトでコードを書き、何時間もコマンドラインと向き合う中で身につけました。そして今でも、自分のLinuxスキルには改善の余地があると感じています。 皆さんも同じような経験を積む必要があります。その学習を支えてくれる教材として、LPIが無料で公開しているLearning Materialsをおすすめします。 Linux Essentials LPIC-1 Exam 101 LPIC-1 Exam 102 これらの教材は実践的で、多くの検証を経て作られており、私自身が面接や資格試験対策を乗り越える際にも役立った考え方に基づいています。 さらに嬉しいことに、DevOps Tools Engineer 2.0認定試験向けのLearning Materialsも公開されています。 もちろん、JenkinsやDocker、Ansibleを学ぶことはできます。 しかし、その土台となるシェルやLinuxを理解していなければ、実際の現場では何をすればよいのか手探りの状態になってしまいます。 Linuxを理解していることで、より深いレベルでシステムを理解できるようになり、特にトラブルシューティングでは大きな強みになります。 私自身、DevOpsの学習を始めた頃、Linuxを十分に理解しないままKubernetesへ飛びつこうとして何度も失敗しました。 しっかりとしたLinuxの知識がなければ、それはうまくいきません。 なぜなら、DevOpsにおいてLinuxは単なるツールではなく、すべてのツールを支える土台だからです。

LPI、2026~2027年度の理事会メンバーを発表

2026年7月15日、トロント — Linux Professional Institute(LPI)は、新たな理事会(Board of Directors)が先週開催された初回会合において正式に発足したことをお知らせします。6月20日に開催された年次総会(AGM)で選挙結果が発表された後、新たに選出された4名の理事が理事会に加わり、オープンソースプロフェッショナルを世界規模で支援するというLPIの使命のもと、任期を開始しました。 新たに選出された理事は以下のとおりです。 ・André Bermudes Casagrande André Casagrande氏は、Linux、オープンテクノロジー、エンタープライズインフラストラクチャ分野で豊富な経験を持つテクノロジープロフェッショナルです。これまでのキャリアを通じて、金融、製造業、公共部門など幅広い業界において、オープンソース技術を基盤とした最新のITプラットフォームの設計・導入に深く携わってきました。 ・Simone Davide “Simo” Bertulli(再選) Simone氏は、エネルギー業界および通信業界で9年以上の経験を持つサイバーセキュリティの専門家です。LPIブログの寄稿者であり、技術コースのレビュアーも務めています。また、2024年からLPI認定トレーナー(LPI Approved Trainer)として活動しています。 ・Sean Davis Sean Davis氏は、2012年からXubuntu、Xfce、そしてUbuntuコミュニティ全体への貢献を続けています。2013年にUbuntu Memberとなり、2014年にはXubuntu Technical Lead、2017年にはXubuntu Councilの創設メンバーとなりました。 また、Catfish、MenuLibre、Mugshot、LightDM GTK+ Greeter、Parole、Xfce Screensaverなど、数百万台のLinuxデスクトップで利用されている数多くのアプリケーションの開発・保守を手掛けています。コミュニティでは「bluesabre」の名前で広く知られています。 ・中原 道紀(再選) 中原道紀氏は、日本IBMにおいて33年以上にわたり、主にアジア太平洋地域を担当するさまざまなリーダー職を歴任しました。また、東京を拠点とするオープンソースソフトウェア企業で最高トレーニング責任者(Chief Training Officer)も務めました。 日本と米国で学び、日本国内での勤務に加え、米国および欧州のIT企業とも密接に協力してきた経験を持つ中原氏は、LPI理事としてLinuxおよびオープンソースコミュニティに独自かつ幅広い視点をもたらしています。 理事会メンバーの詳細については、以下をご覧ください。 https://www.lpi.org/about-lpi/meet-our-board-of-directors/ 年次総会(AGM)では、理事会議長のUirá Ribeiro氏が退任する理事の功績に感謝するとともに、新たに選出された理事を歓迎しました。また、LPIの成功に貢献したすべてのスタッフ、会員、パートナー、ボランティア、支援者へ謝意を表しました。 LPIエグゼクティブディレクターのG. Matthew Rice氏は、「2025 Annual Review」の主な内容を報告し、この1年間における組織の主な成果と取り組みについて紹介しました。 理事選挙について 理事会選挙は毎年、年次総会(AGM)において実施されており、LPI会員は組織の方向性や使命の形成に直接関わることができます。 理事会には、多様な専門知識とグローバルな視点を持つ理事が集まり、Linux Professional Instituteによるオープンソースプロフェッショナルへの支援強化、認定資格やコミュニティプログラムの世界的な展開、そして組織運営の透明性向上に貢献しています。 2026年の理事選挙の詳細については、以下をご覧ください。 https://www.lpi.org/elections/2026/ Linux Professional Instituteについて Linux Professional Institute(LPI)は、オープンソースプロフェッショナルのための世界的な認定資格基準およびキャリア支援を提供する団体です。35万人を超える認定資格保持者を擁し、ベンダーニュートラルなLinuxおよびオープンソース認定機関として世界で最初かつ最大の組織です。 LPIは180を超える国と地域で認定資格を提供し、多言語で試験を実施するとともに、世界中に数百のトレーニングパートナーを有しています。詳しくは、www.lpi.orgをご覧ください。 メディアお問い合わせ先 Shamiul HossainCommunicationsLinux Professional Institute(LPI)shossain@lpi.org

LPIとOpen Ireland NetworkがFOSS推進に向けて提携

2026年7月14日、トロント — Linux Professional Institute(LPI)は、このたびOpen Ireland Networkと覚書(MoU)を締結したことを発表しました。この提携は、Linuxをはじめとするオープンソース技術に関する教育およびスキル評価を通じて、アイルランドにおけるフリー・オープンソースソフトウェア(FOSS)の専門知識を持つ認定技術者コミュニティの拡大を目的としています。 今回のパートナーシップでは、オープンソースをイノベーションを推進する原動力と位置付け、これらの技術に関する専門知識がデジタル社会の発展に不可欠であるという認識のもと、取り組みを進めます。両団体は、本覚書に基づき、Linuxおよびオープンソースのエコシステムの強化に取り組むとともに、地域レベルおよび国家レベルのデジタルトランスフォーメーション施策におけるオープンソースソリューションの普及を促進していきます。 また、LPIとOpen Ireland Networkは、Linux、オープンソースソフトウェア、オープンソースハードウェア技術を中心に、専門人材の育成を支援する技術的・教育的な取り組みでも連携します。両団体は、リソースや知識、専門性を共有し、アイルランドにおける教育、認定制度、そしてLinuxおよびオープンソース技術のさらなる普及を推進していきます。 Linux Professional InstituteのHernán Pachas Magallanesは、次のように述べています。 「今回の提携は、アイルランドにおいて、より強固で持続可能かつ競争力のあるオープンソースエコシステムを構築するための戦略的な一歩となります。Open Ireland Networkとの協力を通じて、世界的に認知された教育プログラムや認定資格へのアクセスを拡大し、デジタル人材の育成とデジタル能力の向上を支援するとともに、政府、教育機関、産業界、そしてオープンソースコミュニティを共通のビジョンのもとにつなげていきます。この提携により、イノベーションや経済成長、デジタル主権を支えるオープン技術を導入・運用・発展させるために必要な高度なスキルを持つ人材を、アイルランドで継続的に育成できるようになります。」 Open Ireland Network共同創設者のMichael Meagher氏は、次のように述べています。 「世界はますますオープンソースに依存するようになっています。Linuxとオープンソースソフトウェアは、クラウドプラットフォーム、ネットワーク、AIシステムをはじめ、私たちの経済や公共サービスを支える重要なインフラの基盤となっています。」 Open Ireland Networkについて Open Ireland Networkは、アイルランド全土におけるオープンソースイノベーションの推進を目的としたソーシャルエンタープライズです。政府、企業、教育機関の関係者をつなぎ、知識の共有やオープンソースのベストプラクティスの普及を通じて、イノベーションと社会的価値の創出を支援しています。 詳細は、https://openirelandnetwork.com をご覧ください。 Linux Professional Institute(LPI)について Linux Professional Institute(LPI)は、オープンソース技術者のための世界的な認定基準を提供するとともに、キャリア支援を行う国際的な組織です。35万人を超える認定資格保持者を擁し、ベンダーニュートラルなLinuxおよびオープンソース認定機関として世界初かつ最大の規模を誇ります。180以上の国と地域で認定資格を提供し、多言語で試験を実施するとともに、世界各地に数百のトレーニングパートナーを展開しています。 詳細は、https://www.lpi.org をご覧ください。 メディアお問い合わせ先 Shamiul HossainCommunicationsLinux Professional Instituteshossain@lpi.org