検索結果

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

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

LPI、国連で世界のFOSSエコシステムの発展を支援

UN Tech Over Hackathonが国連オープンソースウィーク2026の幕開けを飾る 2026年の国連オープンソースウィーク(UN Open Source Week 2026)のオープニングイベントである「UN Tech Over Hackathon」が、6月22日に米国ニューヨークの国連本部で閉幕しました。Linux Professional Institute(LPI)は、ハッカソンの共同主催者およびスポンサーの一員として参加しました。これは、2023年に始まり、2025年にLPIが「国連オープンソース原則(UN Open Source Principles)」への支持を表明したことで正式な協力関係となった、国連との連携を継続する取り組みです。 4日間・4会場・1つの目標 このハッカソンには、開発者、技術者、学生、イノベーターが集まり、国連機関が提示した実際の課題に対する実用的なオープンソースソリューションの開発に取り組みました。 参加チームは、6月19日にAmazon Web Servicesで開催された対面イベントでアイデア創出からプロトタイプ開発を開始しました。その後、6月20日はUNICEF Houseでメンタリングと共同作業を実施し、6月21日はリモートで共同開発を行い、6月22日に国連本部のECOSOC会議場で最終プレゼンテーションを行いました。 2つの課題、1つの目的 参加者は、現在オープンソースとAIをめぐる政策議論の中心となっている機関が設定した、2つの課題に取り組みました。 1つ目の課題は「エージェント時代における安全性・監督・ガバナンス(Safety, Supervision, and Governance in the Agentic World)」です。この課題は、スペイン人工知能監督庁(AESIA)と、スペイン・デジタル変革・公務省が主導するSpanish Open Source AI Communityによって策定されました。参加チームは、公平性、プライバシー、サイバーセキュリティ、人による監督を設計段階から組み込んだ、責任あるAIエージェントの構築方法を検討しました。 2つ目の課題は「データから行動へ:次世代エビデンスの構築(From Data to Action: Building Next Generation Evidence)」です。この課題は国連事務総長室(Executive Office of the Secretary-General)が主導し、国連システムが整備を進める「Data Commons」を活用した、意思決定に役立つデータプロダクトの開発がテーマとなりました。Data Commonsは、国連が公開する開発関連データを統合したナレッジグラフ基盤です。参加チームは、多様な実世界データを、人道支援、公共政策、開発計画、そして持続可能な開発目標(SDGs)の推進に役立つ実践的なエビデンスへと変換するツールを開発しました。 LPIネットワークから大学を招待 人材育成はLPIの中核的なミッションであり、このハッカソンはその取り組みを具体的に実践する場となりました。 LPIは、パートナーネットワークに加盟する教育機関へ参加を呼びかけ、その結果、Western Governors University(米国)とUniversidad Autónoma de Nuevo León(メキシコ)の2大学が現地参加しました。 この取り組みにより、学生や教員は国連機関、政府機関、そして業界のメンターと直接交流する機会を得ました。これは、LPIのAcademic [...]

Linux Essentials 2.0 ベータ試験を開始

