タグ

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

  • バグは“数千パターンのテスト”をすり抜けた ―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
    taro-maru
    taro-maru 2023/11/11
  • ChatGPT APIとWhisper APIで議事録文字起こしアプリを作り、Hugging Face Spacesで公開する | gihyo.jp

    ChatGPT APIの使い方 実際にChatGPT APIを使ってみましょう。 openai-pythonのインストール 今回はOpenAIPython用ライブラリである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
    taro-maru
    taro-maru 2023/04/25
  • Goで書くテスタブルなCLIツールの作り方 | gihyo.jp

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

    Goで書くテスタブルなCLIツールの作り方 | gihyo.jp
    taro-maru
    taro-maru 2022/11/15
  • 第174回 DALL·E2、Midjourney、Stable Diffusion……「画像生成AI」が変えるもの、変えないもの | gihyo.jp

    いま、見ておきたいウェブサイト 第174回DALL·E2⁠⁠、Midjourney⁠⁠、Stable Diffusion……「画像生成AI」が変えるもの⁠⁠、変えないもの テキストを入力するだけで、自分が想像する世界を表現できる。まるで“⁠現代の魔法⁠”とでもいうべき「画像生成AI」の技術が、いま世界中に驚きを与えています。 図1 筆者が複数の「画像生成AI」で生成した画像のまとめ。プロンプトの書き方やモデルの違いで生成される画像はだいぶ異なる 2021年から2022年にかけて、「⁠Text-to-Image」と呼ばれる、テキストから画像を生成する「画像生成AI」モデルが、多くの団体や企業から発表されました。今年5月以降、こうしたモデルの多くが、誰でも試せるデモ版やウェブサービスとなって提供され始めました。 公開されたサービスを実際に使ったユーザーが、生成画像の質の高さや可能性を目の当たり

    第174回 DALL·E2、Midjourney、Stable Diffusion……「画像生成AI」が変えるもの、変えないもの | gihyo.jp
    taro-maru
    taro-maru 2022/10/22
  • これまでとこれからのGo | gihyo.jp

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

    これまでとこれからのGo | gihyo.jp
    taro-maru
    taro-maru 2022/08/31
  • 本書について ―改訂にあたって:[増補改訂]ビッグデータを支える技術 ――ラップトップ1台で学ぶデータ基盤のしくみ

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

    本書について ―改訂にあたって:[増補改訂]ビッグデータを支える技術 ――ラップトップ1台で学ぶデータ基盤のしくみ
    taro-maru
    taro-maru 2021/02/06
  • 第533回 多くのプラットフォームに対応するメディアサーバー「Emby」 | gihyo.jp

    EmbyはPCやスマートフォンなど多くのプラットフォームに対応したメディアサーバーです。ウェブブラウザーからストリーミング再生可能なので、実質アプリ不要のシステムでもあります。今回はこのEmbyをUbuntuにインストールする方法を紹介しましょう。 .NET Coreベースのメディアサーバー Embyは.NET Coreで開発されているメディアサーバーであり、次の機能を有しています。 ウェブブラウザー経由でのコンテンツ再生やサーバ管理 iOSやAndroidWindows向けのモバイルアプリ Android TV/Amazon Fire TV/Chromecast/Roku/Xboxなどのメディアデバイス向けアプリ 各種コンテンツメタデータデータベースへの対応 マルチユーザーやペアレンタルコントロール機能 プラグインによる機能拡張 REST API ウェブブラウザー用のクライントはJav

    第533回 多くのプラットフォームに対応するメディアサーバー「Emby」 | gihyo.jp
    taro-maru
    taro-maru 2018/08/23
  • 第470回 Kubernetesのパッケージ管理ツール「Helm」 | gihyo.jp

    第469回ではKubernetesの環境を構築しました。今回はそのKubernetes上にソフトウェアスタックを構築する上で便利なパッケージ管理ツール「Helm」について紹介します。 Kubernetesでパッケージ管理ツールを使う理由 「Helm」はKubernetes用のパッケージ管理ツールです[1]⁠。パッケージそのものは「Chart」と呼ばれるYAMLファイルの集合体で、独自のパッケージリポジトリとして「Kubernetes Charts」を提供しています。 UbuntuのAPTシステムでいうところのDebパッケージファイルがChartで、Kubernetes Chartsは公式パッケージリポジトリ、そのリポジトリやローカルシステムからDebパッケージファイルをダウンロード・インストールするコマンドがhelmだとイメージすれば良いでしょう。 Kubernetesにはその役割に応じて

    第470回 Kubernetesのパッケージ管理ツール「Helm」 | gihyo.jp
  • 第1章 Go言語の特徴と環境構築―Googleが作った新言語 | gihyo.jp

    特集のはじめに Goは、2009年にGoogleにより発表されたオープンソースのプログラミング言語です。C言語の開発者Ken Thompson、UTF-8の開発者Rob Pike、memcachedの開発者Brad Fitzpatrickといった名だたるエンジニアによって開発されています。 Goはシンプルな言語仕様であるため学習が比較的容易で、豊富な標準パッケージが同梱されているためすばやく目的を達成できます。また、巨大なコードでも高速にコンパイルできるため大規模開発にも適しており、Windows、OS X、Linuxなどの環境に合わせた実行ファイルを生成するクロスコンパイルのしくみがあるため作成したプログラムを容易に配布できます。並行処理のサポートも充実しており、ミドルウェアの開発などにも適しているとされています。 特集では、2014年6月にリリースされた最新バージョンであるGo 1.

    第1章 Go言語の特徴と環境構築―Googleが作った新言語 | gihyo.jp
    taro-maru
    taro-maru 2017/01/28
  • 第20回 mycliを使って快適にSQLを実行する | gihyo.jp

    新しいアプリケーションの機能を実装する際に、ローカルや開発者向けのデータベースにアクセスして、プログラムを実装する前に何度かSQLをためしに実行することもあるかと思います。その際に、補完機能や以前実行したSQLの検索機能等がある場合とない場合では、作業の効率が変わってきます。 そこで、今回は補完や検索機能など、多くの便利な機能をもつmycliというクライアントについて紹介をしていきます。 デモンストレーション環境 今回は5.7.12を第5回 Dockerで複数バージョンのMySQLを開発環境に用意するで作成した環境で実行して確認していきます。また、今回使用するデータは「第2回 MySQLにはじめてのデータを入れてみる」で紹介をしている郵便番号のテーブルを用いて紹介を行います。 mycliのインストール ここではMySQLのクライアントの1つであるmycliを紹介します。mycliは自動補完

    第20回 mycliを使って快適にSQLを実行する | gihyo.jp
  • 第5回 オブジェクトストレージのCloud Storage | gihyo.jp

    Cloud Storage Cloud StorageはオブジェクトストレージのSaaSで、AWSで言うところのS3に相当するようなサービスです。 データはCloud Storage側で自動的に暗号化されてGoogleのディスクに保存されます。 3種類のStorage Classラインナップ 以下の3種類があります。 Standard Storage Durable Reduced Availability(DRA)Storage Nearline Storage StandardはS3のスタンダードストレージ、Durable Reduced Availability(DRA)はS3の低冗長化ストレージ、NearlineはS3で言うところのGlacierの立ち位置のサービスです。ただしNearlineはGlacierとかなり違った特徴を持っていますので、後述の説明を参考にしてください。 こ

    第5回 オブジェクトストレージのCloud Storage | gihyo.jp
    taro-maru
    taro-maru 2016/01/15
  • 会社で「ポエム」を綴ろう! ~ポエム駆動で理想を語ると社内の風が変わる!~ 記事一覧 | gihyo.jp

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

    会社で「ポエム」を綴ろう! ~ポエム駆動で理想を語ると社内の風が変わる!~ 記事一覧 | gihyo.jp
    taro-maru
    taro-maru 2015/08/18
  • 第1回 事業会社における開発とポエム | gihyo.jp

    この連載ではピクシブ株式会社という東京にある事業会社で盛んになっている「ポエム」によって駆動する開発について、その特徴をお話します。第一回は舞台となっているピクシブという会社はどのような環境か、その会社で書かれている「ポエム」とは何なのかをお話します。 「ポエム」で開発を駆動するとは 駆動開発という言葉はソフトウェア開発文脈でよく使われます 例えばテストコードによって開発を駆動するテスト駆動開発という言葉は開発者にとってお馴染みでしょう。 ではポエム駆動開発という言葉を聞いた事はあるでしょうか? ポエム駆動開発のオリジナルはppworks氏によるポエム駆動開発によるWEBサービスの作り方 pplog誕生ものがたりというエントリーで発表された手法です。 意思決定の際大事なのはポエムなのです。「⁠pplogのポエムは俺たちのゆるふわインターネット「pplog⁠」⁠ をリリースしました(してまし

    第1回 事業会社における開発とポエム | gihyo.jp
    taro-maru
    taro-maru 2015/07/10
  • 第5回 Git操作をなかったことにする! | gihyo.jp

    皆さん、こんにちは! エンジニアアイドル「ハックガールズ」の堤沙也と濱ヶ崎美季です。 私たちと一緒にGitを学ぶこの連載、第5回は、誰もが一度は経験する 「今のGit操作をなかったことにしたい!」 という思いを実現するためのコマンドを紹介します。 元に戻したい! 第4回まででGitの基的なフローは大まかに理解できたかと思います。 Gitの使い方に慣れてきて、流れるようにコマンドを打っていると、うっかり意図しない変更を進めてしまうことを、誰しも一度は経験するのではないでしょうか。 そんな「今の変更はなかったことにしたい!」「⁠昨日の更新はなかったことにして、一昨日の状態に戻したい!」といった思いを叶える方法が、Gitにはたくさんあります。 さまざまなコマンドのうち、代表的なものを紹介していきます。 今回紹介するコマンドは次の通りです。 git clean git checkout git

    第5回 Git操作をなかったことにする! | gihyo.jp
  • 第3回 Hubotを色々なサービスと繋げてみる | gihyo.jp

    スクリプトが使用する設定 Hubot自身が使用する設定値は、コマンドライン引数でも環境変数でも指定できますが、Adapterや個別のスクリプトの設定値は環境変数でしか設定できません。 環境変数はどのように設定しても構いませんが、開発中は“⁠Hubotを起動するためのシェルスクリプト⁠”を用意してそのシェルスクリプトの中に設定を書いておくと便利です。具体的には、次のようなシェルスクリプトを書くことになります。 run_hubot.sh #!/bin/sh export HUBOT_ADAPTER=hubot-irc export HUBOT_NAME=myhubot bin/hubot 以後、Adapterなどで使用する設定値は、シェルスクリプトを書いて環境変数を設定する方式で説明しますが、適宜自分にとって都合の良い方法に読み替えてください。 初期状態のエラーを解消する方法について 前回、H

    第3回 Hubotを色々なサービスと繋げてみる | gihyo.jp
  • 第2回 インストールとHello World | gihyo.jp

    今回は、実際にhubotをインストールし、簡単なスクリプトを書いて動かしてみます。 インストール Hubotをインストールして動かすには、Node.js体とNode.jsのパッケージマネージャであるnpmが動く環境を用意する必要があります。節では、まずNode.jsとnpmをインストールしてからHubot自体をインストールする方法を解説します。 Node.jsとnpmのインストール Node.jsとnpmをインストールするには、UNIX系ならばパッケージマネージャ、Windowsならインストーラを使う方法が簡単です。 たとえば、CentOS 6では、パッケージマネージャであるyumにEPELリポジトリを追加することでNode.jsとnpmをインストールできるようになります。CentOS 6(64ビット版)でパッケージマネージャを使用したインストール方法の例を次に示します。 $ sudo

    第2回 インストールとHello World | gihyo.jp
  • 第3回 SSL証明書ビギナー歓迎! httpsから始まるURLの役割と仕組みを0から学ぼう | gihyo.jp

    Webデザイナーなら知っておくべき サーバ知識相談室 第3回SSL証明書ビギナー歓迎! httpsから始まるURLの役割と仕組みを0から学ぼう 昨年12月に話題になっていた、次のニュースを覚えていますか? 痛いニュース(ノ∀`) : Firefoxでハローワークのサイトを開くと警告「安全性が確認できません⁠」⁠ - ライブドアブログ 要約すると、ハローワークのサイトをFirefoxで開くと「接続の安全性が確認できない」という警告画面が出て、サイトが表示されない事態になっていたというニュースです。さてここで「うわー、ハローワークいけてないな」と思われた方に質問です。このニュースが言っていることがきちんと分かりましたか? 「ハローワークが何かやらかしたようだ」ということは分かると思います。そして、ニュース内で「証明書」という単語が何回か出てくるため、もしかしたらSSL証明書がらみで何か失敗した

    第3回 SSL証明書ビギナー歓迎! httpsから始まるURLの役割と仕組みを0から学ぼう | gihyo.jp
    taro-maru
    taro-maru 2014/05/21
  • 第1回 Hubotとは何か | gihyo.jp

    連載では、GitHub社が開発したチャットbot開発・実行フレームワークである「Hubot」を使用して、チャットツールにオリジナルのbotを住まわせ、開発フローに組み込むことで開発を楽にする方法について解説していきます。 botとはなにか 開発の現場で、開発チーム内のコミュニケーションのためにIRCなどのチャットツールを導入することは、よく見る光景だと思います。そんなチャットツールに常駐してチャット経由でコマンドを待ち受けて実行したり、決められた条件に従ってチャットに発言してチャットの参加者に通知したりするようなプログラムのことをbotと呼びます。 Skype、HipChatやChatWorkなどコミュニケーションツールが多様化した現代においても、それぞれのチャットツールに対応したbotが開発されており、botを開発するためのフレームワークも様々な形で提供されています。botを導入するこ

    第1回 Hubotとは何か | gihyo.jp
  • 第9回 ソーシャルゲーム開発におけるサーバ設計と運用法の共有に向けて ~なかったからはじめてみた「ゲームサーバ勉強会」 | gihyo.jp

    IT勉強会を開催するボクらの理由 第9回ソーシャルゲーム開発におけるサーバ設計と運用法の共有に向けて ~なかったからはじめてみた「ゲームサーバ勉強会」 IT勉強会に突撃レポートし、開始のきっかけや、運営ノウハウなどについてお聞きしていく連載。第9回目では久々にゲーム業界に焦点を当てます。お邪魔したのは2月8日(土)に初勉強会を開催した「ゲームサーバ勉強会」です。 当日は東京都心が20年ぶりの大雪に見舞われ、交通機関に多大な影響が発生。しかし会場の六木ヒルズ・グリー社セミナールームには50名ほどが参加し、ホットな議論が展開されるなど、関心度の高さを感じさせました。 サーバエンジニアだけでなく、クライアントプログラマやゲームデザイナーなど、さまざまな参加者が見られた ゲーム業界の開発工程は今も…… 連載の読者であれば説明は不要かと思われますが、今やソーシャルゲームをはじめとして、適切な

    第9回 ソーシャルゲーム開発におけるサーバ設計と運用法の共有に向けて ~なかったからはじめてみた「ゲームサーバ勉強会」 | gihyo.jp
  • 世界初となるプログラミング言語「Hack」の解説書が電子書籍で登場!『Facebook発 新プログラミング言語「Hack」スタートアップガイド』発売 | gihyo.jp

    株式会社技術評論社は、世界初となるプログラミング言語「Hack」の解説書『Facebook発 新プログラミング言語「Hack」スタートアップガイド』のEPUB版/Kindle版/Kobo版(いずれもリフロータイプ)の販売を2014年4月1日に開始しました。 新言語「Hack」はFacebookが2014年3月24日オープンソースでリリースしたプログラミング言語です。HHVM(HipHop Virtual Machine for PHP)向けの開発言語で、静的型付き言語の性質を取り入れPHPでの素早い開発を実現し、PHPとの互換性があるのが特徴です。 世界初となるHack解説書を電子書籍として発売します。 ぜひお手元のPCや各種スマートデバイス・Kindle端末などでご覧ください。 なお、電子書籍発売直後、著者の米林氏が書をベースに設定したAWA AMIを公開しました。併せてご覧ください。

    世界初となるプログラミング言語「Hack」の解説書が電子書籍で登場!『Facebook発 新プログラミング言語「Hack」スタートアップガイド』発売 | gihyo.jp