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

  • Ubuntu Core 24の一般提供開始、Ubuntu 23.10のEOL | gihyo.jp

    Ubuntu Weekly Topics Ubuntu Core 24の一般提供開始⁠⁠、Ubuntu 23.10のEOL Ubuntu Core 24の一般提供開始 「通常の」Ubuntu 24.04 LTSに続いて、Ubuntu Core 24がリリースされました(リリースについてのblog記事の日語版)[1]。Ubuntu Coreは、Ubuntu(と、その中でも特にSnap)を中心にした、IoTやロボティクス、エッジデバイスや組み込みなどの環境に向けたOTA機能を備えた「開発からデプロイまでを同じ環境で行える」OSです。 「開発からデプロイまで同じ環境」というのは、開発環境としてUbuntu Desktopを、そしてターゲットデバイスにUbuntu Coreを利用することで、ワークステーションと組み込みデバイスで同じアプリケーションを走らせることができるという意味で、Ubuntu

    Ubuntu Core 24の一般提供開始、Ubuntu 23.10のEOL | gihyo.jp
    havanap
    havanap 2024/07/17
  • Redisがライセンスを変更、BSDライセンスからRSAL/SSPLデュアルライセンスに | gihyo.jp

    Redisがライセンスを変更⁠⁠、BSDライセンスからRSAL/SSPLデュアルライセンスに Redisは2024年3月20日、次のバージョン(Redis v7.4)以降、これまで採用してきたBSD 3条項ライセンスから、RSALv2(Redis Source Available License)もしくはSSPLv1(Server Side Public License)のいずれかを選択するデュアルライセンスに移行することを発表した。 Redis Adopts Dual Source-Available Licensing | Redis Today, we announced that all future versions of Redis will be released with source-available licenses. Starting with the releas

    Redisがライセンスを変更、BSDライセンスからRSAL/SSPLデュアルライセンスに | gihyo.jp
    havanap
    havanap 2024/03/22
    redisプロトコル互換のプロダクトが色々出てるので首絞めそうな気が先でも
  • コピーオンライトのBcachefs、Linux 6.7でマージへ | gihyo.jp

    10月29日にリリースされたLinux 6.6ではさまざまなアップデートが行われているが、プルリクエスト期間中に実装を検討されたもののの、メインラインのマージには至らなかった機能もある。そのひとつがコピーオンライト(Copy-on-Write)のファイルシステム「Bcachefs」だ。Google出身のKent Overstreetが2015年から開発を始めたこのファイルシステムは、長い議論の末、ようやく次のカーネルである「Linux 6.7」にマージされることが確実となった。 Merge tag 'bcachefs-2023-10-30' of https://evilpiepirate.org/git/bcachefs -Linux kernel source tree Bcachefsは「信頼性と堅牢性、そしてモダンなファイルシステムに期待される機能を完全に備えることに特化したLin

    コピーオンライトのBcachefs、Linux 6.7でマージへ | gihyo.jp
    havanap
    havanap 2024/01/15
  • すべてのフェーズでミスが重なった ―全銀ネットとNTTデータ、全銀システム通信障害の詳細を説明 | gihyo.jp

    すべてのフェーズでミスが重なった ―全銀ネットとNTTデータ⁠⁠、全銀システム通信障害の詳細を説明 全国銀行資金決済ネットワーク(以下、全銀ネット)とNTTデータは12月1日、2023年10月10日~11日にかけて全国銀行データ通信システム(以下、全銀システム)で発生した通信障害に関する報道関係者向けの説明会を開催しました。件についてはNTTデータが11月6日に行った途中経過報告の内容をもとにレポートしましたが、今回、全銀ネットとNTTデータが揃って会見を行ったことで、より詳細な障害の原因が判明したので、あらためてその内容を検証してみたいと思います。 説明会の登壇者。左から、全銀ネット 企画部長 千葉雄一氏、事務局長兼業務部長 小林健一氏、理事長 辻松雄氏、NTTデータ 代表取締役社長佐々木 裕氏、取締役副社長執行役員 鈴木正範氏 なお、全銀ネットとNTTデータは、今回の障害に関して金融

    すべてのフェーズでミスが重なった ―全銀ネットとNTTデータ、全銀システム通信障害の詳細を説明 | gihyo.jp
    havanap
    havanap 2023/12/06
  • Misskeyのパフォーマンス改善の取り組み⁠⁠・2023年11月 | gihyo.jp

    連載は分散型マイクロブログ用ソフトウェアMisskeyの開発に関する紹介と、関連するWeb技術について解説を行っています。 Misskeyでは、新機能の追加や改修・バグ修正はもちろんですが、運営者がより少ないコストでサーバーを維持できるよう、Misskeyのスケーラビリティ改善も継続して行っています。 今回はそういった最近のMisskeyのパフォーマンス改善の取り組みについて紹介します。 Fan-out Timeline Misskey v2023.10.0[1]では、以前より検討を重ねていた、タイムラインのアーキテクチャをPull型からPush型に変更する改修を行いました。 NoteMisskeyではこのPush型アーキテクチャ実装を「Misskey®︎ Fanout Timeline Technology™︎ (FTT)」と名付けています。お察しのように、Intel社の技術のネーミ

    Misskeyのパフォーマンス改善の取り組み⁠⁠・2023年11月 | gihyo.jp
    havanap
    havanap 2023/11/15
    redisを酷使している
  • 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
    havanap
    havanap 2023/07/19
  • 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
    havanap
    havanap 2023/07/14
  • 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
    havanap
    havanap 2023/06/28
  • 『WEB+DB PRESS』 休刊のお知らせ:WEB+DB PRESS

    WEB+DB PRESSは,2023年8月発売のVol.136をもって隔月刊誌としては休刊させていただきます。物価上昇による製作費の高騰など諸般の事情により,今回の決定に至った次第です。 突然の休刊案内にてたいへん恐縮ではございますが,何卒ご理解を賜りますよう,お願い申し上げます。 22年以上の長きにわたり,絶大なご支援をいただきましたことを,厚く御礼申し上げます。 弊誌で扱っていた分野のコンテンツは,今後も弊社刊行のSoftware Designやgihyo.jp,書籍などで提供させていただきます。また,必要な場合には「特別号」の編集・刊行なども検討してまいります。 最後に,皆様の一層のご活躍を心より祈念しております。

    『WEB+DB PRESS』 休刊のお知らせ:WEB+DB PRESS
    havanap
    havanap 2023/05/01
  • GoにはなぜXという機能がないのか? 〜テスト関数ごとの暗黙的な初期化処理の実現を考察する | gihyo.jp

    つきなみGo GoにはなぜXという機能がないのか? 〜テスト関数ごとの暗黙的な初期化処理の実現を考察する はじめに 筆者はGoだけではなく、Scalaなど他言語を扱った経験もあり、しばしばGoには他の言語にあるXという機能がなぜないのだろう?と考えることがあります。 たとえば、テスト関数ごとに暗黙的に呼ばれる初期化関数の定義があります。データベースに対するDrop・Create・Insertなどの処理をテストごとに実行したい場合に定義できると便利でしょう。同じ処理を都度書いているとテストケースが増えてきた時にメンテナンス性が下がってしまったり、初期化処理を追加し忘れてしまう恐れなどもあります。 しかし、Goにはこのようなテスト関数ごとに暗黙的に実行される初期化処理を定義できません。Goが他言語に劣っているようにもみえますが、当にそうなのでしょうか? 公式のFAQにもあるように、とある機能

    GoにはなぜXという機能がないのか? 〜テスト関数ごとの暗黙的な初期化処理の実現を考察する | gihyo.jp
    havanap
    havanap 2023/04/10
  • 第752回 RISC-VのシングルボードコンピューターであるVisionFive 2を使ってみる | gihyo.jp

    今回はStarFive Technology製のRISC-Vシングルボードコンピューター(SBC)であるVisionFive 2にDebianをインストールして、その性能を計測してみましょう。 RISC-VとVisionFive 2 RISC-V(りすく・ふぁいぶ)は今もっとも熱い命令セットアーキテクチャーです。2010年頃に生まれたRISC-Vは、オープンな規格という強みを活かしてどんどんエコシステムを構築し、今では様々な企業がRISC-V格的に手を出す状況になっています。AMD64/Intel 64やARMには性能も普及度合いもまだまだ及びませんが、今の勢いを維持できれば近い将来その状況は変わってくるでしょう。 連載でも2018年ぐらいから、RISC-Vの記事を何度か取り上げていました。 第505回:「オープン規格の新しい命令セットアーキテクチャRISC-V入門 ツールチェインを

    第752回 RISC-VのシングルボードコンピューターであるVisionFive 2を使ってみる | gihyo.jp
    havanap
    havanap 2023/03/02
  • Go言語プログラミングエッセンス

    このの概要 Go言語ユーザーとして,「もう一段レベルアップしたい」「開発に使いたい」と思っている方に向けた,Go言語の解説です。関数やパッケージの使い方,並行処理,テストといった基的なトピックにおいて,「こう書くと綺麗になる」「こう書くとパフォーマンスが上がる」といったエッセンスを紹介します。後半ではCLIアプリ/Webアプリの開発手順や,現場で使われている便利なパッケージなど,著者が業務やOSSの開発で培った技術をふんだんに紹介します。 こんな方におすすめ Go言語の入門を終え,さらに深く学びたい人 第1章 プログラミング言語Goとは 1.1 Goの簡単な歴史 1.2 Goの立ち位置 1.3 Goが利用される場面 標準でUTF-8をサポート マルチプラットフォーム 並行処理の扱いやすさ ストリーム指向 シングルバイナリ 1.4 教育用途としてのGo 1.5 なぜGoが使われるのか

    Go言語プログラミングエッセンス
    havanap
    havanap 2023/02/16
  • SPA化するMPAとMPA化するSPA ~TechFeed Experts Night#4 講演より | gihyo.jp

    記事は、2022年9月に開催された「TechFeed Experts Night#4 〜 フロントエンドアーキテクチャを語る」のセッション書き起こし記事「SPA化するMPAとMPA化するSPA(@yosuke_furukawa⁠)⁠ ― TechFeed Experts Night#4 フロントエンドアーキテクチャを語る」を転載したものです。オリジナルはTechFeedをご覧ください。 古川と申します。@yosuke_furukawaでTwitterなどをやっております。 SPAは”見えるようになるまでが遅い” 私が今回お話するのは「MPA化するSPA」です。もともとSPAは、画面遷移(トランジション)をアプリケーションに合わせて最適化することを目的として発展した技術だと思っています。変更が発生したところだけレンダリングすることで高速化するテクニックだったのが、それをすべてのページで行う

    SPA化するMPAとMPA化するSPA ~TechFeed Experts Night#4 講演より | gihyo.jp
    havanap
    havanap 2022/11/15
  • Goで書くテスタブルなCLIツールの作り方 | gihyo.jp

    CLIツールをテストする難しさ ターミナルなどで動作するCLI(コマンドラインインタフェース)ツールは、パッケージを公開して利用してもらうライブラリと比べてテストがしにくいと感じる読者も多いでしょう。 CLIツールは、ファイル/標準入力からの入力や、ファイル/標準出力/標準エラー出力への出力があることが多いです。また、コマンドライン引数やオプション(フラグ)によって変わる挙動のパターンが多いため、網羅的なテストが大変です。 入出力についても単一のファイルを読み書きするだけではなく、ディレクトリごと作成したり、特定のディレクトリ以下を再帰的に読み込むような処理もよくあります。 main関数にすべての処理をすべて書くような作りのCLIツールだと、実際にビルドしてテストスクリプトなどから動かしてテストするしかありません。しかし、せっかくCLIツールをGoで書いているのであれば、テストもGoで書き

    Goで書くテスタブルなCLIツールの作り方 | gihyo.jp
    havanap
    havanap 2022/11/15
  • 第723回 複雑なコマンドパイプラインを簡単に組み立てる方法 | gihyo.jp

    パイプライン処理とは GUIは非常に直感的です。はじめて使うアプリであっても、なんとなくそれなりに動かせてしまうという点で、優れたインターフェイスと言えます。しかし効率を突き詰めると、軍配が上がるのはGUIよりもCLIでしょう。連載の読者であれば、UnixライクなOSのCLIが持つパワーについては当然ご存知かと思います。 とはいえ、古典的なUnixコマンドの多くは、単体ではそれほど強力なものではありません。というのも、ひとつひとつのコマンドはシンプルに、特定の用途においてのみ上手く動作するよう設計されていることがほとんどだからです。こうしたコマンド群に無限のシナジーを与えるのが「パイプライン処理」です。標準入出力を通じて複数のコマンドを直列に繋げることで、複雑な処理をインスタントに組み立てることができるパイプラインは、まさにUnix哲学の体現であり、CLIの真髄はここにあると言ってもよい

    第723回 複雑なコマンドパイプラインを簡単に組み立てる方法 | gihyo.jp
    havanap
    havanap 2022/07/14
  • 第674回 カーネルのクラッシュ情報を解析する | gihyo.jp

    第673回の「カーネルのクラッシュ情報を取得する」では、カーネルクラッシュ時に情報を収集する仕組みを有効化しました。得られた情報は活用しないと意味がありません。今回はその中身を解析する方法を紹介します。 デバッグパッケージのインストール 第673回では、意図的にシステムをクラッシュさせることで、dmesgとvmcoreを取得しました。カーネルが今際の際に次につながる情報を残してくれたのです。「⁠しかしながらあのクラッシュが最後のpanicだとは思えない。もし、同じカーネルが続けて使われるとしたら、あのpanicの同類が、また世界のどこかへ現れてくるかもしれない……」 最初に行うべきなのは、前回紹介したように問題発生時のdmesgを読むことです。これである程度、状況の絞り込みは行えますし、運が良ければ原因がわかることもあります。しかしながら、dmesgだけだと「問題が起きた場所」はわかっても

    第674回 カーネルのクラッシュ情報を解析する | gihyo.jp
    havanap
    havanap 2021/07/14
  • 1