株式会社はてなに入社しました

株式会社はてなに入社しました 株式会社はてなに入社しました - hitode909の日記

YAPC::Kyotoの思い出 #yapcjapan

こんにちは。そろそろ京都に引っ越して3年のid:anatofuzです。 先日のYAPC::Kyotoではスタッフをしていました yapcjapan.org コアスタッフではあるものの、昨年末から今年にかけて引っ越しがあったり、本業の仕事もなかなか大変で平日は仕事をしてそれ以外の…

PerlにおけるGraphQLライブラリのまとめ

リッチなフロントエンドを開発しているとGraphQLを使いたくなるときがあり、さらにそのバックエンドをPerlで実装したくなるときもあるでしょう。 このエントリではPerlでGraphQL開発をしたい時に使える2023/02/24現在のPerlのGraphQL周りのライブラリ事情に…

Perlでスマートに配列からランダムで特定個数の値を取得する

TL;DR use List::Util qw(sample); my @array = (1..100); # 3個ランダムでとりだす my @random_pickup = sample 3, @array; 人間生きていると配列の中身からランダムにn個取得したいときがあります。Perl書いているときもありますね。 よくある方法は次のよ…

2022年、CPAN(Perlの)モジュールのメンテナを引き継ぐ活動を始めた件

これははてなエンジニアアドベントカレンダー2022 42日目の記事です。 昨日は id:k-murakami0609 さんの 過去に所属してたチームに転生したら導入したいもの でした。 はてなのノベルチームで日常的に使っている便利グッズ最高ですね!! みなさんもノベルチー…

zshでPATHが壊れないようにPATHに新しいディレクトリを通す

zsh

TL;DR 特に順番は気にしないとき path+=('/hoo/bar/baz'); 最初にいれたいとき path=('/hoo/bar/baz' $path) PATH通そうとして壊れるヤツ UNIXを使っている上で避けて通れないのが環境変数$PATHでしょう。 :区切りにディレクトリを列挙して、列挙されている…

git.ioは非推奨(read only)になってしまったので注意する必要がありそう

表題が全てシリーズです。(シリーズとは) 完全にノーマークだったのですが、GitHubが提供していた短縮URLサービスのgit.ioが4月27日を持ってread onlyに移行しています。 2022-04-27 Update: While the git.io url redirection service is read-only and use…

5.32以降のdocker-perlでのcpanmは`https://www.cpan.org`に繋ぎに行くようになります

2022/06/13 追記 一旦この修正はrevertされたので、現在はhttpsで繋ぎにいかなくなっています 2022/06/03 23:46追記 skajiさんの指摘でPERL_CPANM_OPTを指定した状態だと、cpanmの一部の挙動に制限がかかることがPRに書かれました。 この状態だとmetacpanやc…

株式会社はてなに入社しました

株式会社はてなに入社しました 株式会社はてなに入社しました - hitode909の日記

windowsファイル転送バトル

実家に帰省するなどすると色々あり、例えばwindows8自体のPC(i3, メモリ4GB)を無理やりwindows10にしたかろうじて動いているPCからデータを別のwindowsPCに移動させるなどのミッションが生じる。 ここで外付けHDDやUSBメモリを使わないことを考えると、windo…

いい感じにuseするのを助けてくれるApp::perlimportsのご紹介

これはPerlアドベントカレンダー2021の12日目の記事です。 昨日はshogo82148さんで、Perl 5.35.5 の iterating over multiple values at a time を先取りでした。 今回はPerlでもいい感じのモジュールのImportをしてくれるApp::perlimportsの紹介です。 App:…

ラズパイにgolangで書かれているdocker composeをinstallする

多分令和最新版。 linuxでdocker composeを使いたい場合、macOSやwindowsのDocker for xxx系とは違い、docker composeはバンドルされてないので、自分でインストールする必要があった。 特にラズパイではdocker-compose時代(Pythonスクリプト)の場合はpipで…

入社してから書いていた分報の行数を眺めてみる

この記事ははてなエンジニア Advent Calendar 2021 の4日目の記事です。 昨日は同期のid:gurriumくんでした。MOD Pythonで色々できるんだ...。僕も趣味で好きなゲームに色々コード書いて楽しんでますが、それは社のアドベントカレンダーには書けないゲームな…

調子が悪いときの傾向と対策

最近なんか調子悪かったんですがようやく回復してきたので自覚している調子の悪さについて書いておこう。。。 症状 口数が減る ツイート数が減る 分報を書かなくなる 頭の中は色々考えているがアウトプットする気力が減っている アウトプットに対してネガテ…

TypeScriptで関数合成をする関数を書いてみた

関数型プログラミングといえば関数合成みたいなところありますよね。Haskellだと.でagdaだとoだった気がする。 最近やっているTypeScriptで関数合成をやってみました。 以下はググって出てきたこのサイトを参考にしています。 minaluke.medium.com まず例題…

ApolloServer/Clientのフルスタックチュートリアルやった

