タグ

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

  • 保守しやすく変化に強いソフトウェアを支える柱 自動テストとテスト駆動開発、その全体像 ~Software Design 2022年3月号「そろそろはじめるテスト駆動開発」より | gihyo.jp

    保守しやすく変化に強いソフトウェアを支える柱 自動テストとテスト駆動開発⁠⁠、その全体像 ~Software Design 2022年3月号「そろそろはじめるテスト駆動開発」より 今回、Software Design 2022年3月号 第2特集「そろそろはじめるテスト駆動開発 JavaScriptでテストファーストに挑戦」の第1章「保守しやすく変化に強いソフトウェアを支える柱 自動テストとテスト駆動開発、その全体像」をサイトに掲載します。第2章以降については、誌『Software Design 2022年3月号』電子版(Gihyo Digital Publishing、Amazon Kindle)をご購読いただければ幸いです。 第1章では、混同されることの多い自動テスト関係の概念を、自動テスト、テストファースト、テスト駆動開発の3つの段階に分け、それぞれの効果や注意点を説明します。ソフ

    保守しやすく変化に強いソフトウェアを支える柱 自動テストとテスト駆動開発、その全体像 ~Software Design 2022年3月号「そろそろはじめるテスト駆動開発」より | gihyo.jp
    t_43z
    t_43z 2024/01/16
  • 分散型SNS「Misskey」、それを支える技術スタック | gihyo.jp

    連載は分散型マイクロブログ用ソフトウェアMisskeyの開発に関する紹介と、関連するWeb技術について解説を行っていきます。第1回はMisskey、ひいては分散型SNSの簡単な紹介とその内部実装の概略を説明します。 はじめまして! はじめまして、Misskey(みすきー)のプロジェクトリーダーをしている、しゅいろ(@syuilo)です! この度連載の機会をいただきましたので、ちょっと仰々しい気もしますが「Misskey & Webテクノロジー最前線」と題して、今後Misskeyやそれに関わる最新のWeb技術について解説をしていく予定です。 今回はMisskey、ひいては分散型SNSの簡単な紹介とその内部実装の概略を説明します。 対象読者は、後半の実装解説の部分においてはある程度のWeb開発の知識がある人を想定しています。 Misskeyとは⁠、そして分散型とは Misskeyは、オープン

    分散型SNS「Misskey」、それを支える技術スタック | gihyo.jp
  • Deno標準モジュール解説[前編] ~Deno標準モジュールの概要と、モジュール解説(Archive~FMT) | gihyo.jp

    Deno標準モジュール解説[前編] ~Deno標準モジュールの概要と、モジュール解説(Archive~FMT) Deno標準モジュールを、前編と後編の2回に分けて解説します。記事は前編です(後編はこちら⁠)⁠。 はじめに Deno標準モジュールはDenoコアチームによって開発・メンテナンスされているモジュール群です。Denoを使って様々なプログラムを作成する上で必要となる基的な機能を提供しています。 標準モジュールを使う際には以下の例のようにhttps://deno.land/std名前空間から必要な機能をインポートして使います。たとえば、HTTPサーバーを使用する例は以下のようになります。 import { serve } from "https://deno.land/std@0.170.0/http/server.ts"; serve(() => new Response("he

    Deno標準モジュール解説[前編] ~Deno標準モジュールの概要と、モジュール解説(Archive~FMT) | gihyo.jp
    t_43z
    t_43z 2023/01/30
  • 今からはじめる、データエンジニアリング・ロードマップ | gihyo.jp

    データエンジニアリングとは何か 昨今、データドリブンな経営・事業推進の重要性が日に日に高まってきていますが、それを実現するためにはデータの分析環境(≒データ分析基盤)が必要不可欠です。しかしながらデータ分析基盤を構築・運用するためには、専門性の高いデータエンジニアリングのスキルやノウハウを身につける必要があります。 この記事ではデータエンジニアリングを実践するにあたって「何が必要か」「⁠どうキャッチアップすれば良いのか」を説明していきます。 なお、記事は筆者の経験則に基づく解釈が多く含まれております。より客観的に学びたい方に向けて参考文献も記載しておりますので、併せてご参照頂けますと幸いです。 データ分析基盤の必要性 データ分析やデータ活用を行うシステム基盤のことを、データ分析基盤と言います。 通常分析に必要なデータは企業内に散在しており、分析するためには1箇所に集約する必要があります。

    今からはじめる、データエンジニアリング・ロードマップ | gihyo.jp
    t_43z
    t_43z 2022/11/01
    よいまとめ
  • 第3回 ドワンゴがFPGAを使った開発に乗り出したワケ | gihyo.jp

    自由に設計できる集積回路であり、また仕様変更なども容易なLSIの一つとして注目を集め始めているのがFPGA(Field-Programmable Gate Array)です。このFPGAをニコニコ動画などのサービスに応用するプロジェクトに携わる、ドワンゴの宮崎賢一氏と小嶋尚氏にお話を伺いました。 写真1 小嶋尚氏(手前)と宮崎賢一氏(奥) FPGAのメリットは圧倒的な効率の良さ ――ドワンゴでFPGAを使った開発を進めていると伺いました。どのようなプロジェクトなのでしょうか。 小嶋:書き換え可能な集積回路であるFPGAを利用した開発を進めていて、その用途の一つとして考えているのが動画のエンコードです。現状は汎用のCPUを使っていますが、汎用CPUでは計算量的に効率が良くないことをFPGAで実現していきたいと思っています。またFPGAはさまざまな用途に使えるので、たとえば現在ホットな機械学習

    第3回 ドワンゴがFPGAを使った開発に乗り出したワケ | gihyo.jp
  • 第2回 大量トラフィックを支えるインフラ~独自プロトコル、ファイルシステムの実装もいとわない!~ | gihyo.jp

    ドワンゴのエンジニア魂 第2回大量トラフィックを支えるインフラ~独自プロトコル、ファイルシステムの実装もいとわない!~ 大量のユーザーを抱える「ニコニコ動画(ニコ動⁠)⁠」⁠「⁠ニコニコ生放送(ニコ生⁠)⁠」をさらに進化させるべく、ドワンゴでは土台となる基盤を見直し、大幅なアップデートを実施した。ドワンゴのエンジニアである原耕司氏(写真1⁠)⁠、太田健氏(写真2⁠)⁠、川平航介氏(写真3)の3名にお話を伺い、プロトコルや分散ファイルシステムまで独自に開発したという、このプロジェクトの真相に迫った。 将来のサービス拡充に向けて土台を整備 ――今回、サービスの基盤部分を大幅に刷新された理由は何でしょうか。 原:ニコ動は、サービスの提供開始から時間が経ったことで裏側のコードが複雑になっており、これから新たな機能をバンバン追加するのが厳しい状況になっていました。そこで、将来的なサービス拡充に対応で

    第2回 大量トラフィックを支えるインフラ~独自プロトコル、ファイルシステムの実装もいとわない!~ | gihyo.jp
    t_43z
    t_43z 2017/02/24
  • 第1回 ニコ動/ニコ生 HTML5化への奮闘~ドワンゴ流動画配信サービスのつくりかた~ | gihyo.jp

    不動の人気を誇る動画配信サービス「ニコニコ動画」(⁠ニコ動)と「ニコニコ生放送」(⁠ニコ生)において、動画プレーヤのHTML5化、そしてバックエンドシステムの刷新が図られました。このプロジェクトの背景や使われた技術、苦労したポイントなどについて、ドワンゴのエンジニアである七田弘志氏(写真1⁠)⁠、後藤哲志氏(写真2⁠)⁠、三須健太郎氏(写真3)にお話を伺いました。 フロントエンドのみならず、バックエンドシステムも刷新 ─⁠─どのようなきっかけから、HTML5化プロジェクトが始まったのでしょうか。 七田:大きな要因となったのは、主要WebブラウザでFlashのサポートを打ち切るという方針が示されたことですね。今までもスマートフォンやテレビデバイスなどではHTML5プレーヤを実現できていたのですが、PC版のページは既存機能が大きく、プレーヤの作り変えが後手に回っていた部分が大きかったんです。そ

    第1回 ニコ動/ニコ生 HTML5化への奮闘~ドワンゴ流動画配信サービスのつくりかた~ | gihyo.jp
  • 大学におけるGitHub/GitHub Educationの活用事例 〜慣れることがソーシャルコーディングの道を拓く | gihyo.jp

    新春特別企画 大学におけるGitHubGitHub Educationの活用事例 〜慣れることがソーシャルコーディングの道を拓く あけましておめでとうございます。京都産業大の玉田です。旧年中は、GitHubに大変お世話になりました。みなさまの中にもそのような人が多いのではないでしょうか。 日でもGitHubを利用する企業が増えてきており、昨年6月に、GitHub Japanが設立されました。一方で、GitHubは未来の開発者の育成についても意欲的に行っています。例えば、GitHub Patchworkという初心者向けのイベントを世界各国で実施したり、GitHub Educationという制度が整備されていたりします。 稿では、このうちのGitHub Educationに着目し、GitHub Educationとは何か、GitHubGitHub Educationを大学という教育現場

    大学におけるGitHub/GitHub Educationの活用事例 〜慣れることがソーシャルコーディングの道を拓く | gihyo.jp
  • PHPの生みの親、ラスマス・ラードフ氏インタビュー | gihyo.jp

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

    PHPの生みの親、ラスマス・ラードフ氏インタビュー | gihyo.jp
  • 第1回 シンプル・軽量な構成管理ツールItamae | gihyo.jp

    はじめに はじめまして。クックパッド株式会社の荒井(@ryot_a_rai)と申します。 今回から全5回、構成管理ツールであるItamaeの入門から実際の活用例までを解説していきます。今まで構成管理ツールを使ったことがなかった方から、Itamaeをすでに使っている方まで、ぜひご覧ください。 Itamaeとは Itamaeは筆者が中心となって開発を進めているオープンソースの構成管理ツールです。同様のツールとしてはPuppet、Chef、Ansibleなどが有名ですが、ItamaeはChefに影響を受けています。Chefの記述性・柔軟性を持ちながら、シンプルで導入しやすい構成管理ツールを目指して開発が進んでいます。 構成管理ツールの必要性 Itamaeの解説を始める前に、構成管理ツールを使う理由について軽く考えてみたいと思います。 サーバ構築の自動化 手動構築の手間と時間を減らす 手動構築によ

    第1回 シンプル・軽量な構成管理ツールItamae | gihyo.jp
    t_43z
    t_43z 2015/08/03
  • 第1章 関数プログラミングは難しくない!―初めて学ぶ人にも、挫折した人にもきちんとわかる | gihyo.jp

    [入門]関数プログラミング―質の高いコードをすばやく直感的に書ける! 第1章関数プログラミングは難しくない!―初めて学ぶ人にも、挫折した人にもきちんとわかる マルチコア環境が身近になった影響からか、勉強熱心なプログラマの間で関数型言語が話題になっているようです。関数型言語が奨励する関数プログラミングでは、これまで命令型言語で習得した、命令プログラミングの再代入を使う技法があまり通用しません。そのため、「⁠関数型言語は難しい」と言って途中で投げ出してしまう人も多いようです。 この特集では、関数プログラミングの習得を一度諦めてしまった人や、これから始める人のために、関数プログラミングのポイントをできるだけわかりやすく説明します。 筆者がわかるようになるまで 実は筆者も長い間、関数プログラミングを習得できませんでした。筆者は、長年Emacs Lispを使って、Mewというメールリーダーを開発して

    第1章 関数プログラミングは難しくない!―初めて学ぶ人にも、挫折した人にもきちんとわかる | gihyo.jp
  • 第1回 AWS CLIをインストール | gihyo.jp

    はじめに 今インフラエンジニアをやっているんだけど、どうもクラウドとかって最近流行っているらしい。やってはみたいが、ブラウザでいろいろ操作するとなると、覚えなきゃいけないことがたくさんありそうだ。 そもそも、ブラウザでインフラを管理することに対してどうしても違和感を感じている。コマンドラインでの操作のほうがプロっぽくてかっこいいし、何より速い。クラウドに触れていかなきゃいけないのはわかっているけど、何から初めていいかわからない。 けど、ふとこんなものを見つけたんだ。AWS Command Line Interface(CLI)。 AWSをコマンドラインで操作するというなんとも俺好みのツール。 今から俺はこのAWS CLIでクラウドを使いこなしてやるんだという気持ちを忘れないために、やったことを書いて残していくことにした。 AWS CLIのインストール AWS CLIをインストールにはPyt

    第1回 AWS CLIをインストール | gihyo.jp
    t_43z
    t_43z 2014/12/19
  • 2014年12月12日号 “Snappy” Ubuntu Core・Ubuntu Make・UWN#395 | gihyo.jp

    Snappy Ubuntu Core 「aptやyumはもう古い」という時代がやってくるかもしれません。12月9日に、「⁠Snappy Ubuntu Core」と呼ばれる新しいUbuntuファミリーが発表されました。 Snappy Ubuntu Coreは、既存のUbuntu Core[1]に相当する「ミニマムな」Ubuntuで、Ubuntu Touch用に開発された新世代のパッケージシステムを採用した「クラウド環境やコンテナ環境を前提にした」OSです。このプロジェクトはきわめて野心的なチャレンジで、Linux環境のありかたを大きく変化させる可能性を秘めています。 Snappy Ubuntu Coreの特徴は次の点です。 OSコア部分と、アプリケーションを動かすためのファイルシステムが完全に隔離されている。 OSコア部分は読み込み専用だが、任意にイメージを差し替えることでアップデートが可能

    2014年12月12日号 “Snappy” Ubuntu Core・Ubuntu Make・UWN#395 | gihyo.jp
    t_43z
    t_43z 2014/12/12
  • 本日12月1日より、プログラマ有志による2014年の技術系Advent Calendarが各所ではじまる | gihyo.jp

    日12月1日より、プログラマ有志による2014年の技術系Advent Calendarが各所ではじまる 日12月1日より、プログラマ有志による2014年の各技術系Advent Calendar(アドベントカレンダー)が一日目を担当する人のblogではじまっている。技術系Advent Calendarの数の増加傾向は今年も続いており、Qiitaを利用したものがとても多くなっている。 一般的なAdvent Calendarは、12月25日のクリスマスを楽しみに待つために、12月1日から24日までのカレンダーの日付それぞれの部分が扉になっており、1日ずつその日の日付の部分を開くと天使や動物の絵などが見えるという仕組みになっている(もちろん、様々なバリエーションがある⁠)⁠。 これに発想をえて、技術系Advent Calendarでは基的に、12月1日から25日までの25日間、特定のプログラ

    本日12月1日より、プログラマ有志による2014年の技術系Advent Calendarが各所ではじまる | gihyo.jp
  • 続・Firefox OSアプリ開発マニュアル 記事一覧 | gihyo.jp

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

    続・Firefox OSアプリ開発マニュアル 記事一覧 | gihyo.jp
  • 第1回 藤本真樹―グリーを初期から支えるCTO | gihyo.jp

    Webエンジニアのキャリアにはどんな道があるのか、先頭を走ってるいろいろなエンジニアに話を伺うインタビュー連載。第1回はグリーCTOの藤さんです。 [撮影:平野正樹] CTOの役割 ─⁠─私舘野も最近CTO[1]になって、長年CTOをされている藤さんが、CTOに対してどんな考えをお持ちなのかを聞かせていただければと思い、日はお伺いしました。突然ですが、ぶっちゃけCTOってエンジニアなのでしょうか? 藤:純粋な意味ではエンジニアではないですね。もちろん技術の知識は必要で、エンジニアリングも業務で兼ねたりしますけど、それだけじゃないですよね。 ─⁠─大きな技術ビジョンを描いて、それに対して貢献したりとかでしょうか? 藤:そうですね。会社がある程度大きくなると、そこに経営視点で貢献したり、技術と事業を結び付けたりなど、全体の舵取りをする必要があります。そういう意味ではいちエンジニアでは

    第1回 藤本真樹―グリーを初期から支えるCTO | gihyo.jp
  • 第1章 効率的に学ぶには―知識の3つの軸と学びの3つのフェーズ | gihyo.jp

    新社会人のみなさん、こんにちは。特集は、新しいものを学ぶ際に出会う問題について解決するための糸口を提供するために書きました。 みなさんは、「⁠IT業界は変化が激しいので学び続けることが必要だ」と聞いたことがあるのではないかと思います。そしてそのことに異論はないはずです。だからこそ今、サイトを読んで何かを学ぼうとしているわけですよね。それはとても良いことです。 一方で、「⁠学びたいけど時間がない」「⁠何を学んだらよいかがわからない」「⁠社会人として成果を出していける自信がない」などの悩みを抱えている方も多いです。筆者はこの悩みを解決したいです。 限られた文字数では、みなさんの個別の問題を解決することはできません。そこで、みなさん自身で問題を解決していくための糸口を提供します。まず章では、第2章以降でより具体的な問題について説明するための材料となる、ちょっと抽象的な話をします。 知識には

    第1章 効率的に学ぶには―知識の3つの軸と学びの3つのフェーズ | gihyo.jp
  • GitHubが僕たちを、仕事の現場を変えた!──「GitHub Kaigi」レポート | gihyo.jp

    2014年6月1日(日⁠)⁠、東京・渋谷マークシティにおいて、GitHubユーザグループ主催によるイベント「GitHub Kaigi」が開催されました。500人の定員に対し800人を超える参加申し込みのあったこのイベントには、日におけるGitHub活用の第一人者たちはもちろん、米GitHub社から招いた開発者たちも登壇し、いずれ劣らぬ濃いセッションが繰り広げられました。ここではその様子を紹介します。 GitHub実践入門 ─⁠─ Pull Requestによる開発の変革 トップバッターとして登壇したのは、WEB+DB PRESS plusシリーズ『GitHub実践入門 ─⁠─ Pull Requestによる開発の変革』の著者である大塚弘記氏です。 『GitHub実践入門』の著者、大塚弘記氏 同氏はまず、「⁠GitHubを利用した開発の世界を知る」「⁠GitHubを(利用|活用)する違いを

    GitHubが僕たちを、仕事の現場を変えた!──「GitHub Kaigi」レポート | gihyo.jp
  • 第1回 Hubotとは何か | gihyo.jp

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

    第1回 Hubotとは何か | gihyo.jp
    t_43z
    t_43z 2014/05/12
    「ぎっとはぶ」のボットなので「はぼっと」と発音していましたが、ここに敗北を認めます。
  • 『Software Design』『WEB+DB PRESS』、PDFによる電子版発売開始 | gihyo.jp

    株式会社技術評論社は、同社の技術専門誌『Software Design』『⁠WEB+DB PRESS』の両誌のPDF版を、Gihyo Digital Publishingにて発売することを発表いたします。 『⁠WEB+DB PRESS』は初の電子化となります(総集編を除く⁠)⁠。 日2014年4月14日から年間定期購読受け付け開始 『Software Design』『⁠WEB+DB PRESS』とも、日より年間定期購読のお申込み受け付けを開始いたします。それぞれ、以下ページよりお申込みください。 『Software Design⁠』⁠ 『WEB+DB PRESS』 最新号からは単品での購入も可能 なお、単品でのご購入に関しては、各誌最新号(⁠『⁠Software Design 2014年5月号⁠』⁠:4/18発売、『⁠WEB+DB PRESS Vol.80⁠』⁠:4/24発売)から受け

    『Software Design』『WEB+DB PRESS』、PDFによる電子版発売開始 | gihyo.jp
    t_43z
    t_43z 2014/04/14
    とはいえ会社で定期購読するのはやっぱ紙の方が便利なんだよなぁ