2018-06-01から1ヶ月間の記事一覧
概要 いまさらですが順リストを書く。 元ネタは改訂第4版 C言語によるはじめてのアルゴリズム入門。 本題 以下ソースコード。 old.pointer = nの次にold = nとあるのですが、これってoldの指すアドレスを変えるってことなんだな、と理解するまでに苦労した。…
概要 いまさらですが逆順リストを書く。 元ネタは改訂第4版 C言語によるはじめてのアルゴリズム入門。 本題 以下ソースコード。 package main import ( "fmt" ) type node struct { name string tel string pointer *node } func main() { var head *node = …
概要 いまさらですがキューを書きます。 元ネタは改訂第4版 C言語によるはじめてのアルゴリズム入門です。 本題 以下ソースコード。 package main import ( "fmt" ) const MAXSIZE = 5 // キューの最大長 var queue [5]int var head int = 0 // キューの先頭…
概要 いまさらですがスタックを書きます。 元ネタは改訂第4版 C言語によるはじめてのアルゴリズム入門です。 本題 以下ソースコード。 package main import ( "fmt" ) const MAXSIZE = 5 // スタックの最大長 var stack [5]int var sp int = 0 // スタックポ…
概要 いけないというか、Eager-Loadingでlimitを利用する際は挙動をちゃんと理解していないと思わぬ動作をする。 本題 以下のようなテーブルがあった際に、Bookに紐づくChapterをEager-Loadingを利用して、それぞれの本の最後の章を取得したい場合を考える。…
概要 ファイルキャッシュを使って、1分経過したらキャッシュから消えるようにした。 方法 実際に、Laravelのドキュメントの通りに実装すると /storage/framework/cacheの場所にキャッシュができていた。 $value = \Cache::store('file')->remember('key', 1,…
概要 自分的なLaravelの運用しやすいアーキテクチャ案ができたのでメモ。 細かい部分はプロジェクトによって異なると思うので、大枠的なアーキテクチャを述べる。 自分なりの考え LaravelではMVCとしての開発の準備が充実しているため、MVCをベースとしたア…
概要 取り扱っているシステムでブラウザバック時にFORM送信された値が保持されない箇所があったので原因を調査した。 状況 選択肢1と選択肢2が存在し以下の流れでブラウザバックをする。 選択肢1の値はサーバサイドで作られる 選択肢1の選択に追従して選択肢…
概要 peeweeにおいてconnectやcreate_tableを行う際に、以下のエラーが発生したためメモ。 ImproperlyConfigured: MySQLdb must be installed. 解決法 PythonからMySQLを操作するモジュールをpip経由でinstallすれば解決。 pip3 install PyMySQL // もしくは…
概要 以下のエラーが発生したためメモ。 ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2) 詳細 mysql起動 「mysql」コマンドを実行しても上記のエラーが発生して先に進まない service mysql sta…
概要 以下のエラーが発生したためメモ。Python3では__buildin__が利用できない。 ModuleNotFoundError: No module named '__builtin__' 解決策 __buildin__の代わりにbuiltinsを利用する。 # import __builtin__ ※これは使えない import builtins # __builti…
概要 以下のエラーが発生したためメモ。 ModuleNotFoundError: No module named 'new' 調べてみるとPython3ではnewモジュールが利用できないみたい。 解決策 以下のように行うことで、解消できる。 # import new ※これは使用できない from types import Meth…
# 概要 以下のエラーが出たためメモ。 ``` socket.error: [Errno 48] Address already in use ```# 解決策 以下のコマンドを実行し、サーバ的な処理を行なっているプロセスをkillする。``` // 検索 ps -fA | grep python // 結果に対してkill kill [プロセス…
概要 以下のエラーが出たためメモ。 TypeError: Unicode-objects must be encoded before hashing 解決策 文字列の末尾に.encode('utf-8')を追記する。
概要 以下のエラーが発生したためメモ。 AttributeError: 'UUID' object has no attribute 'get_hex' 解決法 get_hexをhexにする。 - key = self.prefix + uuid.uuid4().get_hex() + key = self.prefix + uuid.uuid4().hex
概要 以下のエラーが出たためメモ。 MySQLdb must be installed on the system 解決策 PyMySQLをinstallする。 pip3 install PyMySQL // もしくは pip install PyMySQL
概要 Errorメッセージをconsoleに表示して何がおきているか確認する。 解決方法 for model in models: try: // 処理 print("success); except Exception as e: print("message : %s" % e) pass
概要 以下のエラーが出たので対応。 AttributeError: 'dict' object has no attribute 'iteritems' 解決策 iteritems()からitems()にする。
概要 以下のエラーが出たので対処。 NameError: name 'unicode' is not defined 対処方法 pythonにおいてunicode型を使用した際にエラーが発生。 unicodeをstrにすれば解消する。 unicode<=>strの変換方法配下を参照してみると良い。 strとunicode