タグ

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

  • WordPressのuploadsにあるファイルへの直接アクセスを制限(WP新仕様対応) - Qiita

    WooCommerceというWordPress用プラグインでショップを構築している。最近、デジタル商品(PDF)の販売もやり出しているのだが、一つ問題があって、WordPressはメディアファイルをアップロードすると/wp-content/uplaods/というディレクトリ以下にファイルが置かれるのだが、これには何も制限がかかってなくて、直接URLを入力したらファイルが表示されてしまう。これじゃ販売してる意味がないし、検索エンジンクローラーにも引っかかってしまう。 まぁFTP使って、直接アクセスできない領域に置けばいいじゃないかという話もあるのだが、諸事情からそれは見送り(詳細省きます)。次のような要件を.htaccessで実現することにした。 要件 デジタル商品(.pdf、.mp3、.zip)へのアクセスは禁止 ただし拡張子の前に_sampleと着いているものはアクセス可能。 e.g.

    WordPressのuploadsにあるファイルへの直接アクセスを制限(WP新仕様対応) - Qiita
  • テストカバレッジ100%を追求しても品質は高くならない理由と推奨されるカバレッジの目標値について - Qiita

    皆さんは 「カバレッジが高ければ、ソースコードの品質が高い」という誤解 をしていませんか?少なくとも私は今までテストカバレッジ100%を追求していました。「C0/C1カバレッジ100%」がユニットテストの完了条件として含まれているプロジェクトも多いかと思います。 稿では、「カバレッジが高ければ、ソースコードの品質が高い」という命題がなぜ誤っているのかを論理的に証明し、カバレッジを計測する当の目的、そして推奨されるカバレッジの目標値について紹介したいと思います。 「カバレッジが高ければ、ソースコードの品質が高い」はなぜ間違っているのか? カバレッジを計測する当の目的 バグを潜在させてしまう恐怖のテストケース・アンチパターン カバレッジの目標値は100%にするべきではない カバレッジの目標値は何%にするべきなのか? (テストカバレッジの種類については『ホワイトボックステストにおけるカバレ

    テストカバレッジ100%を追求しても品質は高くならない理由と推奨されるカバレッジの目標値について - Qiita
  • RAGは検索エンジンが命!Azure AI Search初心者入門 - Qiita

    はじめに こんにちは! AI エンジニアのヤマゾーです。 近年、生成 AI の進化が目覚ましく、生成 AI を活用したシステムの開発が盛んに行われています。その中で最も有名なテクニックが RAG です。RAG というのは検索拡張生成 (Retrieval Augmented Generation) の略で、質問の関連情報を検索し、質問と関連情報をセットで入力して回答させる技術のことです。 各企業ではこの RAG システムを積極的に導入していますが、ほぼ確実に課題になるのが検索部分の精度です。そして検索精度を上げるためには検索エンジンの知識が必要不可欠です。 記事では検索エンジンの筆頭サービスである Azure AI Search を題材に、検索エンジンの基的な仕組みや検索クエリの書き方について初学者向けに解説します。 RAG の検索部分を "Retriever" と呼びますが、この語源

    RAGは検索エンジンが命!Azure AI Search初心者入門 - Qiita
  • 2024年版機械学習・データ分析の必須10冊+ガチ90冊+Next5冊=105冊 - Qiita

    2023年版データ分析の100冊 が好評でしたので、2024年版を作りましたよ。 記事のめあて IT系の技術者の方がデータ分析関連の仕事をするために役立つを紹介する(私が学び始めた時にあれば欣喜雀躍したであろう)記事として書いております 記事作者の青木はバイオインフォマティクス(ゲノムデータのDB化中心・PerlMySQL)からRで時系列分析→Pythonデータ分析一般と業務をしてまいりました ですので研究者目的のはありません。また、データ分析の基礎は主にRで学んだのですが、昨今の流行に合わせて理論のほかはPythonのみにしています 「記事のR版のご要望があれば爆裂書きます!」と去年書いたのですが要望0 あはは、Rのは今回撲滅しました! こういうリストを挙げる奴は大抵読んでいない、と過去にも言われたのですが、未読は削除しました 最近好著連発なので読んでいる途中だけど挙

    2024年版機械学習・データ分析の必須10冊+ガチ90冊+Next5冊=105冊 - Qiita
  • 【Python】バージョン別便利機能10選 - Qiita

    python3.13のリリースが近づいてきたということで、今回は各バージョンの便利機能をおさらいしたいと思います。 ちなみにPython3.13は現在candidate版が公開されています。candidate版は正式版になる予定のバージョンのことです。 Actual: 3.13 development begins: Monday, 2023-05-22 3.13.0 alpha 1: Friday, 2023-10-13 3.13.0 alpha 2: Wednesday, 2023-11-22 3.13.0 alpha 3: Wednesday, 2024-01-17 3.13.0 alpha 4: Thursday, 2024-02-15 3.13.0 alpha 5: Tuesday, 2024-03-12 3.13.0 alpha 6: Tuesday, 2024-04-09 3

    【Python】バージョン別便利機能10選 - Qiita
  • いい加減シェルスクリプトで [ $? -eq 0 ] や [ $? -ne 0 ] なんて エラー処理を書くのはやめよう! - Qiita

    いい加減シェルスクリプトで [ $? -eq 0 ] や [ $? -ne 0 ] なんて エラー処理を書くのはやめよう!ShellScriptBashLinuxUNIXmacOS はじめに [ $? -eq 0 ] や [ $? -ne 0 ] は冗長でデメリットしかありません。非常に多く見かける書き方ですが、1979 年に Bourne シェルが広く公開された時からこのようなコードは必要ありませんでした。実際に当時はこのような書き方は使われておらず、このような書き方をしなければならなかった歴史的な経緯などはありません。これはなぜか広まってしまった良くない書き方です。 優れたコードとは無駄がないシンプルなコードです。丁寧なコードとは無駄な処理を書くことではありません。[ $? -eq 0 ] や [ $? -ne 0 ] は書かないほうが、簡単で読みやすくわかりやすくなります。優れた文法

    いい加減シェルスクリプトで [ $? -eq 0 ] や [ $? -ne 0 ] なんて エラー処理を書くのはやめよう! - Qiita
  • Web系エンジニア最低限入れておくべき Chrome 拡張機能3選 - Qiita

    概要 Web ブラウザではすっかりお馴染みの Google Chrome ですが、開発者ツール(DevTools)だけでなく、拡張機能にも導入すると非常に便利なものがたくさんあります。 その中でも、Web系の開発をするエンジニアなら、是非入れておきたいオススメの Google Chrome 拡張機能について紹介します。 尚、いずれも無料で利用可能です。 IT エンジニア界隈では、既にどれも有名なものばかりですが、これから Web 系の開発をする方は是非お試しください。 当はもっとたくさんオススメしたい拡張機能がありますが、ひとまず今回は3つ紹介します。 Wappalyzer(ワッパライザー) 「Wappalyzer(ワッパライザー)」は、現在表示している Web ページで使われている技術(言語、フレームワーク、プラットフォーム、分析ツール、その他のサービス)を一覧表示してくれる拡張機能

    Web系エンジニア最低限入れておくべき Chrome 拡張機能3選 - Qiita
  • 顔写真から自閉症を判別してみた - Qiita

    はじめに この記事では今回開発したWebアプリ、自閉症識別(後に理由を説明しますが、動作が大変モッサリです)を公開するまでの経緯や考え・思いをまとめた。 6月中旬に差し掛かる頃から、Aidemy PewmiumのAIアプリ開発コースで、Pythonを用いてアプリ開発を行えるようになることを目標に学んできた。その成果として開発したのが、顔写真から自閉症を判別するWebアプリだ。 この記事では私自身がプログラミング超初心者として、そしていち支援者として感じたことも多く綴っているため、必要に応じて適宜読み飛ばしてもらえると良いかもしれない。 開発開始に至るまで 私はこちらの記事にあるように、保育士として児童発達支援に関わってきた。大変ではあるが非常に楽しい仕事だった。とはいえAidemyの講座受講中、成果物を何にするかをずっと考えていたが、この領域で何かやろうなんてことは全く考えていなかった。

    顔写真から自閉症を判別してみた - Qiita
    HanPanna
    HanPanna 2024/08/03
    Qiita、時々すごく社会常識ない人混じるからな。若いのかもしれない。
  • 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
  • 写真から超リアルな3D空間をどうやって復元するか? 「3D Gaussian Splatting」学習の徹底解説 - Qiita

    写真から超リアルな3D空間をどうやって復元するか? 「3D Gaussian Splatting」学習の徹底解説Python機械学習数学3D最適化 はじめに 前回の「画像生成の記事」で「3D Gaussian Splatting」による画像生成技術について解説しましたが、ご覧になりましたでしょうか。この「3D Gaussian Splatting」は学習済みの3D Gaussianモデルを用いて、任意の視点から実写に近い超リアルな画像を生成できるすごい技術です。画像の高品質だけでなく、明示的な3D表現によって環境を詳細に表現しており、多様な分野での応用が期待され、高い注目を集めています。 ただし、前回の記事では、画像生成の入力となる3D Gaussianをどのように学習するのかについては触れませんでした。これは「3D Gaussian Splatting」技術の中核であり、最も難しい部分で

    写真から超リアルな3D空間をどうやって復元するか? 「3D Gaussian Splatting」学習の徹底解説 - Qiita
  • なんだか助かる便利なおっちゃんになりたい - Qiita

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

    なんだか助かる便利なおっちゃんになりたい - Qiita
  • Google本社の方に聞いたいい開発者になるための習慣 - Qiita

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

    Google本社の方に聞いたいい開発者になるための習慣 - Qiita
  • Webエンジニアの学習ロードマップが知れるサイト - Qiita

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

    Webエンジニアの学習ロードマップが知れるサイト - Qiita
  • Dockerがわからない人へ。これ1本で0から学べる丁寧なDocker入門 - Qiita

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

    Dockerがわからない人へ。これ1本で0から学べる丁寧なDocker入門 - Qiita
  • 初めてのGitは電車で例えて学ぼう!初学者向け基本Gitコマンド入門 - Qiita

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

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

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

    【Git】同じコンフリクト解消を繰り返している人に教えたい「git rerere」 - Qiita
  • 東京大学のAWS入門資料がいい感じだったので最新のAWS環境でも実行できるようにしてみた - Qiita

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

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

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

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