LenovoのPCが動かなくなった話

# 概要 会社のパソコンが動かなくなった、と問い合わせを受けたので、動くようにしたのでメモ。

本題

現象としては、

>> Checking Media Presense......
>> Media Present......
>> Start PXE over IPv4. Press ESC key to abort PXE boot.

と出てきて、Escを押すと、

>> Checking Media Presense......
>> Media Present......
>> Start PXE over IPv6. Press ESC key to abort PXE boot.

と出てきて、Escを押すと、IPv4のほうに繰り返しになったっけか、よく覚えていない。

この画面をほったらかしにして1分くらい待つと、

boot option menu
windows boot manager
efi pxe network

で、上下キーでどちらか選択できる。 PXEブートとは、ネットワーク経由でPCをブートするということらしいが、ブートってネットワーク経由でしてたの…??とよくわからない気持ちになった。詳しく知りたい方はこちらを参照。

ただ、私はこの画面を使ってどうしたとかいうわけでもなかったので、この画面は無視して、電源ボタンを長押ししてブッチする。

もう一度電源ボタンを押して、パソコンを起動するが、起動したときに、F2を押しまくってみる。長押しとか、連打とか、何が効いたかわからないが、BIOSの設定画面に移動する。 移動しなかったら、もう一回トライしてみるとよい。F2を押したタイミングが奇跡的に悪かったのかもしれない。

BIOS画面が出てきたら、Bootというタブがあるので、「Boot」を選択。 その中に、「Boot Menu」とあり「UEFI」が選択されていると思うので、これを「Legacy Support」に変更して、「Exit」タブの「Saving and Changing」を選択。 そうすると勝手に再起動が起きる。

これでOK。 ただ、これで本当に良いのかわからないので、データはいったん全部安全な場所に退避して、BIOSのアップデートとか(効くのか?)をやってみようと思う。 少なくとも、「UEFI」で動いていたなら「UEFI」の設定に戻したいところ。

ListenAndServe:listen tcp 0.0.0.0:80: bind: permission deniedへの対処

概要

AWS環境でGoのhttpサーバを起動した直後にエラーを起こして止まるのでメモ。

詳細

以下のエラーメッセージが出てきた。

ListenAndServe:listen tcp 0.0.0.0:80: bind: permission denied
exit status 1

この時、ポート80ではなく8080とかに変えてみると動く。ポート80がなぜ禁止になる理由がわかる方は教えていただきたいです。

参考

stackoverflow.com

【Laravel】DB接続がうまくいかない時に確認すること

概要

DB接続がうまくいかなかった時に確認すること。うまくいかなすぎて疲れまくったので本当にメモとして残すが、何かのヒントになればと思う。

確認すること

  • PHP7.xとmysql8.xの互換性がとれないためエラーを起こす。 mysql8に上がってからデフォルトの認証方法が変わったみたいでエラーを起こす。

blog.websandbag.com

SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo failed: Name or service not known
PDO::__construct(): php_network_getaddresses: getaddrinfo failed: Name or service not known
  • docker-comopseのボリュームが過去に使ったものを参照している 以下で完全に消せる。docker volume lsで一覧を確認すると良い。
docker-compose rm -v
docker-compose down -v
docker volume prune

【Nuxt】外部モジュールのgetterへのアクセス方法

概要

外部モジュールのgetterへのアクセスができない!ということに遭遇したのでメモ。

解決策

getterに対して名前空間を指定する。 例えば、store/xxx.jsというモジュールのgetHogeというgetterにアクセスしたい場合は以下のようにする。

store.getters['login/isAuthenticated']

なんかキー指定であることやキーの中にもスラッシュが入っていたりしてしっくりこないけど。 (ドット区切りの記法で取得できる方がいれば教えていただきたいです)

参考

stackoverflow.com

【Vuex】[vuex] unknown action type: Xxx と言われたのでメモ

概要

VuexのmapActionsヘルパーを使った際に以下のエラーが出てきたのでメモ。

[vuex] unknown action type: Xxx

解決策

store/index.jsにactionに記載すればmapActionsが検出できる。ただ、この記事を読んでいる人が求めているのはそんなことではないだろう。 store/xxx.jsを作成して、、、みたいにファイル分割をしたいはずだ。 VuexのAPIドキュメントを見てみると以下の記載がある。

mapActions(namespace?: string, map: Array | Object): Object

第一引数がnullableな引数で名前空間を指定していて、第二引数でどんなactionをマッピングしたいかを宣言する。 私は、第一引数の名前空間を指定していなかったため今回のエラーが発生した。そのため以下のようにして対応をした。 (store/xxx.jsのXxxアクションを利用する場合)

...mapActions('xxx', [
  'Xxx',
]),

参考

mapActions

【vuex】Do not mutate vuex store state outside mutation handlersがでた

概要

以下のエラーが出たのでメモ。

Do not mutate vuex store state outside mutation handlers

解決方法

私はnuxtを使っているので純vuexではどうなのかわからないが、storeを管理しているエントリ部( store/index.js )の先頭で以下を記述する。

export const strict = false

参考

github.com

【python】NameError: name 'reduce' is not defined といわれた

概要

以下のエラーメッセージが出てきたためメモ。

NameError: name 'reduce' is not defined

解決策

functoolsにreduce関数が移動されたみたいなのでimportして使う。

from functools import reduce

参考

stackoverflow.com