タグ

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

  • pt-online-schema-changeを理解する - Qiita

    はじめに こんにちは、webエンジニアの@an_sonyです。 最近巨大テーブルをalterする機会があり、そのツールとしてpt-online-schema-changeを初めて利用しました。そこで得た知見をまとめてみます。 pt-online-schema-change(以下pt-osc)とは? 主にMySQL向けに作られた運用ツール群perconaの一つです。 テーブルへのread/writeを許容できる状態に保ったままalter操作を実行することを可能にします。 なぜpt-oscが必要か なにも考えずに通常のalter操作を実行すると、共有ロックを取得するのでinsert/updateができなくなります。alterしようとしているテーブルのレコード数が多い場合、その間書き込みプロセスは待ち状態となり処理が完了しないため、サービスが停止してしまいます。 なお、MySQL5.6からはオン

    pt-online-schema-changeを理解する - Qiita
  • 要件定義|3分で読める非機能要件について - Qiita

    はじめに エンジニアのみなさま、日々の学習当にお疲れ様です! また記事まで足を運んでいただき当に感謝です。 約3分程度で読めるので最後まで読んでもらえると幸いです。 要件定義関連の記事の投稿をしました。時間あればぜひ読んでみてください。 今回は「非機能要件」の 可用性 性能・拡張性 運用・保守性 移行性 セキュリティ システム環境・エコロジー の6項目について理解を深めてアウトプットしようと思います。 非機能要件|6項目について 1. 可用性 システムが継続して利用可能な状態を維持する能力を指します。『稼働率』 で表現されます。システムは定期メンテナンスや予期しない障害により、一時的に利用できなくなることがあります。可用性は、稼働している時間と停止から復旧までの時間の割合で決まります。たとえば、Amazonの「Amazon ECS」サービスは 『99.99%』 の稼働率を保証しており

    要件定義|3分で読める非機能要件について - Qiita
  • Windows11の日本語化でハマった話 - Qiita

    目的 Windows11のインストール用USBを英語版で作成し、気づかずにセットアップを完了してしまった。 日語化しようとしたが、設定から言語設定を日語に設定してもうまく行かなかった際に行った手法をメモする。 結論 下記コマンドをWindows PowerShellで実行したとき日語のLanguage PacksがLpCabのみになっている場合はこの方法で改善する可能性が高い。 現象 直してしまったので合成画像となるが下記のような状況になる。 (左側が英語右側が日語・・・) GUI部分を含めた日語化方法 タスクバーのWindowsボタンを右クリック Settingsを選択し、Settingウインドウを開く 左のメニューからTime & Languageを選択する 右の一覧からLanguage & regionを選択する Preferred languagesのAdd a lang

    Windows11の日本語化でハマった話 - Qiita
  • Hyper-VでGPU(GPU-PV)を利用する方法 (Windows 10以降編) - Qiita

    Windows Server 2025にて正式サポート https://techcommunity.microsoft.com/t5/windows-server-news-and-best/the-future-of-windows-server-hyper-v-is-bright/ba-p/4074940 Windows Server 2025にて、GPU-Pは正式にサポートされるようになるようです。 こちらで紹介している有効化手順は正式サポート以前のものになります。 正式な手順は異なる可能性があります。 正式な手順は公式のドキュメントを確認してください。 ただし、こちらの手順では、公式的にはサポートされないハードウェア構成でも使用可能かもしれません。 はじめに この記事は、Hyper-VでGPU(3Dアクセラレーション)を利用する方法 Windows 10以降編 (GPU-P)のリメ

    Hyper-VでGPU(GPU-PV)を利用する方法 (Windows 10以降編) - Qiita
  • Webエンジニアの学習ロードマップが知れるサイト - Qiita

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

    Webエンジニアの学習ロードマップが知れるサイト - Qiita
  • 「Pythonのドキュメントでも読むか~」「え、何その裏技」 - Qiita

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

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

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

    ブラウザ開発者ツールのネットワークタブに表示されない情報送信手法 - Qiita
  • 世界1位取った後3年間オセロAIを作り続けたらナニモワカラナクなってチョットダケデキルようになった話 - Qiita

    2021年、ふとしたきっかけでオセロAIを作り始め、オセロAIコンテストに作ったAIを提出し、なんやかんやあって半年かけてそのコンテストで世界1位になりました。 それで満足…?と思いきや、全然満足せず、コンテスト関係なしにオセロAIを作って早3年。この記事ではオセロAIが色々なところに私を連れて行ってくれた話と、オセロAIが深いという話をします。 この記事は2年ほど前に書いていっぱい読んでいただけた以下の記事「カンゼンニリカイシタ話」の続編、みたいな立ち位置です。単体で読んでも、以下の記事と合わせて読んでも楽しめます。 世界1位からさらに高みを目指す 私が参加したオセロAIのコンテスト(CodinGame Othello)は、コンテストという特性上、かなり厳しい制約が設けられていました。例えば着手する時間です。これは1手あたり0.15秒以下でないといけません。また、コード長にも制限があり

    世界1位取った後3年間オセロAIを作り続けたらナニモワカラナクなってチョットダケデキルようになった話 - Qiita
  • Open WebUI (Formerly Ollama WebUI) がすごい - Qiita

    Open WebUIを使ってみました。 https://openwebui.com/ 当初は「Ollama WebUI」という名前だったようですが、今はOpen WebUIという名前に変わっています。Ollama専用じゃなくなったということでしょう。OpenAIに対応済みです。 早速使ってみました。もちろんBedrockで。 6/11 続編を書きました。 環境構築 Dockerですんなり構築です。Bedrockに対応はしてないので、「LiteLLM」を使って対応させます。 環境変数でこのあたりを指定 Ollamaを無効化 LiteLLMのエンドポイントをOpenAIのエンドポイントとして登録 APIキーを登録(LiteLLMとの通信には不要ですが、未指定だとOpen WebUIが正しく動作しませんでした) services: open-webui: image: ghcr.io/open-

    Open WebUI (Formerly Ollama WebUI) がすごい - Qiita
  • [小ネタ] SQLの GROUP BY / ORDER BY には数字 (1, 2...) を指定しよう - Qiita

    -------------------------------------------------------- -- users テーブルについて、部署・役職・作成日ごとに件数を集計する -- (MySQL用) -------------------------------------------------------- SELECT u.department_code `部署コード`, u.role_code `役職コード`, DATE_FORMAT(u.created_at, '%Y-%m-%d') `作成日`, COUNT(*) `人数` FROM users u GROUP BY u.department_code, u.role_code, DATE_FORMAT(u.created_at, '%Y-%m-%d') ORDER BY u.department_code ASC

    [小ネタ] SQLの GROUP BY / ORDER BY には数字 (1, 2...) を指定しよう - Qiita
    rizmhate
    rizmhate 2024/05/29
    後々問題になるやん…
  • Dockerのコンテナイメージサイズを1/10以下に軽量化してみた - Qiita

    はじめに VSCode + Python + Poetry + Docker(docker-compose)でdev-containerを作成して開発を行っていました。 Dockerを勉強し、イメージの軽量化に関する記事を読んでいると、自分が使っているコンテナイメージのサイズが気になりました。 docker images > REPOSITORY TAG IMAGE ID CREATED SIZE > dev-container latest a9b8e3df9087 2.31GB 2.31GB!? サーバとしてアプリを動かしていないのにここまで大きいなんて… というわけで勉強も兼ねて、イメージの軽量化に取り組みました。 イメージが軽量であるメリット ストレージの節約 これは言わずもがなだと思います。 限られたリソースを有効に使うことができます。 ビルド時間の短縮 Dockerは環境を作っ

    Dockerのコンテナイメージサイズを1/10以下に軽量化してみた - Qiita
  • Postmanを使い始めた時に知っておきたかった地味に便利な機能10選 - Qiita

    普段何気に使っているPostman。最近まで「手軽にGUIで疎通を試せて、設定を共有できてべんり〜」くらいで使っていました。 けどふと「実はもっと便利な機能があるのでは?」と思って調べてみたところ、色々出てきたのでせっかくなのでシェアしたいと思います。 たまたまですがちょうど10選! 地味に便利な機能10選 VSCode拡張 PostmanにはVSCode拡張機能があります。 インストールするだけで、VSCodeのサイドバーから利用可能です。 日語設定 日人なので日語で使いたい。 右上の歯車→Settingsから以下の通り選択することで日語化が可能です。 変数の定義 複数のAPIで同じ値を使いたい場合があるとします。例えばテスト用のユーザーIDなどです。 Postmanではそんな値をAPIファイルに逐一ハードコードする必要はなく、変数に保存することが可能です。 Postman Ec

    Postmanを使い始めた時に知っておきたかった地味に便利な機能10選 - Qiita
  • ExcelでChatGPTを呼び出して楽をする - Qiita

    はじめに Excelで、表の集計でChatGPTを使いたい、と思うことは無いでしょうか? たとえば、大量のアンケートを集計・分析したい、とか・・・ 今回、OfficeScriptとChatGPTOpenAI)を使って処理ができることが分かったので、共有したい やること 以下のような表をあらかじめ作っておいて、Productの内容をもとに、OpenAIにカフェメニューを挙げさせるサンプルを作る コード共有 async function main(workbook: ExcelScript.Workbook) { // Get the active worksheet. let sheet = workbook.getActiveWorksheet(); // Get the table const table = sheet.getTable("CafeMenuTable"); // "C

    ExcelでChatGPTを呼び出して楽をする - Qiita
  • たった2つのステップを意識するだけで書けない単体テストがほぼなくなる - Qiita

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

    たった2つのステップを意識するだけで書けない単体テストがほぼなくなる - Qiita
  • 「JavaScriptで要素をドラッグして移動する簡単な方法」という記事が初耳だらけだった件 - Qiita

    はじめに まず↓の記事を見てない方はぜひ見てください! 自分にとってはこの記事には「えっ、ナニコレ!」なテクニックが多く、特に解説もなかったのでいろいろ調べてたら休日が消えてました... なのでその時間の供養もかねて、自分が知らなかった部分を中心に、僭越ながら元記事の解説を書いてみたいと思います。 ちなみに、以下が元記事のコードそのままを実装したものです。たしかに掲載コードだけで要素がグリグリ動きますね。 See the Pen js-drag-move-original by www-tacos (@www-tacos) on CodePen. 初耳1: $img まずコードのここ <img id="$img" src="https://js.cx/clipart/ball.svg" width="40" height="40"> <script> $img.onpointermove

    「JavaScriptで要素をドラッグして移動する簡単な方法」という記事が初耳だらけだった件 - Qiita
  • 【Windows10】Update:KB5034441の0x80070643エラー対処備忘録(2024年1月) - Qiita

    はじめに Windows10 Update でKB5034441の0x80070643エラーが発生する場合の対処方法を備忘録的に軽く記載します。 (色々面倒なことがあったので参考情報を記載します) ある程度再現性を重視して、手順には、PCを普段から使っている人には冗長な内容も記載しています。 目次 前提 エラー概要 対処方法 参考文献 前提 件エラーの解決を確認した環境等をまとめます。 対象者 Windows UpdateでKB5034441の0x80070643エラーが発生した人 Windows 10 ユーザー Windows 11 ユーザーも対象の可能性あり(実機で未確認) 普段ICT関連に詳しいけど、たまにPowerShellとかになると操作方法忘れる人 普段ICT関連触れている程度の人(ICT見習い系) 動作確認環境 OS Windows 10 version 22H2 CPU

    【Windows10】Update:KB5034441の0x80070643エラー対処備忘録(2024年1月) - Qiita
  • htmxとは何なのか? その背景にある思想について - Qiita

    先日、Qiitaに投稿された一つの記事が注目を集めました。 元記事では、htmxというJavaScriptライブラリが英語圏で認知を獲得しているとして、インストールの仕方から使い方について公式のドキュメントの全体にわたって簡単に説明が行われています。 さまざまなプラットフォームでこの記事に対する反応を観察してみると、どちらかというと懐疑的な見方のほうが優勢のように見受けられます。ただ、多くのコメントは誤解に基づいているように見受けられました。「JSが要らない」といった元記事のミスリードによるところも大きそうですが1、なぜhtmxが大きく支持を得つつあるのかを理解するには、背景情報を含めて理解することが必要です。 htmxは、最近の複雑化するフロントエンド技術に対する単なる逆張りではありません。これまで30年ほどのあいだウェブ上のシステムを支え続けた「ハイパーメディア」の持つ強力さに今一度目

    htmxとは何なのか? その背景にある思想について - Qiita
  • 高効率なSQLクエリの書き方 - Qiita

    概要 この記事では、SQLクエリをより効率的に記述するためのベストプラクティスとテクニックに焦点を当てています。データベースのクエリはシステム全体のパフォーマンスに直結するため、最適な書き方を知ることは重要です。インデックスの効果的な活用方法、適切な結合の選択、そして条件の効果的な書き方など、SQLの最適化に関する具体的な手法を解説します。各SQL文に関する実行計画の結果も掲載していますので、ぜひご確認ください。 なお、Oracle19cとOracle12cでの利用実績がありますが、他のデータベースやバージョンにおいての検証は行っておりません。 新しい情報は随時追加されますので、お楽しみにしてください。 SQLの最適化に関連する基的なアイデア 以下の通りと考えています。 1.インデックスの利用 2.正しいJOINの選択 INNER JOIN、LEFT JOIN、RIGHT JOINなど、

    高効率なSQLクエリの書き方 - Qiita
  • 【日本人エンジニア必携】英語命名規則の決定版 - Qiita

    弊社Nucoでは、他にも様々なお役立ち記事を公開しています。よかったら、Organizationのページも覗いてみてください。 また、Nucoでは一緒に働く仲間も募集しています!興味をお持ちいただける方は、こちらまで。 はじめに 英語での適切な命名は、コードの可読性や保守性を向上させるために重要です。適切な命名規則を守ることがコードの理解や共有において不可欠です。 英語での命名規則を学び、適切な命名を行うことで、コードの読みやすさや保守性を向上させ、チーム全体でのコードの理解を促進する手助けとなります。 この記事では、日エンジニア英語での命名規則を理解し、適切な命名を行うための指針を提供します。 命名フローチャート 変数 関数 クラス 1. 変数 1-1. boolean 1-1-1. 存在するかどうかのフラグ 名詞 + exists

    【日本人エンジニア必携】英語命名規則の決定版 - Qiita
  • EC2が複数VPCにENIを足出しできるように!でもみんな戦々恐々としてるのはなぜ…? - Qiita

    AWSVPCに大きなアップデートが! 今週10/26、AWSにこんな機能アップデートが発表され大変話題になりました。 簡単に言うと 「EC2インスタンスから複数のVPCに対してENI(NIC)を足出しできるようになった」 という大きなアップデートでした。 みんな戦々恐々? しかし、Twitterのオンプレミス経験者たちは口を揃えて懸念を漏らしています。 「これ、クラウド初心者がオンプレからの移行で "監視セグメントVPC" みたいなものを作ってしまうんじゃなかろうか…」 今回のアプデを見て「ウッ…😅」と感じた方も、改めて何が問題なの?と聞かれると意外としっかり言語化できないかも知れません。これを機にAWSの代表的なサービスであるマネージド論理ネットワーク「VPC」の基をおさらいしてみましょう。 オンプレ時代の基を振り返る パブリッククラウド普及前のオンプレミス時代では、企業のシステ

    EC2が複数VPCにENIを足出しできるように!でもみんな戦々恐々としてるのはなぜ…? - Qiita