ヘルペスの直し方

お断り

以下の内容は私の独断と偏見と経験によるものです。残念ながら私は医療関係者ではありませんので、誤っている情報もあるかもしれません。
また、以下の内容を試した場合に何かあっても当方は責任を取りかねます。


治し方

薬局で薬を買ってくる

ゴタゴタ言わずに薬買ってきて塗るのが一番手っ取り早い。以下のビタミンBとかヨーグルトとかはあくまで補助的なもの。

ヘルペス用の薬は「第一種医薬品」に分類されるため、スーパーとかに併設されているようなトコでは買えないことがある。手近なところだとマツキヨあたりで買える(薬剤師が常勤しているところならOK)

ビタミンBを積極的に摂取する

チョコラBBとかビタミンBのサプリメントをたくさん飲む。たくさんと言っても1日の摂取量の2〜3倍程度。3倍の時点で宜しくない気もするけど、せいぜい1,2週間で飲み終わるのであまり気にしていない。

胃に優しい物を摂取する

コーヒーとか油物とかアルコールは禁止。むしろ断食しても良いぐらい。
LG-21のヨーグルトが個人的に良く効く。

できればよく休む

仕事をしている方はヘルペスで休むってやりづらい上に、場合によっては風邪で休んだ病み上がりで、ひじょーに休みづらいのだけど、できれば休む。
ヘルペスは何らかの影響で抵抗力が弱まっていることも原因なので。


直近のレポート

1日め

午前中に鼻の下にピリピリとした感じ。その時点では水ぶくれにはなってない。
昼の時点でチョコラBBを1錠摂取。

夕飯は炭水化物と油分を避ける。また、チョコラBBを2錠摂取。
胃が弱っているせいか、昼の時点から炭水化物を全くとらなくても空腹感がない状態。

2日め

炭水化物と油分を抜く生活を続行。
この時点で水ぶくれになり始めるが、ピリピリとした感じはない。
チョコラBBは朝と夕方に2錠ずつ、昼は1錠摂取。
寝る前にかなりの空腹感を感じたので、胃は大分休まったっぽい。

3日め

昨日寝る前に空腹感がひどかったので、昼から炭水化物を摂取。
ただし、全快とは程遠いと思われるので食事の量と油分は控えめに。

少し遅いけど、この時点で薬を購入してきた。
1日4回ってことなんで、買ってきた直後と寝る前に使用。

また、チョコラBBはちょっとお高いので、普通のビタミンBのサプリメントに切り替え。
摂取量はチョコラBBと同じで、1日に摂取量の2〜3倍程度。

4日め

前日の薬が効いたようで、水ぶくれが殆どなくなった(カサブタになった)。
朝、昼、夕、寝る前と4回使用。

食事は炭水化物は通常通り、ただし油分の摂取は控える。
ビタミンBについても今までどおりに摂取する。

5日め

胃が大分落ち着いた感じなので、食生活を通常通りに戻す。
油分や炭水化物なども特に気にすること無く食べた。 薬は1日4回使用。

この日の入浴時に顔を洗った際に、ヘルペスの部分がカサブタとなっていたようで、すべて剥がれた。
ダメな剥がれ方ではなく、治ったことで自然に落ちた感じ。

6日め

前日にカサブタの部分が落ち、地肌の部分が色が変わっている程度。
ヘルペス自体は完治したように見える。
念のため薬は朝のみ使用したが昼以降は使っていない。

ビタミンBについては、1日の摂取量を守るかたちで摂取。

10日め

肌の色が少し変色していた部分まで完治。
ヘルペスの再発前と同じ状態まで戻る。


まとめ

というわけで、ヘルペスの治し方でした。

通常の場合は1〜2週間程度直るまでに時間が必要ですが、上記の方法の場合、数日〜1週間程度まで治るのを短縮できます。

今回の場合は最初から薬を使っていない(切らしてた)こともあり、ちょっと時間がかかっていますが、ヘルペスの薬はスピード勝負なので、1日めから使用するともっと早く治せると思います。

C#プログラマからみたPython クラス(基本)編