最近はGraphQLの時代!!!!! ということでApolloGraphQLのフルスタックチュートリアルをやりました。 www.apollographql.com 構造自体は1-4まではApolloServer側の話で、6-9がApolloClient側の話。 ServerからやっているとGraphQLサーバーの実装から出来てお得…

dein vimでプラグインをupgradeする

vim

何かしらのbrewの更新でしくったのか。vimを起動しようとするとfugitive.vimがエラーするようになった。 /Users/anatofuz/.cache/dein/.cache/.vimrc/.dein/plugin/fugitive.vim の処理中にエラーが検出されました: 行 471: E1208: -complete used without -…

PerlのXSをlldbでデバッグする

興味が湧いたのでPerlのC拡張であるXS言語で書かれているList::Utilを読んでいるのだけど、C言語チックなものを読むときはやはりデバッガが使いたい。 XSも結局C言語なのでgdb/lldbでデバッグできないかなと思ってググったところ、できそうなエントリを見つ…

JSのPromiseとJQueryPromiseを雰囲気で理解した

雰囲気で理解したのでメモです。 JSの世界だとPromiseがあって、基本的に失敗/成功で処理を切り分けていく事ができる。 よく使われる方法だと、非同期処理を同期的に使いたいときに使われる。 例えばAというエンドポイントにアクセスした後に取得した情報で…

perlのmapは2引数渡せる

というわけで驚きの事実です。この2行は同じhashrefを返します。 my $hoge = [map { id => $_, piyo => "bar" }, @hoge]; my $hoge = [map { {id => $_, piyo => "bar"} } @hoge]; これはmapの後ろの{はmapの開始地点の意味と、hashrefのコンストラクタとし…

M1 macにGoogle日本語入力入れた

mac

最近M1 mac使っていて、IMEもmacOS標準の日本語入力を使っている。*1 標準搭載されているだけあって別に問題はないのだけれど、個人的に顔文字をIMEで出力したい。 例えば「ぶわっ」で変換したら「(`;ω;´)」が出てほしい。 辞書登録する手もあるけれど、…

プログラミング言語Raku(旧:Perl6)のオンリーカンファレンスが開催されるらしい

インターネット見ていたら発見してしまったのですが、ついにプログラミング言語Raku(旧 Perl6)のオンリーカンファレンスが開催されるようです。 conf.raku.org 今までのRakuはPerlのカンファレンスであるYAPCやPerlConでPerl5とセットで話される機会がほとん…

w3schoolsのjQueryの練習問題解いた

jQuery全然知らないのでちょっと触ってみようと思っていた。 webサイトエイヤで構築するのも良さそうだったけど、軽い練習問題みたいなのをとりあえずガンガン進めてみたかったので、適当にググって出てきたサイトの問題を解いた w3schoolsのチュートリアル…

git commitしたら別のブランチに自動でcherry-pickするPerlスクリプトかいた

今は開発環境でM1 macを使っているのだけれど、色々あってプルリクを送りたいブランチと自分の手元のブランチが異なっているケースがある。ようはM1専用のcommitを積んでいるが、これをプルリクに含めたくないケース。 最近はgit慣れてないのもあって、commi…

js/jqueryでHTMLの箇条書きの行数をだす

こう言う感じのHTMLがあったとして <ul id="hoge"> <li>aaa</li> <li>bbb</li> <li>ccc</li> <li>ddd</li> <li>eee</li> </ul> <li>が何個あるか知りたいって時のオペレーション。知らなかったのでメモ 生のjs document.getElementById("hoge").children.length; jQuery $('#hoge li').length</li>

singularityのbind

singylarity結構便利でデフォルトでホームディレクトリと/tmpがコンテナにバインドされる。 とはいえ/mnt/以下にデータを書き出したい場合などは、singularityのコンテナに明示的に/mnt以下などをバインドする必要がある。 ちなみにバインドしなくてもシンボ…

docker-compose upじゃなくてdocker compose up

なんか今日docker for macがアップデート入った。 今まで通りdocker-compose upしたらこんな感じの表示が出た $ docker-compose up Docker Compose is now in the Docker CLI, try `docker compose up` なんかdocker compose upしてみろとか描いてあったので…

HTMLのデータ属性

知らなかったのでメモ developer.mozilla.org developer.mozilla.org www.webprofessional.jp 実際にMSDNのページにある例題を手打ちして確認したのだけど、JavaScriptで*. dataset.*で値を取れるのなかなか面白かった。 webアプリ読んでいて、データ格納用…

vscodeのgithub extensionsで今開いているファイルのGitHubのURLをひらく

だいたいほとんど素のvimで生活していたんだけど、最近はvscode使ったりしている。 だいたいいじるコード全部GitHubで管理されていて、scrapboxとかslackでコードについて言及したい時はGitHubのURLを貼りたくなる。 vimの時はhubかなんかのコマンド経由でUR…

社会人になったのでディレクトリに応じてgitの設定を変える

git

ついに社会人になり、主戦場がmercurialからgitになりました。 gitは今まで脳死でanatofuz@gmail.comでcommitしていたのですが、娑婆にでると会社のドメインでcommitする必要性が出てきます。 しかし一般的な趣味プロダクトとかで会社のドメインを使うと不要…