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)

この前忘年会で話題となった話 テレビ番組で最近やってたとか いつかの就職試験で出た(もちろん外した)ので 私にとっても思い入れのある問題 ルールは以下 0:三つの扉がある。一つは正解(車の扉)。二つは不正解(山羊の扉)。 1:挑戦者は三つの中から一つ扉を選ぶ。 2:司会者(モンティ)は答えを知っており,残り二つの扉の中で不正解の扉を一つ選んで開ける。 3:挑戦者は残り二つの扉の中から好きな方を選べる。このとき扉を変えるべきか?変えないべきか? 参考リンク: モンティ・ホール問題とその解説 直感だと、扉を変えても変えなくても確率は同じだけど 実際は変えた方が確率は上がるよね と言う話 解説はこちらがわかりやすかった 【条件付き確率】全米が震えたモンティ・ホール問題を解説 一応、念の為、本当に確率が違うのかpythonで実験してみた コードは以下 いざ、実行 すごい、扉5枚の場合は4倍にちゃんとなる youtubeで紹介されていた3枚扉にすると ちゃんと2倍に落ち着く

WordPressのPlugin(syntaxhighlighter)をアップデートしようと思ったら「This is usually due to inconsistent file permissions」のエラー

ある日、WordpressのPlugin(syntaxhighlighter)をアップデートしようと思ったら、以下のようなエラーが発生した。 ※Wordpress環境:AWSの「WordPress powered by Bitnami」を利用 アップデートの際に一時的にできるファイルはこれっぽいが、 特におかしなところはない。 一度消してから、アップデートもしてみたけど変わらず、、 プラグインのありかはこちら あー、、fileのpermissionは大丈夫そうだけど、 ごみ(「syntaxhighlighter.php.20190211」「syntaxhighlighter.php.20190212」)が残っている、、、 消してみる これでうまくいった

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を作成して実行したコード全容は以下 実行結果はこうなる