harukeeeのブログ

@harukeee が書いています。

VSCode を使って Markdown でブログを書く

知らない事はいっぱいあるもので、「はてぶ」が Markdown を使えるなんて。
ということで今回は Markdown で書いてみます。

Markdownとは・・

Word をメモ帳だけで実現してしまおう。
的な発想の簡易記述法です。(本当はHTMLです)

Word だと「あいうえを」を入力して「太字」ボタンを押します。
Markdown だと「**あいうえお**」と入力します。
すると「あいうえお」と太字表示になります。

エディターを準備する

Word文書は Word がないと見れない。それと同じです。
Markdown の結果を見ながら編集するために VSCode を使います。
他にもエディターは沢山ありますが(知らんけど)何でも構いません。

VSCode (Visual Studio Code) とは Microsoft の無償の高機能メモ帳です。
https://code.visualstudio.com/download
からインストールします。
心を無にして「次へ」を連打するか、ググって下さい。

Markdownを書いてみる

Visual Studio Code をインストール、起動したら、

1.[ファイル] → [新規ファイル] で空のファイルを開きます。

2.空のファイルに以下をコピペして下さい。
# タイトルがこうなる
**あいうえお**

3.ファイルを保存します。
保存する時「ファイル名」の下に「ファイルの種類」があるので、
ここを「Markdown (*.md;*.mdown~)」に変更して保存します。

すると VSCode の右上に「扉マーク」と「虫眼鏡付き扉マーク」が表れます。

4.「虫眼鏡付き」の方を押すと、Markdown のプレビューが表示されます。

Markdown にすれば、仕事中にブログを書いてもバレません。(たぶん)
下手をすれば IT企業で採用されちゃう可能性すら。(誇張)

せっかちな人に少しだけ。改行するには半角スペース2個 です。

はてブの設定

超簡単。はてブの [ダッシュボード] → [設定] → [基本設定] を開きます。
[編集モード] を Markdownモード に変更。

記事を書く

Markdown 書いた md ファイルのテキストをコピペで はてブ に貼るだけです。

Markdownの基本的な書き方

改行、斜体、水平線など、基礎的な書き方なら https://qiita.com/t_wkm2/items/372fd1c851c4d221b1f3
の「Markdown記法早見表」が簡素でいい感じでした。

画像は、はてブの編集画面で別途差し込みが必要になります。

足りない時はググってください。基本が分かってれば簡単です。
慣れてきたら「Markdown チートシート」で検索しましょう。
全(?)記法の早見表が出てきます。

ということで、今後は Markdown で記事を書こうと思います。
実は、このくらいしか使う機会がないんですね。。

f:id:harukeee:20180222033949p:plain

Nutanix 2時間トライアルやってみた。

Nutanix(ニュータニックス)試してみた

最近きつつある HCI。そろそろ日本でも案件が増えてきそうです。

サイト右上の「体験版」から申込みが可能です。

体験版の中に2時間版があるので今回はそちらを試してみました。

 

体験版とはいえ、メアドが Gmail などのフリーアドレスだと NG。

申込時の「Getting Started Guide」の PDF をちゃんとダウンロードして下さい。

初期構築済み Ubuntu のパスワードが記載されています。

途中、謎に Nutanix の教育コミュニティページに飛ばされました。何でや。

 

ということで、画面の感じをサラっと残します。

 

トップページ 全体です。

f:id:harukeee:20180221014304p:plain

左上 [Home] 部分のメニューリスト

f:id:harukeee:20180221014602p:plain

[Home] → [VM] に変更した時の画面全体。

f:id:harukeee:20180221014647p:plain

 

Network Configration

右上 緑 の [Network Config] を開いた図。

f:id:harukeee:20180221014715p:plain

編集アイコンを押した時の図。

f:id:harukeee:20180221014802p:plain

 

Create VM

右上 緑 の [Create VM] を開いた図。好きなスペックをどうぞ。

f:id:harukeee:20180221014955p:plain

[CDROM] にはブートディスクの選択をします。後で見ます。

f:id:harukeee:20180221015301p:plain

f:id:harukeee:20180221015047p:plain

 

 

