ブックマーク / blog.ojisan.io (161)

  • 2022年に勉強した技術

    yug1224
    yug1224 2022/12/31
  • 街コンに参加した

    今年の振り返りをしていたら今年初めて街コンに行ったことを思い出したので、忘れないうちに書いておこうと思います。街コンに悪い印象を抱いていたけど実際に参加すると良かったので、そのことについて書きたいです。ところどころボカしていますが、詳細が気になる方はなんらかの懇親会とかで捕まえて聞いてください。 これまでの婚活 実は今年の 1 月に一緒に年明けした独身仲間に「今年こそ結婚する!」(※毎年言っている)と宣言したところ、誕生日にマッチングアプリ代金という名目でアップルカードを渡されまして、3 ヶ月ほどアプリをしていました。 ただ、恋活アプリとして名高いアプリではあるものの恋愛を頑張らないといけないということからは逃れられず、それが苦手な自分は頑張れなくて結局誰にもメッセージを送らずに終わりました。 友人からは「金返せ!」と言われました。 ただそのおかげでマッチングアプリはとても苦手なものである

    街コンに参加した
    yug1224
    yug1224 2022/12/31
  • jscodeshift に付随するテストツールである defineTest の規則を調べてみた

    yug1224
    yug1224 2022/12/31
  • dayjs と timezone plugin

    yug1224
    yug1224 2022/12/28
  • 色々知りたいことがあってmoment を読んだ

    moment.js アドベントカレンダー -1 日目は sadnessOjisan が担当します。 必要性に駆られて moment を理解する必要があったので読んでみました。 エントリポイントはどこか package.json の main は moment.js だが、これはビルド済みファイルであり、CONTRIBUTING.md に Starting from version 2.10.0 the code is placed under src/. moment.js, locale/*.js, min/*.js are generated only on release. DO NOT submit changes to the generated files. Instead only change src/**/*.js and run the tests. とある。なのでコー

    色々知りたいことがあってmoment を読んだ
    yug1224
    yug1224 2022/12/26
  • 持続可能なスプラトゥーン3反省システム

    yug1224
    yug1224 2022/12/26
  • 2022年に買ったデパコス

    2022 年になにをやったかを考えていたら「無」しか思いつかなったのだが、一つあった大きな変化としてデパコスを使うようになったというのがある。きっかけは先月くらいに会社で写真撮影があって、ニキビを隠したいなと思っていた時に「男性芸能人の肌が綺麗なのはコンシーラー塗ってるから」という話を思い出したからだ。そこで後輩を連れて高島屋に行ったのがきっかけである。ちなみにこのとき二人ともコンシーラーが何かを知らない状態で買いに行っているので、下地やファンデーションを知らずにコンシーラーだけを買いに行くということをしており、のちにコスメに詳しい人たちにこの話をしたらめちゃくちゃウケた。よかった。 コンシーラー買った話などを会社やら Twitter でしていると、どうも自分の周りにコスメに詳しい人たちがいることがわかった。そこで彼らに連れられて新宿の伊勢丹メンズ館などで色々見繕ってもらったりしたり、何が

    2022年に買ったデパコス
    yug1224
    yug1224 2022/12/22
  • ライブラリを使わない非同期処理(後編)

    ライブラリを使わない非同期処理(後編) 先日、前編 を書きました。今日はその後編です。Executor や Schedular の実装を見ていきます。 Executor があると、非同期処理を完了させるために開発者が poll を何度も呼び出さなくても良くなります。 詳解に入る前に概念的な説明 非同期処理とは質的に何でしょうか。非同期処理がない世界では、タスクの到着に対してその場で実行し、それが完了するまで後続のタスクは実行できません。もしタスクの中に長い時間がかかる IO が含まれていたら、その IO 待ちの間は後続のタスクが実行できません。そこで生まれたアイデアが、IO の待ち時間は別のタスクをするという考えです。 IO の完了を通知する仕組み IO の待ち時間は別のタスクをするためにはどうすればよいでしょうか。 よくあるのは、IO 完了時に完了後の処理を行うように登録だけしてしまう

    ライブラリを使わない非同期処理(後編)
    yug1224
    yug1224 2022/12/09
  • ライブラリを使わない非同期処理(前編)

    この記事は Rust アドベントカレンダー 5 日目の記事です。OGP 画像は間に合わなさそうな画像です。 Rust そのものには非同期処理の仕組み自体はありますが、非同期のタスク群をスケジューリングして実行する仕組みがありません。これはユーザーもしくはライブラリに任されています。例えば代表的なライブラリである tokio は schadular や executor を提供します。 非同期処理は関係してくる分野が多くさまざまなレイヤーが重なるのでとても難しいと思っています。そこで非同期処理を深く理解するために tokio を使わなければレイヤーをひとつ剥がせて理解が深まると思いました。そこで tokio を使わずに Rust の公式  crate だけで非同期処理を実現してみましょう。 ちなみに前編とついているのはアドベントカレンダーに間に合わせるために志半ばで切り上げたからです。という

    ライブラリを使わない非同期処理(前編)
    yug1224
    yug1224 2022/12/06
  • Next.js の codemod を読む

    OGP はマイグレーション作業感を出そうと「工事現場 鉄骨 クレーン」で AI 生成した。前から思っているのだが大体生成に失敗する。あまり精度が良くないのは古くからある無料のものを使っているからなのだが、そろそろ自前でお絵描き AI をホスティングしてもいいかもと思いつつある。 Next.js の codemod 今回の v12 から v13 へのアップグレードガイドでも紹介されていますが、Next.js ではマイグレーションを支援する codemod が存在します。 FYI: https://nextjs.org/docs/upgrading#upgrading-from-12-to-13 codemod はいろんなところで耳にはするものの改めて考えるとどう意味かわからなかったのですが、一般的な言葉かは知らないものの調べたところ https://github.com/facebookar

    Next.js の codemod を読む
    yug1224
    yug1224 2022/11/27
  • ブログにニコニコ動画を埋め込む

    yug1224
    yug1224 2022/11/24
  • Free モナドは何が嬉しいか

    最近 Scala を勉強していて、cats が少しずつ色々分かってきたが Free モナドは何もわからんすぎたので整理がてらまとめる。 自分の理解を最初に書いておくと、Free モナドの嬉しさは副作用の分離にある。そしてそのために自然と DI 機構が提供されることも嬉しい。そしてこれらの事実は合成に使う関数の型シグネチャからも読み取ることができ、型レベルで読み手が DI の意図を理解できることも嬉しい。 Free モナドのよくある説明 Free モナドは、 data Free f a = Pure a | Free (f (Free f a)) instance Functor f => Monad (Free f) where return = Pure Pure a >>= f = f a Free m >>= f = Free ((>>= f) <$> m) として定義されたものだ。

    Free モナドは何が嬉しいか
    yug1224
    yug1224 2022/11/11
  • 入門 アル中カラカラ

    職場だったりサークルだったり何らかのコミュニティーに入るたびに「え、アル中カラカラ知らないんですか?絶対に見た方が良いですよ」っていうやりとりをしている。誰もが一度は見たことがあるはずだと思っていたので、見ていない人に出会うといつも熱心に宣伝してしまう。なのでこれまで見たことない人に勧めるならどれがいいかを考えてみることにした。 アル中カラカラとは 一言で言うと、とあるおじさん(年齢は知らないけど)がハイボールを飲む動画である。こう書くとただのグルメ動画ではあるが、ハイボールのアルコールの比率がおかしかったり(炭酸水とアルコールの比率が逆転している、また炭酸水を入れなかった回 も存在する)、味付けが異様に濃かったり(調味料全てを一度の調理の使い切るなど)、社会常識がなかったり(畳をまな板がわりに使うなど)という要素がふんだんに含まれていて、その奇想天外な料理べっぷりを見れる動画だ。動画

    入門 アル中カラカラ
    yug1224
    yug1224 2022/11/07
    アル中カラカラは一般常識
  • お気軽に Wasm の動作確認する用のテンプレート作った

    OGP は 「顔パックに噛み付く人」で AI 生成した。wasm-pack 標準テンプレートの webpack を vite で置き換えるものということでそうしたのだが、なんかすごいのが出来上がった。バンドラの箱を開けたってコト!? 「Rust のこの機能やこの Crate って Wasm としてブラウザで使えるんだっけ?」と思うことはままあると思う。 そこでタイトルにある通りお気軽に Wasm の動作確認する用のテンプレート作った。 https://github.com/sadnessOjisan/wasm-vite-template 使い方 clone してきて、

    お気軽に Wasm の動作確認する用のテンプレート作った
    yug1224
    yug1224 2022/11/05
  • Monad は継続、Applicative は並列

    Scala の cats のドキュメント群が Monad に関する説明としてすごくわかりやすかったので、そこで学んだことをまとめておこうと思った。 モナドを理解したい モナドを理解したいというモチベーションをずっと持っている。Wasm 文脈で Rust に入門しそこで Option や Result と出会い、OCaml で Monadic Parser を意味も分からず実装し、そのための勉強で Parsec を知りH で Haskell と一緒に勉強したり、同僚に Scala と cats を布教されたりで、長いことモナド周りの技術に触れている。しかし今でもきちんと理解できている自信がない。何が理解できないのだろうか。 H で学んだこと H は型クラスについて解説したあとに Functor の説明に入る。ここでは文脈を持った値、文脈を維持したまま関数を適用できる関数として fmap

    Monad は継続、Applicative は並列
    yug1224
    yug1224 2022/11/01
    “Either でも良いザー”
  • pyenv install battle

    yug1224
    yug1224 2022/10/24
  • decorator を使わずに lit を使う

    yug1224
    yug1224 2022/10/13
  • vite で楽々 lit 環境構築

    yug1224
    yug1224 2022/10/13
  • React ユーザーのための lit

    yug1224
    yug1224 2022/10/13
  • スプラトゥーン3の反省サイトを Jamstack でコスト抑えて作った

    仕事の都合上、Django を覚える必要が出たので、その素振り課題が欲しい + スプラトゥーンを強くなりたいというニーズが出会って スプラトゥーン 3 反省会会場 を作りました。 色々技術的な挑戦をしたのでそのまとめをします。 スプラトゥーン 3 反省会会場とは スプラトゥーン 3 反省会会場は、自分のスプラトゥーン3プレイ動画を録画して、後から見返して反省をするためのサイトです。ただ反省文を書くためだけに作っていたのですが、どうせなら改善点のアドバイスなどがもらえるようにと思って Youtube への紐付けと反省文を外部から見られるようにしています。 反省文を書こうと思ったきっかけはウデマエを上げたいからで、普段同じようなミスをしている気がしているのでしっかりと反省することと、その反省すべきシーンだけを後から何度でも検索して見返せるようにすることが目的です。 いまではご飯をべる時は常に

    スプラトゥーン3の反省サイトを Jamstack でコスト抑えて作った
    yug1224
    yug1224 2022/10/07