タグ

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

  • Bluesky、AT Protocol開発助成金を発表――招待制廃止、連合機能の実装に続き、オープンな開発エコシステムによる成長がさらに加速 | gihyo.jp

    Bluesky⁠⁠、AT Protocol開発助成金を発表 ――招待制廃止⁠⁠、連合機能の実装に続き⁠⁠、オープンな開発エコシステムによる成長がさらに加速 2024年3月6日、分散型SNSBluesky」は、同サービスの根幹となるオープンプロトコル「AT Protocol」の一層の開発拡大・促進を目指すために、AT Protocol開発を対象とした助成金を発表した。 開発促進のエコシステムとしての助成金 Blueskyは、2023年1月にiOS/Android版アプリとしてリリースされた分散型SNSの1つ。元々、Twitter共同創業者の1人であるJack Dorsey氏らが集まって始まったプロジェクトで、リリース当初は招待制のSNSとして、熱量の高いユーザを中心に限定した中でサービスが動いていた。 その後、後述のように招待性が廃止、さらにBlueskyの注目機能の1つである連合機能の実

    Bluesky、AT Protocol開発助成金を発表――招待制廃止、連合機能の実装に続き、オープンな開発エコシステムによる成長がさらに加速 | gihyo.jp
    snaka72
    snaka72 2024/03/11
  • M:Nスレッドによる軽量な並行処理への挑戦 | gihyo.jp

    STORES株式会社でRubyインタプリタ開発をしている笹田です。お正月に新年早々おでんを腐らせてしまったので、今年は作ったらさっさとべることを目標にしたいと思います。 この記事では、主に私が開発している、Ruby 3.3で導入されたM:Nスレッドについて紹介します。 M:Nスレッドはスレッドの性能向上のために導入されました。M個(大きな数)のRubyスレッドをN個(十分小さい数)のネイティブスレッドだけで実行するというモデルで、スレッド管理のオーバヘッドを抑えられる方法として知られており、ほかにもGo言語などで利用されています。今後、大量のネットワーク接続を処理するといったことをRubyで記述することを検討したい場面が出てくるしれません。そのようなときにRubyでスイスイとプログラムが書ければいいなと思っており、その一貫です。最終的には、Ractorを用いた軽量な並列・並行アプリケーシ

    M:Nスレッドによる軽量な並行処理への挑戦 | gihyo.jp
  • LINEの「あけおめLINE」過負荷対策(2) ― 「発生可能性の低減」におけるボトルネックの設計 | gihyo.jp

    第1回では過負荷対策におけるリスクマネジメントの全体像、そして「発生可能性の低減」に関する全般的な説明をしました。今回はその「発生可能性の低減」のなかでもボトルネックの設計について、私たちが実際に行なっている方法をご紹介します。 少ないエンジニアリソースで複数のサービスのボトルネックを解析し、キャパシティプランニングを行うのは非常に難しいことです。そのため、私たちはボトルネックを解析する代わりに、ボトルネックを設計することにしました。具体的には、ほぼすべてのAPIサーバーにおいて、CPUリソースが最初に枯渇するようにチューニングしています。これにより、サーバーのキャパシティプランニングではCPUリソースの枯渇具合のみを気にすればよくなります。今回はこの具体的な手順をご紹介します。 そもそも、アクセス過多時のボトルネックを設計するためのもっとも単純で効果的な方法は、実際にストレステストを行い

    LINEの「あけおめLINE」過負荷対策(2) ― 「発生可能性の低減」におけるボトルネックの設計 | gihyo.jp
  • HHKBにポインティングスティック、ジェスチャーパッドがついたHHKB Studioが登場 | gihyo.jp

    HHKBにポインティングスティック⁠⁠、ジェスチャーパッドがついたHHKB Studioが登場 (⁠株⁠)PFUは2023年10月25日、同社が開発/販売するキーボードHappy Hacking Keyboard(HHKB)シリーズの新製品として、ポインティングスティックとジェスチャーパッドを搭載した「HHKB Studio」を発売した。価格は4万4,000円(税込)で、同社の通販サイトPFUダイレクトにて販売される。 「HHKB Studio」は、エンジニアなどに根強い人気をもつHHKBのキー配列をそのまま継承し、キースイッチには押下圧45gリニアタイプの静音メカニカルスイッチを採用、ポインティングスティックとジェスチャーパッドの機能を搭載した。ホームポジションから手を離すことなく、画面スクロールやウィンドウ切り替えといった直感的操作が可能となる。また、ソフトウェアショートカットをさまざ

    HHKBにポインティングスティック、ジェスチャーパッドがついたHHKB Studioが登場 | gihyo.jp
    snaka72
    snaka72 2023/10/25
  • 真のオープンソースとなるIaCツールを ―Linux Foundation、Terraformフォークの「OpenTofu」をローンチ | gihyo.jp

    Linux Daily Topics 真のオープンソースとなるIaCツールを ―Linux Foundation⁠⁠、Terraformフォークの「OpenTofu」をローンチ Linux Foundationは9月20日(スペイン時間⁠)⁠、スペイン・ビルバオで開催中の「Open Source Summit Europe」において「OpenTofu」プロジェクトのローンチを発表した。OpenTofuはInfrastructure as Code(IaC)ツールとしてデファクトスタンダート的な存在の「Terraform」からフォークしたオープンソースプロダクト「OpenTF」をLinux Foundaitonが傘下に収めるかたちでローンチしたプロジェクトで、ローンチと同時にCloud Nativve Computing Foundationへの参加も申請している。 Linux Founda

    真のオープンソースとなるIaCツールを ―Linux Foundation、Terraformフォークの「OpenTofu」をローンチ | gihyo.jp
    snaka72
    snaka72 2023/09/24
  • 『WEB+DB PRESS』 休刊のお知らせ:WEB+DB PRESS

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

    『WEB+DB PRESS』 休刊のお知らせ:WEB+DB PRESS
    snaka72
    snaka72 2023/05/01
  • 第52回 Linuxカーネルのコンテナ機能 ― cgroupを使ったI/O制限 | gihyo.jp

    第37回で説明した通り、cgroup v1には様々な問題点が指摘されており、その問題を解決すべくcgroup v2が実装されました。 cgroup v1では、各コントローラがバラバラに実装されており、コントローラ間の連携が取れませんでした。これが原因で、リソースを制限するにあたって一番表面化していた問題が、ディスクI/Oに対して制限をかける際の問題でした。cgroup v1ではblkioコントローラでI/Oに対する制限をかけられましたが、限定的な制限しかかけられませんでした。 LinuxでのI/O コントローラ間で連携ができないため、blkioコントローラを使ったI/O制限が限定的になってしまう理由を説明するために、Linuxでディスクへファイル入出力する際の仕組みを簡単に説明しておきましょう。もう少し詳しい仕組みが知りたい方は『[試して理解]Linuxのしくみ』など、関連する書籍や文書を

    第52回 Linuxカーネルのコンテナ機能 ― cgroupを使ったI/O制限 | gihyo.jp
    snaka72
    snaka72 2023/03/31
  • 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言語プログラミングエッセンス
    snaka72
    snaka72 2023/02/16
  • Figma上でUIデザインを考えてくれるAIデザインコンパニオン「Genius」発表 | gihyo.jp

    デザインツールなどを開発しているDiagramは2月10日,Figma上でUIのデザインをユーザと共同で作成できるAIベースのデザインコンパニオンGeniusのプレビューを公開した。 Genius by Diagram URL:https://www.genius.design/ 🔅 Introducing Genius, your AI design companion in @figma It understands what you’re designing and makes suggestions that autocomplete your design using components from your design system. Genius is coming soon. Join the waitlist → https://t.co/ldAdWySptX pic

    Figma上でUIデザインを考えてくれるAIデザインコンパニオン「Genius」発表 | gihyo.jp
    snaka72
    snaka72 2023/02/15
  • Node.jsの2022年を振り返り、Node.jsの未来を見つめてみた ~TechFeed Experts Night#8講演より | gihyo.jp

    TechFeed Experts Night Pick up Node.jsの2022年を振り返り、Node.jsの未来を見つめてみた ~TechFeed Experts Night#8講演より 記事は、2022年11月に開催された「TechFeed Experts Night#8 ~ JavaScriptランタイム戦争最前線」のセッション書き起こし記事「Node.jsの2022年を振り返り、Node.jsの未来を見つめてみた by @shisama_」を転載したものです。オリジナルはTechFeedをご覧ください。 「Node.jsの2022年と未来」というタイトルで話します。よろしくお願いします。サイボウズでフロントエンドエンジニアをやっているshisamaです。 今日はNode.jsの18と19の主な変更点を紹介したいと思います。その後は、現在実装中の機能から、いくつかおもしろそう

    Node.jsの2022年を振り返り、Node.jsの未来を見つめてみた ~TechFeed Experts Night#8講演より | gihyo.jp
    snaka72
    snaka72 2023/01/28
  • Goで書くテスタブルなCLIツールの作り方 | gihyo.jp

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

    Goで書くテスタブルなCLIツールの作り方 | gihyo.jp
    snaka72
    snaka72 2022/11/15
  • Ubuntu搭載自動運転車の可能性、「プリンタを印刷するための」WSLUbuntu | gihyo.jp

    Ubuntu搭載自動運転車の可能性 CanonicalのProject ManagerであるEdoardo Barbieriが、Discourseに興味深い投稿を行っています。タイトルは「Volvo SUV on NVIDIA DRIVE Orin」(⁠NVIDIA Drive OrinベースのボルボのSUV)というもので、NVIDIA自身が提供するblog記事へのリンクとともに提供されています。 どこにも明示的な記載はないものの、「⁠UbuntuのIoTやautomotiveに関する話題を扱う場所」にこの投稿が行われていること、そして少なくともNVIDIA DRIVEファミリー(だけでなく、関連する環境の多く)のベースはUbuntuベースで構成されていることから、「⁠車載Ubuntu」という方向性である可能性を読み取ることができそうです。 もしかすると将来的な自動運転車にはUbuntuが

    Ubuntu搭載自動運転車の可能性、「プリンタを印刷するための」WSLUbuntu | gihyo.jp
    snaka72
    snaka72 2022/11/12
    タイトルを読んで、WSL使ってプリンターを3Dプリントする話と思った人👋
  • アジャイル開発者の習慣―acts_as_agile:第4回 ドキュメントを大切にする|gihyo.jp … 技術評論社

    ソースがドキュメントだ。バグも完全に記述されている。 ――まつもとゆきひろ[1] はじめに 連載ではアジャイル開発を「アジャイルに開発する人たち(アジャイル開発者)が開発するからアジャイル開発」と考え、アジャイル開発者に必要なスキルを磨くための習慣を紹介しています。 これまでの3回を費して紹介した「フィードバックを重視する」「⁠仕組みを育てる」「⁠スケール間に連続性を築く」といった習慣は、チームによるシステム開発の現場でアジャイルにプログラムを書くことを重視したものでした。 しかし、これでは開発対象となるシステムを構成する2つの要素のうち主に1つしか説明していません。2つの要素とは、プログラムとドキュメントです。今回は、これまであまり触れてこなかった、2つの要素のうちの1つであるドキュメントに関する習慣を紹介します。 そのためにまず、アジャイル開発者にとってのドキュメントの位置づけを説明

    アジャイル開発者の習慣―acts_as_agile:第4回 ドキュメントを大切にする|gihyo.jp … 技術評論社
    snaka72
    snaka72 2022/10/21
  • 軽量RustフレームワークTauriでデスクトップアプリ開発をはじめよう | gihyo.jp

    TauriはRustで書かれた軽量なGUIフレームワークで、WindowsmacOSLinux向けのデスクトップアプリを開発できます。2022年6月に最初の安定版であるバージョン1.0がリリースされました。 Tauriでは、メインプロセスはRustで記述しますが、UI(User Interface)にはWeb技術を利用します。ReactVue.jsのようなJavaScriptフレームワークがそのまま使えるので、インタラクティブで見栄えの良いUIを簡単に構築できます。同種のフレームワークにElectronがありますが、後発であるTauriにはインストーラのサイズを小さくできるなどの強みがあります。 Tauriのロゴは、おうし座の二重星であるシータタウリ(θ Tauri)をモチーフ[1]にしており、Webとネイティブアプリの相互作用を意味しています。 図1 Tauriロゴ 稿では、Ta

    軽量RustフレームワークTauriでデスクトップアプリ開発をはじめよう | gihyo.jp
    snaka72
    snaka72 2022/10/20
  • パスワードのない世界に向けて ~TechFeed Conference 2022講演より | gihyo.jp

    記事は、2022年5月に開催されたTechFeed Conference 2022のセッション書き起こし記事「パスワードのない世界に向けて(えーじ⁠)⁠ — TechFeed Conference 2022講演より」を転載したものです。オリジナルはTechFeedをご覧ください。 皆さんこんにちは。えーじです。今日は「パスワードのない世界に向けて」というお話をしたいと思います。 パスワードだけでは守りきれない世の中に 皆さんご存知のように、今多くのWebサイトはパスワードを使ったログインが主流です。 しかし、どんなに堅牢なシステムでも、ユーザーさんが弱いパスワードを作ってしまったり、同じパスワードを複数サイトで使い回してしまったり、フィッシングに引っかかってしまえばアカウントは乗っ取られてしまいます。 近年フィッシングが急増していることからもわかるように、パスワードだけのシステムでは守り

    パスワードのない世界に向けて ~TechFeed Conference 2022講演より | gihyo.jp
    snaka72
    snaka72 2022/09/30
  • コンテナビルド最新事情 2022版 ~TechFeed Conference 2022講演より | gihyo.jp

    記事は、2022年5月に開催されたTechFeed Conference 2022のセッション書き起こし記事「コンテナビルド最新事情 2022版(inductor⁠)⁠ — TechFeed Conference 2022講演より」を転載したものです。オリジナルはTechFeedをご覧ください。 それではこれから、私@_inductor_が「コンテナビルド最新事情」ということでお話をしていきます。 今日は主に4つの話をしていきます。ちょっと駆け足になってしまいますが、コンテナビルド高速化に向けた4つの機能およびポイントについてお話しします。 今回お話すること Dockerfileの新しい記法 まず最初に、Dockerfileに新しい記法がいくつか増えています。それを実装しているのは BuildKitと呼ばれるDocker発のオープンソースのソフトウェアがベースになっていて、Dockerf

    コンテナビルド最新事情 2022版 ~TechFeed Conference 2022講演より | gihyo.jp
    snaka72
    snaka72 2022/09/28
  • 第6回 中国が世界の大規模OSSプロジェクトを主導する | gihyo.jp

    2021年にApache Software Foundationにインキュベートされた5プロジェクトはすべて中国発 OSSであってもプロプラエタリであっても、「⁠継続して更新され、価値を生み出し続ける」ソフトウェアに価値があります。 これまでレポートしてきたとおり、SaaS時代になり、OSSをコアにしてサービスを提供し、開発コミュニティの大きさを投資家にアピールして資金調達に成功するユニコーン企業が米中で出てきています。中国のファンドYunqi Capitalが「OSSビジネス化4.0」と呼ぶ時代に、中国はApache Foundation、Linux Foundationなど、OSSを支えるFoundationへの貢献を増やしています。 Linux Foundationから派生したCNCF(Croud Native Conputing Foundation)には26件の中国発OSSプロジ

    第6回 中国が世界の大規模OSSプロジェクトを主導する | gihyo.jp
    snaka72
    snaka72 2022/07/28
  • 第5章 HTTP/3の拡張と応用 ~ 機能を追加し、より効率的に、より便利に | gihyo.jp

    章では、HTTP/3に機能の追加や変更を行う拡張についてと、HTTP/3を利用した応用プロトコルについて解説します。 HTTP/3の拡張 ─⁠─ 機能の追加や変更を行う HTTP/3は拡張性を有しており、拡張仕様として機能の追加や既存の動作の変更を行えます。節では、拡張とはどういったものなのかと、拡張事例を説明します。 ただし、HTTP/3自体の標準化が終わっていないため、HTTP/3の拡張事例はまだ目立ったものがありません。そのため事例としてはHTTP/2とQUICの拡張を紹介します。HTTP/2やQUICも、HTTP/3と同様に拡張性を有しています。 拡張可能な箇所 HTTP/3では、次の項目が拡張可能です。 フレームタイプ SETTINGSパラメータ エラーコード 単方向ストリームタイプ これによりたとえば、新しいフレームのタイプを定義できます。新しいフレームを定義するにあたって

    第5章 HTTP/3の拡張と応用 ~ 機能を追加し、より効率的に、より便利に | gihyo.jp
    snaka72
    snaka72 2022/07/17
  • 第4章 実践HTTP/3 ~ 実装を触り、通信を観測し、理解を深める | gihyo.jp

    プロトコルやクライアントとサーバの動作を理解するには、実際に動かすことが大事です。そこで章では、実際にHTTP/3に触ってみます。ブラウザやCurl、Wiresharkなどを使ってHTTP/3通信を確認する方法と、nginxを使ってHTTP/3サーバを構築する方法を紹介します。 なお、章で紹介する以外にも、さまざまなQUICやHTTP/3の実装が公開されています。「⁠QUIC Implementations」に一覧がまとまっています。 Chromeによる確認 Chrome、Firefox、Safariでは、特別な設定をせずともHTTP/3通信が行われます。節では、Chromeの最新版(執筆時点では91.0.4472.77)を用いてHTTP/3通信を確認します。 ChromeのデベロッパーツールのNetworkペインでは、そのタブで行われた通信を確認できます。このペインを開いた状態でh

    第4章 実践HTTP/3 ~ 実装を触り、通信を観測し、理解を深める | gihyo.jp
    snaka72
    snaka72 2022/07/17
  • 第3章 詳解HTTP/3 ~ いかにしてQUICを活用し、いかにして高速化を実現したか | gihyo.jp

    動的テーブル ─⁠─ 変わる辞書データ 動的テーブルは、1つの通信中に更新されていくテーブルです。静的テーブルにないフィールドを個々にエントリとして追加していきます。動的テーブルのエントリは追加と削除のみが行え、既存のエントリが更新されることはありません。動的テーブルはHTTP/3通信ごとに管理されます。通信が違えば状態は異なりますし、通信が切断されれば状態は失われます。 動的テーブルの更新手順 項では、動的テーブルがどのように更新されるかを解説します。 動的テーブルは、RequestストリームでやりとりするHEADERSフレームを送信する側と受信する側で状態が一致している必要があります。HEADERSフレームで参照するエントリがずれると、フィールドを正しく解釈できません。HPACKではHEADERSフレームの中で動的テーブルを更新しますが、QPACKではHEADERSフレームとは独立し

    第3章 詳解HTTP/3 ~ いかにしてQUICを活用し、いかにして高速化を実現したか | gihyo.jp
    snaka72
    snaka72 2022/07/17