タグ

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

  • 第4回 YAPC座談会、Lightning Talks、そして、キーノート | gihyo.jp

    いよいよYAPC::Tokyo 2019レポートの最終回です。今回は、座談会、Lightning Talks、クロージングキーノート、クロージング&懇親会の模様をお届けします。 これまでについては以下をご覧ください。 第1回 型にはまらない型の話、Perl to Go 第2回 Perl5の静的解析入門、ゲストトーク「2つのDX」 第3回 AWS::XRayによる解析とその実装 / 多くのCPAN Authorに育てられ、息をするようにCPANモジュールを書けるようになり、そして分かったこと 北海道大阪、福岡、沖縄、リブート後のYAPCを支えたキーマンたちのトーク 最終回にあたってまず、ランチ前に行われた「北海道大阪、福岡、沖縄のYAPCキーマンたちが勢揃い!YAPC座談会~リブート後のYAPCはどうだったのか?そして、新時代のYAPCはどうなる?」の模様をお届けします(トークのレポー

    第4回 YAPC座談会、Lightning Talks、そして、キーノート | gihyo.jp
  • 第3回 AWS::XRayによる解析とその実装 / 多くのCPAN Authorに育てられ、息をするようにCPANモジュールを書けるようになり、そして分かったこと | gihyo.jp

    3年半ぶりに東京に返ってきたYAPC~YAPC::Tokyo 2019 第3回AWS::XRayによる解析とその実装 / 多くのCPAN Authorに育てられ、息をするようにCPANモジュールを書けるようになり、そして分かったこと 全29の多彩なトーク YAPC::Tokyo 2019レポート、第3回です。 今回のYAPCは全部で29のトークがあり、テクニカルな話題、コミュニティの話題、エンジニアの話題など、さまざまな観点のトークが用意されました。 今回はテクニカルなトーク、そして、ベストトークを受賞した今回の珠玉のトークをお届けします。 これまでの模様はこちらをご覧ください。 第1回 型にはまらない型の話、Perl to Go 第2回 Perl5の静的解析入門、ゲストトーク「2つのDXPerlでもX-Rayが使えるように 今回、まずレポートするのは、LINE社主催のISUCONにお

    第3回 AWS::XRayによる解析とその実装 / 多くのCPAN Authorに育てられ、息をするようにCPANモジュールを書けるようになり、そして分かったこと | gihyo.jp
  • 第2回 Perl5の静的解析入門、ゲストトーク「2つのDX」 | gihyo.jp

    静的解析と人の歩み寄りがコードの治安を守る お弁当が配布されたランチスポンサーセッションの終了後、Room 1へ移りmacopyさんの「Perl5の静的解析入門」を聞きに行きました。Perl5のソースコードの静的解析には興味があり、個人的に楽しみにしていたトークの1つです。 macopy氏はPerlをテーマに、静的解析と人の歩み寄りについて自身の考えを発表しました macopyさんは、そもそも静的解析とはどういうものなのかというところから話し始めました。静的解析とは、質的にはコードをただの文字列として扱うことです。通常、Perlで書かれたプログラムはperlコマンドによって実行されるものですが、静的解析では文字列を読むだけで実行をしません。静的解析の利点として挙げられていたのは、コードの「見たままを扱える」こと。プログラムは実行できる形式に変換される過程で最適化され、不要な情報がどんどん

    第2回 Perl5の静的解析入門、ゲストトーク「2つのDX」 | gihyo.jp
  • 第1回 型にはまらない型の話、Perl to Go | gihyo.jp

    3年半ぶり、そして、リブート後初となる東京開催のYAPC 2019年1月26日、東京にYAPCが返ってきました。3年半ぶり、そして、リブート後・新体制初となる東京開催です。今回から4回にわたって、筆者と編集部がピックアップしたセッションの様子をお届けします。 イベント当日。朝一のセッションから多数の参加者が集まりました 弾さんと対話しながら型を学ぶ 3FのRoom 1で最初に登壇されたのは、Perl界のご意見番とも言えるDan Kogaiこと小飼弾さん。「⁠肩のこらない型の話」と題して、最近、軽量プログラミング言語においてよく話題となる、型についてお話されました。 身振り手振りでプレゼンをする弾さん そもそも、型とはどのようなものなのでしょうか。"YAPCASIA"という文字列は64個の0と1の列で表現されますが、このデータは数字としてもメモリ内のある場所を指し示すアドレスとしても解釈する

    第1回 型にはまらない型の話、Perl to Go | gihyo.jp
  • 第46回 Perl 5.26で変わること(1):Perl Hackers Hub|gihyo.jp … 技術評論社

    連載では第一線のPerlハッカーが回替わりで執筆していきます。今回のハッカーはcharsbarこと石垣憲一さんで、テーマは「Perl 5.26で変わること」です。 Perl 5.26リリース 去る2017年5月30日にPerl 5.26がリリースされました。これは1987年にPerl 1.0が生まれてから30年、モダンPerl運動のきっかけとなったPerl 5.10が2007年に生まれてから10年という節目のリリースです。2016年春に新たにパンプキン[1]に就任したSawyer X氏のリードのもとでリリースされる最初の安定版[2]でもあります。 Perl 5はかれこれ20年以上も同じメジャーバージョンを使い続けていることからも察せられるように、後方互換性が比較的よく保たれている言語です。それでも、節目節目では新機能の追加とともに多かれ少なかれ互換性が失われるような変更が行われてきました

    第46回 Perl 5.26で変わること(1):Perl Hackers Hub|gihyo.jp … 技術評論社
    tsucchi1022
    tsucchi1022 2017/12/18
    脆弱なのは知ってたけど、メジャーどころで脆弱性があったのね。。。これは知らなかった。"共有サーバなどで悪意を持ったユーザーがそのディレクトリにしかけをすると容易にルート権限を奪える状態になっていた”
  • 第36回 Perlのテストモジュールの使い方・作り方-Test::More、Test::Builder、Test::Stream、そしてPerl 6(1) | gihyo.jp

    Perl Hackers Hub 第36回Perlのテストモジュールの使い方・作り方-Test::More、Test::Builder、Test::Stream、そしてPerl 6(1) 連載では第一線のPerlハッカーが回替わりで執筆していきます。今回のハッカーは、Perl関連のイベント 「⁠吉祥寺.pm」の主催などで知られるMagnolia.Kさんで、テーマは「テストモジュールの使い方・作り方」です。 稿のサンプルコードは、WEB+DB PRESS Vol.90のサポートサイトから入手できます。 Perlにおけるテスト 読者のみなさんはテストを書いていますか。 Perlは昔からテストをとても大事にしてきた言語です。テストを書くために必要なテストモジュールはコアモジュールとしてPerl体と一緒にインストールされていて、すぐにテストが書ける環境が用意されています。CPANにアップされ

    第36回 Perlのテストモジュールの使い方・作り方-Test::More、Test::Builder、Test::Stream、そしてPerl 6(1) | gihyo.jp
  • 第26回 Perlで困ったときの調べ方(2) | gihyo.jp

    前回の(1)はこちらから。 モジュールについて調べる モジュールのドキュメントを調べる ある程度大きなアプリケーションになると、いくらperldocコマンドやgrepコマンドでPerl体のドキュメントを調べても見つからない関数が出てきます。これはPerl体のドキュメントに不備があるからではなく、その関数がコード中でuseされているモジュールに由来するものだからです。 perldocコマンドは、インストールされているモジュールのドキュメントを読むときにも使えます。たとえば、Carpモジュールのドキュメントを読みたいときは次のようにします[7]⁠。 モジュールのソースコードを調べる Perlのモジュールにはなるべくドキュメントを付けることが求められていますが、さまざまな事情から、必要な情報が載っていなかったり、そもそもドキュメントがまったくないこともあります。このような場合は実装を確認する

    第26回 Perlで困ったときの調べ方(2) | gihyo.jp
  • 第26回 Perlで困ったときの調べ方(1) | gihyo.jp

    連載では第一線のPerlハッカーが回替わりで執筆していきます。今回のハッカーはcharsbarこと石垣憲一さんで、テーマは困ったときの調べ方です。 検索エンジンを頼りづらいPerl Perlを使い始めて間もない人を悩ませる問題の一つに、複雑なデータ構造のデリファレンスや、配列・ハッシュのスライス、コンテキストを特定するための演算子、特殊変数など、各種の記号や括弧を駆使したPerl特有の書き方がGoogleなどの検索エンジンでは事実上検索できない、というものがあります。また、モジュールを使えば楽ができると知ってはいても、結局どのモジュールを使えばよいかよくわからない、というのもよく聞く悩みです。 稿では、このようなPerlを使っていて困ったときの調べ方をおさらいします。 Perl特有の書き方を調べる 書籍の目次や索引から調べる Perlコミュニティは総じて後方互換性を大事にしてきました。

    第26回 Perlで困ったときの調べ方(1) | gihyo.jp
  • 第25回 cron周りのベストプラクティス(2) | gihyo.jp

    前回の(1)はこちらから。 プロジェクトcronを利用する 筆者は普段ゲーム開発のサーバサイドを担当していますが、プロジェクトによってはバッチサーバのcrontabが100行を超えることもあります。イベント、ランキング処理、監視、集計、バックアップ、リカバリ処理などをしっかりやろうとすると、どうしてもそれくらいになってしまいます。 100行とはいかなくても、プロジェクトで使うcrontabの行数が膨らんでくると、サーバで直接crontabを編集することは管理上現実的ではありません。 crontabの記述とリポジトリ管理 では実際のプロジェクトcrontabをどのように管理していけばよいのでしょうか。筆者は次の方針を立てています。 crontabの記述にゆるやかな規約を設け、リポジトリ管理する crontabの自動テストを行う crontabの反映方法をなるべく自動化する crontab

    第25回 cron周りのベストプラクティス(2) | gihyo.jp
  • 第25回 cron周りのベストプラクティス(1) | gihyo.jp

    連載では第一線のPerlハッカーが回替わりで執筆していきます。今回のハッカーはsongmuさんこと松木雅幸さんで、テーマはcronです。 なお稿のサンプルコードは、誌サポートサイトから入手できます。 cronとは? cronは指定日時にジョブの自動実行を行うジョブスケジューラです。UNIX系のOSであれば実装の違いこそあれ、ほぼ標準でインストールされています。 作業自動化や、タスクを自動実行したいなどといった場合にcronは避けては通れません。Perlでバッチ処理を書く際などに多くの人が活用していると思いますが、ベストプラクティスがわからず恐る恐る使っている人も多いのではないでしょうか。 稿では、cron活用におけるベストプラクティスについてお話します。 cronの使いどころ cronの使い途は、主に次の3つが考えられます。 a.アプリケーションのジョブの実行 b.システムに関わる

    第25回 cron周りのベストプラクティス(1) | gihyo.jp
  • YAPC::Asia Tokyo 2013 直前レポート | gihyo.jp

    世界最大のPerlの祭典YAPC::Asiaの季節が、今年もやってまいりました。 今年のスペシャルレポートも昨年のレポート同様に、各発表を写真付きで随時更新してお届けしていきます(すべてのセッションをレポートするわけではありません⁠)⁠。 YAPC::Asia Tokyo 2013 について 公式サイトにも概要について説明がありますが、YAPC::AsiaはPerlに関するお祭りで、これまで年に1度のペースで開催されてきました。 たくさんのPerlハッカーが登壇し、各々の技術とその周辺の話を発表する場であると同時に、全国からPerlを愛する人々が集まる場でもあります。 今回の会場となる慶應義塾日吉キャンパス 協生館は、日吉駅から徒歩1分ほどの場所にあります。 明日9月19日(木) 18:00からは前夜祭があり、9月20日(金)から9月21日(土)にかけて、たくさんのトークセッションが予定さ

    YAPC::Asia Tokyo 2013 直前レポート | gihyo.jp
    tsucchi1022
    tsucchi1022 2013/09/18
    いよいよ明日か!
  • 第16回 Perl内部構造の深遠に迫る(1) | gihyo.jp

    連載では第一線のPerlハッカーが回替わりで執筆していきます。今回はgfxこと藤吾郎さんで、テーマはPerlの内部構造です。 内部構造を覗く Perlで開発をしていると、ときどきわかりにくい現象に遭遇することがあります。たとえば、あるデータをJSON(JavaScript Object Notation)にシリアライズするとき、数値としてシリアライズしてほしい値が文字列としてシリアライズされてしまう。あるいは、エンコーディングが正しいはずなのに文字化けが起きる。こんなときは、思いきってPerlの内部構造を覗くことで、何が起きているかを突き止めることができます。 稿では、Perlの内部構造について解説します。言及するperlはバージョン5.16.0(2012年5月21日リリース)です。また、ターミナルのエンコーディングはUTF-8を想定しています。なお、Perl処理系はC言語で書かれてい

    第16回 Perl内部構造の深遠に迫る(1) | gihyo.jp
    tsucchi1022
    tsucchi1022 2012/12/19
    面白かった
  • 本日12月1日より、プログラマ有志による2012年の技術系Advent Calendarが各所ではじまる | gihyo.jp

    日12月1日より、プログラマ有志による2012年の技術系Advent Calendarが各所ではじまる 日12月1日より、プログラマ有志による2012年の各技術系Advent Calendarが一日目を担当する人のblogではじまっている。定番化したと言っていいほどの、師走の風物詩になっている。 昨年は技術系Advent Calendarが多方面で行われたが、今年は昨年を超える技術系Advent Calendarが12月1日より行われそうだ。 一般的なAdvent Calendarは、12月25日のクリスマスを楽しみに待つために、12月1日から24日までのカレンダーの日付の部分(扉だったりする)を開けるようになっており、1日ずつその日の日付の部分を開くと天使や動物の絵などが見えるという仕組み(もちろん、様々なバリエーションがある⁠)⁠。 これに発想をえて、技術系Advent Calen

    本日12月1日より、プログラマ有志による2012年の技術系Advent Calendarが各所ではじまる | gihyo.jp
    tsucchi1022
    tsucchi1022 2012/12/03
    あ゛ー、早くこの異世界から抜け出して、読みたいし参加したい。。。
  • YAPC::Asia Tokyo 2012, 2日目レポート[更新終了] | gihyo.jp

    27日から29日までの3日間、東京大学伊藤国際学術研究センターにて「YAPC::Asia Tokyo 2012」が開催されます。日は最終日2日目です(前夜祭の模様はこちら、1日目の模様はこちら⁠)⁠。ここでは、2日目の模様を随時レポートしていきます。 ※すべてのセッションをレポートするわけではないことにご注意ください。 受付近くで、ランチ交流企画のためのくじ引きの入れ物を持った、張り紙をした女性が立っているので、ランチ交流してみたい方はこちらでくじを引いておいてください、とのことです。 Yusuke Wadaさん「⁠「⁠新しい」を生み出すためのWebアプリ開発とその周辺⁠」⁠ 2日目、伊藤謝恩ホールのトップバッターはワディット社長でオモロキ取締役のゆーすけべーこと和田裕介さん。スタートアップから小・中規模、月間1,000万PV+αまでのサービスを対象に、Webサービスの企画から開発・サー

    YAPC::Asia Tokyo 2012, 2日目レポート[更新終了] | gihyo.jp
    tsucchi1022
    tsucchi1022 2012/09/30
    おー、僕のやつも載ってる。超嬉しい
  • Perl Advent Calendar Japan 2011 Test Track | Gihyo Digital Publishing … 技術評論社の電子書籍

    Perl Advent Calendar Japan 2011 Test Track 著者 Perl Advent Calendar Japan 2011 Test Track 参加有志 著 発売日 2012年3月13日 更新日 2012年3月13日

    Perl Advent Calendar Japan 2011 Test Track | Gihyo Digital Publishing … 技術評論社の電子書籍
    tsucchi1022
    tsucchi1022 2012/03/13
    ついにきた!僕も書いてますよ!
  • 第8回 Perlによる大規模システム開発・設計のツボ(2) | gihyo.jp

    mixiのアーキテクチャパターン 2011年4月現在、mixiは2004年2月のサービス開始から7年以上をかけて、最適化、バグ修正、新機能リリースなどを続けています。(⁠2)では、こういった状況の中で、安定したサービスをみなさんにお届けするために取り入れているアーキテクチャ設計上の工夫や、失敗を修正していくための品質評価手法を紹介します。 システムの境界と階層化 mixiでは個々の機能について、次のようなパッケージレイアウトを採用しています。 Mixi::Voice::* つぶやき機能に関するモジュール群 Mixi::Video::* ビデオ機能に関するモジュール群 Mixi::Diary::* 日記機能に関するモジュール群 Mixi::Home::* ホーム表示機能に関するモジュール群 以降では、これらのモジュールの集まりを「コンポーネント」と呼びます。これらのコンポーネントは、相互に連

    第8回 Perlによる大規模システム開発・設計のツボ(2) | gihyo.jp
  • 第8回 Perlによる大規模システム開発・設計のツボ(1) | gihyo.jp

    連載では第一線のPerlハッカーが回替わりで執筆していきます。今回のハッカーはmixiの広木大地さんで、テーマは「大規模システム開発・設計のツボ」です。 仕事やOSS(Open Source Software)プロジェクトPerlを用いた多人数開発をするにあたって気をつけるべきことや、品質を維持するためのノウハウを、国内最大級のPerlシステムであるmixiの事例をベースに紹介します。コーディング上の命名に関する考え方から、大規模アーキテクチャの設計や品質の数値化まで、ミクロからマクロに至るポリシーやテクニックを駆け足で解説します。 なお、今回の内容は(⁠株⁠)ミクシィの2010年度の新卒エンジニア技術教育メニューからの抜粋になります。これからPerl をはじめとするLL(Lightweight Language、軽量言語)を仕事で使うというフレッシュエンジニアのみなさんにも、ぜひご一

    第8回 Perlによる大規模システム開発・設計のツボ(1) | gihyo.jp
  • 第43回 Text::Xslate:永続環境に特化したテンプレートエンジン | gihyo.jp

    TTの体を差し替える 前回はウェブ業界で標準的に使われているTemplate Toolkitをより安全に使うためのカスタマイズ方法をいくつか紹介しました。しばしば批判の対象となってきたエスケープの問題については、TTでも適切な拡張を施せば後発のモジュールと遜色ないか、それ以上に便利に使えることは確認できたかと思います。 ただし、エスケープの仕方ひとつとってもさまざまなやり方があったように、TTは、柔軟である代償として速度面ではかなりの不利を抱えています。 もっとも、不利といってもそれはいまの、しかもかなり規模の大きな現場の視点で見たときの話で、数年前、おもなライバルがHTML::Mason(と、機能面で大きな差があるHTML::Template)だった時代にはTTも十分に高速といえましたし[1]⁠、中小規模のサイトではいまでもTTで十分なレスポンスは得られます。 また、かれこれ10年近く

    第43回 Text::Xslate:永続環境に特化したテンプレートエンジン | gihyo.jp
  • 第42回 Template Toolkit:Perl製テンプレートエンジンのデファクトスタンダード | gihyo.jp

    組み合わせ自由なツールキット Template Toolkit、通称TTは、その名前からもわかるように、もともとは単なるテンプレートエンジンではなく、テンプレートエンジンをつくるためのツール群をまとめたものです。そのツール群を組み合わせた標準のエンジン、標準のフロントエンドと呼べるものもありますが、これはあくまでもTTのよくある利用法のひとつであって、そのすべてではありません。 たとえば、CPANにはApache::Templateという、TTのエンジン部分をmod_perl用にカスタマイズしたうえでmod_perl用のフロントエンドをかぶせるモジュールがありますが、これを使えば、最初に多少の設定は必要になるものの、あとはTTのテンプレートを適切なパスに置くだけで、パラメータの取得からルーティング、レンダリングまでよしなに計らってくれるようになります(TTの文法をサポートしたPHPのような

    第42回 Template Toolkit:Perl製テンプレートエンジンのデファクトスタンダード | gihyo.jp
  • 第41回 HTML::Template::Pro:テンプレートに極力コードを書かせたくないときは | gihyo.jp

    何でも埋め込めるのは楽ですが 前回紹介したHTML::MasonやText::MicroTemplateのように生のPerlコードを埋め込めるテンプレートエンジンは、Perlをよく知っている人が画面の設計からウェブアプリケーションのコーディングまでひとり(ないし、よく統制のとれた少人数のチーム)で行うときには非常に手軽で便利なものです。 ただし、なんでも書けるからといって、たとえばテンプレートの中でO/Rマッパのメソッドを直接呼び出すコードを書いてしまうと、そのテンプレートは(利用するO/Rマッパの性質にもよりますが)おそらく実際に動作するデータベースやそれに付随するテストデータを用意しないと、途中で「Can't call method "..." on an undefined value」などのエラーが発生してレンダリングできなくなってしまいます。また、アプリケーションの設定にあわせて

    第41回 HTML::Template::Pro:テンプレートに極力コードを書かせたくないときは | gihyo.jp