タグ

maecchiのブックマーク (2,271)

  • プログラミングの生産性向上のためにお金をかけてよかったもの10選 - Qiita

    タイトルのとおり、生産性向上のためにお金をかけてよかったものをご紹介します。 基的には仕事道具と健康系が多いです。 腰痛 睡眠 集中力向上 このあたりにお悩みをお持ちの方の一助になれるかもしれません。 おしりセレブ 他のトイレットペーパーだと、おしりを拭いた後大体痛くなってしまいます。 そのまま長時間椅子に座って作業をするのが辛い…というのがあったのですが、おしりセレブを使うようになってからその悩みがなくなりました。 ステッパー メンタリストDaiGoさんがお薦めされていたのを見て購入しました。 もともと腰痛に悩まされており、「少し運動しようか」という日頃ランニングを日課としていました。 が、ランニングのために決まった時間をガッツリ取らないといけなかったり、雨の日はできなかったりという課題がありました。 ステッパーを買ってからは雨でも気にせず有酸素運動ができるし、Amazon Prime

    プログラミングの生産性向上のためにお金をかけてよかったもの10選 - Qiita
    maecchi
    maecchi 2024/05/05
    昇降式デスクを使う人もいるけど自分の場合はイスが一番生産性向上に寄与するかな。
  • Announcing TypeScript 5.5 Beta - TypeScript

    Today we are excited to announce the availability of TypeScript 5.5 Beta. To get started using the beta, you can get it through NuGet, or through npm with the following command: npm install -D typescript@beta Here’s a quick list of what’s new in TypeScript 5.5! Inferred Type Predicates Control Flow Narrowing for Constant Indexed Accesses Type Imports in JSDoc Regular Expression Syntax Checking Iso

    Announcing TypeScript 5.5 Beta - TypeScript
    maecchi
    maecchi 2024/04/28
    関数からtype predicatesを推論できるようになるのは自分にとっては便利になりそう
  • イネーブリングチームの考え方と実践例 — 組織の価値提供能力をいかに高めるか

    はじめに 弊社マイベストでは、エンドツーエンドの機能開発チームとは別で、組織の価値提供能力を高めることを目的としたイネーブリングチームがあります。(と言ってもまだ他チームとの兼任メンバーがほとんどですが) イネーブリングチームは、バックエンドやフロントエンドなど、領域ごとに技術課題を解決すべく活動していて、自分はフロントエンド領域を担当しています。 これまで様々な活動を行ってきたので、その考え方を整理しつつ、フロントエンドイネーブリングの実践例をご紹介したいと思います。 参考:マイベストのチーム構成イメージ(記載は一部のみ・名称は仮です) 「イネーブリングチーム」とは イネーブリングは『チームトポロジー 価値あるソフトウェアをすばやく届ける適応型組織設計』、通称チートポから持ってきた名称なので、まずはチートポをベースにその役割を説明します。 https://amazon.co.jp/dp/

    イネーブリングチームの考え方と実践例 — 組織の価値提供能力をいかに高めるか
    maecchi
    maecchi 2024/04/21
    チームとして成長する際のアプローチがぼやけてきているからもう一度見直してみようかな・・・
  • FigmaとPHPで作る1ミリたりとも表示崩れしない最強の帳票印刷ソリューション

    PHPカンファレンス小田原2024 の発表資料です。 https://phpcon-odawara.connpass.com/event/296492/ https://fortee.jp/phpconodawara-2024/proposal/7c57d5ca-213a-4d7a-aaf0-26ddc44897f0

    FigmaとPHPで作る1ミリたりとも表示崩れしない最強の帳票印刷ソリューション
  • タイマーに目盛りがついて経過時間が一目でわかる&休憩時間込みのリピート計測も可能な「ビジュアルバータイマー」を使ってみた

    キングジムが2024年4月19日に発売予定の「ビジュアルバータイマー」は、タイマーに目盛りがついていることで細かい数字を見なくても「現在どれくらいの時間が経過しているのか」というのが一目でわかるようになっています。さらに、「3分計って、1分計って、さらに3分計る」というのを繰り返すインターバルを含むリピート計測機能も備わっているとのこと。そんなビジュアルバータイマーを一足早くキングジムから提供してもらったため、実際どのような見た目になるのかチェック&各機能を活用してみました。 目盛りで残り時間が一目で分かるタイマービジュアルバータイマーVBT10 | KING JIM https://www.kingjim.co.jp/sp/vbt10/ ビジュアルバータイマーのパッケージは以下のような感じ。 背面には製品の特徴や仕様が記載されています。なお、今回使用するのはサンプル品のため、左下に「SA

    タイマーに目盛りがついて経過時間が一目でわかる&休憩時間込みのリピート計測も可能な「ビジュアルバータイマー」を使ってみた
    maecchi
    maecchi 2024/04/14
    幅13cmでコンパクトでバーの表示も割と大きいから買ってみようかな
  • ヨドバシ.com - 東芝 TOSHIBA 43080454 [エアーフィルター] 通販【全品無料配達】

    maecchi
    maecchi 2024/04/07
    “43080454”
  • コードフォーマッターとしてBiomeを使う

    Web 開発のための高速なツールチェーンである Biome が使われることが増えてきました。今のところ、linterformatter の機能を備えています。 普段、JavaScript および TypeScript プロジェクトのコードフォーマッターには Prettier を使っていますが、速度面の魅力がある biome を使って見ました。ESLint で使いたいルールや plugin があるので、lint 機能は使わないで ESLint に任せる前提です。 この記事では、biome をコードフォーマッターとしてだけ使うケースにフォーカスして書きます。 セットアップ ドキュメントに従ってセットアップするだけなので、導入はシンプルだと思います。

    コードフォーマッターとしてBiomeを使う
    maecchi
    maecchi 2024/04/07
    本文にも書かれていますが新しい構文のサポート速度が気になります。
  • TypeScript 5.5で型述語を推論できて最高。配列のfilterも型安全に

    TypeScriptの次バージョン5.5で、開発者が長い間求めていた挙動が手に入ります。 現状のTypeScript (執筆時点で5.4)では、ユーザー定義型ガードを使う際には型述語(用語は後ほど解説します)の記述が必要です。 function isNumber(value: number | string): value is number { return typeof value === 'number'; }

    TypeScript 5.5で型述語を推論できて最高。配列のfilterも型安全に
    maecchi
    maecchi 2024/03/24
    型術後の型推論は時々使っているから導入されると楽になりそう
  • TypeScriptで知ってコードの安全性が上がったtips集

    TypeScriptを用いた開発では、その型システムを活かしてランタイムエラーを事前に防いだり、実装漏れを防いだりとコードの安全性の向上を図ることができます。 記事では、個人的に知ったおかげでコードの安全性が増した!と感じたtipsをまとめました。 ※ なお、linterを用いたコードの安全性向上も非常に有効ですが、この記事では主にTypeScriptの型システムに焦点を当てています。 tips集 配列周りのtips まずは配列を扱う際に役立つ、tipsを紹介します。 配列からUnion型を作成する ↓のように(typeof array)[number]で配列の全要素を持つUnion型を作成できます。 const fruits = ["apple", "banana", "lemon"] as const; type Fruit = (typeof fruits)[number]; //

    TypeScriptで知ってコードの安全性が上がったtips集
    maecchi
    maecchi 2024/03/20
    type-challengesはまだ全部終わっていないから少しずつ進めていこう
  • 新しいMacBookのセットアップ

    先週MacBookAirのM3モデルが発表されて、勢いで買ってしまいました。 普段は行き当たりばったりで必要なアプリをインストールする感じでセットアップしているのですが、もう少しスマートにセットアップしたいので、整理しながらセットアップしようと思います。 スクリーンショットの見た目等が変わると思うのでOSVersion等貼っておきます。 MacBookAirのスペック また、この記事で紹介されていないアプリでおすすめなものやおすすめ設定があればコメントしていただけると喜びます! OS設定 トラックパッド まず一番最初にやりたいのはOS設定からトラックパッドを選択して軌跡の速さを最速にします。 これをしておくとこの後の作業も早くなるのでまずはこれ。 Dockの整理 MacにはDockというよく使うアプリや起動中のアプリが表示される領域が存在します。 個人的には1軍のアプリしかDockに置いて

    新しいMacBookのセットアップ
    maecchi
    maecchi 2024/03/17
    Appliteがちょっと気になってる
  • デッドコード撲滅のためにエンドポイントの棚卸し機能を作ってフロントエンドでの権限チェックに応用した話

    導入 CloudbaseではAPIサーバにExpressを、フロントエンドNext.jsを使用し、SWRをデータ取得ライブラリとして用いています。また、バックエンド、フロントエンドともにTypeScriptを使用しています。さらに、モノレポを採用しており、バックエンドとフロントエンドのコードに加えて、ORMのPrismaのコードやESLintのカスタムルールなどを一つのリポジトリで管理しています。Primsaといえば、弊社のエンジニアが書いたPrisma ORMを使いこなす ~歴史と対RDB運用の知見を添えて~に、Prismaを運用する中で得た知見がまとめられているので、興味がある方はぜひご覧ください。 記事では、エンドポイント棚卸し機能を作った話と、その機能をフロントエンドでの権限チェックにうまく活用できた話について述べます。最終的には、以下に示すように、フロントエンドから呼び出され

    デッドコード撲滅のためにエンドポイントの棚卸し機能を作ってフロントエンドでの権限チェックに応用した話
  • 実践Next.js - App Router への理解を深めるために -

    Next.js の App Router を中心に解説した書籍を執筆しました。「実践 Next.js —— App Router で進化する Web アプリ開発」というです(3/16 刊行)。稿では書籍の概要と、App Router が何を解決するのかについて紹介します。 書籍の概要 書籍で解説しているサンプルコードは、public リポジトリで既に公開しています。前半、第 1 章〜第 4 章では App Router の基礎を抑えるための練習用リポジトリを使用します。後半、第 5 章〜第 10 章では、写真を投稿する SNS「Photo Share」という架空アプリの実践的リポジトリを使用します。 第 1 章:Next.js の基礎 第 2 章:Server Component とレンダリング 第 3 章:App Router の規約 第 4 章:Route Handler 第 5

    実践Next.js - App Router への理解を深めるために -
    maecchi
    maecchi 2024/03/03
    AppRouterの知識がまだ足りないので発売されたら購入しよう
  • フロントエンドの移り変わりは早すぎるのか

    インターネットでは毎日のように言われることですが、私はそこまでではないと考えています。 ネットでよくそう言われる理由として考えられるものと、それを踏まえてどう向き合っていくとよさそうか、個人的な考えをまとめてみます。 なぜ言われるのか 言語が実質的にJavaScript一択 バックエンド、というかサーバサイドでは技術選定に「言語の選択」が入りますが、フロントエンドでは実質的にはJavaScriptにほぼ固定されます(TypeScriptも別言語ではないので、ここではJavaScriptに含めます) サーバサイドと比較して「技術の移り変わりが早すぎる」と評される場合、多くはその人の使用しているとある言語と比較されているように思われます。 実質的に言語が固定なので、比較するならすべてのサーバサイドの変化の総量と比較するのが妥当でしょう。 PHP + Python + Ruby + go + J

    フロントエンドの移り変わりは早すぎるのか
    maecchi
    maecchi 2024/02/25
    自分も最新を常に追いかけるのが苦労しているので一歩半遅れてついてく考え方で進んでるかな
  • Node.jsのメモリ制限 (2024年版)

    Node.jsのメモリ制限については以下の記事に記述があります。 しかし、現在の挙動はやや異なるようです。 結論から言うと デフォルトでは、システム (cgroup等) から取得した制限があればそれがそのまま設定、そうでなければ32bit環境では700MiB, 64bit環境では1400MiBの制限が設定されます。 V8のメモリ制限 Node.jsはJavaScriptエンジンとしてV8を利用しています。 V8のGCは世代別GCになっています。ほとんどのオブジェクトは生成されてすぐに不要となるため、メモリ使用量にはそれほど貢献しません。メモリ使用量に貢献するような長命なオブジェクトは、数回のGCを生き抜いた後old generation領域に移されます。したがって、V8のメモリ使用量の制限は実質的にこのold generation領域のサイズ制限によって決まると考えてよいでしょう。 このo

    Node.jsのメモリ制限 (2024年版)
    maecchi
    maecchi 2024/02/18
    “システム (cgroup等) から取得した制限があればそれがそのまま設定、そうでなければ32bit環境では700MiB, 64bit環境では1400MiB”
  • Next.js App Router での i18n 対応例

    概要 色々あって参画している案件で Next.js の App Router への移行を主導する立場になりました。 なかでも i18n 対応が結構骨が折れた印象でした。 いろんな記事を見たが Server Component (以下、SC) に対応しているものが見当たらなかった Root layout にて Provider でラップするとかはあった けどそれだと Client Component (以下、CC) になるのでは(実際にハンズオンで確認まではしてないけど) Next.js の公式ドキュメントで SC の対応例は掲載されていた ただ、 スクラッチ実装なりの問題点はある[1] react-i18next とか next-i18next を使った方がインターフェースの統一性が取れる デファクトなパッケージであれば使用経験者も多い i18nライブラリは複数形や文脈に応じた翻訳、フォー

    Next.js App Router での i18n 対応例
    maecchi
    maecchi 2024/02/11
    App Routerを利用する際に参考にするかも
  • 生産性向上のために身に着けたい10のこと - Qiita

    はじめに こんにちは。 普段働いているとき「どうやったら生産性があがるんだろう?」と思うことが時々あります。 「生産性向上」といっても具体的にどうするのか、なかなかイメージがつきにくい方も多いと思います。 この度、最近色々なところで目にする「世界一流エンジニアの思考法」というを読みました。 このでは主に生産性を向上させるためにアメリカの一流エンジニアが行っている習慣や考え方について書かれており、 そこから個人的に身に着けたい10のことをピックアップしました。 内容について 筆者の牛尾さんはマイクロソフトの現役ソフトウェアエンジニアです。 そこで出会う一流エンジニアたちの考え方や、実践していることについて書かれている内容となっています。 アメリカでの内容なので日では考え方のことなる部分もあるかもしれませんが、参考になる部分は多く 働き方や思考法について考えさせられる内容です。 個人的に

    生産性向上のために身に着けたい10のこと - Qiita
    maecchi
    maecchi 2024/02/04
    「世界一流エンジニアの思考法」は何度も読み返して自分にとって足りない箇所を心に留めておきたい
  • Next.js App Router キャッシュの今

    先日Vercelから「Next.js App Router Caching: Explained!」というタイトルの動画が公開されていたので、その内容をまとめることでNext.jsのキャッシュの今について整理しておこうと思います。 基 まずNext.jsでは、静的レンダリングがデフォルトです。RSCを使用していても基的にはビルド時にページが事前レンダリングされます。これはRoute Handlersも同様です。仮にビルド後にデータを更新してもリビルドしない限り表示は古いままであり、これは静的にレンダリングされていると言えます。 ただし、developmentとproductionでは挙動が異なります。ローカルではコードに変更を加えるたびにデータが再取得・レンダリングされるので、ローカルとビルド後の挙動に違いがあることを理解しておきましょう。 リクエストするたびに最新のデータを取得し表示

    Next.js App Router キャッシュの今
    maecchi
    maecchi 2024/01/28
    AppRouterを今後使うことになるので現状のCacheを把握しておこう
  • PlaywrightによるE2Eテスト自動化を導入したので各種構成とtipsをご紹介

    株式会社シャペロンのsrkwです。 シャペロンでは昨年、Playwrightを使ったE2Eテストによる各種機能の検証の自動化を導入しました。 E2Eテスト導入の背景や、チームへの浸透に向けた取り組みと反省等については別の記事で紹介しているので、興味のある方はこちらも併せてご覧ください。 この記事では、シャペロンの日次のE2Eテスト実行を支えるインフラ構成と、PlaywrightによるE2Eテスト導入によって溜まったtipsをご紹介したいと思います。同じようにPlaywrightを使ったE2Eテスト導入を検討している、あるいは導入済みで格闘している方にとって、少しでもお役に立てると嬉しいです。 日次のE2Eテスト実行を支えるインフラ構成 前提:Shaperonのテナント構成 シャペロンは製薬企業向けのコミュニケーション用SaaS、Shaperonを提供しており、Shaperonは利用テナント

    PlaywrightによるE2Eテスト自動化を導入したので各種構成とtipsをご紹介
    maecchi
    maecchi 2024/01/20
    PlaywrightのE2ETestで参考になる箇所は参考にしていきたい
  • お気に入りのコマンドラインツールを淡々と紹介する

    めちゃくちゃ良い記事でした。 「OSS は使っていることを公言するだけでも貢献になる」と songmu さんが言っていたので、私も貢献したいと思います。 僕も貢献したいのでよく使うコマンドラインツールを紹介していきます。 特定のプログラミング言語等に依存するツールは省いています。 actionlint - GitHub Actions の Workflow ファイルの静的検査 GitHub Actions の Workflow ファイルの静的検査ツールです。 かなり精度が高く、色々な設定ミスを検知してくれます。 エラーメッセージも見やすくて助かります。 aicommits - コミットメッセージを自動生成 変更内容を元に自動でコミットメッセージを AI が生成してくれるツールです。 コミットをする前にちゃんと確認してくれるのも安心感があって良いです。 cLive - ターミナル操作を自動化

    お気に入りのコマンドラインツールを淡々と紹介する
    maecchi
    maecchi 2024/01/13
    ターミナルプロンプトしばらく変更していないからstarship試してみようかな
  • マイクロソフト、初心者向け生成AI学習教材「生成AIアプリケーションの開発を始めるために必要な全知識を学べる12講座」を無償公開

    マイクロソフト、初心者向け生成AI学習教材「生成AIアプリケーションの開発を始めるために必要な全知識を学べる12講座」を無償公開 コースの内容には、大規模言語モデル(LLM)がどのように動くかを理解する。「生成 AI と大規模言語モデルの紹介」、ユースケースに適したAIモデルを選択できるようにする「様々なLLMの調査と比較」、プロンプトの構造と使用法の理解のための「プロンプト・エンジニアリングの基礎」、埋め込み技術を利用したデータ検索アプリケーションを構築する「Vector Databasesを利用した検索アプリケーションの構築」、外部APIからデータを取得するためFunction Callingを設定する「Function Callingとの統合」など、入門的な内容から高度なアプリケーションの開発まで多岐にわたるレッスンが用意されています。 レッスン内容は日語による説明と図で構成 各レ

    マイクロソフト、初心者向け生成AI学習教材「生成AIアプリケーションの開発を始めるために必要な全知識を学べる12講座」を無償公開