VMコンソール

初期で Ubuntu が1台稼働しています。リソースグラフの上の [Launch Console] 、

またはグラフの1番右のタブ [Console] で各マシンのコンソールに接続できます。

f:id:harukeee:20180221023005p:plain

[Launch Console] で見る Ubuntu の画面です。

最近の海外製品では Webコンソールが普通になってきましたね。

ログイン情報は「Getting Started Guide」の [DEMO4 5.] を参照ください。

ちなみに USキーボード 仕様でした。( USキーボードといえば→ PFU HHK )

f:id:harukeee:20180221023431p:plain

 

体験版Webですが、Nutanix で使われているシステムも見てみます。

こちら Wappalyzer の Chrome 拡張 にて確認。ふむふむ。

f:id:harukeee:20180221024055p:plain

 

初期構築済の Ubuntu とは別にVMを追加し、Ubuntu をインストールのテスト。

Ubuntu の ISO はデフォで配置されていました。

f:id:harukeee:20180221025755p:plain

画面右上 設定メニューの [Image Configuration] から ISO がアップできます。

f:id:harukeee:20180221030026p:plain

キャプ忘れですが、ISOは [アップロード] と [URL指定] が可能でした。

f:id:harukeee:20180221030055p:plain

 

 

ここで何を思ったか Windows 10 の InsiderPreview のアップロードを始めたため、

操作不能になり、今回はここでタイムオーバーとなりました。謝謝。

 

 

おわり。

PowerShell で何でもリモート操作

Linux では当たり前の SSH のように Powershell をリモート実行する方法

 

意外とできる事を知らない人が多い。記事も割りと少なめ。

実は Powershell 万能説。

 

 

1.Powershell の起動

Windows 10 なら開いたフォルダの [メニュー] から起動できます。(8から?)

f:id:harukeee:20180220003847p:plain

 

 

2.Powershell のポリシーを設定

Set-ExecutionPolicy RemoteSigned

コマンド実行時の確認事項は「すべて続行」にします。

 

 

3.リモート接続の許可

(リモート接続先で実行)

Enable-PSRemoting
Enable-PSRemoting -SkipNetworkProfileCheck

(リモート接続元で実行)

Enable-PSRemoting -SkipNetworkProfileCheck
Set-Item WSMan:\localhost\Client\TrustedHosts -Value "*" #接続先を許可

コマンド実行時の確認事項は「すべて続行」にします。

 

最後が少し妙な記述ですが、接続元 が 接続先 を許可することになります。

"*" はワイルドカード(全て) になります。

制限したい場合は "*" を ホスト名 や IPアドレス に変更してください。

 

 

4.リモート接続

Enter-PSSession -ComputerName pc-○○○○ -Credential Workgroup/harukeee

パスワード入力後、 Linux でいう SSH したのと同じ状態になります。

 

 

5.実行結果を リモート接続「元」に出力

4のリモート接続状態だと

dir > a.txt # ファイル一覧を a.txt に出力

と実行しても、リモート先にファイル出力されます。

 

手元に結果出力したい場合は、Invoke-Command を使います。リモート接続せずに

Invoke-Command 127.0.0.1 -Credential $credential -ScriptBlock { dir } > a.txt

 

もちろん変数に代入も可能です。

[string]$body = @()
$body = Invoke-Command 127.0.0.1 -Credential $credential -ScriptBlock { dir }

 

 

6.おまけ

冒頭で万能と言いいましたが、まだ全く万能っぽさがありません。

少し万能っぽいコードを紹介します。

 

IE で Yahoo を開き『powershell ie』と入力し、検索ボタン押す」コードです。

# 開きたいURL
Set-Variable uri 'http://www.yahoo.co.jp/' -Option Constant

# InternetExplorer を起動
$ie=new-object -com InternetExplorer.Application
$ie.visible=$true
$ie.navigate("$uri")

# ページの表示を待つ
While($ie.Busy){
    start-sleep 1
}

# 表示されている HTML を取得
$doc=$ie.document
# HTML から 検索ボックス を探す
$dom_srchtxt=$doc.getElementById("srchtxt")
$dom_srchtxt.value = "powershell ie"
$dom_srchbtn=$doc.getElementById("srchbtn")
$dom_srchbtn.click()

