タグ

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

  • フリーローダーを歓迎する ―CIQ、Oracle、SUSEがRed Hat対抗の新団体「OpenELA」を設立 | gihyo.jp

    Linux Daily Topics フリーローダーを歓迎する ―CIQ⁠⁠、Oracle⁠⁠、SUSEがRed Hat対抗の新団体「OpenELA」を設立 CIQ(Rocky Linuxの開発元⁠)⁠、Oracle、SUSEは8月10日、「⁠Red Hat Enterprise Linux」と互換性のあるLinuxディストリビューションの開発を促進する団体「Open Enterprise Linux Association(OpenELA⁠)⁠」の設立を発表した。3社は今後、RHEL7/8/9と互換性のあるダウンストリームの開発にフォーカスし、コミュニティ参加者がOpenELAソースに継続的にアクセスできる環境を提供していくことを謳っている。 CIQ, Oracle and SUSE Create Open Enterprise Linux Association for a Colla

    フリーローダーを歓迎する ―CIQ、Oracle、SUSEがRed Hat対抗の新団体「OpenELA」を設立 | gihyo.jp
  • データ活用社会で活躍するための、非エンジニアのデータエンジニアリングスキル育成のヒント | gihyo.jp

    ※ちなみに①の状況で、データの統制にはdbtやLookerのLookMLなど、リソースの競合にはDWHのチューニングやシステム変更など、技術面の対応も重要な解決策になりますが、稿ではその側面は割愛します。 これらの①~③のあり方に共通するのは、データ分析基盤を構築するデータエンジニアと、基盤を利用する非エンジニアで連携が取れていないことです。そしてこの間を埋めるものとして、データエンジニアリングスキルがあると考えています。 より理解を深めるために、いくつか職種を取り上げて、それぞれがよく陥る問題と、スキルがあることでどういった取り組みができるかを整理してみます。 職種別にデータエンジニアリングスキルの価値を考える 例1)データアナリスト まずは、データエンジニアと最も近い関係で業務をすることの多い、データアナリストです。データエンジニアリングに関連してデータアナリストがしばしば抱える問題

    データ活用社会で活躍するための、非エンジニアのデータエンジニアリングスキル育成のヒント | gihyo.jp
  • 『Zenbleed』に対するUbuntuの対応 | gihyo.jp

    『Zenbleed』に対するUbuntuの対応 Zen2シリーズ(=Ryzenプロセッサーの一部)に影響する、『Zenbleed』と呼ばれる脆弱性(CVE-2023-20593)が公開されました。AMDからも脆弱性情報が提供されています。 影響があるのはZen 2アーキテクチャを採用したCPUファミリーです[1]。 今回見つかったものは、Spectreのときのようなサイドチャネル攻撃(つまり「新しいタイプの攻撃手法によって見つかった新しい脆弱性⁠」⁠)ではなく、純粋なCPUのバグです。サイドチャネル攻撃の場合は「このような操作をすると、CPU上で扱っているデータを推定することができました。たとえば処理にかかる時間の差とか」というものだったのですが、今回のものは「こういう操作をすると、なんだかCPUがおかしな挙動をしていることがわかりました、直前まで扱っていたデータを復元可能です」というもの

    『Zenbleed』に対するUbuntuの対応 | gihyo.jp
  • Tailwind CSS実践入門 第2章 Tailwind CSSの基本 ──開発環境へのインストール、設定ファイルの記述、エディタの設定 | gihyo.jp

    Tailwind CSS実践入門 ~まず作ってから、あとで共通化する Tailwind CSS実践入門 第2章 Tailwind CSSの基 ─⁠─開発環境へのインストール⁠⁠、設定ファイルの記述⁠⁠、エディタの設定 章では、開発環境にTailwindをインストールする方法に加えて、設定ファイルの記述方法や、エディタの設定などについて説明します。執筆時点でのTailwindの最新バージョンである、3.2.4の使用を前提にします。 Tailwind CSSのインストール Tailwindは、さまざまな開発環境にインストールして使用できます。Tailwindに関連するアプローチとして、CSS in JSやCSS Modulesなどのツールもありますが、これらを使用できるのは一部のSPA(Single Page Application)などの環境だけに限られます。しかしTailwindであれ

    Tailwind CSS実践入門 第2章 Tailwind CSSの基本 ──開発環境へのインストール、設定ファイルの記述、エディタの設定 | gihyo.jp
  • Tailwind CSS実践入門 第1章 ユーティリティファーストとは何か ──従来の課題を解決する大胆なアプローチ | gihyo.jp

    Tailwind CSS実践入門 ~まず作ってから、あとで共通化する Tailwind CSS実践入門 第1章 ユーティリティファーストとは何か ─⁠─従来の課題を解決する大胆なアプローチ CSSフレームワークのTailwind CSSが注目を集めています。その特徴は、flex、pt-4、text-centerといったユーティリティクラスの組み合わせだけで、ほとんどすべてのスタイリングをしてしまおうという大胆なアプローチです。これまでのベストプラクティスと真っ向から対立するようなやり方ですが、だからこそ享受できるいくつもの強みがあります。特集では、そうしたTailwind CSSの考え方や、具体的な使い方について紹介します。 お知らせ:特集のサンプルコードは、GitHubの筆者リポジトリからダウンロードできます。https://github.com/yuheiy/wdpress133_

    Tailwind CSS実践入門 第1章 ユーティリティファーストとは何か ──従来の課題を解決する大胆なアプローチ | gihyo.jp
  • Misskeyのパフォーマンス改善の取り組み・2023年7月 | gihyo.jp

    連載は分散型マイクロブログ用ソフトウェアMisskeyの開発に関する紹介と、関連するWeb技術について解説を行っています。 ここ最近でMisskeyのユーザー数がさらに急激に増えています。そのため、運営者がより少ないコストでサーバーを維持できるよう、Misskeyのスケーラビリティ改善を急いでいます。 今回は、そういった最近のMisskeyのパフォーマンス改善の取り組みについて、検討中のものも含めて紹介したいと思います。 misskey.ioの登録ユーザー数の推移 Identicon生成の無効化オプション Identiconはユーザーが自身のアイコンを設定していないときに代わりに表示されるアイコンで、これはユーザーごとに異なるようになっています。 仕組みとしては、https://misskey.example.com/identicon/hogeにリクエストされた際に、hoge部分をシー

    Misskeyのパフォーマンス改善の取り組み・2023年7月 | gihyo.jp
  • ChatGPT APIのFunction callingを使って、請求書の構造化データを抽出する | gihyo.jp

    いまからわかる!ChatGPT活用プログラミング ChatGPT APIのFunction callingを使って⁠⁠、請求書の構造化データを抽出する 先月、OpenAIからFunction calling(関数呼び出し)機能がリリースされました。これが何なのか、何のために使うべきなのか、ちょっと見ただけでは分かりづらいと思います。 今回は請求書から情報抽出をするというよくありがちなケースを題材に、Function callingの利便性を示してみます。 Function callingとは OpenAI2023年6月13日にリリースしたChat APIの追加機能です。主にできることとして以下の3つが挙げられています。 外部ツールを呼び出して質問に答えるチャットボットを作成する 自然言語を内部APIの呼び出しやSQLに変換する テキストから構造化データを抽出する たとえば天気予報と血液型

    ChatGPT APIのFunction callingを使って、請求書の構造化データを抽出する | gihyo.jp
  • AI時代のWebブラウザから考えるWebアクセシビリティの本質 ――Vivaldiのアプローチから | gihyo.jp

    2023年5月、Vivaldiの日先行でのiOS版プレビューリリース発表のためヨンが来日したことをきっかけに、インターネットの将来やアクセシビリティについて語る対談の機会が設けられました。 Vivaldiブラウザの創業者ヨン・フォン・テッツナーは、'90年代から長きにわたりWebブラウザ開発に携わってきた、ブラウザ業界のキーパーソンの一人です。彼のブラウザ開発のコアには、ユーザ一人ひとりのニーズに合わせた非常に柔軟なカスタマイズ性や、プライバシー保護があります。また、一部ビックテック企業によるユーザ行動の監視から逃れ、インターネットの安全性を高めるためのオープン標準規格やルール作りなどに貢献する活動も行っています。 聞き手は、ミツエーリンクス社でWeb標準技術の策定やアクセシビリティの啓発に携わってきた木達一仁氏です。 左から木達氏、ヨン、冨田 2023年のホットトピックから~生成系AI

    AI時代のWebブラウザから考えるWebアクセシビリティの本質 ――Vivaldiのアプローチから | gihyo.jp
  • PythonとRustの融合:PyO3/maturinを使ったPythonバインディングの作成入門 | gihyo.jp

    Cargo.tomlにはデフォルトのメタデータとPyO3の依存関係(バージョン)などが記載されています。また、pyproject.tomlにはビルドツールとしてmaturinが使用されることなどがあらかじめ定義されています。 注目すべきはRustスクリプトを記述するsrc/lib.rsファイルです。以下のようなscaffold(足場)が最初から記載されています。 src/lib.rsにデフォルトで記載されているscaffold 1 use pyo3::prelude::*; 2 3 /// Formats the sum of two numbers as string. 4 #[pyfunction] 5 fn sum_as_string(a: usize, b: usize) -> PyResult<String> { 6 Ok((a + b).to_string()) 7 } 8 9

    PythonとRustの融合:PyO3/maturinを使ったPythonバインディングの作成入門 | gihyo.jp
  • 1秒動画のつくり方 ― 「家族アルバム みてね」における動画エンコードパイプラインとその最適化事例 | gihyo.jp

    なお上記の「大量配信」とは、「⁠1~3月分の四季版を4月15日から配信開始し、1週間で全家族に配信完了する」などのように、「⁠新しい期間の1秒動画をはじめて配信してから、その時点で条件を満たす全家族への配信が完了するまで」の期間を指します。1秒動画の生成・配信の大部分はこの大量配信期間に行っていることから、これを「大量配信」と呼んでいます。 生成⁠・配信の流れ 1秒動画の生成・配信は、図1のとおり(1)対象家族抽出、(2)素材選択、(3)動画エンコード、(4)配信、の4段階で実現しています。以下ではその詳細を説明します。 図1 1秒動画の生成・配信の流れ (1)対象家族抽出 1秒動画の生成・配信処理は、基的にはバッチ処理として毎日実行しています。そのはじめに行うのは、「⁠その日、どの家族に、どのバージョン・どの期間の1秒動画を生成・配信するか」を取り出す対象家族抽出です。この処理は四季版

    1秒動画のつくり方 ― 「家族アルバム みてね」における動画エンコードパイプラインとその最適化事例 | gihyo.jp
  • 生成系AIがもたらす開発ワークフローの変化 | gihyo.jp

    セキュリティの脆弱性を常に把握しておきたくても、SQLインジェクションのリストは増え続けています。CodeQLなど、MLモデルを使用するコーディングツールは、既知のインジェクションを検出するだけでなく、そのインジェクションに類似した初めて見るパターンもデータから検出するようトレーニングされています。これにより、確認された脆弱性の認識率を高め、新たな脆弱性を予測できるようになります。 生成系AIコーディングツールは、MLを活用して新たな答えを生成し、コードシーケンスを予測します。GitHub Copilotなどのツールは、IDEから切り替えてボイラープレートコードを調べる回数を減らし、コーディングソリューションのブレインストーミングを支援します。生成系AIは、開発者の役割を暗記型の記述から戦略的な意思決定へとシフトさせ、より高度かつ抽象的なレベルでコードを検討できるよう支援します。そのため、

    生成系AIがもたらす開発ワークフローの変化 | gihyo.jp
  • Linux 6.4がリリース、Apple M2シリコンをイニシャルサポート | gihyo.jp

    Linux Daily Topics Linux 6.4がリリース⁠、Apple M2シリコンをイニシャルサポート Linus Torvaldsは2023年6月25日(米国時間⁠)⁠、「⁠Linux 6.4」の正式リリースを発表した。開発期間は約2ヵ月、通常のスケジュール通りに7のリリース候補(RC)版を経ての公開となる。 Linux 6.4 -Linus Torvalds Linux 6.4ではAsahi Linuxプロジェクトの貢献により、Apple M2シリコンを搭載したMacBook Air、MacBook Pro、Mac miniが新たにサポートされた。ただし、現状ではM2 Mac miniのディスプレイ出力に問題があるなどいくつかの不具合が生じており、Linux 6.5以降での改善が予定されている。 Rustのサポートも強化されており、ピン留めされたデータの安全な初期化を実現

    Linux 6.4がリリース、Apple M2シリコンをイニシャルサポート | gihyo.jp
  • 第6回 自動テストのサイズダウン戦略 ~テストダブルを作る前に考えるべきこと~ | gihyo.jp

    このコラムの主なテーマは、信頼できる実行結果にできるだけ短い時間でたどり着く自動テスト群の構築です。稿では、テストダブルをうまく活用してテストピラミッドを構築する戦略を立てます。 信頼性の高い自動テスト群を求めて 自動テスト全体の中長期的な信頼性を守るために、図1のようにLargeからMediumへ、MediumからSmallへテストサイズを適宜下げ、テストピラミッドを構築します[1]。テストサイズとは、単一プロセスに閉じたテストをSmall、単一マシンに閉じたテストをMedium、そういった制約がないテストをLargeテストと呼ぶ分類基準です。 図1 テストピラミッド サイズダウンを考えるとき、テストダブルの活用が思い浮かびます。テストダブルとは、自動テストに使用する偽物、代用品のことです。単一プロセスや単一マシンに収まらない外部依存を偽物に置き換え、テストサイズを下げます[2]。 テ

    第6回 自動テストのサイズダウン戦略 ~テストダブルを作る前に考えるべきこと~ | gihyo.jp
  • Maxime Chevalier-Boisvertさん「Optimizing YJIT’s Performance, from Inception to Production」 ~RubyKaigi 2023 2日目キーノート | gihyo.jp

    RubyKaigi 2023 キーノートレポート Maxime Chevalier-Boisvertさん「Optimizing YJIT’s Performance, from Inception to Production」 ~RubyKaigi 2023 2日目キーノート 最近のRubyインタプリタの進化において非常に重要なトピックの一つが、JITコンパイラの登場です。特にShopifyのJITコンパイラチームを中心に開発されたYJITは、世の中で広く使われているRailsアプリケーションを有意に高速化できるJITコンパイラとして、既にproduction-readyであると評価されており、各所で採用が進んでいます。 RubyKaigi 2023 2日目のMaxime Chevalier-Boisvertさんによるキーノートでは、開発チームがYJITを開発するにあたってどういったアプロ

    Maxime Chevalier-Boisvertさん「Optimizing YJIT’s Performance, from Inception to Production」 ~RubyKaigi 2023 2日目キーノート | gihyo.jp
  • まつもとゆきひろさん「30 Years of Ruby」 〜RubyKaigi 2023 1日目キーノート | gihyo.jp

    2023年5月11日から13日まで、長野県松市でRubyKaigi 2023が開催されました。今回のRubyKaigiは「松に始まり松に終わる」かたちで、Rubyの作者であるまつもとゆきひろさんの基調講演からスタートしました。タイトルは「30 Years of Ruby」です。 今年はRubyの開発を始めてから30年の節目ということで、今回の講演では、これまでの開発で得た様々な教訓を、いくつかの時代ごとに区分して紹介くださいました。 1993年2月24日⁠:Rubyの誕生 Rubyの名前が決まったのがこの日です。この時点ではRubyのコードは1行もなかったそうですが、公開された日ではなく、名前が決まった日が誕生日とされています。ソフトウェアは物理的実体を持たない概念であり、名前によってその存在が決まるのだから、名前が決まった日を持ってRubyという概念が誕生したとみなしているそうです

    まつもとゆきひろさん「30 Years of Ruby」 〜RubyKaigi 2023 1日目キーノート | gihyo.jp
  • メモリプロファイラ「Memray」の解説 | gihyo.jp

    Memray公式サイトのキャプチャ インストール方法は以下のとおりです。 $ pip install memray Memrayの基的な使い方 Memrayがインストールされていると、memrayコマンドが使えるようになります。 プロファイリング対象のスクリプトをmemrayから実行すると、スクリプトを実行した同じフォルダに実行時のプロファイリング結果がバイナリ形式でファイルに保存されます。 プロファイルの実行 サンプルのPythonスクリプトとしてsample.pyを準備します。以下のコードでは、状態表示をわかりやすくするために1秒間の待ちを入れています。実行内容は、リスト内包表記で要素数が約1億個のリストを生成しています。 sample.py - リスト内包表記でリストを作る import time time.sleep(1) # 状態表示をわかりやすくするために1秒待つ resul

    メモリプロファイラ「Memray」の解説 | gihyo.jp
  • Ubuntuにおける2038年問題との戦い・暗号化設定の調整、SmartNICとUbuntu | gihyo.jp

    Ubuntu Weekly Topics Ubuntuにおける2038年問題との戦い⁠・暗号化設定の調整⁠、SmartNICとUbuntu Ubuntuにおける2038年問題との戦い・暗号化設定の調整 Foundation Teamの開発レポートを見ると、いくつか興味深い作業を読み取ることができます。まず注目するべきはarmhf time_tという見出しのついた作業を、複数のエンジニアが進めている点です。これは内容からして「2038年問題への対応(32bit Arm⁠)⁠」であろうことがわかります。この文脈で2038年問題について知っておくべきこととしては次の通りです。 伝統的なUnix環境では、システム時刻はepoch time(1970年1月1日午前0時0分0秒)からの経過秒数で保持している。この系において、整数オーバーフローによる巻き戻りが発生すると、「⁠時刻が突然1970年に巻き戻

    Ubuntuにおける2038年問題との戦い・暗号化設定の調整、SmartNICとUbuntu | gihyo.jp
  • 第765回 高度なことが簡単にできる多機能バックアップツール、Restic[前編] | gihyo.jp

    今回はGo言語で書かれた、オープンソースでマルチプラットフォームなバックアップツールであるResticを紹介します。前後編に分かれており、今回はインストールとバックアップ方法2種類を解説します。 Resticとは 第653回で紹介したDéjà DupはDuplicityというバックアップツールのフロントエンドです。しかしバージョン43.0以降はバックエンドをResticへ変更できるようになっています。 図1 Déjà Dupの実験的機能。なおこのタブは表示されない場合もある Duplicityは高性能ではあるもののコマンドラインオプションが複雑で使用するのは難しく、Duplyというコマンドラインのフロントエンドまであるくらいです。 ではこのResticはどうなのかと思って調査したところ、後発(とはいえ最初のリリースは8年前)だからか洗練されており、かつGo言語で書かれているのでメンテナンス

    第765回 高度なことが簡単にできる多機能バックアップツール、Restic[前編] | gihyo.jp
  • 第766回 高度なことが簡単にできる多機能バックアップツール、Restic[後編] | gihyo.jp

    今回は前回に続いてResticを紹介します。必ず前回を先に読んでください。 Rclone経由でWebDAVサーバーにバックアップ Rcloneは第725回で紹介した、さまざまなクラウドストレージサービスに接続するフロントエンドです。ResticはRcloneをバックエンドにする機能があるため、Rcloneが対応しているクラウドストレージサービスであればResticのバックアップ先となります。 Rcloneが対応しているクラウドストレージサービスのリストを見てみると、対応していないサービス[1]はもう諦めてもいいかと思えるほどの充実ぶりです。 第725回と重複しますが、試しにTeraCLOUDあらためInfiniCLOUDに接続してみましょう。無料で20GBまで使えるので、練習には充分な容量ですし、気に入ればそのまま契約するといいでしょう。 RcloneもGo言語で書かれており、オープンソー

    第766回 高度なことが簡単にできる多機能バックアップツール、Restic[後編] | gihyo.jp
  • Microsoft、オリジナルディストリビューション「Azure Linux」の一般提供を開始 | gihyo.jp

    Linux Daily Topics Microsoft、オリジナルディストリビューション「Azure Linux」の一般提供を開始 Microsoftは5月23日(米国時間⁠)⁠、開発者向けの年次カンファレンス「Microsoft Build 2023」において、Azure上のコンテナワークロードに最適化されたLinuxディストリビューション「Azure Linux」の一般提供(GA)開始を発表した。Hyper-VをベースにしたAzureクラウドおよびエッジ環境にデプロイし、複数のコンテナを実行するように設計されており、「⁠Azure Kubernetes Service(AKS⁠)⁠」のコンテナホストとして利用される。 Introducing the Azure Linux container host for AKS - Azure Infrastructure Blog Azure

    Microsoft、オリジナルディストリビューション「Azure Linux」の一般提供を開始 | gihyo.jp