Software

最新コメント

Stimulusの記事の情報が集まるTopic

wakairo @wakairo

公式ドキュメント(英語)

公式情報がしっかりしているので、まず読むならこれら公式情報でしょうが、英語なのが日本人にはちょっと大変。

0
Raw
https://www.techtips.page/ja/comments/205
😄8

AWS Amplifyを使ったSlackbotの開発

YamaKawa @YamaKawa
最終更新

※書き途中の内容です。

問題

Amplifyで作成したプロジェクトでamplify pushを使ってデプロイしたLambdaを実行すると[ERROR] Runtime.ImportModuleError: Unable to import module 'index': urllib3 v2.0 only supports OpenSSL 1.1.1+, currently the 'ssl' module is compiled with 'OpenSSL 1.0.2k-fipsというエラーが発生する。

そもそも実現したいこと

LambdaでLangChainを使ってPineconeからフロントで入力された質問に対する回答をフロントに返したい。

行った手順

amplify pushでLambdaをデプロイしたところ、[ERROR] Runtime.ImportModuleError: Unable to import module 'index': urllib3 v2.0 only supports OpenSSL 1.1.1+, currently the 'ssl' module is compiled with 'OpenSSL 1.0.2k-fipsというエラーが発生

解決策

OpenSSLのバージョンを1.1.1+に変更

次に発生したエラー

[ERROR] Runtime.ImportModuleError: Unable to import module 'index': urllib3 v2.0 only supports OpenSSL 1.1.1+, currently the 'ssl' module is compiled with 'OpenSSL 1.0.2k-fips

→ pip install urllib3で解決


次に発生したエラー

[ERROR] Runtime.ImportModuleError: Unable to import module ‘index’:
IMPORTANT: PLEASE READ THIS FOR ADVICE ON HOW TO SOLVE THIS ISSUE!
Importing the numpy C-extensions failed. This error can happen for
many reasons, often due to issues with your setup or how NumPy was
installed.
We have compiled some common reasons and troubleshooting tips at:
    https://numpy.org/devdocs/user/troubleshooting-importerror.html
Please note and check the following:
  * The Python version is: Python3.8 from “/var/lang/bin/python3.8”
  * The NumPy version is: “1.24.4"
and make sure that they are the versions you expect.
Please carefully study the documentation linked above for further help.
Original error was: No module named ‘numpy.core._multiarray_umath’
Traceback (most recent call last):

→ 多分NumPyは1.24.4を入れて解決

別に発生したエラー

The following resources failed to deploy:
Resource Name: LambdaFunction (AWS::Lambda::Function)
Event Type: update
Reason: Resource handler returned message: "Unzipped size must be smaller than 135390475 bytes (Service: Lambda, Status Code: 400, Request ID: a3b51e9a-4734-435e-a001-2c7ce1301ee7)" (RequestToken: 92a2a218-8b38-6b12-baff-133e7d710537, HandlerErrorCode: InvalidRequest)
URL: https://console.aws.amazon.com/cloudformation/home?region=ap-northeast-1#/stacks/arn%3Aaws%3Acloudformation%3Aap-northeast-1%3A237156174022%3Astack%2Famplify-slackbottesttwo-dev-162215-functionslackLangchainResponder-1PUTGEZ3KV53F%2F6707b020-344c-11ee-a124-0e162f03cf95/events

→以下の手順で解決

  1. pipenvでインストールしたパッケージを記録
  2. pipenvでインストールしたパッケージをアンインストール
  3. 1.で記録したパッケージを元にLambdaレイヤー作成

■レイヤーの作り方

  1. Lambdaで「レイヤー」選択
  2. レイヤーの作成
  3. 対象zipアップロード
  4. x84_64選択
  5. ランタイム:python3.8選択
  6. 対象関数で「レイヤーの追加」ボタン押下
  7. カスタムレイヤーで作ったレイヤー選択
0
Raw
https://www.techtips.page/ja/comments/203
😄1

UniGetUI(旧WingetUI)のインストール

wakairo @wakairo
最終更新

(注)この問題は最新バージョンでは起きなくなったはずです

WingetUIをwinget経由でインストールしたところ、「CONCRT140.dllが見つからない」というエラーが出て正常に動作しないことがありました。
結局このエラーの解決策は、Visual C++ 再頒布可能パッケージ(VCRedist)をインストールすることでした。
なおVCRedist は、以下のコマンドを使ってwinget経由でもインストールできます。

winget install -e --id Microsoft.VCRedist.2015+.x64

表示されたエラーメッセージの全文

CONCRT140.dllが見つからないため、コードの実行を続行できません。プログラムを再インストールすると、この問題が解決する可能性があります。

参考

0
Raw
https://www.techtips.page/ja/comments/201

rails 7.0.4 で pg 1.5 を使うと警告が出る問題

wakairo @wakairo
最終更新

