タグ

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

  • なんとなくから脱却する GitHub Actionsグッドプラクティス11選 | gihyo.jp

    記事のテーマはGitHub Actionsです。個人的に「もっと早く知りたかった!」と考えているグッドプラクティスを、厳選してお届けします。想定読者は次のとおりです。 普段GitHub Actionsを雰囲気で運用している人 GitHub Actionsをコピペや生成AIで乗り切っている人 他者が書いたコードの意味をより深く理解したい人 記事でGitHub Actionsの基は説明しません。グッドプラクティスを含めて基礎から学びたい人は、拙著『GitHub CI/CD実践ガイド』を読んでみてください。GitHub Actionsの基構文から運用のコツまで、網羅的に解説しています。さて書籍紹介はこれぐらいにして、さっそく題へ進みます。 GitHub Actionsの設計指針 GitHub ActionsはCI/CDや各種自動化で役立つ、汎用的なワークフローエンジンです。一般的に長期

    なんとなくから脱却する GitHub Actionsグッドプラクティス11選 | gihyo.jp
    kabukawa
    kabukawa 2024/10/24
  • 第9回 自動テストの実行結果 ~意思決定と行動を促す情報としての役割~ | gihyo.jp

    WEB+DB PRESS休刊に伴い、今回からWeb上で連載を継続させていただくことになりました。今後とも何卒よろしくお願いします。さて、あらためて連載の最近の連載のテーマを振り返りますと、それは「信頼性の高い実行結果に短い時間で到達する自動テスト群を組み上げ、ソフトウェアの成長を持続可能なものにする」となります。今回はそのなかから「実行結果」に光を当てます。 多くのテスティングフレームワークには実行結果の出力フォーマットを変更するオプションやプラグイン機構があり、自動テストはその実行結果を様々なフォーマットで出力します。それらテストの実行結果は「情報」であり、情報の役割とは意思決定と行動を促すことです。テストの実行結果が促す行動とはデプロイ、マージ、コードの修正などです。今回は、そのようなテスト実行結果出力の種類と目的についてまとめます。 信号機としてのテスト出力 意思決定から行動へつな

    第9回 自動テストの実行結果 ~意思決定と行動を促す情報としての役割~ | gihyo.jp
    kabukawa
    kabukawa 2024/02/29
  • 保守しやすく変化に強いソフトウェアを支える柱 自動テストとテスト駆動開発、その全体像 ~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
    kabukawa
    kabukawa 2024/01/16
  • 第774回 Ubuntuへのログイン認証をAzure ADで行う方法 | gihyo.jp

    誰もが自由にコンピューターやサービスを勝手に利用できてしまっては、セキュリティ上問題があります。そこで現代的なOSやWebサービスは、使用開始前にユーザー名とパスワード(あるいはセキュリティキーや生体情報など)を利用し、自分が正当な利用者であることを証明しなくてはなりません。この行為を「認証」と呼びます。Ubuntuでもインストール時にユーザーを作成し、ログイン用のパスワードを設定しますよね。 家庭内の個人利用であれば、こうしたOS単位のユーザー認証でも問題ありません。しかし企業などでは、社員ごとにIDを発行し、そのIDを使って様々なITリソースへの認証を一元管理できると便利です。こうした要望を実現するため、従来ではActive DirectoryやOpenLDAPなどが利用されてきました。 Active Directoryはオンプレミスに設置し、組織内に閉じた使い方をするのが前提のディレ

    第774回 Ubuntuへのログイン認証をAzure ADで行う方法 | gihyo.jp
    kabukawa
    kabukawa 2023/08/09
  • 第5回 オープンソースは社会を変える、だから教育の形も変わる~中国の大学に新コース | gihyo.jp

    前回に続き、2021年10月30、31日の2日間にわたって開かれた「中国オープンソース年度大会」(⁠COSCON21:China Open Source CONference)から注目のセッションを紹介します。今回は、オープンソースが大学教育を変えようとしている話です。 北京大の周教授が語る「理想と商業の間で揺れるオープンソースの歴史」 北京大で計算機科学を専攻する周明辉教授は、「⁠开源技术的发展 ― 理想主义和商业的博弈历史」つまり「技術と商業の間で揺れるオープンソースの歴史」というタイトルで、ストールマンとGNUといった歴史の話から始まり、クラウドネイティブの時代になってオープンソースの商用利用が全盛を迎えた話を中心にOSS商用化について語りました。 実際に、Red Hatなどのサポートでコストを回収していた時代から、現在Cloudera、Confluentなどのオープンコアサービスが

    第5回 オープンソースは社会を変える、だから教育の形も変わる~中国の大学に新コース | gihyo.jp
    kabukawa
    kabukawa 2022/03/15
  • 第167回 M1搭載MacのDockerでMySQLを動かしてみる | gihyo.jp

    2020年11月に発表されたMacBook Airから搭載されているM1チップというCPUがあります。こちらは従来のMacに搭載されていたCPUがx86/64の命令セットとは異なり、ARMアーキテクチャを採用しているという違いがあります。発売から1年以上たち、インテル製のCPUを搭載したMacがラインナップから無くなったので、次もしMacを購入するとなるとM1チップ搭載のMacを購入することになります。 今回は、その際に問題が起こりがちなDockerでの開発環境の構築について、紹介していきたいと思います。 DockerMySQLを動かしてみる まずは、dockerコマンドでMySQLを指定して動かしてみようと思います。 % docker run -p 3307:3306 -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:latest Unable

    第167回 M1搭載MacのDockerでMySQLを動かしてみる | gihyo.jp
    kabukawa
    kabukawa 2022/03/15
  • 第690回 BCCでeBPFのコードを書いてみる | gihyo.jp

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

    第690回 BCCでeBPFのコードを書いてみる | gihyo.jp
    kabukawa
    kabukawa 2021/11/05
  • 第4回 『関心空間』とWiki(その3) | gihyo.jp

    “つながり”の生まれ方、作り方 つながりがないから“つながり”を目指す 前田: 最初のアンケートでいただいたメール[1]を拝見して「つながりがない」という発想が自分と近いと思ったんです。僕もネットサービスを考えるときにいつも逆の発想から入りますから。 サービスを始めるとき、別にコミュニティを作りたいわけじゃないんです。違和感があるものを、自分の中で整合性のあるものにしようというときに、たまたま作ったものが世の中的にコミュニティと言われて困っちゃう、みたいな(笑⁠)⁠。つながりをテーマにしているけど、単に人とベタベタしたいわけじゃないんですよね。 自分の中に“⁠異質なもの⁠”⁠、しかも、それが排除したいものではない違和感があるんですよ。それを言葉にすると“⁠つながり⁠”になるわけで。この考え方で見るとWebはつながりだらけですよね。これからは、膨大な量の中から、どうやって有益なつながりを見つ

    第4回 『関心空間』とWiki(その3) | gihyo.jp
    kabukawa
    kabukawa 2020/09/29
  • 第3回 WhiteSource+Jiraの連携でDevSecOpsをやってみよう(前編) | gihyo.jp

    はじめに 過去の連載「業務を改善する情報共有の仕掛け」の第1回と第2回では、DevOps実現のための基盤作りについてお話をしました。今年はDevOpsにセキュリティの観点を加えたDevSecOpsにフォーカスし、前回の「DevOpsからDevSecOpsへの近道」で、Sec領域を担うソフトウェアコンポジション解析[1]ツールWhiteSourceについて紹介しました。今回は、WhiteSourceのコンポジション解析の流れを確認したあと、DevOpsを支援するツールとWhiteSourceの統合について紹介します。 WhiteSourceの解析のしくみ WhiteSourceはバージョン管理システムやCIツールと連携し、さまざまなタイミングでコンポジション解析を実行できます。ここでは一番ベーシックな方法として、WhiteSourceが提供するUnified Agentと呼ばれるツールを使っ

    第3回 WhiteSource+Jiraの連携でDevSecOpsをやってみよう(前編) | gihyo.jp
    kabukawa
    kabukawa 2019/08/21
  • 第36回 Perlのテストモジュールの使い方・作り方-Test::More、Test::Builder、Test::Stream、そしてPerl 6(1) | gihyo.jp

    Perl Hackers Hub 第36回Perlのテストモジュールの使い方・作り方-Test::More、Test::Builder、Test::Stream、そしてPerl 6(1) 連載では第一線のPerlハッカーが回替わりで執筆していきます。今回のハッカーは、Perl関連のイベント 「⁠吉祥寺.pm」の主催などで知られるMagnolia.Kさんで、テーマは「テストモジュールの使い方・作り方」です。 稿のサンプルコードは、WEB+DB PRESS Vol.90のサポートサイトから入手できます。 Perlにおけるテスト 読者のみなさんはテストを書いていますか。 Perlは昔からテストをとても大事にしてきた言語です。テストを書くために必要なテストモジュールはコアモジュールとしてPerl体と一緒にインストールされていて、すぐにテストが書ける環境が用意されています。CPANにアップされ

    第36回 Perlのテストモジュールの使い方・作り方-Test::More、Test::Builder、Test::Stream、そしてPerl 6(1) | gihyo.jp
    kabukawa
    kabukawa 2016/04/18
  • 第12回 Web API利用の基礎を見直す | gihyo.jp

    みなさんこんにちは。teratail開発チームの出川です。 APIとはApplication Programming Interfaceの略で、Web APIはHTTPを通じてアプリケーションを扱うことができるインターフェースです。世の中のWebサービスには、そのAPIを公開しているものが多々あります。Web APIが公開されていると、他のソフトウェアから二次的にそのWebサービスを利用することができます。 Web APIを公開しているサービスは次々と増えています。teratailもユーザが自由に使えるWeb APIを公開していて、サイト内の質問や回答の情報を二次利用することができます。 teratail API |teratail(テラテイル) https://teratail.com/api 参考:teratail-archive http://argius.net/teratail-

    第12回 Web API利用の基礎を見直す | gihyo.jp
    kabukawa
    kabukawa 2016/04/06
  • 第6回 レポート形式自由自在 ~R MarkdownからWord、PDF形式への変換~ | gihyo.jp

    はじめに これまでの連載ではR MarkdownによってHTMLレポートを作成する方法を解説してきました。個人的にな経験から言えば、R Markdownによるレポート作りのオートメーション化では、 HTMLレポートを使う 細かい見た目、フォーマットやスタイルを気にしすぎない という2点を守ることが、効率化への近道だと感じています。 ところが世の中とは理不尽なもので、これが許されない状況もあるようで、例えば「そのレポートワードでくれ」とか「ブラウザでレポート見るとかアリエンアリエン。PDFでよろしく。」とか……。 R Markdownでは、HTML以外にも様々な形式のレポートを作成することができます(実際はPandocの力によるところが大きいです⁠)⁠。そこで、今回と次回でHTMLレポート以外の形式のレポートを作成する方法を解説していきます。 とは言っても、レポートを作成する流れはこれまでと

    第6回 レポート形式自由自在 ~R MarkdownからWord、PDF形式への変換~ | gihyo.jp
    kabukawa
    kabukawa 2015/07/17
  • 第1回 Webの「速さ」について考える | gihyo.jp

    はじめに スマートフォンの流行、ソーシャルの活発化が進む中で、Webは単にPVを求めるのみならず、ユーザのエンゲージメントを掴みとるUXが求められるようになりました。 特に注目すべきはモバイル。デスクトップ主流の時代より制限が強くなったネットワーク、狭いスクリーン、そしてマウスやキーボードはどこにもありません。ちょっとしたことで、ユーザは「待つ」という行為を強いられるでしょう。 インターネットの情報は日々増え続け、モバイルでいつでもつながれる以上、それをどのような形でユーザへ届けるのかが、競合との勝負に勝つカギとなってきます。「⁠待つ」という行為は、人の集中を発散させ、気持ちを別の関心事へと吸い寄せてしまいます。たとえ欲しいと思う情報がそのWebサイトにあったとしても、「⁠待つ」という行動が伴っただけで、簡単に諦めさせてしまいます。他のもっと楽しいことに、時間を使おうとしてしまいます。 で

    第1回 Webの「速さ」について考える | gihyo.jp
    kabukawa
    kabukawa 2015/06/12
  • 第23回 Rackとは何か(1)Rackの生まれた背景 | gihyo.jp

    はじめに SinatraやRamazeといったRubyのWebアプケーションフレームワークに興味をお持ちの方であれば、Rackという名前をしばしば目にしているかもしれません。どうやら様々なフレームワークに使われているらしいのだけど、そいつが一体なんなのかよくわからない、そんなあなたのために今日はそのRackをご紹介したいと思います。 様々なフレームワーク、様々なアプリケーションサーバ しばらく前なら、Ruby on Railsブームの真っ只中、Rubyと言えばRails、Webアプリケーションを作るならRails、といったイメージを持たれていた方も多かったと思います。実際にWebアプリケーションを作ったり、Rubyに触れたりしたきっかけがRailsだったという方も多いでしょう。 しかし最近は、RubyのWebアプケーションフレームワークと一口に言っても、非常に簡単にアプリケーションが書けて

    第23回 Rackとは何か(1)Rackの生まれた背景 | gihyo.jp
    kabukawa
    kabukawa 2015/03/23
  • 第1回 JavaScriptの基礎を見直す | gihyo.jp

    連載のはじめに みなさんこんにちは、今回より「聞いたら一生の宝、プログラミングの基礎の基礎⁠」⁠ の連載を担当させていただく橋佑介です。 記事では、広く利用されている技術から新しい技術まで、基的な部分を現場のエンジニアの声を取り上げつつ解説していきます。習得している方にとっては振り返りとなり、また今から学ぶ方にとっては同じ疑問にぶつかった方の意見が参考になれば幸いです。 現場のエンジニアの声は私が開発に携わっている技術系QAサイトteratailから抜粋しています。 第1回では、現在では様々な環境で利用されているJavaScriptの基礎をteratailの初心者投稿とともに振り返っていきます。 JavaScript JavaScriptは主にウェブブラウザを実行環境とし、動的なウェブサイト構築などに利用されてきました。 また、今ではNode.jsをサーバサイドで利用することが増え、

    第1回 JavaScriptの基礎を見直す | gihyo.jp
    kabukawa
    kabukawa 2015/02/21
  • Javaはどのように動くのか~図解でわかるJVMの仕組み 記事一覧 | gihyo.jp

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

    Javaはどのように動くのか~図解でわかるJVMの仕組み 記事一覧 | gihyo.jp
    kabukawa
    kabukawa 2013/05/12
  • 第1回 Meteorをはじめよう | gihyo.jp

    Meteorとは? Meteorは、2012年4月に彗星のように登場した、新たなアプリケーションプラットフォームです。この原稿の執筆時で、バージョンは0.3.6とされており、まだまだプレビュー版の域は超えていません。また、現状ではUNIX環境(MacOS Xを含む)でしかうまく動作しないようです。 しかし、Webアプリケーション開発をとことんまで素早く、楽に行えるようにするためのさまざまな仕組みが盛り込まれていることから、登場直後からかなりの注目を集めています(公式サイトには、「⁠1日か2日でプロトタイプを、2~3週間で製品レベルのアプリを構築できるようにする」とあります⁠)⁠。 MeteorはMITライセンスに基づくオープンソースプロジェクトとして、Github上で公開されています。現在4人の開発者がフルタイムで開発に従事しており、1年以内に1.0をリリースする予定だとされています。 M

    第1回 Meteorをはじめよう | gihyo.jp
    kabukawa
    kabukawa 2012/05/23
  • 機械学習 はじめよう 記事一覧 | gihyo.jp

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

    機械学習 はじめよう 記事一覧 | gihyo.jp
    kabukawa
    kabukawa 2011/11/24
  • 第9回 原発事故から学ぶ「システム設計」の重要性 | gihyo.jp

    エンジニアの役割 福島第一原発での事故は、私たちにいろいろなことを教えてくれた。畑違いとはいえ、エンジニアの一人として最初に感じたのは、「⁠エンジニアたちはいったい何をしていたんだ?」「⁠システムアーキテクトはいたのか?」という疑問である。 核エネルギーを発見したのは科学者たちである。そして、そのエネルギーは原子爆弾だけでなく、発電にも使えるかもしれないと考えたのも科学者たちである。科学者たちの仕事は、自然を観察し、法則を見つけ出し、そこから私たちの生活や経済活動に役に立つ可能性のあるものを見つけることである。その意味では、「⁠原子力の平和利用」という発想はすばらしいものであった。 一方、原発を日のエネルギー政策の中心に置いたのは政治家である。その政策に従い、日各地に原発を作り、そこで作った電力を販売しようと決めたのは電力会社のビジネスマンたちである。彼らの仕事は、国なり会社なりの枠組

    第9回 原発事故から学ぶ「システム設計」の重要性 | gihyo.jp
    kabukawa
    kabukawa 2011/09/20
  • [はまちちゃんのセキュリティ講座]ここがキミの脆弱なところ…!:第1回 HTTPのしくみを復習しよう|gihyo.jp … 技術評論社

    こんにちはこんにちは ! ! はまちや2です! 今日からぼくと一緒にWebプログラミングのセキュリティについて、ちょっぴり勉強してみませんか!今回はHTTPがどんなやりとりをしているのか、簡単におさらいしてみましょう!

    [はまちちゃんのセキュリティ講座]ここがキミの脆弱なところ…!:第1回 HTTPのしくみを復習しよう|gihyo.jp … 技術評論社
    kabukawa
    kabukawa 2011/06/03