タグ

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

  • Dockerで構築したPHP環境をxdebugでデバッグ(vscode) - Qiita

    はじめに dockerで構築したPHP環境でステップ実行する際の手順です。 エディターはvscodeでの手順になります。 使用しているdockerdocker for macのversion 18.06です。 今回説明しないもの Dockerの基的な使い方 vscodeの基的な使い方 ディレクトリ構造 今回の設定のディレクトリ構造です。 ├── docker │ ├── Dockerfile │ └── php.ini ├── docker-compose.yml └── src └── index.php

    Dockerで構築したPHP環境をxdebugでデバッグ(vscode) - Qiita
    takets
    takets 2023/12/25
  • uBlock Origin/Adblock Plus 用フィルタの書き方まとめチートシート - Qiita

    uBlock Origin/Adblock Plus 用フィルタの書き方について長々とした記事ばかりなのでシンプルにまとめました。 おそらく最も多くの人が使用している uBlock Origin は Adblock Plus のフィルタ形式をサポートしているため、Adblock Plus のガイドを参考にします。 uBlock Origin ("uBO") supports Adblock Plus ("ABP") filter syntax, so you can refer to existing filter syntax documentation from Adblock Plus web site and ABP's filter cheatsheet. For quick overview you can also check Introduction to basic fi

    uBlock Origin/Adblock Plus 用フィルタの書き方まとめチートシート - Qiita
    takets
    takets 2023/12/24
  • 入門:denops.vimでNeovimプラグインを作ろう - Qiita

    きっかけ Neovim向けのプラグインを作ってみたいけど Vim scriptもLuaもよくわからん!!!! TypeScriptなら書ける! => Denops.vimで作ってみよう Denops.vimについて denops.vim とは denops.vimJavaScript/TypeScript のランタイムである Deno を利用して Vim/Neovim 双方で動作するプラグインを作るためのエコシステムです。 環境構築についても詳しく書いてあるので助かりました。 成果物 今後、Neovimを触っているときに突然雪を見たくなる日があるかも知れません。 なので雪を降らせました。 作りたいものが思いつかなかったわけではありません コード全体 main.ts import { Denops } from "https://deno.land/x/denops_std@v5.0.

    入門:denops.vimでNeovimプラグインを作ろう - Qiita
  • [postgres] posgreではテーブル結合してUPDATEする時はJOINを使わない - Qiita

    「テーブルを結合して、レビューがある商品だけ更新したい」 を借りている人(1対1)、商品と商品へのレビュー(1対多)みたいにテーブル結合を使ったUPDATE文を実行したいとします。 こういう時、posgresqlではJOINを使うとエラーが出る。 公式リファレンス 解決する方法として ・FROMで結合先テーブルを指定する方法 ・サブクエリを使う方法 があるので、それぞれ紹介します。 1対1編 FROM句を使う FROM句で結合先テーブルを指定、 結合後のレコードに対してUPDATEします。 UPDATE products SET popular_flag = true FROM reviews -- 実質 INNER JOIN と同じ WHERE products.id = reviews.product_id; -- ONと同じ これにより、reviewsが紐づくproductsの

    [postgres] posgreではテーブル結合してUPDATEする時はJOINを使わない - Qiita
  • もう仕事に追われたくない!自分起点で楽しく働くための自己管理術 - Qiita

    はじめに 仕事に追われる日々から解放され快適に楽しく働くことができる環境を実現するためには、自己管理が重要です。ここでいう「仕事に追われず快適に楽しく働ける状態」とは、自分自身で意思決定を行い、仕事の進行を自らコントロールする能力を身につけることを意味します。 多くのエンジニア仕事の量や複雑さに圧倒され、自分のペースで仕事を進めることができないという状況に直面しています。しかし、自己管理スキルを身につけることでこれらの課題を乗り越え、より自分起点な働き方が可能になります。 この記事では、よく起きがちな問題とあわせて自己管理を強化するための具体的な方法を示します。 1. 他の人から見て何をやっているかわからない問題 主要なポイント 「あれってどうなってます?」って聞かれていませんか? これを頻繁に聞かれる場合、確実に何やっているかわからない人だと思われています タスクの状態は、必ず聞かれる

    もう仕事に追われたくない!自分起点で楽しく働くための自己管理術 - Qiita
    takets
    takets 2023/12/20
  • 君たちはどう再帰するか - Qiita

    君も再帰しないか 多次元配列のさきっちょにいっちょフィルタをかましたい。 よくあるお話です。 一般的にはarray_walk_recursiveやユーザ定義再帰関数を利用する所です。 単純な処理だったらそれで問題ありません。 では階層の構造変更を伴うような処理だったらどうでしょうか? 例えば配列やエンティティオブジェクトをそれらが持つ特定の値に置き換えたいなど。 という事で今日は再帰を使って配列を書き換えていこうと思います。 処理対象のデータ 多次元配列の末尾に日付オブジェクトを複数持つものを対象とします。 実用で考えたい場合は、あに入っているものをエンティティや行データに置き換えてください。 <?php $date = new DateTime('2024/12/19'); $data = [ 1 => [ 'a' => [ 'あ' => [ $date, ], 'い' => [ $da

    君たちはどう再帰するか - Qiita
    takets
    takets 2023/12/19
  • モチベはあきらめた - Qiita

    この記事は個人開発 Advent Calendar 2023の シリーズ1の18日目の記事です。 「モチベが出たらやろう」 「モチベさん、はやくこないかな」 と思い続け、はや数年。 モチベは出てこないことがわかりました(*´ω`*) 業や家族に比べ、重要度の低い個人開発は、 後回しになりがちだけど、ちゃんと進めたいなと思い、 いろいろ試しみてよかった施策の紹介です。 目指してた方向性 モチベは永遠に出てこなかったので、 以下みたいな状態にできないかと試行錯誤。 モチベがなくても取り組める モチベがあるように錯覚させる 60%くらいのモチベを維持する 特にモチベが上がりすぎると、燃え尽きて0%が続くので、 たまの100%ではなく、常に60%を持続できるとよさげ。 もちろん、モチベの偉大さは承知の上。 モチベをただ待つのはあきらめて、 上手くコントロールできるようになりたい。 1. とりあえ

    モチベはあきらめた - Qiita
    takets
    takets 2023/12/18
  • LaravelでURLのクエリパラメーターを取得する二つの方法と注意点 - Qiita

    はいさい!ちゅらデータぬオースティンやいびーん! 概要 Laravelでは、URLのクエリパラメーターを取得する二つの方法を解説しながら、注意点とベストプラクティスを紹介していきます。 また、BladeとControllerでのそれぞれの構文も添えておきます。 背景 クエリパラメーターを取得するのには二つの方法があるから、どれを使えばいいか迷います。 しかも、使う方法によって動作と、 ニュアンス が微妙に違います。 ニュアンス というのは、使ったメソッドによって、ソースコーで伝わる意図が変わるということです。 使った手段の結果が一緒でも、伝わる意図が変わるということは小さなことに思えて、実は重要なことです。 - 方法1 - Request::inputメソッド 最もよく使われている方法はIlluminate\Http\Requestのinputメソッドかと思います。 使い方 まず、使い方を

    LaravelでURLのクエリパラメーターを取得する二つの方法と注意点 - Qiita
  • Love Solarized Dark - Qiita

    私は Solarized Dark のカラーパレットが大好きです。 ※ Solarized テーマがどんなものか、については下記の記事がよく知られ分かりやすいですね。 今回は、私が自らの環境を Solarized Dark に染めるべく行った全ステップをメモします。 0. ダークモード Mac 体の外観モードを「ダーク」に変更します。 多くの場合、アプリケーションはシステム環境設定の外観モードにより Solarized Dark / Solarized Light テーマを切り分けます。今回は Solarized Dark テーマを適用するため、体の外観モードを「ダーク」としておきます。 システム環境設定... > 一般 > 外観モード より「ダーク」を選択すれば okay です。 1. デスクトップ 体のデスクトップカラーを Solarized Dark のメインカラーに変更します

    Love Solarized Dark - Qiita
    takets
    takets 2023/12/08
    slackのsolarized 設定方法
  • plenary.nvim による非同期処理 - Qiita

    1. plenary.nvim とは? Neovim 界で一番メジャーなプラグインとは何でしょう? 異論はあるかも知れませんが、多くの人は telescope.nvim を挙げると思います。ファジーファインダーの決定版ですね。 telescope.nvim は非常に複雑で大規模なプラグインなのですが、その開発で使われている便利な関数群は別のプラグインに切り出されています。それが plenary.nvim です。 plenary.nvim 自体も様々な機能を持っているのですが、この中で日紹介したいのは plenary.async というライブラリー。名前の通り、Neovim Lua で非同期処理を実装するための関数群です。 このライブラリーには条件変数、セマフォ、チャンネルといった、格的な非同期処理を書くために必要なパーツが含まれています。以下ではこのライブラリーの全機能について、実際に

    plenary.nvim による非同期処理 - Qiita
    takets
    takets 2023/12/04
  • 【PHP8.4】全角スペースをtrimできるようになるぞー - Qiita

    なんとなくRFCを見ていたらMultibyte for trim function mb_trim, mb_ltrim and mb_rtrimというRFCが投票に入っていました。 というわけで、以下はこのRFCの紹介です。 PHP RFC: Multibyte for trim function mb_trim, mb_ltrim and mb_rtrim Introduction PHPには、マルチバイトのtrim関数がありません。 preg_replace("/^\s+|\s+$/u", '', $string)で概ね想定した挙動になりますが、関数を予め用意しておくことでコードの可読性とわかりやすさを向上させることができるでしょう。 また、トリッキーになりがちなこの処理を標準化することができます。 この機能は多くのPHP開発者にとって有用であり、mbstringモジュールはこれで完成

    【PHP8.4】全角スペースをtrimできるようになるぞー - Qiita
    takets
    takets 2023/11/29
  • git diff+ChatGPTでPRの説明文作成しよう! - Qiita

    はじめに 組織で開発を行っている皆さんは普段からPull Request(PR)を作っていますよね?(決めつけ) masterブランチに直接pushしている方も中にはいるかもしれませんが、会社やチームで開発を行っていると、PRを作成する頻度は高いのではないかと思います。 そしてPRを作成する際には、その説明文を書く必要があります。 コードだけを読んで修正意図が伝わればいいですが、そうはいってもすべての背景をコードベースで伝えるのには限度があります。 しかし、だからといって修正の背景や詳細を、開発者自身が客観的な文章で伝えるのは簡単なことではありません。 そこで、この記事ではgit diffとChatGPTを組み合わせて、自動的にPRの説明文を生成する方法をご紹介します。 How to make PR? 繰り返しになりますが使うのはgit diffコマンドとChatGPTだけなんです!(お昼

    git diff+ChatGPTでPRの説明文作成しよう! - Qiita
    takets
    takets 2023/11/26
  • ユニットテストで避けるべき罠: 最適な品質保証のために落とし穴を避ける - Qiita

    はじめに 新卒として、実務に入って3ヶ月目のお話。なぜかテストコードの正式な導入の動きにより、先輩から、「テストコードの規約かいて〜〜〜」と超ラフに言われ、「ん?」となりつつ、作りました。そんな中で、テストコードの作成やお試し実装などをしている時に、みんなこれハマるよな...というものをざっと上げてみます。 ユニットテストにおけるテスト自動化は、システムのテストにおいて最も難易度が高いと言われているそうです。その要因の1つとして、やはり注意すべき点や陥りやすい罠が多いことが挙げられます。この記事では、テストコードの一般的な罠に焦点を当ててみました。 対象の読者 今後、会社にユニットテストを導入しようと考えている人 品質管理をしているエンジニア テストコードに興味があるエンジニア 1. Over-Testing と Under-Testing テストをする上で、テストシナリオとして必要なもの

    ユニットテストで避けるべき罠: 最適な品質保証のために落とし穴を避ける - Qiita
    takets
    takets 2023/11/24
  • Vim で編集しながら ChatGPT と一緒に書く Vim プラグイン書いた - Qiita

    はじめに 作ったやつ。これの使い方と開発メモ的なのをつらつらと。 使い方 思いついたら機能をいろいろ追加していくと思うので、v0.2.0 現時点での使い方だけ説明しておく。 インストール方法 Open API Key の発行 まずは Open AI 側の設定画面で、API Keyを発行する。 インストール設定の記述 dein.vim を活用していて、toml で管理している場合は以下のように記述すれば良い。

    Vim で編集しながら ChatGPT と一緒に書く Vim プラグイン書いた - Qiita
    takets
    takets 2023/11/09
  • console.log() の代わりにdevtoolsのLogpointsを使う - Qiita

    Logpointsを使おう Webフロントエンドの開発をする際、デバッグ目的で「特定の処理が実行された」ということを確認するために console.log() を使うことは多いと思います。しかし、Google ChromeMicrosoft Edge で利用可能な Logpoints を利用することで、 console.log() を使わずともコンソールにメッセージを出力することが可能です。 なぜLogpointsを使うの? Logpoints を使うのには以下のメリットがあります。 デバッグや動作確認のためにコードを変更する必要が無い console.log() を誤ってcommitに含めてしまう心配が無い console.log() を入れた後に再ビルドやホットリロードを待つ必要が無い どうやってLogpointsを使うの? logpoints は以下のように使用します。 Chr

    console.log() の代わりにdevtoolsのLogpointsを使う - Qiita
    takets
    takets 2023/10/26
  • LLMのプロンプト技術まとめ - Qiita

    現在,34個掲載(一部執筆途中) Xのアカウント@fuyu_quantでも技術系の投稿をしているのでよかったらフォローしてください! はじめに 今回はすぐに使えそうなプロンプトの工夫やフレームワークについて有名なものをまとめました.LMの出力の精度向上に役立てられればと思います. 論文があるものについてはarXivに最初に投稿された順番で掲載しています. 論文で精度向上が確認されているのは英語での検証がほとんどであるため,日語で改善されるかは分かりません. 全てのLLM(GPT-4,Llama2,...)で精度が改善するとは限りません. ※記事に誤り等ありましたらご指摘いただけますと幸いです. 以下の記事では敵対的プロンプト技術をまとめています! 目次 Zero-shot prompting Few-shot prompting 2021年〜 Generated Knowledge Pr

    LLMのプロンプト技術まとめ - Qiita
    takets
    takets 2023/10/26
  • 【永久保存版】0からReactを勉強するならこのロードマップに従え! - Qiita

    はじめに こんにちは!!@Sicut_studyです! 最近フロントエンドを学ぶ機会が多く、色々試してみて今後 React が選ばれる場面が増えるのかなと思いました。 そこで初学者の方がJavaScriptの次に学ぶ言語の選択肢になりやすいのではないかと考え今回の記事を作成しました。 私自身、2022年9月に独学で React を学び始めました。 最初JavaScriptもままならない状態から始めたのですが、Reactを学ぶことでピースがうまくはまってJavaScriptをより理解できましたし、Reactができるようになることで個人開発で多くのサービスが作れるようになりました。 そんな私が去年の自分にアドバイスするなら、 0からReactを学ぶならこのロードマップで勉強しろ と言いいます。 Reactを学ぶことで 勉強することが楽しい ↓ モノを作ることが楽しい というマインドに変われたの

    【永久保存版】0からReactを勉強するならこのロードマップに従え! - Qiita
    takets
    takets 2023/10/24
  • Apache2.4で、アクセス制限の記述方法が変更されていた - Qiita

    事象 Apache2.2をyumインストールしていた環境から、Apache2.4環境に移行するために、2.4をソースビルドでインストールしました。 その際に、必要な設定とあわせてバーチャルホストも設定。2.2の設定内容を、そのままconf/extra/httpd-vhosts.confに記述しました。 <VirtualHost *:80> ServerName sandbox ServerAdmin test@example.com DocumentRoot /home/sandbox/htdocs/ ErrorLog /home/sandbox/logs/error_log CustomLog /home/sandbox/logs/access_log combined <Directory /home/sandbox/htdocs> Options FollowSymlinks Inc

    Apache2.4で、アクセス制限の記述方法が変更されていた - Qiita
    takets
    takets 2023/09/29
  • jqコマンドのストリーミング処理 (--stream) をパイプでawkにつなぐ方法のまとめ - Qiita

    はじめに 誰もが知っている通り jq コマンドは JSON データを処理するためのフィルタコマンドです。awk コマンドと同じように抽出や編集といったデータ処理を行える専用の言語を備えています。jq コマンドは巨大な JSON データをストリーミングで処理することができる --stream オプションを持っており、データの完全な取得を待たずにデータを受け取りながら処理することが出来ます。しかしその使い方は難しくあまり解説されていません。そこでどのように使うと良いのかを調べてまとめました。 ストリーミング形式の出力 (--stream) まず次のような JSON データを用意しました。 [ {"name": "apple", "price": 210, "count": 10 }, {"name": "banana", "price": 140, "count": 15 }, {"name"

    jqコマンドのストリーミング処理 (--stream) をパイプでawkにつなぐ方法のまとめ - Qiita
    takets
    takets 2023/09/25
  • Sidecarをキー操作で開始・終了(macOS+iPad) - Qiita

    元のコードは下記にあります。 GitHub - geofftaylor/connect-sidecar: Scripts to connect/disconnect Sidecar on macOS Catalina and Big Sur そのままでは日語版で動かないので、動くようにしました。スクリプトエディタに貼り付けて、実行すれば動きます。 set controlCenterName to "コントロールセンター" set deviceName to "My iPad" -- Change this to the name of your iPad. set connectToSidecarName to "Sidecarに接続" set disconnectSidecarName to "接続解除" tell application "System Events" tell it

    Sidecarをキー操作で開始・終了(macOS+iPad) - Qiita
    takets
    takets 2023/09/24