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

  • 【動画付き】 draw.io 使い方まとめ 〜エンジニアでなくても使えるTips集〜 - Qiita

    draw.io はブラウザを使用してフローチャート、プロセス図、組織図、UML 図、ER モデル、ネットワーク図などを作成できる優れたツールです。作成した図は xml ファイルとして保存でき、GitHub との連携もシームレスに行われます。3 年ほど愛用しているツールですが、隠された使い方がたくさんあります。すぐに忘れてしまうので取りまとめておきます。 「こんな使い方あるよ!オススメだよ!!」という方はぜひ編集リクエストをいただければ追記していく予定です 😊 ※ 主に参照している文献は以下、公式ブログは非常に分かりやすいのでオススメです。 ツイッター公式アカウント 公式ブログ ショートカット ショートカット集です。机の上に置いて覚えましょう。 Line / 線 まずは最も頻繁に使う Line(線)の使い方からご紹介します。 矢印をまっすぐに揃える ちまちまと矢印の線をドラッグして微調整し

    【動画付き】 draw.io 使い方まとめ 〜エンジニアでなくても使えるTips集〜 - Qiita
    Amigomr
    Amigomr 2020/02/12
    draw.ioのショートカット知らなかった
  • Laravel tymon/jwt-auth のブラックリストをデータベースに保存する - Qiita

    Laravel/Lumen 用の JWT 認証パッケージである tymon/jwt-auth では、発行した有効なトークンを保持するのではなく、ログアウトしたりリフレッシュされた古いトークンをブラックリストという形で保存しておく。デフォルトではキャッシュに保存されるので、Redis などで共有していないとスケールアウトできない。ということで、データベースに保存してみる。 環境 Laravel 6.0 tymon/jwt-auth 1.0.0-rc.5 手順 テーブル jwt_auth_storage を作成 database/migrations 配下に定義してマイグレーションする。 <?php use Illuminate\Database\Migrations\Migration; use Illuminate\Database\Schema\Blueprint; use Illumi

    Laravel tymon/jwt-auth のブラックリストをデータベースに保存する - Qiita
    Amigomr
    Amigomr 2020/02/09
  • 【Laravel5】FormRequestのバリデーション結果をJSON APIで返す - Qiita

    <?php namespace App\Http\Controllers\Api; use App\Http\Controllers\Controller; use Illuminate\Http\Request; use App\Http\Requests\StoreUserRequest; use App\Http\Resources\UserResource; use App\User; class UsersController extends Controller { /** * 会員追加 * * @param StoreUserRequest $request * @return User */ public function store( StoreUserRequest $request ) { return User::create( $request->only( ['

    【Laravel5】FormRequestのバリデーション結果をJSON APIで返す - Qiita
    Amigomr
    Amigomr 2020/02/04
  • エラー画面やAPIエラーから独自エラーまで! フローチャートでちゃんと理解するLaravelの例外処理とケーススタディ - Qiita

    TL;DR Laravel 5.5 ベース(Laravel 5.7 まで対応) フローチャートでおおまかな処理の流れと、どこでどんなことをするのかを解説します それを踏まえて「こんな時はこうする」というケーススタディを紹介 中小規模のプロジェクトにはそのままコピペで使ってもらえるベストプラクティス的なものを目指しています 実際にこれをベースにしたものが中規模業務アプリに実装されています バリデータ編もあります。 → フロー図で理解するLaravelバリデータの仕組みと、チーム開発でのケーススタディ 動機 個人的にエラー処理の仕組みを理解するために書いたチャートです 自分で勉強しようとしたとき、Laravelのエラー処理に関する記事はたくさんありますが、包括的に全部書いた記事が意外とないなーと思った 無いなら書かないと……(穴埋め係根性) 1. Laravel エラーハンドリングの仕組み 全

    エラー画面やAPIエラーから独自エラーまで! フローチャートでちゃんと理解するLaravelの例外処理とケーススタディ - Qiita
    Amigomr
    Amigomr 2020/02/04
  • [Laravel]Laravelで別々のDB(MySQL)に接続させる方法 - Qiita

    経緯 MySQLで部分的に外部DBに接続する必要に迫られたので調査して実践。 config/database.php 外部DBの接続情報を追加します デフォルトで接続するDBを見直します。(デフォルト接続先の名前を変更する場合) まずはデフォルトの状態(MySQL部分のみ抜粋) 'default' => 'mysql', 'connections' => [ 'mysql' => [ 'driver' => 'mysql', 'host' => env('DB_HOST', 'localhost'), 'database' => env('DB_DATABASE', 'forge'), 'username' => env('DB_USERNAME', 'forge'), 'password' => env('DB_PASSWORD', ''), 'charset' => 'utf8', '

    [Laravel]Laravelで別々のDB(MySQL)に接続させる方法 - Qiita
    Amigomr
    Amigomr 2020/02/04
  • お前らがModelと呼ぶアレをなんと呼ぶべきか。近辺の用語(EntityとかVOとかDTOとか)について整理しつつ考える - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? みなさんは、Modelと言われたときに何をイメージしますか? こんなアレを思い浮かべた方も多いかと思います。 マサカらせてください。やはりお前らのModelは間違っている。 アレをModelと呼ぶと何が不味いのか すみません、早速言い過ぎました。半分は正しいです。MVCの発明者、Trygve Reenskaug氏による1979年の説明によると、 Models represent knowledge. A model could be a single object (rather uninteresting), or it could

    お前らがModelと呼ぶアレをなんと呼ぶべきか。近辺の用語(EntityとかVOとかDTOとか)について整理しつつ考える - Qiita
    Amigomr
    Amigomr 2020/02/04
  • Web API: The Good Partsを読んだので「レスポンスデータの設計」についてまとめた - Qiita

    はじめに APIの勉強のために、Web API: The Good Partsを読みました。平易な日語で書いてあるので、読みやすかったです。 とはいえ、何度もを読み返すのは大変なので、自分用まとめも兼ねて書こうと思った次第です。 1個1個まとめていくと結構な量があるので今回は「レスポンスデータの設計」についてまとめました。 でいうと3章に書いてあります。 この記事も参考に Web API: The Good Partsの他のまとめ記事もここに載せておきます。 2.2: Web API: The Good Partsを読んだので「良いURI」についてまとめた 2.6: Web API: The Good Partsを読んだので「OAuthの仕組み」についてまとめた 4章: Web API: The Good Partsを読んだので「HTTPの仕様」についてまとめた 5章: Web AP

    Web API: The Good Partsを読んだので「レスポンスデータの設計」についてまとめた - Qiita
    Amigomr
    Amigomr 2020/02/03
  • WebAPIでエラーをどう表現すべき?15のサービスを調査してみた - Qiita

    2017-01-05 追記 2016年3月にエラーの標準形式RFC7807「Problem Details for HTTP APIs」が提案され、今日現在proposed standard(標準化への提唱)となっています。こちらも是非ご覧ください。 RFC 7807 - Problem Details for HTTP APIs HTTP APIの詳細なエラー情報をレスポンスに持たせるための仕様 最近はREST APIを提供しているサービスが増えてきていますね!また公開されるAPIだけでなく、Microservicesなアーキテクチャを採用して、バックエンドがWeb APIで通信するケースも増えてきているように思います。 APIを使うときはあまり気にしたこともなかったですが、いざAPIを設計してみるとどんなインターフェイスがいいのか、どんな形式がいいのかといった疑問が次々と出てきます。

    WebAPIでエラーをどう表現すべき?15のサービスを調査してみた - Qiita
    Amigomr
    Amigomr 2020/02/03
  • トランザクションのネストの使い方まとめた(初心者向け) - Qiita

    トランザクションのネストについてまとめてみました どう記述したらネストができるの? ロールバックした時の挙動は? などなどまとめてみました 自分がよく使うMySQLRails(ActiveRecord)について記載します。他のDBやフレームワークでは多分話が変わりますのでご注意ください 前提 ネストしたトランザクションの挙動 ネストしたトランザクションって、正確な挙動がこうあるべきという決まりがあるのかどうかは筆者はよく知りません ここでは、以下のような挙動を満たすことを目的にします トランザクションの内部に、もう一つトランザクションを貼る 内側のトランザクションがロールバックした場合、外側のトランザクションには影響を与えない 外側のトランザクションがロールバックした場合、内側のトランザクションもロールバックする 内側だけコミットされてしまうと、外側のトランザクションから見ると一貫性が破

    トランザクションのネストの使い方まとめた(初心者向け) - Qiita
    Amigomr
    Amigomr 2020/02/01
    いわゆる「トランザクションのネスト」に関するわかりやすい記事。
  • このPHPがテンプレートエンジンのくせに慎重すぎる (前篇) - Qiita

    この記事ではPackagistで公開可能な形式のPHPのライブラリ(Composerパッケージ)を公開するための道具立てを紹介します。あと、現代のPHPerはツールを組み合せてさくっと開発しているんだという自慢です。 タイトルは「この TypeScript が Hello, world! のくせに慎重すぎる」と「この勇者が俺TUEEEくせに慎重すぎる」のぱくr… パロディです。 テンプレートエンジンのくせに型安全なんてなまいきな。 この記事の読みかた せっかくなので手を動かしながら自分でComposerパッケージを作成してみましょう。 今回の題材は「Hello worldを出力する」という革新的機能を提供する、とても画期的な実用ライブラリです。 記事名通り「慎重すぎる」ので、細かく刻んでGitで経過を保存しながら作業を進めていましょう。なんかよくわからない状態になったらgit reset

    このPHPがテンプレートエンジンのくせに慎重すぎる (前篇) - Qiita
  • デバッグって何をすればいいのか?を考える - Qiita

    はじめに Wikipediaより デバッグ(debug)とは、コンピュータプログラムや電気機器中のバグ・欠陥を発見および修正し、動作を仕様通りのものとするための作業である。 開発をする際に一番苦労することは何か?一番感じるのは、デバッグ、特にバグ調査なのかなと感じています。 結構経験の長い短い関係なく、一つのやり方しか知らずに手詰まりになる方のことをよく見聞きします。 なので、今回はデバッグ(主に調査部分)について、何をすればいいのかについて言語化していこうと思います。 どんなツールを使うか?みたいなテクニックの話よりも、どういった考え方でアプローチしていくか?といった広い観点でデバッグについて記載していますので、ご了承ください。 デバッグのその前に なんのために調査をするのか? デバッグをする目的は、今発生しているバグの原因を特定して修正すること。そのために自分がどの立場でデバッグしてい

    デバッグって何をすればいいのか?を考える - Qiita
    Amigomr
    Amigomr 2020/01/25
    これはいい。
  • 良いコードの書き方 - Qiita

    概要 チームによる継続的開発を前提としたコーディングのガイドライン。 特定の言語を対象としたものではないが、主に静的型付けのオブジェクト指向言語を想定している。 サンプルコードは別段の定めがなければSwiftで記載。 ガイドラインの目的 生産性を高め、メンテナンスコストを下げる バグが生まれづらくする 開発メンバー(特に新規参加者)がコードを理解しやすくする 初心者プログラマー教育 内容の説明 タイトルの頭についた【数字】は重要度。 高いほどシステムに与える影響が大きいが、低いものの方が影響が小さく改修しやすいものが多い。 【5】変数のスコープを小さくする 変わり得る値は複雑さを生み誤解やバグに繋がるため、プログラムは変数が少ないほど問題が生まれづらい。 プログラミングの大原則として、変数は必要最低限を心がけ、むやみに増やさないようにする。 また、変数はスコープや寿命が大きいほど悪影響が

    良いコードの書き方 - Qiita
  • 再帰 - Qiita

    Register as a new user and use Qiita more conveniently You get articles that match your needsYou can efficiently read back useful informationYou can use dark themeWhat you can do with signing up

    再帰 - Qiita
    Amigomr
    Amigomr 2020/01/21
    踏んで悔しい(こういう使い方してほしくないとか、また炎上しそう...)
  • Dockerで環境構築するための最低限のコマンドを一通り実践する - Qiita

    はじめに この記事は、Docker入門シリーズ記事3の2目です。 Dockerで環境構築するための最低限の概念理解 Dockerで環境構築するための最低限のコマンドを一通り実践する 【Docker Compose】設定内容を1行ずつ理解しながらLaravel環境構築(PHP-FPMNginxMySQL、Redis) また、WindowsDockerを利用する際の重要な設定に関する記事もありますのでこちらもご確認ください。 WindowsDockerを使う時、正しくファイル配置しないと激重になるので注意 前回紹介したこのDocker環境構築フロー図にある操作を 実際に一通りやってみます。 この先で環境構築手順を1つ1つ解説しながら進めますが、 今自分がこの図のどの作業をしているのか を常に意識していると迷子にならないと思います。 構築するコンテナ 今回は、Apacheコンテナを構

    Dockerで環境構築するための最低限のコマンドを一通り実践する - Qiita
  • Docker入門:Docker概要,基本操作,マウント,Dockerfile,マルチステージビルド - Qiita

    最近ちょっとDockerを入門しました。 アウトプットも兼ねて、ハンズオンっぽくまとめてみたので公開したいと思います。 まだ「Dockerを触ったことない」という方の入門に使って頂けたら幸いです。 ※出力結果のすべては記載できていません。(ハンズオンで一緒に操作して確認しながら進める想定だったため) 目次 事前準備(環境構築) Docker概要 ハンズオン1:基操作 ハンズオン2:マウント ハンズオン3:Dockerfile ハンズオン4:マルチステージビルド おわり 事前準備(環境構築) 公式ドキュメントなど参考に構築してください。 Docker Documentation - Get started with Docker Docker Hubアカウントをお持ちであれば、Play with Dockerが便利です。 インストールなしでDockerを試すことができます。Login、St

    Docker入門:Docker概要,基本操作,マウント,Dockerfile,マルチステージビルド - Qiita
  • Laragonで簡単に開発環境を構築する - Qiita

    皆さん、学習するとき、開発をするとき、ローカルで確認を行うときの環境構築はどうされていますか? 恐らくMacを所有している方が多くDockerを使われている方が多いと思います。 自分が現在、所有しているはHPのSPECTRE X360 13、Windows 10 Homeです。Windows 10 Homeなのです。 ラップトップと言っても非力というほどではありませんがVagrantを立ち上げている間、かなりファンが回り気になります。 それに決して速いとは言えません。さらに現時点ではまだWSL2Docker for WSLは正式リリースされていません。 ではどうするか? https://laragon.org/ Laragonです。 Windows向けのAMP環境構築ソフトで PHP、Node.js、PythonJavaGoRubyをサポートし、 ApacheとNginxのどちらを

    Laragonで簡単に開発環境を構築する - Qiita
    Amigomr
    Amigomr 2020/01/13
    "Lara"だけどLaravelとは関係ない模様。Windowsユーザなら使ってみる価値ありかも。
  • LaravelをPHPUnitとPostman でテストする手法まとめ(Passport にも対応) - Qiita

    Laravel で開発されているプロダクトにおいてテストコードを書く方法を、 PHPUnit および Postman を主体にしてまとめます。 テスト作成の背景 弊社(株式会社 NoSchool)では、Web フロントエンドに Nuxt を利用しており、また、iOS ネイティブアプリも開発しているため、Laravel を原則 API ベースで開発することが多いです。 API のテストを作成することは、バグのリスクを低減したり、アプリエンジニアとの仕様の共有のために必須となります。2020 年 1 月現在 NoSchool では PHPUnit および Postman を利用していますので、ドキュメントを兼ねてまとめました。 この記事を読むとわかること PHPUnit を使って API 単位でのテストを書く方法 PHPUnit を使って Class 単位での単体テストを書く方法 Postma

    LaravelをPHPUnitとPostman でテストする手法まとめ(Passport にも対応) - Qiita
    Amigomr
    Amigomr 2020/01/11
    [PHPUnit]
  • 【Laravel】ルーティングをしているはずが404エラー? - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

    【Laravel】ルーティングをしているはずが404エラー? - Qiita
    Amigomr
    Amigomr 2020/01/02
    LaravelでAPIのルーティング設定してるのに404になった。確認したらAllowOverride Allが漏れていた...
  • 平成のうちにやめたかった『ITの7つの無意味な習慣』 - Qiita

    2019年の今年は「令和元年」であるわけだが、年初はまだ「平成31年」だったので、ギリギリまだ平成ともいえる。ところで、ITの世界にもいろいろな都市伝説や根拠は薄いけれどもかっちり守られているしきたり/習慣があり、少なくとも今の世界では通用しないため当は改善したほうがいいのだが業界的にずるずるといってしまっていることが色々と存在する。年末の今、平成を思い返したときに元IT企業に勤めていた人間として「この習慣は平成のうちに終わらせておかねばならなかっただろうに!」と悔やまれることを7つ挙げてみた。 ※ちなみに、諸君のまわりでこれらをすべてやめられている人がいたならば当に神である、というのが残念ながら今の現状だ。 【7位】 2要素認証でない「2段階認証」 これは令和元年にセブンペイサービスの停止でだいぶ話題になったので、認識されている諸君も多いかもしれない。話題になったのは大手企業のサービ

    平成のうちにやめたかった『ITの7つの無意味な習慣』 - Qiita
    Amigomr
    Amigomr 2020/01/02
    どうしてこうなったかと言えば、企業文化が昭和のままだからなんじゃないかと思わなくもない。
  • Vagrantの共有フォルダ設定時にエラーが出た時の対処(CentOS/7,v1611.01) - Qiita

    Qiita初投稿です。Vagrantfileで共有フォルダを設定したらエラーが出て止まったので、その時の原因と対処法を残しておきます。 環境 vagrant boxの種類。(Vagrantfileの設定)。さくらVPSも使用しているのでそちらのCentOS7のバージョンと合わせています。 vagrantのバージョン:1.9.7 config.vm.box = "centos/7" config.vm.box_version = "1611.01" 共有フォルダ設定で次の一文を記載すると下記のエラーが発生 Vagrant was unable to mount VirtualBox shared folders. This is usually because the filesystem "vboxsf" is not available. This filesystem is made

    Vagrantの共有フォルダ設定時にエラーが出た時の対処(CentOS/7,v1611.01) - Qiita
    Amigomr
    Amigomr 2019/12/22
    "No guest additions were detected on the base box for this VM!" まさにこれだった。