プログラムの事とか

お約束ですが「掲載内容は私個人の見解です」

Surface Laptop のWindows 10 Proが認証失敗して困った話

スクショとか取ってなかったので記憶を頼りに箇条書き風な感じで

経緯

買った

Surface Laptopだよ

入っているOSはWindows 10 Sだよ

使ったことないよ

Proにアップグレードした

今月まで無料で上げられるよ

Windows Updateかけまくった

それはそれはかけまくったさ

失敗するやつがでてきた

たしかKB4088776だったはず

再起動しろっていうからするんだけど、何度再起動しても再起動しろって言ってきた

どうせ1803入れたら消えるだろうからそれまで放っておこうと思ったんだけど、ほかの奴らがそれに引きずられてうまく入らなくてこまった(.Net 3.5とか)

初期状態に戻した

いろいろ試したけどどうしてもKB4088776が入らなくて初期化した方が速いと判断して初期化

Windows Updateかけまくった

全部できた

ライセンス認証しろって言われた

そんなばかな

いろいろためした

Microsoftアカウントに紐づいたやつは別のWindowsで使われているらしい。それはこのLaptopのはずなのに

あきらめてサポートに電話した

つながるまでが第一関門

サポートの人がやってくれたこと

リモートアシスタンスでつないであとはお任せ

お、おまえまだいたのか!

はじめて使ったよ

マザーボードからライセンスキーを引っ張る

って言ってた

マザーボードにそんなもん入ってるんだ

コマンドは多分これ

www.thewindowsclub.com

とってきたキーで認証

Windows 10 S になった!!!!

10 Sになったのがライセンス認証画面のWindows エディションの文字だけなのか、動きもそうなのかすごく気になったけどリモート中なので試せなかった。残念

あとはストアからProに上げるだけ

ストアのアカウント情報が変だったっぽくてはじめは有料ボタンしかなかったけど、アカウント情報確認した後にもう一度ストア開いたらちゃんと無料で更新ボタンになってた

押したら特に何かが動くということもなく、ライセンス認証画面がWindows 10 Proになってた

感想

Win10の認証は普段は楽させてもらっているので文句は特にないです

サポートは通話先(電話が切れた時用)の確認が面倒だと思った

電話番号聞いて、名前聞いて、メールアドレス聞いて、ってのが面倒

電話番号は掛けている携帯の番号引っ張ってこれそうなものだし、その電話番号からMicrosoftのアカウント引っ張ってこれそうだから自動で出来そうなものなんだけど、なんかプライバシー的なリスクでもあるのかな?

とりあえずやっと普通に使えるLaptopになりました

あと後でライセンスキー入れて10 Sにしたいと思いつつも、トラブル面倒なのできっとやりません

Laptop持っている暇な人いたら試してほしいです

Python勉強する その2

危うく1回で終わりそうだった

Pythonの入門記事ググって試したことを書きなぐってるだけです。もうすぐ飽きます

過去はこれ

Python勉強する その1 - プログラムの事とか

変数の宣言

いま流行りのvarとかいらないっぽいです

a = 1
b = 2.3
c = a + b
print (c)  # 3.3

docstring

定義の上にダブルクォーテーション3つで囲った文字列を入れておくといいらしい

参照は__doc__

クラスの定義とかメソッドの説明とか書くみたい

"""Hoge"""
print(__doc__)  # Hoge

ブロック

コードのインデント(スペースの数)で区別するっぽい。

if a == 1:
    print("a = 1")
    print("まだifの中")
print("ifの外")

タブとスペースが混在すると死にそうだけど、Visual Studioではタブはデフォルトでスペース4個になるっぽい

関数の宣言

def ~ : って感じで書く

def add(x,y):
    """足すよ"""
    a = x + y;
    return x + y

print(add.__doc__)  # 足すよ
print(add(3,4))  # 7

ラムダ式

lambdaで行ける

func = lambda x, y : x + y
print(func(3,4))  # 7

クラス

class ClassA:
    """Example class"""

    def __init__(self, arg):
        print("init")
        self.name = arg

    def __del__(self):
        print("del")

    def __str__(self):
        return "ClassA " + self.name

    def greet(self):
        print("Hello")


print(ClassA.__doc__)  # Example class
a = ClassA("abc")   # init
a.greet()  # Hello
print(a)  # ClassA abc
del a  # del

__init__

コンストラクタ

__del__

デストラクタ

__str__

ToString()

__name__ と __main__

if __name__ == '__main__':
    print('Entry point')

って覚えておけばいいんじゃね?


飽きなければ続きます

ASP.NET MVCのプロジェクトをbootstrap 4にあげる

タイトルが若干意味不明感ありますが気にしない

f:id:puni-o:20180319131215j:plain

  • そのまま実行します

f:id:puni-o:20180319131319j:plain

見飽きたいつもの画面がブラウザに現れます

  • NuGetパッケージの管理を見てみます

f:id:puni-o:20180319131517j:plain

こんなに溜まってるよぉぉぉ~~~

  • 一括チェックして更新します

f:id:puni-o:20180319131712j:plain

深夜にパンツ一枚で仕事するくらいスッキリしました。常にこうありたいものです

  • もう一回実行

f:id:puni-o:20180319131928j:plain

Oh...

bootstrapを3から4に上げたのが原因ですね

とりあえずnavbar(画面上のやつ)を何とかすればごまかせるでしょう

_Layout.cshtmlを開いて

変更前

<div class="navbar navbar-inverse navbar-fixed-top">
    <div class="container">
        <div class="navbar-header">
            <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
            </button>
            @Html.ActionLink("アプリケーション名", "Index", "Home", new { area = "" }, new { @class = "navbar-brand" })
        </div>
        <div class="navbar-collapse collapse">
            <ul class="nav navbar-nav">
                <li>@Html.ActionLink("ホーム", "Index", "Home")</li>
                <li>@Html.ActionLink("詳細", "About", "Home")</li>
                <li>@Html.ActionLink("問い合わせ", "Contact", "Home")</li>
            </ul>
        </div>
    </div>
</div>

変更後

<div class="navbar navbar-dark fixed-top bg-dark navbar-expand-md">
    @Html.ActionLink("アプリケーション名", "Index", "Home", new { area = "" }, new { @class = "navbar-brand" })
    <button type="button" class="navbar-toggler" data-toggle="collapse" data-target=".navbar-collapse">
        <span class="navbar-toggler-icon"></span>
    </button>
    <div class="navbar-collapse collapse">
        <ul class="nav navbar-nav">
            <li class="nav-item">@Html.ActionLink("ホーム", "Index", "Home", new { @class = "nav-link" })</li>
            <li class="nav-item">@Html.ActionLink("詳細", "About", "Home", new { @class = "nav-link" })</li>
            <li class="nav-item">@Html.ActionLink("問い合わせ", "Contact", "Home", new { @class = "nav-link" })</li>
        </ul>
    </div>
</div>

div.containerとdiv.navbar-header消してクラス追加したり変更したりすれば出来上がり

実行したらこんな感じ f:id:puni-o:20180319132448j:plain

jumbotronの中身も微妙だけど気にしない