YAPC::Hakodate 2024でのトークです https://yapcjapan.org/2024hakodate/
8/26(土) は湘南.pm #1でした。初開催おめでとうございます!主催のid:papix ありがとうございました!! そこで話したことを書いてみます。 意識高めの題ですが、まずはじめに私は翻訳は全くの素人です。英語が得意だから、英語ドキュメントを翻訳してみようと思ったわけではないです。私の人生、翻訳にご縁があるとは思っていませんでした。 Perlの公式ドキュメントを和訳するようなワーキンググループを一年運営した話をしてみたいと思います。 一年やってみて良かったと思いますし、技術コミュニティに貢献する手として、みなさんの頭の片隅にでも残ったら良いなと思って話します。 こばけんと言います!エンジニア組織開発責任者をしたり、開発生産性の可視化サービスを作ったり、技術コミュニティ活動したり、起業の準備をしています。 そして、この場をお借りして、お知らせをさせてください! 2024年2月10日(
こんにちは、エンジニアの id:mp0liiu です。 少し前の話になりますが、5/28にPerlの最新安定バージョンである5.36がリリースされたので、コミュニティ周りの動向も含めて気になった点についてまとめていこうと思います。 use v5.36 一番影響がある変更は use VERSION の効果が変わったことです。 use v5.34 以前はバージョンチェック、要求されたバージョンで利用可能なすべての機能(featureバンドル)の有効化、strict の有効化を行っていましたが、 use v5.36 からは warnings も有効化されるようになりました。 use v5.36; my $str; say $str; # Use of uninitialized value $str in say at ... 1行だけで strict, warnings, 最新の機能の有効化が
こんにちは。id:kfly8です。 Japan Perl Association(JPA)では、日頃、Perlコミュニティに協力をいただきながら、YAPC::Japanといった技術カンファレンスの運営やPerl入学式といった初学者向け勉強会の支援を行っています。 今回、JPAは「Perlドキュメントワーキンググループ(仮称)」という新たな試みを開始します。このワーキンググループは、次のようなことを目指し、定期的にコミュケーションし作業する場です。 和訳に興味があったら、より簡単に参加できる*1 ドキュメントの更新日が新しく、情報が信頼できる 目的のドキュメントにたどりつきやすい 最近のPerlの情報をキャッチアップしやすい これらの事は、このワーキンググループで全て完璧に実現することは難しいですが、継続して取り組み、よりPerlを学びやすい環境作りとその支援をできればと思います。また、ワー
こんにちは、エンジニアの id:mp0liiu です。 8月28日(土)の Learn Languages 2021 というイベントの Language Update というセッションで@charsbarさんと一緒に2018年以降のPerl5やPerlコミュニティの最新動向について話してきたので、そのとき話した内容に補足などしつつ記事にしていきたいと思います。 配信アーカイブはこちらから見れます。 時系列 2019/5/22 Perl5.30 リリース 2020/6/20 Perl5.32 リリース 2020/6/24 Perl7の発表 2021/5/21 Perl5.34 リリース Perl5.30 の変更点 正規表現や文字周りの細かい改善などはありますが、正直めぼしい変更点が見られないです。 Perl5.32 の変更点 isa 演算子の実装 値があるクラスのインスタンスもしくはそのサブ
Twitter::Text - Perl implementation of the twitter-text parsing library - metacpan.org Perlでツイートをバリデーションしたいときに使うことができます。どうぞご利用ください。 いろいろ学びがあったので、実装方針などについて書いていきます。 動機 そもそも既存ライブラリはなかったのか、と思うのですが、どうやら9年前から存在しなかったようです。 ツイートを読んでPerlのデータ構造にするText::Twitterってモジュールを見た記憶があるんだけど、そんなものはCPANになかった。なにを見たんだろう……。— 栗林健太郎 (@kentaro) 2011年1月24日 GitHubで twitter text perl で検索すると、以下のリポジトリがヒットしますが、どれも要件を満たさなかったです。 GitHu
近年のソフトウェア開発では、RenovateやDependabotといった依存関係更新のためのツールが普及していて、ツールの支援を借りながら依存ライブラリを更新していく開発フローが広まってきている。 これらのツールは、package.jsonで管理されているライブラリだったり、Dockerfileで指定しているイメージだったりを自動的に最新版に更新してPull Requestを出してくれるので、人間は内容を確認してマージボタンを押すか、変なところがあったら手直ししてからマージしていくだけでよい。 はてなでの開発フローでも使い倒していて、先月くらいにも、社内で共有して使ってる設定を公開したりしていた。今ではRenovateのない暮らしに戻ることは考えられないくらいに広まっている。 developer.hatenastaff.com 普段、仕事ではPerlやTypeScriptを書いていて、T
Announcing Perl 7 Jun 24, 2020 by brian d foy image credit: Darren Wood, “7”, on Flickr. This morning at The Perl Conference in the Cloud, Sawyer X announced that Perl has a new plan moving forward. Work on Perl 7 is already underway, but it’s not going to be a huge change in code or syntax. It’s Perl 5 with modern defaults and it sets the stage for bigger changes later. My latest book Preparing f
要約 JVMは任意の言語で作ることができるので、Perlで書いてみました github.com このようにクラスファイルを読み取り、それを実行することができます 今回は読者がJVMを書き始められるようにクラスファイルの読み取り方に焦点をおいて解説します(あまりPerlの話はしません) 目次 自己紹介 JVMの基本 クラスファイルの解説 オペコードの実行 まとめ 自己紹介 駅メモにて主にバックエンドを担当しているid:toricorです。 仕事ではサーバがPerl実装なので、Perlでいろいろな機能を実装したりパフォーマンスチューニングをしたりしています。 JVMをつくろう 残念ながら今のところ仕事ではほぼJVMと縁がないので、まずは基本を確認します JVMとは Java Virtual Machine(Java仮想マシン)の略です Java仮想マシン - Wikipedia JVMはJav
最近,Perl の開発してるときに DDP とかでダンプするのが億劫になってきたのと, 動かしつつデバッガーでブレークポイント置くみたいな体験できないかな,という気持ちが高まってきたので, そういうことができないか,というのを模索してみることにした. 前提 目下使っているエディタは VSCode である. これのデバッガー機能が使えればナイスな感じがしてくる. 環境は Docker で構築されている.Plack で動いている.Plack は正直わかってない. ただ,調べてもあまり Perl + VSCode のリモートデバッグでやったぜみたいなものはあまり出てこない. 素直に Perl Debug 素直に Perl Debug という拡張を使ってみることにした 1. Perl Debug のインストール marketplace.visualstudio.com 2. Devel::vsco
リスト処理に有用な関数群を収録している Perl モジュール List::Util はコアモジュールであり、原則的にどの Perl 環境でも同梱されています。 とはいえ、Perl のバージョンアップに伴って、同梱されている List::Util もバージョンアップしており、収録されている関数にも差異があります。2010年前後の古い Perl だと外部モジュール List::MoreUtils を別途インストールしないと出来なかったことも、2020年代の新しい Perl であれば List::Util のみで完結することもあります。 以下、Perl のバージョンと、それに同梱されている List::Util のバージョン、そしてその List::Util が提供する関数一覧を表にしてみました。なお Perl 5.8 より前のバージョンの Perl は省略しています。 Perl List::U
日本語EPUBの作成で結構面倒なのが「使える文字と使えない文字のチェック」です。何せ単行本1冊で10万文字くらいはあったりしますので、それを目視でチェックして使えない文字を見分けるなどというのは普通に考えて無理があるわけです。また、例えベテランの作業者なら対処できるとしても、そういう機械的な処理に関しては極力機械に任せて省力化したいところです。ということで自前のチェッカー内に組み込む目的で「Adobe-Japan1-6」および「JIS X 0213:2004(JIS2004)」を対象として外字のチェッカーを作りました。 ターミナルで のような形で指定すると、以下のようなチェックログのファイルを出力します。上の例はAdobe-Japan1-6用チェッカーの指定例ですが、JIS2004用チェッカーも使い方は同じです。 普段ならリストを貼って公開するところなのですが、なにせ膨大な文字をリスト化し
Finally I created a new perl installation tool perl-install which is written in shell script. Build and install perls. This is similar to perl-build. While perl-build is written in perl, perl-install is written in… MotivationWhy did I created a new perl installation tool? Yes, we already have several perl installation tools. Among them, gugod’s perlbrew and tokuhirom’s perl-build are famous, I thi
本連載では第一線のPerlハッカーが回替わりで執筆していきます。今回のハッカーは非エンジニアとして普段からプログラミング情報を発信しているnote103こと門松宏明さんで、テーマは「自作ツールによる日常業務効率化」です。 本稿のサンプルコードは、WEB+DB PRESS Vol.112のサポートサイトから入手できます。 簡単なツールで日々を効率化する 筆者は昨年までフリーランスの編集者として活動していましたが、現在はIT企業のカスタマーサポートとして働いています。その一方で、数年前にPerlのプログラミングに出会って以来、Perlを使って自分のためのツールをたくさん作ってきました。本業のプログラマーのように大規模なプログラムや本格的な手法は扱えませんが、基礎的な構文を組み合わせるだけでも驚くほど多様なプログラムを作れることを日々実感しています。 Perlは今なお時代とともに着実な進化を遂げ
僕自身 C 言語を使って Perl を拡張することが好きだということもあって、今まで何回か XS を使ったモジュールの公開や、それらについての内容で登壇もしました。 (今までリリースしてきたモジュール一覧) Kei Kamikawa (CODEHEX) - metacpan.org 寄稿内容は Perl をやっていれば一度は絶対耳にする Inline::C モジュールについてです。 metacpan.org Inline::C がどんなモジュール化簡単に紹介しますと、Perl のソースコード上で C 言語のコードを埋め込み実行することが可能になる超変態モジュールです。C 言語で記述した部分はちゃんとコンパイルされるので実行速度も Perl よりも格段と早くなります。 この内容に関して知っている方はとても多いとは思いますが、実際に Inline::C を使ってコードを書いたことのある方って実
I attended the Perl Toolchain Summit 2018 in Oslo. It’s a unique event with lots of perl hackers who work on perl toolchain, testing tools, core support and ecosystem such as PAUSE and MetaCPAN. They annually get together and hack on these things in the same room. Day 0: Monday to Wednesday I spent a few days in Stockholm as a stop over for this trip. It’s my first time visiting both Stockholm and
「TensorFlow」をはじめとするAIフレームワークや、Pythonで提供されている多くのライブラリにより、AIサービス制作・参入ハードルが下がっている。一方で、こうしたサービスを使わずに、あえて「必要なツールはほぼ自作」という選択をしているのがウェザーニューズだ。 同社のAIイノベーションセンターに所属するエンジニアの萩行正嗣(はんぎょう・まさつぐ)さんに、気象サービスでのAI活用事例と、「ユーザーと開発者のどちらの幸せも追い求める」開発哲学を伺った。 AIを使い、気象情報を早く正確に伝える ――まず、どのようなサービスでAIを活用されているのか教えてください。 私たちは特定のサービスだけにAIを使っているわけではありません。ウェザーニューズが提供するサービスはいずれも「気象情報を正確に伝える」ためのもの。天気予報自体にAIが活用されているので、すべてのサービスにAIが使われていると
この記事ははてなエンジニアAdvent Calendar 2017の22日目の記事です。前日は id:takuya-a さんの『Bing検索の裏側―BitFunnelのアルゴリズム』でした。たいへん興味深いですね。 はてなは Perl アプリケーションが多い会社ですが、今年のアドベントカレンダーは全く Perl の話が出てきてない......。でも僕は Perl 大好き少年なので、このまえ作った CPAN モジュール Text::Xslate::Bridge::TypeDeclaration の話をします。 一般的な Web アプリケーションではテンプレートエンジンに変数を渡して html を組み立てますよね。 はてなでは Text::Xslate の TTerse Syntax を利用しているプロジェクトが多いです。 例えばユーザ情報を表示するサイドバーの部分テンプレートはこんな雰囲気に
日常の中で複雑な作業をしたい時, Perlで雑なスクリプトを書いて実現することがあります. そういった時によく使うCPANモジュール達を紹介しようと思います. Path::Tiny metacpan.org ファイルの読み書きはもちろん, ファイルやディレクトリの存在確認, ディレクトリからのファイルの走査, 一時的なファイル/ディレクトリを用意... などなど, ファイルやディレクトリ操作に関するあらゆることがこのモジュール1つで実現できて便利です. Data::Printer (DDP) metacpan.org 便利で見やすいData::Dumper. 雑なスクリプトを作る時は, とにかくData::Printerで途中結果を表示しながら試行錯誤しています. papix.hatenablog.com 過去にこういう紹介記事を書いていました. papix.hatenablog.com
バージョン Path::Class 0.33 Path::Tiny 0.056 オブジェクト生成 Path::Classで生成したオブジェクトは、ファイルはPath::Class::File、ディレクトリはPath::Class::Dirとなる。Path::TinyはどちらもPath::Tinyとなる。 # Path::Class $file = file($path); $dir = dir($path); # Path::Tiny $file = path($path); $dir = path($path); ディレクトリ配下のファイルオブジェクト生成 # Path::Class $file = $dir->file($name); # Path::Tiny $file = $dir->child($name); ディレクトリ配下のディレクトリオブジェクト生成 # Path::C
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く