LPI、Linux Essentials 2.0試験のベータ版を公開 2026年7月6日、トロント — オープンソース技術者向け認定資格の国際標準およびキャリア支援機関であるLinux Professional Institute(LPI)は、このたび、Linux Essentials 2.0試験のベータ版を公開したことを発表しました。 Linux Essentialsは、LPIで最も人気のあるエントリーレベルの認定資格であり、Linux、オープンソースソフトウェア、そして現代のITキャリアの基礎となるコマンドラインスキルを学ぶための入門資格です。 今回のバージョン2.0では、教育分野、クラウドコンピューティング、企業システムにおけるLinuxの進化を反映しながらも、学生、教育関係者、そしてIT業界を目指す人々にとって、これまでと変わらず学びやすいスタート地点を提供します。 LPI プロダクト開発ディレクターのFabian Thorns氏は次のように述べています。 「Linuxは、クラウドインフラ、サイバーセキュリティ、組み込みシステム、AIに至るまで、ほぼあらゆるIT分野で欠かせない技術となっています。Linux Essentials 2.0は、現在の技術環境に対応した実践的なスキルを身につけられるよう設計されている一方で、ベンダーニュートラルという認定資格の理念を維持し、オープンソースの世界への理想的な第一歩であり続けます。」 ベータ試験は、2026年8月15日から9月15日まで実施されます。試験はPearson VUEのOnVUEプラットフォームを利用したコンピュータベース試験(CBT)として提供され、受験者は自宅などからオンラインで受験できます。 試験時間は60分、出題数は40問です。試験言語は英語で、受験料は50米ドルです。アクティブなLPIメンバーは無料でベータ試験を受験できます。なお、試験結果を受け取るためには、試験終了後のアンケートへの回答が必須となります。 ベータ試験は試験開発プロセスの一環として実施されるもので、新しい試験の妥当性を検証するとともに、初期の統計データを収集することを目的としています。そのため、試験結果は、すべてのベータ試験が終了し評価が完了した後、ベータ期間終了後にまとめて通知されます。 試験に合格した受験者には正式な認定資格が授与されます。不合格となった場合は、受験結果を自身のプロフィールから削除するよう申請することができます。 Linux Professional Institute エグゼクティブディレクターのG. Matthew Rice氏は次のように述べています。 「Linux Essentials認定は、これまで何千人もの学習者がLinuxとオープンソースの世界へ踏み出す第一歩を支えてきました。今回のベータ試験に参加することで、受験者は最新の認定資格を取得できるだけでなく、次世代の技術者のためのLinux教育の未来づくりにも貢献することになります。」 ベータ試験への参加を希望する方は、lpi.org/beta-signup にある登録フォームからお申し込みください。 なお、募集人数には限りがあるため、すべてのお申し込みに対応できない場合があります。試験の詳細な出題範囲については、LPI Wiki(wiki.lpi.org/wiki/Linux_Essentials_Objectives_V2.0)をご覧ください。 Linux Professional Institute(LPI)について Linux Professional Institute(LPI)は、オープンソース技術者向け認定資格の国際標準を提供するとともに、キャリア支援を行う国際的な組織です。 35万人を超える認定取得者を擁し、ベンダーニュートラルなLinuxおよびオープンソース認定機関として世界で最も長い歴史と最大規模を誇ります。LPIは180以上の国と地域で認定資格を提供しており、多言語で試験を実施するとともに、世界中に数百のトレーニングパートナーを有しています。 詳しくは、LPI公式サイト(lpi.org)をご覧ください。 メディアお問い合わせ先 Björn SchönewaldCommunicationsLinux Professional Institutebschonewald@lpi.org

BSDが築いたインターネット ― その功績(後編)

