haiju's 開発メモ

開発に必要な情報を自分用にメモ

暗号通貨で報酬が得られるサービス【Steemit】について

以前、アプリでブロックチェーンに登録したTODOをこなす

ごとに暗号通貨で報酬が得られるサービスを考えていたけど、

それはどうやって実現すべきなのか根幹部分がよく分かって

いなかった。

で、最近またブロックチェーン周辺技術を掘っていたら、たま

たまSteemitという記事を投稿したら暗号通貨で報酬が得られる

キュレーションサイトのことを知ったので、その仕組を理解しよう

と思って自分用にメモしてみる(ΦωΦ)

【参考サイト】

steemit.com

https://steem.io/steem-bluepaper.pdf

zoom-blc.com

jp.cointelegraph.com

salestechnologylab.com

realcoiners.com

shionscc.hatenablog.com

www.blockchain-labo.jp

blog.livedoor.jp

Steemit - Wikipedia

Steemit - Wikipedia

eSteem

developers.steem.io

steemit.com

www.jpbitcoinblog.info

www.jpbitcoinblog.info

esuke777.info

btcnews.jp

 

Haskellとブロックチェーン技術

もしも日本でHaskellの人気が爆発するとしたらFinTechで

ブロックチェーン周辺の技術という話があるらしいので少し

ググってみた。

Haskellを利用したブロックチェーンというとCardanoADA

というのがあるらしい。

暗号通貨周りの周辺技術も追いかけていたはずなのに、最近

は全体的に疲れていて見逃していたw(ΦωΦ)

こちらの開発がスタートしたのは2016年9月からということで

比較的新しいプロジェクトのようだ。

ググると結構、去年末から今月にかけて情報が出て来る。

日本語サイトもあるけど本家は中国語!?

中国人の発想力すげーなって思った。

日本人も見習わないとな(ΦωΦ)

自分が関数型言語周りのライブラリを調べていたのは

3年前の2015年とかなので、地道にまた追いかけ直して

遅れないようにメモした情報をチェックしておこう。

[参考サイト]

github.com

www.cardanohub.org

www.cardanohub.org

Cardano (cryptocurrency) - Wikipedia

prtimes.jp

btcojisan.info

www.ikedahayato.com

bitdays.jp

ADA(エイダコイン)とは|仮想通貨 の特徴・価格・チャート・購入方法 | Alchembookーネット副業でお金を稼ぐ方法ー

xn--zck9awe6dx83p2uw267du0f.com

www.coindatabase.net

steemit.com

cryptocoin.news

www.reddit.com

www.reddit.com

hackage.haskell.org

www.michaelburge.us

github.com

github.com

e-staffing WebTimeCardSystemでパスワード変更

全然、技術関係ないけどマニュアルに欲しい情報が

