タグ

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

  • 第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
    koda3
    koda3 2015/04/21
  • 第3回 Dockerコンテナ群をSerfで管理する方法・詳細オプション | gihyo.jp

    これまではSerfの基的な使い方や、Serfで構成されたイベントハンドラの動きを見てきました。今回はSerfに関する連載のまとめです。複数の仮想サーバ上にも応用可能なように、Dockerコンテナでの活用方法をご紹介します。また、より詳細な設定方法についての理解も進めていきます。 Dockerコンテナ群をSerfで管理する方法 DockerLinuxコンテナを簡単に起動・管理するためのツールです。Dockerの魅力は、単純にコンテナを操作できる点だけではありません。公開レポジトリであるDockerHubを使ったコンテナの共有や、Dockerfileと言う設定ファイルを使った構成管理の自動化などの利点があります。 コンテナ管理問題を解決するSerf コンテナを多く立ちあげた時に発生するのは、沢山のコンテナを効率的に操作するのかという課題です。例えばコンテナ内のプロセス稼働状況や、設定ファイ

    第3回 Dockerコンテナ群をSerfで管理する方法・詳細オプション | gihyo.jp
  • 第370回 Ubuntu 15.04と日本語入力 | gihyo.jp

    Ubuntu 15.04の日本語入力(現在は日語以外も入力できる多言語入力なので、以後インプットメソッドと呼称)には大きな変化がありましたので、詳しく解説します。 Fcitxのmain入りとそれから Ubuntu Weekly Topics 2月13日号で既報のとおり、FcitxがMIR(Main Inclusion Request)を通過し、無事にmainに入りました。 Ubuntuの公式フレーバーで中国語向けのUbuntu Kylinでは、従来よりIBusではなくFcitxがデフォルトのインプットメソッドでした。これは(筆者も門外漢ではあるものの[1]⁠)“⁠Sogou(搜狗)⁠”と言う変換エンジンがFcitxにしか対応していないという事情のようです。どうも一番変換効率が良いものらしいです[2]⁠。Ubuntu Kylinは公式フレーバーであり、パッケージがmainにあるかunive

    第370回 Ubuntu 15.04と日本語入力 | gihyo.jp
    koda3
    koda3 2015/04/15
  • 第2回 並列データ処理系の歴史と重要性 | gihyo.jp

    はじめに 前回は、連載の目的や、連載で扱う並列データ処理の定義について説明しました。今回は、並列データ処理系の歴史や重要性について見ていきます。技術を学ぶうえで、その技術歴史や重要性について理解しておくことはとても良いことですので、かんたんな読み物を読むつもりでお付き合いください。 並列データ処理系の進展 並列データ処理系における基的なアルゴリズムや処理方式は、並列データベースと称される並列化された[1]データベースシステムにおける技術に基づいています。 並列データベースに関する研究・開発は、1970年代からの並列データベースマシン(Parallel Database Machine)[⁠1、2、3]と称されるデータベース処理専用の並列計算機に遡ることができます。並列データベースマシンは、データ処理用途にカスタマイズされたプロセッサや記憶装置を用いていたため、必ずしも価格に見合った

    第2回 並列データ処理系の歴史と重要性 | gihyo.jp
    koda3
    koda3 2015/04/15
  • 第1回 なぜ、Hadoopはどのように動くのか、を学ぶのか | gihyo.jp

    はじめに ビッグデータ解析のためのシステム基盤として、Hadoopをはじめとするオープンソースのデータ処理ソフトウェア(データ処理系)が広く利用されつつありますが、当該データ処理系をすでに利用している、もしくは利用の検討をしている読者の方々の中には、たとえば以下のような問題を抱えている方が少なからずいらっしゃるのではないでしょうか。 データ処理系の使い方はなんとなくわかるが、その内部をあまり理解できていない。または、内部の動作原理がよくわからないので、格的に使う気にならない。 同様の目的を達成する複数のデータ処理系において、どれを使って良いかがよくわからない。または、適切に使い分けられていない気がする。たとえば、どのような場合にHadoopを用いて、どのような場合に同類のデータ処理系であるImpalaやSparkを用いれば良いかが“⁠明確に⁠”わからない。 このような問題を解決するには、

    第1回 なぜ、Hadoopはどのように動くのか、を学ぶのか | gihyo.jp
    koda3
    koda3 2015/04/01
  • 第4回 MySQLチューニング(3) パフォーマンススキーマ | gihyo.jp

    パフォーマンススキーマとは パフォーマンススキーマはMySQL 5.5から実装された性能統計情報に関するメタデータを格納するスキーマです。MySQL 5.5ではメタデータ取得のオーバーヘッドが大きく、番運用時に利用することは推奨していませんでしたが、MySQL 5.6ではオーバーヘッドが大幅に改善されデフォルトで有効となっています。 パフォーマンススキーマは性能統計情報を記録するストレージエンジンの一種として実装されており、performance_schemaスキーマのテーブルに格納された処理のレイテンシ(ピコ秒単位)やデータのバイト数、ソースでの位置、オブジェクトのデータなどに対してSQLでアクセス可能です。MySQLサーバのソースコード中にある“⁠instrumentation point⁠”(または“⁠instrument⁠”と表現される)にて「イベント」毎の処理時間や処理データ量

    第4回 MySQLチューニング(3) パフォーマンススキーマ | gihyo.jp
  • 第3章 リストと文字列―最長重複文字列問題で知るリストプログラミング | gihyo.jp

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

    第3章 リストと文字列―最長重複文字列問題で知るリストプログラミング | gihyo.jp
  • 第2章 関数プログラミングのパラダイム―命令プログラミングと何が違うのか | gihyo.jp

    この章では、命令プログラミングと関数プログラミングのパラダイムの違いを理解するために、簡単な計算問題を取り上げます。 命令プログラミングと関数プログラミング 当たり前過ぎて意識されていないかもしれませんが、改めて命令プログラミングのパラダイム(以下「命令型」と略記)を説明すると、次のようになります。 命令を列挙する(典型的には命令である文をセミコロンで区切って並べる) 状態がある(状態とは再代入可能な変数のこと) 再代入を使って状態を変化させる 一方、関数プログラミングのパラダイム(以下「関数型」と略記)は次のようになります。 関数を引数に適用する 状態はない (値を破壊したくなったら)新たな値を作る 状態がないので、変数の値は変わりません。これが関数プログラミングを永続データプログラミングと定義した理由です。しかし、関数型で当に問題が解けるのか疑問だと思います。これから簡単な計算問題を

    第2章 関数プログラミングのパラダイム―命令プログラミングと何が違うのか | gihyo.jp
  • [入門]関数プログラミング―質の高いコードをすばやく直感的に書ける! 記事一覧 | gihyo.jp

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

    [入門]関数プログラミング―質の高いコードをすばやく直感的に書ける! 記事一覧 | gihyo.jp
    koda3
    koda3 2015/03/03
    関数型だから質が高いというのは謎
  • 第1章 関数プログラミングは難しくない!―初めて学ぶ人にも、挫折した人にもきちんとわかる | gihyo.jp

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

    第1章 関数プログラミングは難しくない!―初めて学ぶ人にも、挫折した人にもきちんとわかる | gihyo.jp
  • 第6回 RedPenの機能追加と今後 | gihyo.jp

    連載を執筆している伊藤(@takahi_i)です。今回が最終回ということで、いままで深く扱えなかったトピックについて解説します。具体的には稿の前半ではRedPenの機能追加を実際に行ってみます。後半ではRedPenの現状と今後の予定についてみていきます。 RedPenでの機能追加方法 先回RedPenの内部についての解説をしました。その知識をもとにRedPen内部の理解をもとに簡単な機能を実装してみます。実装する機能は半角カナ文字のチェックです。 機能追加:半角カナ機能 半角カナの混入は人目での判別が難しいため、自動で同定してしまいたい処理の一つです。機能を追加するには以下のステップが必要になります。 Validatorの追加 validateメソッドの実装 メッセージの追加 テストの作成 Validatorの追加 RedPenに機能を追加するには、抽象クラスValidatorを拡張し

    第6回 RedPenの機能追加と今後 | gihyo.jp
    koda3
    koda3 2015/02/27
  • 第1回 JavaScriptの基礎を見直す | gihyo.jp

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

    第1回 JavaScriptの基礎を見直す | gihyo.jp
  • 第2回 MySQLチューニング(1) MySQLチューニング,その前に:MySQLをチューニング,そしてスケールアップ/スケールアウトへ|gihyo.jp … 技術評論社

    UNIX系OSではvmstatやiostat、sar、top、mpstatなどのコマンドラインツール、WindowsではリソースモニタがOSに付属しているほか、オープンソースのGUIツールとしてはNagiosやCacti, Hinemosなどが利用できます。 MySQLサーバ内部での処理状況の確認は、SHOW STATUSコマンドを基として、MySQL WorkbenchのパフォーマンスレポートやMySQL Enterprise Monitorなどが利用できます。これらのコマンドやツールの詳細は別途解説いたします。 ベンチマークテスト 構築したシステムが要件を満たしていることを検証するためにベンチマークテストを行います。MySQLのサポートエンジニアで“⁠漢(オトコ)のコンピュータ道⁠”で知られる奥野氏は「テストをしないことはリスクがあるということです。つまり、ベンチマークテストをしない

    第2回 MySQLチューニング(1) MySQLチューニング,その前に:MySQLをチューニング,そしてスケールアップ/スケールアウトへ|gihyo.jp … 技術評論社
    koda3
    koda3 2015/02/17
  • 「Webアプリケーションから機械学習まで ~ PythonとPythonコミュニティの2015年大展望 」レポート | gihyo.jp

    エンジニアサポート CROSS 2015 レポート 「Webアプリケーションから機械学習まで ~ PythonPythonコミュニティの2015年大展望 」レポート 去る1月29日(木)に通算4回目となる「エンジニアサポートCROSS 2015」が開催されました。レポートでは、「⁠Webアプリケーションから機械学習まで~PythonPythonコミュニティの2015年大展望」の当日の様子をお届けします。 はじめに このセッションでは(⁠株⁠)ALBERTの池内孝啓氏がオーナーを努め、各Pythonコミュニティのコアメンバーである次の方々が登壇しました。 池内孝啓氏 (⁠株⁠)ALBERT 池内孝啓氏 PyData Tokyo/(⁠株⁠)白ヤギコーポレーション シバタアキラ氏 一般社団法人PyCon JP/(⁠株⁠)CMSコミュニケーションズ 寺田学氏 PyLadies Tokyo/(

    「Webアプリケーションから機械学習まで ~ PythonとPythonコミュニティの2015年大展望 」レポート | gihyo.jp
    koda3
    koda3 2015/02/12
  • 第1回 MySQLにおける開発の歴史と最新動向 | gihyo.jp

    連載では、現在MySQLを利用していて、チューニングやより大規模な環境に向けた構成の拡張を体系的に説明することを目的としています。MySQLのこれまでの開発と最新の動向から、チューニングやスケールアップ/スケールアウトの注意点を解説します。 第1回である今回は、MySQLのアーキテクチャをこれまでの開発の歴史と併せて解説します。 黎明期 MySQLの最初期のバージョンは1994年に開発され、1995年に公開されています。公開当初は独自のライセンスを採用していましたが、2000年にGPL v2を採用し、商用ライセンスとのデュアルライセンスモデルを採用しました。また、MySQLの代表的な機能の1つでもあるレプリケーションも2000年に実装されており、Webシステムとの相性の良さや構成の柔軟さから数多くのWebシステムで以前からMySQLが採用される理由にもなっています。 2001年にGA(G

    第1回 MySQLにおける開発の歴史と最新動向 | gihyo.jp
    koda3
    koda3 2015/02/03
  • 第18回 Linuxカーネルのコンテナ機能 [7] ─ overlayfs | gihyo.jp

    今回からはLXCがコンテナイメージを置く領域に使えるいろいろなストレージバックエンドを利用し、LXCを便利に使う方法を紹介していきます。 LXCでいろいろなストレージバックエンドを利用する方法を紹介する前に、今後コンテナでの利用が増えそうな、3.18カーネルで新たに追加されたoverlayfsについて紹介しておきましょう。 タイトルは「Linuxカーネルのコンテナ機能」としていますが、これまでの機能と同様にoverlayfsもコンテナ専用として使う機能ではありません。名前空間やCgroup以上にコンテナ以外でさまざまなシーンで使えそうですね。 overlayfsとは overlayfsはunion filesystemの実装の1つで、ディレクトリを重ね合わせて1つのディレクトリツリーが構成できます。 話題のDockerが持つ特長として、よくコンテナイメージの差分管理ができることが挙げられま

    第18回 Linuxカーネルのコンテナ機能 [7] ─ overlayfs | gihyo.jp
    koda3
    koda3 2015/01/27
  • 川口耕介氏、Jenkinsプロジェクトの現状やWorkflow Pluginの特徴を説明 ~Jenkinsユーザカンファレンス2015東京 基調講演 | gihyo.jp

    川口耕介氏、Jenkinsプロジェクトの現状やWorkflow Pluginの特徴を説明 ~Jenkinsユーザカンファレンス2015東京 基調講演 新年を迎えて早々の2015年1月11日(日)、Jenkinsユーザカンファレンスを開催しました。日では第2回目となる今回のカンファレンス、会場は前回と同じく法政大学で、参加者は500名ほどでした。稿では基調講演を中心にレポートをお届けします。 Jenkinsプロジェクトの現状 Jenkinsの生みの親である川口耕介氏の基調講演では、まずJenkinsプロジェクトの現状報告がありました。 Jenkinsの利用統計 Jenkinsの利用者数や利用シーンは、順調に増加しています。 Jenkinsのインストール数やスレーブ数・ジョブ数が増加していること、Javaのツール群の中でもJUnitについで70%のユーザが利用しているといった調査結果を取り

    川口耕介氏、Jenkinsプロジェクトの現状やWorkflow Pluginの特徴を説明 ~Jenkinsユーザカンファレンス2015東京 基調講演 | gihyo.jp