タグ

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

  • GitHub社謹製! bot開発・実行フレームワーク「Hubot」 記事一覧 | gihyo.jp

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

    GitHub社謹製! bot開発・実行フレームワーク「Hubot」 記事一覧 | gihyo.jp
  • 第1章 関数プログラミングは難しくない!―初めて学ぶ人にも、挫折した人にもきちんとわかる | gihyo.jp

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

    第1章 関数プログラミングは難しくない!―初めて学ぶ人にも、挫折した人にもきちんとわかる | gihyo.jp
  • Amazon Redshiftではじめるビッグデータ処理入門 記事一覧 | gihyo.jp

    第5回Amazon Redshiftのアーキテクチャ ~スケーリングとリストアを試してみよう 宮崎真,藤川幸一 2013-06-10

    Amazon Redshiftではじめるビッグデータ処理入門 記事一覧 | gihyo.jp
  • 第2回 PHPの基礎を見直す | gihyo.jp

    PHPについて見なおそう みなさんこんにちは、WebアプリケーションではPHPを使ったものが世の中にあふれています。 TOIBE発表ではシェアがここ五年で10.3%から3.9%と激減していますが、まだまだ日のwebアプリケーション開発では多く用いられています。 第1回では、フロントエンドで利用されているJavaScriptの基礎を振り返りましたが、今回は同じWebアプリケーション開発のバックエンドでよく利用されているPHPの基礎の部分を振り返りたいと思います。 PHP Webアプリケーションを作成するのに特化したサーバサイド側のプログラム言語のひとつです。 PHPの特徴としては下記のことがあります。 初心者でも理解しやすい。 ほとんどのウェブサーバと有名OSでモジュールでもCGIでも動作します。 プログラムの記述方法も手続き型、オブジェクト指向、両方の混在で記述できます。 このように導入

    第2回 PHPの基礎を見直す | gihyo.jp
  • エンジニアの学び方─効率的に知識を得て、成果に結び付ける 記事一覧 | gihyo.jp

    第4章何を学ぶか、何を作るか―問題の探し方と成果の出し方 西尾泰和 2014-07-25

    エンジニアの学び方─効率的に知識を得て、成果に結び付ける 記事一覧 | gihyo.jp
  • FuelPHP Advent Calendar 2011 | Gihyo Digital Publishing … 技術評論社の電子書籍

    FuelPHP Advent Calendar 2011 著者 FuelPHP Advent Calendar 2011 参加有志 著 発売日 2012年3月22日 更新日 2012年3月22日

    FuelPHP Advent Calendar 2011 | Gihyo Digital Publishing … 技術評論社の電子書籍
  • 第5回 Linux Kernelメモリ管理最新動向[その1] | gihyo.jp

    2012年6月6日~8日にLinuxCon Japan 2012が開催されます。ここではLinux Kernelの最新技術の発表や議論がいろいろ行われるのですが、カンファレンスを楽しむ手助けとなる記事を…ということで、最近のLinux Kernelのメモリ管理の以下のトピックについて、2回に分けて紹介したいと思います。 今回は、 NUMA対応 組込みシステム向けの新機能 次回は ファイルシステム、デバイスと連携したエンハンス メモリ資源管理機能(cgroup) CleanCache を取り上げます。 それぞれ、LKMLでどのような提案があって、提案の理由は何か? 現在はどうなっているのか? ということを簡単に紹介したいと思います。 NUMA対応 性能エンハンス機能として現在議論されているのが、NUMAマシン上のアプリケーションのチューニング機能です。現在、全く別の方式が有名ハッカー2人から

    第5回 Linux Kernelメモリ管理最新動向[その1] | gihyo.jp
  • 第3回 進化し続けるKVM | gihyo.jp

    はじめに ここ数年、ハイパーバイザ方式の仮想化技術が普及し、商用システムに適用することが当たり前という時代になってきました。さらに最近では、クラウドサービスやデータセンタでオープンソースの仮想化技術を採用する動きも出ています。 図1 仮想化マシンの基用語 仮想的なマシンを「VM(Virtual Machine:仮想マシン)と呼び、仮想化を実現しているソフトを「VMM」(⁠Virtual Machine Monitor)あるいは「ハイパーバイザー」と呼びます。 オープンソースのハイパーバイザには何種類かの実装方式がありますが、中でもKVMが最も有望であると考えます。その理由は、開発-利用-要望-開発の好循環が実現されており、その好循環がKVMの進化に大きく貢献しているからです。開発者だけでなく、利用者も必要なコードを開発したりドキュメントを整備し、その貢献によりプロジェクトの一員と認められ

    第3回 進化し続けるKVM | gihyo.jp
  • 第3回 ここはおさえておきたい、CakePHP情報サイトリンク集 | gihyo.jp

    第1回、第2回ではCakePHPの概要をお伝えいたしました。今回はCakePHPの有益な情報を発信しているサイト様をまとめてご紹介いたします。基準として、RSSを配信していて1ヵ月以内の更新が確認できたサイト様に絞らせていただきました。 国内サイト 1.CakePHP Users in Japan フォーラム 国内で最も活発かと思われるCakePHPコミュニティです。フォーラム(掲示板)の話題の安定感が個人的に気に入っています。投稿の際にはフォーラムシステムへのアカウント登録が必要です。 2.CakePHPプログラマーズ リファレンスガイド

    第3回 ここはおさえておきたい、CakePHP情報サイトリンク集 | gihyo.jp
  • 第18回 プロトコルを覚えよう[その2:HTTP編] | gihyo.jp

    今回は前回に続いて、プロトコルについてです。前回はSMTPでしたが、今回はおそらく最もメジャーなプロトコルであるといっても過言ではないHTTPについてです。 「デカいRFC」の読み方 まずHTTPにはバージョンとして1.0と1.1があります。実質、今はほぼ100%のサイトが1.1だと思って良いでしょう。 HTT1.1はRFC2068で提唱され、RFC2616にObsoleteされています。ですのでRFC2616(と、RFC2616をUpdateしているRFC2817とRFC5785)を読めば、HTTP1.1のことが把握できます。とはいってもでかいRFCなので、読むのはちょっと大変かもしれません。ただ、これくらいポピュラーなRFCになると日語訳もたくさんあるので、原文と一緒に日語訳も読むと、理解が速いかもしれません(訳だけ読むのはあまりオススメできません⁠)⁠。 また、RFCを読むとき(

    第18回 プロトコルを覚えよう[その2:HTTP編] | gihyo.jp
  • Software Design 2011年5月号

    2011年4月18日紙版発売 B5判/192ページ 定価1,341円(体1,219円+税10%) ただいま弊社在庫はございません。 Amazon 楽天ブックス ヨドバシ.com Fujisan(定期購読のみ) 書のサポートページサンプルファイルのダウンロードや正誤表など 第1特集 ファイル操作/ログ解析/コーディングを最適化 Vim&Emacsをちゃんと使えてますか? Unix/Linux上でエディタをさくさく操作できるか否かは,ITエンジニアにとって生産性に大きな影響があるのは言うまでもありません。特集はとくに新人の方に役立ててもらうべく,システム管理の場面をおもに想定したエディタの活用入門です。いかなる環境へも対応できるようになっておくために,2大エディタのvi(Vim)とEmacsの入門を軸に,Unix/Linuxのディレクトリ構造や各種ファイル操作の基礎からTips,そしてリ

    Software Design 2011年5月号
    Muke
    Muke 2011/04/18
    @kogarasisk  つ
  • 第9回 Facebookの「いいね!」と連携しよう | gihyo.jp

    はじめに 前回はHerokuのアドオン仕組みについて、エコシステムからおすすめアドオンなどを紹介しました。Herokuを利用するメリットをまた別の観点から理解していただけたかと思います。今回はマンガ共有アプリの開発を進めようと思います。Facebookのいいね!と連動する方法について紹介します。 Facebookの「いいね!」とは Facebookの特長として「いいね!」機能が挙げられます。友達のフィードに共感したり、面白いと思ったら下にある「いいね!」というボタンをクリックしてその友達に気軽にフィードバックしたり、Facebook Pageに「いいね!」を押してファンになって自分の最新情報に情報を受け取ったりするものです。Facebook内だけでなくAPIを利用して別のブログの中にいいね!ボタンを見ることも多くなりました。外部のシステムとの連携もどんどん進んでいます。このように外部のサイ

    第9回 Facebookの「いいね!」と連携しよう | gihyo.jp
  • 第4回 jQueryでアニメーション(お題編) | gihyo.jp

    はじめに jQueryの機能を大きく分けると、DOM操作、アニメーション、イベント処理、Ajax、その他のユーティリティ関数といった分類ができます。DOM操作は前回の記事で解説したような、HTMLの要素を追加したり書き換えたりといった操作です。今回はその中の1つ、アニメーションについて解説します。アニメーションも正確にはDOM操作に分類されますが、アニメーションだけでかなり大きな比重を占めるので今回は通常のDOM操作とわけて考えます。イベント処理やAjax、ユーティリティ関数についても連載の後のほうで解説する予定です。 JavaScriptでアニメーションの基 まず始めに、jQueryを使わないでアニメーションをする方法を紹介します。jQueryのアニメーションが実際に内部でどのような処理が行われているかを知ることでその後の理解度が増すと思います。JavaScriptでアニメーションは基

    第4回 jQueryでアニメーション(お題編) | gihyo.jp
    Muke
    Muke 2011/03/17
  • 第4回 x86プロセッサにおけるプロセッサ仮想化 | gihyo.jp

    これまで、x86システム仮想マシンの概要、およびその実例としてDebian GNU/Linux 6.0を利用した仮想マシンの実行方法について紹介してきました。今回からは、より具体的にCPU、メモリ、I/Oデバイスの仮想化がどうやって実現されているかを解説したいと思います。 今回は、仮想マシンを実装するための古典的手法およびそれを従来のx86プロセッサに適用する際の問題点、そして仮想マシンソフトウェアがどのようにそれらの障壁を乗り越えてきたかについて解説します。 システム仮想マシンに求められる条件 これまで、システム仮想マシンはどのようなものかについて説明してきましたが、仮想化仮想化の生みの親とも言えるGoldbergらは、1974年に書いた論文にて、仮想マシンソフトウェアとはどのようなものであるべきかについて、コンピュータアーキテクチャの観点から論じています。 彼らは、その仮想マシンソフト

    第4回 x86プロセッサにおけるプロセッサ仮想化 | gihyo.jp
    Muke
    Muke 2011/03/16
  • 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
  • 第4回 「状態遷移図」と「状態遷移表」で見えるもの | gihyo.jp

    はじめに テスト担当者と開発担当者との会話。 テスト担当者:「この状態の時にこの動作を行うと、結果としてどういう状態に遷移すれば仕様として正しいんでしょうか。仕様書に記載がないので…」 開発担当者:「どれどれ、うーん、当だ。記載がないね…。俺もわからないや。テストした結果を仕様書に記入しておいてよ。それが仕様だから」 テスト担当者:「…」 この話が「あり得ない話」なのか「よくある話」なのかはさておき。今回の話題は、「⁠状態遷移テスト」です。 状態遷移テストとは 「状態遷移テスト」とは、状態遷移図と状態遷移表をもとに行うテストの総称です。私たちテスト担当者は、機能テストやシステムテストにおいて状態遷移図や状態遷移表を作成して、ソフトウェアが「正しく」設計仕様どおりに動くかどうかをテストします。 ですが、この「設計仕様書通りに動く」というところがなかなか難しいところです。冒頭の会話にもありま

    第4回 「状態遷移図」と「状態遷移表」で見えるもの | gihyo.jp
    Muke
    Muke 2011/02/07
  • マネタイズとアウトプットを意識する~エンジニアの視点から考えるネットサービス:エンジニアブレークスルー#02レポート | gihyo.jp

    マネタイズとアウトプットを意識する~エンジニアの視点から考えるネットサービス:エンジニアブレークスルー#02レポート エンジニアがどのようにしてブレークスルーしていけるか エンジニアブレークスルーは、その名のとおり「エンジニアがどのようにブレークスルーしていけるか」をテーマに、株式会社ゼロスタートコミュニケーションズ 山崎徳之氏を中心にスタートした活動。10月7日に、スタートアップデイティングの一企画として第1回が開催され、今回初の単独開催として、第2回目開催の運びとなった。今回は二部構成で、一部がパネルディスカッション、二部がパネリストと参加者の交流を兼ねたエンジニア査定大会が実施された。 イベントの企画者でもあり、モデレータを務めた山崎氏。 エンジニアの視点から考えるネットサービス 今回のパネリストは以下の通り。 米林正明 氏(株式会社Abby) 閑歳孝子 氏(株式会社ユーザーローカル

    マネタイズとアウトプットを意識する~エンジニアの視点から考えるネットサービス:エンジニアブレークスルー#02レポート | gihyo.jp
  • 第85回 UbuntuをWindows 7のサーバとして使う(1)ファイルサーバ編:Ubuntu Weekly Recipe|gihyo.jp … 技術評論社

    今回は、発売が近づいてきたWindows 7のサーバとしてUbuntuを使用する場合のコツや、Windows 7の具体的な操作についてです。サーバとはいえ、簡単に設定するためにデスクトップから行います。 UbuntuとWindows 7 世間的にはWindows Vista(以下Vista)の評価はさんざんだったようですが、個人的にはわりと気に入って使っています。もちろんVistaの重さが気にならないぐらいのリッチなハードウェアを使用している、ということはありますが。 そんなVistaよりもWindows 7(以下Win7)のほうが軽いのは事実で、Netbookのような非力なハードウェアにインストールしてみると如実にわかります。特にVistaだと16GBのSSDでは事実上運用不可能で、一度インストールしてみて頭を抱えました。軽いこと、コンパクトなこと、細かなところで改良され、使いやすくなっ

    第85回 UbuntuをWindows 7のサーバとして使う(1)ファイルサーバ編:Ubuntu Weekly Recipe|gihyo.jp … 技術評論社
    Muke
    Muke 2010/10/01
    基本的にファイルサーバーは必要だしな
  • 第1回 memcachedの起動オプションを把握しよう | gihyo.jp

    1.4系で新しく追加された主な機能しては バイナリプロトコルの導入 マルチスレッドの標準化 統計の強化 などが上げられます。この1.4系の機能の詳細については前坂徹氏の連載「memcached 1.4の到来」が参考となります。ここではバージョン1.2.5と最新の1.4.5の起動オプションを比較しながら、新しく追加された機能や実際の運用で用いられる起動オプションについて説明します。 1.2系と1.4系の起動オプションの違い まず、memcachedの起動オプションの一覧(ヘルプ)を確認しましょう。memcachedのヘルプを出力するには、「⁠-h」オプションを使います。 $ memcached -h memcached 1.x.x -p <num> TCP port number to listen on (default: 11211) -U <num> UDP port number t

    第1回 memcachedの起動オプションを把握しよう | gihyo.jp
    Muke
    Muke 2010/08/17
  • 第2回 「締め切りは絶対に守るもの」と考えると世界が変わる | gihyo.jp

    「締め切りを守ること」の大切さ 今までたくさんの日米のエンジニア仕事をしてきた。その中には私よりも明らかに「賢いエンジニア」もいたし、ものすごい生産性でプログラムを作ってくれる「馬力(ばりき)のあるエンジニア」もいた。しかし、そんな中でも、私がものを作るうえで最も大切だと考えている「あること」をキチンとこなせる人は100人に1人もいなかった。その「あること」とは、「⁠常に締め切りを守れるように仕事をすること」である。 チームで仕事をする場合、どうしてもお互いが担当するタスク(=作業)の間に依存関係が生じる。そんなときに、どれか一つのタスクの完了の遅れが、ほかのタスクの完了に波及し、それがタスク間の競合を引き起こして全体のスケジュールがさらに遅れる、という事態はソフトウェア開発の現場ではよく見られる。そんな状況をできるだけ回避するには、プロジェクトに関わる人全員が、自分に割り当てられたタス

    第2回 「締め切りは絶対に守るもの」と考えると世界が変わる | gihyo.jp
    Muke
    Muke 2010/07/20
    締切りを守る=約束を守る だからなぁ…信頼にも繋がるんだよね