「sample.ps1」という名前で保存し、ファイルを右クリックして

PowerShell で実行」してみましょう。Yahooの検索結果がでるはずです。

 

あなたがパソコン上でしている操作は、Powershell でほぼ全て行えます。

怖い話のようですが、なんでも自動化できるって事です。

 

AI を待たずにできる自動化、進めてみませんか?

 

おわり。

「Anaconda」、「Visual Studio Code」はじめました。

(2018/2/15)

Python 言語の開発環境パッケージ「Anaconda」をインストールすると

MSのプログラミング用エディター「Visual Studio Code」が一緒に入るよ。

 

Anaconda のインストール時に Visual Studio Code インストールは拒否できるの?

の答え。「できます

 

(プログラミング初心者向け)

・開発環境パッケージとは・・実行環境+ライブラリのこと。

・ライブラリとは・・Excel の Sum() 関数などの詰め合わせセット的なもの。

Visual Studio Code とは・・MS製のプログラムコードエディター。

 さらっと(時にまるっと)プログラムを書くための高機能版メモ帳。

 

(以下参考)

「Anaconda」のサイトから Windows 版 をダウンロードして、インストール。

https://www.anaconda.com/download/

Anaconda 5.1 For Windows Installer

Python 3.6 version *

 

 

(インストール画面)

インストールは適当に。途中の選択は [All Users] 。深い意味はない。

f:id:harukeee:20180218222707p:plain

(適当に待って、進めて、、)

 

からの、ここ。「Install Microsoft VSCode」が記事の部分です。

f:id:harukeee:20180218230542p:plain

「Install Micorsoft VSCode」をクリックすると、Visual Studio Code のインストールが始まります。ちゃんと?こっそり? License のリンクもあります。

という事で「選択可能」。

 

 

 

 

(以下、余談)

VSCode Marketplace 版との差はわかりませんが「Anaconda Extension Pack」と「Python」が初期インストールされているくらいでしょうか。(YAML もそうかも?)

f:id:harukeee:20180219010606p:plain

 

Anaconda 自体は特に変わらないみたいです。

f:id:harukeee:20180219010137p:plain

 

 

試しに test.py というファイルをデスクトップに作ってみる。

単にメモ帳が開くプログラム。[F5]キー(2回)で実行します。

#! python3
import subprocess
subprocess.Popen(r'C:\WINDOWS\system32\notepad.exe')

メモ帳が開いてくればOKです。

 

今後 MS-Office のマクロも Python になりそうですし、がんばって勉強しましょう。

こちら、おすすめ本です。

退屈なことはPythonにやらせよう ―ノンプログラマーにもできる自動化処理プログラミング

 

おわり。

 

VSCode の Marketplace は色々あるので見るだけでも楽しいよ)

ネットショッピング好きだからかもしれませんが。

 

Twitter Search API で 期間指定 の キーワード 検索してツイートを取得

radiko.jp を聴いてて思いつきで作った。

自分の備忘録も兼ねてメモ。

(メイン処理をほぼパクったはずだが元記事が不明...)

 

やってる事

・CoreTweet で Twitter API を呼んで、返ってきた値を JSON で出力。

・CoreTweet の Status クラスだと値が多いので TweetJson クラスで減らした。

 

環境=C#、CoreTweet、System.Runtime.Serialization.JsonTwitter API

 

Twitter Search API の制限

・1回のコールで取れるのは100件まで。

・コール回数は 15分毎 に 180回 まで。

・無料版(Standard)で取れるのは過去1週間分まで。

 

[画面]

f:id:harukeee:20180211042151p:plain

画面の値は Twitter Search API に投げる値そのもの。

 

[コード]

●TweetJsonクラス定義

public class TweetJson
{
public string CreatedAt { get; set; }
public int? FavoriteCount { get; set; }
public long TweetId { get; set; }
public bool? IsFavorited { get; set; }
public bool? IsRetweeted { get; set; }
public int? RetweetCount { get; set; }
public string Source { get; set; }
public string Text { get; set; }
public string ProfileImageUrl { get; set; }
public string ScreenName { get; set; }
public string Name { get; set; }
public long? UserId { get; set; }
}

 