このシリーズの第1回では、BSDとインターネットとの密接な関係について紹介しました。最終回となる今回は、BSDが生み出した代表的な技術や、その影響についてさらに詳しく見ていきます。 デジタル通信で最も重要な手段 現在では、友人や同僚、そして世界中の人々と情報を共有するための手段は数多く存在します。従来のSMS(ショートメッセージ)に加え、チャットツールやさまざまなコラボレーションプラットフォームが登場し、仕事の効率化やAIによる業務支援まで行われています。 しかし、デジタルコンピューティングの歴史の大半において、人々がほぼ全面的に依存していたのは電子メールでした。電子メールは、インターネットよりも早い1965年に考案されています。現在でも、多くのオンラインサービスでは、登録やログイン時にメールアドレスが必要です。これは、電子メールが世界共通で一意な識別子として機能しているという前提があるためです。 では、BSDは電子メールの発展にどのような貢献をしたのでしょうか。 インターネットで最終的に標準となったSimple Mail Transfer Protocol(SMTP)が登場する以前には、数多くのメール転送プロトコルが存在していました。 SMTPは、その名のとおり非常にシンプルなプロトコルです。FTPやTelnet、そして後に登場したHTTPと同じ設計思想を受け継ぎ、すべてがプレーンテキストで構成されています。そのため、アプリケーションの開発やデータ転送、トラブルシューティングが容易になります。メールは送信者などの情報を含むヘッダー行で始まり、その後に本文(ユーザーのメッセージ)が続きます。 しかし、メールソフトウェアの開発は決して簡単ではありませんでした。当時は数多くの異なるメールシステムが存在し、それらを相互にやり取りできるようにする必要があったからです。 Eric Allmanによるsendmailは、1979年に「delivermail」という名称で初めて公開されました。これは、SMTPが1982年8月にRFCとして正式に定義される以前のことです。 メール形式を解析するだけでも非常に困難な作業でした。多くのメール形式は、IPプロトコルスタックやDomain Name System(DNS)が登場する以前から存在しており、それぞれ独自のメール配送方式を採用していました。例えば、当時広く利用されていたUUCPでは、「バングパス(bang path)」と呼ばれる方式で、ホスト名を感嘆符(!)で区切って配送経路を表していました。 sendmailは、これらすべてに対応していました。 解析処理の複雑さに加え、設定ファイルも非常に簡潔な書式で記述されていました。これは1980年代のメモリやディスク容量の制約を考慮した設計でした。そのため、一般的なsendmailの設定ファイルは、まるで暗号化されたスパイ文書のように見えるほど難解です。 そして、その簡潔すぎる設定形式とは対照的に、公式ドキュメントは非常に膨大でした。O'Reilly社の名著『sendmail』(初版はAllman自身が執筆)は版を重ねるごとに内容が増え、最終的には1,300ページを超える大著となりました。それでも長年にわたり、システム管理者にとって必携の一冊でした。 私が確認できたsendmailの普及率に関する統計は1996年のものですが、その時点で到達可能なSMTPサーバーの約80%がsendmailを利用しており、他のメールサーバーソフトウェアを大きく引き離していました。 また、sendmailがコンピューター史に果たしたもう一つの重要な役割についても触れておかなければなりません。それは、インターネット全体を対象とした最初の大規模サイバー攻撃を引き起こすきっかけとなったことです。 その理由は、sendmailには長年にわたり既知のセキュリティ脆弱性が存在していたためです。この脆弱性を含む機能は無効化できましたが、多くの管理者はその対応を行いませんでした。確かに目立たない脆弱性ではありましたが、その存在は以前から知られていたにもかかわらず、修正されていませんでした。 sendmailは名目上はオープンソースでしたが、現代の多くのフリーソフトウェアプロジェクトのようにコミュニティ主体で開発されていたわけではありません。BSDの多くのコンポーネントと同様に、ごく少人数の開発チームによって管理されていました。 1980年代後半、私はMASSCOMPというUnixベンダーで働いていました。そこは比較的自由な社風で、社員は興味のある話題について会社全体にメールを送ることがよくありました。 あるメールでは、1人のプログラマーが日頃の不満を一気に書き連ねていました。さまざまなツールへの不満、プロジェクト運営への不満、会社の方針への不満を述べた最後に、冗談交じりでこう締めくくっていました。 「どうしてsendmailのバグはまだ残っているんだ?」 おそらく、このバグこそが、1988年に大学院生によって悪用された脆弱性だったのでしょう。その結果、「ワーム」と呼ばれるプログラムがコンピューターからコンピューターへと自己増殖しながら感染を広げ、インターネット上の約10%のホストを停止させました。 初期のセキュリティ侵害の多くと同様、このワーム事件は、それまで抽象的・理論的な存在だった脅威を、一気に現実のものへと変えました。 その後も開発者たちは脆弱性の修正に取り組み続けています。しかし、多くの利用者はソフトウェアの更新を後回しにしてしまうため、既知の脆弱性が現在でも攻撃に悪用され続けています。 コンピューティング革新を育んだ豊かな土壌 BSDは、このシリーズで紹介したネットワーク技術以外にも、現代のオペレーティングシステムやプログラミングツールに計り知れない影響を与えています。 本シリーズで紹介しきれなかった代表的な成果には、次のようなものがあります。 vi:BSD、Linux、その他のUnix系OSで多くの上級ユーザーに利用されている高機能テキストエディター Jails:DockerやKubernetesの基盤となるコンテナ技術の先駆け Berkeley Packet Filter(BPF):カーネル内でユーザー空間プログラムを実行するための仕組み。現在ではLinuxにも移植され、多くの高度な機能で利用されている termcapとcurses:プレーンテキスト画面上でグラフィカルなユーザーインターフェースを実現するCライブラリ(1980年代には画期的な技術であり、特にviの実装を支えました) BSD Make:AT&T Unixのビルドシステムを全面的に作り直したもので、Linuxカーネルのビルドで使われるGNU MakeとAutoconf/Automakeとは異なる、包括的なビルド管理環境を提供しています BSDは、Unixベース企業として歴史上最も成功し、最も大きな影響を与えた企業の一つであるSun Microsystemsの中核技術でもありました。 Sun Microsystemsは1982年にBill JoyをはじめとするBSDの主要開発者によって設立され、研究者やUnixのプロフェッショナルから最も支持されるベンダーとなりました。 同社は、その歴史の中でコンピューティングを代表する2つの重要な技術を生み出しました。それが、分散ファイルシステムのNFSと、プログラミング言語Javaです。 では、なぜBSDは世界共通のフリーOSにならなかったのでしょうか。 その経緯については、私が執筆した4部構成の記事「From Unix to Linux: Key Trends in the Evolution of Operating Systems」で詳しく解説しています。特に第3回では、BSDの普及を阻んだ要因について紹介しています。 それでもBSDは現在もさまざまな分野で活躍しています。 多くの大企業のミッションクリティカルなシステムを支え続けており、その安定性や性能を高く評価する管理者の中には、「パタゴニアにいるすべてのペンギンと引き換えでもLinuxには乗り換えない」と語る人もいます。 BSDを製品の中核技術として利用している企業には、Apple(BSDを基盤とするmacOSの中核部分を、オープンソースプロジェクト「Darwin」として公開)、Network Appliance、Netflix、Juniper Networks、New York Internet、Sheridan Computers、Beckhoff、Metify、rgNets、Cloudium、Antithesis、ecard、そしてSony PlayStationなどがあります。 なお、多くの企業は、自社製品でBSDを利用していることを公表していません。 たとえ別のオペレーティングシステムを利用している人であっても、その基盤にはBSDが残した遺産があります。 なぜなら、インターネットが今日の姿へと成熟する土台を築いたのはBSDだったからです。 《 このシリーズの第1回を読む

