タグ

bufferingsのブックマーク (3,371)

  • Zod v4でz.discriminatedUnionはどうなる予定なんだっけ?を見ておいた - Mitsuyuki.Shiiba

    「数日前に↓のIssueがクローズされたんだよねー。Zod v4が関係してそう。知らんけど」って会社の同僚と喋ったので、ちゃんと知っておくかーって気持ちになった。 ※ 記事はzod@4.0.0-beta.20250505T195954時点の挙動をもとにしています。正式版で変更される可能性があります。 最初にまとめ z.switchが追加されるとか、z.discriminatedUnionが非推奨になるとかの話はなくなった様子 Zod v4 ではz.discriminatedUnionに識別プロパティを渡さないようになった(渡しても無視される) 共通の識別プロパティを持たずに、各オプションがそれぞれリテラルかenum(ネスト可)のプロパティを持つだけでよくなった Zod v3までのz.unionとz.discriminatedUnion Issueの内容を説明する前に、現行であるZod v

    Zod v4でz.discriminatedUnionはどうなる予定なんだっけ?を見ておいた - Mitsuyuki.Shiiba
    bufferings
    bufferings 2025/05/08
    非推奨にはならなさそう。v4の識別用プロパティの動きが面白かった。という感じ。
  • 150万円のMac Studio M3 Ultraを買ったので、使い倒す方法を考える - KAKEHASHI Tech Blog

    エンジニアの横田です。カケハシでは生成AIを活用し医療・薬局向けのプロダクトを開発しています。今回は、プライベートの話で恐縮ですが生成AIのキャッチアップのために150万円のMac Studio M3 Ultraを購入した話をしたいと思います。 150万円のMacについて 2025/3/5 にMac Studio M3 Ultraが発表されました。 私はOSSのLLM(大規模言語モデル)を使って遊ぶのが好きなので、M3 Ultraが発売された時に脅威のメモリ単価の安さに驚きました。 LLMを現実的な速度で動かすためにはメモリの大きさが重要です。Gemma 3やQwen 2.5のような強力なLLMを動かすためには、20GB程度のメモリが必要です。(4月末にQwen3も出ましたね!) さらに、LLMに入力するコンテキスト長を増やすためにもメモリは追加で必要になります。(例えば、Gemma 3を

    150万円のMac Studio M3 Ultraを買ったので、使い倒す方法を考える - KAKEHASHI Tech Blog
    bufferings
    bufferings 2025/05/07
    よこちゃん、すごい!初めて聞いたときびっくりしたけどちゃんと元を取ろうとしていて偉いなぁって気持ちになった!僕の欲しい大きなモニターが安く思えてきた。
  • 薬局DXをリードするカケハシは社内で生成AIをどのように活用しているのか? - KAKEHASHI Tech Blog

    生成AI研究開発チームのainoyaです。この記事では、カケハシが社内で生成AIの活用をどのように推進しているかについて紹介いたします。私は、この活動を支える「生成AI活用研究会」のリードを担当しています。 ※研究会は技術を軸とした社内コミュニティで技術領域ごとに存在しています 「日の医療体験を、しなやかに。」というミッションを掲げ、薬局DXをはじめとした革新的なソリューションを提供するカケハシでは、医療という社会インフラを支える責任と、技術革新への飽くなき探求心を両立させながら日々進化を続けています。 近年、目覚ましい発展を遂げる生成AI技術は、私たちの働き方や提供する価値を大きく変える可能性を秘めています。カケハシでは、このポテンシャルを最大限に引き出すべく安全性を考慮しながら、業界の未来を切り拓くためにプロダクト活用にチャレンジする一方、社内における生成AIの業務活用も積極的に推進

    薬局DXをリードするカケハシは社内で生成AIをどのように活用しているのか? - KAKEHASHI Tech Blog
    bufferings
    bufferings 2025/05/02
    やっていくぞー(やっているぞー)わいわい
  • 株式会社カケハシを退職します | stenyan[.]dev

    この度 2025/04/30 を持って株式会社カケハシを退職します。次の会社は決まっていて 2025/05/01 より働きはじめる予定です。 ## 元々カケハシに入社を決めた理由 入社時の記事を読むのが一番わかりやすいです。 はてなはそれなりに長かったので、違うドメインで働いてみたい ミッションビジョンバリューに心から共感できて、やっていけそうなところが良い テクノロジー方面でも、エンジニアリングマネージャー方面でも、ロールモデルになるような人がいると良いなあ 色んなタイプの人と交流して成長したい(そのため、規模のかなり小さい会社よりはそれなりの規模感がよい) とはいえ入社後も、基的にこれらのポイントに大きなズレを感じることはありませんでした。 ## 今回退職を決意した理由 今回退職の決め手となったのは私自身のやりたいことでした。 医療情報システムのプラットフォームとしては信頼性の高いシ

    bufferings
    bufferings 2025/04/30
    すてにゃんと一緒の会社で仕事ができてとてもよかったー!これからもよろしくです!
  • MCPサーバー自作入門

    はじめに すでに日語でも紹介記事が多数ありますが、私も MCP(Model Context Protocol)サーバーの開発を試してみたので備忘録として。 MCP の仕組みはともかくまずは作り方が知りたい!という方向けです。 MCP サーバー開発用の SDK は Python, Java, TypeScript など複数の言語をサポートしていますが、記事ではTypeScript SDKを使用します。 また開発した MCP サーバーを利用する MCP クライアントにはCursorを使用します。 基的に公式ドキュメントを参考にしています。 🙆‍♂️記事で触れること TypeScript SDK を用いた MCP サーバーの実装方法 実装した MCP サーバーを Cursor で使用する方法 実装した MCP サーバーの配布(Publish)方法 デバッグ方法:Inspector の使

    MCPサーバー自作入門
    bufferings
    bufferings 2025/04/16
    分かりやすかった!MCPサーバーって分かるような分からないようなと思ってた自分にぴったりすぎたー。
  • なぜ私たちは、飲食店経営を選んだのか。「ワインと鍋」×「猫廼舎」エンジニアふたりの異色キャリア論 - Findy Engineer Lab

    多くのエンジニアが「この先、どんなキャリアを歩むべきか」と悩みを抱えています。プレイヤーとして技術を極めるのか、マネジメントに舵を切るのか。選択肢はさまざまですが、ほとんどの人が「ソフトウェア開発」の延長線上で自分の生き方を考えています。しかし、エンジニアが全く異なる業界に挑戦することも、ひとつの選択肢です。むしろ、そうした越境が、自分の人生を大きく好転させるきっかけになることもあります。 今回は、エンジニアでありながら飲店の経営にも携わってきた方々の対談をお届けします。登場するのは、identify株式会社 取締役CTOであり、レストラン「ワインと鍋」のオーナーでもある岩崎裕馬さんと、株式会社カケハシでソフトウェアエンジニアとして働きながら、喫茶店「珈琲専門 廼舎(ねこのや)」の店主を務める荻野淳也さん。技術の世界から一歩踏み出し、自らの「好き」に向き合い続けるふたりが語る、越境と探

    なぜ私たちは、飲食店経営を選んだのか。「ワインと鍋」×「猫廼舎」エンジニアふたりの異色キャリア論 - Findy Engineer Lab
    bufferings
    bufferings 2025/04/12
    おもしろかったー!
  • 941さんに教わったカンファレンスブース設計の秘訣 - CARTA TECH BLOG

    こんにちは、CARTA HOLDINGS 技術広報のしゅーぞーです。 今回はCARTA技術広報メンター @941さんに教わった「カンファレンスブース設計」の秘訣をご紹介します。 背景と経緯 CARTA は2024年4月より 技術広報のコンサルティングをしている @941さんに技術広報メンタリングを行っていただいています。 コロナ禍で社内のカンファレンスブース出展ナレッジが薄くなっていたため、 @941さんに教わりながら1からブース設計のノウハウを学びました。 そのサポートもあり、2024年10月から半年で約5個のカンファレンスにブースを出しました。 その中で学んだこと、また@941さんにフィードバックされた内容を抽出してまとめてみました。実例を交えながら、カンファレンスブース設計の秘訣をご紹介します。 ※: 事前に941さんからレビューを頂いて掲載しております 大前提 カンファレンスでは

    941さんに教わったカンファレンスブース設計の秘訣 - CARTA TECH BLOG
    bufferings
    bufferings 2025/03/29
    よきー
  • 午前中に読み始めたら午後には設計が上達してしまった! - 『Tidy First?』を読んだ - Mitsuyuki.Shiiba

    私の目標は、読者が午前中に書を読み始めたら、午後には設計が上達していることだ。 当にそのとおりだった。読んでる途中で既に自分の設計に対する考えが良い方向に変わってると感じた。とても良かった。おすすめです。 『Tidy First?』 をいただいて読んだ。昨日(2024年12月25日)発売。英語版が2023年11月28日発売だから、たった1年で日語版が出たということだな。うれしい!はやい!ありがたい! ソフトウェア設計に焦点を当てたシリーズの最初の1冊ということで、サブタイトルに「個人で実践する経験主義的ソフトウェア設計」とあるように、1人でできる種類のソフトウェア設計について書かれている。続刊ではチームについての話になる予定のようで、それも今から楽しみ。 2周読んだ なんとなく2周読もうと思ってそうした。 1周目は細かい部分は気にせずにざーっと1,2時間くらいで読んだ。全体的にどうい

    午前中に読み始めたら午後には設計が上達してしまった! - 『Tidy First?』を読んだ - Mitsuyuki.Shiiba
    bufferings
    bufferings 2024/12/26
    おもしろかったー!!!3回目も読むー!!!
  • typescript-eslintとFlat Config - Mitsuyuki.Shiiba

    typescript-eslintのFlat Configについて、自分に今必要そうな部分だけをひととおり確認したので忘れる前にメモを残しておく。 前提 素のJavaScriptプロジェクトをやることは自分はあまりなさそうなのでTypeScript前提 ES Modules前提でいいやと思っているので設定ファイルの拡張子はシンプルに .js にする フォーマッターにはESLintのStylisticじゃなくてESLint外のフォーマッター(PrettierやBiome)を使う前提 基の設定 https://typescript-eslint.io/getting-started/ の最初に書いてある設定。 // @ts-check import eslint from '@eslint/js'; import tseslint from 'typescript-eslint'; expo

    typescript-eslintとFlat Config - Mitsuyuki.Shiiba
    bufferings
    bufferings 2024/12/14
    Flat Configを触るときにはfilesとignoresを理解すればだいたい大丈夫そうだなって思った。
  • Gopher のための Python 入門 - KAKEHASHI Tech Blog

    AI在庫管理の開発チームでバックエンドエンジニアをしている沖(@takuoki)です。AI在庫管理では、サーバーサイドの大部分で Python を使用しているため、私も毎日 Python をごりごり書いています。ただ、私が Python をちゃんと触り始めたのは、カケハシに入社した 1 年半前で、それまでは主に Go を書いていました。 Go の方が後発の言語のため、Pythonista が Gopher になったという記事の方が簡単に見つかるのですが、ここでは逆に「Gopher のための Python 入門」みたいなものに挑戦してみようかなと思っています。入門といいつつも、今回は、私が実際に業務で使用したものにフォーカスしているため、ちょっと偏りがあります。また、私自身が Go の前は Java などのオブジェクト指向言語の経験があるため、その辺りもあまり詳細には触れていない点もご容赦く

    Gopher のための Python 入門 - KAKEHASHI Tech Blog
    bufferings
    bufferings 2024/12/14
    おもしろかった&勉強になったー!長いかな?と思いながら読み始めたけどさらっと読めた。
  • My new error...

    2023 年度の僕のエラーハンドリング について書きたい。 昨日Safe Data Fetching in Modern JavaScriptを読んでいて、fetch に限った話ではないが一家言ある内容だったので書きたくなった。 おそらくやりすぎだとか非効率と言われる点はあると思うので、みんなの一家言も教えて欲しい。 対象は Typescript での サーバー開発想定だが、TS であればクライアント開発にもほとんどに当てはまる話だと思う。 例外のスローではなく Result 型を使う Result は失敗するかもしれないという文脈を与えてくれる型 エラーハンドリングの戦略として例外を投げるのではなく、Result 型を返すやり方がある。 Result 型というのは export type Result<T, E> = Ok<T> | Err<E>; export interface Ok

    My new error...
    bufferings
    bufferings 2024/11/22
    例外の処理を考えるのに参考になる。2年前の記事か。Resultは好き。fetchは色々やることあるからこう書いてあったら安心だな。ログをその場で出すかは良さそうだけど考えてみたい。
  • TypeScript 5.8で条件付き戻り値型に対するナローイングができるようになりそう(特定の制約を満たす場合) - Mitsuyuki.Shiiba

    数日前にTypeScript 5.7 RCがアナウンスされてリリースが楽しみだなー!ってところなんだけど、そのさらに数日前に、ウォッチしていたこのPR↓がマージされてTypeScript 5.8.0のマイルストーンに入った。わー! これが今日のお話。TypeScript 5.8.0でConditional return type narrowingが入りそう。楽しみ! Conditional return type narrowing? 直訳すると「条件付き戻り値型の絞り込み」かな。引数の型によって戻り値の型が変わる関数を定義したいときに、例えばこんな風に書きたくなる。 declare const record: Record<string, string[]>; declare const array: string[]; function getObject<T extends str

    TypeScript 5.8で条件付き戻り値型に対するナローイングができるようになりそう(特定の制約を満たす場合) - Mitsuyuki.Shiiba
    bufferings
    bufferings 2024/11/12
    かいたー
  • 10年ちょっとやってきた僕のアジャイル開発の現在地

    (まだ書いてる途中)僕がシニアエンジニアとしてどのようにアジャイル開発を実践しているかの現在地を紹介します。アジャイルな開発に取り組んでいるみなさんにとって何かしら、ヒントや刺激になるようなものがあると嬉しいです。

    10年ちょっとやってきた僕のアジャイル開発の現在地
    bufferings
    bufferings 2024/10/27
    マイペースで書き加えていくー
  • 高速な仮説検証ループによる新規プロダクトの成果を、既存プロダクトにも反映する開発手法 ─ カケハシ「yabusame」チームにインタビュー - Agile Journey

    株式会社カケハシは「日の医療体験を、しなやかに。」というミッションを掲げた、医療系のスタートアップです。現在は薬局向けのSaaSを主軸としたビジネスを行っており、多くのエンジニアがチームを組んで開発に取り組んでいます。その開発チームのひとつ「yabusame」は、特徴的なチーム編成もあって社内外で注目を集めています。 メンバーの椎葉光行(@bufferings)さん、小田中育生(@dora_e_m)さん、荻野淳也(@ogijun)さん、種岡篤志さん、平松拓(@hirataq__)さんは、それぞれが開発チームをリードできる高い技術力やマネジメント能力だけでなく、細やかな対人スキルや広い視座でメンバーの関係性を捉える能力を備えたシニアエンジニアでありながら、同じチームのメンバーとして開発に取り組んでいます。 日の古式弓馬術である流鏑馬(やぶさめ)から「変化が速い中を駆け抜けて、的確にゴール

    高速な仮説検証ループによる新規プロダクトの成果を、既存プロダクトにも反映する開発手法 ─ カケハシ「yabusame」チームにインタビュー - Agile Journey
    bufferings
    bufferings 2024/09/30
    この1年半のことを、チームのみんなでお話しました!トランクベース開発、2周開発、全員でQA、見積もりやめた、などのお話をして楽しかったー!
  • 「イマジナリー○○さん」がチームを強くする。メンバーの技術力をブーストする「自己開示」の力 | レバテックラボ(レバテックLAB)

    「イマジナリー○○さん」がチームを強くする。メンバーの技術力をブーストする「自己開示」の力 2024年9月26日 株式会社カケハシ エンジニアリングマネージャー 小田中育生 大学院修了後、外資系半導体企業に就職。テストエンジニアとして経験を積んだ後、乗換案内・地図・ナビゲーションサービスを提供する会社に転職。研究開発部門のエンジニアを軸足にUX改善やアジャイル導入推進、プロジェクトマネージャーやエンジニアリングマネージャーを経験し、2019年にVP of Engineeringに就任。2023年10月、カケハシにジョイン。新規プロダクト開発チームのEMとして働く。著書に『アジャイルチームによる目標づくりガイドブック』(翔泳社)、『いちばんやさしいアジャイル開発の教』(共著・インプレス) X note 株式会社カケハシ ソフトウェアエンジニア 椎葉光行 大学時代のアルバイトをきっかけにエン

    「イマジナリー○○さん」がチームを強くする。メンバーの技術力をブーストする「自己開示」の力 | レバテックラボ(レバテックLAB)
    bufferings
    bufferings 2024/09/26
    いくおさんとの1on1では、「でも」を言われたことがないんですよー!ほんとにー!
  • TypeScriptでGeneric Typeに対するNarrowingをしたかったけど現在のところ対応していなかった - Mitsuyuki.Shiiba

    2024-11-11 追記ここから ---- TS 5.8で、その1のインデックスアクセス型の方はサポートされそう。その2の方はその対応が入ってもサポートされない。 追記ここまで ---- 最初にまとめ 現在のTypeScript(2024-09-19時点のバージョン5.6.2)では Generics と Control Flow Analysis は、いい感じには連携しないということを学んだ。 どういうこと?その1 Genericsを使って型安全にやりたいなぁと思って、こんなコードを書いてみてもコンパイルエラーになる。 type Mapping = { a: boolean, b: string, } function getValue<K extends "a" | "b">(key: K): Mapping[K] { if (key === "a") { return true; }

    TypeScriptでGeneric Typeに対するNarrowingをしたかったけど現在のところ対応していなかった - Mitsuyuki.Shiiba
    bufferings
    bufferings 2024/09/20
    昨日書いた。TSのGeneric TypeのNarrowingがサポートされるといいなー
  • draw.ioをつかったフレキシブルな設計図作成術 - KAKEHASHI Tech Blog

    はじめに こんにちは!ソフトウェアエンジニアの種岡です。 皆さん、システム設計に取り組んでいますか? 設計は、プロジェクト成功への道筋を描く、航海の羅針盤です。 目的地を見据え、それに向かって進むための確かな指針となります。 設計の質がしっかりしていれば、開発という大海原でも迷わず進むことができます。 設計はプロジェクトの土台を築く、創造的かつ重要なプロセスです。 夢を描き、それを形にする試行錯誤の楽しさ、これこそが設計の魅力だと思います。 この記事は秋の技術特集 2024の11記事目です。 この記事 is 何? この記事では、設計図を描く際の心構えと、誰でも見やすい設計図を作成するためのテクニックについてお話しします。 なぜ設計図を書くのか? 図は複雑な情報を視覚的に整理し直感的な理解を推進することができるため チーム内外での共通理解を促進し、コミュニケーションを円滑にするため 予測可能

    draw.ioをつかったフレキシブルな設計図作成術 - KAKEHASHI Tech Blog
    bufferings
    bufferings 2024/09/17
    チームメイトが書いてくれたー!図を見ながら話すと認識の違いが早い段階で洗い出せていい。ちなみにDatabricksから伸びてる「こうかな?」の線は僕が描いた😄
  • TypeScriptでタグ付きユニオンのタグがユニオンの場合でも個別にExtractしたい - Mitsuyuki.Shiiba

    何を言っているんだ?というタイトルだけど、今日はTypeScriptの型で遊んでた。 タグ付きユニオンから型をExtractしたい こういうタグ付きユニオンがあって type MyUnion = | { tag: "a", value: boolean } | { tag: "b", value: boolean } | { tag: "c", value: string } その中の型をExtractしたいときは、こんな風に書ける type A = Extract<MyUnion, { tag: "a" }> そうするとtagが"a"の型を取得できるので、このテストがとおる import type { Equal, Expect } from '@type-challenges/utils' type cases = [ Expect<Equal<A, { tag: "a", value

    TypeScriptでタグ付きユニオンのタグがユニオンの場合でも個別にExtractしたい - Mitsuyuki.Shiiba
    bufferings
    bufferings 2024/09/15
    型を楽しんだー
  • プロダクト開発のモニタリングにおいて大事な4つの段階とベストプラクティス - KAKEHASHI Tech Blog

    カケハシで Musubi Insight のバックエンドエンジニアをしている末松です。今回はプロダクトのモニタリングをどう進めていくべきかについて、4つの大事な段階とそのベストプラクティスを紹介したいと思います。 この記事は秋の技術特集 2024の 10 記事目です。 想定読者 モニタリングの悩みあるある モニタリングを始めるためには モニタリングにおいて大事な4つの段階 1. 【可視化】プロダクトの状況がさまざまな断面で可視化されている 【可視化】 のベストプラクティス 2. 【共有】プロダクトの状況が定期的にチームに共有・認識されている 【共有】 のベストプラクティス 3. 【検知】プロダクトが異常な状態であることにチームが気付くことができる 【検知】 のベストプラクティス 4. 【集中】チームが優先すべき指標が定まっている 【集中】 のベストプラクティス まとめ 想定読者 プロダクト

    プロダクト開発のモニタリングにおいて大事な4つの段階とベストプラクティス - KAKEHASHI Tech Blog
    bufferings
    bufferings 2024/09/13
    自分はどうしてるっけなー?と思って考えてみたら確かに、この4つしてるかもー。
  • 医薬品検索でMySQLの全文検索機能を使った話 - KAKEHASHI Tech Blog

    AI在庫管理の開発チームでバックエンドエンジニアをしている沖です。今回は、AI在庫管理の医薬品検索において、MySQLの全文検索機能を使った話を紹介しようと思います。 この記事は秋の技術特集 2024の 8 記事目です。 今までの医薬品検索では満足できないユーザーがいた なぜMySQLの全文検索機能を採用したのか 全文検索機能を導入する 全文検索インデックスを付与したテーブルを作成する パーサー 照合順序と正規化 全文検索インデックスを使用して検索する データを最適な状態に保つために おわりに 今までの医薬品検索では満足できないユーザーがいた AI在庫管理には、医薬品の在庫一覧画面など、医薬品名で絞り込む画面がたくさんあります。この絞り込み機能を実現するために、これまではSQLのLIKE検索を利用していました。 LIKE検索は、使い慣れたSQLを用いて部分一致検索を実現できる便利な方法です

    医薬品検索でMySQLの全文検索機能を使った話 - KAKEHASHI Tech Blog
    bufferings
    bufferings 2024/09/11
    面白いなー。こういう話好き。自分は以前にMroongaを使ったことあるけど、今だとMySQLだけでできちゃう部分もあるのかー!