タグ

2024年12月6日のブックマーク (7件)

  • 永続データプログラミングと競技プログラミング 〜 Haskell でがんばる競プロ

    この記事は Haskell - Qiita Advent Calendar 2024 - Qiita の 5日目の記事です。 純粋関数型言語の Haskell では、値は基的に不変です。リスト、Set、Map など基的なデータ構造も不変データ構造として提供されています。 不変なデータ構造は変更をしても、変更前の値が残ります。結果、データを変更したあとも以前のデータを参照することができるという特性が得られます。この特性を指して、不変なデータのことを「永続データ」と呼び、永続データを駆使して問題を解くことを「永続データプログラミング」と呼ぶことがあります。 Haskell で関数型プログラミングをすると、自然と永続データプログラミングを実践することになります。 永続データプログラミングを支えるのが「永続データ構造」の存在です。 不変なデータで変更を表現するには、元のデータをコピーして、それ

    永続データプログラミングと競技プログラミング 〜 Haskell でがんばる競プロ
  • SSHでも二要素認証を使いたい | IIJ Engineers Blog

    社会人生活の半分をフリーランス、半分をIIJで過ごすエンジニア。元々はアプリケーション屋だったはずが、クラウドと出会ったばかりに半身をインフラ屋に売り渡す羽目に。現在はコンテナ技術に傾倒中だが語りだすと長いので割愛。タグをつけるならコンテナ、クラウド、ロードバイク、うどん。 【IIJ 2024 TECHアドベントカレンダー 12/6の記事です】 今年のIIJアドベントカレンダーは「運用」がテーマということなので、運用に欠かせない必携ツール筆頭であるSSHを取り上げ、SSHの秘密鍵を安全に管理する方法について考えたいと思います。 たとえSSH秘密鍵が漏洩しても、安全を確保する方法 踏み台サーバにSSH秘密鍵を置かずに利用する方法 SSH秘密鍵の安全な置き場所を考える SSH秘密鍵は一般的に ~/.sshにファイルとして管理されていると思いますが、不安に感じることはありませんか? ノートPC

    SSHでも二要素認証を使いたい | IIJ Engineers Blog
  • LLM(大規模言語モデル)のためのHaskellのフレームワーク - Qiita

    この記事はHaskell Advent Calendar 2024の6日目の記事です。 概要 Haskell向けのLLMのフレームワーク (Intelli Monad)を作成し、自立エージェントであるアプリケーションに組み込みました。 このフレームワークは型安全なFunction CallingやStructured Outputを提供し、チャットの履歴をモナドで管理し、履歴の永続化を行います。LLMにはOpenAIを利用し、履歴の永続化にはPersistentライブラリを利用しています。LLMの入出力が型安全であるため、Hspecなどの既存のユニットテストでテストが可能です。 目的 Haskellを使ってLLM(大規模言語モデル)を自立エージェントであるアプリケーションに組み込むことが目的です。 組み込み対象のアプリケーションには、次の二つのパターンが存在します。一つはヒューマン・イン・

    LLM(大規模言語モデル)のためのHaskellのフレームワーク - Qiita
    igrep
    igrep 2024/12/06
    素晴らしい
  • 自作gemでモンキーパッチrbsを利用する - くりにっき

    コンテキスト 構成 手順 モンキーパッチrbsを使うメリット 最後に 2024/12/05 20:27追記 コンテキスト 僕が直近2〜3年以内に新しく作ったgemでは全てrbsとsteepを導入してガッツリ型を書いています。 しかし自分のgemのrbsは書けても、自分のgemが依存しているrubyの標準ライブラリのメソッドや依存している別のgemの方で型定義がなかったり足りていなかったりして steep check が通らなくて困ることがよくあります。 こういう時には https://github.com/ruby/gem_rbs_collection や https://github.com/ruby/rbs にパッチを送ればいいんですが、とはいえ家に取り込まれるまで自分のgemの開発が止まるのはつらいのでfork版を使うことが多いでしょう。 しかし足りない型定義が多かった時にfork

    自作gemでモンキーパッチrbsを利用する - くりにっき
    igrep
    igrep 2024/12/06
  • イーロン・マスク氏の米効率化省、狂騒の船出 テレワークが標的に - 日本経済新聞

    【ワシントン=高見浩輔】トランプ米次期政権で歳出削減を主導する「政府効率化省(DOGE)」が動き始めた。主導する起業家のイーロン・マスク氏らが5日、米連邦議会議員との初会合を開いた。際限ない財政悪化への対応は急務だが、連邦職員の大幅削減など強引な手法には混乱も予想される。午後2時ごろ、詰めかけた50人超の報道陣の前にマスク氏は子どもを肩車して登場して意気揚々と会議室に入った。質疑に答えたジョン

    イーロン・マスク氏の米効率化省、狂騒の船出 テレワークが標的に - 日本経済新聞
  • ENCA 6日目: イテレーターの next メソッドをキャッシュする

    イテレーターの next メソッドをキャッシュする JavaScript エンジンに ES2015 の機能が入り始め、Web ディベロッパーたちがその便利さに感動していた頃の話。配列で for...of やスプレット構文を使うのは確かに便利な一方で、単純な for 文の方が高速に実行できることが問題視されました。 原因は明白で for 文の場合は値を取り出すのにプロパティアクセスするだけですみますが、for...of やスプレット構文の場合は値を取り出すのに毎回イテレーターの next メソッドを呼び出す必要があります。そこでパフォーマンスを改善するため、互換性の問題が起きない範囲で破壊的変更を入れる案が2つ出ました。 %ArrayIteratorPrototype%.next といったビルトインイテレーターの next メソッドを変更不可能にし、それらから値を取り出す際にエンジンの最適化

    ENCA 6日目: イテレーターの next メソッドをキャッシュする
  • DataGridを実装して感じたTanStack Tableに対する所感

    皆さんこんにちは。この記事は株式会社カオナビ Advent Calendar 2024の5日目の記事です。 今回は、筆者が弊社のデザインシステムであるsugaoに新しいコンポーネントを実装したときの話です。 sugaoは、デザインシステムあるあるとして、デザインの定義であると同時に再利用可能なコンポーネント集でもあります。ということで、必要に応じてコンポーネントの追加や修正も行われています。 今回取り上げるDataGridというコンポーネントは、MUIDataGridに近いものだと思っていただくと良いでしょう。つまり、複雑なテーブルを表示するためのコンポーネントです。 筆者は、DataGridコンポーネントの内部実装に TanStack Table を採用しました。これは、フロントエンドで使えるライブラリ集であるTanStackに属する、テーブルライブラリです。ということで、今回はDat

    DataGridを実装して感じたTanStack Tableに対する所感
    igrep
    igrep 2024/12/06