技術メモ

【curl】パラメータをPOSTして、その結果をファイル出力する

コマンド

curl -o output.txt -w "ステータスコード:%%{http_code}\r\n" -X POST -F "param1=aaaa" -F "param2=bbbb" http://localhost/hoge

コマンド実行結果

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  6691  100  6333  100   358   6333    358  0:00:01 --:--:--  0:00:01 30552
ステータスコード:200

あと、-oで指定したファイルがカレントディレクトリに出力される。

 

補足

  • 「-w “ステータスコード:%%{http_code}\r\n”」は記載しなくても大丈夫です。省略すると、実行結果の「ステータスコード:200」の部分は表示されない。
  • 実行結果のCurrentSpeedなどの情報が不要であれば「-s」を付ければ、非表示になる。

【Android Studio】ApkProvisionException: Error loading build artifacts from:~エラーが発生する

事象

作成したアプリを起動させようと、再生ボタン(Run ‘app’)をクリックしても、すぐに再生ボタンのマークに戻ってしまう。

コンソール出力を見ると、以下のように記載されていた。

Unable to determine application id: com.android.tools.idea.run.ApkProvisionException: Error loading build artifacts from: C:\temp\xxxxx\app\build\outputs\apk\debug\output-metadata.json

原因不明のため、Android StudioのメニューのFile→Invalidate Caches / Restartをクリック。以下のメッセージが表示されるので「Invalidate and Restart」をクリック。※Android Studioが再起動されます!

再起動後、普通にアプリが起動するようになった。

Eclipseの時もクリーンを使うタイミングが何度かあったので、こうなったときは何も考えずに「Invalidate Caches / Restart」すればいいかな。。。

 

 

【Teams】チャネルのメールアドレスを取得できない

Teamsで新しくチームを作成し、一般チャネルの・・・メニューから「メールアドレスを取得」をクリックすると、「現在チームを設定中です。後ほどもう一度お試しください。」と表示された。

作成したばかりだったので、数日待って試してみたが結果は変わらず。

その後、一般チャネルの「ファイル」タブを開くとエラーが出ることに気付いた。その横の「Wiki」をクリックしたところ、新しいページが作成された。

この状態で、再度「メールアドレスを取得」をクリックすると、今度はメールアドレスが取得できた。。。

 

尚、この取得したメールアドレスにメールを送信すると、その内容がチャネルに投稿される。

【Windows11】ファイルの削除などの右クリックメニューが変わった

※Windows11正式リリース前のバージョンで確認しています(2021/08/21時点)

Windows10と異なり、ファイルを右クリックしてもすべてのメニューが表示されなくなった。

すべてのメニューを表示したい場合は、右クリックすると表示される一覧の一番最後の「その他のオプションを表示」をクリックすればWindows10と同様のメニューが表示される。

削除などの場合は、上部に並んでいるアイコンからもできる(左から、切り取り、コピー、名前の変更、共有、削除)

 

 

【C#】.NET Framework4.8から.NET 5へ移行(Windowsフォーム)

手順

  1. Visual Studio 2019インストール
  2. slnファイルが存在するフォルダをWindowsエクスプローラで開く
  3. Windowsエクスプローラのアドレスバーにcmdと入力してEnterキー押下
  4. try-convert -w hoge.sln と入力してEnterキー押下
  5. 以下のメッセージが表示されればコンバートは完了
    C:\~\hoge.csproj contains an App.config file. App.config is replaced by appsettings.json in .NET Core. You will need to delete App.config and migrate to appsettings.json if it’s applicable to your project.
    Conversion complete!
  6. App.configは不要とのことなので削除。hoge.csproj.oldファイルが作成されていたのでそれも削除した。
  7. hoge.slnをダブルクリックしてVisual Studioを起動。F5キー押下でアプリが起動できることを確認。
  8. このままだと何故かWindowsフォームのデザイナが表示されないため、プロジェクトの新しい項目の追加から、「フォーム(Windowsフォーム)」を追加する。
    少し待つと、元々あったフォームがデザイナ表示できるようになる。この状態になれば追加したフォームは削除してOK。移行完了!

 

感想

コンバートツールを利用するだけで.NET 5に移行できたが、これまでの.NET Frameworkのバージョンを上げるような手軽さではなく、完全な互換性もなさそうなので、移行する際には十分な検証が必要になるはず。

特に今回は小規模なプロジェクトで試したが、より複雑なものであれば失敗するかもしれない。
.NET Framework から .NET への移植の概要に移行できないパターンも記載されているのでそちらも参照のこと。

【C#】【WooCommerceNET】woocommerce_rest_cannot_viewエラーが発生する

環境

  • WordPress 5.7.2
  • WooCommerce 5.5.1
  • WooCommerceNET 0.8.3
  • Visual Studio 2019 C#

エラー内容

{
  "code": "woocommerce_rest_cannot_view",
  "message": "リソースをリストすることはできません。",
  "data": {
    "status": 401
  }
}

対処

new RestAPI()の第4引数にfalseを指定したところ、エラーが発生しなくなった。

以前は未指定(デフォルトのtrue)で問題なく使えていたので原因不明。
ここにたどり着くまでに時間がかかったのでメモとして残しておく。

【Android Studio】Failed to install the following Android SDK packages as some licences have not been accepted.エラーが発生する

Android Studio4.1.1を利用していたが、別PCに4.2.1を構築し、以前作成したソースを持ってきて実行しようとしたところ、以下のエラーが発生した

Failed to install the following Android SDK packages as some licences have not been accepted.
   build-tools;30.0.2 Android SDK Build-Tools 30.0.2
To build this project, accept the SDK license agreements and install the missing components using the Android Studio SDK Manager.
Alternatively, to transfer the license agreements from one workstation to another, see http://d.android.com/r/studio-ui/export-licenses.html

「licences have not been accepted」とあるので、調べたところ「sdkmanager –licenses」を実行すれば良いとあったが、効果が無かった。

原因が分からなかったが、4.2.1で新規に作成したソースだと動作しているため差を確認したところ、build.gradleのbuildToolsVersionが30.0.3となっていたため、ここを同じように30.0.2から30.0.3に書き換えることで動作した!