●メイン処理

try
{
var tokens = Tokens.Create(
_ConsumerKey_, // string
_ConsumerSecret_, // string
_AccessToken_, // string
_AccessTokenSecret_ // string
);

var _since = this.textBox_since.Text; //画面
var _until = this.textBox_until.Text; //画面
var _keyword = this.textBox_keyword.Text; //画面

// ファイル名は実行日

var filename = String.Format("{0}.json", DateTime.Today.ToString("yyyyMMdd"));
File.Delete(filename); // あれば消す

long? maxid = null; //100件/回対策

for (;;)
{
var result = await tokens.Search.TweetsAsync(
count => 100,
q => _keyword,
since => _since,
until => _until,
max_id => maxid
);

foreach (var tweet in result)
{
// クラスの置き換え
TweetJson tw = new TweetJson();
tw.UserId = tweet.User.Id;
tw.Name = tweet.User.Name;
tw.ProfileImageUrl = tweet.User.ProfileImageUrl;
tw.ScreenName = tweet.User.ScreenName;

tw.TweetId = tweet.Id;
tw.CreatedAt = tweet.CreatedAt.LocalDateTime.ToString("yyyy/MM/dd HH:mm:ss");//UTCに注意
tw.FavoriteCount = tweet.FavoriteCount;
tw.IsFavorited = tweet.IsFavorited;
tw.IsRetweeted = tweet.IsRetweeted;
tw.RetweetCount = tweet.RetweetCount;
tw.Source = tweet.Source;
tw.Text = tweet.Text;

 

// クラス to JSON
DataContractJsonSerializer serializer = new DataContractJsonSerializer(typeof(TweetJson));
MemoryStream ms = new MemoryStream();
serializer.WriteObject(ms, tw);

// JSONの書き出し
File.AppendAllText(
filename,
String.Format("{0}\r\n", Encoding.UTF8.GetString(ms.ToArray())),
Encoding.UTF8
);
}

if (result.SearchMetadata.NextResults != null)
{
maxid = result.Min(s => s.Id) - 1;
System.Threading.Thread.Sleep(6000); //180回/15分+気持ち1秒
continue;
}
break;
}
}
catch (Exception ex)
{
Console.WriteLine("Error: " + ex.Message);
}

 

マイクロソフトの Custom Visionで乃木坂46のメンバーを機械学習させてみる

タイトルどおりですが、マイクロソフトのイベント de:code 2017 で知ったのでさっそく試してみました。

 

プログラミングがわからなくても、機械学習をさせることができるサービスです。

マイクロソフトすごい!

 

使い方は超簡単。まずサイトに飛んで、


とりあえず「はじめる」。

f:id:harukeee:20170524221618p:plain

 

 

何かでますが「Accept」と「I Agree」で承認。

f:id:harukeee:20170524221725p:plain

 

 

「Name」はお好きなプロジェクト名。
「Description」は簡単な説明書き。

「Domains」は人物なので「Adult(生物)」を選択。

ここは写真のカテゴリなので、目的のカテゴリかどうかを、英単語を調べて選びます。

f:id:harukeee:20170524221858p:plain

 

 

あとは、適当な枚数の写真を集め、アップロードし、
「Add some tags to...」にタグ名を入力し、「+」ボタンでタグ付けます。

タグとは認識させたい対象。例では「犬」とか「猫」とか「東京タワー」とか。

今回は「Yumi Wakatsuki」とします。

f:id:harukeee:20170524222721p:plain

 

 

 

画面上部の「TRANING IMAGE」タブが画像アップロード画面。

いくつか画像アップロードしたら、最後に緑の歯車ボタンでトレーニングさせます。

f:id:harukeee:20170524222415p:plain

 

 

 

画面上部の「PERFORMANCE」タブが、認識度の確認画面です。

%が低い時は、「TRANING IMAGE」でもっと画像を与えて学習させます。

認識率が上げれば、AIのヲタ度も上がったということです。

f:id:harukeee:20170524221021p:plain

 

 

 

