タグ

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

  • PHPの生みの親、ラスマス・ラードフ氏インタビュー | gihyo.jp

    PHPの生みの親⁠⁠、ラスマス⁠⁠・ラードフ氏インタビュー 2015年12月に無事公開されたPHP7。その公開に先立ってPHPの生みの親であるラスマス・ラードフ氏に話を伺う機会がありました。英語で行われた一時間のインタビューは長大ですがラスマス氏の思想がよく分かる話題が多く、可能な限りそのままの形でお伝えすべく、その模様すべてをお届けします。 なお、インタビューは10月に開催されたPHPカンファレンス2015の講演終了後に行われ、リリースに関する話題などはその時点でのものです。 現在の仕事と生い立ち ―――― まずは、PHPを作ってくださってありがとうございます。今日の基調講演もすばらしかったです。 ラスマス:ありがとうございます。 ―――― いきなりですが、個人的な質問から始めてもいいでしょうか。 ラスマス:どうぞ。 ―――― Etsyではどのようなお仕事をなさっているんですか? ラスマ

    PHPの生みの親、ラスマス・ラードフ氏インタビュー | gihyo.jp
    lesamoureuses
    lesamoureuses 2015/12/22
    PHPの話かと思ったら子育ての話でとても良かった。デンマークは教師が男女2人セットなのかぁ
  • 第6回 UNIXプログラミングの勘所(1) | gihyo.jp

    連載では第一線のPerlハッカーが回替わりで執筆していきます。今回のハッカーはJapanizeやText::MicroTemplateなどで有名な奥一穂さんで、テーマはUNIXプログラミングです。 はじめに 「正しいプログラム」を書くために必要な知識とはなんでしょうか。テストが正しく実行されることは、正しいプログラムであるための必要条件に過ぎません。プログラミングにおいてはプログラミング言語だけでなく、OSの動作やデータベース、ネットワークプロトコルなど、さまざまな知識が必要になります。 PerlはもともとUNIX系のOS(LinuxやFreeBSD、Mac OS XなどのOSを稿では以下UNIXと総称します)の上で処理を行うためのスクリプト言語として開発され、今日でもPerlプログラムの多くはUNIX上で実行されています。しかし、「⁠Perlでプログラミング」と言った場合はともすれば

    第6回 UNIXプログラミングの勘所(1) | gihyo.jp
    lesamoureuses
    lesamoureuses 2015/09/21
    “mkdirを呼び出してエラーが返ってきた場合には原因を確認する,というのが「正しい」コードになります”
  • 第1回 コミュニケーション編 | gihyo.jp

    YAPC::Asia Tokyoに限らず、業の傍ら運営されているイベントの類いは、スタッフが作業できる時間や場所が必ずしも一致しない事が大きな問題の1つであると思います。 例えば同じ会社に勤める会社員であれば、毎日同じような時間に出社しかなり近い場所で一日中仕事をしているので、ちょっとした会話で問題を解決したり、進捗の確認をしたりすることができます。また、物理的にも心理的にも距離が近く、お互いの性質や仕事の進め方などもある程度は知っているでしょう。しかしイベント運営の場合、スタッフが全員別々の仕事をしつつ勤務時間や内容が合わないのでは、少し意図的に工夫しないとコミュニケーションは取れません。 それではYAPC::Asia Tokyo 2015の準備段階では、スタッフの間でどのようにコミュニケーションを行ってきたのかを少し解説してみたいと思います。 歴史 YAPC::Asia Tokyoは

    第1回 コミュニケーション編 | gihyo.jp
    lesamoureuses
    lesamoureuses 2015/05/08
    良さそう "ミーティングと言ってもどこかの会議室で行うのではなく,居酒屋等で行います"
  • 弊社ホームページ改ざんに関するお詫びとご報告 | gihyo.jp

    弊社ホームページにおいて、2014年12月6日11時~14時のあいだ、第三者からの不正アクセスによりサイトが改ざんされていた事が判明いたしました。ご利用頂いておりますユーザの皆さまにおかれましてはご迷惑をお掛けいたしまして、深くお詫び申し上げます。 なお、現在は被害を受けたサーバは復旧作業を実施済みです。ご利用ユーザーの皆さまの個人情報流出等は、現在のところ確認されておりません。 被害対象サイト/コンテンツ URL:http://gihyo.jp 改ざん内容とその影響 サーバの中身を入れ替えられ、外部のサイトにリダイレクトされるように設定されていた。 リダイレクトされていたサイト(アクセスしないようご注意ください⁠)⁠ www.koushin-lawfirm.net live.livelistingreport.com 現在把握している改ざんされていた可能性がある期間 2014年12月6日

    弊社ホームページ改ざんに関するお詫びとご報告 | gihyo.jp
    lesamoureuses
    lesamoureuses 2014/12/08
    詳細もリンクがあった
  • YAPC:: Asia 2014 前夜祭レポート[更新終了] | gihyo.jp

    日28日から30日までの3日間、慶應義塾日吉キャンパス 協生館にて「YAPC::Asia Tokyo 2014」が開催されます。日は前夜祭。稿では、この前夜祭の模様を随時レポートしていきます。 受付は、昨年同様に藤原洋記念ホール前に設置されています。 イベントホールで前夜祭が開催されます。ホールに入ると、飲み物やかき氷、おつまみが提供されています。かき氷はぜひ受け取ってくださいとのことです。 予定通り、18時30分から始まりました。前夜祭の司会進行は小林徹さん(@koba04)です。 前夜祭のオープニング 前夜祭のオープニングの挨拶は、実行委員長の和田裕介さん(@yusukebe)です。今年のYAPC::Asia開催祝いの乾杯と、「⁠Welcome to YAPC::Asia」という挨拶から始まりました。 今年の前夜祭は「Webアプリ」がテーマです。ライブラリが揃い出している今、もっ

    YAPC:: Asia 2014 前夜祭レポート[更新終了] | gihyo.jp
    lesamoureuses
    lesamoureuses 2014/08/28
    おぉぉぉぉ。超楽しそうだ…
  • 第1回 JSDeferredによる簡単非同期処理 | gihyo.jp

    どうもはじめまして、株式会社はてなのid:cho45です。これから数回に渡り、拙作のJavaScriptのライブラリであるJSDeferredの紹介と、それに関係するJavaScriptにおける非同期の技術に関して解説させていただきます。 JavaSciptにおける非同期処理 非同期処理とは まずは確認程度に、非同期処理がどういうものかを解説しておきます。先に乱暴にまとめてしまうと、以下の事柄が大切なところです。 非同期とは「あとで」という意味 同期処理はコードの見た目順に実行される/非同期ではそうならない JavaScript の非同期処理は絶対に同期処理にすることができない JavaScriptにおける非同期処理をいくつか例に出すと、以下のようなものが挙げられます。 リスト1 // XMLHttpRequest の例 var req = new XMLHttpRequest(); re

    第1回 JSDeferredによる簡単非同期処理 | gihyo.jp
  • 第2回 AnyEventでイベント駆動プログラミング (2) | gihyo.jp

    ウォッチャー AnyEventでプログラムを作成する場合「ウォッチャー」を作成、管理することが基的な作業となります。ウォッチャーとはI/Oやタイマーなどの何かしらのイベントが発生したことを通知してもらうためのオブジェクトです(図2のコールバックの指定および実行の部分を担当します⁠)⁠。 現在から5秒後にコールバック関数を呼び出してもらうにはリスト1のようなコードを書きます。 リスト1 ウォッチャー use strict; use AnyEvent; my $cv = AnyEvent->condvar; ……(1) # タイマーウォッチャーを作成 my $w; $w = AnyEvent->timer( after => 5, # 今から5秒経ったらイベント発生 cb => sub { # イベント発生時にこの関数が呼ばれる warn "5秒経ちました!"; undef $w; ……(2

    第2回 AnyEventでイベント駆動プログラミング (2) | gihyo.jp
    lesamoureuses
    lesamoureuses 2010/08/04
    すごく丁寧な説明でわかりやすい。「複数の条件が満たされるまで待つ」「処理終了時のコールバックとして使う」は知らなかった。
  • 第13回 AnyEvent:イベント駆動モジュールの方言を吸収する | gihyo.jp

    イベントループを持つモジュールが抱える問題点 イベントループを持つモジュールの一例として、前回はPOEを取り上げましたが、もちろん同じようなループを持つモジュールはほかにもあります。 たとえば1995年に故ニック・イング・シモンズ(Nick Ing-Simmons)氏が始めたPerl/Tkや、POE誕生前夜の1997年から開発が行われているGtk(のちのGtk-Perl⁠)⁠、その後継にあたるGtk2/GlibのPerlバインディング(2003年)など、GUIアプリケーション関連のツールがそうですし、IO::Poll(1997年)やIO::Async(2007年)のようなモジュールにもイベントを監視するためのループが使われています。また、Event(1997年)やlibeventのラッパであるEvent::Lib(2004年⁠)⁠、EV(2007年)のように、イベントループそのものを実装す

    第13回 AnyEvent:イベント駆動モジュールの方言を吸収する | gihyo.jp
    lesamoureuses
    lesamoureuses 2009/08/17
    サンプル見ながらCoroとAnyEvent使ってみる
  • memcachedを知り尽くす 記事一覧 | gihyo.jp

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

    memcachedを知り尽くす 記事一覧 | gihyo.jp
  • 第4回 Hook処理を極めて外部からモジュールを拡張する | gihyo.jp

    指定したhook pointを実行し、順番にhook pointのコードを処理し、最初に戻り値があった時点で以降に登録されたコードの実行は行ないません Hook関連のメソッドは少なく、シンプルですね。 register_hookは主にPluginから利用されるメソッドになっており、hook pointとhook poinに対するコードをPlaggerに対して登録します。 Class::Triggerで言う所のadd_triggerになります。 実際のプラグインのコードを引用すると下記のように利用されます。 # Plagger::Plugin::Publish::CHTML sub register { my($self, $context) = @_; $context->register_hook( $self, 'publish.feed' => \&feed, 'publish.fi

    第4回 Hook処理を極めて外部からモジュールを拡張する | gihyo.jp
  • Firefox 3ではじめる拡張機能開発 記事一覧 | gihyo.jp

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

    Firefox 3ではじめる拡張機能開発 記事一覧 | gihyo.jp
  • 第2回 Test::Baseの紹介 | gihyo.jp

    モバイルファクトリーの伏原です。 私は今回Test::Baseというモジュールを紹介させてもらいます。 Test::Baseとは Test::Baseは、Kwikiなどの作者として知られるIngy döt Net氏が作成した“⁠Data Driven Testing Framework(データ駆動型テストフレームワーク)⁠”です。 データ駆動型テストとは何なのか、実際のテストを見て頂くのが一番早いと思うので、早速実際にTest::Baseを使ったテストを書いてみることにします。 今回使うサンプルプログラム NabeAtzz問題を解くプログラムを作ります。NabeAtzz問題にはいくつかのバリエーションがありますが、今回は以下の条件を満たすもの、と言うことにします。 1からnまでの整数に対して 3の倍数の時は“⁠fool⁠”と出力する 5の倍数の時は“⁠dog⁠”と出力する いずれかの桁に3

    第2回 Test::Baseの紹介 | gihyo.jp
    lesamoureuses
    lesamoureuses 2008/07/08
    面白いな。もっとテストの勉強しよ。
  • 第1回 Perlにおけるテストの概要/TAPとは? | gihyo.jp

    モバイルファクトリーの松野です。 今回から数回にわたって、Perl におけるテスト手法についてリレー形式で詳細に解説していきたいとおもいます。 今回は初回ですので、ざっくりと概論になります。 Perlの世界におけるテストの重要性 Perlの世界においてはテスト(test)は大変重要視されています。 その特徴がよく表れているのがCPAN Testersではないでしょうか。 CPAN Testers Perlといえば何はなくともCPANなわけですが、CPANでモジュールを探していると、図1のように、「⁠CPAN Testers」という項目があることに気付きます。 図1 CPAN Testers 世界中のPerl Mongersが、自分のマシンでテストを動かして、その結果をCPANに送っているのです。これにより、様々なOS/CPU/versionのPerlでテストがされています。貴方も気軽にCP

    第1回 Perlにおけるテストの概要/TAPとは? | gihyo.jp
  • 第2回 Firebugによるデバッグの基本、Console APIとその活用 | gihyo.jp

    さて、前回はインストールからFirebugのタブの基的な部分について紹介をしてきました。今回は、Firebugに実装されているConsole APIの紹介と、Console APIを利用したデバッグ手法について解説していきます。 Firebugで利用できるAPI Firebugには、デバッグに活用できる2つのAPIが実装されています。今回は、その2つあるAPIのうちConsole APIについて解説していきます。 Console API Console APIはFirebugのタブだけでなく、コンテンツ側のJavaScriptから呼び出すことのできるAPIです。デバッグのために便利な関数があらかじめたくさん用意されています。これらの関数を以下に列挙しますので、目を通してください。 console.log(object[, object, ...]) 渡された全てのオブジェクトをconso

    第2回 Firebugによるデバッグの基本、Console APIとその活用 | gihyo.jp
    lesamoureuses
    lesamoureuses 2008/05/14
    console.profile初めて知った。いろいろ機能あるなぁ
  • 第1回 Class::Componentから始めるプラガブルモジュール | gihyo.jp

    はじめに はじめまして。大沢と申します。 この連載では、筆者が実装したCPANモジュールのClass::Componentを題材にしつつ、近代的なPerlでのプラガブル(拡張可能)なソフトウェアの実装方法を紹介します。 今回は、Class::Componentの概要を説明します。 連載で使うサンプルアプリケーション 連載では、プラガブルなモジュールを作製するという事を考えて、Gopperというサンプルアプリケーションを元に解説を行ないます。 GopperはCodeRepos上のsvnリポジトリに置いてあるので各自checkoutしてください。 svn co -r 271 http://svn.coderepos.org/share/lang/perl/Gopper/trunk Gopper サンプルアプリケーションは連載中にも頻繁にupdateされる事が予想されますので、毎回リビジョン

    第1回 Class::Componentから始めるプラガブルモジュール | gihyo.jp
  • プログラマのためのFlash遊び方

    今回からは、実践的なFlash作りを始めていきます。ActionScriptで簡単な図形描画をしながらActionScript 3.0の感覚をつかんでいきましょう。 最初は地味なサンプルと退屈な文法の解説が続きますが、後編では次のようなWeb 2.0 風バッジをActionScriptだけで描画します。がんばってついてきてください。 サンプルコードをコンパイルしよう 円や四角を描画するだけの簡単なサンプルを用意しました。味気ないサンプルですが、ActionScript 3.0の基がたっぷり詰まっています。 package{ ------(1) import flash.display.Sprite; ------(2) public class DrawTest1 extends Sprite { ------(3) public function DrawTest1() { -----

    プログラマのためのFlash遊び方
  • 第4回 検索キーワードを提案するSuggest機能の実装 | gihyo.jp

    今回は、検索文字列に関連するキーワードを提案するSuggest機能を実装したいと思います。 実装の前に Suggest機能の実装に入る前に、第3回までのプログラムをちょっと整理しましょう。第3回までの実装では、とりあえずグローバルな名前空間に関数を追加していました。しかし、名前空間がどんどん汚染されよくありません。必要なものだけをグローバルな名前空間に追加しましょう。 スコープを隠蔽する jQueryにならって、スコープを隠蔽してみることにします。次のように無名関数を使って実装します(リスト1⁠)⁠。 リスト1 スコープの隠蔽 (function(){ // (1) このスコープは公開されない var local = ・・・ // (2) 必要なものだけを公開する window.global = ・・・ })(); 無名関数の定義(function(){})と、実行()を同時に行っています

    第4回 検索キーワードを提案するSuggest機能の実装 | gihyo.jp
    lesamoureuses
    lesamoureuses 2008/03/23
    >これで,名前空間の汚染は最小限になりました。
  • jQueryではじめるAjax:第3回 Youtube APIとjQueryを使いこなす|gihyo.jp … 技術評論社

    たとえば、検索結果を表示する簡単なアプリケーションのために、整形されたHTMLを含むデータを取得するには次のように指定します。 http://gdata.youtube.com/feeds/base/videos フィードの種類 データを取得するフィードは数種類あります。 通常はVideoフィードを使えば十分ですが、投稿者の情報やコメントの情報等を取得するフィードもありますので、必要に応じて使い分けてください。 全てのフィードは読み取り専用であり、認証無しでリクエストすることができます。 また、新しく投稿されたビデオがフィードで取得できるようになるには、インデックス化のため数時間かかります。 Videoフィード Videoフィードには、ビデオ、関連動画、standard、お気に入り、再生リスト、コメントのフィードがあります。 ビデオフィード ビデオを検索するには、ビデオフィードを使います。

    jQueryではじめるAjax:第3回 Youtube APIとjQueryを使いこなす|gihyo.jp … 技術評論社
    lesamoureuses
    lesamoureuses 2008/02/18
    これは便利>第1番目の引数に{}ではなくsearchCondとすると,グローバルスコープにあるsearchCondオブジェクト自体を拡張してしまいます。
  • 特集:jquery.jsを読み解く|gihyo.jp … 技術評論社

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

    特集:jquery.jsを読み解く|gihyo.jp … 技術評論社
  • 特集:PerlでAtomPubサーバを作ろう!|gihyo.jp … 技術評論社

    第2回写真付きブログサーバを作ってWindows Live Writerで書いてみる 井上武 2008-02-12

    特集:PerlでAtomPubサーバを作ろう!|gihyo.jp … 技術評論社