Webエンジニアのメモ帳

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

【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ヤフー 退職エントリ】会社の良かったところ・悪かったところ

2024年の頭に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】テキストエディットで行間を広くする

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

【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へ…

【GitHub】画像をサイズを指定して貼り付ける方法

以下のように画像のURLと幅を指定する。 <img src="{画像のURL}" width="{サイズ}"> <img src="https://cdn.profile-image.st-hatena.com/users/itechblog/profile.png?1664679531" width="300">

CentOSにPythonをバージョン指定でインストールする方法

例えばpython3.8をインストールする場合は以下のコマンドで可能です。 yum install -y rh-python38 which scl enable rh-python38 bash これ以外のバージョンをインストールしたい場合、コマンド中の「38」の部分を別の数字に置き換えればOKです。

【Git】git stashした結果を元に戻す

git stash pop でgit stashした結果を元に戻すことができます。

Javaのテストで「Test events were not received」が発生した場合の対処法

JavaやKotlinのテストで「@Test」アノテーションを付けたテストメソッドを実装しているにも関わらず、「Test events were not received」という内容のエラーが発生することがある。 この場合は、以下の通りimport文を修正すれば良い。 ・誤 import org.junit…

Kotlinのテストで「lateinit property 〇〇 has not been initialized」のエラーが出た場合の対処法

Kotlinのテストで「lateinit property 〇〇 has not been initialized」のエラーが出た。〇〇は「@MockK」アノテーションによりモック化しているクラス。 この場合には、以下のメソッドを追加することでエラーが解消される。 @Before fun setUp() { MockKAnn…

【Git】リモートのブランチ名を変更する方法

間違ったブランチ名でpushしてしまった場合、以下のコマンドで修正できます。 # ローカルでブランチ名を修正 git branch -m {誤} {正} # 正しいブランチ名でpush git push --set-upstream origin {正} 間違った名前のリモートブランチは、GitHub上の操作で消…

labolaで天気予報の広告を消す方法

labolaというフットサルやサッカーの参加者を募っているサイトがあるのですが、ある時期から天気予報の広告が入るようになりました。 しかも、かなり邪魔な位置に表示されます。 この記事では、この広告を消す方法を説明します。 1. 「Stylus」のインストー…