タグ

odan3240のブックマーク (11,835)

  • 個人開発OSSが世界に勝てなかった話

    ゆーすけべー氏の「OSSで世界と戦うために」にインスパイアされました。5年間pyserdeというOSSのライブラリを開発・メンテしてきた筆者が、ちょっとだけ世界と戦ってみたけど全然勝てなかったという話です。Honoとはプロダクトの規模も開発にかける情熱も全然違うけど、単純にポストモーテムは読み物として面白いかなと思ったので書いてみます。また、5年間の開発で学んだやってよかったことや失敗などもシェアできればと思います。 pyserde pyserdeは筆者が2019年から開発メンテナンスしているOSSで、RustのserdeというライブラリにインスパイアされたPython用のシリアライゼーションフレームワークです。 以下のようにクラスを定義すると、型アノテーションに基づいたデータ変換やバリデーションのコードが内部的に生成され、強い型付けのクラスを生成することができます。強い型付けのクラスはラ

    個人開発OSSが世界に勝てなかった話
    odan3240
    odan3240 2024/05/26
  • 「プロダクトエンジニア」という役割を定義しましたというお話 - hacomono TECH BLOG

    こんにちは、hacomonoのプロダクト開発部のたつ(X)です。 前回は「hacomonoの機能開発チームのたつです」と自己紹介したのですが、組織も大きくなりまして「部」なんて言葉を使うようになりました。 さて日のお話は、2024年に入って「プロダクトエンジニア」という役割を社内で定義・言語化しましたのでそのお話をしたいと思います。 以前にもこじこじが「プロダクトエンジニア」について記事を書いてくれています。 日はその第2弾としてhacomonoの「プロダクトエンジニア」の定義とその誕生の経緯についてお話したいと思います。 と言っても何も新しい役割を定義しましたという話ではなく、今までも社内で活躍してくれていた人の特徴を言語化・再定義したというお話です。 なぜ「プロダクトエンジニア」という言葉を定義したのか? 理由は4つあります。 組織が大きくなるにつれて、プロダクト開発エンジニア

    「プロダクトエンジニア」という役割を定義しましたというお話 - hacomono TECH BLOG
    odan3240
    odan3240 2024/05/25
  • Server Actions の同時実行制御と画面の状態更新

    2024 年 5 月現在だと Next.js のドキュメントには明示的な記載がないが、「同時に実行可能な Server Action は常に1つだけ」という件について。 実は自分もこれをちゃんと認識しておらず、先日会社の先輩に教わって初めて知ったので、試したことなどを書き残しておく。 Next.js の場合、App Router (Router Reducer) によって、Server Action の実行が直列化 (キューイング) されるようになっている。 このキューイングの挙動を考慮すると、以下のような呼び出し方は危ういコードとなる。 "use client"; import { useState } from "react"; import { increment } from "./actions"; export default function Page() { const [

    Server Actions の同時実行制御と画面の状態更新
    odan3240
    odan3240 2024/05/25
  • 社内に詳しい人がいない領域のコードを触る時 - Konifar's ZATSU

    自分も含めて社内に詳しい人がいない領域のコードをいじることってあるよね。特に歴史の長いサービスだと当時触っていた人が誰もいないとか。仮にいたとしても1年くらい触ってないとほとんど忘れてしまって知らないのと同じような状態になっていたりする。 自分もそういうことが何度もあって、雑にスタンスややってることをまとめておこうと思う。 前提のスタンス 「これを倒したら俺がこの領域で一番詳しい最強になるんや」という気持ちを持ってる 詳しい人がいない状態で属人化とか気にしても仕方ない。まずは自分が詳しくなってから考えるでよい 自分用メモを作る キャッチアップしたことを書き残していく。ドキュメントじゃなくてSlackに垂れ流すでもいい 過去のドキュメント・やりとりを探す 全体像を把握できるドキュメントがないかを探すのを最初にやってる ここは近道はない。とにかく全部集めて全部読む気持ちで臨む Google D

    社内に詳しい人がいない領域のコードを触る時 - Konifar's ZATSU
    odan3240
    odan3240 2024/05/25
  • 技術書典#16向けに 「The Cloud Run (Google Cloudコンテナ設計本)」を執筆しました - How elegant the tech world is...!

    はじめに お久しぶりです。iselegantです。 今日は技術書典#16向けに執筆した「The Cloud Run」の紹介をさせてください。 今回のテーマは「Google Cloud」です! 特に、コンテナサービスとして代表的な「Cloud Run」のアーキテクチャ設計をテーマに執筆しました。 techbookfest.org これまで、「クラウドネイティブシリーズ」と称して3冊執筆してきましたが、その第4弾の位置付けになります。 いつもであれば、わりとゆるくかわいい感じの表紙でしたが、今回は「ちょっと気でCloud Runに向きあって、読者のみなさまに価値を届けようか」とのコンセプトなので、気度を表現するためにシリアスな表紙を作成いただきました。 今回の書籍のコンセプト 僕たちが今回の書籍を執筆する際、2つのコンセプトを大切にしています。 実務に通用する学びを届ける とにかく楽しく

    技術書典#16向けに 「The Cloud Run (Google Cloudコンテナ設計本)」を執筆しました - How elegant the tech world is...!
    odan3240
    odan3240 2024/05/24
  • アクセシビリティの改善のために React Aria を活用しています - Cybozu Inside Out | サイボウズエンジニアのブログ

    こんにちは!DOGO プロジェクトでソフトウェアエンジニアとして活動している @nissy_dev です。 DOGO プロジェクトでは、React Aria を活用してアクセシビリティの改善を行っています。 今回の記事では、React Aria を国内にもっと広めて行きたいということで、React Aria を利用することに決めた理由を振り返りつつ、React Aria について簡単に紹介します。 目次 OSS を活用した効率なアクセシビリティの改善 ライブラリの選定 React Aria の概要 Next.js App Router との相性 終わりに OSS を活用した効率なアクセシビリティの改善 DOGO プロジェクトでは、フロントエンドの刷新を進めていく中でアクセシビリティの改善についても取り組んでいます。 具体的な事例などについては、次の記事も参考にしてもらえればと思います。 各

    アクセシビリティの改善のために React Aria を活用しています - Cybozu Inside Out | サイボウズエンジニアのブログ
    odan3240
    odan3240 2024/05/23
  • System tests have failed

    When we introduced a default setup for system tests in Rails 5.1 back in 2016, I had high hopes. In theory, system tests, which drive a headless browser through your actual interface, offer greater confidence that the entire machine is working as it ought. And because it runs in a black-box fashion, it should be more resilient to implementation changes. But I'm sad to report that I have not found

    System tests have failed
    odan3240
    odan3240 2024/05/20
  • SLOいつ決めましょう?

    第3木曜LT会というイベントの「SREどうでしょう」という会でSLOはいつ決めたらよいか?自分なりに考えた結果を発表したLT資料 https://metaps.connpass.com/event/313921/

    SLOいつ決めましょう?
    odan3240
    odan3240 2024/05/19
  • AWS CLIの起動が重くてつらいので aws-sdk-client-go を書いた / kamakura.go#6

    kamakura.go #6 でのLT資料です https://kamakurago.connpass.com/event/316438/ https://github.com/fujiwara/aws-sdk-client-go

    AWS CLIの起動が重くてつらいので aws-sdk-client-go を書いた / kamakura.go#6
    odan3240
    odan3240 2024/05/18
  • Merging Remix and React Router

    We've been building a bridge. You can hear Ryan talk about this announcement at React Conf 🎥 For nearly 4 years we've been working on Remix, a fullstack framework built on web standards to help you build better websites and applications. React Router has always been Remix's largest dependency after React itself. The two projects are so closely aligned that we updated React Router to include Remix

    Merging Remix and React Router
    odan3240
    odan3240 2024/05/16
  • 欠陥を早期に発見するための Software Engineer in Test とその重要性 / What is Software Engineer in Test and How they works

    IT 開発変革セミナー 2024 春 ~Spring~ ~効率化、コスト削減にとどまらない、システム開発の在るべき姿~ 基調講演2 https://members09.live.itmedia.co.jp/library/Njc3Nzc%253D

    欠陥を早期に発見するための Software Engineer in Test とその重要性 / What is Software Engineer in Test and How they works
    odan3240
    odan3240 2024/05/15
  • スーパーマリオ64の「開かずの扉」が28年越しに開けられる

    「スーパーマリオ64」のゲーム序盤に入ることができるコース「さむいさむいマウンテン」には、「中からは開けられるのに外からは絶対に開けられない小屋の扉」が存在します。1996年の発売以来「開かずの扉」と認識されてきたこの扉が、なんと開いてしまったことが報告されました。 SM64’s Unopenable Door Has Finally Been Opened! - YouTube さむいさむいマウンテンのスタート位置には以下のような煙突付きの小屋があります。この煙突から小屋の中に入ると、長い氷の滑り台「スノースライダー」があるステージに移動します。 スノースライダーのゴールは山小屋の一室。そこには外へ続く扉があり、開けて外に出ると「パワースター」が出現するという仕組みになっています。 ところが、先ほど開けたばかりの扉は外からは開かない仕組みになっていて、扉から山小屋の中に戻ることはできませ

    スーパーマリオ64の「開かずの扉」が28年越しに開けられる
    odan3240
    odan3240 2024/05/14
  • TSKaigiは配信画面もTypeScript製だったという話

    はじめに 先日開催されたTSKaigi 2024にて配信チームとして、オンライン配信のスタッフをしていました。 当日の各トラックの配信運営や総合的な環境構築などは他のメンバーを中心に行っていただきましたが、自分は配信画面のデザインや配信に乗せる情報管理用のシステムをコツコツ作っていたのでその紹介をさせていただきます。 情報管理用のシステムといってもローカルマシン上で動く簡単なもので、NodeCGと呼ばれるNode.js向けの配信画面管理用のフレームワークを利用しました。 NodeCGとは NodeCGは先ほど紹介したようにNode.jsとブラウザ技術で動的な配信画面を作成したり、管理画面を提供してくれるフレームワークです。 配信レイアウトとダッシュボードはブラウザ上で動作し、ダッシュボードで編集した情報を配信レイアウト側にWebSocketでリアルタイムに反映したり、WebSocketサー

    TSKaigiは配信画面もTypeScript製だったという話
    odan3240
    odan3240 2024/05/13
  • Is Secure Cookie secure? - CookieのSecure属性・__Host-プレフィックス・HSTSを正しく理解しよう - Flatt Security Blog

    こんにちは、 @okazu_dm です。 前回の記事 に引き続きCookie関連のセキュリティに関する記事となります。 今回は、Cookieの仕様を定めたRFC6265(https://datatracker.ietf.org/doc/html/rfc6265)自体に含まれるSecure属性の問題点と、その対策について紹介していきます。 CookieのSecure属性自体は前回紹介したSameSite属性と比較してわかりやすいのもあり、かなり知名度が高いと思われますが、Secure属性単体で守れる範囲というのは実は限定的である、という点を記事では実験も交えて示していきます。 なお、記事はセキュリティ以外の分野を主業務とするソフトウェアエンジニアを主な想定読者として書いています。 記事内の検証につかったブラウザのバージョン Cookieについて 中間者攻撃の仕組み 実際に中間者攻撃をして

    Is Secure Cookie secure? - CookieのSecure属性・__Host-プレフィックス・HSTSを正しく理解しよう - Flatt Security Blog
    odan3240
    odan3240 2024/05/13
  • MySQL 8.4 LTS登場!!

    記事を書くのが遅くなってしまったが、先日MySQL 8.4シリーズが登場したので紹介をしておこうと思う。新機能の解説については機会を改めて書くとして、今回は主にアップグレードにまつわる重要なポイントを書き記しておく。 LTS = Long Term Support 以前の記事でも紹介した通り、MySQL 8.4はLTS = Long Term Supportのバージョンとなっている。長期間サポートするために互換性を最大限保証するバージョンである。前のメジャーバージョンであるMySQL 8.0シリーズのように、シリーズの途中で互換性が破壊されるような変更が入ることは基的に無い。「バグ修正のためにどうしても仕様を変えなければならない」というような事態が生じる可能性はゼロではない。なので絶対に互換性が保たれるとは言い切れないところであるが、基的には仕様変更はない方向で今後リリースされていくこ

    MySQL 8.4 LTS登場!!
    odan3240
    odan3240 2024/05/13
  • ハードウェアを動かすTypeScriptの世界

    TypeScriptはIoTの領域でも使われており、様々なハードウェアと連動させて動かすことができます。 Webブラウザ経由でBluetoothを制御したり、スマートフォンの加速度センサで動きをセンシングしたりなど、ディスプレイの外側の現実世界と連動させることもやりやすい時代になりました。 選択肢が増え…

    ハードウェアを動かすTypeScriptの世界
    odan3240
    odan3240 2024/05/13
  • プロダクトマネジメントクライテリア

    プロダクトマネジメントを体系化したクライテリアです。企業がプロダクトを成功に導くために必要な要素を多角的かつ具体的に記載してあります。対象はプロダクトマネージャー個人ではなくプロダクトを取り巻くチームとし、プロダクトマネジメント全体をスコープにしています。 🎉 プロダクトの成功 プロダクトの成功には2つの要素があります。 ユーザー価値と事業収益がバランスを取りながら最大化している状態ビジョンが実現できている状態この2つを満たしたプロダクトの成功を実現するプロダクトマネジメントについて定義します。 🔄 プロダクトマネジメントのフロー 👆🏻2つのテーマ、5つのカテゴリプロダクトマネジメントには大きく2つのテーマがあります。 🎁 A. プロダクトをつくる仕事 👩‍👩‍👧‍👧 B. プロダクトチームをつくる仕事 そして、「🎁 A. プロダクトをつくる仕事」には大きく4つのカテゴ

    プロダクトマネジメントクライテリア
    odan3240
    odan3240 2024/05/12
  • Prisma ORMを2年運用して培ったノウハウを共有する

    TSKaigi 2024 ref: https://tskaigi.org/talks/tockn

    Prisma ORMを2年運用して培ったノウハウを共有する
    odan3240
    odan3240 2024/05/11
  • ast-grepでReact 19に移行する

    はじめに こんにちは、ast-grepの作者ヘリントンです。 Reactバージョン19のリリースに伴い、新機能と改善が追加されました。 しかし、この新バージョンへのアップグレードには、ソースコードの一部を修正する必要があります。特に大規模なコードベースでは、このプロセスはかなり手間がかかり、繰り返し行う必要があります。 記事では、ast-grepというツールの使用方法を説明します。このツールは、コードベース内でパターンを見つけて置き換えることを目的として設計されており、React 19への移行を容易にします。 以下の3つの主要なcodemodsに焦点を当てます。 <Context>をプロバイダとして使用する 暗黙のrefコールバックリターンを削除する refをpropsとして使用し、forwardRefを削除する 前提条件: ast-grepのセットアップ まず、ast-grepをセット

    ast-grepでReact 19に移行する
    odan3240
    odan3240 2024/05/08
  • WCSC34、技術的まとめ | やねうら王 公式サイト

    去る5月3日~5日に開催された第34回世界コンピュータ将棋選手権(以下WCSC34と略す)について、私の視点で書きたいことをいくつか書いておきたい。 今回、優勝したのは「お前、CSA会員にならねーか?」(以下、たぬきと記す)である。この作者は、たぬきシリーズの作者の野田さん(nodchip)だ。 関連記事 : その名は「お前、CSA会員にならねーか?」2024年・世界コンピュータ将棋選手権、チャンピオン決定!(Yahooニュース) : https://news.yahoo.co.jp/expert/articles/3490be9ce374b0afe114ca3d6e5a422d0db85923 今回のたぬきは、Deep Learning型の将棋AIではなく、従来型(NNUE系と言われている)の将棋AIである。 nnue-pytorchについて 今年に入ってから、NNUE系はいくつかの大き

    odan3240
    odan3240 2024/05/08