タグ

ブックマーク / qiita.com (400)

  • [入門] PythonでuvとPEP 723を使うと開発体験が10倍向上する理由 - Qiita

    uvとは何か、なぜ今注目されているのか 従来のPython環境構築の問題点 Pythonの環境構築には、長年にわたって解決されない問題がありました。まず速度の問題として、pip installが遅く、依存関係解決に時間がかかります。特にcondaは、環境解決に数分かかることも珍しくありません。 次に再現性の問題として、環境差異でエラーが発生し、バージョン固定が面倒です。pipとcondaを混在させると、さらに複雑な問題が発生することもあります。 さらに管理の複雑さとして、venv、pyenv、pipenv、conda、Anacondaなど、ツールが乱立し、どれを使うべきか迷ってしまいます。activateを忘れるといった問題も頻発します。 Python環境管理ツールの変遷 ここで、Python環境管理ツールの歴史を振り返ってみましょう。 2007年頃 - virtualenvの登場。初めて

    [入門] PythonでuvとPEP 723を使うと開発体験が10倍向上する理由 - Qiita
    hirose504
    hirose504 2025/07/04
  • MermaidでAWS構成図を作成するテクニック - Qiita

    はじめに テキストからダイアグラムを生成できるMermaidを使ってAWS構成図を作成する際のテクニックを、いくつかピックアップしてご紹介します。 Mermaidを使えば、構成図内のテキスト検索はもちろん、アイコンを使って見やすく表現したり、アイコンをクリックしてマネジメントコンソールなどに遷移させたりすることもできるため、実用性の高い構成図が作成できます。 記事が、Mermaidを活用したAWS構成図の作成に少しでもお役に立てば幸いです。 AWS構成図の使用例 Mermaidで作成したAWS構成図の使用例を紹介します。 例えばQiitaでも以下のように表示できます。(リンクはサンプルです) mermaid記法 --- title: 000000000000-xxxxxxxx環境 config: theme: neutral flowchart: nodeSpacing: 10 rank

    hirose504
    hirose504 2025/07/02
  • 「Claude Code」導入をめっちゃスムーズにする「ドキュメントの下地」を作るプロンプト - Qiita

    「Cursor擦り倒すシリーズ」ということで何か記事を書いてきましたが、ハタと気づきました。 「最近は Claude Code のほうをよく使っています。出しているアウトプットの総量は断然 Cursor より多いです。」 ということで、一旦 Cursor 擦り倒すは終了して、今度は「Claude Code」擦り倒してさらなる生産性向上に努めたい所存です。 ちなみに、Cursor 擦り倒すシリーズの 1 つ目の記事はこちらです。 はじめに 「Claude Code はいい感じにコードベースの意図をくみ取って、バシバシ開発してくれるらしい」と耳にして、Claude Code を導入した私は最初の一歩でつまずきました。ツール自体の学習コストよりも、運用に載せるまでの摩擦 はそれなりに大きかったです。 そこで私は、一枚の “初期設定プロンプト” を用意することにしました。結果から言えば、このプロ

    「Claude Code」導入をめっちゃスムーズにする「ドキュメントの下地」を作るプロンプト - Qiita
    hirose504
    hirose504 2025/06/21
  • Laravelが如何にダメで時代遅れかを説明する - Qiita

    2024.11.05「追記1:問題編」を追加しました! 2024.11.06「追記2:回答編」を追加しました! 2024.11.06 [補足]を追加しました! 前提 LaravelWordPressからステップアップしたい人に丁度フィットしたような作りになっており、オンプレ前提であり、MVC構成の簡単なSSR(サーバーサイドレンダリング)を推しています。 WordPressの次のステップと捉えると納得できますし、小さなアプリを簡単に作るには丁度良いと思います。 しかし、これで大きなサービスを作ろうとすると途端に崩壊します。 基的にドキュメント通りに作成すると画面とインターフェースが密結合し、サービスとしてのインターフェースが固まらない状態になります。 結果的に私が関わったプロジェクトは全て密結合で触れない状態に陥っていました… たぶん日中、いや世界中がこうなってると思います。 決して

    Laravelが如何にダメで時代遅れかを説明する - Qiita
    hirose504
    hirose504 2024/11/05
    PHPフレームワークの話してるはずなのにSSRとかの単語が出てくるのは時代なのかね
  • そのuseRef+useEffect、refコールバックのほうが良いかも? - Qiita

    Reactにおいて、useEffectのユースケースとして知られているのが、DOMノードに直接アクセスしなければいけない場合です。useRefでDOMノードをrefオブジェクトに取得し、エフェクト内からDOMノードにアクセスするというのがその場合の基的なやり方です。 このようなuseRef + useEffect の使い方は、問題ない場合もありますが、実は別の手段を使った方がいい場合もあります。その場合に別の手段として適しているのがrefコールバックという機能です。 そこで、この記事ではどのような場合にuseRef + useEffectよりもrefコールバックが適しているのか、そしてrefコールバックを使う場合の注意点について解説します。 復習: refコールバックとは React DOMでは、組み込み要素(divなどHTMLの要素)に対してrefという特殊なpropを与えることができ

    そのuseRef+useEffect、refコールバックのほうが良いかも? - Qiita
    hirose504
    hirose504 2024/06/20
  • 「これはHEAD^^」 「これはHEAD^2」 「これはHEAD~2」「HEAD@{2}、reflog用」「全部いっしょじゃないですか」「違う!!もっとよく見ろ!!」 - Qiita

    「これはHEAD^^」 「これはHEAD^2」 「これはHEAD~2」「HEAD@{2}、reflog用」「全部いっしょじゃないですか」「違う!!もっとよく見ろ!!」Git 画像略 TL;DR(Too Long; Didn't Read) ~nは単純なコミットの親をたどる(ブランチの分岐がある場合は現在のブランチのみで辿れるコミット) ^nはマージコミット向けで^2は「そのコミットの2番目の親(取り込んだブランチの前回のコミット)」 だからHEAD^n(n > 2)は存在しない 2024/06/04追記: OctopusなMergeだと3つ以上のブランチからマージできるので^nも存在する......があまり見かけることはない HEAD^^は「HEAD^の親」、HEAD^2は「HEADのもう一人の親」みたいな......。タラちゃんがHEADだと波平がHEAD^^でマスオがHEAD^2です(

    「これはHEAD^^」 「これはHEAD^2」 「これはHEAD~2」「HEAD@{2}、reflog用」「全部いっしょじゃないですか」「違う!!もっとよく見ろ!!」 - Qiita
    hirose504
    hirose504 2024/06/05
    覚えてらんないのでGUIを使います
  • エラーが出たら喜べ。エラーをちゃんと出せ。 - Qiita

    どうもエラーを出すもしくはエラーが出るのが怖いという人がいるみたい。例えば改修を行うときに既存部分でエラーが出ないことを最優先にして増築を行いいびつな構造を生み出すとか、単純に例外を全然使わないとか。エラーが出ると、「うわ、エラーになった。手間かけさせやがって面倒だなぁ…」みたいな感覚があって、とにかく自分がコードを書くときも一切例外を投げないというスタンスをとりがちなのかもしれない。 私はここで、適切にエラーが出てくれるのはむしろ喜ばしいことであり、自分がコードを書くときも積極的にエラーを出すようにすべきだ、という主張をする。 関数定義のドキュメンテーションの一部 ある関数の中身で一番最初に書くべき処理は何か、それは引数のチェックをして条件を満たさなければエラーを出すことである。例えば文字列は特定の形式になってなければならないとか、数値に最大値最小値があるとか、これらは関数の入力の前提条

    エラーが出たら喜べ。エラーをちゃんと出せ。 - Qiita
    hirose504
    hirose504 2024/05/06
  • たった2つのステップを意識するだけで書けない単体テストがほぼなくなる - Qiita

    はじめに この記事は レガシーコード改善ガイド: 保守開発のためのリファクタリング を参考に手を動かしてみて、ある程度自分の中で体系的にまとまった知識のアウトプットです。 この記事で扱う内容 この記事で扱うのは主にレガシーコードで単体テストを書く際のハードルになりがちな 依存関係の排除 に関する手法を紹介します。 この記事を読んだ後に、 『この観点を持っておけば単体テストをスムーズに書いていけそう!』 『今までモック使ってたけど意外とモック使わなくても書けるね!』 となったらいいな、と思います。 ちなみに、今まであんまりテスト書いたことないよーて人は以下の記事など参考にして一度やってみてください。 もくじ テスト駆動不具合修正 or リファクタリング手順 なぜテストが書けないのか 依存関係を排除できればテストは書ける 依存関係を排除するためのカギになる考え方 書けない単体テストがなくなる2

    たった2つのステップを意識するだけで書けない単体テストがほぼなくなる - Qiita
    hirose504
    hirose504 2024/03/19
  • いつか起業したいエンジニアへ - Qiita

    はじめに 34 歳のとき、勤めていた会社の経営が傾き早期退職を促されたのを契機に独立しました。その後、41 歳で Authleteオースリート 社を設立しました。諸般の事情で現在も Authlete 社の代表取締役という肩書きを持っていますが、経営者的な仕事は他の人に任せ (参照: シリコンバレーのプロフェッショナル CEO を迎えて米国市場に挑戦する日のスタートアップの話)、50 歳目前の現在もプログラマとしてコードを書き続けています。 Authlete 社設立 (2015 年 9 月) から 8 年半弱経過したものの、まだまだ小さな会社で道半ばであるため、起業家として何か語るのは時期尚早ではあるものの、軽い体調不良が長引く中、『自分のエンジニアとしてキャリアを振り返ろう!』という記事投稿キャンペーンを見かけ、生きているうちに子供世代のエンジニアの方々に何か書き残しておこうと思い、文章

    いつか起業したいエンジニアへ - Qiita
    hirose504
    hirose504 2024/03/04
  • ハッカーのおもちゃとしてのNostrのススメ - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? はじめに Nostrという、SNSのようなものはご存知でしょうか? ご存知でなければ、ぜひまず一度触ってみることをお勧めします。 割と普通にSNSっぽく使えます。 分散系SNSっぽいシステム Nostrは、分散系のSNSっぽいネットワークです。 図で表すとこんな感じ。普通に想像するWebサービスとは随分形が違うと思います。 各所のリレーサーバーに、ユーザーは投稿をばらまき、ユーザーがそれを見る形です。 分散の責任がユーザー(クライアント)側にあって、リレーサーバーが落ちたり消えたりしても影響が起きにくい仕組みです。 より詳しい説明は上記

    ハッカーのおもちゃとしてのNostrのススメ - Qiita
    hirose504
    hirose504 2024/01/04
  • JavaScriptの小技集 - Qiita

    はじめに 初投稿です。 知ってたら便利になる小技が無かったのでまとめました。 「小技が知りたい...だけど検索しても出てこない...!」 そういう時に役立ちます。 比較的古いバージョンのJSでは一部の小技が使えないかもしれません。 随時追加予定です。他に小技をご存じの方はコメント欄にGO。 おことわり この記事は、あくまで"こんなやり方もあるよ"と紹介しているだけなので、何でもかんでもこれらの小技を使うと、かえってコードの可読性を下げる可能性があります。コードサイズと可読性を天秤にかけてどちらが良いかを都度確認しましょう。 記事内の間違った部分の指摘等はこの記事のコメントや編集リクエストでして下さい。 当方コードゴルファーなので、バイト数短縮小技も入れていることをご了承ください(一応該当する節には*をつけています)。 配列 配列の重複した値を削除1 const meta = ["foo",

    JavaScriptの小技集 - Qiita
    hirose504
    hirose504 2024/01/03
    `in array` は指定の要素を配列に含んでいるかなので、指定の長さ以上あるかを確認するのには使えない(と思っていたが、`2 in [1,10,100]` はtrueだったよ、ごめんね
  • 知っていますか?Pandasをノーコーディングで高速化(CPU環境でも)できるらしい… FireDucks🔥🐦 - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

    知っていますか?Pandasをノーコーディングで高速化(CPU環境でも)できるらしい… FireDucks🔥🐦 - Qiita
    hirose504
    hirose504 2023/12/21
  • 2023年版データ分析の100冊 - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? わ、去年2023-08-26にこの記事書いたんだね。まる1年だね。2024年版機械学習データ分析の必須10冊+ガチ90冊+Next5冊=105冊書きましたよ。 【データ分析の必読10冊+差をつける10冊+100冊超】データサイエンス、データ分析機械学習関連のがご好評いただいてましたが古くなりごちゃごちゃしているので新たに作り直しました 記事のめあて IT系の技術者の方がデータ分析関連の仕事をするために役立つを紹介する(私が学び始めた時にあれば欣喜雀躍したであろう)記事として書いております。 記事作者の青木はバイオインフォマテ

    2023年版データ分析の100冊 - Qiita
    hirose504
    hirose504 2023/08/27
  • TypeScript型定義ファイルのコツと生成ツール dtsmake - Qiita

    JavaScriptからTypeScript用型定義ファイル( d.tsファイル )を生成する dtsmake というツールを作った。その過程で型定義ファイルのコツが色々と見えたので紹介込みでまとめてみたい。 型定義ファイルで消耗してませんか? TypeScriptでjsのライブラリなどを使う時に必ず問題になるのが、型定義ファイルの存在。DefinitelyTyped にあれば tsd で取ってくればいいが、問題は無い場合。そもそも非公開ライブラリの場合はあるはずもなく、自分で型定義ファイルを書くことになる。 私のようなノンプログラマの多くがそうであるように、ただライブラリを使いたいだけ、のような場面ではこれはかなりのコストがかかり、TypeScriptで消耗する原因のかなりの割合を占めるのではないかと推測している。 dtsmake について dtsmakeはそういった「 とりあえず使いた

    TypeScript型定義ファイルのコツと生成ツール dtsmake - Qiita
    hirose504
    hirose504 2023/06/20
  • ChatGPTで独自データを学習させて回答してもらう方法 - Qiita

    ChatGPT,使っていますか? ChatGPTは文章を要約したり、プログラム作ってくれたり、一緒にブレストしてくれたりして当に便利なのですが、社内情報などの独自データに関する情報については回答してくれません。 プロンプトに情報を記述して、そこに書かれている情報から回答してもらう方法もありますが、最大トークン4000の壁がありますので、限界があるかと思います。 この課題についてなんとかならないかと考えて色々と調べて見たところ、解決する方法が見つかり、いろいろと検証をして見ましたのでその結果をシェアしたいと思います。 サンプルコード(GoogleColab) 百聞は一見にしかずということで、実際に試したサンプルは以下にありますので、まずは動かしてみることをお勧めします。 このコードを上から順番に動かすと、実際にインターネット上から取得したPDFファイルに関する内容をChatGPTが回答して

    ChatGPTで独自データを学習させて回答してもらう方法 - Qiita
    hirose504
    hirose504 2023/05/08
  • フロントエンドテストにおける知見の宝庫を発見!「javascript-testing-best-practices」 - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

    フロントエンドテストにおける知見の宝庫を発見!「javascript-testing-best-practices」 - Qiita
    hirose504
    hirose504 2023/02/16
  • ソフトウェアテストの実行を効率化するPredictive Test Selectionの衝撃 - Qiita

    12月10日の2022ソフトウェアテストアドベントカレンダーです。 Launchable社でエンジニアとして働いているcvuskと申します。機械学習界隈では機械学習を実用化するためのシステム開発のを書いてたります。もし良かったら読んでみてください。 『機械学習システムデザインパターン』 『機械学習システム構築実践ガイド』 ブログでは機械学習を用いてテスト実行を効率化する手法として、Predictive Test Selectionについて説明します。テスト実行時間やコストで課題を抱えているエンジニアに役に立つと幸いです。 昨今の開発におけるテスト事情 2002年に『テスト駆動開発』が世に出て、ソフトウェア開発でテストを書くことが常識になって早20年が経っています。その間にクラウドの登場やDevOpsの普及により、テストをCI/CDパイプラインで自動実行し、コードとプロダクト品質を維持す

    ソフトウェアテストの実行を効率化するPredictive Test Selectionの衝撃 - Qiita
    hirose504
    hirose504 2022/12/11
    半年後くらいにはテストを自動生成するようになってそうだな
  • Spring Security 5.4〜6.0でセキュリティ設定の書き方が大幅に変わる件 - Qiita

    この記事について 最近(5.4〜6.0)のSpring Securityでは、セキュリティ設定の書き方が大幅に変わりました。その背景と、新しい書き方を紹介します。 非推奨になったものは、将来的には削除される可能性もあるため、なるべく早く新しい書き方に移行することをおすすめします。(既に削除されたものもあります) この記事は、Spring Securityのアーキテクチャの理解(Filter Chain、 AuthenticationManager 、 AccessDecisionManager など)を前提としています。あまり詳しくない方は、まずopengl_8080さんのブログを読むことをおすすめします。 サンプルコード -> https://github.com/MasatoshiTada/spring-security-intro 忙しい人のためのまとめ @Configuration

    Spring Security 5.4〜6.0でセキュリティ設定の書き方が大幅に変わる件 - Qiita
    hirose504
    hirose504 2022/05/31
  • みんな、とにかくオセロAIを作るんだ - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? オセロAIってなんか難しそう?そんなことはありません。むしろゲームAIを学ぶ様々なレベルの人にこれ以上ないくらい最適です。この記事ではオセロAIを作ると何が良いのかをひたすら語っていきます。そしてオセロAIをこれから作る人のために参考になりそうな記事をいっぱい貼り付けていきます。 私自身はもうかれこれ1年以上オセロAIにどっぷりハマっています。詳細は以前書いた記事で。 オセロAIをおすすめする3つの理由 1. 原始的なゲーム木探索を学べる オセロは「二人零和有限確定完全情報ゲーム」と呼ばれる種類のゲームです。この名称を説明すると、 二人

    みんな、とにかくオセロAIを作るんだ - Qiita
    hirose504
    hirose504 2022/05/22
  • 💣Webフロントエンドにおける関数型「風」プログラミングに関する個人的まとめ - Qiita

    ここ数年の流れについて 技術的側面 Webフロントエンド(ほぼTypeScriptReact界隈)において、オブジェクト指向(厳密に言うとクラスの利用)から脱却する流れがあります。原因は以下の2点。 クラスの継承の問題点が(IT業界全体に)広く定着したこと JS/TSの進化、Reactの進化、関数型言語の考え方などの影響により、クラスを用いてデータと関数群を紐づけるメリットが薄くなったこと 現状、設計レベル(実務的にはどの関数を纏めてモジュール化するのか、モジュール同士をどう繋ぎ合わせるのか、フォルダ割りどうするのか等)のノウハウがまだ固まっておらず、既存の設計論はそれなりに有効です。 コミュニティ的側面(政治) これらの流れはWebフロントエンドの中でもTypeScriptReactの界隈が主導しており、そのノウハウは長年絶対視されてきたオブジェクト指向を解体するような内容であったた

    💣Webフロントエンドにおける関数型「風」プログラミングに関する個人的まとめ - Qiita
    hirose504
    hirose504 2022/03/17
    純粋関数だけなら兎も角、副作用のある関数をよく分からんスコープで使いたくないな