オブジェクト指向の基本的な概念については割愛。

クラスの宣言とインスタンス

# python
#1番簡単なクラスの例
class MyClass:
    # passは「なにもしない」ことを意味する
    pass

#インスタンス化
i = MyClass()
// C#
class MyClass
{
}

var i = new MyClass();

クラスの宣言自体はあまり変わらないが、インスタンス化する時に、PythonC#では全く異なる。

Pythonでは変数の前の型の宣言はないことに加え、「new」のようなキーワードもないので、非常に短くなっている。
new」がないことによりコードは短くなっているが、関数の結果を格納するのか、インスタンス化しているのかぱっと見で判断できない…(´・ω・`) 個人的にはこれはやり過ぎな気もする。

端折ったアクセス修飾子については、後述のカプセル化を参照


アトリビュート

型に厳しいC#にはない概念。 インスタンスにデータを持たせたい時にアトリビュートを利用する。
変数宣言などと同じく、アトリビュートについても代入を行うことで定義する。

#インスタンス化
i = MyClass()

i.value = 5
print(i.value)

i.hoge = '( ー`дー´)キリッ'
print(i.hoge)

このようにアトリビュートに代入を行うだけで、インスタンスアトリビュートをいくつも追加することが出来る。
ただし、C#のクラス変数とは異なり、アトリビュートが追加されるのは実際に代入を行ったインスタンスにしか追加されない。

クラス自体に手をいれること無くクラスを拡張できるので、非常に強力で便利だとは思うが、C#のようなカタい言語をやってきた身からすると、アトリビュートはクラス宣言(の内容)と関係なく利用できてしまうので危険な香りが……。


初期化メソッド

Pythonにはインスタンス生成時に呼ばれるメソッドを定義することができる(※)

class MyClass:
    def __init__(self):
        self.value = 0
        print('初期化メソッドが呼ばれました')

i2 = MyClass()
print(i2.value)

Pythonの場合、この初期化メソッドを利用してクラス(インスタンス)にどのようなデータをもたせるかを決めることができる。

初期化メソッドの引数は「self」以外の引数を設定することができるので、インスタンスを初期化する時に引数を経由して、インスタンスのデータの内容をコントロールすることが可能。
(詳細とサンプルは後述…)

なお、PythonにはC#のクラス変数のような仕組みはなく、 (C#でいうところの)クラス変数を利用したい場合は、常にアトリビュートに対して代入を行う必要がある。

インスタンス生成時に呼ばれるメソッドというとコンストラクタを思い浮かべますが、あくまで初期化処理であり、コンストラクタとは異なるようです。 → そのうち追記予定。


self

クラスを定義したら「__init__()」と同様に、第一引数に「self」を必ず渡すようにする。

class Prism(object):
    def __init__(self, width, height, depth):
            self.width = width
            self.height = height
            self.depth = depth

    def content(self):
        return self.width * self.height * self.depth

#Prismクラスを利用する。
#クラスを利用するときには、selfに対して引数を指定していないことに注意する。
p1 = Prism(10,20,30)
print(p1.content())

つまり、「self」とは自分自信のインスタンスを示しており、クラス定義の中でインスタンスに対して操作を行いたい時は、かならず「self」という引数に対して処理を行う。
C#のthisと似たようなもの? ちょっと理解が足りてないので後で調べる

なお、第一引数の名前は習慣的にselfとなっていおり、文法的にはただの引数なので、thisでもmeでも良い。
とは言え可読性を損なうためselfを使うようにする。


カプセル化

前提として基本的にPythonのクラスやメソッドはPublic扱いとなる。
Privateに利用したい場合は、「_(アンダースコア)」を利用してカプセル化を行う。

アンダースコア1つ

例)
_size

ただの習慣、紳士協定。利用者側から観た時に、「あー、この関数は使ってほしくないんだなー」と思わせる為に利用するもの。習慣を知らなかったり、紳士じゃない場合には無力。

アンダースコア2つ

例)
__size

