タグ

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

  • 保守しやすく変化に強いソフトウェアを支える柱 自動テストとテスト駆動開発、その全体像 ~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
    jukuringo
    jukuringo 2024/01/18
  • 第560回 microk8sでお手軽Kubernetes環境構築 | gihyo.jp

    コンテナオーケストレーションシステムである「Kubernetes」は、プロダクション用途としてコンテナを使う上で重要な地位を得るに至りました。そこで今回は、そのKubernetesをローカルマシンでかんたんにお試しできる「microk8s」を紹介します。 シングルノードにのみ対応したKubernetes環境 Kubernetesと言えば、Dockerの運用に疲れた人をさらに地獄の谷に突き落とすツールとして、現在もっとも人気のあるソフトウェアのひとつです。単なるDockerを便利に使えるようにするもの、なんて安易な考えで手を出すと、まずはPod/ReplicaSet/Deployment/Serviceなどの一般的な意味はわかるものの、Kubernetes上の概念がよくわからない単語が襲ってきて、最終的にサーバーより先に脳が死にます。気で運用する気があるなら、まずはGoogleで働けるぐら

    第560回 microk8sでお手軽Kubernetes環境構築 | gihyo.jp
    jukuringo
    jukuringo 2019/03/15
  • 第44回 [最終回]vimキーバインドを提供するIdeaVIMについて | gihyo.jp

    はじめに 唐突ですが今回が最終回です。今までも好き放題書いてきましたが、最終回はさらに趣味に走ってIdeaVIMプラグインだけの話をします。 IdeaVIMとは、名前から想像できるようにvimの機能を再現するプラグインです。それなりに再現度が高いこともあり、地味に人気のあるプラグインです。筆者はかれこれ10年以上、このプラグインを愛用しています。 IdeaVIM歴史 プラグインの中でも古参のほうで、2003年にはすでに存在していました。もともとは一人の有志の方が作ったプラグインでしたが、作者のRick Maddyさんが「Java関係の仕事から離れそう」という事で、後継者を募ったところJetBrains社のOleg Shpynovさんが名乗り出ました。登場時から人気もあり、JetBrains社の人(いわゆる中の人)がコミッタになった事もあって、いつの間にかJetBrains公式プラグインと

    第44回 [最終回]vimキーバインドを提供するIdeaVIMについて | gihyo.jp
  • 第35回 バージョン管理 ─プロジェクト管理ファイルについて[後編] | gihyo.jp

    はじめに 「プロジェクト管理ファイルについて」三部作の最後は、.ideaディレクトリについてです。無駄に長いので、もうオススメ設定を公開しておきます。 リスト1 オススメのHOME>/.idea/.gitignoreの例 *.xml !/codeStyleSettings.xml !/copyright/*.xml !/fileColors.xml !/encodings.xml !/gradle.xml !/runConfigurations/*.xml !/inspectionProfiles/*.xml /inspectionProfiles/profiles_settings.xml !/scopes/*.xml /scopes/scope_settings.xml !/templateLanguages.xml !/vcs.xml なぜ、こうしたかは編のお楽しみです。 プロジェ

    第35回 バージョン管理 ─プロジェクト管理ファイルについて[後編] | gihyo.jp
  • 関数プログラミング実践入門 ──簡潔で,正しいコードを書くために

    2014年11月14日紙版発売 2014年11月14日電子版発売 大川徳之 著 A5判/400ページ 定価3,168円(体2,880円+税10%) ISBN 978-4-7741-6926-2 ただいま弊社在庫はございません。 →書の新版が発行されています。 書のサポートページサンプルファイルのダウンロードや正誤表など このの概要 長い歴史のある関数プログラミング。 メジャーな命令型言語の最近のバージョンでは,関数プログラミングの要素を取り入れた機能が入ってきました。 使っている言語の新機能をうまく活用し,より良い開発につなげるには,今,関数プログラミングを押さえておくことは効果的ではないでしょうか。 しかし,関数プログラミングにおける思考方法は,よく知られた構造化プログラミングやオブジェクト指向プログラミングのそれとは大きく違う面があります。 書き方がわかっても,考え方が伴わなけ

    関数プログラミング実践入門 ──簡潔で,正しいコードを書くために
    jukuringo
    jukuringo 2014/11/04
    なにこれタイトル買いしたくなるw
  • 第8回 LDAPデータ管理 | gihyo.jp

    連載では今までさまざまなソフトウェアとLDAPの連携を紹介してきたわけですが、今回は今までほとんど触れていなかったデータ管理についてお話ししたいと思います。 エントリの追加 リスト1のようなLDIFファイルが存在した場合を考えてみましょう。 リスト1 orig.ldif dn: dc=example,dc=com objectClass: dcObject objectClass: organization dc: example o: example dn: ou=People,dc=example,dc=com objectClass: organizationalUnit ou: People dn: cn=suzuki,ou=People,dc=example,dc=com objectClass: inetOrgPerson sn: suzuki cn: suzuki mail

    第8回 LDAPデータ管理 | gihyo.jp
  • Javaはどのように動くのか~図解でわかるJVMの仕組み 記事一覧 | gihyo.jp

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

    Javaはどのように動くのか~図解でわかるJVMの仕組み 記事一覧 | gihyo.jp
  • JavaScriptライブラリ実践活用[厳選111] | Gihyo Digital Publishing … 技術評論社の電子書籍

    Software Design plus JavaScriptライブラリ実践活用 [厳選111] 著者 WINGSプロジェクト 著 発売日 2013年3月21日 更新日 2013年3月21日

    JavaScriptライブラリ実践活用[厳選111] | Gihyo Digital Publishing … 技術評論社の電子書籍
    jukuringo
    jukuringo 2013/03/21
  • Haskellで書かれたWebフレームワーク「Yesod」のチュートリアル | gihyo.jp

    YesodというHaskellで書かれたWebフレームワークで簡単なアプリケーションを作成するチュートリアル記事です。 最近は関数型プログラミングの評価が高まりHaskellの書籍や情報が増えてきましたが、Haskell自体や関数型プログラミング特有の概念がネックになり、アプリケーションを作り上げることを楽しむリソースがあまり多くありません。記事執筆者はこの問題点を指摘し、当の初心者向けに書かれたドキュメントが足りないことからこの記事を作成するに至ったようです[1]⁠。 Haskellの主要Webフレームワークには、Yesod、Happstack、Snapの3つがありますが、その中で比較的初心者が取り組みやすくコミュニティが活発なことからYesodを取り上げています。このチュートリアルを読むにあたって、他言語のWebフレームワークを経験しているのであれば特にHaskell自体の知識は必要

    Haskellで書かれたWebフレームワーク「Yesod」のチュートリアル | gihyo.jp
  • 続・先取り! Google Chrome Extensions 記事一覧 | gihyo.jp

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

    続・先取り! Google Chrome Extensions 記事一覧 | gihyo.jp
  • 先取り! Google Chrome Extensions 記事一覧 | gihyo.jp

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

    先取り! Google Chrome Extensions 記事一覧 | gihyo.jp
  • 第20回 Javaアプリケーション向けの認証フレームワーク「Apache Shiro」 | gihyo.jp

    使いやすい認証機構を実現する「Apache Shiro」 今回取り上げる「Apache Shiro」は、Javaアプリケーション向けに開発された認証と承認のためのオープンソースのフレームワークです。Shiroを使うことで、ログインなどの認証の仕組みや、アクセス管理、セッション管理などといった機構を、容易にアプリケーションに付け加えることができるようになります。 JDKにはJAAS(Java Authentication and Authorization Service)という認証・承認サービスが用意されていますが、JAASで提供されるAPIはあまり使い勝手が良くなく、わかりにくいという意見が大多数を占めていました。ShiroはJAASよりも理解しやすく、簡単に利用できる認証・承認の仕組みを提供する目的で開発されました。Shiroを利用するメリットとしては次のようなものが挙げられています。

    第20回 Javaアプリケーション向けの認証フレームワーク「Apache Shiro」 | gihyo.jp
    jukuringo
    jukuringo 2011/11/01
    ちぇき
  • diffの動作原理を知る~どのようにして差分を導き出すのか | gihyo.jp

    UNIXの基的なコマンドの1つであるdiff。 これに実装されているアルゴリズムは実に興味深い世界が広がっています。 稿では、筆者が開発した独自ライブラリ「dtl」をもとに「diffのしくみ」を解説します。 はじめに diffは2つのファイルやディレクトリの差分を取るのに使用するプログラムです。 ソフトウェア開発を行っている方であれば、SubversionやGitなどのバージョン管理システムを通して利用していることが多いかと思います。稿ではそのdiffの動作原理について解説します。 差分の計算の際に重要な3つの要素 差分を計算するというのは次の3つを計算することに帰結します。 編集距離 2つの要素列の違いを数値化したもの LCS(Longest Common Subsequence) 2つの要素列の最長共通部分列 SES(Shortest Edit Script) ある要素列を別の要

    diffの動作原理を知る~どのようにして差分を導き出すのか | gihyo.jp
  • [動画で解説]和田卓人の“テスト駆動開発”講座 記事一覧 | gihyo.jp

    第16回プログラミング言語とTDDは、どちらを先にマスターすべきか? 和田卓人 2007-12-21

    [動画で解説]和田卓人の“テスト駆動開発”講座 記事一覧 | gihyo.jp
  • 第127回 ターミナルマルチプレクサ tmuxを使ってみよう | gihyo.jp

    端末で作業をするなら、特にsshなどでネットワーク後しに作業を行うなら、仮想端末管理ソフトウェアであるGNU Screenは必須といってよいでしょう。Ubuntu 10.04であれば、GNU Screenをさらに便利に使うためのアプリケーション「byobu」が最初から導入されているので、こちらを使っているユーザも多いと思います(byobuについては連載72回参照、注1⁠)⁠。 今週のレシピは、GNU Screenと同じ仮想端末管理ソフトウェアである「tmux」ターミナルマルチプレクサを紹介します。 GNU Screenの利点とは GNU Screenの利点を簡単におさらいしておきましょう。GNU Screenには多くの機能がありますが、筆者が主に使っているのは以下のような機能です。 GUIのタブ機能のように、複数の端末を起動して切り替えられる 端末を画面分割して使うことができる 端末上で

    第127回 ターミナルマルチプレクサ tmuxを使ってみよう | gihyo.jp
  • 第1回 まずはTitaniumを体験してみよう | gihyo.jp

    はじめまして、株式会社はてなでアプリケーションエンジニアをしている倉井龍太郎(id:r_kurain)と申します。この連載では、今もっとも注目集めているスマートフォンアプリ開発環境であるTitanium Mobile(以下Titaniumと省略)を使ったiPhone及びAndroidアプリケーションの開発方法について解説していきます。 Titaniumとは TitaniumはAppceleratorが開発しているスマートフォンアプリ開発環境です。iPhone/iPod/iPad であればObjectice-Cを使用して、AndoridであればJavaを用いて作成するネイティブアプリケーションが、どちらの環境でもJavascriptのみで開発できるようになるものです。Titanuiumは無料で利用することができます。サポートを受けるにはAppceleratorの有料プランに入会する必要が

    第1回 まずはTitaniumを体験してみよう | gihyo.jp
  • 第4回 オブジェクト指向の本質 | gihyo.jp

    エンジニアとして良い仕事をするために必要なこと ソフトウェア業界で日米を往復しながら仕事をしていると、世界中のさまざまなエンジニアに会う。私のように「プログラミングを心底楽しんでいる」人から、「⁠新3K」(⁠きつい・厳しい・帰れない)を身をもって体験している人までさまざまだが、共通して言えることは、エンジニアとしての基礎がしっかりできている人とできていない人では、その生産効率に大きな開きがあり、それが結果的には、会社での労働環境や待遇に、そして結果として自分自身にとっての「仕事の充実度」に、大きな影響を与えているということである。 いつも締め切りに追われている、毎回バグで苦しんでいる、徹夜の連続で体力に限界がきているなど、「⁠仕事がきつい」理由はいろいろとあると思うが、会社や上司の悪口を言う前に、自分自身がプロフェッショナルなエンジニアとしてこの業界で勝負をするうえで必要な最低限の基礎がで

    第4回 オブジェクト指向の本質 | gihyo.jp
  • zshで究極のオペレーションを 記事一覧 | gihyo.jp

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

    zshで究極のオペレーションを 記事一覧 | gihyo.jp
  • 第1回 シンプルで拡張性の高いシステム管理フレームワークFuncの概要 | gihyo.jp

    この連載では、Python製のシステム管理フレームワークFunc(Fedora Unified Network Controller)について、その概要から具体的な利用方法、モジュールによる拡張方法といった、システム管理の現場でFuncを利用するために必要な情報をお届けします。 第1回目はFuncの概要について解説します。Funcはフレームワークという性質上、具体的に何ができるのか、といったことがわかりにくいため、まずはPuppetとの対比で解説してみます。 「ツール」と「フレームワーク」 Puppetはシステム管理「ツール⁠」⁠、Funcはシステム管理「フレームワーク」と便宜的に呼び分けていますが、まずはこの違いからFuncの特性について説明します。 非常に大雑把ですが、「⁠ツール」はそれによって実現できることが明確で、誰にとっても同じもの、「⁠フレームワーク」は枠組みだけを提供して、使

    第1回 シンプルで拡張性の高いシステム管理フレームワークFuncの概要 | gihyo.jp
  • 第1回 詳説:デベロッパーツールの使い方 | gihyo.jp

    こんにちは、Google Chrome ExtensionsのAPI ExpertとChromium-Extensions-Japan管理人を担当している、太田と申します。いつもはクロスブラウザで連載していますが、今回はGoogle Chromeのデベロッパーツールについて紹介します。 昨今のJavaScriptHTMLCSSブームの背景には、開発環境、特にFirebugに代表されるようなデバッグツールの目覚しい発展が大きく貢献していると思われます。その反面、高機能化するデバッグツールの各種機能を使いこなすことが難しくなってきているという現実もあります。そこで、今回から全4回でGoogle Chromeに搭載されているデベロッパーツールの使い方とそれを利用したデバッグ・チューニングのノウハウをお届けしたいと思います。第1回はデベロッパーツールの機能紹介と基的な使い方を解説します。 な

    第1回 詳説:デベロッパーツールの使い方 | gihyo.jp