タグ

ブックマーク / gihyo.jp (124)

  • Waylandプロトコルの開発をもっと迅速に!―Valveのエンジニアが新プロジェクトFrog Protocolsを始動 | gihyo.jp

    Linux Daily Topics Waylandプロトコルの開発をもっと迅速に! ―Valveのエンジニアが新プロジェクトFrog Protocolsを始動 PCゲームプラットフォーム「Steam」の開発元であるValveには、Waylandプロトコルの開発に関わっているグラフィックエンジニアも少なくない。そのひとりであるJoshua Ashtonが9月24日、アップストリームのWaylandプロトコル(wayland-protocols)の代替プロジェクトとなる「Frog Protocols」を公開した。開発とサポートが遅れがちのWaylandプロジェクトに対して「我々はユーザにもっと速くプロトコルを届ける必要がある」(⁠Ashton)という意図から開発されたプロトコルで、Waylandプロトコル開発のあり方に一石を投じるプロジェクトとなりそうだ。 misyltoad/frog-pr

    Waylandプロトコルの開発をもっと迅速に!―Valveのエンジニアが新プロジェクトFrog Protocolsを始動 | gihyo.jp
    kknsd
    kknsd 2024/10/04
  • 第57回 生成AIと真夏の夜の夢 | gihyo.jp

    ここしばらく身辺多忙で間が空いてしまったものの、前回紹介したように、ソースコードが公開されたOpenGPUカーネルモジュールを組み込んで、Plamo LinuxでもNVIDIA GPUを使えるようにし、さっそく当初の目的だった画像生成AIStableDiffusionを動かしてみました。 GitHubで公開されている、ブラウザ経由でStableDiffusionを操作できるstable-diffusion-webuiを試したところ、特にシステム側に修正を加える必要もなく動作し、指定したキーワードに沿った綺麗な画像が生成できました。 図1 「花火大会の夜」なイメージで "StableDiffusion"の動作の仕組みは理解できていないものの(苦笑⁠)⁠、画像生成のきっかけとなるランダム・シードが1つ違うだけで全く異なる画像が生成されますし、同じランダム・シードを使っていてもサンプリング・メ

    第57回 生成AIと真夏の夜の夢 | gihyo.jp
    kknsd
    kknsd 2024/08/28
  • xzパッケージに仕込まれた3年がかりのバックドア、スケール直前に見つけたのはMicrosoftの開発者 | gihyo.jp

    Linux Daily Topics xzパッケージに仕込まれた3年がかりのバックドア⁠⁠、スケール直前に見つけたのはMicrosoftの開発者 “アップストリームのxzリポジトリとxz tarballsはバックドア化されている(The upstream xz repository and the xz tarballs have been backdoored)⁠”―2024年3月29日、Microsoftに所属する開発者 Andres Freundが「Openwall.com」メーリングリストに投稿したポストは世界中のオープンソース関係者に衝撃を与えた。 backdoor in upstream xz/liblzma leading to ssh server compromise -oss-security 主要なLinuxディストリビューションにはほぼ含まれているデータ圧縮プログラ

    xzパッケージに仕込まれた3年がかりのバックドア、スケール直前に見つけたのはMicrosoftの開発者 | gihyo.jp
    kknsd
    kknsd 2024/04/03
  • Fedora 41ではX.Orgセッションをデフォルトから削除へ ―加速するX.Orgからの脱却 | gihyo.jp

    Linux Daily Topics Fedora 41ではX.Orgセッションをデフォルトから削除へ ―加速するX.Orgからの脱却 GNOMEのウィンドウマネージャとしてWaylandコンポジタのMutterが普及するにしたがい、長くディスプレイサーバのデフォルトであったX.Orgが使われるケースは徐々に少なくなっている。2022年4月にリリースされた「Ubuntu 22.04 LTS」でWaylandがデフォルトとなってからはその流れがさらに加速しており、これまでWaylandとX.Orgの両方をサポートしていたディストリビューションも次々とWaylandオンリーにサポート方針を変更している。 2024年4月に「Fedora Linux 40」のリリースを予定しているFedoraプロジェクトもまた、X.Orgからの脱却をより進めていく姿勢を明らかにしている。Ferora Workst

    Fedora 41ではX.Orgセッションをデフォルトから削除へ ―加速するX.Orgからの脱却 | gihyo.jp
    kknsd
    kknsd 2024/03/08
  • 第9回 自動テストの実行結果 ~意思決定と行動を促す情報としての役割~ | gihyo.jp

    WEB+DB PRESS休刊に伴い、今回からWeb上で連載を継続させていただくことになりました。今後とも何卒よろしくお願いします。さて、あらためて連載の最近の連載のテーマを振り返りますと、それは「信頼性の高い実行結果に短い時間で到達する自動テスト群を組み上げ、ソフトウェアの成長を持続可能なものにする」となります。今回はそのなかから「実行結果」に光を当てます。 多くのテスティングフレームワークには実行結果の出力フォーマットを変更するオプションやプラグイン機構があり、自動テストはその実行結果を様々なフォーマットで出力します。それらテストの実行結果は「情報」であり、情報の役割とは意思決定と行動を促すことです。テストの実行結果が促す行動とはデプロイ、マージ、コードの修正などです。今回は、そのようなテスト実行結果出力の種類と目的についてまとめます。 信号機としてのテスト出力 意思決定から行動へつな

    第9回 自動テストの実行結果 ~意思決定と行動を促す情報としての役割~ | gihyo.jp
    kknsd
    kknsd 2024/02/29
  • 第52回 Plamo Linuxの遊び方(その3) | gihyo.jp

    Plamo Linuxの特徴的な部分を紹介しているこのシリーズ、今回はカーネルと共に読み込まれ、カーネルの起動を補助するinitramfsを取り上げます。initramfsは、かつてはinitrdと呼ばれ、Linuxの初期のころから利用されてきた機能です。このinitrd/initramfsはLinuxが独自に生み出した機能で、伝統的なUnixの枠組みを越え、Linuxが独自の発展をしていく最初の一歩となりました。 initramfsの歴史 initrd/initramfsが生まれた(というか必要となった)のは「PC互換機用に開発された」というLinuxの出自が大きく関わっています。 Linuxが参考にしたUnixワークステーションは、SunやDEC、HPといったコンピュータメーカがハードウェアからOSまで一貫して作っていたので、対応すべき周辺機器も限られ、必要となる全てのドライバをあらか

    第52回 Plamo Linuxの遊び方(その3) | gihyo.jp
    kknsd
    kknsd 2023/10/20
  • Debianはいかにして現在のDebianになったのか ―古参メンテナーが語る“Debian the way it is“ | gihyo.jp

    Linux Daily Topics Debianはいかにして現在のDebianになったのか ―古参メンテナーが語る“Debian the way it is“ 1993年にかのIan Murdockが最初の「Debian Manifesto」を起草してから30年が経過したDebianプロジェクトは、世界でも有数の巨大オープンソースプロジェクトでもある。そしてDebianにはほかのLinuxディストリビューションやオープンソースソフトウェアでは見かけない、一見“⁠奇妙⁠”なルールや慣習があるのも事実だ。なぜDebianはそんなスタイルを取っているのか ―そんな世間からの疑問に対し、Debianプロジェクトに1996年から参加する古参メンテナー Lars Wirzeniusが自身のブログでDebianがいまのDebianとなった理由を語っている。 Why is Debian the way

    Debianはいかにして現在のDebianになったのか ―古参メンテナーが語る“Debian the way it is“ | gihyo.jp
    kknsd
    kknsd 2023/10/18
  • 第767回 Debian 12 "Bookworm"の紹介 | gihyo.jp

    2023年6月10日に、Ubuntuの母であるDebianの新しい安定版Debian 12(コードネーム "Bookworm")がリリースされました。今回のUbuntu Weekly Recipeでは、このリリースされたばかりのDebian 12 "Bookworm"について紹介します。 UbuntuとDebianの関係 さて、「⁠Ubuntu Weekly RecipeなのにDebianの話なんですか?」という疑問を持たれた方もいるかと思いますので、まずはUbuntuとDebianの関係をごく簡単にまとめてみましょう。 Debian Projectは「誰もが自由に利用できるフリー[1]なオペレーティングシステムを作りたい」という目標のために連携したボランティア集団であり、OSとしてのDebianはこの成果としてリリースされています[2]。 Debian Projectは開発初期から今まで

    第767回 Debian 12 "Bookworm"の紹介 | gihyo.jp
    kknsd
    kknsd 2023/06/15
  • Red Hat、RHELからLibreOfficeパッケージを削除へ、今後はFlatpakで対応 | gihyo.jp

    Linux Daily Topics Red Hat、RHELからLibreOfficeパッケージを削除へ、今後はFlatpakで対応 Red HatのデスクトップチームマネージャのMatthias Classenは6月1日、Fedoraプロジェクトの開発者向けメーリングリストにおいて、Red Hatが近い将来、「⁠Red Hat Enterprise Linux(RHEL⁠)⁠」体でのLibreOfficeサポートを終了することを明らかにした。 LibreOffice packages -devel - Fedora Mailing-Lists Classenによれば、Red Hatのディスプレイシステムチームはこれまで数年間に渡り、RHEL上でLibreOfficeパッケージをサポートするために、アップストリームであるFedoraのLibreOfficeパッケージのメンテナンスに労力

    Red Hat、RHELからLibreOfficeパッケージを削除へ、今後はFlatpakで対応 | gihyo.jp
    kknsd
    kknsd 2023/06/12
  • 第762回 定番のデバッグ・調査ツールであるstraceでエラーインジェクション | gihyo.jp

    straceはユーザーランドアプリケーションの挙動の確認やデバッグに使える便利なツールです。どのシステムコールが、どのような引数で呼び出され、その結果どうなったのかをログとして残せます。不可解な挙動をするプログラムを調べる上で覚えておくと損はないツールです。今回はstraceの基的な使い方に加えて、わざとシステムコールをエラー終了させる、エラーインジェクションについても紹介しましょう。 不可解なプログラムについて この世にあるソフトウェアはすべて何らかの不具合を抱えています。もし不具合のないソフトウェアが存在するとしたら、その事実自体が不具合と言えるかもしれません。そのまま放置しておくと、きっと将来なにがしかの不具合が顕現することでしょう。よってソフトウェアエンジニアと呼ばれる人たちは、日々ソフトウェア様のご機嫌を伺い、こびりついた不具合を削ぎ落とし、場合によってはあえて不具合を埋め込み

    第762回 定番のデバッグ・調査ツールであるstraceでエラーインジェクション | gihyo.jp
    kknsd
    kknsd 2023/05/12
  • 速報!Java on Azure Day 2023――マイクロソフトが実現するJava開発者の開発効率化とイノベーション、AIの進化が拓く未来 | gihyo.jp

    速報!Java on Azure Day 2023――マイクロソフトが実現するJava開発者の開発効率化とイノベーション、AIの進化が拓く未来 日マイクロソフト株式会社は2023年4月26日、同社では3回目となるJava on Azureに関するイベント、Java on Azure Day 2023を開催しました。今回は、日マイクロソフト品川社でCOVID-19以降初となる対面イベントで、基調講演は満席で立ち見になるほどの大変な賑わいでした。 写真 開始10分前にはほぼ満席の状態だった 記事では、Java on Azure Day 2023の基調講演でマイクロソフトが発表した内容を速報としてまとめます。 基調講演は、マイクロソフト社所属のシニア・クラウド・アドボケイト、寺田佳央氏が担当。国内外のゲストを招き進行役を務め、自身もプレゼンとデモを行うスピーカーも担う、MC&スピーカー

    速報!Java on Azure Day 2023――マイクロソフトが実現するJava開発者の開発効率化とイノベーション、AIの進化が拓く未来 | gihyo.jp
    kknsd
    kknsd 2023/05/01
  • 入門 継続的プロファイリング 〜Kubernetesにおけるオブザーバビリティの最前線〜 | gihyo.jp

    こんにちは。サイバーエージェントの杉浦です。 連載「5分でわかる!Kubernetes/CloudNative Topics」の第6回は、オブザーバビリティに注目して、Kubernetesにおける継続的プロファイリングについて取り上げます。 オブザーバビリティとプロファイル 安定してサービスを提供するためには、デプロイしたアプリケーションの状態を継続的に観測し、不具合やその予兆を察知・対処していく必要があります。 アプリケーションの状態を観測する能力をオブザーバビリティ(Observability[1])といいます。このオブザーバビリティを確保するにあたってどのようなデータを用意すべきか、従来ではメトリクス・トレース・ログの3つを柱とすべきだとされていました。 それぞれメトリクスはCPU使用率やメモリ使用量といった時系列の数値データ、トレースは個々のアプリケーションを伝播する特定のリクエス

    入門 継続的プロファイリング 〜Kubernetesにおけるオブザーバビリティの最前線〜 | gihyo.jp
    kknsd
    kknsd 2023/04/03
  • ChatGPTのおさらいと、プログラミングに活用するための第一歩 | gihyo.jp

    大量の文章から学習することで、多言語を取り扱う能力だけでなく、高度な推論能力まで手に入れました。 GPT-3.5、とりわけその初期モデルのCodexはGitHubに存在する5400万の公開リポジトリから採取された159GBのPythonコードでGPT-3をfine-tuning(微調整)することで生まれました。ChatGPTがとりわけPythonが得意なのはここから来ています。 ChatGPTの学習データを考えることはその能力を発揮させるときに極めて有効です。質問時も以下のように、『⁠涼宮ハルヒの憂』というライトノベル作品について日語で聞いたときはSOS団の略称を間違えるなどしますが、英語ではほぼ期待通りの回答を見せます。 図1 『ハルヒの憂』について日語で聞いた場合の回答 図2 『ハルヒの憂』について英語で聞いた場合の回答 知ったかぶりをするChatGPT ところで、ChatG

    ChatGPTのおさらいと、プログラミングに活用するための第一歩 | gihyo.jp
    kknsd
    kknsd 2023/03/24
  • 第44回 linux-6.0とSPDX | gihyo.jp

    ここしばらく上半期末の事務処理やら稲刈りやらを口実に執筆をサボっているうち、linux-6.0がリリースされていました。最近のバージョン付けルールでは、4.19の次は5.0、5.19の次は6.0と、マイナーバージョンが20になるとメジャーバージョンが繰りあがるようになっているため、「⁠メジャーバージョンアップ」に以前のような感慨は無くなったものの、1991年に開発が始まって以来30有余年、うまずたゆまず開発を続けてきたLinusさんたちの努力には頭が下がります。 最近はあまりカーネルのソースコードを見ることがなかったので、6.0がリリースされた機会に、と久しぶりにあれこれと眺めてみたら、少し変わったことに気づきました。というのも、ほとんどのソースコードの先頭にこんな行が追加されているのです。 $ head linux-6.0/init/main.c // SPDX-License-Iden

    第44回 linux-6.0とSPDX | gihyo.jp
    kknsd
    kknsd 2022/11/30
  • 第1回 cURLの脆弱性 ~ヒープバッファオーバーフロー~ | gihyo.jp

    引数は6つありますが、ここで大事なのは、recvfrom関数ではソケットを通じてデータを受信する際に、第2引数で指定したバッファに対し、第3引数で指定したサイズでデータを受信して格納するということです。リスト1では、第2引数で指定しているバッファはstate->rpacket.dataで、第3引数で指定しているデータサイズはstate->blksize + 4です。 では、このバッファはいったいどこで確保されているのでしょうか? そして受信するデータサイズは、どのようにしてstate->blksizeに指定されているのでしょうか? オーバーフローするバッファ 解析した結果、同じくtftp.cの中のtftp_connect関数内で、このバッファが確保されていることがわかりました(リスト3⁠)⁠。具体的には、指定したバイト分のメモリを指定個分だけ確保するcalloc関数を利用してblksize

    第1回 cURLの脆弱性 ~ヒープバッファオーバーフロー~ | gihyo.jp
    kknsd
    kknsd 2022/11/15
  • Python 3.11から新たに仲間に加わったTOMLパーサー | gihyo.jp

    いずれの形式でも、簡単なデータを表す場合はそれほど違いがありません。同一のデータがそれぞれのフォーマットでどのように表現されるか、簡単な例を使用して見比べてみます。 TOMLでは以下のように簡潔に表現できます。 [app] app_name = "example" environment.NAME = "sandbox" environment.VERSION = "0.0.1" volumes = ["vol1", "vol2"] YAMLでは以下のようになります。このデータにおいてはシンプルで可読性も悪くありません。 しかし、YAMLはインデントを使用してデータ構造を表現することから、ネストが深くなってしまうことがあります。ネストが深くなると可読性が悪くなり、インデントがずれてパースエラーや意図しない階層構造で読み込まれてしまうことがあるので注意が必要です。 app: app_name

    Python 3.11から新たに仲間に加わったTOMLパーサー | gihyo.jp
    kknsd
    kknsd 2022/11/11
  • 入門Kueue 〜KubernetesのBatchワークロード最前線〜 | gihyo.jp

    こんにちは、CyberAgentの岩井佑樹(@tenzen-y)です。連載「5分でわかる!Kubernetes/CloudNative」の第3回では、Kubernetes上でのBatchワークロードの扱いに触れた後、Kubernetes NativeなJob Queueing基盤を実現するためのOSSである、Kueueについて紹介します。また記事で紹介するKueueは、記事執筆時点の最新バージョンであるv0.2.1です。 KubernetesとBatchワークロード Kubernetesではこれまで標準機能として、ロードバランシングやローリングアップデートなどのServiceワークロードのための機能や、Container Storage Interface(CSI)、Container Object Storage Interface(COSI)、Storage Capacity Tra

    入門Kueue 〜KubernetesのBatchワークロード最前線〜 | gihyo.jp
    kknsd
    kknsd 2022/11/08
  • MarkdownエディタObsidian v1.0.0がリリース | gihyo.jp

    2022年10月13日、MarkdownエディタObsidianのバージョン1.0.0がリリースされた。 ObsidianWindowsmacOSLinux、そしてモバイル環境(iOS / Android)でも動作するMarkdownエディタ。プラグインにより豊富な機能を実現している。長らくバージョン1未満のリリースが続いていたが、このほどバージョン1.0.0のリリースとなった。 v1.0.0では新たにタブの機能が装備され、複数のタブを切り替えて作業することが可能となった。また、タブ スタックにも対応し、複数のタブをまとめて管理できる。このほか、折り畳みコマンドの実装や、UIも変更されている。 Obsidianの利用は非営利であれば無料、営利目的での利用には商用ライセンスが必要となる。 Obsidian URL:https://obsidian.md/

    MarkdownエディタObsidian v1.0.0がリリース | gihyo.jp
    kknsd
    kknsd 2022/10/15
  • Python最新バージョン対応!より良い型ヒントの書き方 | gihyo.jp

    寺田 学です。9月の「Python Monthly Topics」は、Python 3.5で導入され、多くの場面で活用されている型ヒント(Type Hints)について、より良い型ヒントの書き方を紹介します。 Pythonの型ヒントとは Pythonは動的型付け言語です。型を指定せずに変数宣言できますし、関数の引数や戻り値に型を宣言する必要はありません。 Python 3.5(2015年9月リリース)で型ヒントの仕組みが入りました。型の指定が不要なPythonですが、型ヒントを付けることで、「⁠コードの可読性向上⁠」⁠、「⁠IDEコード補完の充実⁠」⁠、「⁠静的型チェックの実行」といった静的型付け言語のようなメリットを得ることができます。 Pythonの型ヒントは以下のように記述します。 name: str = "氏名" # 変数nameをstr型と宣言 def f(arg: int) -

    Python最新バージョン対応!より良い型ヒントの書き方 | gihyo.jp
    kknsd
    kknsd 2022/09/09
  • Java 19の注目新機能Virtual Threadについて ~TechFeed Conference 2022講演より | gihyo.jp

    TechFeed Conference 2022 Pick up Java 19の注目新機能Virtual Threadについて ~TechFeed Conference 2022講演より 記事は、2022年5月に開催されたTechFeed Conference 2022のセッション書き起こし記事「Java 19 の注目新機能 Virtual Thread について(てらだ よしお⁠)⁠ — TechFeed Conference 2022講演より」を転載したものです。オリジナルはTechFeedをご覧ください。 皆さん、こんにちは。Microsoftの寺田です。今日はJavaの最新動向についてご紹介していきたいと思います。どうぞよろしくお願いいたします。 まず最初にこちらをご覧ください。 2017年にJava 9をリリースして以降、Javaは半年に1度、アップデートするようになりました

    Java 19の注目新機能Virtual Threadについて ~TechFeed Conference 2022講演より | gihyo.jp
    kknsd
    kknsd 2022/08/26