タグ

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

  • PHP のエラーログを root が作成してしまってアプリから書けなくなる問題 - Qiita

    なにかの拍子で root で php を実行してエラーが出力されると /var/log/php/php.log が root 所有の 0644 とかで作成されてしまい、アプリケーションの実行ユーザーからエラーログが書けなくなってしまいます。 この問題を解決するためのいくつかの案。 案:logrotate で 0666 でファイルを作成する logrotate で次のように create 0666 root root を指定します。 /var/log/php/*.log { missingok notifempty create 0666 root root } こうしておけばローテーション時に 0666 でログファイルができるので、root でログに書き込んでしまっても Web アプリからのエラーログが書き込めなくなったりはしません。 と思ったら次のような問題があるらしいです。 logro

    PHP のエラーログを root が作成してしまってアプリから書けなくなる問題 - Qiita
    katsuren
    katsuren 2019/08/21
  • P++: 銀河に平和をもたらすための奇策と決着 - Qiita

    PHP 8から、PHPは「PHP」と「P++」という2つの言語を提供するようになる というキャッチーな紹介をするP++: 静的型付けをめざすPHPという記事がそれなりに話題になり、このニュースは目覚しく革新的な内容で、多くのひとの目を引き付けました。 これは早まった理解であり、ほとんど誤報と言ってもいい内容でした。2019年8月15日には提案者人も、少くとも「P++」の計画を短期的に実現するととは非現実的であり時期尚早であることを認めています。 この記事では、PHP開発の現状、なぜ野心的なP++計画が提案され、事実上撤回されたかの経緯について紹介します。 [中立性のための表示] この記事の著者@tadsanはPHPの静的解析を強く推進する立場です。 PHPゆるふわCI入門 PHP型検査・夢と理想と現実) 三行で要約 PHPはバージョンを経るごとに「歴史的経緯」による負債が削ぎ落されてきた

    P++: 銀河に平和をもたらすための奇策と決着 - Qiita
    katsuren
    katsuren 2019/08/14
  • PHP7でpreg_replaceのe修飾子の挙動が変わるので要注意です。 - Qiita

    TL;DR PHP5.5からpreg_replaceのe修飾子はDEPRECATED扱いとなっていたが、一応動いてはいた。 PHP7では、preg_replaceのe修飾子を使うと、Warningを吐きつつNULLを返す。 PHP5.5時代にpreg_replaceに@を書いてお茶を濁した人は、PHP7で地雷を踏む。 解説 このコードをご覧ください。 $string = "hello world"; $string2 = preg_replace('/(world)/e', "strtoupper('\$1')", $string); var_dump($string2);

    PHP7でpreg_replaceのe修飾子の挙動が変わるので要注意です。 - Qiita
    katsuren
    katsuren 2019/07/22
  • テストコードの書き方はわかったけどテストケースってどうやって挙げたらいいの? - Qiita

    はじめに 炭山水です。こんばんわ。 テストって必ずする or 必ずテストコードは書くと思いますが、身近な例で「JUnitの使い方とかPHPUnitの使い方とかはわかってもいざテストケースってどんなのやったらいいかよくわからない」という声をききまして筆を執りました。 ガチなテスト論は専門書に譲るとして、記事ではその触りというかイントロダクション的なことをお話ししようと思います。 ちなみにQiita初投稿です。日参加したTech::Survivorのもくもく会で「Qiitaを何かしら1記事投稿すること」が課題だったのでそれ用に書いたものですw TECH::Survivor エンジニアに成長機会を提供することを目的に作られたオンラインコミュニティの勉強会アカウントです。 https://techsurvivor.connpass.com/participation/ 対象読者とお話しする範囲

    テストコードの書き方はわかったけどテストケースってどうやって挙げたらいいの? - Qiita
    katsuren
    katsuren 2019/07/19
  • 2019年のワークフローエンジンまとめ - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 概要 データパイプラインの管理にワークフローエンジンを導入したいのですが、今の要件に対してどれが合っているのか判断しきれない部分があるので整理してみました 最近の導入事例や発表をみるかぎりAirflow, Argo, Digdagあたりが人気なのかなと思います ワークフローエンジンとは ワークフローエンジンとは定期的なバッチ処理をうまく処理できるように、バッチ実行を管理してくれるソフトウェアのことです 古典的な実現方法としては適当なlinuxサーバーの上でcron実行させることが考えられますが、以下のような問題があります ジョブごとの依

    2019年のワークフローエンジンまとめ - Qiita
    katsuren
    katsuren 2019/06/14
  • コードレビュー虎の巻 〜指摘の数だけ強くなれるよ〜 - Qiita

    コードレビューされる側からする側になって1年あまり。 普段意識していることをまとめます。 はじめに チームのルールに従う チームの数だけ文化があります。 新しく結成されたチームでも、途中からjoinした場合でも、そのチームのルールが最優先です。 一般的なプラクティスや自分の考えとは異なっていても、独自の判断で無視しないようにしましょう。 「悪法もまた法なり」です。(もちろんルールのメンテナンスは必要です) また、ルールがない場合は定めましょう。 目的を見失わない コードレビューの目的はソフトウェアの品質を向上することです。 「レビュアー vs レビュイー」ではなく、「問題 vs 私たち」です。 「良いコード」を知る レビューする側が指摘するにも、レビューされる側が実装するにも、「良いコード」とは何かを知ることが必要です。 書籍や記事がたくさんあるので読んでおきましょう。 『リーダブルコード

    コードレビュー虎の巻 〜指摘の数だけ強くなれるよ〜 - Qiita
    katsuren
    katsuren 2019/06/01
  • AWS/Azure/Google Cloudサービス比較 2023.12 - Qiita

    はじめに こちら の AWS サービス一覧をもとに各クラウドで対応するサービスを記載しています AWS では提供されていないが、Azure/Google Cloud では提供されているサービスが漏れている場合があります 主観が含まれたり、サービス内容が厳密に一致していない場合もあると思いますが、ご容赦ください 物理的なデバイスや SDK などのツール群は記載していません Analytics AWS Azure GCP

    AWS/Azure/Google Cloudサービス比較 2023.12 - Qiita
    katsuren
    katsuren 2019/05/15
  • MySQL8.0 認証方式を変更する(Laravel5) - Qiita

    MySQL8.0 を初めてインストールして、 Laravelでマイグレーションを実行したときにエラーがでて罠にハマりました。 追記: 2020.04.12 PHP 7.1.16, 7.2.4 以降のバージョンから caching_sha2_password に対応するようになりましたので、この記事の設定は不要となります。 環境 MySQL8.0.x PHP < 7.2.4 エラー内容 mysql コマンドで直接データベースへログインできたのですが、Laravel マイグレーションを実行するとエラーとなりました。 $ php artisan migrate Illuminate\Database\QueryException : SQLSTATE[HY000] [2054] The server requested authentication method unknownto the cl

    MySQL8.0 認証方式を変更する(Laravel5) - Qiita
    katsuren
    katsuren 2019/05/08
    PHPはMySQL8のデフォルト認証方式に対応していないため、ユーザーの認証方式を変える、デフォルト認証方式を変えるなどの対応が必要。/SequelProも同様らしく、Alt SequelPro として TablePlus がおすすめとのこと。
  • システム設計の流れ・設計書の構成メモ - Qiita

    システム開発に関わる機会が多くなってきたので、仕様書作成に関して色々とメモ。 ウォーターフォールモデルでの上流工程について記述していく。 上流工程は 「要件定義」→「外部設計」→「内部設計」の流れに従って進められていく。 要件定義 開発するシステムに求められている機能などの要件をまとめる事。 例えば 「パスワード認証」「データベース内検索」などの機能要件 「入力データ」「出力データ」の仕様 「保守性」「操作性」などの非機能要件 業務フロー などが挙げられる。 RFP(提案依頼書)作成や事前調査などを行って、当に必要な要件をじっくりと精査していく。 ココでまとめた内容を元に開発が進められる為、洗礼された要件定義を行うことで見落としによる仕様変更の回数を減らす事が出来る。 要件定義時に扱うのは必ず保証しなければならない項目が中心であり、UIデザインなどのデベロッパー側が決めても構わない部分は

    システム設計の流れ・設計書の構成メモ - Qiita
    katsuren
    katsuren 2019/04/18
  • エンジニア歴20数年の私が、設計書を書く際に心がけていること - Qiita

    はじめに 時の経つのは早いもので、私がIT業界に身を置いて四半世紀になってしまいました。 その間、膨大な数の「設計書(仕様書)」を書いて来ましたが、未だに悩み・迷いは尽きません。 それでも、亀の甲より年の劫とも申しますので、私なりの経験則を「個人」と「チーム」の両観点でまとめてみました。 稿のテーマは、「主に設計書を想定した、開発ドキュメントの書き方」です。 稿で前提とする設計書は、ExcelやWordで書かれた、フォーマルな(≒納品物になりえる)設計文書、です。 したがって、自社サービス開発よりも受託開発、アジャイルよりもウォーターフォール、を前提として読んでいただいた方が、しっくりくると思われます。 <ご注意> 稿の内容は執筆者独自の見解であり、所属企業における立場、戦略、意見を代表するものではありません。 個人的に心がけていること 当該文書の作成目的や位置付けを冒頭に記載する

    エンジニア歴20数年の私が、設計書を書く際に心がけていること - Qiita
    katsuren
    katsuren 2019/04/18
  • 今からでも追いつける! JavaScriptの「標準ライブラリ」を学ぶ - Qiita

    標準ライブラリは、大ざっぱに言えばプログラミング言語に標準で備え付けられている機能群です。多くのプログラミング言語では、形態は様々ですが何らかの形で標準ライブラリが備え付けられています。標準ライブラリはプログラミング言語の一部であり、言語のバージョンアップに伴って標準ライブラリに機能が追加されることは良くあります。 この記事ではJavaScriptにおける「標準ライブラリ」がどんなものなのか、その歴史的経緯なども交えながら解説します。「標準ライブラリ? 何それ」という方も「そんなの基だろw解説されなくても分かるわw」という方もぜひ一読していってください。 なお、記事執筆時点では標準ライブラリに関することは何一つとして標準化が完了しておらず、内容が今後大きく変化する可能性が十分にあります。この記事で概要を理解したあと、いざ使用する際にはご自分で最新の情報を調べたほうがよいでしょう。 お詫び

    今からでも追いつける! JavaScriptの「標準ライブラリ」を学ぶ - Qiita
    katsuren
    katsuren 2019/04/15
  • Slack - Qiita

    Slack Slack は必要なメンバーから情報、ツールまで一元化するメッセージプラットフォームと、そのアプリ開発用プラットフォームを提供しています。

    Slack - Qiita
    katsuren
    katsuren 2019/04/04
  • モダンな技術を全く知らないSIer5年目がWebサービスを作ることになったため0から勉強する ~AWS編その3~ - Qiita

    はじめに 現在SIer5年目でjavascript(Jqueryのみ)、PHP(フレームワーク無し)を2年ほど、C#(Windowsアプリ)3年ほどやってきました。 色々なご縁があり、個人で最近Webサービスの立ち上げをやることになったのですが何せ当にWebサービスを立ち上げるための知識がほぼ0に等しいです ただ今後のキャリアを考えた時に今のままではいけないと思いチャレンジすることにしました。 まずは最初に技術を習得しないといけないので、学ぶ&アウトプットするために毎回投稿していこうと思います。 今後身についていこうと思ってるのは下記のような技術です。 AWS Docker CI/CD環境の構築(何を使うかはまだ未定) Laravel Nuxt.js 今回はAWSについて学んでいきます。 今回学ぶこと AWSでのVPC構築について WebサーバとDBサーバを構築していきます。 最終的に構

    モダンな技術を全く知らないSIer5年目がWebサービスを作ることになったため0から勉強する ~AWS編その3~ - Qiita
    katsuren
    katsuren 2019/03/29
  • ER図を書くのに疲れたら - Qiita

    はじめに 新規開発/保守開発 にかかわらず、システム開発時にデータ構造を把握することは非常に大事です。 データ構造の把握に有意義なものとして ER図(E-R Diagram) があげられます。 ER図作成で悩むこと ドキュメントとプログラムは 「乖離」 する 非常に有益な ER図 ですが、ドキュメントの類に漏れず 実体(プログラム)との乖離 が発生します。 「乖離」 を避けるために、定期的に同期を撮ろうとしますが、全てのメンバが常に鮮明な意識で開発に挑めるわけではありません。ドキュメントは荒廃していきます。 ドキュメントとデータベースも 「乖離」 する ドキュメントとプログラム だけでなく、 ドキュメントとデータベース も乖離します。 すでにサービスとして可動しているデータベースの定義(テーブル、インデックス、ビュー) と ドキュメント が乖離しているということです。 サービスインしている

    ER図を書くのに疲れたら - Qiita
    katsuren
    katsuren 2019/03/28
  • 【PHP8.0】PHPでJITが使えるようになる - Qiita

    2020/06/26追記:アルファ版がリリースされたので実際に試してみた JITのRFCが2019/03/21に投票開始されました。 締切は2019/03/28ですが、2019/03/27時点で賛成48反対2でほぼ導入確定です。 JITとは JIT is 何? PHPは現在は、アクセスが来るたびにソースコードを全部読み取って、opcodeに変換して、順番に逐次実行して、実行が終了したら全てのコードを破棄するというインタプリタ型のプログラミング言語で、処理速度は遅いです。 遅いと言っても、やってる内容からすれば異常なまでに早いんですけどね。 opcodeはCPUやOSなどの実行環境によらず同一のコードが生成されます。 逐次実行するときはさらに実行環境ごとのネイティブコードに変換して実行されます。 OPcacheは、この変換後のopcodeをメモリに保存しておいて、次のリクエストでも使い回すと

    【PHP8.0】PHPでJITが使えるようになる - Qiita
    katsuren
    katsuren 2019/03/28
  • Laravelでクリーンアーキテクチャ - Qiita

    この記事は次の記事の続編に近い内容となっています。 もし可能であればこちらの記事を読み進める前に、次の記事をご覧いただくとより内容がわかりやすいでしょう。 Laravelで実践クリーンアーキテクチャ: https://qiita.com/nrslib/items/aa49d10dd2bcb3110f22 はじめに 皆さんこんな図をご存知でしょうか。 The Clean Architecture: https://blog.cleancoder.com/uncle-bob/2012/08/13/the-clean-architecture.html これはクリーンアーキテクチャというアイデアを表した図です。 同心円が特徴的な図ですね。 この同心円は、最も重要なビジネスロジックを中心に見据えることで外界の変化から防衛、対応していこうというコンセプトを表しています。 より具体的にいえば、ビジネス

    Laravelでクリーンアーキテクチャ - Qiita
    katsuren
    katsuren 2019/03/27
  • Laravelで実践クリーンアーキテクチャ - Qiita

    この記事を書くにあたって Laravel について色々サポートしてくれた皆さまに向けてお礼申し上げます。ありがとうございました。 記事はクリーンアーキテクチャに対する理解を深めていただくために、「実践クリーンアーキテクチャ」の内容を Laravel で実装して解説するという内容になっています。 記事のゴールは「クリーンアーキテクチャに対する理解を深めてもらう」というものです。つまり、この実装の形は一例に過ぎません。 はじめに 皆さんクリーンアーキテクチャはご存知でしょうか。 そう、こんな図のアレです。 The Clean Architecture: https://blog.cleancoder.com/uncle-bob/2012/08/13/the-clean-architecture.html クリーンアーキテクチャといえばこちらの象徴的な図をまずは思い浮かべるでしょう。 この図を

    Laravelで実践クリーンアーキテクチャ - Qiita
    katsuren
    katsuren 2019/03/15
  • それでもphp 7.1以降を使うべき7つの理由 - Qiita

    はじめに php 5.xから約2倍の高速化を果たしたphp 7.0,そんなphp 7.0も登場から二年以上が経過し,すっかり枯れた,もとい安心して導入できる段階になりました。 また,昨年末にリリースされたphp 7.2の登場によりphp 5.6.xがサポートされている最後の5.xバージョンとなりました。 そんなphp 5.6.xのサポートも2018年いっぱいで終了することが公式にアナウンスされており,なるべく早く7.xへのマイグレーションを行いたいところです。 では,マイグレーション先は十分に枯れたphp 7.0.xが適切でしょうか? いいえ,せっかくならphp 7.1以上に移行してしまいましょう。 php 7.1以上を使うべき理由 php 7.1以上への移行を勧める理由は,単なるできるだけ新しいものを使おうという考えではありません。php 7.1以上を用いることで得られる利点が遥かに大き

    それでもphp 7.1以降を使うべき7つの理由 - Qiita
    katsuren
    katsuren 2019/03/08
    array expansion いいな
  • iPadでプログラミングしてる人、今まで馬鹿にしててすみませんでしたァァァァ!!!! - Qiita

    こちらの記事内容は3年以上前のものなので、記事内にあるアプリケーションなどの動作やUIは実際と異なる可能性があるのでご注意ください。 (2023/01/04追記) iPadでプログラミングwwwアホちゃうかwww ワイ「え?お前全部iPadでプログラミングしてんの?そんなん効率悪いに決まっとるやんw」 ワイ「せいぜいでっかい画面でGithubのコード眺めるくらいしかできないやろwてかハイライトすらないんじゃn」 ?!(Monokaiで表示されとるやんけ...) ワイ「おっ、おう。シンタックスハイライトくらいはできるんやな。」 ワイ「まあ、考えてみればそのくらいは余裕だわなwでもな〜wコードだけ書けてもプレビューは?流石にそれが出来ないことには使えるとはいえn」 ?!?!(localhostで立ててくれるんか...これならCDN使えば簡単なサイトくらいやったらiPadだけで楽に作れるやんけ.

    iPadでプログラミングしてる人、今まで馬鹿にしててすみませんでしたァァァァ!!!! - Qiita
    katsuren
    katsuren 2019/03/05
  • 我が名は神龍……どんなテストもひとつだけ自動化してやろう - Qiita

    『我が名は神龍……どんなテストもひとつだけ自動化してやろう』 じゃ、じゃあ!このブラウザテストを自動化してください! Chromeで https://kids.yahoo.co.jp/ にアクセスして 検索ワードに ねこ と入力して さがすをクリックして 検索結果にネコ - Wikipedia が含まれていることを確認して 検索結果に 買い方 を追加して さがすをクリックして 探しているのは「の飼い方」?と表示されることを確認して クリックするとの飼い方で再検索されて 検索ボックスを不倫で上書きして さがすをクリックして このページは表示できませんと出ていることを確認 『よかろう……たやすい願いだ』 まずはライブラリのインストールと初期設定をしてやろう…… # [ライブラリのインストール] # CodeceptJSとPuppeteerをインストールします。nodeとnpmが必要ですので

    我が名は神龍……どんなテストもひとつだけ自動化してやろう - Qiita
    katsuren
    katsuren 2019/02/27