- 投稿日:2020-02-18T20:52:29+09:00
ETロボコンに向けてEV3RTのアップデートをする(macOS Catalina)
はじめに
ETロボコン2020年に向けて開発環境バージョンのβ7-3が出ていたのでアップデートしたいと思いいろいろ調べ時間がかかったため,備忘録です.
対象
- 2018,2019年のロボコンでmacOSを使用して開発環境していた人たち
- 自身のmacをmacOS Catalinaにアップデートした人
- gccなどのコンパイル自体はもう終わっている人
手順
- TOPPERS wikiの開発環境ダウンロードページ(1)から
ev3rt-beta7-3-release.zip
をダウンロード- EV3で使用しているmicroSDカード内のデータを移動させたのち
hrp2/sdcard
のデータをmicroSDカードにコピーev3rt-beta7-3-release
内のhrp2.tar.xz
を展開- cfgバイナリファイルを
ev3rt-beta7-3-release/hrp2/cfg/cfg
にコピー *1ev3rt-beta7-3-release/hrp2/sdk/workspace
内にあるhelloev3に対してmake app=helloev3
をしてコンパイル *2- microSDカード内の
ev3rt/apps
に作成したappバイナリファイルをコピーし動作確認*1 2020/2/18時点は,cfgバイナリファイルをダウンロードできないため,β7-2で使用していたcfgバイナリファイルを
ev3rt-beta7-3-release/hrp2/cfg/cfg
にコピーする方法で解決*2 2020/2/18時点は,一部のバイナリファイルがmacのソフトウェア検証に引っかかるため実行できない場合があります.解決策の一つは
システム環境設定 -> プライバシーとセキュリティ
(2)(3)で逐次許可していく方法があります.さいごに
アップデートはとても簡単なのですがcfgバイナリファイルダウンロード出来んのなぜだろう?
参考文献
(1) 開発環境構築のマニュアル-ダウンロード
(2) macOSユーザーガイド-開発元が未確認のMacアプリケーションを開く
(3) Macで「開発元を確認できないため、開けません」と表示された時の対処法
- 投稿日:2020-02-18T20:32:50+09:00
様々なブラウザやテキストエディタでMarkDownを表示させる
様々なブラウザ(Chrome, Firefox)やテキストエディタでMarkDownを表示する方法です。
ブラウザ
Chrome
1.コチラより、「Markdown Preview Plus」を「Chromeに追加」します。
2.「Markdown Preview Plus」を追加しますか?と聞かれるので、「拡張機能を追加」をクリック
3.「Google Chromeの設定」 > 「設定」(画面右方)
5.Chromeに読み込まれている拡張機能一覧が表示されるので、「Markdown Preview Plus」の「詳細」をクリック
6.「ファイルのURLへのアクセスを許可する」の右端のトグルをONにする
これで、Chromeで対象ファイルを読み込むと、MarkDown表示されます。
Firefox
1.コチラより、「Markdown Viewer」を「Firefoxへ追加」します。
2.「Markdown Viewerを追加しますか?」と出るので、「追加」をクリック
3.「MarkDown ViewerがFirefoxに追加されました。」と出るので、「OK」をクリック
5.「拡張機能」を選択し、Markdown Viewerの右端の「・・・」 > 「管理」をクリック
6.「オプション」タブに移動し、「ALLOW ALL」をクリック
7.「Markdown Viewerが追加の許可を必要としています。」と出るので、「許可」をクリック
これで、Firefoxで対象ファイルを読み込むと、MarkDown表示されます。
テキストエディタ
続いて、テキストエディタです。
可能な範囲で方法を記載しました。
(不明なものは「-」と記載しています。後日分かったらアップします。悪しからず・・・)Windows / Mac両方対応
テキストエディタ名 MarkDownを表示する方法 Atom Ctrl(Command)+Shift+M Visual Studio Code 1. ファイル名が表示されているタブを右クリック
2. Open PreviewMarkRight - HarooPad - Brackets 拡張機能「Markdown Preview」のインストールにより可能 → 手順はコチラ Sublime Text 「OmniMarkupPreview」というプラグインを入れると可能 → 手順はコチラ Windowsのみ
テキストエディタ名 MarkDownを表示する方法 MarkDown#Editor 左のウィンドウにテキストファイルを読み込むと右ウィンドウにリアルタイムに表示 Mery - Macのみ
テキストエディタ名 MarkDownを表示する方法 MacDown 手順はコチラ Mou - Chocolat - 参考
- 投稿日:2020-02-18T20:32:11+09:00
Idris の環境構築をする(Mac OS)
こんにちは, ねりあです.
この記事は Idris という言語についての記事になります.
僕は別件で依存型に関する記事を書いていたんですが, その途中で
「依存型の話を書いてるのに Idris 触ったことないの〜プークスクスw」
と脳内の自分が煽ってくるので, とりあえず環境構築したので, その話を記事にします.インストール
まずは install です.
と言っても以下の通り, brew install するだけです.$ brew update $ brew install idrisこれで, Idris のインストール終了です.
インストールというか環境構築が終了してしまいました.
以下でバージョンが表示されれば完了です.$ idris -v 1.3.2プログラムを実行してみる
流石にこれで終わるのは味気ないので, 世界に挨拶ぐらいはしましょう.
以下を作成します.hello.idrmain: IO() main = putStrLn "Hello World"あとは実行するだけです.
コンパイルして実行する方法と REPL から実行する方法の2種類があります.コンパイルして実行する方法
以下の通り実行すればコンパイルして実行することができます.
$ idris hello.idr -o hello $ ./hello Hello WorldREPL で実行する方法
idris
コマンドで REPL を起動でき, REPL 内でも実行できます.$ idris ____ __ _ / _/___/ /____(_)____ / // __ / ___/ / ___/ Version 1.3.2 _/ // /_/ / / / (__ ) http://www.idris-lang.org/ /___/\__,_/_/ /_/____/ Type :? for help Idris is free software with ABSOLUTELY NO WARRANTY. For details type :warranty. Idris> :load hello *hello> :exec main Hello WorldREPL 内では
:
を付けるとコマンドとして認識してくれます.
REPL を抜けたい場合は:quit
で抜けることができます.まとめ
まあ, 大したことを話していないので, まとめもくそもないのですが,
Idris は依存型について調べているとサンプルコードで大量に見ます.
依存型が何かという話は現在記事を執筆中なので, またの機会に.
- 投稿日:2020-02-18T18:57:54+09:00
MacからWindowsにlaravel開発環境を移してみた!(サーバー起動まで)
用意したもの
virtual box
vagrant
cyberdock
tera termvagrant upしてvirtual boxを起動します。
virtual boxにログインするためtera termを使いsshでログイン
その後、virtual boxにファイルをアップロードするためcyeberdockを使いアップします。
php artisan serveを起動するとこんなエラーが・・・・
PHP Parse error: syntax error, unexpected '?' in /home/vagrant/laravel_lessons_copy/myblog/vendor/laravel/framework/src/Illuminate/Foundation/helpers.php on line 500Laravel5.5はPHPのバージョンが7.0.0以上を必要としています。PHPのバージョンが7未満だと上記エラーになる場合があります。特にCentOSをはじめとするサーバOSはデフォルトでPHP7以上になっているものが少ないため、注意が必要です。
Laravel初期設定でやりがちなミス:引用元URL(https://www.inet-solutions.jp/technology/laravel-setting/)ということなのでバージョンアップ
sudo yum install --enablerepo=remi,remi-php71 php php-devel php-mbstring php-pdo php-gd php-mcrypt
これでphp artisan serveが実行できるはずです。
ちなみにここでも繋がらなかったので下記で起動を行いました。
$ php artisan serve --host 192.168.33.10 --port 8000
- 投稿日:2020-02-18T02:23:57+09:00
pixelaでPCの利用状況を可視化する
はじめに
日々の様々な活動量をgithubのようなグラフで可視化してくれるAPIサービスpixelaを使って日々のPCの利用状況を可視化する方法を紹介します。
利用状況といっても1日のうちのログオン回数(休憩時などPCから離れたあと再度ログオンした回数も含む)をカウントしてグラフ化します。
今回は、MacとWindows10でのログオン回数をグラフします。pixela CLIのインストール&ユーザー登録
本家の「CLI toolsで使う」を参考にしながらインストールとユーザー登録を行います。
Mac版はhomebrewでインストールします
% brew install a-know/tap/pi
Windows10版はダウンロードページからプログラムファイルをダウンロードします。
- ダウンロードしたzipファイルを解凍する
- 解凍した中にある
pi
コマンドをC:¥Users¥<UserName>¥bin
にコピーするC:¥Users¥<UserName>¥bin
をPATHに追加してpi
コマンドを実行できるようにする下記コマンドでユーザー登録を行います。(Mac/Windows10共通)
<UserName>
と<SecretToken>
は適宜設定してください。% pi users create --username <UserName> --token <SecretToken> --agree-terms-of-service yes --not-minor yespixelaグラフの新規作成
macの利用状況グラフを作成します。
% pi graphs create -u <UserName> -g mac -n "Mac usage graph" -i logon -t int -c shibafu -z "Asia/Tokyo"Win10の利用状況グラフを作成します。
% pi graphs create -u <UserName> -g win10 -n "Win10 usage graph" -i logon -t int -c sora -z "Asia/Tokyo"Macでログオンをカウントする
ログオンをカウントするためには、
Automator
とsleepwatcher
を利用します。
ログイン時はAutomator
でカウントアップを行います。
スリープなどからの復帰はsleepwatcher
でカウントアップを行います。Automator設定方法
- Automatorを起動する
- 「新規」-「アプリケーション」を選択する
- 「シェルスクリプトを実行」を右側にドラッグする
- 下記のシェルスクリプトを記載して「PixelaIncr.app」という名前で保存する
export PIXELA_USER_TOKEN=<SecretToken> /usr/local/bin/pi pixel increment -u <UserName> -g mac
- 「システム環境設定」を起動し、 「ユーザーとグループ」を開く
- ユーザーの「ログイン項目」に上記の「PixelaIncr.app」を追加する
上記設定だけだとログイン時にしかカウントアップされない為、スリープからの復帰などはカウントされません。
スリープからの復帰をカウントする為には、sleepwatcher
を利用します。sleepwatcher設定方法
sleepwatcherをインストールします
% brew install sleepwatcher % brew services start sleepwatcher
sleepwatcherがスリープから復帰した時に実行される
~/.wakeup
を下記で作成します。~/.wakeup#!/bin/zsh export PIXELA_USER_TOKEN=<SecretToken> /usr/local/bin/pi pixel increment -u <UserName> -g mac
~/.wakup
に実行権限を付与します。% chmod +x ~/.wakeup
Win10でログオンをカウントする
ログオンをカウントするためには
タスクスケジューラ
を利用します。
まずは、タスクスケジューラで利用するbatファイルとvbsスクリプトを作成します。
カウントアップする為のbatファイルを下記で作成します。PixelaIncr.batset PIXELA_USER_TOKEN=<SecretToken> C:¥Users¥<UserName>¥bin¥pi pixel increment -u <UserName> -g win10 exit上記bat実行時にウィンドウを表示したくないので下記のVBSファイルを作成します。
PixelaIncrHide.vbsSet ws = CreateObject("Wscript.Shell") ws.run "cmd /c C:¥Users¥<UserName>¥bin¥PixelaIncr.bat", vbhideタスクスケジューラ設定方法
- 「Windowsキー」+「R」で表示された検索窓に「taskschd.msc」と入力してタスクスケジューラを起動する
- 「操作」->「基本タスクの作成」を選択する
- 「名前」に「pixela-incr」を入力し、「次へ」を押下する
- トリガーで「ログオン時」を選択する
- 操作で「プログラムの開始」を選択する
- 「プログラム/スクリプト」で「参照」で上記のvbsファイル「PixelaIncrHide.vbs」を指定する
これで「ログオン時」はカウントアップされますが、「ロック解除時」はカウントアップされないので上記タスクに「ロック解除時」の条件も追加します。
- 作成したタスク「pixela-incr」のプロパティを開く
- 「トリガー」タブを開く
- 「新規」ボタンを押下
- 「タスクの開始」で「ワークステーション アンロック時」を選択する
- 「設定」で「特定のユーザー」を選択し、ユーザーを指定する
実行結果
mac及びWin10でログインやスリープ、ロック解除などを行うと下記のようにログオン回数がカウントアップされ表示されるようになります。
- 投稿日:2020-02-18T00:26:00+09:00
モチベーションが低いダイナモDB入門
はじめに
色々と訳あり、ダイナモDBを練習してみます。
事前知識
MySQLなどの知識は少しあります。
FirebaseでNoSQLには触ったことあります。手順
AWSにアカウント作成済みとします。
pip3もインストール済みとします。(1)AWS CLIインストール
pip3 にてAWS CLIをインストールします。
pip3 install awscli --upgrade --user(2)テーブルを作成する
AWSにログインし、DynamoDBを選択。
デカデカと出ているテーブル作成をクリックします。
テーブル名を[moti]、プレマリキーを[downs]にします。
ついでにソートキーは[num]にします。
よくわからないので「デフォルト」のまま作成します。できたようです。
(3)awsでアカウントを作ります
IAMというのを作らないとAWS CLIで使えないので作ります。
IAMを選択し、ユーザを追加しますプログラムからのアクセスにチェックを入れます。
タグを作らず進めます
下記のようにawscliにログインします。
$ aws configure --profile hashito AWS Access Key ID [None]: XXXXXXXXXXXXXXXXXXXX AWS Secret Access Key [None]: xxxxxxxxxxxxxxxx Default region name [None]: hashito Default output format [None]:※一番下にもありますが…これ間違えています…
Region→ap-northeast-1、output formatはtextなどがいいです。(4)awscliで操作します
こんな感じのコマンドでデータを追加するようです。
$aws dynamodb put-item --table-name moti --item '{ "downs": { "S": "1" }, "num": { "S": "2"}, "created_at": { "S": "1544741492" }, "message": { "S": "aaaaaaaaaaaaaa" } }'よく読むとわかりますが基本的に
JSON
形式の入れ子になっています。
最も上の層が属性のキー名で次の層が属性(SはString、NはNumber的な感じ)になっています。
{"key name":{"type char":"var"}}
みたいな感じですねtable一覧
$ aws dynamodb list-tables TABLENAMES moti
データ取得
$aws dynamodb get-item --table-name moti --key '{ "downs": { "S": "1" }, "num": { "S": "2"}}' CREATED_AT 1544741492 DOWNS 1 MESSAGE aaaaaaaaaaaaaa NUM 2(5)色々と試す。
プレマリキーが同一の場合はどうなるか
$aws dynamodb put-item --table-name moti --item '{ "downs": { "S": "1" }, "num": { "S": "2"}, "created_at": { "S": "1544741492" }, "message": { "S": "aaaaaaaaaaaaaa" } }' $aws dynamodb put-item --table-name moti --item '{ "downs": { "S": "1" }, "num": { "S": "3"} }'上書きされず、別データとして扱われます。
プレマリキーとソートが同一の場合はどうなるか
$aws dynamodb put-item --table-name moti --item '{ "downs": { "S": "1" }, "num": { "S": "2"}, "created_at": { "S": "1544741492" }, "message": { "S": "aaaaaaaaaaaaaa" } }' $aws dynamodb put-item --table-name moti --item '{ "downs": { "S": "1" }, "num": { "S": "2"} }'いくつかまとめて持ってくるには?
雑にデータを追加します
$ aws dynamodb put-item --table-name moti --item '{ "downs": { "S": "1" }, "num": { "S": "3"} }' $ aws dynamodb put-item --table-name moti --item '{ "downs": { "S": "1" }, "num": { "S": "2"} }' $ aws dynamodb put-item --table-name moti --item '{ "downs": { "S": "2" }, "num": { "S": "2"} }' $ aws dynamodb put-item --table-name moti --item '{ "downs": { "S": "3" }, "num": { "S": "2"} }'$ aws dynamodb query --table-name moti --key-condition-expression 'downs =:_downs' --expression-attribute-values '{ ":_downs": { "S": "1" }}' None 2 2 DOWNS 1 NUM 2 DOWNS 1 NUM 3
--expression-attribute-values
というので変数を定義して、--key-condition-expression
でwhereみたいにするようですね。感想
NoSqlを初めて触ってみましたが楽しいですね。
ただ、SQL的なのがややこしい…
そもそも、あまりこれで条件区切って持ってこないのかもしれないです。(詰まった)
(詰まった)'aws'コマンドがない
インストールしたはずのawsコマンドが存在しませんでした。
$ aws help -bash: aws: command not foundどうやらPython3-pipのインストールフォルダにパスが通っていないことが原因でした。
まず、Python3-pipでインストールしたフォルダを確認します。$ pip3 show awscli Name: awscli Version: 1.18.0 Summary: Universal Command Line Environment for AWS. Home-page: http://aws.amazon.com/cli/ Author: Amazon Web Services Author-email: UNKNOWN License: Apache License 2.0 Location: /Users/{user}/Library/Python/3.8/lib/python/site-packages Requires: botocore, PyYAML, docutils, s3transfer, rsa, colorama Required-by:ここにはないようです…
こちらの記事を参考に…AWS CLI の パス を通す
https://qiita.com/plum_shiga/items/5214510f9786898c987f私のはここにありました。
$export PATH=/Users/{user}/Library/Python/3.7/bin:$PATH $aws -help usage: aws [options] <command> <subcommand> [<subcommand> ...] [parameters] To see help text, you can run: aws help aws <command> help aws <command> <subcommand> help aws: error: the following arguments are required: command(詰まった)
Could not connect to the endpoint URL: "https://dynamodb.hashito.amazonaws.com/"
って出る。雑に設定しすぎて
aws configure
で設定したリージョンが異なっていたようです。AWS Access Key ID [****************]: AWS Secret Access Key [****************]: Default region name [hashito]: ap-northeast-1 Default output format [hashito]: text設定し直しました。