最後に、どのくらい判別できるか、右上の「Quick Test」ボタンでテストしてます。

緑のボタンの隣のボタンです。

f:id:harukeee:20170524224053p:plain

 

 

 

画像のURLを与えるか「Browse local files」で画像をアップロードし、いざテスト。

f:id:harukeee:20170524223933p:plain

 

「95.2%」の確率で若月佑美だという結果がでました。

これを見る限り、「20.9%」はまいやんと間違えるかもしれない。

 

プログラミングがわからなくても、手軽に機械学習が行えました。

 

 

でも、せっかく学習させたんだから活用したいですよね。

その時は、上部「PERFORMANCE」タブの中の「PredictionURL」を押すと

プログラムから呼び出せる方法が表示されるので、誰かプログラミングできる人にがんばってもらいましょう。

f:id:harukeee:20170524225149p:plain

 

 

以上、マイクロソフトの Custom Vision 即席入門メモでした。

おわり。

みんな「エバンジェリスト養成講座」を受講すべきだ!

エバンジェリスト養成講座を受講してきましたので、

レポートとして記事を書いてみたいと思います。

 

参加したセミナーはこちら。

 

(最初に)

セミナー受講前に必ず この本↓↓ の読むことをオススメします。
新エバンジェリスト養成講座(西脇資哲) | 翔泳社の本
あなたが、とてつもない有能でない限り、セミナーの価値は必ず半減します。
逆に、頭に叩き込んで受講すると、必ず価値が倍増します。


なぜなら、このセミナーで得る内容は、本に書いてある「方法論」ではなく、
西脇さんの「表現力」であり「どう体現しているか」だと思うのです。

 

 

(レポート)

セミナーは、クリッカーというアンケート装置によるQAから始まりました。
プレゼンと受講者アンケートを兼ね、時間を最大限、活用しながら進められました。
シンメ効果としても受講者にクリッカーが印象付けられたように思います。

 

こちらに、その使用されたクリッカーを紹介しておきます。内田洋行製みたいです。
受講者参加型のプレゼンが行える、便利な商品です。

 EduClick(エデュクリック) HE - School Web Japan

 

その後は、西脇さん自身の自己紹介プレゼンから続けられ、もちろん、乃木坂46とのラジオMCのくだりで一拍設けられました。
この唯一のPRタイムにきちんとアクションを取れなかった事は、乃木ヲタ&エバスクリスナーとして、またセミナーの趣旨を鑑みても、これは反省点でした。
 

 

その後は、書籍に沿った内容をプレゼン形式で進行されるのですが、
・書籍にない最新の傾向などが色々と反映されている。
・セミナー中、書籍やセミナーでの内容が終始徹底されている。
・2時間のセミナーをシナリオを見ずに行う上、話に隙がない。
・挙げる例が、どれも的確で、質が高く、興味深い。
・下手なプレゼン例をやっても、どーしても上手い。
・表情やテンション、声量・声色まで徹底して表現されている。
・「笑い」の要素を忘れないあたりに「笑い」への魂を感じる。
など、すばらしい点は拾い上げるとキリがありません。


これらも、ぜひ受講してお楽しみください。

 


また、西脇さんの言葉を追いながら自分の登壇イメトレもしてみましたが、やはり西脇さんのようには上手くできないもので、書籍の内容を思い出しながら、西脇さんの言動とプレゼンを追いかけるだけでもなかなか大変な作業でした。

 

 

初参加の為、比較はできませんが、約4年ぶりの大阪開催との事で、全体的にオーソドックスな内容で進めて頂いたのかな?と勝手に思っております。

 

次回受講する時は、(講義の邪魔にならない範囲で←)「表現」のできる受講者として、参加できればと思います。

 

 

 

(最後に)
書籍にサインまで頂き本当にありがとうございました。

本来なら「新エバンジェリスト養成講座」にサインを頂くのが筋かもしれませんが、
僕はこちらにサインを頂きました。

こちらは、西脇さんの個人の歩みについて多く取り上げられており、
自分は今、
何をすべきか。そういう時の指針書とさせて頂いております。


拙い文章ですが、以上、受講レポートでした。