mk-toolブログ

エンジニアと家のことをごちゃごちゃと書いてます

2018-06-01から1ヶ月間の記事一覧

【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 // スタックポ…

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

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

【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…

【Python】Python3でnew.instancemethodが使えない

概要 以下のエラーが発生したためメモ。 ModuleNotFoundError: No module named 'new' 調べてみるとPython3ではnewモジュールが利用できないみたい。 解決策 以下のように行うことで、解消できる。 # import new ※これは使用できない from types import Meth…

【Python】socket.error: [Errno 48] Address already in use

# 概要 以下のエラーが出たためメモ。 ``` socket.error: [Errno 48] Address already in use ```# 解決策 以下のコマンドを実行し、サーバ的な処理を行なっているプロセスをkillする。``` // 検索 ps -fA | grep python // 結果に対してkill kill [プロセス…

【Python】TypeError: Unicode-objects must be encoded before hashing

概要 以下のエラーが出たためメモ。 TypeError: Unicode-objects must be encoded before hashing 解決策 文字列の末尾に.encode('utf-8')を追記する。

【Python】AttributeError: 'UUID' object has no attribute 'get_hex'

概要 以下のエラーが発生したためメモ。 AttributeError: 'UUID' object has no attribute 'get_hex' 解決法 get_hexをhexにする。 - key = self.prefix + uuid.uuid4().get_hex() + key = self.prefix + uuid.uuid4().hex

【Python】MySQLdb must be installed on the system

概要 以下のエラーが出たためメモ。 MySQLdb must be installed on the system 解決策 PyMySQLをinstallする。 pip3 install PyMySQL // もしくは pip install PyMySQL

【Python】throwされたErrorのメッセージをconsoleに表示

概要 Errorメッセージをconsoleに表示して何がおきているか確認する。 解決方法 for model in models: try: // 処理 print("success); except Exception as e: print("message : %s" % e) pass

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

概要 以下のエラーが出たので対応。 AttributeError: 'dict' object has no attribute 'iteritems' 解決策 iteritems()からitems()にする。

【Python】NameError: name 'unicode' is not defined

概要 以下のエラーが出たので対処。 NameError: name 'unicode' is not defined 対処方法 pythonにおいてunicode型を使用した際にエラーが発生。 unicodeをstrにすれば解消する。 unicode<=>strの変換方法配下を参照してみると良い。 strとunicode