並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 175件

新着順 人気順

Qiitaの検索結果1 - 40 件 / 175件

  • エンジニアにも知って欲しいChatGPT基本テクニック - Qiita

    はじめに ChatGPTブームがひと段落した感がありますが、周りのエンジニアでChatGPTを活用している姿をあまり見みません。 基本的なテクニックを理解すれば、エンジニアこそChatGPTを活用できると思うので、普段使用しているテクニックをいくつかピックアップして紹介します。 プロンプトの記載方法 Markdown記法で指示する 色々なところで紹介されていますが、回答や処理の精度を上げる方法としてChatGPTへの指示にMarkdown記法を使用することがオススメされています。 例えば下記のような文章による指示を行おうとした場合

      エンジニアにも知って欲しいChatGPT基本テクニック - Qiita
    • 東京大学のAWS入門資料がいい感じだったので最新のAWS環境でも実行できるようにしてみた - Qiita

      きっかけ 東京大学のAWS講義「コードで学ぶAWS入門」、いわゆる東大AWSってやつがが良いらしいと聞いたのでやってみました。 確かにこれは良いです。クラウドをこれから学びたい方にぜひおすすめ。 集中講義的に休日に半日もあれば学べます。 かかるAWS費用もわずか。 ほとんどのチュートリアルがAWSの無料枠で実行できてしまいます。ディープラーニング用のGPUインスタンスをぶん回すところは有料です。それでも数百円で済みます。 これは一通りハンズオンをやってみたAWSの費用です。 もはや学ばない理由が見当たりませんね。 これを書いた理由 けっこう有名な講義資料なのでいまごろ紹介するまでもないネタかと思っていましたが、いざやってみたらハンズオンのコードが最近のAWS環境では動作しない箇所がいくつかあったので。 動作するように修正した手順をまとめておきました。 本記事がはてブを950件ももらってしま

        東京大学のAWS入門資料がいい感じだったので最新のAWS環境でも実行できるようにしてみた - Qiita
      • 知っておくと仕事が捗る便利ツール17選 - Qiita

        はじめに 知っておくと仕事が捗るブラウザ上で動く超便利なツールを17個集めました。 Squoosh Googleが開発した画像変換・圧縮用のWebサービス。 プレビュー画面で変換前後の画質をリアルタイムで確認しながら圧縮設定を調整することができる。 Documatic Documaticは、プロジェクトドキュメントの開発プロセスを削減するためのツール。API リファレンスからユーザー ガイドまで、コード ベースを簡単に文書化できる柔軟なテンプレートとユーザーフレンドリーな編集ツールを提供する。 transform jsonからyamlの形式に変換したい等、あらゆるデータ形式から別の形式に変換するサービス。 jsonからyml、htmxからjsxへの変形、jsonやGraphQLのIDLからTypeScriptのinterfaceまでも、ブラウザ上で生成することができる。 Roadmap.s

          知っておくと仕事が捗る便利ツール17選 - Qiita
        • なんだか助かる便利なおっちゃんになりたい - Qiita

          これまでの生存戦略 それほど尖った能力や知識がない中で、私のこれまでの生存戦略としては求められればなんでもやる、少しくらい泥水でも飲むというものでした。 フロントエンドからバックエンド、データベース設計、API設計、実装、インフラ側の設定、提案書作成、プレゼンテーション、プロジェクト進行、どれも“専門家として誇れるか”というと疑問がありますが、求められればなんでもやるスタンスでそれが自分の価値提供の形と考えていました。 また、以前までは「若い」というのも、強みでした。 一回りほど上の年齢に見られることも珍しくなく、「そんな若かったのか」と驚かれるなかで、「若いのに頑張ってるね」と年齢のフィルターで大目にみてもらえました。 しかし、そんな私も気が付けば40歳、もう若さという武器はありません。 (つい先日まで20代だったはずなのに..何かおかしい..) 体力的にも無理が効かず、新しいことを学ぶ

            なんだか助かる便利なおっちゃんになりたい - Qiita
          • ブラウザ開発者ツールのネットワークタブに表示されない情報送信手法 - Qiita

            はじめに はじめまして、セキュリティエンジニアのSatoki (@satoki00) です。今回はブラウザの開発者ツールのネットワークタブから隠れて、Webサイト内の情報を送信する手法をまとめます。所謂Exfiltrationというやつです。中にはCSPの制限をBypassするために用いられるテクニックもあります。CTFなどで安全に使ってください。 前提 発端はWeb上でテキストの文字数をカウントできるサイトが閉鎖する際の話です。カウント対象のテキストデータがサイト運営 (やサイトを改竄した攻撃者) に盗み取られていないかという議論が巻き起こっていました。「盗み取られていない」側の主張は、ブラウザの開発者ツールのネットワークタブにリクエストを送信した形跡がないというものでした。ここで ブラウザの開発者ツールのネットワークタブに表示がなければ外部へデータを送信していないのか? といった疑問が

              ブラウザ開発者ツールのネットワークタブに表示されない情報送信手法 - Qiita
            • 「Pythonのドキュメントでも読むか~」「え、何その裏技」 - Qiita

              読み飛ばしてください おはようございます、しなもんです。 Pythonの公式ドキュメントを読んでたら、なんか知らない便利機能がたくさん出てきました。 なんだこれ。 というわけでまとめてみました。 参考になれば幸いです。 f-stringsの拡張機能 f-strings、便利ですよね。大好きです。 そんなあいつには裏技があるみたいです。 デバッグ用の=演算子 Python 3.8以降、f-stringの中で=演算子を使用することで 変数名とその値を同時に表示できるらしい。

                「Pythonのドキュメントでも読むか~」「え、何その裏技」 - Qiita
              • SSH接続を10倍速くするたった3行の設定 - Qiita

                今回は、SSH接続を劇的に高速化する方法をご紹介します。たった3行の設定を追加するだけで、接続時間を10分の1に短縮できます。しかも、2回目以降の接続では認証も自動的に行われるので、パスワードやパスフレーズの入力も不要になります。 要点 .ssh/configファイルのHost *セクションに以下の3行を追加するだけです。 詳しい説明 1. ControlMaster auto この設定で、1つのSSH接続で複数のセッションを共有できるようになります。新しくSSH接続を確立するたびに認証情報を入力し直す手間が省けて、接続がぐっと速くなります。具体的には: 初回の接続時のみ認証が必要 2回目以降は既存の接続を再利用するため、認証プロセスをスキップ パスワードやパスフレーズの入力が不要になり、接続がほぼ瞬時に完了 2. ControlPath ~/.ssh/mux-%r@%h:%p Contr

                  SSH接続を10倍速くするたった3行の設定 - Qiita
                • Looker Studioの魅力と便利な使い方を紹介します - yasuhisa's blog

                  初めて使ったBIツールはLooker Studioのid:syou6162です。これまでTableau / Looker(≠ Looker Studio) / Metabase / Redash / Connected Sheetsなど色々なBIツールを触ってきましたが、不満は色々ありつつも個人的に一番しっくりきて愛着があるのはLooker Studioです。このエントリでは、その魅力と便利な使い方や注意点について書きます。例によって、社内勉強会向けの内容を外向けに公開しているため、内容の網羅性などは特に担保していないことにご注意ください。 Looker Studioの魅力 利用のハードルが限りなく低い & Google Workspaceとの連携が便利 複雑過ぎることができないので、諦めが付けやすい ちゃんとBIツールになっている Looker Studioの便利な使い方 多様なデータソ

                    Looker Studioの魅力と便利な使い方を紹介します - yasuhisa's blog
                  • 45分登壇で75%効率化したMarkdown+生成AIスライド作成術 - Qiita

                    KDDIアジャイル開発センターのpiyonakajimaです。 突然ですが、あなたは登壇スライドの作成にどれぐらいの時間をかけていますか? 6/21-22に開催されたScrum Fest Osaka 2024に登壇した際、Markdown+生成AIを活用して登壇スライドを作成しました。その際、45分の登壇資料作成を75%効率化(自分比)できました。 普段からMarkdownで資料を作成している方からすると、これまで時間かけすぎやろ、というツッコミが聞こえてきそうですが、登壇資料の作成時間に悩まれる方は沢山いらっしゃるのではないかと思います。今回はこの時に実施した工夫をお話します。 以下がMarkdown(Marp)と生成AIを使って執筆した45分の登壇資料です。一部PowerPointで作図した過去資料から流用しています。 Marpでは、たとえば以下のようなmarkdownを書くと、 --

                      45分登壇で75%効率化したMarkdown+生成AIスライド作成術 - Qiita
                    • 【VSCode】オススメの拡張機能と設定 - Qiita

                      { "editor.formatOnSave": false, "editor.formatOnPaste": false, "editor.formatOnType": false, } この記事で紹介している拡張機能のIDは、記事の最後にまとめています。また、設定の方法については設定のやり方に記述しています。 以下は、この記事で紹介する拡張機能のカテゴリ一覧です。 設定ファイル関連(Yaml, Json, Toml) Git関連 Markdown関連 カラー系 API関連 コンテナ その他便利な拡張機能 ネタ系 設定ファイル関連(Yaml, Json, Toml) 特にYamlやJsonはどのプロジェクトでも使用する可能性が高いので、必須の拡張機能となってくるかと思います。 Prettier esbenp.prettier-vscode jsonだけの設定では、VSCodeの設定ファイ

                        【VSCode】オススメの拡張機能と設定 - Qiita
                      • 2024年最新版:Pythonデータ解析ライブラリ総まとめ - 実践的ガイド - Qiita

                        はじめに Pythonのデータ解析エコシステムは日々進化を続けています。2024年現在、効率的なデータ処理、直感的な可視化、高度な機械学習の自動化など、様々な新しいツールが登場しています。本記事では、最新のPythonデータ解析ライブラリを紹介し、それぞれの特徴や使用例、実際のユースケース、そして導入方法まで詳しく解説します。 1. データ操作ライブラリ 1.1 Polars: 高速データ処理の新標準 Polarsは、Rustで実装された高速なデータ操作ライブラリです。pandasに似たAPIを持ちながら、大規模データセットでより高速に動作します。 特徴: 高速な処理速度 メモリ効率が良い pandasに似たAPI 使用例: import pandas as pd # サンプルデータを作成 data = { "age": [25, 32, 28, 35, 40, 50], "categor

                          2024年最新版:Pythonデータ解析ライブラリ総まとめ - 実践的ガイド - Qiita
                        • 次世代エディタ6選 - Qiita

                          ⚪︎ : 無制限のBasic、限度ありのAdvance △ : 限度ありのBasic Zed Atomの製作者達によって作成されたOSSのRust製エディタ。現状はMacOSのみで使用可能。そのほかのOSも現在対応中。パフォーマンスを重視しているので軽い。AIは搭載していないが、Copilotを使用することは可能。 Github : zed-industries/zed インストール方法 https://zed.dev/download からインストールしてください。(MacOSのみ) 使用方法 以下に詳しく書かれていました。 思考のスピードでコードを書け!!Rust製の次世代エディタ「Zed」 Positron VSCodeをベースにした次世代データサイエンスIDE。 インストール方法 https://github.com/posit-dev/positron/releases からイン

                            次世代エディタ6選 - Qiita
                          • Dockerがわからない人へ。これ1本で0から学べる丁寧なDocker入門 - Qiita

                            はじめに 私のエンジニアとしての初仕事はDockerでした。辛かったのをいまでも思い出します みなさんこんにちは、Watanabe Jin(@Sicut_study)です。 みなさんはエンジニア始めたての時にどんなことで苦労したでしょうか? GitHub Docker Kubernetes AWS など色々あるかと思いましたが、「環境構築」というのは多くの人がつまづく箇所かと思います。 プログラミングの勉強をするにはそもそもの開発環境がないとできないことも多いです。 またAWSなどのクラウドを利用してデプロイをするときにも再度登場して苦しめられます。 今回はそんな初心者には考え方や使いどころがわかりづらいDockerについて例え話を活用しながら説明していきたいと思います。 Dockerが難しいと思うのは、「概念がよくわからない」「説明を読んでも使いどころのイメージがつかない」というのがある

                              Dockerがわからない人へ。これ1本で0から学べる丁寧なDocker入門 - Qiita
                            • 【2024年最新版】0からReactを勉強するならこのロードマップに従え! - Qiita

                              はじめに こんにちは@Sicut_study (Watanabe Jin)です。 去年の10月頃にReactのロードマップを投稿しておかげさまで1000いいねもすぐそこになりました そこから私自身も状況がかなり変わり、大好きなReactを使ってプログラミングを教えるスクールを運営しております。 エンジニアになりたい完全未経験の方や、すでにエンジニアだけどもっと自由にプログラミングができるようになりたい人をたくさん教えてきました。 👇メンバーの記事はこちらにあります その中である程度この流れで学習をすすめていけば1-2ヶ月程度でReactで自由にサービスを作れるレベルに再現性をもってレベルアップすることができると確信がもてたので、 実際にやっているカリキュラム(React部分)をすべて紹介します ロードマップは完全未経験でもできるようなものになっていますのでわかる箇所は飛ばしてもOKです。

                                【2024年最新版】0からReactを勉強するならこのロードマップに従え! - Qiita
                              • 署名付きURLを利用したファイルアップロードWeb API設計の勘所 | フューチャー技術ブログ

                                はじめに現代のWebアプリケーションにおいて、ユーザが写真や動画などのファイルをアップロードする機能は、しばしば求められます。 本記事では、ファイルアップロードを実現するための一手段として、「署名付きURL」を利用した方式を取り上げ、その設計について詳しく解説します。 今回は、Amazon Web Services(AWS)を利用する前提のもと、このアプローチを探求していきます。 前半部分は署名付きURLをそもそもよく知らない方向けの導入部となっていますので、要点だけ抑えたい方は設計上のポイントから読まれることをお勧めします。 ファイルアップロードの実現方式パターン署名付きURLの話をする前に、ファイルアップロード機能をWeb APIとして実現する方式について、いくつか代表的なものを紹介します。 Pattern 1. multipart/form-datamultipart/form-da

                                  署名付きURLを利用したファイルアップロードWeb API設計の勘所 | フューチャー技術ブログ
                                • ノーコードって結局使えないよね~って話 - Qiita

                                  はじめに コードを書かずにWebサイト/アプリ/ツール等の制作ができるノーコードツールが最近流行っていますよね。 私自信、半年ほど前からn8nやActivepiecesといったOSSのノーコードツールやPower Automateなど、幾つかのノーコードツールを触っていたですが、ツールとして未成熟であったり自由度が低かったりと、「結局流行らないのでは?」と感じています。(GPTのそれと一緒で期待値が高いだけなんですかね) ノーコードツールの幻想 D&D操作だけで直感的に操作できるノーコードツールは、一見、プログラミング初心者にとって救世主のように映ります。しかし、それは十分な選択肢なのでしょうか? 本当に手軽ですか? 多くのノーコードツールでは、よくあるような定型作業のテンプレートとD&D操作で実装できるUIを提供することで、直感的に操作できるよう設計されています。 一見、自由度の高い開発

                                    ノーコードって結局使えないよね~って話 - Qiita
                                  • Google本社の方に聞いたいい開発者になるための習慣 - Qiita

                                    はじめに 以前自分の大学でGoogleの本社で働いている韓国の方の話を聞けるイベントがあったのでその内容をメモとして共有しようと思います。(すべて韓国語で聞いたので多少間違っている内容があったり、変な日本語になってるかもです) 講義してくれた人について 講義してくれた人はGoogleの本社で働いており、今までに韓国のLGやamazonなどでも開発経験のある韓国の方でした(名前は伏せます)。当時はYoutubeのショート動画関連の開発に関わっていたとおっしゃっていました。 ソフトウェアエンジニアとは プログラマー = コードを書く人 ソフトウェアエンジニア = コードを書く仕事を含めた全ての開発業務(データベース, アーキテクチャ, teckleadなど) Googleではソフトウェアエンジニアリングの知識がある人がデータサイエンティストやプロジェクトマネージャーになる。 googleが強調

                                      Google本社の方に聞いたいい開発者になるための習慣 - Qiita
                                    • 本屋で技術書みてたら人生詰みかけた - Qiita

                                      はじめに こんにちは。WatanabeJin(@Sicut_study)です。 今回は以前Twitterでも話題にした「成長しないエンジニアほど本屋に行く」という理由について解説したいと思います。 成長が遅いエンジニアほど本屋に行く話 最近、エンジニアとして成長が遅い人たちに共通する特徴を発見しました。それは「技術書コーナーを好む」ということです。これに気づいたのは、自分自身がエンジニア1年目で、同じ行動をしていたからです。… pic.twitter.com/p35NaS6T4a — Watanabe Jin (@Sicut_study) January 7, 2024 もしあなたが説明することに当てはまるところがあれば、それをきづけたのは大きな分岐点だと思います。ここから自分の学習方法などを見直してみてください。 成長が遅いエンジニアほど本屋に行く 私はプログラミングコーチングJISOU

                                        本屋で技術書みてたら人生詰みかけた - Qiita
                                      • サーバーレスベストプラクティスで初めて知ったこと - Qiita

                                        はじめに サーバーレス大好きなエンジニアです! AWS SUMMIT 2024に行ってきて、たくさんのことを学んできました! 特に「サーバーレス開発のベストプラクティス」の内容が面白かったのでシェアしたいと思います。 サーバーレスとは サーバーやインフラの管理を気にすることなくアプリケーションを実行することができる最高の技術です。細かい設定を気にすることなく、すぐに価値を提供できることが魅力です。 Lambdaのベストプラクティス ここからAWS SUMMIT 2024の内容に触れていきます。 TransportではなくTransform まず、ハッとさせられたのは以下のことです。 Transport (転送)ではなくTransform(変換)に使⽤する。 今までLambdaをどれだけ転送機能として使ってきたかを考えさせられました。 何でもかんでもLambdaに任せるのではなく、特定の変換

                                          サーバーレスベストプラクティスで初めて知ったこと - Qiita
                                        • 【Git】同じコンフリクト解消を繰り返している人に教えたい「git rerere」 - Qiita

                                          はじめに こんにちは、kenです。みなさんコンフリクト解消してますか! チーム開発をしているとコンフリクトとは嫌でも向き合うことになりますが、コンフリクト解消って緊張感のある作業なのでやりたくないですよね。 そんなコンフリクト解消をちょっぴり楽にする(かもしれない)コマンドを最近知ったので今回はそれを紹介します、その名もgit rerereです。 git rerereとは Gitの公式ドキュメント(日本語版)には次のように記載されています。 git rerere コマンドはベールに包まれた機能といってもいいでしょう。これは “reuse recorded resolution” の略です。その名が示すとおり、このコマンドは、コンフリクトがどのように解消されたかを記録してくれます。 そして、同じコンフリクトに次に出くわしたときに、自動で解消してくれるのです。 ここに書かれているように、git

                                            【Git】同じコンフリクト解消を繰り返している人に教えたい「git rerere」 - Qiita
                                          • 初めてのGitは電車で例えて学ぼう!初学者向け基本Gitコマンド入門 - Qiita

                                            Gitを学びたての人へ Gitを学びたての皆さん、こんにちは!今年の4月よりエンジニアとして新卒入社した k_uki512です!🎉 会社の新人研修や、プログラミングスクールでGitを初めて触り始めた方もいらっしゃるのではないでしょうか。そんな方が「分からない」という状態に陥りやすいのが "Git" のコマンドだと思います。 分からない理由を分析してみた Gitのコマンドが分かりづらい理由として以下のような原因があると考えました。 データをコマンドでやり取りすることがなかった 用語いっぱい。違いが分からない、、(add,commit…) データ(変更履歴)の流れが見えづらい つまり変更履歴という概念が抽象的かつ、pushまでのステップが多いことが原因だと考えました。 そこで、この記事ではGitの一連の流れを、わかりやすく電車に例えて解説していきます! この記事を通じてGitの流れを学び、会

                                              初めてのGitは電車で例えて学ぼう!初学者向け基本Gitコマンド入門 - Qiita
                                            • Webエンジニアの学習ロードマップが知れるサイト - Qiita

                                              エンジニアのみなさま、日々の学習本当にお疲れ様です! また本記事まで足を運んでいただき本当に感謝です。 約2分程度で読めるので最後まで読んでもらえると幸いです。 はじめに 「Webエンジニアを目指したいが、何から手をつけていいか分からない」 「いろんな人が学習ロードマップの情報提供をしているが、どれに手をつけるか判断に迷う」 こんな悩みを抱えている方の一助になれば幸いです...! 結論 こちらのサイトになります。 自分が学習したい分野を選択すると、その分野のロードマップが書かれています。 最近では「言語専用」のロードマップも書かれているため、かなり充実したサイトになってきた印象です。 それでは、試しに「Backend」のロードマップを見てみましょう。 学習ロードマップ|Backend こんな感じです。 黄色塗りのフォームが「仕組み」や「概念」が書かれたもので必ずチェックしたい内容になります

                                                Webエンジニアの学習ロードマップが知れるサイト - Qiita
                                              • 詳細設計書なんて、書きたくない・・・・Doxygenを使って自動生成してみる - Qiita

                                                はじめに お客様に提案をしているときの会話です。 お客様:「詳細設計書は作りますか」 私:「昔ながらの詳細設計(ロジックを日本語で書くもの)は作りません。クラス図とか、シーケンス図は複雑であれば作りますが、今回のシステムはそこまで必要なものはないものなので、割愛しようと思っています。」 お客様:「保守をお願いするかどうか未定なので、場合によっては引継ぎのために作ってもらうかもしれません」 私:「・・・・」 といった感じで、私がこの業界に入った30年前は、確かにプログラムを作る前に、詳細設計書と呼ばれるプログラムを日本語で書いていました。 最近、詳細設計と呼ばれるものを作った記憶がなく、無駄なものは作りたくないなぁという思いから、コードから自動生成できないかなと思って、いろいろ試してみました。 Doxygenって いろいろ調べてみると、Doxygen にたどり着きました。 色々な言語に対応し

                                                  詳細設計書なんて、書きたくない・・・・Doxygenを使って自動生成してみる - Qiita
                                                • Playwright を使いこなすためのベストプラクティス - Qiita

                                                  はじめに Playwright を使うことで比較的簡単に E2E テストを実装することができます。しかし、通常テストコードは実装したら終わりということではなく、継続的にメンテナンス(保守)が必要になります。その際に保守しやすいように実装するため、Playwright の公式ドキュメントに記載されているベストプラクティスの中で参考になりそうな部分を確認しておこうと思います。 テストの独立性を高める 可能な限りテスト間の依存が無いようにして、テストを分離すると良いというプラクティスです。各テストが独立していることで、 1つのテストが失敗しても他のテストに影響しない テストの順序を考慮する必要がない テストをシンプルに保つことができる あたりのメリットがあるかと思います。また、特定の処理(例えば特定の URL に遷移する処理)の繰り返し実装するのを避けるために before and after

                                                    Playwright を使いこなすためのベストプラクティス - Qiita
                                                  • ローカルLLMとRAGで自分の外部記憶を強化しよう - VA Linux エンジニアブログ

                                                    はじめに 自宅PC編 会社サーバ編 感想等 執筆者:佐藤友昭 ※ 「ディスアグリゲーテッドコンピューティングとは何か?」連載記事一覧はこちら はじめに 作業ログや検討メモ、参照した定型論文や書籍、ネット上の記事、視聴した講演やウェビナーのメモ等、日常を記録する情報は日々増えていく。これらの情報はできれば後に役立てたいと思うが、筆者の場合、なかなか上手くいかない。自分の外部記憶を紐解いてみると、記録したことすら忘れてしまっている項目が大半である。本稿では、ローカルLLMとRAGを用いて自分の外部記憶にいろいろと質問できるようにする方法を入門的に紹介する。決してベストプラクティス的な内容ではない。 自宅PC編 まずは、普段自宅で使用しているLinux PCを実験台として使えそうか試してみてから会社のサーバに適用してみることにする。 第一の要件は、ローカル環境で動作することである。情報の性質によ

                                                      ローカルLLMとRAGで自分の外部記憶を強化しよう - VA Linux エンジニアブログ
                                                    • 高速化のエンジニアリング。注文してから0.722秒。100倍速いぞ!Python : 75.884 C++ : 3.392   JIT Python : 0.722 JITコンパイラで高速化されたコードを自動生成するツール。 - Qiita

                                                      アリスは驚きと興奮を抑えきれませんでした。彼女はすぐに新しいコードを試し、その速さに目を見張りました。今まで数時間かかっていた計算が、ほんの数分で終わったのです。 翌日、アリスはこの発見を友人たちに話しました。友人たちも同じように魔法の本を使い、彼らのコードを高速化しました。こうして、プログラミング王国全体で「JITの魔法の本」が広まりました。 やがて、アリスは王国のプログラミング大会で優勝し、JITの魔法の本の力をさらに広めることになりました。彼女は「JITの守護者」として称えられ、プログラミング王国はかつてない繁栄を迎えました。 アリスはいつも心に誓いました。どんなに強力なツールも、それを使う人々の努力と情熱があってこそ、本当の力を発揮するのだと。彼女の言葉は次世代のプログラマーたちに伝わり、JITの魔法の本は永遠に受け継がれていくのでした。 前回のあらすじ。 Python count

                                                        高速化のエンジニアリング。注文してから0.722秒。100倍速いぞ!Python : 75.884 C++ : 3.392   JIT Python : 0.722 JITコンパイラで高速化されたコードを自動生成するツール。 - Qiita
                                                      • PostgreSQLのPub/Sub機能とJavaのクライアント実装 | フューチャー技術ブログ

                                                        本記事は「珠玉のアドベントカレンダー記事をリバイバル公開します」企画のために、以前Qiitaに投稿した記事を改訂したものです。 はじめにPub/Sub型のメッセージングアーキテクチャを採用するにあたっては、kafkaなどのブローカーミドルウェアや、Amazon SNS、Google Cloud Pub/Subなどのマネージドサービスを利用するケースが多いかと思います。ところでPostgreSQLでも実はPub/Subができます。 すでに業務でPostgreSQLを使っていれば、新たにPub/Subブローカーを構築しなくても、疎結合なシステム間通信を簡易的に実現できます。 本記事ではこの機能の紹介と、Pub/SubクライアントをJavaで実装する場合の選択肢、考慮点を示しています。 ※実行環境はPostgreSQL 16.2とJava 21です ※データベースの文字コードはUTF-8としてい

                                                          PostgreSQLのPub/Sub機能とJavaのクライアント実装 | フューチャー技術ブログ
                                                        • MarkdownベースのGo製タスクランナー「xc」のススメ

                                                          Goにおけるタスクランナーの歴史 npmならnpm run、denoならdeno taskなど言語ツールにタスクランナー機能が付属していることがありますが、Goではそのような機能は提供されていません。 そこでGoのプロジェクトではMakefileがタスクランナーとして用いられることがしばしばありますが、独自の文法、.PHONYを大量に書く必要がある、Makefile警察が飛んでくる、などの問題があります。 Makefile警察「ぐぬぬぬ…」 #taskfile - Qiita タスクランナーとしてMakefileを使うことから脱却すべく、巷ではYAMLベースの「Task」やGoベースの「Mage」が用いられている印象です。 どちらも多少試したことはありますが、主に以下の点が気になりました。 Taskfile.ymlやmagefile.goといったツール独自のファイルを置く必要がある これは

                                                            MarkdownベースのGo製タスクランナー「xc」のススメ
                                                          • axiosやfetchに替わるKyのススメ - Qiita

                                                            Kyとは Kyは、Sindre Sorhusが開発したJavaScript向けの軽量かつ多機能なHTTPクライアントです。ネーミングの意図はよくわかりませんが、AxiosやネイティブのFetch APIに代わる、より効率的で使いやすい選択肢として設計されています。 Kyの利点 軽量で効率的: Kyのコアは非常に小さく(約2 KB)、パフォーマンスが重要なアプリケーションにとっては特に大きなメリットとなります。 Promiseベース: Fetch APIと同様に、KyはPromiseを基盤としており、async/await構文との組み合わせが容易です。 シンプルなAPI: Kyが提供するAPIは非常にシンプルなので、学習コストが抑えられます。 再試行機能: Kyには、失敗したリクエストの再試行する機能が組み込まれており、エラーハンドリングの実装コストを減らします。 JSON処理: Kyは自動

                                                              axiosやfetchに替わるKyのススメ - Qiita
                                                            • アジャイル専門部隊の一構成員が敢えてウォーターフォールを語るぞ - Qiita

                                                              アジャイル開発の浸透?なんだそれは。 アジャイル開発という概念が世に出て二十余年(2001年「アジャイルソフトウェア開発宣言」による)、最早、この技術も最新とは言えない、成熟したものとなりました。あなたの職場でも「アジャイルに進めよう」的な、凝り固まらず柔軟なプロジェクト体制にして行こうという流れ、プロダクト開発の長大化を防ぎアウトプットを細かく出していこうという意識変革が内外から求められているかと思います。 しかしプレイヤーとしての皆様は、とはいえ作るものは変わっておらず納期が決まっているので大変になるだけ、だとか、現場ボトムアップな提案は通らずトップダウンにやることが降ってくるからやる意味なくね、だとか、果ては作るもの・仕様が決まってないけど予算がついたからいい感じにアウトプット出してね、の意味だとか、都合よく「アジャイル」を使われて疲弊することもあるでしょう。多くは会社の通例や予算検

                                                                アジャイル専門部隊の一構成員が敢えてウォーターフォールを語るぞ - Qiita
                                                              • 【JavaScript】ネイティブで集合演算できるようになった - Qiita

                                                                JavaScriptにはだいぶ前からSetオブジェクトがありましたが、何故か集合演算は全く定義されておらず自力で実装しなければなりませんでした。 その後、まあ不便だねってことでSet Methods for JavaScriptというproposalが提出されました。 実装は珍しくSafariが最も早く、2023/09/18のSafari17から対応しました。 その後2024/02/21にChrome122、そして2024/06/11にFirefox127で実装されたことにより、主要全ブラウザで集合演算が使用可能になりました。 複数環境で実装されたことから、無事ES2025としてStage4、つまり上がりになりました。 ということで使い方を紹介するよ。 Set.prototype.intersection() 要素と引数の、両方に含まれる値を返します。 new Set([1, 2, 3,

                                                                  【JavaScript】ネイティブで集合演算できるようになった - Qiita
                                                                • goのエラーをスタックトレースも含めて構造化ログで残したい - エムスリーテックブログ

                                                                  こんにちは、エムスリーエンジニアリンググループの福林 (@fukubaya) です。 golangでずっと課題に思っていたエラーの処理について試行錯誤してみました。 イオンモール センソックシティは、カンボジアにある商業施設。本文には関係ありません。 エラー処理のベストプラクティスは? ぼくがかんがえるエラー処理の要件 検討したパッケージ 構造化ログ パッケージの検討 pkg/errors cockroachdb/errors goark/errs go-errors/errors go-errors/errors がよさそう? pkg/errors や cockroachdb/errors は使えないのか ラップして使う errors.WithStack(err) と呼びたい slogで使う errors.Join() に対応したい まとめ We are hiring! エラー処理のベス

                                                                    goのエラーをスタックトレースも含めて構造化ログで残したい - エムスリーテックブログ
                                                                  • 知らなかったCSSプロパティ 3選 - Qiita

                                                                    はじめに 意外と知らなかったCSSプロパティを3つ紹介します。 1. currentColor currentColor(CSS:カスケーディングスタイルシート) 特定の要素に指定されている色を参照するCSSプロパティです。 要素内の任意のプロパティで使用できますが、特にボーダーや背景などの色を親要素の色と同じにしたい場合に便利です。 currentColorの利点は、色の変更が親要素のcolorプロパティによって自動的に反映されるため、親要素のテキスト色を変更するとcurrentColorを使用している要素の色も新しい色に変更されることです。 使用例 .parent { color: red; border: 1px solid currentColor; /* テキストの色と同じ色(red) */ .child { color: currentColor; /* 親のテキストの色と同じ

                                                                      知らなかったCSSプロパティ 3選 - Qiita
                                                                    • 【生成AI】知らないと後悔する、GPT-4oだけでシステム開発を300%効率化するハック【CodeAGI】 - Qiita

                                                                      【生成AI】知らないと後悔する、GPT-4oだけでシステム開発を300%効率化するハック【CodeAGI】Python生成AIChatGPTGPT-4CodeAGI 都内のIT企業に勤めている、ソフトウェアエンジニアの D̷ELL と申します。 本稿はQiita Engineer Festa 2024の参加記事です。 本日は生成AI(GPT-4o)のAPIキーだけで、システム開発を300%効率化するハックを共有したいと思います。 概要 生成AIによるアプリケーション開発自動化が実現しつつある時代になってきた 日本企業における「Excelドキュメント」は数多く、生成AIを実践投入しづらい GPT-4oのAPIキーさえあれば、社内のドキュメントからシステムを自動構築してくれる仕組みがあった はじめに みなさんはアプリケーション開発における生成AIの利用と言えば、何を想像しますか?おそらく大半の

                                                                        【生成AI】知らないと後悔する、GPT-4oだけでシステム開発を300%効率化するハック【CodeAGI】 - Qiita
                                                                      • ミニマムな React Web アプリケーションの技術スタックを大公開! - inSmartBank

                                                                        はじめに こんにちは。サーバーサイドエンジニアの mokuo です。 最近、ミニマムな React アプリを実装する機会がありました。 社内のメンバーにアドバイスをもらいながら、今(2024年前半) React アプリをミニマムに作るならこんな感じかな、という構成になった気がするので、ご紹介したいと思います。 実例の1つとして参考にしていただけますと、幸いです。 はじめに 本文 📝 機能要件 ⚒️ 採用したツール (npm モジュール) 📁 ディレクトリ構成 👨‍💻 プロトタイピングの実施 🍩 おまけ コンポーネント設計について フロントエンドに DDD のエッセンスを取り入れてみたい おわりに 本文 📝 機能要件 社内の限られた CS メンバーのみが利用する、管理画面を開発しました。 バックエンドは Golang で実装される API サーバーで、認証機能以外だと、2つの機能

                                                                          ミニマムな React Web アプリケーションの技術スタックを大公開! - inSmartBank
                                                                        • Pythonが遅い理由とその対策 - Qiita

                                                                          はじめに Pythonは柔軟性が高く、初心者にも適したプログラミング言語ですが、その一方で速度面では他の言語に劣るとされています。本記事では、先月ピッツバーグで開催されたPyCon US 2024で紹介されたPythonの高速化技術について詳しく解説します。 Pythonの速度問題 「Pythonはランタイムにコストを払う」という古い格言が示す通り、Pythonは解釈型言語であり、実行時に多くの処理を行うため速度が遅くなることがあります。Pythonはソースコードを効率的なバイトコードに変換し、それを直接実行することで動作します。このプロセスには多くの間接処理が含まれ、単純な命令でさえも多数のCPU指示に分解されます。例えば、二つの数値を足すだけでも500以上の命令が実行されることがあります。 高速化のためのコンパイル技術 Cythonによる最適化 PyCon 2024でのSaksham

                                                                            Pythonが遅い理由とその対策 - Qiita
                                                                          • 【総額350万】高額請求がきたエンジニアの失敗から学べること - Qiita

                                                                            はじめに 成功よりも失敗を学ぶ方が再現性が高く成果を出しやすい これは私がアウトプットをする上で常に心がけていることです。 あなたは普段自分の経験や体験を記事として発信しているでしょうか? おそらく多くの人ができていないはずです。 今回は私が過ごしてきたエンジニア人生4年の中で、特に大きかった失敗談をまとめて紹介していきます。 それぞれの失敗談の詳細はリアルタイムに記事を投稿しているので、ぜひ気になった方は最後にリンクを載せていますので確認いただけると良いかと思います。 この記事はQiita Engineer Festa 2024 〜しくじりエンジニア!私みたいになるな!~の登壇内容を記事にまとめたものになります。 失敗こそアウトプットせよ 「成功よりも失敗を学ぶ方が再現性が高く成果を出しやすい」という言葉の通り、成功は人それぞれバックグラウンドが違っていたり、運も絡んでいるので再現性は低

                                                                              【総額350万】高額請求がきたエンジニアの失敗から学べること - Qiita
                                                                            • 理解しやすいコードの書き方~理解容易性の7つの観点~ - Qiita

                                                                              はじめに 「理解容易性」は「保守性」の観点の1つとして重視され、多くの原則や技法が紹介されているが、断片的かつ多様であり、全体像を理解することは難しい。 抽象度は高いが、体系的に観点を整理する事で、その理解の助けとなれば幸いである。 定義 「理解容易性」を簡単に言えば、「理解のしやすさ」であるが、その意味から掘り下げると、「思考する量」と言い換えることができる。 本記事では理解容易性を「思考量の少なさ」と定義し、7つの観点に整理した。 先に要約およびチェックリストを記載し、概略を記載した。 後に詳細で理解のため、各観点毎の説明と個別の原則や技法へのリンクを記載した。 要約 7つの観点の要約を先に示す。 (変数や関数の)名称は分かりやすくする (変数や関数の)役割は1つにする (変数や関数の)参照は狭くする (変数や関数の)状態は変えられなくする (関数やクラスの)面積は小さくする (関数や

                                                                                理解しやすいコードの書き方~理解容易性の7つの観点~ - Qiita
                                                                              • UIコンポーネントの大きさは外から制御しよう - Qiita

                                                                                昨今のフロントエンド向けUIライブラリでは、コンポーネントの設計が重要です。この記事では、コンポーネントのスタイリング、その中でもとくにコンポーネントの大きさに関わるコンポーネント設計について考えます。 私の考える結論は、むやみに大きさを指定できるpropを生やさずに、CSSで外から大きさを制御できるようにしたほうがいいです。 コンポーネントの大きさを制御したい UIの一部分を再利用可能なコンポーネントとする場合、同じコンポーネントがさまざまな場面で使えるのが望ましいでしょう。コンポーネントが提供する機能にもよりますが、場面に応じてさまざまな大きさでコンポーネントを使用できたほうがよいこともあります。 具体例として、このようなコンポーネントを考えてみましょう。例はReactで示しますが、この記事の内容はReactとは関係ありません。 const Card: React.FC<React.P

                                                                                  UIコンポーネントの大きさは外から制御しよう - Qiita
                                                                                • 【Go】公式ツール "eg" を使って効率的にGoのコードをリファクタリングする - Qiita

                                                                                  はじめに こんにちは、ken です。お仕事では Go をよく書きます。 最近、Go の公式パッケージであるgolang.org/x/toolsを眺めていたら、なにやら有用そうなパッケージを見つけたので今回はそれについて書こうと思います。 それはegというリファクタリングツールです。 eg とは eg は、例ベースで Go コードをリファクタリングするためのツールです。このツールを使用することで、特定のコードパターンを別のコードに置き換えることができ、効率的にリファクタリングが行えます。 先ほど貼った公式ドキュメントに詳しい説明があるかと思いきや The eg command performs example-based refactoring. For documentation, run the command, or see Help in golang.org/x/tools/ref

                                                                                    【Go】公式ツール "eg" を使って効率的にGoのコードをリファクタリングする - Qiita