昨日rails 7.0.5がリリースされました。
早速試したところ、rails 7.0.5とpg 1.5の組み合わせでは、前述の警告が出ないことを確認できました。
そこで、この結果を踏まえて、このTopicの先頭コメントの記述を更新しました。

0
Raw
https://www.techtips.page/ja/comments/200

Edge検索バーをデスクトップに表示する方法

wakairo @wakairo
最終更新
  1. Edgeを起動し、画面右上の …(設定など)ボタンをクリックします。
  2. [その他のツール]>[検索バーを起動する]をクリックします。

以上、 https://windowsfaq.net/windows/setting/hidden-desktop-search-baar/ より引用。

0
Raw
https://www.techtips.page/ja/comments/165

rails 7.0.4 で pg 1.5 を使うと警告が出る問題

wakairo @wakairo
最終更新

結論

railsのバージョンを7.0.5以上に上げてから、pg 1.5 にバージョンを上げれば、警告の問題は発生しません。

問題が発生したバージョン

  • ruby 3.2.2 (2023-03-30 revision e51014f9c0) [x86_64-linux]
  • rails (7.0.4.3)

問題を引き起こした作業内容

bundle updateでpgのバージョンを1.4系から1.5系に上げた。

発生した問題

rails testで以下のような警告が複数出るようになった。

PG::Coder.new(hash) is deprecated. Please use keyword arguments instead! Called from /usr/local/bundle/gems/activerecord-7.0.4.3/lib/active_record/connection_adapters/postgresql_adapter.rb:980:in `new'

rails 7.0.5のリリース後に行った対処

Gemfileにて、pgは1.5以降、railsは7.0.5以降を使うように指定してから、bundle updateコマンドを実行した。
その後でrails testを実行し、前述の警告が出ないことを確認した。

rails 7.0.5のリリース前に行った対処

Gemfileに以下のように記述して、利用するpgを1.4系に留めるように指定した。

gem "pg", "~> 1.4.6"

rails本家の対応状況

0
Raw
https://www.techtips.page/ja/comments/164

bundleコマンドの公式マニュアル

wakairo @wakairo
最終更新

bundleコマンドの公式マニュアルは、公式サイトから、 Docs > Reference Guidesで辿ることができる。

例えば、bundle updateのマニュアルはこちら。こちらでは、利用できるオプションについてもきちんと説明されています。

ちなみに、Google検索からでは、なぜか公式マニュアルにたどり着きにくい気がするので、このTopicを立てました。

0
Raw
https://www.techtips.page/ja/comments/163

Railsを用いた運用中のサービスのアップグレードの仕方

wakairo @wakairo
最終更新

まずはRubyをアップグレード

「RubyのアップグレードとRailsのアップグレードは別々に行うのがよい方法です。最初にRubyを可能な限り最新版にアップグレードし、それからRailsをアップグレードします。」 Railsガイドより

次にRailsを1つずつアップグレード

「Railsのバージョンを変更する場合、マイナーバージョンを1つずつゆっくりと上げながら、その都度表示される非推奨機能の警告メッセージを上手に利用するのがベストです。」Railsガイドより

具体的には、以下の手順を繰り返す。

  1. テストを書き、テストがパスすることを確認する。
  2. 現時点のバージョンのパッチバージョンを最新のパッチに移行する。
  3. テストを修正し、非推奨の機能を修正する。
  4. 次のマイナーバージョンの最新パッチに移行する。
0
Raw
https://www.techtips.page/ja/comments/160

パッケージにアップデートがあったときの通知

wakairo @wakairo
最終更新

WingetUIを以下のように設定することで、インストールしたソフトウェアのパッケージに更新があったときに通知を受け取ることが出来ます。

  • 自動起動させる
  • 1時間毎といった間隔を選んで、インストールしたパッケージにアップデートがあるかどうかを定期的に確認させる
  • アップデートがあったときに通知させる

現在、この通知を有効にしてWingetUIを利用しているのですが、通知を受け取ってから数回の操作でサクッとソフトウェアのアップデートが出来るので便利です。

ただし、wingetを利用し始める前に既にインストールしていたソフトウェアについては、更新の通知を受け取っても、その先がスムーズに進まないことがしばしば起きています。
一度アンインストールしてwingetからインストールし直せば良いのかもしれませんが、データや設定が飛ぶリスクが気になってそう出来ていないソフトが残っています。
まっさらな状態からwingetを使っている場合は、WingetUIの通知機能を使ってソフトを最新に保つことが快適に出来そうですが、後からwingetを使い始めた場合はプッシュ型の通知よりも、自分の都合の良いタイミングでwingetコマンドを叩いた方が良いのかどうか。それとも、今は我慢で、wingetへの対応が進めば個々のアップデートでつまずくことは減っていくのでしょうか?

0
Raw
https://www.techtips.page/ja/comments/91