並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 57件

新着順 人気順

Gihyoの検索結果1 - 40 件 / 57件

Gihyoに関するエントリは57件あります。 article技術linux などが関連タグです。 人気エントリには 『ChatGPTのおさらいと、プログラミングに活用するための第一歩 | gihyo.jp』などがあります。
  • ChatGPTのおさらいと、プログラミングに活用するための第一歩 | gihyo.jp

    大量の文章から学習することで、多言語を取り扱う能力だけでなく、高度な推論能力まで手に入れました。 GPT-3.5、とりわけその初期モデルのCodexはGitHubに存在する5400万の公開リポジトリから採取された159GBのPythonコードでGPT-3をfine-tuning(微調整)することで生まれました。ChatGPTがとりわけPythonが得意なのはここから来ています。 ChatGPTの学習データを考えることはその能力を発揮させるときに極めて有効です。質問時も以下のように、『⁠涼宮ハルヒの憂鬱』というライトノベル作品について日本語で聞いたときはSOS団の略称を間違えるなどしますが、英語ではほぼ期待通りの回答を見せます。 図1 『ハルヒの憂鬱』について日本語で聞いた場合の回答 図2 『ハルヒの憂鬱』について英語で聞いた場合の回答 知ったかぶりをするChatGPT ところで、ChatG

      ChatGPTのおさらいと、プログラミングに活用するための第一歩 | gihyo.jp
    • すべてのフェーズでミスが重なった ―全銀ネットとNTTデータ、全銀システム通信障害の詳細を説明 | gihyo.jp

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

        すべてのフェーズでミスが重なった ―全銀ネットとNTTデータ、全銀システム通信障害の詳細を説明 | gihyo.jp
      • 新人エンジニアにおすすめする一冊 2022 | CyberAgent Developers Blog

        こんにちは!CTO統括室の黒崎(@kur_m88)です。2022年度のサイバーエージェントには新卒のエンジニアが約90名入社してくれました。 アフターコロナー1期生の新入社員へ、代表藤田からのメッセージ 2014年までエンジニアブログを遡ると、こんな企画がありました。この企画を8年ぶりに復活させてみようと思います。 #e100q 新人エンジニアにお勧めする一冊 思いつきで企画してみたので100人に聞く時間はありませんでしたが、約40名から返事をもらえました。 社内でアンケートを募集した様子 おすすめする一冊の被りが多ければランキング形式にしようと思っていたのですが、あまり被りがありませんでした。 ちょっと分量が多いですがせっかくなので全部紹介しようと思います。 先輩エンジニア達から新人エンジニアに向けた言葉ももらったので、最後に載せてあります。ぜひ最後までご覧ください! 新人エンジニアにお

          新人エンジニアにおすすめする一冊 2022 | CyberAgent Developers Blog
        • 『WEB+DB PRESS』 休刊のお知らせ:WEB+DB PRESS

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

            『WEB+DB PRESS』 休刊のお知らせ:WEB+DB PRESS
          • ネットワーク技術やその仕組みを理解するための最短コースとは?:新刊ピックアップ

            ネットワーク技術を学ぶのは難しい 我々の日常生活に欠かすことのできない社会インフラの1つと言えるコンピュータネットワーク。スマホやPCから利用するだけなら,その仕組みを深く知る必要はありませんが,仕事でシステムの構築や運用管理に従事する方は,きちんと理解しておくことが必要になります。 しかし,次のような理由からマスターするまでの道のりは険しいです。 押えておくべき技術用語が多すぎる たとえば,社内LAN内でファイルをやり取りしている状況を詳細に説明する場合,「⁠TCP/IP」「⁠IPアドレス」「⁠サブネット」「⁠DHCP」「⁠プロトコル」「⁠MACアドレス」「⁠ARP」「⁠ゲートウェイ」……,さらに機器として「ルータ」「⁠レイヤ3スイッチ」……などなど,数多くの技術用語を理解しておく必要があります。 お試し環境を準備するのが大変 技術用語をある程度理解できたとしても,社内LANをいきなり設

              ネットワーク技術やその仕組みを理解するための最短コースとは?:新刊ピックアップ
            • バグは“数千パターンのテスト”をすり抜けた ―NTTデータ「2023/10/10 全銀ネット障害」について説明 | gihyo.jp

              バグは“数千パターンのテスト”をすり抜けた ―NTTデータ「2023/10/10 全銀ネット障害」について説明 NTTデータグループは2023年11月6日、10月10日に発生した全国銀行データ通信システムの障害に関する記者説明会を実施、現時点で判明している障害の概要について説明を行うとともに、再発防止策に向けたタスクフォースの設立などについて明らかにしました。会見の冒頭、NTTデータグループ 代表取締役社長 本間洋氏は、今回の障害により全国の預金者や金融機関をはじめとする社会全体に大きな混乱をもたらしたことを謝罪し、今後の原因究明と再発防止に向け、全国銀行試験決済ネットワーク(以下、全銀ネット)とともに全力をかけて取り組むことを明言していました。 本記事では会見の内容をもとに、現時点で判明している10月10日の事故の原因についてレポートします。 2023年10月10日 ―なにが起こったのか

                バグは“数千パターンのテスト”をすり抜けた ―NTTデータ「2023/10/10 全銀ネット障害」について説明 | gihyo.jp
              • 第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
                • ローカル環境で動作し、Markdownで書いたノートをつなげるアプリ「Obsidian」とは | gihyo.jp

                  ノートアプリ「Obsidian」を使いこなす ローカル環境で動作し、Markdownで書いたノートをつなげるアプリ「Obsidian」とは 2022年10月に「1.0」というバージョンがリリースされたアプリ「Obsidian⁠」⁠。このリリースはgihyo.jpでも記事として取り上げられ、非常に注目されています。 この記事では具体的にどのような特徴があるのか、他のノートアプリやMarkdownエディタと比較しながら紹介します。 図 Obsidian Obsidianとは何か? Obsidianというアプリを紹介するとき、さまざまな説明が使われます。 ノートアプリ メモアプリ Markdownエディタ PKM(Personal Knowledge Management)ツール など これらはいずれも間違いではありませんが、一言で表現するのは難しいものです。そして、一言で表現しようとすると、そ

                    ローカル環境で動作し、Markdownで書いたノートをつなげるアプリ「Obsidian」とは | gihyo.jp
                  • 2022年のブラウザとウェブ標準 | gihyo.jp

                    2022年になりました。矢倉眞隆(@myakura)と申します。昨年に引き続き、新春特別企画のブラウザとウェブ標準を担当させていただきます。 なお、取り上げるトピックの数やインパクトの大きさもあり、CSSについては別記事となりました。あわせて読んでいただければ幸いです。 ChromeとFirefoxがバージョン100に到達 昨年の新春企画でもすこし触れましたが、今年はChromeとFirefoxのバージョンが100になります。 Chrome 100は、今年の3月29日にリリース予定です。もともとはもう少し先だったのですが、Chrome 94からリリースサイクルが4週間に短縮されたため、Chrome 100のリリースが早まりました。 Chromeよりも早く4週間のリリースサイクルに移行していたFirefoxも、5月3日にFirefox 100がリリース予定です。 バージョンが3桁になることで

                      2022年のブラウザとウェブ標準 | 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
                      • ChatGPT APIとWhisper APIで議事録文字起こしアプリを作り、Hugging Face Spacesで公開する | gihyo.jp

                        ChatGPT APIの使い方 実際にChatGPT APIを使ってみましょう。 openai-pythonのインストール 今回はOpenAIのPython用ライブラリであるopenai-pythonを使います。pipを用いて、openai-pythonをインストールしましょう。 pip install openai APIリクエスト ChatCompletion.createで対話を生成できます。たとえば、以下のようなコードになります。 import openai openai.api_key = "sk-..." # APIキー completion = openai.ChatCompletion.create( model="gpt-3.5-turbo", messages=[{"role": "user", "content": "こんにちは!"}] ) print(complet

                          ChatGPT APIとWhisper APIで議事録文字起こしアプリを作り、Hugging Face Spacesで公開する | gihyo.jp
                        • gihyo.jp編集部におけるMarkdown記法 | gihyo.jp

                          本稿では、gihyo.jp編集部で利用しているMarkdownファイルの記述方法を主に解説します。 注意:gihyo.jp編集部内でのみ採用しているMarkdownの書き方をまとめた文書を、記事の体裁を取って公開したものです。なお、記事公開後に記述方法を追加・変更する可能性もあります。 Markdownとは? はじめに、筆者の把握している範囲でMarkdownについて概説しておきます。 近年は一般向けのウェブサービスやテキストエディタでも利用されてきているMarkdown。端的に言えば、テキストファイル上で文書を書くための構文です。文書の読みやすさに焦点を当てており、Markdown形式のテキストファイル(=Markdownファイル)をそのまま見れば文書とその構造が理解できるように、Markdown特有の編集記号や字下げを用いて表現します。また、MarkdownファイルをHTMLファイルに

                            gihyo.jp編集部におけるMarkdown記法 | gihyo.jp
                          • WEB+DB PRESS連載記事「Rubyのウラガワ」を期間限定で無償公開(公開終了)

                            新型コロナウイルスの影響で多くの学校が休校する状況を受け,『WEB+DB PRESS』で笹田耕一氏が執筆しており,現在も連載中の「Rubyのウラガワ」の第1回から第5回までの記事のPDFを,学習用に期間限定で無償公開します。 記事の概要やダウンロード先などは以下のとおりです。 記事名 Rubyのウラガワ ─⁠─ Rubyインタプリタに学ぶデータ構造とアルゴリズム 記事概要 本連載では,Rubyインタプリタという,実際に多くの人が利用しているアプリケーションを題材にしてデータ構造とアルゴリズムを学ぼうという趣旨で,その実装を紹介します。単なる実装の紹介だけではなく,なぜそのような選択をしているか,その背景を紹介できればと思っています。(⁠Vol.110「連載のはじめに」より) 公開範囲 Vol.110(第1回⁠)⁠~Vol.114(第5回) 公開期限 2020年4月5日まで ※期限が過ぎまし

                              WEB+DB PRESS連載記事「Rubyのウラガワ」を期間限定で無償公開(公開終了)
                            • 2020年1月10日 Don't use ZFS ―Linus、ZFSをマージしない姿勢をあらためて強調 | gihyo.jp

                              Linux Daily Topics 2020年1月10日Don't use ZFS ―Linus、ZFSをマージしない姿勢をあらためて強調 「Don't use ZFS. ―ZFSは使わない。その理由はシンプルだ。ZFSはこれまでずっと、バズワード以上の何物でもなく、そして実感するのだけど、例のライセンシング問題は僕にとってZFSを価値のない存在と思わせるだけだ」 1月6日、IT業界に特化したオンラインメディア「Real World Tech」のフォーラムで繰り広げられたあるスレッドにて、Linus TorvaldsはZFSをメインラインにマージする予定がないことをあらためて明確に主張している。 Do not blame anyone. Please give polite, constructive criticism By: Linus Torvalds -Real World Te

                                2020年1月10日 Don't use ZFS ―Linus、ZFSをマージしない姿勢をあらためて強調 | gihyo.jp
                              • 第723回 複雑なコマンドパイプラインを簡単に組み立てる方法 | gihyo.jp

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

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

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

                                    Goで書くテスタブルなCLIツールの作り方 | gihyo.jp
                                  • ChatGPT APIのFunction callingを使って、請求書の構造化データを抽出する | gihyo.jp

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

                                      ChatGPT APIのFunction callingを使って、請求書の構造化データを抽出する | 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
                                      • 本を読む 私が聴いているLinux系ポッドキャスト(2020年3月版)

                                        ポッドキャストをいくつか聴いています。それらの中から、コンスタントに聴いているLinux系ポッドキャストを挙げておきます。 なお、いずれも英語のポッドキャストです。これは単に、日本語のLinux系ポッドキャストが見つからなかったためです。私は英語が得意ではないので、フリートーク形式で毎回1時間以上のものは入っていません。 Linux Headlines 月〜金の毎日(欧米時間)、Linux関連ニュースを1回3分以内で読み上げる番組です。キャスターは数人が持ち回りで担当。3分以内なので、英語力も集中力もない私でも聴けます。Jupiter Broadcasting傘下。 Linux Action News 週1回でニュースとそれへのコメントを、2人のキャスターが語る形式です。1回30分弱ぐらい。Jupiter Broadcasting傘下で、Linux Action Showの後継?。 Cho

                                        • 富岳のディープラーニング処理を支えるJITコンパイラ「Xbyak_aarch64」誕生秘話 | gihyo.jp

                                          TOP500、HPCG、HPL-AI、Graph500での世界1位獲得、新型コロナウイルス対策を目的とした試行利用など、話題に事欠かないスーパーコンピュータ「富岳⁠」⁠。そのディープラーニング処理を高速化するには、あるOSSの存在が必要不可欠でした。それが、サイボウズ・ラボ(⁠株⁠)の光成滋生氏が開発したx86/x64向けC++ JITアセンブラ「Xbyak」の設計思想をベースに、光成氏の助言のもと(⁠株⁠)富士通研究所が開発したArm向けのC++ JITアセンブラ「Xbyak_aarch64」です。Xbyak_aarch64は、富岳上でのディープラーニング処理を実現するキー技術のひとつです。 本記事では、Xbyakの開発者である光成氏を中心に、(⁠株)富士通研究所の上席研究員であり、Linuxカーネルへのコアコミッターでもある小崎資広氏を聞き手役として、同研究所シニアリサーチャーの川上健

                                            富岳のディープラーニング処理を支えるJITコンパイラ「Xbyak_aarch64」誕生秘話 | gihyo.jp
                                          • 『家族アルバム みてね』を支えるオンコールエンジニア制度 | gihyo.jp

                                            株式会社MIXIで『家族アルバム みてね』(⁠以下みてね)のSREグループに所属している本間です。 みてねは現在、1,500万人を超えるユーザに175の国と地域でサービスを提供しています(2022年8月現在)。そこで、より高い信頼性と可用性を担保するためにみてねのSREグループではオンコールエンジニア制度を設けています。 今回はこの「みてねのSREグループにおけるオンコールエンジニア制度の取り組み」についてご紹介させて頂きます。 オンコールの定義 まず、どのような条件でアラートを設定しオンコールを実施するかの定義について簡単に触れておきます。 現在はさまざまなソースから多種多様な情報を収集することができます。 たとえば、みてねではKubernetes(Amazon EKS)を採用しています。Kubernetesだけでも非常に多くのメトリクスが収集できますが、それだけではなくアプリケーション

                                              『家族アルバム みてね』を支えるオンコールエンジニア制度 | gihyo.jp
                                            • 標準機能でも便利な「Obsidian」をプラグインで使いやすくする | gihyo.jp

                                              前回のObsidianの紹介を見て、「⁠Obsidianを使ってみたい」と感じた方はダウンロードしてインストールしてみましょう。今回は、Obsidianの初期設定に加え、プラグインの導入について紹介します。 Obsidianを使ってみる インストールするには Obsidianはローカルで動くアプリなので、インストールが必要です。Windowsの場合は、通常のアプリと同じように公式サイトからダウンロードしてインストールします。以下のサイトにアクセスして、「⁠Get Obsidian for Windows」を押すとダウンロードできます。 Obsidian公式サイト ダウンロードした実行ファイルを開くと、次のような画面が表示されます。英語で表示されていますが、画面下にある言語を選択する部分で「日本語」を選択すると、表示が日本語に変わります。文字が中国語のフォントで表示されますが、設定画面にてフ

                                                標準機能でも便利な「Obsidian」をプラグインで使いやすくする | gihyo.jp
                                              • 新しい静的コード解析ツール「Ruff」をご紹介 | gihyo.jp

                                                福田(@JunyaFff)です。今月の「Python Monthly Topics」は、最近私が個人的に気になっている静的コード解析ツールRuffについて紹介します。 どんなプログラミング言語でも、静的コード解析ツール(リンター)やフォーマッターは非常に便利です。Pythonでコードを書く場合、皆さんはどんなツールを使っているでしょうか?Flake8やBlack、isortなどが人気で、世界中で多くのPythonエンジニアに利用されています。 Ruffは2022年8月にリリースされた比較的新しい、Pythonのリンター兼フォーマッターです。Ruffはリリースからまだ半年足らずしか経っておりませんが、多くの著名なライブラリで採用[1]され、毎日のようにアップデートされています。2023年3月時点でのRuffの使い方、そしてこれからの発展について、本記事で紹介します。 Ruffとは? ここでは

                                                  新しい静的コード解析ツール「Ruff」をご紹介 | gihyo.jp
                                                • これまでとこれからのGo | gihyo.jp

                                                  Goの歴史 本連載では、筆者(tenntenn)と周囲のGoエンジニアで、Goに関わる今アツい話を取り上げていきます。最新のGoの機能やこれからリリースされるGoの機能はもちろん、実際の開発現場で用いられているノウハウや自作ライブラリやツールについてご紹介します。第1回目はtenntennがこれまでとこれからのGoについて取り上げます。 Goは2009年にGoogleによって公開されたプログラミング言語です。2012年にGo1として正式公開されました。2022年現在では、GoogleやNetflixをはじめとする海外企業だけはなく、筆者の所属するメルカリなど国内の企業でも多く用いられるようになってきました。海外のGoの導入事例は公式サイトのケーススタディで確認できます。国内企業の導入事例はGoの公式Wikiに掲載があります。これらを見るとスタートアップからメガベンチャー、大企業までさまざま

                                                    これまでとこれからのGo | gihyo.jp
                                                  • Goの新しい構造化ロガーを体験しよう | gihyo.jp

                                                    logパッケージ Goには標準ライブラリとしてlogパッケージが提供されています。logパッケージで行えることはそう多くはありません。たとえば、デフォルトではログは標準エラー出力に出力されますが、log.SetOutput関数で出力先を変更できます。また、利用する関数によってログを出力した後の挙動をコントロールできます。たとえば、log.Print関数はログを出力するだけですが、log.Fatal関数はログ出力後にos.Exit(1)を呼び出します。log.Panicはログ出力後に出力したログと同じ文言を引数としてパニックを発生させます。 logパッケージでは、ログとともに関連するデータを出力したい場合は、log.Printf関数を用います。次のように、書式を指定して出力します。 log.Printf("request_url=%s request_method=%s", r.URL, r

                                                      Goの新しい構造化ロガーを体験しよう | gihyo.jp
                                                    • gihyo.jp、15年ぶりの大幅リニューアル! | gihyo.jp

                                                      Webメディア「gihyo.jp」のリニューアル 技術評論社のエンジニア向け情報サイト「gihyo.jp」は2022年7月11日、2007年のサイトオープン以来の大幅なリニューアルを行いました。またgihyo.jpの編集長として、私、高橋和道が就任する運びになりました。 Webメディアとしてのgihyo.jpはこれまでよりも独立性を持たせ、記事を読みやすくなるようにデザインを変更しました。対象読者も従来のエンジニアやデザイナーに加えて、ビジネスシーンを含めITを活用している人への記事を増やしていきます。 また、サイトオープン以来、さまざまな形でご協力いただいてきた各種コミュニティの関連技術記事はもちろん、gihyo.jpの特色の1つであったイベントレポートも掲載していければと考えています。 技術記事などのご寄稿は随時受け付けていますので、ご興味のある方はお問い合わせください。 なお、技術評

                                                        gihyo.jp、15年ぶりの大幅リニューアル! | gihyo.jp
                                                      • 第1回 中国が注目する「儲かるオープンソース」 | gihyo.jp

                                                        世界的なムーブメントに多くの中国企業が参加 多くのスマートフォンやネットワーク機器を開発している中国からのOSSへの貢献が、ここ数年、大きく目立つようになってきました。LinuxカーネルV5.10のコミットは13.4%が中国からで、最も貢献の多い国の1つです。コミットしたエンジニアの総数でも448名と最多で、彼らの多くがファーウェイ、シャオミなど中国のスマートフォン、ネットワーク機器の関連企業です。 近年は、Linux Foundation、OpenStackなどのファウンデーションやコンソーシアムのスポンサーに中国企業が目立つようになり、ボードメンバーにもアリババやファーウェイなどからの参加が見られるようになりました。ハードウェア企業は製品を、プラットフォーム企業はサービスを販売する。その品質を効率的に高めるために、オープンソースは有力な手法です。GoogleやMicrosoftがビジネ

                                                          第1回 中国が注目する「儲かるオープンソース」 | gihyo.jp
                                                        • Webエンジニアの新しい道 ~LINE Blockchain Labが拓くブロックチェーンの世界 | gihyo.jp

                                                          インタビュイー LINE Blockchain Engineeringチーム Software Engineer 高橋史季氏(左)、高瀬亮氏(右) LINEでは独自ブロックチェーンとして「LINE Blockchain Mainnet/Testnet」を運営しており、開発プラットフォームである「LINE Blockchain Developers」を通じてブロックチェーンサービスを構築できる環境を整えているほか、暗号資産として「LINK」も発行しています。LINEにおけるこれらの取り組みをリードしているのが「LINE Blockchain Lab」であり、ブロックチェーンに関するさまざまなプロジェクトが進められています。 特徴的なのは、ブロックチェーンの研究・開発でありながらも、Webを中心とした汎用的な技術を活用しながら未来の社会に向けた取り組みを行っている点です。今回、このLINE B

                                                            Webエンジニアの新しい道 ~LINE Blockchain Labが拓くブロックチェーンの世界 | gihyo.jp
                                                          • 第822回 CLIだけでUbuntuを使いたい人向けのUbuntuサーバー講座2024 | gihyo.jp

                                                            前々回の第820回では「改めてUbuntuに入門したい人向けのUbuntuサーバー講座2024」と題してUbuntu 24.04 LTSのサーバー版のインストール方法を紹介しました。もちろんUbuntuはインストールしただけで終わりではありません。豊富なパッケージ資産の利用や、自分なりの環境のカスタマイズなどを行って初めて、「⁠Ubuntuを使う」状態になるのです。そこで今回は、Ubuntuサーバーを使い始めてまず実施するであろう定番の作業をいくつか紹介しましょう。 UbuntuのCLIを使えるようになると、他のLinuxディストリビューションやWSL、Raspberry Pi OSなど他の環境におけるハードルもぐっと下がります。その人の使い方に合うか合わないかは別にして、一度は経験しておくことをおすすめします。 図1 fastfetchでUbuntuの情報を表示した様子 SSHサーバーの

                                                              第822回 CLIだけでUbuntuを使いたい人向けのUbuntuサーバー講座2024 | gihyo.jp
                                                            • 第122回 DockerでMySQLをもっと便利に活用してみる | gihyo.jp

                                                              本連載でも、何回かMySQLをDockerで扱う方法に関して簡単に説明をしてきました。今回は、DockerでMySQLを使う上でもっと便利に扱う方法を紹介してみたいと思います。特に、初期値のロードやコンテナ内にあるmysqlクライアントを使った時に文字化けする問題に対応していきます。 検証環境 今回はMacでDocker for Macを利用して検証を行っております。また、MySQLのDockerイメージは8.0.20で確認を行います。検証のデータには、第2回 MySQLにはじめてのデータを入れてみるで紹介されたKEN_ALL.CSVを利用します。 初期値のロードを自動化したい 第113回 anemoeaterを使ってスローログを可視化してみるでは、以下のように--secure-file-privを起動時に設定して起動していました。--secure-file-privは、指定されたディレク

                                                                第122回 DockerでMySQLをもっと便利に活用してみる | gihyo.jp
                                                              • Pythonの構造的パターンマッチングのさらに便利なパターン紹介 | gihyo.jp

                                                                鈴木たかのり(@takanory)です。今月の「Python Monthly Topics」では、第1回で紹介したPython 3.10の新機能「構造的パターンマッチング(Structural Pattern Matching⁠)⁠」の続きをお届けします。 前回は構造的パターンマッチング全体の説明、いくつかのパターンをコード例を交えて紹介しました。今回はその続きとして、前回紹介できなかった他のパターンについても紹介します。 Python 3.10の新機能:構造化パターンマッチング | gihyo.jp 構造的パターンマッチングとは 前回の繰り返しになりますが、この記事で初めて構造的パターンマッチングを知った人に向けて、簡単に紹介します。詳細は上記の記事を参照してください。 構造的パターンマッチングはPython 3.10で新しく導入された文法です。Python 3.10は2021年10月に

                                                                  Pythonの構造的パターンマッチングのさらに便利なパターン紹介 | gihyo.jp
                                                                • 第763回 RustDeskですいすい繋がるリモートデスクトップを実現する | gihyo.jp

                                                                  今回はオープンソースでマルチプラットフォームなリモートデスクトップソフトウェアであるRustDeskを紹介します。 RustDeskとは RustDeskはオープンソースでマルチプラットフォームなリモートデスクトップソフトウェアです。あけすけな表現をするとセルフホストできるTeamViewerやAnyDeskのようなものです。 使い勝手もおおむね同じで、今回構築する中継サーバーに接続することによりルーター等の設定を変更しなくてもすいすい繋がるリモートデスクトップ環境を構築できます。 サーバーはUbuntuやDebianとWindowsが想定されていますが、クライアントはUbuntu/Debian/Windows/macOS/Android/iOSなど、何にでも対応しています。ただし今回はUbuntuとWindowsしか取り上げません。 TeamViewerやAnyDeskを使用したことがあ

                                                                    第763回 RustDeskですいすい繋がるリモートデスクトップを実現する | gihyo.jp
                                                                  • M:Nスレッドによる軽量な並行処理への挑戦 | gihyo.jp

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

                                                                      M:Nスレッドによる軽量な並行処理への挑戦 | gihyo.jp
                                                                    • 第2回 偽陽性と偽陰性 ~自動テストの信頼性をむしばむ現象を理解する~ | gihyo.jp

                                                                      自動テストに期待することはいくつかありますが、「⁠失敗することで、テスト対象の動きが予期せず変わったことをプログラマーに教えてくれる」という役割は特に重要です。 この観点における期待外れの自動テストは2つ考えられます。失敗すべきでないときに失敗するテストと、失敗すべきときに失敗しないテストです。 失敗すべきでないときに失敗してしまうことを「偽陽性」(⁠false positive)と言います。失敗すべきときに失敗してくれないことを「偽陰性」(⁠false negative)と言います。今回はこの2つを整理します。 4象限で整理する 偽陽性と偽陰性は4象限で整理すると理解しやすくなります。プロダクトコードの正しさ、自動テストの実行結果(成功/失敗)という2つの軸で整理すると、表1ができあがります。 表1 偽陽性と偽陰性 偽陽性とは、プロダクトコードが正しいにもかかわらずテストが失敗してしまう

                                                                        第2回 偽陽性と偽陰性 ~自動テストの信頼性をむしばむ現象を理解する~ | gihyo.jp
                                                                      • Alan Wu氏「YJITはRubyプロセス実行から終了まで全体のパフォーマンス向上を目指す」 ~RubyKaigi 2022 3日目キーノート | gihyo.jp

                                                                        CPUの世界では、内部の機構をフロントエンド(命令フェッチとデコード)とバックエンド(命令実行とメモリ)で分けることができます。つまりrailsbenchの実行においては、フロントエンドの処理がバックエンドの処理に対して間に合っておらず、全体としてCPUの性能を使い切れていないことになります。 また、RubyのプログラムとYJITが生成したコードの行き来(ジャンプ)が頻繁に行われていました。このジャンプが多いということは、それだけ実行のために参照するアドレスが多く、結果としてコードの実行パスが増えてしまいます。その結果、予測が失敗したパス(汚染されたパス)が大量に増えて、投機的実行の予測精度に影響を与えていました。 加えて初期のYJITでは、この汚染されたパスもコード生成に利用していたため、さらに問題を悪化させていました。 これらが原因となり、初期のYJITではrailsbenchのパフォ

                                                                          Alan Wu氏「YJITはRubyプロセス実行から終了まで全体のパフォーマンス向上を目指す」 ~RubyKaigi 2022 3日目キーノート | gihyo.jp
                                                                        • 第801回 続・USBメモリ型SSD選手権!長時間の書き込みにも強いデバイスはどれだ | gihyo.jp

                                                                          第三種目 限界突破8GB走(書き込み部門) 第一種目の8GB走(シーケンシャル書き込み部門)では、NVMe SSDとUSBメモリ型SSDの間であまり差がつかず、360MB/sあたりに限界があるように見受けられました(図2、図3⁠)⁠。 図2 USBメモリ型SSDは、従来型USBメモリ(茶色の線)に比べて8GBの書き込みに必要な時間(横軸)が格段に短かかった 図3 しかし、NVMe SSDとUSBメモリ型SSDの間では最高速度(縦軸)の面であまり差はつかず、360MB/s付近に天井があるように見受けられた そこで第三種目では限界の突破を試みます。速度の壁はSSD自体の性能に起因するものではなく、テストに使用していたUSBポートが5Gbpsまでにしか対応していないことが原因と考えられます。 特にノートPCにおいては、USB Type-CポートとType-Aポートの両方が搭載されている場合に、T

                                                                            第801回 続・USBメモリ型SSD選手権!長時間の書き込みにも強いデバイスはどれだ | gihyo.jp
                                                                          • Linux Foundation、Redisをフォークした「Valkey」プロジェクトを始動 ―BSDライセンスでオープンソースとして提供 | gihyo.jp

                                                                            Linux Foundation⁠⁠、Redisをフォークした「Valkey」プロジェクトを始動 ―BSDライセンスでオープンソースとして提供 Linux Foundationは2024年3月28日、Redisに代わるオープンソースの新しいインメモリキャッシュストアシステム「Valkey」のコミュニティを立ち上げ、開発を行うことを発表した。 Linux Foundation Launches Open Source Valkey Community -linuxfoundation.org valkey : A new project to resume development on the formerly open-source Redis project. We're calling it Valkey, like a Valkyrie. -GitHub We are excited

                                                                              Linux Foundation、Redisをフォークした「Valkey」プロジェクトを始動 ―BSDライセンスでオープンソースとして提供 | gihyo.jp
                                                                            • 第56回 Linuxカーネルのコンテナ機能 - cgroup v2から使うメモリコントローラ(1) | gihyo.jp

                                                                              前回は、カーネルのお話から一度離れて、LinuxContainersプロジェクトから発表されたIncusというプロダクトを紹介しました。 少し間が空いてしまいましたが、今回からはまたLinuxカーネルの機能紹介に戻りましょう。第53回、第54回で紹介したCPUコントローラの話に続いて、メモリコントローラのお話をします。 メモリコントローラについては、以前、第5回で簡単に説明しています。このときの説明はcgroup v1のメモリコントローラを説明しました。今回は、cgroup v2のメモリコントローラを紹介します。 メモリ回収処理とメモリ負荷 コントローラを説明する前に、メモリコントローラを説明する前提となる、メモリの回収処理とメモリ負荷について簡単に紹介します。さらに詳しい情報については、Linuxカーネルの解説文書などをご参照ください[1]。 OS実行中には、色々とメモリを使う要素が存在

                                                                                第56回 Linuxカーネルのコンテナ機能 - cgroup v2から使うメモリコントローラ(1) | gihyo.jp
                                                                              • 第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して試してみてください。試すにはdockerとdocker-com

                                                                                  第153回 mysqlpumpを使ってバックアップを取ってみる | gihyo.jp
                                                                                • ESLintがJSONとMarkdownのコードチェック機能をサポ―ト | gihyo.jp

                                                                                  ESLintプロジェクトは2024年10月3日、ESLintがJSONとMarkdownのリンティングを正式にサポートしたことを発表した。 ESLint now officially supports linting of JSON and Markdown -ESLint ESLintはオープンソースのJavaScriptコードチェック(リンティング)ツール。JavaScriptやTypeScriptのコードを静的解析し、構文エラーやコーディング規約に違反がないか、等をチェックすることができる。 新たにサポートされたJSONリンティングは、@eslint/jsonというプラグインを使用して実行される。このプラグインはJSON、JSONC (⁠コメント付きJSON⁠)⁠、JSON5の解析機能を提供するもので、npmからインストールすることができる。 また、Markdownリンティングは@e

                                                                                    ESLintがJSONとMarkdownのコードチェック機能をサポ―ト | gihyo.jp

                                                                                  新着記事