Webエンジニアのメモ帳

技術的な話を中心に書いています。

【Gmail】beforeとafterで日付を指定してメールを検索する

Gmailでは、検索ウィンドウに以下の文字列を入れてメールの検索が可能です。 after:{日付} before:{日付} 画像は、2024年の3月に届いたメールを検索する例です。 もちろんbeforeのみ、afterのみの利用も可能なので、ぜひ使いこなしてみてください。

【React】勉強の際に参考になった本・記事など

最近Reactの勉強をしていたので、参考になった本やネットの記事などを紹介します。 本 りあクト! booth.pm 全3巻からなる書籍で、社内で評判が良かったので読みました。 最初に読むには少し内容が濃すぎるかもしれませんが、他の本にはないような本質的な解…

【MySQL】実行されたSQLを確認する方法

この記事では、MySQLで実行されたSQLを確認する方法を説明します。 1. 設定ファイルの確認 MySQLの設定ファイルはmy.cnfというファイルです。 通常は/etc/my.cnfか/etc/mysql/my.cnfにありますが、ない場合は以下のコマンドで探します。 sudo find / -name "…

【Laravel】Eloquentで実行されるSQLを確認する方法

short answer 以下のように記述することで、実行されるSQLを確認することができます。 \DB::flushQueryLog(); \DB::enableQueryLog(); // ここにSQLを実行するコードを記述 $queries = \DB::getQueryLog(); \Log::info(print_r($queries, true)); \DB::disab…

【2024年5月 最新版】YouTubeのオススメ欄を非表示にする方法

YouTubeで動画を再生したときに右側に表示される、オススメの動画を非表示にする消す方法を説明します。 1. 「Stylus」のインストール ブラウザに「Stylus」という拡張機能をインストールします。 「Stylus」は、特定のサイトに特定のCSSが上書きで適用され…

【MySQL】JSON形式ではないデータのみを抽出する方法

short answer 以下のSQLで、特定のカラムにJSON以外のデータが入っているレコードを抽出することができます。 SELECT {カラム名} FROM {テーブル名} WHERE NOT JSON_VALID({カラム名}) 解説 JSON_VALIDは、対象のカラムのデータが正しいJSON形式であれば1を…

【Git】git commit --amendを取り消す方法

short answer git commit --amendは、以下で取り消すことができます。 git reset --soft HEAD@{1} 解説 git resetコマンドを使うことで、HEADを移動させることができます。 HEAD@{1}はHEADの1つ前、つまり直前のコミットのことを指します。 また--softオプシ…

【GitHub】特定のコミット間の差分を見る方法

特定のコミット間の差分は以下の方法で見ることができます。 https://github.com/ユーザ名/リポジトリ名/compare/古い方のコミット番号...新しい方のコミット番号

【Laravel】イベントとリスナについて超簡単に解説

Laravelにはイベント・リスナという機能があり、簡潔に書くと以下のようなものです。 app/Providers/EventServiceProviderに以下のように加筆しておく protected $listen = [ 'App\Events\Event' =>[ 'App\Listeners\Lister' ] ]; Eventを以下のような書き方…

【Git】ブランチを作成しようとすると「Can't find node in PATH」のエラー

起きたエラー git checkout -b {ブランチ名}でブランチを作成しようとすると、以下のエラーが出ました。 Can't find node in PATH, trying to find a node binary on your system Couldn't find the Node.js binary. Ensure you have Node.js installed. Ope…

LINEヤフーを退職しました 会社の良かったところ・悪かったところ

このたび、LINEヤフー (旧ヤフー) を退職しました。 この記事では、入社を検討している方に向けて、会社の良かったところ・悪かったところを中心に、内部事情を書いていきます。 なお、LINEヤフーと言いつつヤフー側の情報が多いので、その点はご注意くださ…

【東京ガス】電話番号とオペレーターを呼び出す方法

0570-002239に電話 自動音声が流れたら6を押す 以上でオペレーターを呼び出すことができます。

【Git】ローカルのブランチを全て削除する

git branch | xargs git branch -D こちらのコマンドで、現在選択されているブランチ以外を全て削除できます。 解説 xargsを使うと、パイプで前に繋がれたコマンドの実行結果の各行を引数に取り、指定したコマンドを実行することができます。

【Kotlin】拡張関数で自身を参照する方法 (レシーバ付き関数リテラル)

Kotlinには拡張関数という仕組みがあり、既存のクラスにメソッドを追加することが可能です。 例えば以下コードでは、Int型にsum()メソッドを追加しています。 fun Int.sum(num: Int): Int { return this + num } その結果、以下のような記述が可能になります…

【Kotlin Koans 解説】ジェネリック (Generics)

Kotlin KoansでKotlinを勉強したメモをまとめています。 問題 リンクは以下。 https://play.kotlinlang.org/koans/Generics/Generic%20functions/Task.kt 少し簡略化して説明すると、以下のコードが動くように、リストに入った要素を条件によって2つに分ける…

【Room・SQLite】数字の0埋めでFORMATが使えない場合の対処法

