タグ

ブックマーク / zenn.dev (599)

  • 多段 ssh するなら ProxyCommand じゃなくて ProxyJump を使おう

    概要 AWS とかで踏み台ホスト経由(ここでは AWS っぽく bastion と呼ぶ)で ssh する必要があるなら ~/.ssh/config は↓みたいにしとくのが良いんじゃないかな? Host bastion Hostname bastionのIPアドレス User bastionのユーザ名 # ↓は規定のファイルだったり ssh-agent 使ってれば不要 IdentityFile bastion接続用の秘密鍵ファイル名 # ↓の3つはWindowsでは使えないので諦めて ControlMaster auto ControlPath ~/.ssh/cp-%r@%h:%p ControlPersist 10m Host 好きな接続先名 Hostname 接続先のIPアドレス User 接続先のユーザ名 # ↓は規定のファイルだったり ssh-agent 使ってれば不要 Identi

    多段 ssh するなら ProxyCommand じゃなくて ProxyJump を使おう
    hiroomi
    hiroomi 2024/09/25
  • サーバーレス技術の今と未来についてServerlessDays Tokyo 2024 直前イベントで話してきました

    ServerlessDays Tokyo 2024 PreEvent 2024-09-21のServerlessDays Tokyo 2024にむけて、去年に引き続き、直前イベントでサーバーレス技術の今と未来について話してきました。 いよいよ明日からメインイベントですので参加お待ちしています! Serverless Update 2024 文字起こし スライド全体はDocswellさんで公開しています。 PreEventはYouTubeでアーカイブがあります。 サーバーレスのおさらい 「サーバーレス」は、誤解を招きやすい技術用語で様々な定義がありますが、ここでは2つの視点で定義します。 運用者の視点としてのサーバーレスは、物理的なマシンや仮想マシン、EC2インスタンスのような「サーバー」を自分で管理するのではなく、その管理をクラウド事業者に任せるという考え方で、要するに完全従量課金型のフル

    サーバーレス技術の今と未来についてServerlessDays Tokyo 2024 直前イベントで話してきました
    hiroomi
    hiroomi 2024/09/22
  • Mermaid 入門してみたメモ(flowchart で力尽きた…)

    GitHubMarkdown の中に Mermaid を埋め込んだら表示してくれる機能がバレンタイン デーにリリースされました。 今まで Mermaid は知らなくて、テキストでアクティビティ図やクラス図みたいなものを書く必要があるときは PlantUML を使ってましたが GitHub が対応したということで Mermaid に入門してみようと思います。 因みに、この記事を書き始めた時点では、まだ何もやっていないので Mermaid については名前と図が書けるらしいということしか知りません。 では、やってみようと思います。 試すための環境 Visual Studio Code の Markdown Preview Mermaid Support を入れることで Markdown のプレビュー機能が Mermaid のプレビューに対応します。 導入前はこんな感じですが 拡張機能を入れ

    Mermaid 入門してみたメモ(flowchart で力尽きた…)
  • Python in Excel が正式リリースされたので触ってみる

    Python in Excel が GA (General Release) Microsoft 365 Insider Program で公開されていた Python in Excel が一般提供開始され、WindowsExcel アプリで利用できるようになったので、試してみた。 Python in Excel の導入により、Excel のデータを Python ライブラリを使用して分析できるようになった。 これにより、開発者などが Excel 上でのデータ分析を行うにあたり、使い慣れた Python を用いることができるようになるとのことで、Python ユーザーとしてはうれしいアップデート。 インターネット接続前提の機能 Python in Excel は、裏で Python ランタイムがある Microsoft Cloud にあるコンテナーが利用され、コンテナー内で Pyth

    Python in Excel が正式リリースされたので触ってみる
    hiroomi
    hiroomi 2024/09/19
    “Python in Excel アドオンを購入すると、裏で利用できるコンテナーのコンピューティング環境が標準よりも高性能になる”
  • Jotaiはどのようにして誕生したのか、単なるRecoilの代替手段なのか?

    こんにちは、Jotaiの作者です。Jotaiが生まれるまでに様々な取り組みをした歴史を短い記事にしてありますのでよろしければご覧ください。今後のJotaiの発展に期待します。 以下、ChatGPTによる翻訳です。 はじめに この投稿では、なぜ私がJotaiの開発を始めたのか、その背景にあるストーリーを共有したいと思います。JotaiはしばしばRecoilと似たような解決策と見なされますが、その開発にはもっと長い歴史があります。 React Hooks React Hooksが最初に発表されたのは2018年10月のことでした。Reactコンポーネントの外でロジックを開発するというアイデアが気に入り、すぐに多くのライブラリがこのアプローチを採用するだろうと考えました。何か開発したいと思い、グローバル状態管理という分野を選びました。私のモチベーションは、Reduxのセレクター、当時「mapSta

    Jotaiはどのようにして誕生したのか、単なるRecoilの代替手段なのか?
  • Macがスリープ中にバッテリーが爆減りしだしたので解決するためにした事

    経緯 2023年10月ほどに以前から使用していたMacBook Pro(OS sonoma)がスリープ後に再度開くとバッテリーを消費しきってしまう現象が発生した。前日にMacBookを利用後翌日にはMacが電源なしでは操作できない状態となっていたため非常に面倒なため調査を開始 似たような症状は他の知人MacBook Pro(OS Ventura)でも再現していた 対象の人 Mac設定のログイン項目の見直しを行ったが解決できなかった人、あるいは原因と思われるアプリケーションの設定をオフにすることが出来ない人 MacのSMCのリセットなどを行ったが全然解決ができなかった人 他のサイトなどでMacバッテリードレインについて調べたが解決できずにっちもさっちも行かない人 実行環境 MacBook Pro 2020 13-inch プロセッサ 2.3 GHz クアッドコアIntel Core i7 O

    Macがスリープ中にバッテリーが爆減りしだしたので解決するためにした事
    hiroomi
    hiroomi 2024/09/15
    ”pmset以外で対処したが無駄だった ”この手の組み合わせ系テストも大変
  • corepack が標準同梱じゃなくなる未来、 mise でパッケージマネージャを管理する

    mise とは 言語環境の管理は *env や *vm を超えて、 mise へ という記事を書いたので詳しくはこちらをご参照ください。 簡単にいうと多言語対応の言語環境マネージャで(もっと多機能なのですが)、npm をバックエンドに node 製の cli まで管理できる、というものです。 つまり、 yarn や pnpm もグローバルでバージョン管理できるということになります。 似た機能を持つものに volta が存在しますが、筆者の主観だと mise の方が安定した挙動をしており、高速です。 mise の npm backend 機能 mise では npm をバックエンドにして npm library な cli を管理する、という機能があります。(執筆現在 Experimental です) https://mise.jdx.dev/dev-tools/backends/ 例えば、

    corepack が標準同梱じゃなくなる未来、 mise でパッケージマネージャを管理する
    hiroomi
    hiroomi 2024/09/12
  • 資料生成AI「Napkin」がマジすごすぎる。

    以下の記事などで既にかなり話題になっていますが、ぼくも触ってみました(使い方などの詳細はこちらの記事を参照してください)。 結論としては、マジすごくてかなり衝撃的です。すべてのホワイトカラーワーカーにとって、かなりディスラプティブなツールになるのではないでしょうか。 自分はコンサルタントでして、これまでにたくさんの資料を作ってきてスキルを磨いてきたつもりだったので、AIポン出しでここまでのものが出てきてしまうと、正直、人生について考えさせられちゃいますね。 この記事では、Napkinを使ってどういう資料ができたのか共有したいと思います。 ポストモーテムの勉強会をしたいなと思っていたので、まずはChatGPTで資料の骨子を出力し、それをNapkinに入力してみました。それで得られたのが、以下の資料です。 スライド1: タイトルスライド タイトル: ポストモーテムの教科書 副題: SREにおけ

    資料生成AI「Napkin」がマジすごすぎる。
    hiroomi
    hiroomi 2024/09/10
  • 【2024年版】めっちゃ使いやすいPythonの開発環境をVSCode上で構築する方法

    筆者はPythonのパッケージ管理ツールとしてpip、バージョン管理ツール(仮想環境)としてpyenv / virtualenvを利用していますが、 要求されるパッケージのバージョンが衝突する、全体の環境が汚れていくなど色々不便さを感じています。このような悩みはPythonユーザーあるあるではないでしょうか? そこで今回は、2024年時点で非常に使いやすいと噂のRyeやその他ツールを改めて導入し、 各ツールの利用方法や使い心地などを確認することにしました。 この記事によってできること Pythonの新規プロジェクト立ち上げが容易に行える パッケージ管理、バージョン管理、仮想環境管理を単一のパッケージで行える Pythonのコードに対して思い通りのコーディング規約を定義でき、規約通りに自動修正が入れられるようになる その他、エラー表示などが分かりやすくなり開発体験が向上する 導入 パッケージ

    【2024年版】めっちゃ使いやすいPythonの開発環境をVSCode上で構築する方法
    hiroomi
    hiroomi 2024/09/10
  • 【React】なぜコンポーネントの中でコンポーネントを作るのは良くないのか?

    こんにちは、ダイニーの Feature team でソフトウェアエンジニアをしている @ta21cos です。 最近は新規事業である決済関連の機能の開発をメインに行なっています。 ダイニーにおける Feature team は機能にフォーカスした開発・運用を行っているチームです。最近は複数の事業毎に Unit として分かれて開発を進めています。 日は、普段の開発で実際にあった Pull Request のレビューコメントから得た学びについて紹介します。 Dialog を実装しよう React を使ってある Dialog を作成するため、以下のようなコードを書きました(コードは簡略化しています)。 // useSample ファイル // 内部でロジックと Dialog を同時に定義している hook const Dialog = memo<{ progress: number, ...

    【React】なぜコンポーネントの中でコンポーネントを作るのは良くないのか?
    hiroomi
    hiroomi 2024/09/07
  • Zag.js が良いかもしれない

    Zag.js を調べた背景 私は Chakra UI ユーザーなのですが、Chakra UI はスタイリング部分でランタイム CSS-in-JS(= emotion)を使用しているため、レンダリング時のパフォーマンス影響を考えると、どこかで移行するタイミングがありそうだと思っています。もちろん、Chakra UI がランタイム CSS-in-JS を捨ててくれれば移行は必要ありませんが、Chakra UI のロードマップを見たところ、明確にスケジューリングされていません(未来のどこかで移行はされそう)。そのため、移行先を探していたのですが、Chakra UI の作成者のアデバヨさんが作った Zag.js はとりあえず見とかないといけないよな、という感じで見始めました。 Zag.js が作られた背景 Chakra UI が抱えている技術的課題は先述の通り、ランタイム CSS-in-JS が内

    Zag.js が良いかもしれない
    hiroomi
    hiroomi 2024/09/06
  • オープンソースのRAG UI「kotaemon」を試す

    2024/09/03追記 ちょっとX経由で見に来ていただいた方が増えているようなのであらかじめ注意。 kotaemonで普通のRAGをやる場合は、OpenAI/Ollamaどちらの場合でも多分問題なくできるんじゃないかと思います。 kotaemonでGraphRAGをやる場合(多分ここに期待している人が多いと推測)は、以下の注意が必要です。 OpenAIならGraphRAGが動作しますが、モデルがgpt-4-turbo限定になると思います、つまりコストが高いです OllamaでGraphRAGは現状の実装だとちょっと難しそうです 公式にIssue上げてます(どっちかというとGraphRAG側の問題かなと思います)ので、kotaemonのGraphRAG対応については今後のリリースに期待するほうが良いかなと個人的には思います。 ここで知った。 GitHubレポジトリ kotaemon ドキュ

    オープンソースのRAG UI「kotaemon」を試す
  • Remix + Cloudflare + Prisma で、Node.jsとWrangler実行時にimportを適切に切り替える

    開発時の実行方法によってランタイム環境が異なるため、インポートするパッケージを変えなければなりません。 実行環境によるインポートファイルの切り替え インポートの切り替えは Vite の機能を使えば簡単に行えます。 vite でエイリアスを仕込む vite.config.ts NODE_ENV に応じて、インポート時のコードが切り替わるようにします。 import { vitePlugin as remix, cloudflareDevProxyVitePlugin as remixCloudflareDevProxy, } from "@remix-run/dev"; import { defineConfig } from "vite"; import tsconfigPaths from "vite-tsconfig-paths"; import path from "path"; e

    Remix + Cloudflare + Prisma で、Node.jsとWrangler実行時にimportを適切に切り替える
    hiroomi
    hiroomi 2024/09/03
  • はじめに|ITエンジニアのためのプロンプトエンジニアリング

    はじめに|ITエンジニアのためのプロンプトエンジニアリング
    hiroomi
    hiroomi 2024/09/03
  • Bitwardenの実装から学ぶE2EE

    この文章はなに? 文章は、パスワードマネージャーであるBitwardenが公開しているソースコードを読み、そこでE2EE(End-to-end encryption)がどのように実装されているかについて、私が理解した内容をまとめたものです。 「E2EEをぼんやり理解してるが、どのように実装されているのかはわからない」という方を主な対象としています。 E2EEに対する私個人の課題感として、インターネット等から得られる説明が比較的抽象的であり、実装レベルでの理解が難しいというものがあります。 そこで私自身、そして同じ課題感を持つ方に向けて、E2EEを実践しているアプリケーションの1つであるBitwardenを参考に、それがどのように実装されているのかを詳細に理解すべく、文章にまとめることとしました。 なお対象アプリケーションとしてBitwardenを選んだのは、私自身がユーザーであること、

    Bitwardenの実装から学ぶE2EE
    hiroomi
    hiroomi 2024/09/03
  • 統計ほぼ初学から 4 ヶ月で統計検定準 1 級受かった話

    この記事は統計検定準 1 級の合格体験記であり、テスト内容の解説記事ではありません。また、この記事での試験に対する勉強の仕方や受験者の属性には一般性が担保されないので、一個人の個人的な見解として解釈してください。 はじめに 今回は統計検定準 1 級に一発で合格できたので、勉強方法・テストの所感をレポートします!最近は増えてきましたが、CBT 形式の準 1 級の体験記は少ないかなと思ったので 1 つの参考になれば嬉しいです! ステータス 経歴: 東京大学理科 2 類 → 工学部マテリアル工学専攻 → 大学院工学系研究科マテリアル工学専攻 (物性に関する研究) 仕事: 株式会社くふうカンパニーで DS をさせてもらってます 統計の勉強経験: 1S の基礎統計のみでほとんど覚えていないので、知識ほぼゼロの状態でした 数学: 東大理系の平均ぐらいだが、大学からはあまり勉強していませんでした (だい

    統計ほぼ初学から 4 ヶ月で統計検定準 1 級受かった話
    hiroomi
    hiroomi 2024/09/02
  • Nuxt Auth Utils でサーバーサイドの認証を(OAuth・マジックリンク・ワンタイムパスワード)

    Nuxt 3 では Universal Rendering (SSR) によるアプリケーションの開発が難なく可能です。 Nitro というサーバーサイドのフレームワークにより、Nuxt 3 はサーバー側の処理も簡潔に記述できるようになっています。 Nuxt Auth Utils はそんな Nuxt の特徴を生かした、SSR のアプリケーションに OAuth 認証を実装できる Nuxt モジュールです。 執筆時点で GitHub, Google, Discord など 17 の OAuth プロバイダーに対応していますので、通常用途では充分だと思います。 さて当記事では、そんな Nuxt Auth Utils を使った実装と、後半では OAuth 以外の認証方法であるマジックリンク認証とワンタイムパスワード認証を追加実装する方法を解説します。 完成形のイメージ 完成したログインフォームはこの

    Nuxt Auth Utils でサーバーサイドの認証を(OAuth・マジックリンク・ワンタイムパスワード)
    hiroomi
    hiroomi 2024/09/02
  • node v22.7.x で TypeScript をそのまま実行する

    node の最新に近いバージョンで TypeScript の実験的なサポートが入っている。ts-node や tsx に頼らず typescript のスクリプトを実行できる。 ロードマップ 実験的な機能であることは承知の上で、動かしてみる。 tl;dr # ~/.zshrc alias nodets="node --experimental-strip-types --experimental-transform-types --experimental-detect-module --no-warnings=ExperimentalWarning" # run nodets run.ts

    node v22.7.x で TypeScript をそのまま実行する
    hiroomi
    hiroomi 2024/08/30
  • 最強のクエリビルダ「kysely」の紹介 ~薄いORMを探して~

    はじめに こんにちは、畑田です。 最近、RDBを使用しているプロダクトをリプレイスする機会がありました。 このプロジェクトの目標は今現在の使用や実装方針をできるだけそのままに、インフラと技術だけをリプレイスするというものでした。 もちろん、インフラや技術を刷新するということはその上に乗るアプリケーションの実装にも必ず影響を及ぼします。その中で出来るだけ現状の仕様に寄せる試みを行いました。 元のプロジェクトPHPで書かれており、DBのへの通信においても、文字列とsprintfなどを使用し、生のSQLを書いてpg_queryで実行していました。 私はこれを再現する最も安全な方法を探しました。 Prismaなどを用いたactive record形式のORMを使用するより、SQLに近い書き味のクエリビルダーを求めてkyselyに辿り着きました。 あまり情報が第三者からの情報が出てきていないように

    最強のクエリビルダ「kysely」の紹介 ~薄いORMを探して~
    hiroomi
    hiroomi 2024/08/28
  • Next.jsの考え方

    Next.js App Routerにおける設計やベストプラクティスを、筆者なりにまとめました。

    Next.jsの考え方