こうしておくと、クラスの外部からは「__size」という名前でアクセスできなくなる。利用する側から見るとC#などのPrivateに近い。
ただし、実態としては名前が内部的に他の名前に置き換わっているだけ! どのように名前が置き換わるか把握していれば、アクセスすることは可能。

C#などに比べてカプセル化の機能がかなりユルイ。。。
C#が「おめーらほっとくと何するかわかんねーから、Privateは絶対触れないようにしとくから!」と言われているのに対し、Pythonは「オレの知ってるオメーらはそこまでアホじゃないから、Privateの制約がこの程度でもちゃんとできるよな?」と言われているような感じ。


MacDownでよく使うショートカットキーの一覧

日本語のページが無かったのでMacDownエディタのショートカットキーをまとめました。
なお、キーバインドのカスタマイズは行っていません。

また、私がよく使うという独断と偏見で選んでいるので、 至極当たり前なもの(⌘ + Sで保存)や、私が使わないもの(というか何に使えばいいのか分からないもの)については記載していません。


検索関連

⌘ + F

検索コントロールをひらく。

option + ⌘ + F

置換コントロールをひらく。

⌘ + G

検索コントロールで検索した文字列を、上から下に向かって順に見つける。

Shift + ⌘ + G

検索コントロールで検索した文字列を、下から上に向かって順に見つける。


表示関連

知ってるとそれなりに便利。

⌘ + R

マークダウンで書かれた内容をHTMLで表示。
まあ、常に右側にレンダリングされているのでほとんど使わないかな。

Shift + ⌘ + 0

エディタウィンドウと、プレビューウィンドウの比率を1:1に設定する。

Shift + ⌘ + H

プレビューウィンドウを非表示にする。 もう一度押すと元にもどる。

Shift + ⌘ + E

エディタウィンドウを非表示にする。 もう一度押すと元にもどる。

control + ⌘ + F

フルスクリーンモードで表示する。


ウィンドウ操作

あんまり使わないけど…

⌘ + M

Dockにしまう

Shift + ⌘ + M

ウィンドウいっぱいに開く、ただし、最大化ではない。
いっぱいに開いた状態で、もう一度押すと元のサイズにもどる。


編集関連

最後だけど1番よく使う。

⌘ + B

選択文字列を太字に

⌘ + I

選択文字列を斜体に

⌘ + K

選択文字列をインラインコードに

⌘ + /

選択文字列をコメント化(プレビューに表示されなくなる)

⌘ + 1 〜 6, 0

数字に対応した見出しになる。「0」の場合は、見出し設定を解除する。

Shift + ⌘ + U

アスタリスクを利用した箇条書きに。

ただし、「Version 0.5 」ではバグっている(?)ようで、文章の末尾にない限り、正常に動かない。
文中に対して実行すると、編集内容が吹っ飛んでしまう。

これが…
f:id:HTak:20150827142139p:plain