SQLiteのFORMAT関数 SQLiteでは、以下のようにFORMAT関数で0埋めを行うことができます。 SELECT FORMAT(1,'D3') # 001と出力される FORMATはRoomでは使えない しかし、Androidの開発で使われるRoomでは、FORMATを使うことはできません。 使おうとすると、以…

【Android】Roomの@Queryアノテーションで正規表現を利用する方法

例えば以下のようなSQLがあるとします。 SELECT * FROM users WHERE name LIKE "A*" このSQLをRoomで動かす方法をいくつか説明します。 アノテーション内で||で文字列を結合する方法 @Queryアノテーション内では、以下のように||を使って文字列を結合させる…

【Kotlin】カスタムゲッター・カスタムセッターについて

カスタムゲッター 例えば、以下のようなRectangleクラスがあるとします。 class Rectangle(val width: Int, val height: Int) { fun area(): Int = this.width * this.height } このクラスはarea()というメソッドを持っており、実行すると以下のようになりま…

【Kotlin】コマンドラインでの実行方法

例えばSample.ktというクラスを実行する方法は以下です。 kotlinc Sample.kt -include-runtime -d Sample.jar kotlin Sample.jar

【Kotlin】トリプルクォート文字列への変数の埋め込み

Kotlinでトリプルクォート文字列に変数を埋め込む方法は、通常の文字列に埋め込む方法と同じです。 つまり、文字列中に$変数名と書けばOKです。 たとえば、以下のコードを実行すると fun main() { val name = "鈴木" val sentence = """My name is $name""" …

【Room】エラー対応 DELETE query methods must either return void or int (the number of deleted rows).

エラー発生の経緯 Roomを使ったAndroidアプリにおいて、Daoクラスの以下のメソッドをsuspend関数に変更しました。 @Dao interface UserDao { @Query("DELETE FROM user WHERE id = :id") fun deleteById(id: Int) } すると、以下のようなエラーが発生しまし…

【Android Studio】保存時にコードを自動整形する

Android Studioでは、保存時にコードを自動整形することが可能です。 これを設定する方法は以下の通りです。 1. Preferenceを開く 2. Action on Saveを開く ここで、必要な項目にチェックを入れます。 この例だと、コードの整形およびimport文の整理が保存時…

【Android】adbコマンドを使えるよう設定する (zshの場合)

adbコマンドの使い方 adbは以下のディレクトリに存在しています。 /Users/{ユーザー名}/Library/Android/sdk/platform-tools そのため、このディレクトリへのパスを通せばOKです。 zshを使っている場合は、ターミナルから以下の手順を実行すればOKです。 1 .…

【Android】DataBindingを導入しようとして発生したエラーと対処法

発生したエラー DataBindingを導入するためbuild.gradleを修正すると、以下のエラーが発生しました。 could not set unknown property 'enabled' for object of type com.android.build.gradle.internal.dsl.databindingoptions$agpdecorated. 対処法 build.…

【IntelliJ】ジャンプ先から戻る方法

結論 Macの場合は以下のショートカット command + [ 解説 IntelliJでは、commandを押しながらメソッドやフィールドをクリックすると、それを定義しているところに飛ぶことができます。 飛んだ後で元に戻るのが、冒頭に書いたショートカットになります。

【Mac】テキストエディットで行間を広くする

Short Answer Controll + L 解説 Controll・Lの2つのボタンを同時に押すことで、文字サイズを変えることなく行間を広くすることができます。 なかなか調べても情報が出てこないので、備忘録がてらメモしておきます。

【Android】Android Studioで「logcat: Unexpected EOF!」のエラーが出た時の対応

Android Studioで開発をしている際に、急に以下のようなエラーが出るようになりました。 logcat: Unexpected EOF! この解決方法ですが、自分はPCの再起動により直りました。 調べた感じだと、Android Studioの再起動や、再起動させずに直す方法もあるようで…

【Android】SafeArgsをbuild.gradleに追加すると「safeargs plugin must be used with android plugin」のエラーが発生

発生したエラー SafeArgsを使おうと思いbuild.gradleを以下の通り修正しました。 plugins { // 以下を追記 id 'androidx.navigation.safeargs.kotlin' // 以下はすでに記述されている id 'com.android.application' id 'kotlin-android' id 'kotlin-kapt' id…

【Android】Navigationを使った開発で「Unresolved reference: R」というエラーが出る場合の対処法

発生したエラー 自作のAndroidアプリで、Navigationを使った遷移を実装したところ、以下のようなエラーが出るようになりました。 e: {アプリのパス}/app/build/generated/source/navigation-args/debug/{パッケージ名}/fragment/MainFragmentDirections.kt: …

【Android】Navigationを使った開発で、元の画面に戻る

結論 以下で前の画面 (Fragment) に戻れる findNavController().popBackStack() 解説 以下のように画面A・Bの両方から画面Cに遷移でき、画面Cで戻るボタンを押すと前の画面に戻るケースを考えます。 画面A → 画面C 画面B → 画面C このとき、画面AやBからCへ…