Linuxへの好奇心が導いたアレハンドラのFOSSストーリー

好奇心から始まったことが、やがて人生のキャリアを形づくることがあります。 今回ご紹介するのは、アレハンドラ・レタナ・ピエドラさんへのインタビューです。幼い頃、コスタリカでLinuxに出会ったことが、静かにITとオープンソースへの道を切り開きました。現在では、その情熱と努力によって、地域での経験と世界中のFOSS(Free and Open Source Software:自由・オープンソースソフトウェア)コミュニティをつなぐ存在となっています。 これは、幼い頃の小さなきっかけが、長く続く大きな影響につながることを教えてくれる物語です。 Linuxやオープンソースソフトウェアと初めて出会ったきっかけ、そして興味を持った理由を教えてください。 私がLinuxやオープンソースソフトウェアと初めて出会ったのは、とても幼い頃でした。 当時、家には古いコンピューターがありましたが、ほとんど何も動かせない状態でした。そこで、コンピューター関連の仕事をしていた近所の方がLinuxをインストールしてくださり、その古いマシンが再び使えるようになったのです。 古いコンピューターがまるで生まれ変わったように動き出したことに、とても驚きました。この出来事は今でも強く印象に残っています。 その後、高校生になってから、自分のノートPCにWindowsとUbuntuのデュアルブート環境を構築しました。その経験をきっかけに、GIMPやAudacityなど、有料ソフトの代わりとして利用できるさまざまなオープンソースソフトウェアを使い始めました。 現在でも、こうしたオープンソースソフトウェアを数多く利用しています。Linuxとオープンソースソフトウェアは、私のテクノロジーに対する考え方に大きな影響を与え、コンピューターには無限の可能性があることを教えてくれました。 Linuxやオープンソースソフトウェアへの興味はどのように変化してきましたか。また、現在の生活ではどのような存在になっていますか。 Linuxやオープンソースソフトウェアへの関心は、年月とともに大きく深まってきました。 現在はUbuntuをはじめ、さまざまなオープンソースソフトウェアを利用しています。また、使い始めた頃と比べて、これらのソフトウェアが非常に使いやすく進化していることも実感しています。 オープンソースソフトウェアは、仕事でも個人的なプロジェクトでも日常的に活用しています。また、家族や友人にも役立つオープンソースソフトウェアを紹介することを楽しんでいます。 私にとってオープンソースは、単なるツールではなく、周囲の人たちと共有したい大切な存在になっています。 LPI認定資格の取得を目指した理由と、それがキャリアにどのような影響を与えましたか。 Linux Professional Institute(LPI)の認定資格は、情報技術(Information Technology)の学士課程を修了するための要件の一つとして取得しました。 私は、LinuxはIT業界において非常に重要な役割を果たしており、幅広い知識を持つITプロフェッショナルになるためには、Linuxをしっかり理解しておくことが欠かせないと考えています。 私にとって認定資格は、単に卒業要件を満たすためのものではありませんでした。現在のIT業界で必要とされる実践的なスキルを身に付け、将来の仕事でLinuxを自信を持って扱えるようになるための大切な学びでした。 LPI認定試験にはどのように取り組みましたか。また、これから受験を考えている方へのアドバイスをお願いします。 Linux Essentials認定試験の対策として、まず自分のノートPCにUbuntuをインストールし、LPI Learning Portalで提供されているガイドの演習をすべて実践しました。 また、Learning MaterialsのPDF版もダウンロードし、重要なポイントにハイライトを付けたり、学習内容を整理したりしながら勉強を進めました。 各ドメインやサブドメインの内容を読み込み、特に各章の導入部分を丁寧に確認しました。また、ガイドに掲載されている「Key Knowledge Areas(重要知識分野)」を重点的に復習し、どの分野が特に重要なのかを意識して学習しました。 これから受験する方には、実際にLinux環境を構築して手を動かしながら学ぶこと、ノートを整理して学習内容をまとめること、そして公式ガイドで示されている重要知識分野を重点的に学習することをおすすめします。 Linuxを使うべき理由を3つ、そしてITプロフェッショナルがLPI認定資格を取得すべき理由を3つ教えてください。 Linuxを使うべき理由として、まず挙げたいのは、他のOSとは異なる環境を体験し、高いカスタマイズ性を実感できることです。 2つ目は、Linuxは軽量で動作するため、古いハードウェアでも再び快適に利用できるようになり、コンピューターを長く活用できることです。 3つ目は、多くの無償のオープンソースソフトウェアを利用できるため、ソフトウェア導入コストを抑えられることです。 一方、ITプロフェッショナルがLPI認定資格を取得する理由としては、まず技術者として幅広い知識を身に付けられることが挙げられます。 また、Linuxのスキルを客観的に証明できるため、就職や転職の際の大きなアピールになります。 さらに、より高度なLinux技術や専門資格へとステップアップするための基礎を築くことができます。 Linuxやオープンソースソフトウェアを学び始めたばかりの人へ、一つだけアドバイスをするとしたら何ですか。 何よりも、柔軟な気持ちを持ち、一歩ずつ学んでいくことです。 学ぶことはたくさんありますが、幸いにもインターネット上には豊富な学習リソースがあり、初心者を喜んでサポートしてくれる素晴らしいコミュニティがあります。 質問することを恐れず、コミュニティの力を積極的に活用してほしいと思います。 休日はどのように過ごしていますか。 コスタリカにいる家族や友人と過ごす時間をとても大切にしています。 また、モルモットやウサギの世話をすることも楽しみの一つです。 そのほかにも、読書をしたり、ビデオゲームを楽しんだり、ピアノを弾いてリラックスしたりして過ごしています。 オープンソースソフトウェアは、テクノロジー業界における多様性やインクルージョンの推進にどのように役立つと思いますか。また、そのような活動に参加した経験はありますか。 オープンソースには、多様性やインクルージョンを推進する大きな可能性があると思います。 なぜなら、どのような経歴や出身であっても誰でも参加でき、学位や特定の肩書きがなくても、好奇心と学ぶ意欲さえあれば貢献できるからです。 私自身、有色人種の女性として、オープンソースコミュニティを含むIT業界には、より多様な声が必要だと感じています。 これまで特定の活動に参加した経験はありませんが、自分自身が積極的に参加し、自分の考えを発信し、周囲の人たちにも参加を勧めることが、少しずつ変化を生み出していくと信じています。 テクノロジー分野で働こうと思ったきっかけと、どのようにキャリアをスタートさせたのか教えてください。 子どもの頃から、家族の中では何か機械のトラブルが起きると、いつも私が頼られる存在でした。 プリンターやスマートフォン、コンピューターなど、何か問題が起きるたびに相談を受けていました。 とはいえ、IT業界は男性が多い分野という印象があり、自分がその世界で働くことには少し不安も感じていました。 実際、最初は経営学を学び、会計の仕事をしていました。 しかしある日、ITインターン募集の投稿を見つけ、「挑戦してみよう」と決意しました。仕事を辞めて応募したところ、そのインターンシップでは本当に多くのことを学ぶことができました。そして数か月後には正社員として採用されました。 それ以来、とても充実したキャリアを歩んでいます。 << このシリーズの前回の記事を読む | LPI認定取得者の成功事例をもっと読む >>

