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

Go

概要 AWS環境でGoのhttpサーバを起動した直後にエラーを起こして止まるのでメモ。 詳細 以下のエラーメッセージが出てきた。 ListenAndServe:listen tcp 0.0.0.0:80: bind: permission denied exit status 1 この時、ポート80ではなく8080とかに変えてみると…

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

概要 DB接続がうまくいかなかった時に確認すること。うまくいかなすぎて疲れまくったので本当にメモとして残すが、何かのヒントになればと思う。 確認すること PHP7.xとmysql8.xの互換性がとれないためエラーを起こす。 mysql8に上がってからデフォルトの認…

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

概要 外部モジュールのgetterへのアクセスができない!ということに遭遇したのでメモ。 解決策 getterに対して名前空間を指定する。 例えば、store/xxx.jsというモジュールのgetHogeというgetterにアクセスしたい場合は以下のようにする。 store.getters['lo…

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

概要 VuexのmapActionsヘルパーを使った際に以下のエラーが出てきたのでメモ。 [vuex] unknown action type: Xxx 解決策 store/index.jsにactionに記載すれば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 co…

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

概要 以下のエラーメッセージが出てきたためメモ。 NameError: name 'reduce' is not defined 解決策 functoolsにreduce関数が移動されたみたいなのでimportして使う。 from functools import reduce 参考 stackoverflow.com

【python】TypeError: 'float' object is not iterable といわれた

概要 以下のエラーが発生したためメモ。 TypeError: 'float' object is not iterable 解決策 list(1)やlist(1.0)のようなキャストが発生している場合に発生する。 以下のようにすればOK。 list([1])

【python】TypeError: Object of type 'map' is not JSON serializable といわれた

概要 以下のエラーが出たのでメモ。 TypeError: Object of type 'map' is not JSON serializable 解決策 pythonにおいてmapはジェネレータであるらしい。そのため、JSONにシリアライズする場合はmapをlistに変換する必要があるので以下のようにする。 list(h…

【python】TypeError: Object of type 'Decimal' is not JSON serializable と言われた

概要 以下のエラーが出てのでメモ。 TypeError: Object of type 'Decimal' is not JSON serializable また、Qiiaにすでに解決記事を出している方がおり、私も丸コピなので基本的におなじことをしています。 ドキュメントに以下の記載があります。これを使用…

【Python】NameError: name 'xrange' is not definedと言われる

概要 以下のエラーが出たのでメモ。 NameError: name 'xrange' is not defined 解決策 xrange()はpython3ではrange()にremameされているため、range()にすればOK。 参考 stackoverflow.com

【Python】AttributeError: 'dict' object has no attribute 'has_key'

概要 以下のエラーメッセージが表示されたので対処。 AttributeError: 'dict' object has no attribute 'has_key' 解決策 has_keyはpython3で使えないらしいので、inを使ってキーの存在確認を行う。 if 'Item' in raw_data: # code else: # code 参考 https:…

【Python】Python3でnew.instancemethodが使えないテーブル作成時にエラー

概要 boto3を利用してテーブルを作成する際に以下のエラーが発生したためメモ。 An error occurred (ValidationException) when calling the CreateTable operation: Hash Key not specified in Attribute Definitions. Type unknown. 解決方法 テーブル作成…

【Docker】OCI runtime exec failedと言われた

【概要】 Dockerコンテナに入る際に以下のことを言われたのでメモ。 OCI runtime exec failed: exec failed: container_linux.go:348: starting container process caused "exec: \"/bin/bash\": stat /bin/bash: no such file or directory": unknown 【解…

【Docker】docker-composeでExited (0)とかでるとき

概要 docker-composeでExited (0)が出て全然コンテナが立ち上がらないので困り果てたのでメモ。 本文 dockerコンテナの立ち上げ結果をみた際にExited (0)が出るので対策を調べてみたら、dockerのimageから起動してみる記事にありついた。 以下のコマンドでim…

【Python】The session is unavailable because no secret key was set.

概要 以下のエラーが発生したため対処。 The session is unavailable because no secret key was set. 本題 Flaskでsession変数を扱う際は、以下のようにする。 from flask import session // 略 session['user_id'] = "hogehoge" しかしながら、secret key…

【Go】逆ポーランドを出力

Go

概要 いまさらですが逆ポーランドを出力するものを書く。 元ネタは改訂第4版 C言語によるはじめてのアルゴリズム入門。 本題 逆ポーランドを出力するためには、数値と演算子の優先度を比較しながらstackに値を一時格納する。 逆ポーランドの出力が確定した部…

【Python】issubclassでTrueを期待するのにFalseが返ってくる

概要 issubclassを使っていて、Trueを期待するのにFalseが返って来て頭がおかしくなりそうになった。 時間をかけた割に大したことを得られなかった悲しさをこのブログにぶつける。 本題 ある復刻プロジェクトをやっているのだが、そのシステムではdynamoDBを…

【Go】順リストを書く

概要 いまさらですが順リストを書く。 元ネタは改訂第4版 C言語によるはじめてのアルゴリズム入門。 本題 以下ソースコード。 old.pointer = nの次にold = nとあるのですが、これってoldの指すアドレスを変えるってことなんだな、と理解するまでに苦労した。…

【Go】逆順リストを書く

概要 いまさらですが逆順リストを書く。 元ネタは改訂第4版 C言語によるはじめてのアルゴリズム入門。 本題 以下ソースコード。 package main import ( "fmt" ) type node struct { name string tel string pointer *node } func main() { var head *node = …

【Go】キューを書く

概要 いまさらですがキューを書きます。 元ネタは改訂第4版 C言語によるはじめてのアルゴリズム入門です。 本題 以下ソースコード。 package main import ( "fmt" ) const MAXSIZE = 5 // キューの最大長 var queue [5]int var head int = 0 // キューの先頭…

【Go】スタックを書く

概要 いまさらですがスタックを書きます。 元ネタは改訂第4版 C言語によるはじめてのアルゴリズム入門です。 本題 以下ソースコード。 package main import ( "fmt" ) const MAXSIZE = 5 // スタックの最大長 var stack [5]int var sp int = 0 // スタックポ…

【Python】htmlファイルの改行とタブを削除するやつ

概要 htmlビルダーを利用して仕事をしているのだが複雑になってくると最終的に出力されるhtmlと、デザイナーが作ったこういう風に作ってください、というモックのhtmlとちゃんとあっているかを目で確認しないといけないのは非常に面倒である。Diffツールを使…

【Laravel】Eager-Loadingでlimitを使ってはいけない

概要 いけないというか、Eager-Loadingでlimitを利用する際は挙動をちゃんと理解していないと思わぬ動作をする。 本題 以下のようなテーブルがあった際に、Bookに紐づくChapterをEager-Loadingを利用して、それぞれの本の最後の章を取得したい場合を考える。…

【Laravel】TokenMismatchExceptionのエラーが出た

概要 LaravelをAPIサーバーとして利用したが、POST時にTokenMismatchExceptionと出てきたのでメモ。 対応方法 CSRFのチェックを外すためにapp\http\Middleware\VerifyCsrfToken.phpの中に以下を記載。 protected $except = [ 'api/*' ]; しかしこれはセキュ…

【Laravel】ファイルキャッシュが動くかテスト

概要 ファイルキャッシュを使って、1分経過したらキャッシュから消えるようにした。 方法 実際に、Laravelのドキュメントの通りに実装すると /storage/framework/cacheの場所にキャッシュができていた。 $value = \Cache::store('file')->remember('key', 1,…

Laravelのアーキテクチャ

概要 自分的なLaravelの運用しやすいアーキテクチャ案ができたのでメモ。 細かい部分はプロジェクトによって異なると思うので、大枠的なアーキテクチャを述べる。 自分なりの考え LaravelではMVCとしての開発の準備が充実しているため、MVCをベースとしたア…

ブラウザバック時にFORM送信された値が保持されない

概要 取り扱っているシステムでブラウザバック時にFORM送信された値が保持されない箇所があったので原因を調査した。 状況 選択肢1と選択肢2が存在し以下の流れでブラウザバックをする。 選択肢1の値はサーバサイドで作られる 選択肢1の選択に追従して選択肢…

【Python】ImproperlyConfigured: MySQLdb must be installed.がでた

概要 peeweeにおいてconnectやcreate_tableを行う際に、以下のエラーが発生したためメモ。 ImproperlyConfigured: MySQLdb must be installed. 解決法 PythonからMySQLを操作するモジュールをpip経由でinstallすれば解決。 pip3 install PyMySQL // もしくは…

MySQLを動かすことができない場合の対処方法

概要 以下のエラーが発生したためメモ。 ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2) 詳細 mysql起動 「mysql」コマンドを実行しても上記のエラーが発生して先に進まない service mysql sta…

【Python】oduleNotFoundError: No module named '__builtin__'

概要 以下のエラーが発生したためメモ。Python3では__buildin__が利用できない。 ModuleNotFoundError: No module named '__builtin__' 解決策 __buildin__の代わりにbuiltinsを利用する。 # import __builtin__ ※これは使えない import builtins # __builti…