タグ

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

  • 第579回 高速で便利なgrep「ripgrep」を活用する | gihyo.jp

    数多くあるUnixコマンドの中でも、もっとも利用頻度の高いもののひとつがgrepではないでしょうか。設定ファイルやログから該当する箇所を調べたり、ソースコードを検索したり、あるいはパイプラインのフィルタとして利用したりと、あらゆる場面で活躍する超基ツールです。 とはいえgrepは機能がシンプル過ぎるため、もう少し空気を読んだ、賢い検索をしてくれる代替ツールもまた数多く存在します。たとえば連載287回ではThe Silver Searcher(ag)を紹介しました。 とはいえこれはもう6年も前の記事です。ag以降も、いろいろな検索ツールが登場しています。そこで今回はさらに高速な検索ツールである、ripgrepを紹介します。 ripgrepとは ripgrepとは、公式サイトによると「ripgrep recursively searches directories for a regex

    第579回 高速で便利なgrep「ripgrep」を活用する | gihyo.jp
  • 羽生章洋『はじめよう!システム設計』刊行記念特別インタビュー~角征典から見た2018年の上流工程とカスタマーエクスペリエンスの時代 記事一覧 | gihyo.jp

    羽生章洋『はじめよう!システム設計』刊行記念特別インタビュー~角征典から見た2018年の上流工程とカスタマーエクスペリエンスの時代 記事一覧

    羽生章洋『はじめよう!システム設計』刊行記念特別インタビュー~角征典から見た2018年の上流工程とカスタマーエクスペリエンスの時代 記事一覧 | gihyo.jp
  • 第458回 UbuntuでDocker再入門 | gihyo.jp

    高速で軽量な仮想環境を構築できるDockerは、その利便性から、ソフトウェアの開発者にとってもシステムの管理者にとっても使い方を知っておくべきソフトウェアとしての地位を確立しつつあります。今回はより新しいDockerをUbuntu上で使う上で、気をつけるべきことをおさらいします。 UbuntuにおけるDocker 2017年7月追記:Dockerのリリースポリシーの変更にあわせて、リポジトリのURLやパッケージ名が変更になりました。記事は新しい手順に更新済みです。記事中の「docker-engineパッケージ」は「docker-ceパッケージ」と読み替えてください。 Dockerはカーネルのコンテナ技術などを利用して、アプリケーションをサンドボックス環境の中で動かす仕組みです。Dockerでは最小限のルートファイルシステムである「Dockerのベースイメージ」の上に、各種ソフトウェアのイ

    第458回 UbuntuでDocker再入門 | gihyo.jp
  • そろそろLDAPにしてみないか?:第7回 ApacheのBasic認証をLDAPで|gihyo.jp … 技術評論社

    Basic認証の危険性とLDAP化の概要 多くの読者の皆さんがご存じのように、パスワード認証を要求するWebページをApache上で作成するためには、通常は.htaccessと.htpasswdなどを用いたBasic認証を使用します。 たとえば、http://www.example.com/secret/以下にてパスワード認証を実現するには次のような設定を行うのが一般的でしょう。 リスト1 .htaccessやhttpd.confの設定(部分) AuthUserFile /home/passwd/.htpasswd AuthGroupFile /dev/null AuthName "Secret Area" AuthType Basic require valid-user リスト2 /home/passwd/.htpasswdの例 tanaka:vDVcobip.AMqE suzuki:

    そろそろLDAPにしてみないか?:第7回 ApacheのBasic認証をLDAPで|gihyo.jp … 技術評論社
  • ページが見つかりません|gihyo.jp … 技術評論社

    指定されたページは,サイト内に見つかりませんでした。 以下の手順をお試しください。 URLを直接入力した場合,入力ミスがないかご確認ください。 リンクを辿ってきた場合,リンクミスが考えられます。リンク元サイトの管理者にお問い合わせください。 該当するページについての情報をお持ちの場合,サイト上部にある検索ボックスから検索するか,トップページから該当するリンクを辿ってください。

    ページが見つかりません|gihyo.jp … 技術評論社
    p_tan
    p_tan 2016/05/19
    これ、さもその課長が悪いみたいな印象受けるけど、そんな簡単に障害が起こせてしまえるネットワークの仕組みの方が問題なわけで。
  • 第9回 CSS設計の基礎を見直す | gihyo.jp

    みなさんこんにちは。teratail開発チーム デザイナーの平井優です。 Webサービスの制作において、閲覧者にとって情報を視覚的に伝わりやすくするためにはページのスタイル調整が欠かせないと思います。そんな重要な役目を担っているのがCSS(Cascading Style Sheets)というスタイルシート言語です。CSSを利用すればHTMLで記述された文書を読みやすくするだけでなく、3D、アニメーションなどのリッチな表現も可能になります。 そんな便利なCSSなのですが、長期的に運用していると予想外の不具合や、ほんの少しの変更をするだけで見た目が大きく崩れてしまうといった問題がしばしば起こってしまいます。 [参考]teratailでの質問件数(2015/12時点) CSS:761件 CSS3:327件 今回は、そういった不具合によって“⁠後で困らない⁠”ために、「CSSの設計」の基的な考え

    第9回 CSS設計の基礎を見直す | gihyo.jp
  • 第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
  • 第5回 レポートを彩るデータ可視化 ~グラフとテーブルとダイアグラム~ | gihyo.jp

    データを扱うレポートには、グラフやテーブルなど、データの可視化が不可欠です。今回は特にR MarkdownHTML形式のレポートを作成する時に役立つ可視化手法について紹介します(PDFレポートなどでも使える手法もあります⁠)⁠。可視化においてもコピペ汚染の排除、再現性の確保、すなわちオートメーション化が最重要課題であることに変わりはありません。今回紹介する手法は全て、外部グラフ作成ツールやテーブル作成ツールなどを使うこと無く、.Rmdファイルの中で完結できるようになっています。 なお、それぞれの手法についての詳細な解説は避けて、どのようなことができるのかを広く浅く紹介します。というのも、レポートを作る際には自分が使う手法をきちんと使えれば充分で、全ての手法に精通している必要はないからです(誌面が足りないというのと執筆時間が足りないというのもあります⁠)⁠。今回の記事を一通り眺めてもらって

    第5回 レポートを彩るデータ可視化 ~グラフとテーブルとダイアグラム~ | gihyo.jp
  • 第2回 レポートづくりを加速せよ ~R Markdown環境の導入&チュートリアル~ | gihyo.jp

    前回はレポートづくりのオートメーション化がもたらすメリットについてやや概念的な説明をしました。今回はR Markdown環境を導入し、レポート作成の手順を説明します。実際に簡単なレポートづくりを体験して、R Markdownの威力を味わってください。 また、実務を想定した(とは言っても非常に単純化したものですが)2種類のチュートリアルを用意しましたので、これらのチュートリアルを通してオートメーション化されたレポートづくりを自分の仕事の中でどう活かすか想像してみてください。 なお、連載記事に関する疑問・質問・コメントなどは著者Twitterアカウント(@kohske)でも受け付けていますのでお気軽にどうぞ。 R Markdown環境の導入 R Markdownを利用するには、 R {rmarkdown}パッケージ pandoc の3つのツールを導入する必要があります。 PDF形式のレポート

    第2回 レポートづくりを加速せよ ~R Markdown環境の導入&チュートリアル~ | gihyo.jp
  • 第4章 木構造とハッシュ―平衡二分探索木「赤黒木」で知る豊かなデータ型 | gihyo.jp

    この章ではリストから一歩進み、永続データとして利用できる木構造を説明します。木構造の例として赤黒木という平衡二分探索木を取り上げ、ハッシュテーブル(以下、ハッシュと略記)を実装します。 ハッシュを実現できる木構造 関数プログラミングと(C言語などで使われる)配列は相性が良くありません。なぜなら、配列を永続データとして使おうとすると、一部を変更するだけでも配列全体をコピーしなければならないからです。ということは、関数プログラミングでは、必要に応じて平均O(1)[1]で要素を追加したり検索したりできるハッシュがないことを意味します[2]⁠。 もちろん、キーと値の組を要素に持つリスト(連想リスト:型は[(k,v)])を使えば、要素の追加や検索は可能ですが、効率がO(N)となりうれしくありません。そこで、関数プログラミングではハッシュの実現にO(log N)の平衡木を使います。この章では、赤黒木と

    第4章 木構造とハッシュ―平衡二分探索木「赤黒木」で知る豊かなデータ型 | gihyo.jp
  • 第3章 リストと文字列―最長重複文字列問題で知るリストプログラミング | gihyo.jp

    前章に引き続き、この章でも永続データの代表選手であるリストについて説明します。そして、実践的な文字列プログラミングの例として、最長重複文字列問題を解きます。 永続データとしてのリスト 関数プログラミングの入門書では、説明をリストから始めることが多いようです。その理由は、リストが最も簡単な永続データだからです。ここでいうリストとは、図1に示すような一方向リストのことです。ここに示されているのは文字のリストであり、[]はHaskellでの空リストです。 図1 リストの構造 関数プログラミングの説明をリストから始めるのはよくないと主張する人もいます。なぜなら、リストの処理は遅いため、実践的にはほかのデータ構造[1]を用いることが多いからです。しかし筆者としては、リストがわからない人がほかの永続データを理解できるとは思えないので、慣習通りリストから始めます。 リストには3つの基的な操作があります

    第3章 リストと文字列―最長重複文字列問題で知るリストプログラミング | gihyo.jp
  • 第5章 パーサコンビネータ―小さなパーサを組み合わせて大きなパーサを作る | gihyo.jp

    この章では、関数型の至宝であるコンビネータライブラリについて説明します。 コンビネータとは何か? この章でいうコンビネータとは、ある型の部品と部品を組み合わせて、同じ型のより大きな部品を作るための関数のことです。たとえば、パーサのコンビネータライブラリは、パーサを組み合わせるための各種コンビネータを提供しており、簡単にパーサを作成できます。コンビネータライブラリは、言語内DSL(Domain Specific Language)と表現してもよいでしょう。 関数型では、パーサに加えて、データを文字列でわかりやすく表示するプリティプリンタ、SQL、XML、ハードウェア記述、そしてデリバティブ(金融商品)記述、楽譜記述など多様なコンビネータライブラリが作られ、実際に使われています。この章では、パーサのコンビネータライブラリを取り上げます。 CSVのパーサ たとえ簡潔でも、実用的でないパーサの例だ

    第5章 パーサコンビネータ―小さなパーサを組み合わせて大きなパーサを作る | gihyo.jp
  • 1