IT技術に関する情報掲載サイト

プログラミングに関することを掲載します。

デバック画面の落とし穴:vscode拡張開発のヒント

vscodeをよくつかっているのですが、かゆいところに手が届く機能がなかなかMarketplaceで見つからないときがあるので、自分でつくってみようかと思いたちました。まずは、プログラムやるときの定番であるHello Worldからやってみました。

基本的な流れは、vscodeのサイトに記載されている内容にそってやればいいのですが、それではうまくいかなかったケースがあったので、それを追記しときます。

code.visualstudio.com

うまくいかなったケースは、デバック画面を立ち上がってコマンドで実行をしようとしたけど、コマンドがみつからないと表示されてしまいました。

やっったのは、

  1. package.jsonのactivationEventsを追加して、npm run compileを実行
  2. vscodeの再起動

です。もし、うまくいかないときに、試してみてください。

これから頑張って色々なvscodeのextensionをつくっていきたいです。

AWS CLIをつかってS3でワイルドカードを使う方法

aws cliを使って、S3のフォルダ名、ファイル名をワイルドカードを使って一気にダウンロードする方法は、以下となります。

aws s3 cp コピー元 コピー先 --recursive --exclude "*" --include "取得した条件"

$aws s3 cp s3://bucket/logs/cloudfront/ . --recursive --exclude "*" --include "*2016-09-24*"

一気にできるので、便利です。

どういった論理でやっているかというと、まず、excludeで全部対象外にして、includeで必要なものだけ抽出するという流れです。

Amazon SageMaker Studio Labにつてい

たまたま、AWSをみたら、機械学習のための開発環境を無料で提供してくれるのをみつけたので、申し込んでみました。機械学習に関しては、まだ、全くわからないですが、開発環境があれば、色々と試すことができますので、メールアドレスだけあれば、申し込むことが可能でした。

※ただ、2024/09/05時点で、すぐに登録が完了するわけではなく、登録完了するまで、少し時間がかかるようです

 

aws.amazon.com

VSCodeのリポジトリ表示トラブル解決方法

VSCodeを使って、PHPのコーディングをしているのですが、たまに、ソース管理のところで、いままで、表示されていたリポジトリが消えてしまうときがありました。いままでは、VSCodeを開き直していたりしたら、表示されたけど、何度も起こるので、開き方を調べてみました。

 

  1. VSCodeのコマンドパレット(Macの場合は、shift + command + p)を開く
  2. open repositoryと入力
  3. 対象のフォルダを選択

これで、ソース管理にリポジトリが表示されます。

一度、覚えてしまえば、簡単なことですが、なかなか覚えられず、すぐに忘れてしまうので、ここに書いといて覚えておこう。

あとは、VSCodeのコマンドパレットの使い方ももう少し勉強しようかな。

Dockerエラー:docker-credential-osxkeychainの実行ファイルが見つからない

Macでdockerでdocker compose buildで構築をし直したさいに以下のエラーがでました。

failed to solve: amazonlinux:2023.2.20231113.0: failed to resolve source metadata for docker.io/library/amazonlinux:2023.2.20231113.0: error getting credentials - err: exec: "docker-credential-osxkeychain": executable file not found in $PATH, out: ``

いろいろなやり方があるみたいですが、

~/.docker/config.json

を削除し、再度、docker compose build を実行したら、構築できました。

多分、以前の設定が残っててエラーとなってしまったのだろうと思います

 

PHPでUndefined array key がでてきた際の対応方法

Undefined array key ってエラーがよく見かけるようになったので、なにかと思ったら、PHP8にバージョンアップすると、特定の配列のキーの値が設定されていないとエラーとなるようになったようです。ただしいことなので、エラーとなるのは、いいことですが、古いプログラムを移行する際とかは手間になってしまう。

当たり前のことなので、わすれてそうなので、メモ程度で記事にしときます。

エラーメッセージは、

Undefined array key 変数名

で、このエラーがでたら、条件くわればいい

if(isset(変数名)){

ってやれば、回避できます。

 

PHPを詳しく勉強するには、やっぱりオライリー・ジャパンのプログラミングPHPが役に立つので、ぜひ読んでみてください

 

 

PHPでif文の条件でエラーになったときの動作について

結構当たり前のことかもしれないけど、結構わすれてしまっていることかもしれないので、メモとして記事にしときます。

 

PHPでif文の条件で、なにかしらのエラーが出た際、Errorだったら、処理は、中断されるそうですが、Warnginだとエラーメッセージはでるけど、TRUEのときとおなじ処理がされるようです。

display_error offとかにしているとエラーメッセージもでてこないので、処理がまちがっているかどうか発見しずらいので、要注意が必要です。