BSDが築いたインターネット ― その功績(前編)

BSDとインターネットの歩み(前編) 「スペイン宗教裁判を予想した者はいない」という有名なモンティ・パイソンのギャグがありますが、インターネットもまた、誰もその登場を予想していませんでした。インターネットの原型であるARPANETが誕生したのは、そのギャグを生み出したコメディグループ、モンティ・パイソンが活動を始めた1969年と同じ年です。しかし、その後の約10年間、インターネットはファイル共有など限られた用途に使われる便利な仕組みと考えられており、数十年後に私たちの生活を大きく変える存在になると予想していた人はほとんどいませんでした。 コンピュータを本格的なインターネット時代へと導いた最大の立役者の一つが、カリフォルニア大学バークレー校です。同大学はUnixを独自に発展させたBerkeley Software Distribution(BSD)を開発しました。 Linux Professional Institute(LPI)は、BSD Specialist認定を通じてBSDの普及と発展を支援しています。本記事は前後編の2回にわたり、BSDとインターネットがどのように発展し、お互いに大きな影響を与え合ってきたのかを紹介します。実は、BSDはインターネットの発展に不可欠な存在であっただけでなく、インターネットもまたBSDの発展に欠かせない存在だったのです。 米国政府が「情報ハイウェイ」の整備を推進 インターネットは、正式には米国国防総省が生み出した技術です。その起源は、同省のAdvanced Research Projects Agency(ARPA:高等研究計画局)が進めた研究プロジェクトにあります。 ARPANETは1969年に運用を開始し、その後1970年代から1980年代にかけて、ヴィント・サーフらによるTCP/IPの開発によって、現在のインターネットへと発展していきました。 しかし、通信プロトコルは標準化されたものの、プログラムからネットワーク機能を利用するためのインターフェースは扱いづらく、標準化も十分ではありませんでした。 そこで、後にDARPAへ改称されたARPAは、1970年代後半、インターネットに対応したオペレーティングシステムの開発に本格的に取り組むことを決定します。 その候補として最も有力だったのがUnixでした。Unixはさまざまなハードウェア上で動作する移植性の高いOSであり、国防総省と関わりの深い研究者の間でも広く利用されていました。 興味深いのは、DARPAが世界有数の大企業であるAT&Tの提供する公式Unixではなく、カリフォルニア大学バークレー校の大学院生たちが開発していたBSDを選択したことです。この大胆な判断は、DARPAの革新的な姿勢を象徴するものでした。 もちろん、BSDの発展は大学の学生だけによるものではありません。BSDの中心人物として、長年ソースコードとプロジェクト運営の両面で大きく貢献したMarshall Kirk McKusick氏は、1979年から1993年までの主要な貢献者一覧を提供しています。その一覧には、大規模なサブシステムを提供した約60名・団体に加え、数百人もの開発者が名を連ねています。 DARPAがバークレー校を高く評価した理由はいくつかあります。 第一に、Unixへ数多くの重要な改良を加え、高い技術力と開発力を示していたことです。 そして何より大きかったのは、そのライセンス形態でした。BSDでは、ソースコードを誰でも自由に利用できる形で公開していたのです。 つまり、BSDは今日でいうフリー/オープンソースソフトウェアの先駆けとも言える存在でした。 もちろん、その実現までの道のりは単純ではありませんでした。バークレー校が開発したコードはAT&TのUnixを補完する形で提供され、AT&T版Unixをライセンス契約した利用者は両者を組み合わせて利用していました。その中でも、BSDのネットワーク機能は最初に独立して公開された部分でした。 DARPAからの支援を受け、バークレー校はBSDを発展させるために重要な3つの取り組みを行いました。 BSD開発を統括する正式な組織としてComputer Systems Research Group(CSRG)を設立し、その後約12年間にわたりプロジェクトを牽引したこと。 現在も広く知られるBSDライセンスを策定し、BSDをフリーかつオープンソースソフトウェアとして公開したこと。 長年の開発とAT&Tとの訴訟を経て、AT&Tのコードに依存しない完全に独立したオペレーティングシステムを完成させたこと。 このような理由から、インターネットの存在はBSDの成功に欠かせない要素だったと言えます。そしてDARPAとの共同開発によってBSDはさらに重要な存在となりました。 BSD 4.1および4.2で初めて公開された成果により、多くのシステムが共通のインターネットへ接続できるようになりました。さらに、その後のBSD 4.3は、2006年にInformationWeek誌から「史上最も偉大で、世界に最も大きな影響を与えたソフトウェア」とまで評価されています。 BSDそのものについて詳しく見る前に、まず重要なのは、BSDが開発したネットワーク技術はBSDだけのものではなかったという点です。Unix系だけでなく、Unix以外のさまざまなオペレーティングシステムでも利用できました。 この互換性こそが、1989年にティム・バーナーズ=リーが既存のインターネット技術や構造化マークアップ言語などを組み合わせてWorld Wide Web(WWW)を生み出す土台となりました。 Webの誕生によってインターネットは誰も予想しなかったほど急速に普及し、電子商取引やAPIによるシステム連携など、現在のインターネット社会を支えるさまざまな技術の発展へとつながっていきました。 インターネット接続を支えた基盤技術 ネットワーク通信の基本となるのは、ネットワーク経由でデータを送受信するシステムコールです。 あらゆるオペレーティングシステムはネットワーク層へアクセスする仕組みを備えていますが、そのほとんどは現在でも**Berkeley Sockets(バークレーソケット)**を基礎としています。 ソケットとは、ネットワークプログラミングをファイル操作と同じような感覚で行えるシンプルなデータ構造です。(これは単なる例えではありません。Unixでは「すべてがファイル」という考え方が採用されています。) プログラマーはTCPやUDPなど利用したい通信プロトコルを指定し、通信方式に関するいくつかの引数を与えるだけで済みます。 ファイル作成と同様に、ソケットを作成するとネットワーク接続を表す整数値が返され、その後は送信・受信・入力待ちなどの処理を簡単に実装できます。 Webサービスや動画配信、リモートログインなど、現在インターネットで利用されているほぼすべての通信技術をたどっていくと、その基盤には何らかの形でBerkeley Socketsの考え方が組み込まれています。 通信相手を見つけるには? BSDプロジェクトは、Domain Name System(DNS)を実用的な仕組みとして普及させた立役者でもあります。 DNSは、人間が理解しやすいlpi.orgのようなホスト名を、65.39.134.140のようなIPアドレスへ変換する分散型システムです。 インターネット上のあらゆるプログラムは、通信相手へ接続するために、どのDNSサーバーへ問い合わせればよいかを判断しなければなりません。 初期のインターネットは、小さな町のように誰もがお互いを知っている世界でした。そのため、管理者は各コンピューターのHOSTS.TXTファイルへホスト名を手作業で登録していました。 このファイルは現在でも存在していますが、通常はローカルネットワーク内のアドレスだけを管理し、インターネット上のホスト名の解決はDNSが担当しています。 DNSは非常に複雑な仕組みです。1983年に公開されたDNS仕様(RFC 881、RFC 882)とその後のRFCでは、権威DNSサーバーの分散配置、委任、冗長化など、高い信頼性を持つ分散システムの設計が求められました。 (RFCとは、Internet Engineering Task Force(IETF)が公開する技術文書であり、インターネット標準仕様などが定義されています。) その後数十年にわたり、分散システムでは整合性や耐障害性を両立させるためのさまざまな研究が進められました。 例えば、大規模分散データベースのCassandra、合意形成アルゴリズムであるPaxos、ZooKeeper、Raft、そして世界中のインターネット通信を支えるCDN(コンテンツ配信ネットワーク)などがあります。 しかし、BSD開発者がDNSを実装していた当時には、こうした技術はまだ存在していませんでした。 BSDチームが開発したBerkeley Internet Name Domain(BIND)は最初のDNSサーバーではありませんでしたが、DNS黎明期に登場した最も重要な実装の一つであり、その後何十年にもわたって事実上の標準となりました。 2023年になっても、BINDはすでにレガシー技術と見なされ、多くの代替製品が登場していたにもかかわらず、権威DNSサーバーの約60%で利用されていると推定されています。これは、問い合わせを転送するだけでなく、正式なDNS情報を提供するサーバーを指します。 本シリーズの後編では、BSDがコンピューティングの世界にもたらした、さらに重要な貢献について紹介します。