ないので都度メモ用(Φω|

ちなみに、システム内の有効期限に到達したら、

右上の方に「パスワードの有効期限」が表示される

が派遣スタッフがパスワード変更する方法が

簡易マニュアルを見てもWebマニュアルを見ても

載ってないのは困るなー。

あえて変更項目は別枠にしたのかもしれないけど。

[手順]

1. TOPページのメニューより「Webマニュアル」上の

 「その他のFAQ」をクリック。

2. 以下の画像の「よくある質問 目次」より上から

 2番目の「パスワードの変更方法は?」クリック

 し、情報を参照。

f:id:haiju:20180116113254p:plain

3. 自分の派遣会社の企業IDと、ユーザIDと変更前の

 パスワードでログイン。

4. 画面上の「スタッフプロファイル編集」クリック。

5. 以下画像の旧パスワードにログイン時のパスワード、

 新パスワードを2回入力して「Pwd更新」クリック。

f:id:haiju:20180116113346p:plain

6. 更新しました旨のメッセージが出力されればOK。

 

 

Haskell製BOTフレームワークmarvinの紹介と今後、作りたいもの。

こちらはHaskell Advent Calendar 2017 (その3)の23日目の記事

になります。大変遅くなりました。

BOTフレームワークと言うと自分がまず思い浮かべるのがGithub

のHubotで、HaskellにもHubotに触発されて開発中というmarvin

というBOTフレームワークがあります。

こちらは開発中のため、まだ動かせる機能は制限されますが

モジュラー形式なので使い勝手が良さそうに感じました。

Botを制御するスクリプトもHubotで運用しているものを参考

に作れるというところも過去の資産を利用できるのでいいかも

しれないです。

実際にSlackでサンプルコードを利用したBotを動かしてみる

ところは現在、検証中のため今回は省略します。

詳しい部分はドキュメントを参照して下さい。

Linux Mint 17.3 Xfceで開発環境を導入した手順は下記です。

[手順]

1. プロジェクト作成前に下記パッケージをインストール。

$ sudo apt install libicu-dev

$ sudo apt install libtinfo-dev

2. お試しプロジェクトを作成。

$ stack new test-bot

3. 2で作成したディレクトリへ移動。

$ cd test-bot

4. package.yamlにmarvinを追加。

dependencies:
- base >= 4.7 && < 5
- marvin   <---  ココに追加

5. プロジェクトをビルド。

$ stack build

※stack buildでGHCのダウンロードからビルドまで行われる。

※ちなみに、stack install marvin で実行ファイル形式でインス

 トールすることも可能。

6. プロジェクトディレクトリ以下にインストールされた

 marvinをPATHに追加。

$ vim .profile

一番下に下記を追加。

PATH="$PATH:~/local/bin"

7. 6の変更を反映。

$ source ~/.profile

8. Botの名前を指定してmarvin-initコマンドを実行。

$ marvin-init walter

※使えるコマンドは今のところ2つ。

marvin-init  ---  プロジェクトを生成するコマンド

marvin-pp  ---  Main.hsを

※Adapter ID指定なしだとデフォルトはSlack RTMのスクリプト

 (MyScript.hs)が生成。

※Adapterは現在、Slack、Telegram、Facebook Messenger、

 IRC、Shellなどがある。

9. 8を実行すると、お試しプロジェクト内にbot

 ディレクトリが作成され、Main.hsとMyScript.hsが

 自動生成されるので、こちらを目的のBot用に編集します。

※MyScript.hs は指定したAdapterごとのBOTを制御するスクリプト

※Main.hsは10のスクリプトを動かして実行アプリを生成するファイル。

10. 9のファイルを編集したら、ビルド。

$ stack build

[今後、marvinを利用して作ってみたいもの]

常日頃、困っていることとして過集中で作業をして電池が切れると

次にやるべきことを紙やノートにまとめていても、一切見ないし

目の前にあっても見えないことが結構あるので、スマホでTelegram

やLINE、Slackなど各種チャットサービスとスマホを連携した

「期日内でやるべきことを通知する」簡易todo管理アプリを作りたい。

結構、深刻なのでこれはすぐに着手して公開できれば・・・

[参考サイト]

github.com

Welcome to marvin’s documentation! — marvin 0.3 documentation

Welcome to marvin’s documentation! — marvin 0.2.3 documentation

marvin/Script1.hs at master · JustusAdam/marvin · GitHub

github.com

StackでHaskell開発環境構築【基本編】(追記あり)

Mintのリポジトリを利用しないで、Haskellのビルドツールの

Stackで開発環境を構築する手順をメモ(ΦωΦ)

[手順]

1. 以下のいずれかのコマンドをターミナルで実行。

$ curl -sSL https://get.haskellstack.org/ | sh

or

$ wget -g0- https://get.haskellstack.org/ | sh

2. バージョンを確認。

$ stack --version

Version 1.6.3 Git revision ....(リビジョン番号)

3. プロジェクトを作成。ここでは、test-mybot

$ cd workspace

$ stack new test-mybot

4. プロジェクトディレクトリへ移動。

$ cd test-mybot

※もし、インストールしたいライブラリがあったら、プロジェクト直下の

 test-mybot.cabalファイルのbuild-depeds: セクションに定義すると5で

 依存ライブラリもインストールされるらしい。

 その際、test-mybot.cabalと同じ階層にpackage.yamlがある場合は削除

 しておく。なぜなら、ある状態でstack buildすると自動的にhpackで

 package.yamlをcabalファイルに変換するため。

※もし、他に追加でインストールしたいパッケージがあったら、プロジェクト

 ディレクトリ直下の、package.yamlの「dependencies:」セクションに

 追加したいパッケージ名を追加する。

※また、stack.yamlにデフォルト設定されているlts-10.1は出たばっかりで

 対応しているパッケージが少ないため、「resolver: lts-9.21」にしておく

 とよい。と、Twitterで詳しい人に教えてもらった。

※改めて、stack build を実行する。 

dependencies:
 - base >= 4.7 && < 5   <-----   このあとに追加パッケージ名を追加
 
 library:
 source-dirs: src

5. プロジェクトをビルド。

$ stack build

※Version 1.6.1未満では、一度、stack setup でGHCをダウンロード

する必要があったが、1.6.3ではコンパイラのダウンロードとビルドが

同時に行われる。

6. プロジェクトを実行。

$ stack exec test-mybot-exe

someFunc  <---- ここを「Hello, my bot!」と表示させたい 

7. 出力を"Hello, my bot!"に変更。

/home/username/workspace/test-mybot/app/Main.hs から呼ばれる

/home/username/workspace/test-mybot/src/Lib.hs のsomeFunc の内容を

以下のように書き換える。

module Lib

     ( someFunc

     ) where

someFunc :: IO ()

someFunc = putStrLn "someFunc"  <---- を"Hello, my bot!"に

8. プロジェクトを再ビルド。

$ stack build

9. プロジェクトを再実行。

$ stack exec test-mybot

Hello, my bot!

 ※"Hello, my bot!"が出力されればOK

※REPLを起動する場合

$ stack ghci

[参考サイト]

Home - The Haskell Tool Stack 

qiita.com

Lubuntu 16.04 LTSが起動しなくなったのでLinux Mint 18.3 Xfce入れた

夜から早速、Haskell環境を構築してBotフレームワーク

のmarvinを動かしてみようと思ったのに、Guest Additions適用

済みのLubuntu 16.04 LTSを起動してウィンドウを広げたら、

そのままフリーズしてスタートメニューが起動しなくなってしまった

ので、同じくDebian系のLinux Mint 18.3 Xfceをインストールして

現在に至る。

帰宅して作業するために、これまでの手順とHaskell 8.x を入れる

情報をリンクとしてメモしておく。

[手順]

1. Linux Mint公式から最新のXfce版のISOをDL。

2. VirtualboxでLive起動しインストールを実行。

 ※ここで日本語インストーラーを選んで実行すると、

 Lubuntu同様、再起動後は日本語表示フォントとIM

 (Mintではfcitx-mozcがデフォルト)が設定済みになる。

3. VBoxGuestAdditionsをVirtualboxのメニューの[デバイス] -

 [Guest Additions CDイメージの挿入] を選んで挿入。

4. Lubuntu同様、自動起動しないので手動でマウントして実行。

$ cd /media/username/VBox_GAs_5.2.4

$ sudo ./VBoxLinuxAdditions.run

5. 英語のインストールログにGuestのシステムを再起動したら

 反映されるとあるので、システム再起動。

6. ホストとの共有フォルダが読み込まれない不具合があるが、

 その他はインストールさえ終われば、すぐに使える状態になる。

 ※Xfceのデスクトップに表示されないというだけで、ホームフォルダ

 内では可視化されてる。

7. ホーム以下の各フォルダ名を英語に戻す。

$ LANG=C xdg-user-dirs-gtk-update

左下の更新後、二度と表示しないにチェックを入れておく。

[参考サイト]

https://www.linuxmint.com/

Home - The Haskell Tool Stack

obelisk.hatenablog.com

qiita.com

qiita.com

LTS Haskell 10.1 (ghc-8.2.2) :: Stackage Server

hackage.haskell.org

Welcome to marvin’s documentation! — marvin 0.2.3 documentation

github.com

d.hatena.ne.jp

 

【自分用メモ】Hubotについて、おさらい

Haskell製のBotフレームワークのmarvinがHubotを参考に

開発されているということで、Hubotを長らく使わな

かったので、改めて。おさらい的な感じで。

個人的には、まぁ過集中すぎるとノートや紙に書いても

やらないといけないことをザックリと忘れるので、ゆくゆく

は音を鳴らしたり、Twilio等の音声出力サービスやLINE、Telegram

等の各種チャットサービスを使って、スマホ経由で通知が

できればいいなと考えている。

[参考サイト]

knowledge.sakura.ad.jp

kray.jp

gihyo.jp

qiita.com

スマホからオペレーションするためにHubotを使っている | Ore no homepage

deepblue-will.hatenablog.com

codeiq.jp

matsukaz.hatenablog.com