朝倉 卍丸

シングルモルトスコッチなどのお土産を持ってきた人を助けるのが好きです。サービスの分割が重要ですが、昔ながらの方法でやりたいこともありますよね。

変数と関数、ドル記号による呼び出しの違いPHP

PHP

2025/9/22

変数と関数、ドル記号による呼び出しの違い [PHP]

PHPでは一般的に $this->var;のようにプロパティを読み取ることが多いですが、ライブラリなどで$this->$var;のような、ドルマーク(ドル記号)が付いたままの呼び出しや、中括弧付きの呼び出しを見かけます。 $this->var $this->$var $this->{$var} こういった呼び分けを何と言えば良いかわからないため、調べてもなかなか違いが出てきませんが、後者2つの書き方は共通処理などで使えるため、この違いについて説明していきます。 $this-& ...

1行でのif文 三項演算子を使った条件分岐PHP

PHP

2025/9/22

1行でのif文 三項演算子を使った条件分岐 [PHP]

多くの言語で、疑問符 ? は if の置換として使うことが出来、if文の代わりに三項演算子によって評価することが出来ます。 三項演算子でif文を実施したい時に何を求めて調べているかといえば、判定結果の真偽値が右か左かどっちだったかという事なんですが、大体の記事で「ifでかくとこれと同じです」とか回りくどい内容が出てきます。 知りたいのはこれ、左が真、右が偽。ちなみにJavaScriptでも同じです。 (条件式) ? (真式) : (偽式); // (条件式) ? (真式) : (偽式); $magikar ...

Docker iconイメージ

Docker

2025/10/10

Dockerコマンド入門|コンテナ確認からコンテナに入る方法まで

Dockerはアプリケーションを軽量コンテナで動かす技術です。本記事では、**「今どのコンテナが動いているか確認する方法」と「コンテナ内に入って操作する手順」**を初心者でも迷わず実践できるよう解説。docker psでの起動中確認、docker ps -aで全コンテナ確認、docker execでのアクセス方法を丁寧に解説し、トラブル回避策も掲載しています。

Docker Hubにコンテナpushして拒否された時の対応

Docker

2025/9/22

Docker Hubにコンテナpushして拒否された時の対応

ローカルに作成していたDocker imageをDocker Hubにあげたいと思いpushしたところ拒否されました。 $ docker push docker_image:tag_name denied: requested access to the resource is denied denied: requested access to the resource is deniedが表示され、なんでやねんと思いつつも、ドキュメント曰くローカルに作成したimageはプッシュする前にimageにRE ...

Android Studioのアンインストール方法 [MacBook Pro]

Android

2025/9/22

Android Studioのアンインストール方法 [MacBook Pro]

以前使っていたMacBook Proが初期不良品なのか調子が悪く、Android Studioのアンインストールを度々行っていたのですが、 忘れやすいので備忘としてまとめておきます。 下記の対象のファイルとディレクトリを削除すれば綺麗に消えます。 rm -Rf /Applications/Android\ Studio.app rm -Rf ~/Library/Preferences/AndroidStudio* rm ~/Library/Preferences/com.google.android.st ...

セキュリティアップデートによるAndroid非推奨APIの権限変更?!

Android

2025/9/22

セキュリティアップデートによるAndroid非推奨APIの権限変更?!

2020年3月時点でPixelシリーズにアップデートが入りました。 このタイミングで、音量無音化系のアプリで利用されていた非推奨APIが使用できなくなったので、Pixel4に使われているMotion Senseの実装周りの影響を受けたのかというのが初動の読みでした。 しかし何故かPixel3もこのアップデートの影響を受けて無音化系のアプリの一部が機能しなくなっています。 Motion Senseのせいかと思ったのはミスリードで下記のアップデート情報の調査内容とリンクを記載しました。 私も無音化アプリを自作 ...

Javaの正規表現を使用してRFC 5321に準拠したメールアドレスを確認する

Java 正規表現

2025/9/22

Javaの正規表現を使用してRFC 5321に準拠したメールアドレスを確認する

RFC 5321:Simple Mail Transfer Protocol(SMTP)はメールサーバ間におけるメッセージの転送方式を定めた標準仕様です。 https://tools.ietf.org/html/rfc5321 RFC 5321に示されている記述は、ホスト名とIPアドレスの両方に関して考えると、過去であれば適していたと思いますが、現在の各サービスのメールアドレスの利用状況を見ると寛大すぎます。 真面目に書くと非常に長くなりメンテ出来るものではありません。 昔Andoidの内部ソースで使われ ...

RFC 5322に準拠させた正規表現言語別

正規表現

2025/9/22

RFC 5322に準拠させた正規表現 言語別

RFC5322で定義されている正規表現を、各言語の正規表現に変化させた形になります。 完全な電子メール正規表現は存在しないので、結局のところ何かの公式基準に従っていたとしても、自分が携わるサービスのルールによって使用可能文字のトレードオフが必要になるでしょう。 特にJavaは標準ライブラリが何らかの公式に準拠しているので、無理に正規表現を使わずそちらを使った方がいいと海外のナレッジサイトで昔から書かれています。 公式のRFC5322はこちら。 一般的なRFC5322 公式のEmail正規表現 (RFC 5 ...

Java 正規表現

2025/9/22

Javaの正規表現を使用して有効なメールアドレスを確認する

メールアドレス形式の扱いはサービス単位で異なり、定まっていないので、メールアドレスの妥当性を判定する時に正規表現を使うことが多くなると思います。 基本的にはRFC5321かRFC5322、次点でRFC822に準拠したフォーマットが妥当だとは思いますが、すでに取得されているメールアドレスが存在するため、表記はサービス毎に見直し設定していく必要があります。 標準仕様の問題点は、言わずもがな既に世の中で使われているキャリアのメールアドレスに対応できないことです。 メールサーバの仕様や、携帯キャリアの独自ルールを ...

Androidの音量取得と音量設定

Android Java

2025/9/22

Androidの音量取得と音量設定

Androidアプリを触る際にメディアボリュームの現在値が必要だったのですが、音量取得のAPIを調べていると、何故か多くの場合STREAM_ALARM(STREAM_ALARMはアラームです)の取得サンプルが書かれているのですが、大体の場合取得したいのはメディアボリューム(media volume)だと思います。 メディアボリュームはAudioManager.STREAM_MUSICで取得可能です。 AudioManager audioManager = (AudioManager)getSystemSe ...