こうなる…(´・ω・`)
f:id:HTak:20150827142146p:plain

Shift + ⌘ + B

引用「>」を付ける。
ただし、アスタリスク箇条書きと同様のバグっぽい動きあり。

⌘ + ]

右にインデントする

⌘ + {

左にインデントする

Shift + ⌘ + K

リンクを挿入する([]())の文字列が入力される。

Shift + ⌘ + I

イメージを挿入する(![]())の文字列が入力される。

⌘ + Enter

新しい段落にする(Enter二回押しと同様)

年金事務所から「第1号・第3号被保険者資格取得勧奨」という手紙が来たので調べてみた

はじめに

現在無職(主夫とも言う)ですが、国民年金は妻の扶養に入っている状態です。そんな中、「第1号・第3号被保険者資格取得勧奨」という通知が年金事務所から届きましたので、こちらについて調べました。


そもそもなんぞや

そもそもすべての国民は国民年金に加入する義務があります。

で、

会社を辞めた場合、国民年金の第二号被保険者の資格を失うことになります。その場合は、第一号(自営業、無職など)か、第三号(第二号に扶養されている主婦/夫など)に切り替える必要がありますが、一定期間に切り替えが行われていない場合、「国民年金に加入せずにちゃらんぽらんしている」と判断され、資格取得勧奨という形で通知が来るようです。


来たらどうすれば良い?

対応済みの場合

私のように妻の扶養になっている、またはその手続の最中だという方は、ほったらかして構わないそうです。
聞いたところによると、厚生年金保険の資格を失ってから(会社を辞めてから)一定期間経過すると自動的に作成、送付されるようで、行き違いなどで送付されることがあるようです。 私の場合は、辞めてから10日程度で妻の扶養となりましたが、その1月半後(辞めてから2ヶ月ぐらい)で、この書類が届きました。

不安な方は、自分の年金の状態を、最寄りの年金事務所へ電話などで確認するか、国民年金機構のウェブサイトねんきんネット)で確認しましょう(要アカウント)

追記

「第1号・第3号被保険者資格取得勧奨」が届いてから2週間ぐらいしてから、「国民年金第3号被保険者資格該当通知書」が届きました。
この通知書は「第3号」への切り替え処理が終わったことを通知するものですので、この通知が来た場合は「第1号・第3号被保険者資格取得勧奨」は放置してOKです。

なお、私の場合、この通知書は手続き開始から2ヶ月ちょっとで到着しました。基本的に会社を辞めてから(第2号の資格を失ってから)扶養やその他の手続きを行うので、どんなに急いで手続きしても「勧奨」の書類は届いてしまうかもしれません。

対応してないひと

書類を記載して、最寄りの市(区)役所、町村役場の国民年金担当窓口に提出しましょう。なお、配偶者の扶養に扶養に入りたい場合(かつ、未手続きの場合)は、配偶者の勤務先に提出する必要があります。

みんなのPython 第3版 書評

ここがよい

プログラミングってなんざましょ? って人が読んでも大丈夫

変数って何? オブジェクトって何? プログラミングって何? って人が読んでも大丈夫。
その辺りの基礎の基礎の説明から記載されているので、初めてのプログラミングの為に買う本としてもオススメできる。

ただ、はじめてのプログラミングでPython選ぶ人ってあんまりい無さそうだけども…。

よくある言語(C++Javaなど)と比較して書いてあることが良い

他の言語の経験者が本書を読んでいると、Pythonにたいしてあれ?と思うことがままあるのだが、だいたいそう思ったところに対しては、Javaだとね…とか、Perlだとね…とか記載されているので理解し易い。
他の言語を知っている身からすると、Pythonだけで説明されるよりも、他の言語も交えて説明してくれたほうが理解しやすいので、この点は非常に助かった。

作者の方が親切

後述する14章のサンプルアプリ作成の部分で…

こんなかんじでクソ矮小(目立たない)なツイッターアカウントの私にもメンションを送って対応いただけた。

わからない部分を片っぱしから尋ねるのはどうかと思うけれど、どーしても分からない部分がある場合は、お聞きすればお返事がいただけるかもしれない。


もうちょっとだったかな

ラムダ式高階関数、関数デコレータなど、Pythonが持っている強力な仕組みに関する記載がない

この本が入門書という位置づけなので致し方なしとも思うけれど、もうちょっとPythonらしい機能の紹介があるといいと思う。
みんなのPythonではラムダ式というキーワードがちょろっと出てくるだけで、あとはキーワードすら出てきてないので、これだけ読んだ状態だと取っ掛かりすらない状態になる。
なので、本書では紹介できていませんが〜という形で、ラムダ式とか高階関数のちょろっとした紹介だけでもあると更に良いと思う。

とは言え、初心者に対して、高階関数とか関数デコレータのちょろっとした紹介なんて出来るのかと思うけども…(私には無理っす)

一部サンプルコードに不足がある

第14章のサンプルアプリ作成の部分で、大体のコードは書いてあるのだけど、動かすためのコードなどが不足している。
作者のサイトからダウンロードすれば良いといえばいいが、初学者の人はコードが足りないのか、自分の書いたコードが誤っているのかすら分からない場合があると思うので、このあたりに対する配慮があったほうが良かったかと。


オススメする人

  • これからプログラミングを始める人
  • 他の言語でちょっとだけプログラミングをかじったことのある人
  • いままでがっつりとプログラミングをしてきているが、Pythonの基礎の基礎から学びたい人


お風呂でiPhoneを使うにはジップロックに入れればOK

はじめに

お風呂でiPhone使いたいな〜。
でも、毎日じゃないから防水ケース使うのもな〜。
てゆーか防水ケースに入れたり出したりが面倒だな〜。
そんな時はジップロックがオススメです。


ここがよい

ちゃんと防水してくれる

最初は不安だったけど、ジップロックでもきっちり防水してくれる。

ちゃんと操作も効く

タッチ操作やスワイプなんかも全然OK。やろうと思えばゲームなんかもちゃんと出来る。
とは言え、さすがにtouchID(指紋認証)は無理なので、パスコードでロックを解除する必要はある。

ちなみに曇った時は一回お風呂に沈めるか、お湯(水)を掛ければOK。

コスパが良い

キッチンにあるし、買っても中サイズの54枚入で¥700ぐらい。

耐久性もある

3ヶ月ぐらいほぼ毎日使っていても防水性が保たれる。
うちだと大体2,3ヶ月ごとに交換しているけど、それも浸水するようになったからではなく、見た目が汚いのとそろそろやばくね?っていう不安を払しょくするため。なのでもしかすると半年ぐらいは持つのかもしれない。

端末を問わない

中サイズなら結構な大きさなので、巷のスマートフォンならなんでも入るはず。当然ケースの有無も関係ない。防水ケースの場合、端末ごとにケースが使えなかったりするし、付いているケースを外したりしないといけないので、ジップロックの手軽さが良い。

f:id:HTak:20150820112356j:plain

ちなみにこの写真はジップロックの中サイズにiPhone6 Plusを入れた状態。6 plusでもここまで余裕があるので、ファブレットサイズまでなら行けると思う。


ここが不安

たまーに結露っぽいものが発生したりする

ほとんどないけど、内側が曇ってくることがある。
あんまりひどいと結露で浸水とかもありそうだが、いまのところ問題ない。というか結露自体がほぼない。


まとめ

というわけで、お風呂でたまーにiPhoneを使いたいけど、毎日じゃないのでケースをわざわざ買うのもなーっていう人にはオススメです。

なお、私が使っているのは「フリーザーバッグ」のジップロックです。少し価格の安い「お手軽バック」のようなジップロックでは、ここまでの防水性、耐久性を持っているかは分かりません。

そこまでの価格差もないし、高いiPhoneを入れるのだからココはケチらずにフリーザーバックをオススメします。(ケチらずに防水ケース買えってのはなしで)


C#プログラマからみたPython スコープ編

大雑把な概要

Pythonのスコープには、気にするものが2つしかない。

  • モジュールスコープ
  • ローカルスコープ

なお、言語仕様上グローバルスコープは存在しない。(ただしモジュールスコープのことをグローバルスコープという様子)


スコープの種類

ビルトインスコープ

組み込み関数や組み込みの変数などを指す。特に宣言やインポートを行わずに利用することが可能。このスコープについては特に意識する必要はない。
なお、このスコープ上に変数や関数を作成することはできない。

C#だとこの考え方はない…(と思う。)強いて言うなら、VisualStudioでクラスを新規作成したときに自動生成される、先頭のusingがそれにあたるか。


モジュール(グローバル)スコープ

モジュールのトップレベルで定義されている変数や関数が持つスコープ。
Pythonではこのスコープが最上位のスコープということになる。
そのためJavaScriptのように、一般的な意味のグローバルスコープは言語仕様上存在しない。
なお、クラスについてもモジュールと同様のスコープを持つ。

C#だとクラス変数と同じ。


ローカルスコープ

関数が持っているスコープ。その関数内でのみ有効。
C#メソッドが持っているスコープと同様。


これから勉強する…

Python複数モジュールをまたいだ変数を利用したいような場合はどうするの…('A`)?
いや、そんなグローバルなものはないほうがいいに決まってるんだけどさ。