タグ

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

  • [Software Design連動企画] 実践クエリチューニング | gihyo.jp

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

    [Software Design連動企画] 実践クエリチューニング | gihyo.jp
    ishiduca
    ishiduca 2024/05/17
  • systemdの思想と機能 ―Linuxを支えるシステム管理のためのソフトウェアスイート

    2023年12月21日紙版発売 森若和雄 著 B5変形判/216ページ 定価3,080円(体2,800円+税10%) ISBN 978-4-297-13893-6 Gihyo Direct Amazon 楽天ブックス honto ヨドバシ.com 電子版 Amazon Kindle このの概要 systemd(システムディー)はLinuxの基的な構成要素を提供するソフトウェア群です。システムやサービスの管理機能を中心として,ハードウェアの管理,ログの管理などを行う多数の独立したソフトウェアからなっています。 Linuxでシステム管理を行うときにはsystemdの知識が必要になります。systemdに関するオンラインマニュアルなどは充実しているものの,systemdがどんな機能を提供しているかを知らなければ「どのドキュメントを読めばいいのか」「何を探すべきなのか」の見当がつかないでしょ

    systemdの思想と機能 ―Linuxを支えるシステム管理のためのソフトウェアスイート
    ishiduca
    ishiduca 2024/04/25
  • 2024年のWebアクセシビリティ | gihyo.jp

    あけましておめでとうございます。株式会社ミツエーリンクスの中村直樹です。昨年と同じく、2023年のWebアクセシビリティに関連する出来事を振り返りつつ、2024年のWebアクセシビリティの展望について俯瞰していきたいと思います。 WCAG 2.2の勧告とWCAG 2.1の更新 長らく待ちわびていたWCAG 2.2について、2023年10月5日付けでようやくW3C勧告(Recommendation)となりました(日語訳はまだありません。詳細は後述の「臨時WGの活動状況」を参照⁠)⁠。また、これと連動する形でWCAG 2.1(日語訳)の勧告も改めて発行されました。 今回のWCAG 2.1の更新では、達成基準4.1.1構文解析に注記が設けられています。これにより、WCAG 2.2で削除された達成基準4.1.1の扱いについて連続性が保たれるようになっています。WCAG 2.1からの変更点は、公

    2024年のWebアクセシビリティ | gihyo.jp
    ishiduca
    ishiduca 2024/01/10
  • 2023年Misskey開発まとめ | gihyo.jp

    連載では分散型マイクロブログ用ソフトウェアMisskeyの開発に関する紹介と、関連するWeb技術について解説を行っています。 今回は2023年のMisskeyの開発についての振り返りとまとめを行いたいと思います。 Note:全体的な視点での2023年のMisskeyをまとめた記事は、Misskey Advent Calendar 2023のほうに「Misskey 2023 recap」と題して投稿しています。興味のある方はそちらをご覧ください(一部内容が重複しますがご容赦ください⁠)⁠。 2023年のMisskey開発 今年も残りわずかとなりました。Misskeyは2014年ごろから開発を始めたので、来年で10年目突入ということになります。ここまで開発を続けられているのは皆様のサポートのおかげです。当にありがとうございます。 ロードマップに対しての進捗 Misskeyでは簡単なロードマ

    2023年Misskey開発まとめ | gihyo.jp
    ishiduca
    ishiduca 2023/12/12
  • 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
    ishiduca
    ishiduca 2023/07/19
  • ネクストブレイク分散型SNSの大本命、Blueskyを先取り! | gihyo.jp

    今、分散型SNSへの注目が高まっています。4月に入り、日での盛り上がりの兆しを見せ、ネクストブレイクの大命と見られているのがBlueskyです。記事では、Bluesky登場の背景から分散型SNSの特徴、そして、今後について紹介します。 招待コード無限祭りで注目を集めたBluesky 先日、2023年4月5日にBlueskyの「招待コード無限祭り」がありました。 Blueskyとは、次世代のTwitterになるのでは、と目されている大命の分散型SNSのこと。 この分散型SNSに参加するには、2023年4月10日現在、招待コードが必要となります。 Blueskyリリース以降、招待コードはサーバ管理者のみ発行可能でした。しかし、先日のアップデートによって、Blueskyにアカウントを持つユーザは、回数限定(最大5回)で招待コードを発行できるようになったのです。 話はここで終わりません。今

    ネクストブレイク分散型SNSの大本命、Blueskyを先取り! | gihyo.jp
  • 第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
    ishiduca
    ishiduca 2022/07/17
  • 第1章 進化するHTTPの歩み ~ HTTP/1.1とHTTP/2をおさらいし、HTTP/3の基本を知る | gihyo.jp

    HTTP/3入門 第1章進化するHTTPの歩み ~ HTTP/1.1とHTTP/2をおさらいし⁠⁠、HTTP/3の基を知る この特集記事は2021年6月24日に発売されたWEB+DB PRESS Vol.123に掲載された特集1「HTTP/3入門」を再掲したものです。 先日2022年6月にHTTP/3を含むHTTP関連の仕様が正式なRFCとなりました。ここではRFCの正式リリースに伴い、いち早く変更点を抑え、囲みボックスを用いた加筆解説でわかりやすくお伝えしております。 特集のはじめに HTTP(Hypertext Transfer Protocol)の最新版であるHTTP/3が登場しました。HTTP/3では、より安全で速い通信が行えます。特集では、今までのHTTPにあった課題と、HTTP/3で課題をどのように解決し、改善が行われたかを解説します。 章では、HTTPそのものと各バージ

    第1章 進化するHTTPの歩み ~ HTTP/1.1とHTTP/2をおさらいし、HTTP/3の基本を知る | gihyo.jp
    ishiduca
    ishiduca 2022/07/12
  • 2018年2月第3週号 1位は、ウェブデザインのためにやるべきこと、やってはいけないこと、気になるネタは、Twitter、初の黒字--第4四半期は予想上回る | gihyo.jp

    週刊Webテク通信 2018年2月第3週号1位は、ウェブデザインのためにやるべきこと、やってはいけないこと、気になるネタは、Twitter、初の黒字--第4四半期は予想上回る ネットで見かけたWebテク(Webテクニック・Webテクノロジー)記事から、Webデザイナーの目で厳選したネタを週刊で紹介するこのコーナー。今回は、2018年2月5日~2018年2月11日の間に見つけた記事のベスト5です。 1. The 12 Do’s and Don’ts of Web Design | Adobe Bloghttps://theblog.adobe.com/12-dos-donts-web-design-2/ ウェブデザインのためにやるべきこと、やってはいけないことを、それぞれ12個挙げています。 以下は、やってはいけない、として紹介されている12個です。 読み込み時に待たせない 内部リンクを新し

    2018年2月第3週号 1位は、ウェブデザインのためにやるべきこと、やってはいけないこと、気になるネタは、Twitter、初の黒字--第4四半期は予想上回る | gihyo.jp
    ishiduca
    ishiduca 2018/02/16
  • 第38回 Perlで作るシステム運用ツール(1) | gihyo.jp

    連載では第一線のPerlハッカーが回替わりで執筆していきます。今回のハッカーはNiigata.pmの代表をしている丸山晋平さんで、テーマは「Perlで作るシステム運用ツール」です。 稿のサンプルコードは、WEB+DB PRESS Vol.92のサポートサイトから入手できます。 なぜPerlは運用に適しているのか 近年、Webアプリケーションの複雑化に伴い、主にLL(Lightweight Language)を使っていたいわゆる「Web系」の開発でも、JavaScalaなどの「重量級」の言語でアプリケーション開発を行うケースが増えているように感じます。LLを使用しているところでも、Ruby on Railsの台頭からかRubyで開発しているケースが多く、PerlでWebアプリケーションを開発しているところは「珍しい」という感想を抱かれることが多いのではないでしょうか。実際、筆者の勤務先

    第38回 Perlで作るシステム運用ツール(1) | gihyo.jp
    ishiduca
    ishiduca 2016/08/17
  • 2016年5月第2週号 1位は、UXデザインの背後にある心理学、気になるネタは、Twitter、有料化の予定は「ない」 繰り返すデマに「おやめください」 | gihyo.jp

    週刊Webテク通信 2016年5月第2週号1位は、UXデザインの背後にある心理学、気になるネタは、Twitter、有料化の予定は「ない」 繰り返すデマに「おやめください」 ネットで見かけたWebテク(Webテクニック・Webテクノロジー)記事から、Webデザイナーの目で厳選したネタを週刊で紹介するこのコーナー。今回は、2016年4月25日〜5月8日の間に見つけた記事のベスト5です。 1. Reading minds: the psychology behind UX design | Webdesigner Depothttp://www.webdesignerdepot.com/2016/05/reading-minds-the-psychology-behind-ux-design/ UXデザインの背後にある心理学を解説した記事です。 社会的な裏付けとして、ユーザーレビューや「これをチ

    2016年5月第2週号 1位は、UXデザインの背後にある心理学、気になるネタは、Twitter、有料化の予定は「ない」 繰り返すデマに「おやめください」 | gihyo.jp
    ishiduca
    ishiduca 2016/05/12
    "Twitterが有料化されたら絶対使わないとTwitter上でツイートしている人の無邪気さは,アーティストに「ファンです,いつもYouTubeで聴いてます」と言う人の無邪気さと同質だなと思い..."
  • 第406回 Node.js製のGitBookでお手軽に電子書籍作成 | gihyo.jp

    GitBookはMarkdownで記述しGitで管理しているドキュメントを、簡単にHTMLPDF、EPUB、MOBIなどで公開できるサービスです。今回はこのGitBookで使われているgitbookコマンドを用いて、Ubuntu上でドキュメントを生成する方法を紹介します。 今風な文書執筆・公開環境としてのGitBook 人類の進化は文書の作成と共にあります。より良い文書の存在が、質の高い教育、確実な情報の伝達、技術文化の進歩を導いてきました。連載が掲載されているgihyo.jpでも、今年の新春特別企画に「ドキュメントの構造化による、良いドキュメントの作成方法」が掲載され注目を集めているように、いかにより良い文書をよりお手軽に作成できないか苦心されている方も多いことでしょう。 今回紹介する「GitBook」は、技術者であれば使っている人が多いであろう「Git」と「Markdown」を使

    第406回 Node.js製のGitBookでお手軽に電子書籍作成 | gihyo.jp
    ishiduca
    ishiduca 2016/01/27
  • Nginxが支持される理由と特徴:新刊ピックアップ

    SNSBLOGなど,Webを使ったシステムは広く普及し,Webシステムへの依存度は増大しています。Webシステムの中核たるWebサーバには,長らくApache HTTPやMicrosoft IISが君臨していましたが,その中にい込む勢いを持つのが「Nginx(エンジンエックス⁠)⁠」です。稿ではNginxが支持されるその特徴を紹介します。 支持される理由 Nginxが支持される理由はそのシンプルさです。軽量・高速ながら,インストールや設定は極めてシンプルです。Webサーバのチューニングや最適化に時間をかけなくても,目の前にあるPCを一瞬にして高速Webサーバに仕立てる力を持ちます。特にNginx領が発揮されるのは,複数のWebサーバを束ねるロードバランシングやリバースProxyといった用途です。 イベント駆動とノンブロッキング非同期I/O Nginxの特徴として「イベント駆動」と

    Nginxが支持される理由と特徴:新刊ピックアップ
    ishiduca
    ishiduca 2015/11/16
  • 第33回 MojoliciousでかんたんWebアプリケーション開発(1) | gihyo.jp

    連載では第一線のPerlハッカーが回替わりで執筆していきます。今回のハッカーはhayajoさんで、テーマはWebアプリケーションフレームワーク「Mojolicious」です。 稿のサンプルコードは、WEB+DB PRESS Vol.87のサポートサイトから入手できます。 Mojoliciousとは MojoliciousはCatalystの作者であるSebastian Riedel氏によって作成されたPerl製のWebアプリケーションフレームワークです。 2008年のリリースから現在に至るまでこまめなリリースが続けられており、稿執筆時点(2015年5月)のバージョンは6.11です。 Mojoliciousは主に次のような特徴を持っています。 プロトタイピングから大規模開発まで対応 Mojoliciousはコンポーネントごとにファイル、ディレクトリ構造を作成するフレームワークのほかに、

    第33回 MojoliciousでかんたんWebアプリケーション開発(1) | gihyo.jp
    ishiduca
    ishiduca 2015/10/19
  • Webhookを活用した開発支援の広がり | gihyo.jp

    あけましておめでとうごさいます。クックパッド株式会社の松尾です。テストエンジニアしています。 先日、私は『アプリ開発の品質底上げ施策をWebhooksでBotが支援する世界』というブログを投稿しました。そのブログでは、モバイルアプリ開発における品質の底上げを行った施策について書きました。そこでは、施策を効率的に実施するために行った、GitHubのWebhookとBotを使いプログラム開発を支援することを話しました。 この記事では、WebhookとBotを組み合わせるという話題を中心にまとめます。事例として、クックパッドにおいて取り組んだ内容を紹介します。最後に、今後はWebhookを中心に自分たちの開発プロセスに沿って様々なサービスを組み合わせられることに触れて、さらには今後の展望として開発環境がWebサービスとして広がることを話します。 全体を通して、Webサービスを使った開発の流れと、

    Webhookを活用した開発支援の広がり | gihyo.jp
    ishiduca
    ishiduca 2015/01/01
  • 第3回 宮川達彦―最先端のWebエンジニアのキャリア | gihyo.jp

    先を歩むエンジニアへのインタビューを通してエンジニアのキャリアについて考える連載、今回は古くからPerlコミュニティで活躍し、最近ではWebテクノロジ情報発信のポッドキャスト「Rebuild」が話題の宮川達彦さんにお話を伺いました。宮川さんは、筆者のクックパッドの同僚でもあります。 [撮影:平野正樹] プログラミングに興味を持ったきっかけ ─⁠─最初にプログラミングやエンジニアリングに興味を持ったのはいつでしょうか? 宮川:父親がプログラマだったので、コンピュータは小さいころから家にあったんですけど、プログラミングはしておらず、純粋にPCユーザとしてゲームとかで遊んでいました。プログラミングのきっかけは、東京大学に通い始めて、趣味でホームページや掲示板を作っておもしろいと思ったことですね。そのあと3年次に、理学部情報科学科を選択し学びました。それと前後して、大学の友達から「オライリー・ジ

    第3回 宮川達彦―最先端のWebエンジニアのキャリア | gihyo.jp
    ishiduca
    ishiduca 2014/12/16
  • 第24回 PSGI/Plack実践入門―Starman、Starlet、Twiggy、Plack::Middleware、Server::Starter(2) | gihyo.jp

    Perl Hackers Hub 第24回PSGI/Plack実践入門―Starman、Starlet、Twiggy、Plack::Middleware、Server::Starter(2) 前回の(1)はこちらから。 PSGIサーバ ここまで主にPSGIのアプリケーション側について見てきましたが、(⁠2)ではアプリケーションを実行するためのPSGIサーバについて紹介します。 PSGIサーバの役割 PSGIサーバはPerlによるプログラムで、PSGIアプリケーションとアプリケーションが実行される環境を結び付ける役割をします。 図2がPSGIサーバの役割を図に表したものです。ApacheやnginxなどのWeb サーバからCGI、FastCGI、HTTPプロトコルを経由してクライアントからのリクエストがPSGIサーバに届きます。PSGIサーバはそれぞれの環境からPSGIのリクエスト情報を集め

    第24回 PSGI/Plack実践入門―Starman、Starlet、Twiggy、Plack::Middleware、Server::Starter(2) | gihyo.jp
    ishiduca
    ishiduca 2014/04/21
  • 第23回 Perlアプリケーションのテストと高速なCI環境構築術(1) | gihyo.jp

    連載では第一線のPerlハッカーが回替わりで執筆していきます。今回はmyfinderこと久森達郎さんで、テーマは「Perlアプリケーションのテストと高速なCI環境構築術」です。テストに利用するさまざまなモジュールから、CI(Continuous Integration、継続的インテグレーション)環境の構築、そして増えたテストを高速に実行する枠組みの構築までを紹介します。 なお稿のサンプルコードは、誌サポートサイトから入手できます。 テストの目的 まずはテストを行う目的を整理します。 コードを壊していないことを確認する 1人で開発するものであれば、どんな状況であれ責任を負うのは自分だけですが、チームや組織が複数にまたがる場合にはテストが重要になります。プロダクトが大きくなるにつれ、自分の開発によって想定外の機能にも影響を与えることが多くなります。逆にほかの開発者が行ったコミットによって

    第23回 Perlアプリケーションのテストと高速なCI環境構築術(1) | gihyo.jp
    ishiduca
    ishiduca 2014/02/22
  • 第21回 Carton & cpanm―Perlモジュール管理最新事情(3) | gihyo.jp

    (1)はこちら、(⁠2)はこちらから。 Carton Cartonもcpanmと同様に、宮川達彦さんを中心に開発しているツールです。Cartonがどんなツールかについては、PODにズバリな一文があるので引用します。 carton is a command line tool to track the Perl module dependencies for your Perl application. 「Cartonとは、アプリケーションにおけるPerlモジュールの依存関係を管理するコマンドラインツール」というわけです。 また、PODのNAMEセクションには次の記述があります。 Carton - Perl module dependency manager (aka Bundler for Perl) Rubyでお馴染みのBundlerという単語が出てきました。Rubyを使う人にはこちらの

    第21回 Carton & cpanm―Perlモジュール管理最新事情(3) | gihyo.jp
    ishiduca
    ishiduca 2013/12/31
  • 第2回 本当にコードを失っても大丈夫なのか、確かめてみよう | gihyo.jp

    前回、「⁠これまでの記事で取り上げたコードを、テスト駆動ベースに移行していく」と書きました。さっそく、取り組んでいきましょう。その中で「コードをすべて失ってしまったとしても、テストが無事なら元と同じ品質のコードをもう一度書くことができる」かどうかを確かめていきましょう。 今回取り上げるプログラム 今回取り上げるのは「PHPでNゲージ模型を自由自在に動かそう」です。第1回のリスト1は、以下のようになっていました。 リスト1 「⁠Nゲージ」第1回リスト1より #! /usr/local/bin/php <?php $url = "http://192.168.0.100/"; file_get_contents($url."?00=C"); file_get_contents($url."?01=D"); file_get_contents($url."?02=D"); file_get_co

    第2回 本当にコードを失っても大丈夫なのか、確かめてみよう | gihyo.jp
    ishiduca
    ishiduca 2013/12/28