タグ

ブックマーク / qiita.com (1,233)

  • PDOフェッチパターン大全 - Qiita

    忙しい人向け Q. PDO::FETCH_ASSOCでフェッチするとき,キーを整数連番じゃなくてidにする方法は? A. PDO::FETCH_UNIQUEを組み合わせる. $sql = "SELECT id, * FROM people WHERE gender = 'female'"; $rows = $pdo->query($sql)->fetchAll(PDO::FETCH_ASSOC|PDO::FETCH_UNIQUE); var_dump($rows); /* [ 3 => ['id' => '3', 'name' => 'Lucy', 'gender' => 'female'], 5 => ['id' => '5', 'name' => 'Mary', 'gender' => 'female'], ] */

    PDOフェッチパターン大全 - Qiita
  • PHPでデータベースに接続するときのまとめ - Qiita

    【2021/10/15 追記】 この記事は更新が停止されています。現在では筆者の思想が変化している面もありますので,過去の記事として参考程度にご覧ください。PDO に関しては大きく変わっていない部分が多いとは思いますが, PHP 8.x 以降での動作保証はありません。 あらかじめ読んでおきたい記事 Qiita - 【PHP超入門】クラス~例外処理~PDOの基礎 by @7968 初心者がやりがちなミス 以下のどれかに1つでも当てはまるコードは見直す必要があります.付録にリンクを貼っておきましたので,「該当するかも?」という人はクリックして飛んで読んでください.太字にしてあるものは脆弱性に直結する危険度の高いものです. mysql_query などの非推奨関数を利用している SET NAMES あるいは SET CHARACTER SET などで文字コードを指定している そもそもデータベース

    PHPでデータベースに接続するときのまとめ - Qiita
  • わい、static変数とstaticメソッドについて熱く語る - Qiita

    はじめに 昨今、プログラマーと会話をしていると staticをつけた変数はクラス内で共有されるとか staticをつけたメソッドはどこからでも呼べるとか そのくらいの理解はしているけど、結局staticってよくわかんないんだよね というプログラマーがちょくちょくいるなぁと思ったので 徹底的に解説してみよう! と意気込んだものの 徹底的にとなるとめっちゃボリュームあって書くの疲れちゃうな と思ったので なんとなく暗記で覚えてる人が もう、ちょっと視点を変えてstaticを捉えられる くらいの雑な記事を書いてみた次第です。 追記:動画も作りました Static変数 Staticメソッド 対象読者 ある程度プログラムかけるようになってきたけど 初心者に毛が生えたくらいのレベルだなと感じている人 staticは使うし使えるけど、どこかモヤっとしている人 ちな経歴 最初はWEBから入ってHTML、C

    わい、static変数とstaticメソッドについて熱く語る - Qiita
  • Docker で MariaDB を 利用する - Qiita

    はじめに Docker(compose) での MariaDB 利用方法です。 普段は、PostgreSQLを使うことが大半ではありますが、触ってみました&書き残しメモです。 確認環境 WSL2(Ubuntu22.04.3 LTS) Docker (24.0.6) Docker Compose (2.4.1) MariaDB (10.11.6-jammy) フォルダ構成 [projectfolder] ├─ compose.yml ├─ Dockerfile ├─ conf.d │ └─ my.cnf └─ initsql └─ 10_sample1.sql services: db: build: context: . ports: # ポート設定 - '3306:3306' environment: # デフォルトのDB MARIADB_DATABASE: defaultdb # デフ

    Docker で MariaDB を 利用する - Qiita
  • DockerでのLAMP環境構築手順(Amazon Linux 2/PHP8.1(Laravel9)) ①作成する環境の確認(全8回) - Qiita

    DockerでのLAMP環境構築手順(Amazon Linux 2/PHP8.1(Laravel9)) ①作成する環境の確認(全8回)PHPMySQLApacheLaravelAmazonLinux2 はじめに かくかくしかじかで、DockerAmazon Linux 2 ベースの LAMP 環境を構築する機会がありましたので、手順についてアウトプットします。 記事の目的 手順の詳細を書いていくことで、似たような環境を構築する方の一助となれば幸いです。 作成する過程では、つまずく箇所が山ほど出てきましたが、調べながら進んでいくことで、色々な学びを得ましたので、なるべく記事に落とし込めたらと思います。 さらに記事として書き出す上で、よくわかっていないことに気づいた点を調べながら補足することで、インプットの機会にもしたいというのが目的です。 投稿内容(全 8 回) 全 8 回に分けて、投

    DockerでのLAMP環境構築手順(Amazon Linux 2/PHP8.1(Laravel9)) ①作成する環境の確認(全8回) - Qiita
  • 個人開発者がGoogle Cloudの環境構築でお財布を守るために最初にすべきこと - Qiita

    初めに 自分は2年くらい業務でGCP(今はGoogle Cloudですね)を使っていたのですが、友達個人開発Google Cloud使いたいから手伝ってとのことで、久々にコンソール触りたいなーと思ったので環境構築を手伝うことにしました。友達クレジットカードが紐づいた環境なので自分の環境以上に課金やセキュリティに対して注意しなくてはなりません。課金だけでなく友情も爆発してしまいかねませんので 今回は最初期から構築するということで個人開発者向けにお財布や環境を守るうえでの最初にやったほうがよい課金のセーフティ的な設定をまとめていきたいと思います。企業で検証環境管理している人にも参考になるかと思いますので是非最後まで見てもらえると嬉しいです! 前提 Google Cloudのプロジェクトを作成していること 課金アカウントを作成していること(クレジットカードの紐づけできていること) その1

    個人開発者がGoogle Cloudの環境構築でお財布を守るために最初にすべきこと - Qiita
  • どうしてあなたの共通化は間違っているのか:目次 - Qiita

    はじめに この連載では共通化とモジュール分割について扱います。この話題においてQiitaで有名な記事のひとつが@MinoDrivenさんの単一責任原則で無責任な多目的クラスを爆殺するでしょう。この記事を未読の方はまずこちらを読むことをお勧めします。連載では、この記事に書かれているような基礎的な事項については既知であることを前提に、どのようにすれば単一責任原則にそったモジュールの分割を行うことが出来るのかをなるべく 「場合による」という言葉に逃げずに なるべく 網羅的・理論的に 解説します。 いいね、ストックをよろしくお願いします。 対象読者 設計に興味のあるエンジニア 基礎的な設計原則について学んだものの、実際の場面でどのように応用すればいいのかが掴めないエンジニア ミクロな設計についての知識を増やしたい人 ※この記事では、特定のメソッドをどのように作成するべきか、このクラスは複数の処理

    どうしてあなたの共通化は間違っているのか:目次 - Qiita
  • いつか起業したいエンジニアへ - Qiita

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

    いつか起業したいエンジニアへ - Qiita
  • GPTが人知れず既存の名刺管理アプリを抹殺していた話 - Qiita

    抹殺は言い過ぎかもしれませんが簡易な名刺管理アプリであれば自作で十分という時代がきていたようです これで紙の名刺からはきっとバイバイできるでしょう! 名刺管理アプリ作ってほしいといわれた それは2/22のお話。 ことの発端は別の部署からかかってきた一の電話でした。 新規事業の部署でいろいろな取引先様と付き合いがあるものの、紙の名刺が非常に多く管理に困っているとのことのことです。 私は小売業に勤務しているしがない一社員で、現在Eコマースの戦略立案に関する部署に所属しています。 電話先の方は、以前一緒の部署で勤務したことがある方です。現在新規事業のプロジェクト推進をしており、冒頭のような課題感を持っているため既存の名刺管理アプリ導入を考えたのですが、あまりのお値段の高さに卒倒して私に藁をもすがる思いで連絡されたようです。 これまでのアプリは名刺の識別専門のAI()を使っていた 話を聞いてみた

    GPTが人知れず既存の名刺管理アプリを抹殺していた話 - Qiita
  • オブジェクト指向は業務システムで本当に不要なのか? - Qiita

    主旨 以前はシステムの状態をオブジェクト指向でカプセル化し、オブジェクト同士の通信でシステムの制御をしようとしていた しかし、Webアプリケーションのように状態をメモリ上に保持し続けるのが難しい環境が増えると、上記のことがやりにくくなった(ORMのインピーダンスミスマッチの影響が大きくなった) 現在では、システム全体の状態を管理するためにオブジェクト指向を用いるシーンは減っているが、要所要所でシステムを抽象化する道具の一つとして用いるシーンはあり、適材適所で使い続ければ良い はじめに 一時期あれだけもてはやされた「オブジェクト指向」ですが、現在では「業務システム開発においてオブジェクト指向で作るとろくなことがない」、とか、いっそ「不要である」、という意見もよく見かけます。 オブジェクト指向、この記事では特に「オブジェクト指向プログラミング」を対象として話をしますが、その利点は以下の3点に集

    オブジェクト指向は業務システムで本当に不要なのか? - Qiita
  • 後輩エンジニアを絶望させるDB設計方法4選 - Qiita

    エンジニアの格闘 エンジニアのみなさんはかつてひどいコードや設計と直面し、それと格闘したことでレベルアップした経験はあるでしょう。 つまり、先輩エンジニアたるものクソコードやクソ設計を残して、後輩エンジニアのレベルアップに寄与するのは義務だと言っても過言ではありません(?) 今回はDB設計に焦点をあてて、そのように絶望させる設計の残し方を記しておきます。 初めての投稿なのでレベル的にはかなり初歩になっています。 ↑きっと彼も立派なエンジニアになった時感謝してくれるでしょう 1) 必要な正規化を行わない エンジニアという不思議な不思議な生き物は処理の共通化等なにかと処理をまとめたがる習性があります。 以下のように著者テーブルと書籍テーブルがあるとします。 書籍 書籍ID 書籍名 著者ID

    後輩エンジニアを絶望させるDB設計方法4選 - Qiita
  • Gmailが2024年2月から(大量)送信者に求めてることが分からない闇への防衛術(前編) - Qiita

    メールの世界にGmailさんが新たな闇を投入 (インターネットの)メール受信・送信は闇あふれる世界だと思うのですが(*1)、そこに 2023年10月7日、新たな闇要素をGmailさんが投げ込んでくれました。(正しくは2023/12月頭現在、闇がモリモリ増えてる。補足①②参照) (*2 最下部キャプチャあり) えーと、「1日あたり 5,000 件を超えるメールを送信する送信者」はこの事項を守ってね……とあります。要件と書いてあり、2024/2/1から実施と急なうえに、項目が SPFとDKIMの設定 逆引き 迷惑メール率 メール形式 Gmail の From: ヘッダーのなりすまし ARC DMARC ダイレクトメールの場合(……なんとかかんとか) 登録解除 と9個もある。 何これ……?と様々な人を戸惑わせています。 インターネットにつながっているそこそこの規模の組織は、1日あたり 5,000

    Gmailが2024年2月から(大量)送信者に求めてることが分からない闇への防衛術(前編) - Qiita
  • 2023年度版フロントエンド開発環境構築徹底解説 - Qiita

    この記事はNuco Advent Calendar 2023の1日目の記事です。 はじめに 2023年最新のフロントエンド開発環境についての紹介記事です。 分野別に、おすすめツール群と、その特徴などを紹介していきます。 デファクトスタンダードとみなせるようなツールや、最近盛り上がりを見せているものなどをラインナップしました。 これからフロントエンド開発を始めたい人はもちろん、長くご経験のある人にもプラスになる情報がきっとあるため、ぜひ参考にしてもらえると嬉しいです。 弊社Nucoでは、他にも様々なお役立ち記事を公開しています。よかったら、Organizationのページも覗いてみてください。 また、Nucoでは一緒に働く仲間も募集しています!興味をお持ちいただける方は、こちらまで。 フロントエンド開発おすすめツール集 エディタ エディタやIDEは好みの問題も大きいので、メジャーなものを簡単

    2023年度版フロントエンド開発環境構築徹底解説 - Qiita
  • Open API落穂拾い - Qiita

    この記事は 株式会社ビットキー Advent Calendar 2022 14日目の記事です。 今回は workhubプロダクトチームの maruware が担当します。 背景 BitkeyではOpen APIを以下のような用途で活用しています。 API仕様、ドキュメント 自社製のジェネレータによるサーバー実装やクライアント実装生成 サブシステムのモックサーバー Open APIに則ることで、1のメリットはもちろん、2によりサーバー実装で統一的なアーキテクチャ・validation・テストなどを得られたり、テストサーバー・クライアント間で整合した実装を得られたりといったメリットがあります。 しかし、残念ながら提供しているAPIはすべてがOpen APIで定義されている状態にはなっておらず、それらについてもOpen APIに載せていく移行を進めています。 その移行作業やジェネレータ整備などを

    Open API落穂拾い - Qiita
  • GASでWebアプリ作るときのTips - Qiita

    目的 初めまして。初投稿です。駆け出しの IT エンジニアです。 最近業務で GAS を触っていたので、得た知見をまとめてみました。 やってるといろいろと悩むことも多いので、僕が調べた内容を記載しておきます。 内容に間違いなどありましたら、ご指摘いただけると幸いです。 書いていると長くなっちゃいました。通しで読むと、同じようなコードが何回も出てきます。 できるだけ、必要な箇所だけ読んで、完結するようにしたためです。 これから始める人の参考になれば最高です!! GAS とは GAS(Google Apps Script)は無料で利用できる Google のローコードプラットフォームです。 Microsoft でいう VBA 的なことが記述できるところです。 SpreadSheet や Form, Document など Google のサービスに独自のアドオンを付けたいときは便利なサービスで

    GASでWebアプリ作るときのTips - Qiita
  • ライブラリにTypeScriptコードを同梱するときはディレクトリを分けよう - Qiita

    ライブラリがこんな構成になっていませんか? TypeScript製のライブラリをnpmで配布するとき、そのパッケージの構成は次のようなフラットな構造になっていませんか?フラットな構造とは、TypeScriptファイル(.ts)と、型定義ファイル(.d.ts)が同じディレクトリにあるような構成です。 ├── index.ts ...... TypeScriptファイル ├── index.d.ts .... 上の型定義ファイル | package.jsonのtypesフィールドで指定してる。 ├── index.js ...... 上のJavaScriptファイル | package.jsonのmainフィールドで指定している。 | ├── module.ts ..... TypeScriptファイル | index.tsからimportされている。 ├── module.d.ts ...

    ライブラリにTypeScriptコードを同梱するときはディレクトリを分けよう - Qiita
  • React Queryはデータフェッチライブラリではない。非同期の状態管理ライブラリだ。 - Qiita

    はじめに この記事はDominikさんが執筆された「Thinking in React Query」を参考にReact Queryの考え方をまとめたものになります。DominikさんはTanStack Query(以下ではReact Queryと呼ぶ)のコアメンテナーであり、彼のブログからReact Queryについての知見を吸収することができます。 目次 React Queryはデータフェッチライブラリではない ではReact Queryとは何か? Client StateとServer Stateの違い React Queryは非同期の状態(Server State)管理ライブラリである キャッシュを有効活用する React Queryのキャッシュについて staleTimeでキャッシュをコントロールする queryKeyを適切に設定する まとめ 🎆 React Queryはデータフ

    React Queryはデータフェッチライブラリではない。非同期の状態管理ライブラリだ。 - Qiita
  • PHPのiterableとTraversableは違う - Qiita

    PHPiterable型とTraversableインターフェイスはどういう性質があるのか?異なる点は何か?どういう関係か?について説明する。 iterable型 いわゆる疑似型で、arrayもしくはTraversableインターフェイスを実装したクラスを指す型。 foreachで反復できる。 yield fromのジェネレーター構文が使える。 PHP7.1で導入された。Traversableインターフェイスより新しい。 Traversableインターフェイス このインターフェイスを実装したオブジェクトはforeachで反復できるようになる。 内部エンジンのインターフェイスであるため、PHPコードでこのインターフェイスを直接実装することはできない特殊なインターフェイスである。 PHP5で追加された。 class SomeClass implements Traversable {} //=

    PHPのiterableとTraversableは違う - Qiita
  • [git] submoduleの削除、再追加について - Qiita

    はじめに gitのsubmoduleを使う機会があったのですが、間違えて追加して再追加するときに、いろいろ戸惑ったので、まとめました。 submoduleの追加

    [git] submoduleの削除、再追加について - Qiita
  • PHP) Exceptionエラー設計原則とアプリケーションへの導入 - Qiita

    Advent Calendarへの招待、ありがとうございます。 記事が何方かの役に立つことができると幸いです。 前書き すべての記事は、自分の勉強目的のため主観的な内容の整理を含まれています。あくまで参考レベルで活用してください。もし誤った情報などがあればご意見をいただけるととっても嬉しいです。 内容では省略するか曖昧な説明で、わかりづらいところもあると思います。そこは、連絡いただければ補足などを追加するので、ぜひ負担なくご連絡ください。 今回の記事は Java の Exception・Concept に起因した内容を一部含めています。JavaPHP のエラーの抽象化モデリングは少々違いがあるので、後述する内容は必ず PHP においての正解とは言えません。PHP の Exception に焦点をおくよりも、言語に関係なく Exception と Application においてのエ

    PHP) Exceptionエラー設計原則とアプリケーションへの導入 - Qiita