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

  • Rustで学ぶWebAssembly――入門からコンポーネントモデルによる開発まで

    2024年10月10日紙版発売 清水智公 著 B5変形判/256ページ 定価3,300円(体3,000円+税10%) ISBN 978-4-297-14413-5 Gihyo Direct Amazon 楽天ブックス 丸善ジュンク堂書店 ヨドバシ.com 電子版 Amazon Kindle honto このの概要 Webブラウザー上でプログラムを高速に実行するための技術として開発されたWebAssemblyWasm)ですが,近年では「特定のプログラミング言語・アーキテクチャに依存しない」「プログラムをサンドボックス内で安全に実行できる」という強みに注目が集まっています。さらに,新たに導入される予定の「コンポーネントモデル」によって,大規模なプロジェクトでもWebAssemblyを利用しやすくなる環境が整いつつあります。書では,プログラミング言語としてRustを採用し,以下の3つの観

    Rustで学ぶWebAssembly――入門からコンポーネントモデルによる開発まで
    ttsurumi
    ttsurumi 2024/09/21
  • [Software Design連動企画] 実践クエリチューニング | gihyo.jp

    この記事は、『Software Design 2024年6月号』(2024年5月17日発売)の第1特集「SQLチューニングする前に知っておきたい 実行計画&インデックスのしくみ」の連動企画です。ぜひ誌特集1もお読みください。 適切なインデックスを設計する インデックスの調整によるクエリの高速化は、RDBMSを使用する際の数あるチューニングテクニックの中でも最もお手軽なものです。テーブルのカラムの定義を変えるわけではないので、クエリの結果に違いが生じず、アプリケーションを変更する必要性がないからです。適切なインデックスを付与するだけでチューニングが済むというのは極めて効率的です。それでは適切なインデックスとはどのようなものでしょうか。記事では、まずインデックスを設計する際に重要なポイントを解説します。 インデックスとSQL構文 「どのカラムの組み合わせに対してインデックスを作成すべきか」

    [Software Design連動企画] 実践クエリチューニング | gihyo.jp
    ttsurumi
    ttsurumi 2024/05/18
  • SSL/TLS実践入門 ──Webの安全性を支える暗号化技術の設計思想

    2024年4月25日紙版発売 2024年4月25日電子版発売 市原創,板倉広明 著 A5判/456ページ 定価3,740円(体3,400円+税10%) ISBN 978-4-297-14178-3 Gihyo Direct Amazon 楽天ブックス 丸善ジュンク堂書店 ヨドバシ.com 電子版 Gihyo Digital Publishing Amazon Kindle ブックライブ 楽天kobo honto 書のサポートページサンプルファイルのダウンロードや正誤表など このの概要 SSL/TLSは,通信の秘密を守るために利用されている通信プロトコルです。HTTPSやHTTP/3にも利用されており,今日のWebでは利用が一般的になっています。書では,その最新バージョンであるTLS 1.3のしくみと,その使い方を解説します。SSL/TLSは公開されている実装例などを真似すれば基

    SSL/TLS実践入門 ──Webの安全性を支える暗号化技術の設計思想
    ttsurumi
    ttsurumi 2024/04/17
  • Pop!_OS搭載のデスクトップ環境「COSMIC」、まもなく開発版をリリースへ | gihyo.jp

    Linux Daily Topics Pop!_OS搭載のデスクトップ環境「COSMIC」⁠⁠、まもなく開発版をリリースへ Ubuntu派生ディストリビューションの中でもインストールのしやすさや対応ハードウェアの多さ、カスタマイズ性の高さなどで人気が高い「Pop!_OS」は、「⁠LinuxデスクトップにおけるmacOSのような存在」と評価されることも多い。そのデスクトップエクスペリエンスの根幹となっているのが、GNOMEをカスタマイズした独自のデスクトップ環境「COSMIC(Computer Operating System Main Interface Components⁠)⁠」だ。 現在、このCOSMICをRustで書き直し、まったく新しいデスクトップ環境「COSMIC DE」としてローンチする計画が、開発元のSystem76によって進められている。同社は2月14日付けで「Closi

    Pop!_OS搭載のデスクトップ環境「COSMIC」、まもなく開発版をリリースへ | gihyo.jp
    ttsurumi
    ttsurumi 2024/02/20
  • 実践IPFS入門

    菊池将和(きくちまさかず) 外資系証券会社で金融商品開発責任者を経て,ハーバード大学でソフトウェア・エンジニアリングの修士号を取得。ブロックチェーンエンジニアとしてSecuritize Japanに参画後,2020年のハッカソンでEthereum Foundation,Protocol Labsから賞を受賞したことをきっかけにConsenSys主催のアクセラレータに採択される。現在はWeb3メンターやETHGlobalハッカソンの審査員を務める一方,スイスを拠点にSecured Finance AGを立ち上げ,DeFi(分散型金融)・デジタル資産領域における革命的なFixed Income市場の整備を先導。設立半年で$4Mを調達。内閣府Trusted Web推進協議会のタスクフォース委員も務める。 第1章 IPFSについて 1.1 IPFSの概要 1.1.1 IPFSの概念と定義 1.1.

    実践IPFS入門
    ttsurumi
    ttsurumi 2023/10/25
  • 第2章 詳解QUIC ~ TCPに代わり下位層で使用する新しいトランスポートプロトコル | gihyo.jp

    章では、HTTP/3がTCPに代わって下位層で用いるQUICについて解説します。 QUICはトランスポートプロトコル QUICはトランスポートプロトコルです。QUICの説明に入る前に、トランスポートプロトコルついておさらいします。 TCP/IPの4階層モデル プロトコルは階層で役割を分担しています。TCP/IPの4階層モデルでは、アプリケーション層、トランスポート層、インターネット層、ネットワークインタフェース層に分かれます(図1⁠)⁠。 図1 TCP/IPの4階層モデル アプリケーション層に分類されるアプリケーションプロトコルは、クライアントやサーバで動作するアプリケーションの動作に関するデータやメッセージの通信ルールを規定します。たとえばSMTP(Simple Mail Transfer Protocol)は、メールを送信する通信ルールを規定しています。HTTPはこの層に属します。

    第2章 詳解QUIC ~ TCPに代わり下位層で使用する新しいトランスポートプロトコル | gihyo.jp
    ttsurumi
    ttsurumi 2023/08/19
  • 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
    ttsurumi
    ttsurumi 2023/07/25
  • 第153回 mysqlpumpを使ってバックアップを取ってみる | gihyo.jp

    皆さんはMySQLからデータを論理バックアップする際にどんなコマンドを使っているでしょうか? 5.7より前のバージョンを利用していた場合は、第15回 mysqldumpを使ってバックアップするや第62回 MySQLのクライアントプログラムいろいろ[その2]で紹介したmysqldumpを使用していることが多いのではないかなとは思います。 今回は、MySQL 5.7.8から導入されたmysqlpump(誤字じゃないです)について紹介してきます。 検証環境 今回は、第125回 phpMyAdminでDockerで建てたMySQLにアクセスするで記載したdocker-composeを利用して作成します。手元で簡単に試せるように、GitHubのわたしのレポジトリにサンプルコードとして置いてあるので、気軽に試したい方はgit cloneして試してみてください。試すにはdockerdocker-com

    第153回 mysqlpumpを使ってバックアップを取ってみる | gihyo.jp
    ttsurumi
    ttsurumi 2023/03/26
  • 第694回 libbpfとclangでポータブルなBPF CO-REバイナリ作成 | gihyo.jp

    第688回と第690回では、カーネルのトレーシングツールとして注目されているeBPFを活用するためのツールとしてBCCを紹介しました。 また第692回ではBCC以外のeBPFを活用したツールの利用方法も紹介しています。 今回は一般的なコンパイラのようにバイナリを生成でき、移植性が高く、そして近い将来eBPFを使うための流のひとつとなりそうなBPF CO-REについて紹介しましょう。 BPF CO-REの登場 BPF CO-RE(Compile Once - Run Everywhere)については第692回でも軽く紹介しました。改めてまとめると、次のような機能を実現する仕組みです。 BPFを利用したバイナリを実行環境とは異なる環境でビルドできる カーネルバージョン間の違いもある程度は吸収してくれる 実行バイナリのサイズはそれなりに小さくなる コンテナ内部などターゲットと異なるカーネルが動

    第694回 libbpfとclangでポータブルなBPF CO-REバイナリ作成 | gihyo.jp
  • 第750回 LXDとUbuntuサーバーで、RAID障害時の再構築の予行演習と監視について確認する | gihyo.jp

    Ubuntu Weekly Recipe 第750回LXDとUbuntuサーバーで、RAID障害時の再構築の予行演習と監視について確認する 今回はmdraidを使ったソフトウェアRAID環境における「再構築(リビルド)」を試してみましょう。RAIDにおける再構築とは、簡単に言うと「ストレージ障害の回復作業中にもう一台を壊す、もしくは実は壊れていたことに気づく」仕組みです。きちんと運用されていたら、壊れることになくシステムが回復する可能性は高いのですが、実際のところは作業者のKarma値ないしLuck値次第となります。1%の確率で起きる事象を100%ひいてしまう人が世の中にはいるのです。 そこで今回は少しでも再構築作業がスムーズに進むように、その予行演習を行いましょう。今回もLXDで構築した仮想RAID環境を利用します。LXDを用いてソフトウェアRAID環境を構築する方法は、次の回を参考にし

    第750回 LXDとUbuntuサーバーで、RAID障害時の再構築の予行演習と監視について確認する | gihyo.jp
    ttsurumi
    ttsurumi 2023/02/17
  • 第690回 BCCでeBPFのコードを書いてみる | gihyo.jp

    第688回の「eBPFのコンパイラーに対応したツールでさまざまな挙動を可視化する」ではBPF Compiler Collectionに付属の各種サンプルツールの使い方を紹介しました。今回はコンパイラーを活用して、自分でeBPF用コードを書くための基礎を学んでみましょう。 BCCのインストールとドキュメント 第688回も紹介したように、カーネル3.15で追加されその後拡充を続けている「eBPF」は任意の外部プログラムをカーネルの中で、より安全に実行できる仕組みです。カーネルモジュールを作る代わりに、独自のバイトコードをコンパイラーで生成し、それをカーネル内部にロード・実行することになります。これを使えばシステムコールの先のカーネルの状態を、プログラマブルに解析可能になります。 eBPF自体はカーネルの仕組みであり、ユーザーランドから使うためには、eBPF用のバイトコードにコンパイルする必要が

    第690回 BCCでeBPFのコードを書いてみる | gihyo.jp
  • 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
    ttsurumi
    ttsurumi 2022/09/09
  • 第723回 複雑なコマンドパイプラインを簡単に組み立てる方法 | gihyo.jp

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

    第723回 複雑なコマンドパイプラインを簡単に組み立てる方法 | gihyo.jp
    ttsurumi
    ttsurumi 2022/07/14
  • 本書について ―改訂にあたって:[増補改訂]ビッグデータを支える技術 ――ラップトップ1台で学ぶデータ基盤のしくみ

    『⁠[⁠増補改訂]ビッグデータを支える技術 ――ラップトップ1台で学ぶデータ基盤のしくみ』より転載 書は『ビッグデータを支える技術』の増補改訂版です。 「ビッグデータ」(⁠big data)という言葉が広く用いられるようになって数年が経ち,以前であれば簡単には手を出せないと思われた大規模なデータ処理も,少し勉強すれば誰にでも扱えるものになってきました。筆者が前著『Googleを支える技術』(⁠技術評論社,2008)の執筆にあたり「MapReduce」について学んでいた当時,それはどこか遠くの世界のように感じられたものですが,今ではもうありふれた技術になったのですから時代は変わったものです。 コンピュータの性能向上に伴い,ますます多くの物事がシステム化され,効率良く運用される時代になってきています。身近なところでは,たとえば「スマホで買い物をして,翌日には届けてもらえる」というとき,その背

    本書について ―改訂にあたって:[増補改訂]ビッグデータを支える技術 ――ラップトップ1台で学ぶデータ基盤のしくみ
    ttsurumi
    ttsurumi 2021/10/16
  • 第555回 いま、あらためてudev | gihyo.jp

    皆さん、ホットプラグってますか!? も杓子もUSB端子なこのご時世、いろんなデバイスをPCに繋いだり取り外したりしていることと思います。そこで今回はデバイスの自動認識やデバイス名の設定など、システムの裏方として大活躍しているudevの基を紹介します。 動的デバイス管理ツールudev udevとはsystemdの別名です。 すみません、言い過ぎました。Ubuntuで使われているudevは、systemdの一部として提供されるデバイスの認識に関わるデーモンでありツールです。もともとは独立したソフトウェアでしたが、2012年にsystemdと同じソースツリーから提供されるようになりました。ただしデーモンプロセスとしてはsystemd(PID=1)から独立しています[1]⁠。 udevは具体的には次のような流れでデバイスを認識し、設定された作業を行います。 カーネルが追加・削除されたデバイスを

    第555回 いま、あらためてudev | gihyo.jp
    ttsurumi
    ttsurumi 2019/02/12
  • Docker/Kubernetes 実践コンテナ開発入門

    2018年8月25日紙版発売 2018年8月25日電子版発売 山田明憲 著 B5変形判/424ページ 定価3,718円(体3,380円+税10%) ISBN 978-4-297-10033-9 ただいま弊社在庫はございません。 →書の新版が発行されています。 書のサポートページサンプルファイルのダウンロードや正誤表など このの概要 話題のコンテナ技術Docker/Kubernetesの基礎から実際にアプリケーションを作るまでを解説した入門書です。Docker/Kubernetesを実際の現場で活用している著者が最新情報や実践スキルをわかりやすく解説します。ローカル環境での検証はもちろん,Google Kubernetes EngineへのデプロイやAWS Fargateの活用などクラウドでの実践にも触れています。Docker/Kubernetesをきちんと番で使うための王道的な

    Docker/Kubernetes 実践コンテナ開発入門
    ttsurumi
    ttsurumi 2018/08/09
  • 第459回 LXDを使ってDockerコンテナをマイグレーション | gihyo.jp

    第458回ではUbuntuにおけるDockerのインストール方法を紹介しました。ところでDockerと同じコンテナ技術を利用したソフトウェアとして「LXD」が存在します。このLXDとDockerは排他的な存在ではなく、用途にあわせて組み合わせて使うと便利なツールです。そこで今回はLXDで作った仮想環境上でDockerコンテナを動かす方法を紹介します。 LXDの上でDockerを使う Dockerと同様にカーネルのコンテナ技術を利用したソフトウェアのひとつにLXDが存在します。Dockerがひとつのコンテナでひとつのアプリケーションを動かす「アプリケーションコンテナ」としての利用をメインに据えているのに対して、LXDは軽量な仮想マシンのように使える「システムコンテナ」としての使い方を提案していることがもっとも大きな違いです[1]⁠。 両者の具体的な違いを見ていきましょう。ちなみに個々の環境や

    第459回 LXDを使ってDockerコンテナをマイグレーション | gihyo.jp
    ttsurumi
    ttsurumi 2017/02/22
  • PHPプログラムで制御する3Dプリンタ入門 記事一覧 | gihyo.jp

    運営元のロゴ Copyright © 2007-2024 All Rights Reserved by Gijutsu-Hyoron Co., Ltd. ページ内容の全部あるいは一部を無断で利用することを禁止します⁠。個別にライセンスが設定されている記事等はそのライセンスに従います。

    PHPプログラムで制御する3Dプリンタ入門 記事一覧 | gihyo.jp
    ttsurumi
    ttsurumi 2017/02/21
  • PHPの生みの親、ラスマス・ラードフ氏インタビュー | gihyo.jp

    PHPの生みの親⁠⁠、ラスマス⁠⁠・ラードフ氏インタビュー 2015年12月に無事公開されたPHP7。その公開に先立ってPHPの生みの親であるラスマス・ラードフ氏に話を伺う機会がありました。英語で行われた一時間のインタビューは長大ですがラスマス氏の思想がよく分かる話題が多く、可能な限りそのままの形でお伝えすべく、その模様すべてをお届けします。 なお、インタビューは10月に開催されたPHPカンファレンス2015の講演終了後に行われ、リリースに関する話題などはその時点でのものです。 現在の仕事と生い立ち ―――― まずは、PHPを作ってくださってありがとうございます。今日の基調講演もすばらしかったです。 ラスマス:ありがとうございます。 ―――― いきなりですが、個人的な質問から始めてもいいでしょうか。 ラスマス:どうぞ。 ―――― Etsyではどのようなお仕事をなさっているんですか? ラスマ

    PHPの生みの親、ラスマス・ラードフ氏インタビュー | gihyo.jp
    ttsurumi
    ttsurumi 2015/12/16
  • 正規表現技術入門 ――最新エンジン実装と理論的背景

    このの概要 最先端の正規表現技術にスポットを当てた,初学者向け技術解説書。プログラマにとって欠かせないツールである正規表現。便利な正規表現の実力を発揮させるには,動作原理から理解するのが近道です。 書では,パターンマッチの基から,基三演算および理論/数学的背景,VM型/DFA型という二大最新エンジン実装まで徹底解説。また,処理系を踏まえた効率的な書き方や落とし穴を避ける技法もしっかり押さえます。狙いどおりのパターンを綴り,高速に文字列を取得したい,そんなエンジニアの方々へ,長く役立つ技術知識を満載してお届けします。 こんな方におすすめ 正規表現をもっと便利に使いこなしたいプログラマの方々 正規表現とは何かを知りたい方 執筆担当一覧

    正規表現技術入門 ――最新エンジン実装と理論的背景
    ttsurumi
    ttsurumi 2015/03/25