さとり世代のプログラマノート

  • Home

  • Tags

  • Categories

  • Archives

  • Search

Emscriptenを使用してC++からJavaScriptを生成してブラウザ上で動かしてみる話

Posted on 2018-10-14 | In Develop

Emscriptenについて

Emscriptenは、LLVMのビットコードからJavaScriptに変換するコンパイラで、
Emscriptenを使用すると、C/C++コードをJavaScriptに変換する事が出来る。

準備

・ダウンロードとインストール
手順は公式サイト通りに
公式 : https://kripken.github.io/emscripten-site/docs/getting_started/downloads.html

コードを用意

Hello.cppを作成。

1
2
3
4
5
6
7
#include <iostream>

int main()
{
std::cout << "Hello" << std::endl;
return 0;
}

コンパイル

ターミナル上で、以下のコマンドを打つ

1
emcc hello.cpp -o hello.html

結果

こんなページが出力される。
https://nakaiyusaku.github.io/EmscriptenHello/hello.html

コンソールにHelloと表示されていれば成功。

Microsoft Flowを使って、ブログ記事の投稿をTwitterで自動的に告知する方法

Posted on 2018-10-02 | Edited on 2018-10-14 | In Develop

Microsoft Flow とは

Microsoft公式のタスク自動化ツールです。
私たちが普段使っているWebサービス同士を連携させたり、自作のWebサービスにおいてもWebAPIを用意する事で他のWebサービスと連携させる事で、あらゆる自動化がノンコーディングで簡単に行えます。毎月750個のFlow(自動タスク)まで無料で使う事ができます。
公式 : https://japan.flow.microsoft.com/ja-jp/

今回はMicrosoft Flowで、RSSとTwitterを使ってブログ記事の投稿告知を自動化してみます。

ブログ記事の投稿をTwitterで告知する

RSSの更新を検知し、TwitterでTweetするFlowを作成します。
Microsoft Flowには、公式で数多くのFlowテンプレートが存在しており、今回の目的のRSSとTwitterの連携も既にテンプレートが用意されていました。
↓このように多数のテンプレートが使用できます。

実際に作成したFlowがこちらです。

実際に投稿してみます。(この記事)
えー、何回も失敗しました。笑
原因はHexoの設定だったようです。(URLを間違えていた。笑)
↓成功した際の実際の投稿です。

// TODO

自動化の理由(Github Pagesの問題点)

本ブログはGithub Pagesで運用しています。
Github Pagesでは、記事を投稿してから実際に反映されるまで、たまにラグがあります。酷い時は数時間ものラグがあるそうです。
記事を投稿しても、Twitterでそれを告知するには、記事投稿が反映されるのを待たなければいけません。
しかし、記事投稿の反映を待って、確認して、告知するのでは面倒です。
記事投稿の反映がされたタイミングで、自動でTwitterで告知したいと思うのがプログラマの常です。

Windows環境でHexoとVSCodeでGithub PagesにDeployする方法

Posted on 2018-09-29 | Edited on 2018-10-14 | In Develop

準備

・Github Pagesの用意
・VSCodeの拡張機能 vscode-hexo をインストール

爆速のブログ生成

VSCodeでターミナルを開き、以下を順に打ち込みます。

1
2
3
hexo init [適当なプロジェクト名]
cd [適当なプロジェクト名]
npm install

これで、[適当なプロジェクト名]フォルダが作成されて、ブログ生成に必要なインストール等は完了しています。

続いて、ターミナルで以下を打ち込みます。

1
hexo server

ターミナルに

INFO Hexo is running at http://localhost:4000 . Press Ctrl+C to stop.

などと表示されているかと思います。

Ctrl+Cでアクセスするとブログを確認する事ができます。
正常に動作していれば、これでとりあえずブログ自体の生成には成功です。

Github Pagesへのデプロイ

まずは必要なHexoプラグインをインストールします。

1
npm install hexo-deployer-git

続いて、[適当なプロジェクト名]/_config.ymlを開き、以下の場所を設定します。

1
2
3
4
5
6
# Deployment
## Docs: https://hexo.io/docs/deployment.html
deploy:
type: git
repo: https://github.com/[username]/[repositoryname].git
branch: master

続いて、ターミナルで以下を打ち込むとデプロイされます。

1
hexo deploy -g

しかし出来ない

デプロイ時に以下のようなエラーが出る方がいると思われます。
私はここでハマりました。

1
2
3
4
Fatal: HttpRequestException encountered.
bash: /dev/tty: No such device or address
error: failed to execute prompt script (exit code 1)
...

結論
gitの設定を行うと上手くいきました。
globalじゃないといけないのが辛いけど。

1
2
3
4
> git config --global credential.helper wincred
> git config --global user.name "ユーザー名"
> git config --global user.email "githubに登録しているメールアドレス"
>

Hello World

Posted on 2018-09-28 | Edited on 2018-09-29

Hello World

Thank you for visiting.
Created blog by Hexo.
See you again!

Nakai Yusaku

Nakai Yusaku

とあるさとり世代のプログラマの覚え書き。クリエイター・エンジニア向け。

4 posts
1 categories
9 tags
RSS
© 2018 Nakai Yusaku
Powered by Hexo