タグ

ブックマーク / www.yoheim.net (11)

  • [MySQL] ソートでnullを後ろにする - YoheiM .NET

    こんにちは、@yoheiMuneです。 今日は、MySQLのソートで、null値を後ろにする方法をブログに書きたいと思います。 注意点 今回の内容は、MySQL特有の内容で、他のデータベース製品では対応方法が異なります。 デフォルト挙動では、ソートでnullが先に来る 下記のように、nullについて何も考慮せずorder byを指定すると、nullが先に表示されます。 mysql> SELECT id, display_order -> FROM items -> ORDER BY display_order; +----+---------------+ | id | display_order | +----+---------------+ | 1 | NULL | | 2 | 1 | | 3 | 2 | | 4 | 3 | +----+---------------+ これに対して

    [MySQL] ソートでnullを後ろにする - YoheiM .NET
    kathew
    kathew 2023/03/18
  • cronの日時指定を、基礎から学ぶ(分,時,日,月,曜日の指定、◯分ごと、月末起動、など) - YoheiM .NET

    2019/09/13更新cronの日時指定を、基礎から学ぶ(分,時,日,月,曜日の指定、◯分ごと、月末起動、など) cronの基 cronは「* * * * *」の5箇所を指定して、起動時間を設定します。左から「分」「時」「日」「月」「曜日」を指定します。 # cronの起動時間設定 * * * * * (起動したい処理) | | | | | | | | | |- 曜日 | | | |--- 月 | | |----- 日 | |------- 時 |--------- 分 上記5箇所に値を設定することで、様々なタイミングで処理を起動できます。 起動時間の書き方(基編) ここではまず、基的な時間指定の方法を見ていきたいと思います。 1分毎に起動する すべての箇所に*を指定した場合、1分毎に処理が起動されます。 # 1分毎に起動する * * * * * echo 'hello' 毎時◯分

    cronの日時指定を、基礎から学ぶ(分,時,日,月,曜日の指定、◯分ごと、月末起動、など) - YoheiM .NET
    kathew
    kathew 2022/09/26
  • [JavaScript] 数字を3桁カンマ区切りにする、2つの方法 - YoheiM .NET

    こんにちは、@yoheiMuneです。 数値を3桁カンマ区切りにしたいという要件を、JavaScriptでどのように実現するのかについて、ブログに書きたいと思います。 目次 解決したいこと 「数字は3桁カンマ区切りで表示したいんだよね〜」と言われた時に、サクッと対応できる方法をお伝えしたいと思います。 方法1:toLocaleString()を利用 実装方法 もっとも簡単に対応するなら、toLocaleString()関数を使うと便利です。数値型の変数に利用できます。 var num = 12345; num.toLocaleString(); // "12,345" toLocaleString()はロケール(=言語、国、地域、などを表現する、例:ja)に合わせた数値表現を行うためのメソッドです。ロケールによって表示が異なりますが、日語や英語の場合には3桁カンマ区切りとなります。 ブラ

    [JavaScript] 数字を3桁カンマ区切りにする、2つの方法 - YoheiM .NET
  • [JavaScript] 全角⇔半角の変換を行う(英数字、カタカナ) - YoheiM .NET

    数字、アルファベット、カタカナの全角半角変換は、JavaScriptで簡単に実現できます。今日はその実装方法をブログに書きたいと思います。 目次 全角 → 半角(英数字) function hankaku2Zenkaku(str) { return str.replace(/[A-Za-z0-9]/g, function(s) { return String.fromCharCode(s.charCodeAt(0) - 0xFEE0); }); } // 使用例 hankaku2Zenkaku('123abC'); // '123abC' 文字コード上で、全角英数字から65248引くと半角英数字になります。 また、処理範囲を正規表現で[A-Za-z0-9]と指定していますが、例えば[0-9]とすれば、変換対象を全角数字に限定できます。 半角 → 全角(英数字) function zenka

    [JavaScript] 全角⇔半角の変換を行う(英数字、カタカナ) - YoheiM .NET
  • [フロントエンド] axiosライブラリを使って、柔軟にHTTP通信を行う - YoheiM .NET

    こんにちは、@yoheiMuneです。 大変久しぶりなブログの更新で少しドキドキです。今日はよくお世話になっているaxiosというHTTPクライアントのライブラリの使い方を、ブログに書きたいと思います。 目次 axiosとは axiosは、HTTP通信を簡単に行うことができるJavascriptライブラリです。ブログのタイトルには「フロントエンド」と書きましたが、Node.JSでも利用できます。axiosの特徴して以下のような点が挙げられます。 axiosの特徴 XML HttpReqestを簡単に生成できる Promiseベースである カスタムヘッダーやBasic認証など、いろいろなオプションが手軽にできる インストールは簡単で、npm経由で導入できます。 $ npm install axios それでは、axiosの機能を具体的に見てみたいと思います。 axiosを使う ここからはa

    [フロントエンド] axiosライブラリを使って、柔軟にHTTP通信を行う - YoheiM .NET
    kathew
    kathew 2020/09/20
  • [Laravel] SoftDeleteで、deleted_at以外のカラム名を使う - YoheiM .NET

    こんにちは、@yoheiMuneです。 Laravelの論理削除(SoftDelete)で、削除を表現するカラムをdeleted_at以外にする方法を、ブログに書きたいと思います。 なぜ必要か Laravelで論理削除(SoftDelete)を行うことができますが、デフォルトではカラム名はdeleted_atと決まっています。しかし例えば、Cake3で構築したデータベースを使い、サーバーはLaravelに作り変える場合などには、論理削除のカラム名が違う(deletedなど)ことがあります。 そのような場合に、どうやってdeleted_at以外のカラム名を指定するのかについて調べて実装したので、ブログにも残したい次第です。 論理削除で使うカラム名に任意の名前をつける 論理削除用のカラムを指定するためには、DELETED_ATという変数名を利用します。 例えばUserモデルであれば、以下のよう

    [Laravel] SoftDeleteで、deleted_at以外のカラム名を使う - YoheiM .NET
  • [PHP] Laravelのマイグレーションで、テーブルを新規作成する - YoheiM .NET

    こんにちは、@yoheiMuneです。 マイグレーション機能があるとデータベースの管理が簡単にできて便利です。Laravelのマイグレーション機能を用いて、DBテーブルの新規作成する方法をブログに書きたいと思います。 目次 対象バージョン Laravelの5.6を対象としていますが、5系なら同じと思います。違う部分は適宜読み替えを御願いします。 マイグレーション機能とは テーブル作成やカラム追加などのデータベースへの変更を管理する機能です。Laravelの場合には、変更内容を記載したマイグレーションファイルを作成し(変更ごとに1つずつ作成する)、それをArtisanコマンドで実行します。 マイグレーション機能が便利な点として、Create文などのSQLそのものを書く必要がないこと、複数のデータベースに同じ記述で対応できること、ロールバックもコマンド1つでできること、PHPUnitテストなど

    [PHP] Laravelのマイグレーションで、テーブルを新規作成する - YoheiM .NET
  • [PHP] Laravel5.6で、サクッとRESTful APIを作成する - YoheiM .NET

    こんにちは、@yoheiMuneです。 PHPのWebフレームワークの1つであるLaravelでは、簡単にRESTfulAPIを作ることができます。今日はその作り方をブログに書きたいと思います。 目次 対象バージョン 今回はLaravelのv5.6以上を対象としています。以前のバージョンでもだいたい同じですが、一部コマンドが違うところもあるので、適宜読替えをお願いします。 RESTfulAPIとは データベースに格納している1つ1つのモデルに対して、CRUD(Create / Read / Update / Delete)を提供する設計思想です。例えばユーザーテーブル(User)があったとして、それに対して以下のようなAPIを作成します。 # 一覧取得 GET /api/users # IDを指定して1つ取得 GET /api/users/{id} # 新規作成 POST /api/use

    [PHP] Laravel5.6で、サクッとRESTful APIを作成する - YoheiM .NET
  • [Laravel] Uniqueバリデーションで、論理削除を考慮するなど、条件をカスタマイズしたい - YoheiM .NET

    こんにちは、@yoheiMuneです。 Laravelのバリデーションはそれだけで非常に強力ですが、ドキュメントには記載のない、拡張ポイントがあります。今日はUniqueバリデーションについて、拡張できるポイントをブログに書きたいと思います。 目次 何がしたいのか Laravelのバリデーションの一つUniqueチェックを用いると、データベースのテーブルの指定したカラムで、値がユニークであるか(一意であるか)をチェックできます。例えば以下のように実装します。 $request->validate([ // usersテーブルのemailカラムで一意チェック. 'email' => 'unique:users' ]); また、テーブルのどのカラムを用いて検査するのか、明示的に指定することもできます。 $request->validate([ // usersテーブルの「mail_addres

    [Laravel] Uniqueバリデーションで、論理削除を考慮するなど、条件をカスタマイズしたい - YoheiM .NET
  • [Web] Webページ上でオンライン/オフライン状態を知る、ネットワークの変化に気付く - YoheiM .NET

    こんにちは、@yoheiMuneです。 最近知った驚いた機能で、なんとJavaScriptでネットワーク状態を把握する機能があります。 今日はその紹介をブログを書きたいと思います。 現在のネットワーク状態をJavaScriptで知る なんと、以下の1行で現在のネットワーク状態が、オンラインかオフラインかを知ることが出来ます。 var isOnline = navigator.onLine; こんな簡単にできる事を知ってビックリしました。onLineプロパティを使えるか否かも考慮して、以下のようなコードを書くと、 現在のネットワーク状態を知ることが出来ます。 if (navigator.onLine === true) { alert("current network status is online"); } else if (navigator.onLine === false) { a

    [Web] Webページ上でオンライン/オフライン状態を知る、ネットワークの変化に気付く - YoheiM .NET
  • [PHP] ログ出力等する際に、日付文字列をミリ秒まで表示する方法 - YoheiM .NET

    こんにちは、@yoheiMuneです。 日はPHPネタで、ログファイルなどに出力する場合に時間をミリ秒まで出したい!、そんな時に役立つ実装方法をブログに書きたいと思います。 何が問題なのか PHPではdate関数を使うことで、現在時刻を取得することができ、文字列としても出力することができます。 date_default_timezone_set('Asia/Tokyo'); echo date("Y-m-d H:i:s"); # => 2016-04-12 09:45:31 多くの場合はこれで十分なのですが、ミリ秒まで必要な場合に、この方法では出力することができません。 # 日付フォーマットとしてマイクロ秒を表す「u」があるが、必ずゼロ echo date("Y-m-d H:i:s.u"); # => 2016-04-12 09:45:31.000000 # Datetimeでもダメです

    [PHP] ログ出力等する際に、日付文字列をミリ秒まで表示する方法 - YoheiM .NET
  • 1