YAPC::Hakodate 2024 Track A 12:25〜
YAPC::Hakodate 2024 Track A 12:25〜
IT・Web業界に特化した求人情報サイト「FINDJOB!」は、2020年9月1日にサービスのフルリニューアルを行った。その背景には、より利便性が高くユーザー体験に優れたサービスへと改善するという目的だけではなく、システムにおける「課題」を解消するという目的もあったという。旧「Find Job!」にはいかなる課題があり、リニューアルの裏側には開発メンバーたちのどのような努力があったのか。「FINDJOB!」の開発リーダーを務める佐々木義一郎氏とエンジニアの関祐輔氏に伺った。 困難を極めた既存コードのメンテナンス ――「FINDJOB!」がリニューアルを行った理由を、開発視点から教えてください。 佐々木:理由はいくつかありますが、まず旧システムをメンテナンスし続けることが困難になってきたからです。旧システムはPerlで開発されていたのですが、Perlを扱えるエンジニアは徐々に少なくなっていま
レンタルサーバを使っていると、Root 権限が与えられていないことが多い。その際、必要な Perl モジュールをインストールしようとしても、Web 上には Root 権限がある前提で書かれた記事が多かったため、役に立たないことが多い。そこで今回は、一般権限ユーザで Perl モジュールをインストールする方法を紹介する。 ※ この記事では、Red Hat Enterprise Linux Server release 7.3 (x86_64) 環境 (perl のバージョンは 5.18.2) で試した結果を載せている。 モジュールがない! そもそもこの記事を書こうと思ったきっかけは、古いサーバから Perl のプログラムを新しいサーバに移したところ、実行時に以下のようなエラーが出たからである。 $ perl hoge.pl Can't locate CGI.pm in @INC (@INC
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? はじめに:これは誰のための記事か? Perl で書かれた比較的大きなスクリプトやプロジェクトを保守する必要のある人. Perl 5 との戦い Perl5 (以下 Perl) といえば一時期 CGI を作るための標準的な技術として Web の開発で利用されたり、テキスト処理用の言語として昔から広く使用されている言語です。 かつてはサーバー上で CGI を動作させるために Perl でなければならない というような状態がありましたが、近年では Ruby on Rails や PHP 製のフレームワークなどがサーバー上で普通に利用できるように
perl5の話題。 use FooとするとFooをrequireしつつ、Foo->importが呼ばれることはよく知られているが、 use Foo ()としたときには、importは呼ばれない。 これをどういう風にして実現しているのか前から疑問に思っていた。 というのも普通の関数は「引数なし」と「空リストの引数」を区別できないからだ。 perlのソースコードをみたところ、 parseのところで「引数なし」と「空リストの引数」を区別しているとわかった。 https://github.com/Perl/perl5/blob/v5.24.0/op.c#L6048 https://github.com/Perl/perl5/blob/v5.24.0/perly.y#L346-L354 追記 import を呼ばないための記法として use Foo () が用意された、という経緯があった気がしますん
Perl 6 Advent Calendarは24日、Perl 6のリリースをアナウンスした(Perl 6 Advent Calendar - Day 24、 Phoronixの記事、 6gutsの記事)。 2000年に言語の完全な刷新を目指して開発が始められたPerl 6だが、開発は遅々として進まず、15年の時を経てようやくリリースにこぎつけたことになる。Perl 6 Advent Calendarでは、まだ15歳の子供なので未完成な部分もあるが、今後数年の間により速く効率的になるとしている。Perl 6は「Advent(アルファ版)」「Birthday(ベータ版)」のように祭りや祝い事の名前が付けられており、リリース版は「Perl 6 Christmas」とのこと。 このPerl 6について、あるAnonymous Coward 曰く、 現時点でWindows用のインストールパッケージ
Pelletkachels waren ooit eenvoudige apparaten voor verwarming, maar ze hebben een opmerkelijke evolutie doorgemaakt sinds hun bescheiden begin in de jaren ’80 van de vorige eeuw. In dit artikel duiken we diep in de geschiedenis van pelletkachel, bespreken we de belangrijkste mijlpalen en ontwikkelingen op het gebied van subsidiemogelijkheden en werpen we een blik op de transformatie tot moderne en
このエントリーは Perl 5 Advent Calender 2015 の3日目の記事です。 まだワンライナーで消耗してるの? Perl で書くワンライナーが便利というのはもうさんざん語られている気がするし自明だろうて、このたびはコマンドラインインターフェースで便利なツール群をドヤ顔でステマしたいと思います。怠惰ゆえ、もうワンライナー書くのも面倒になったらコマンドにしてしまえこのやろう、というノリですぜ、おとっつあん。 手前みそですが、できる限り便利そうなやつをピックアップするので、ひとつお付き合いください。ペコリ。 swoop まずは Statistics::Swoop をインストールすると付いてくる swoop コマンド。これは、ログのあるカラムの合計、最大、最小、レンジ、平均をさくっと算出してくれるコマンド。 $ cat log_file | swoop -f3 -d, .----
OSS活動の成果発表のお時間です。 Plackの 1.0038と2015年11月27日時点のmasterにはPlack::Request、Plack::Responseのパフォーマンスをあげる変更が入ってます。その紹介とベンチマークです。 github.com Plack 1.0038 で HTTP::Headers::Fast 0.20 につけた flatten メソッドを使うようになってます。Plack::Response->finalizeのパフォーマンス向上が期待できます。 github.com こちらはまだmasterにmergeされた状態。リリースはされてない。POSTリクエストのパースにHTTP::Bodyではなく、HTTP::Entitiy::Parserを使い、パラメータのパースに WWW::Form::UrlEncodedを使うようになっています。 HTTP::Enti
Ubuntu Server 12.04 で次のような警告が出てパッケージのインストールがうまく行かない場合があります。 perl: warning: Setting locale failed. perl: warning: Please check that your locale settings: LANGUAGE = "en_US:en", LC_ALL = (unset), LC_CTYPE = "ja_JP.UTF-8", LC_COLLATE = "ja_JP.UTF-8", LC_MESSAGES = "ja_JP.UTF-8", LANG = "en_US.UTF-8" are supported and installed on your system. perl: warning: Falling back to the standard locale ("C").
tl;dr - HerokuでPSGIアプリを動かすなら https://github.com/pnu/heroku-buildpack-perl がおすすめ。 miyagawa/heroku-buildpack-perl 確認したバージョン: ae9e87e3 (2014/10/31) detect: app.psgiが存在するときにbuildpackが有効になる。 Perl: dynoに最初からインストールされている/usr/bin/perlを使う。 依存解決: cpanmをインストールしてcpanm --installdeps .を実行することで依存しているCPANモジュールをインストールする。 キャッシュ: cpanmによってインストールされたモジュールをCACHE_DIRにキャッシュする。 WebサーバーはStarman。 miyagawa/heroku-buildpack-pe
If you are using File::Slurp, you should possibly reconsider. Basically, there are three reasons to do so; It is wrong in a lot of cases. File::Slurp predates IO layers, and as such doesn't take them into account well. A few years ago, after some complaints, an attempt was done to make it handle encodings. This was nothing short of being wrong. The best known bug in this area is #83126, which mean
Perl › バージョン情報 › here 2015年6月1日に、最新バージョンのPerl 5.22がリリースされました。 Perl 5.22 リリース 今回のリリースでは、活発な機能追加が行われています。 パフォーマンスの改善 Perl 5.22の一番うれしな点は、性能改善です。マルチデリファレンスの構文解析とメソッドの構文解析の改善によって、パフォーマンスがアップしています。 複数階層のデリファレンスの性能改善 Perlの内部パーサーは、複数階層のデリファレンスを効率的に解析できるようになりました。このために、複数階層のデリファレンスのパフォーマンスが上昇しています。 $scores->[0]{math}; メソッド呼び出しとSUPER擬似クラスの性能改善 メソッド呼び出しと、SUPER擬似クラスは、事前に解析され、その情報がキャッシュされるようになっています。そのため、実行時の、メソ
A discussion came up on #plack IRC channel earlier, and we realize that there’s no good (official) documentation available to address the differences between the two popular Plack HTTP servers, Starman and Starlet. Besides the similarity in their names, they are actually similar in what they do: they do serve HTTP requests, and the process model is pre-forked (i.e. fork off a number of HTTP worker
これはどんな話題か? MTは5.2で公式にPSGI対応になり、Plack や Starman で起動すると CGI よりも目に見えて高速に動作するようになります。ただこういった形で起動をした場合、 実運用の環境で利用するためには MySQL や Apache などと同じように起動し続けるプログラムとしてデーモン化する必要があるのですが、これが少し敷居の高いところかもしれません。 この記事では、比較的少ない設定作業でMTを安定してデーモン化する方法として、CentOS や Ubuntu で利用できる upstart を使うものと、最新の Fedora で利用できる systemd を使うものの2つをご紹介します。 前提 まず最初に、各方法の設定ファイルの中で前提となっている部分の説明をします。 MT のインストール先 サンプルの設定ファイルでは、MTが以下のディレクトリへインストールされてい
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く