Close

pythonのlistは代入しただけでは変更の巻き添えを食らうからcopyで複製する

タイトルだけでは意味がわからないと思うので実際のコードを見てみる このコードの実行結果は以下 の時点でlist1とは独立したlist2と言うリストができていると思ったが、 list2を変更(remove)したらlist1も巻き添えを食らって変更されていた という問題 巻き添えを食らいたくないときはcopyを使えば良い list2を変更しても、list1は影響を受けない 実行結果

WordPressで「Could not create directory.」エラーが出たからpermission見直していたら単にVolume容量がいっぱいだった話(AWS Management ConsoleでのVolume拡張手順)

WordPressで「Could not create directory.」エラーが出て、pluginのupgradeが軒並みできなくなった ディレクトリが作れないならPermissionだろう と安直な考えから、wordpress directory(wp-content)をパトロール どこもおかしくない、、、 しかしもう少し症状を見ると、、 Wordpress自体のUpdateもできないし、Postに画像のアップロードもできない 全体的におかしい、、 もしやと確認すると、Volumeがいっぱいだった 参考:[AWS] EBSボリュームを拡張してAmazon Linuxの容量上げる /dev/xvda1の使用量が100%になっている 今のMaxは10G 私はAWS(EBS)を使っているので AWS management consoleから操作 10GBから12GBに拡張する 無事に増えているのを確認 パーティションを拡張しようとしたら以下のエラー 満杯すぎて拡張すらできない状況らしいのでいくつかファイルを手動で削除すると できた 増えていることを確認 ファイルシステムの容量も増やす 拡張 できた

PythonのClassとConstractorとMethodをざっくり理解する

PythonのClassとConstractorとMethodをざっくり理解する ※Python3.5.0前提で記載 用語整理 Class(クラス):設計書 Constractor(コンストラクター):Classが作られるときに最初に実行されるやつ Method(メソッド):Classの機能 白紙のClass(設計書)を用意する ここからは実際にClassとやらを用意する Classの枠はこれだけ 今回は「Human」というClassにした Class(設計書)の中身を書いていく 白紙設計書では意味がないので、この中に色々内容を書いていく Classの中には、いくつか機能(Method)が書かれている Methodは「def」という接頭語?で記載する 今回は「Human」クラスに、「laugh」と「walk」という機能を用意した 「init」という名前のMethodは、Classが作られた絶対実行されること。 これは、特別に「Constractor」と呼ばれる 変数の定義などがよく書かれる 何でinitなの?とかはよくわからん、そう決まってる(雑) その他の任意の名前で書かれているMethod(例えば上の例では「laugh」と「walk」) は、 呼び出されたら使われる機能 「def」から始まる塊について「class」の外で使われたいたら 「function(関数)」と呼ばれる。紛らわしい、、、 参考:pythonの中でよくみる「def」から始まる塊について、用語が紛らわしいので整理する 設計書の全容は以下 Class(設計書)からもの(Instance)を作って動かす 設計書が書けたので、設計書から「もの」を作って、機能を使ってみる できたものを「Instance(インスタンス)」と呼ぶ 何もなければ、Humanクラスはこれだけで作成できる ただ今回は、色々パラメータを使う前提で「Class」を書いているので、こんな感じで作成する パラメータを使う前提で、、というのはこの部分のこと 更に、「Human」Classから作成したオプジェクト(以下の例では「taro」 と定義)から各機能を使うには、 「taro.【機能名】」と記載する こんな感じ 実行結果 今回Classを作成して実行したコード全容は以下 実行結果はこうなる

Nginxコンテナに、Let’s Encryptで証明書を自動更新で当てたい場合

サクッとDocker始める docker事始め で作成したnginxコンテナに、Let’s Encryptで証明書を当てたい場合 Let’s Encryptの証明書を更新する(Bitnami on AWS) Let’s Encryptの証明書を更新する(EC2) AmazonLinuxのSSL化対応 この辺りで言及している通り、一度Apache/Nginxを停止してから更新する必要があある 止めていないと以下のようなエラーが出る 通信ルールで遮断している場合も同じエラーがでる模様 参考: Let’s Encryptの証明書を更新する(Bitnami on AWS) 当たり前だけど、DockerでNginxを動かしている場合は、コンテナを止めなければいけない 自動で更新されるように、crontabに入れるなkらこんな感じ