ましろの興味が書く

UnityとかVRChatとかプログラミングとか電子工作とかロマンあふれるガジェットに興味があるぞ

<win10 wsl不使用>railsでMiniMagickを使う -ImageMagickインストール- rails13章

Rails Tutorialの13章をしていたときに,imageMagickインストールしてねと書いてあり,windowsの方法が書いてなかったのでやり方を書く

 

環境

rails:2.6.5
Image Magick:ImageMagick-7.0.10-14-portable-Q16-x64
OS:win10

インストールの参考

higuma.github.io

私はportable版を選び,Pathを追加した

 

http://www.imagemagick.org/script/download.php#windows
このサイトでImageMagick-7.0.10-14-portable-Q16-x64をインストール,適当なところ(私はドキュメント)に解凍

 

Pathを通す(システム→システムの詳細→環境変数システム環境変数→Path→編集→新規)

imageMagickのpath(C:\Users\user\Documents\ImageMagick-7.0.10-14-portable-Q16-x64)を一番上にするのが大事

f:id:masiroiizo:20200525043339p:plain

 

cmdでPathが通ったか確認

convert --version

f:id:masiroiizo:20200525043705p:plain

以上でpathをしっかり設定できていればrailsのエラーが見えなくなる

 

Pathを通したらVSCodeを全部落として,再起動する

ここができていなくてエラーに悩まされた

 

Discordに今聞いているSoundCloudの曲を表示させる

f:id:masiroiizo:20200516145420p:plain

こんな感じでDiscordのプロフィールに現在聞いているSoundCloudの曲を表示させる方法を書く.

 

筆者の環境はwindows10を使用していて,linuxmacなど他osの動作は検証していないのであしからず

 

追記(2021/12/11):

これを使うと,下記の作業を行わずに,かんたんに,Discordにsoundcloudなどの曲を表示することが可能になります。

 

 

 

 

GitHub - demaisj/soundcloud-rp: Adds Discord Rich Presence support to Soundcloud.

このリンク先のスクリプトとやり方を見て表示させた.

詳しくはリンク先のREADMEを見てくれればできる

 

前提として nodejs (v10) and npm (v6) が必要である.

Download | Node.js

 

以下の記事を参考にするといい(わからない場合は)

Node.js / npmをインストールする(for Windows) - Qiita

 

nodejsとnpmの設定が終わったら

f:id:masiroiizo:20200516150438p:plain

 

サーバー側の設定

Zipをダウンロードして(cloneでもいい)解凍する

cmd立ち上げて,「soundcloud-rp」 directoryに移動する

移動したら npm install する

SoundCloud – Listen to free music and podcasts on SoundCloudにとんでshift+ctrl+iで開発者ツールを立ち上げる

f:id:masiroiizo:20200516152904p:plain


Networkタブ が上部にあるので押す

Filterと書かれた検索欄があるのでそこに「api-v2.soundcloud.com」と入れて再読込する

一番上の最初のPublishなんたらがあるのでそいつを押す

Query String Parameters」という欄があるので探す

client_id の値をコピー

config/default.json のsoundcloudの中のClientID にペーストして({}も消して""の中に入れる)保存

cmdで npm run start

 

自動起動させるやり方が今試している最中でわからないので,知っている方がいれば教えていただけると助かります.

ブラウザー側の設定

Tampermonkey - Chrome ウェブストアを入れる

拡張機能のアイコンを押し,新規スクリプトを追加を押す

f:id:masiroiizo:20200516153113p:plain

ctrl+Aで全選択して,消す

soundcloud-rp.user.jssoundcloud-rp-masterの中にあるのでそいつをTampermonkeyのエディタの方へドラッグアンドドロップ

ファイルタブからの保存

soundcloudを開いて,エンジョイする

 

アートワーク(アルバムジャケット)の表示


ここは別にやらなくてもいいので
readme読んで(力尽きた)

 

以上!

 

chrome拡張使用頻度top5

今回は個人的によく使う汎用性が高いchrome拡張機能について紹介します.

 

    1. ダークモード
      ほとんどのサイトの背景をダークにしてくれるやつ
      これがないと目が死ぬ
      たまにこれが効いてくれないサイトがある

      chrome.google.com

    2. Google検索結果右寄せ(現在申請中)
      自分で初めてchrome拡張機能を作ってみたやつ

      chrome.google.com

    3. 画像自動拡大
      画像にマウスオーバーすると画像を拡大する

      chrome.google.com

    4. マウスコピペ
      マウスでなぞるとコピーしてくれる

      chrome.google.com

    5. deepl
      マウスでなぞって右クリしたときに表示されるメニューにdeepl飛び,コピーされて翻訳される

      chrome.google.com

 

 

「続ける方法」でググって1ページ目の記事を読み,まとめた話

三日坊主になる.
習慣にできない.
続かない.

続く方法をまず知らないのでは?

ググろう

ということで自分の無知に気づき,ぐぐって1ページ目を読んでみて,まとめてみました.上位にいられるのは荒波に飲まれなめらかになっている記事なのでは?と思ったのでとりあえず1ページだけ.

 ↓参考元

f:id:masiroiizo:20200417193216p:plain

ぐぐった.

 

結果がこちらです

f:id:masiroiizo:20200417193112p:plain

まとめた.

だいたいどの記事も同じことを言っていた.

このlifehackerの記事をベースにカテゴリ分けをした.

 

「なぜ習慣化するか」

習慣になると「頭を使わないでやる」,「思考しないで行う」というメリットを手に入れるために習慣化したい.

「基本を知ろう」

まず,人間とは変化に超弱い
変化することが脅威と捉えられる.
いつもどおりを維持しようとしてくる.

(そもそも人間の本質が邪魔してるのか...)

行動習慣:1カ月(習慣化への期間)

これは片づけ、英語の学習、日記、節約などの習慣。

身体習慣:3カ月

これはダイエット、運動、早起き、コミュニケーション、禁煙、筋トレなど身体のリズムに関わる習慣。

思考習慣:6カ月

これはポジティブ思考、発想力、論理的思考力などの考え方の習慣。

(ながい)

三日坊主で終わるのは,だんだんドーパミンが減ってきてうーんってなるから.

「カテゴリ分け順に解説」

まとめボードのカードの並び順に考えていくといいと思う.
重要なところだけ言う.

 

「やる前」

複数の目標を決めないで,シンプルに.

習慣化を一つにする.複数はNG.(一つもできねぇやつが複数できるわけない..)

 

「やめたくなる」~7日間

ベービーステップ,着火剤
→「一分でもいいからやる」
わりとやってみたら楽しくなって,ついついやっちゃう

一回失敗してもリスタートする
→まだ失敗していない,リスタート出来る.
もういっかいやってみよう.

 

「不安定」~21日間

パターン化する
いつ,どこで,どのくらいの時間,どうやってやるか
試してみて,合わなかったら変えていく柔軟性が大事.(フィット感)

例外ルールを決める
→予定通りにできないときにどうするか(ここを決めとかないと連続記録が途切れる)

 

「倦怠期」~30日間 or ~60日間 or ~90日間

次の習慣を計画してみる
→ここが楽しい.次,なにやろうかな?

 

 

読まなくていい
私自身,web英単語を今のところ続けられている.何日続けたのか確認したら19日続いていた.割とできた方だ.続かなかったのは,筋トレと早起きとその他たくさん.でも,リスタート大事精神でtogglで時間可視化とHIITという筋トレをまたやり始めた.リスタートは楽しい.個人的に続くのは仲間を作って巻き込むやつだ.ポモドーロ2回分一緒に学校の宿題やってる.50分は必ず勉強できる.チャレンジしてみることは重要.やればわかる.嫌になったらやめて,その気になったらリスタートすればいい.この記事だってリスタートで書いた.

TrelloとTogglを使った時間管理法

Trelloはタスクをカードとして扱え、リストに移したりできるサービスで
Togglは時間を記録してくれるサービス
可処分時間(自由に使える時間)を見つけるのに便利かもしれない(しっかりログ取れば)

適当にでもいいから使っていこう.

紹介

Trello(トレロ): タスクをカードとして扱いリスト間を移動できる
f:id:masiroiizo:20200117214622p:plain
trello.com


Toggl(トグル): タスクごとにかかった時間を記録する
f:id:masiroiizo:20200117214817p:plain
webアプリとDeskアプリの比較
toggl.com

使い方

Trello(タスクの方)

seleck.cc

Toggl(時間計測の方)

gigazine.net

TrelloとTogglの連携&便利

TrelloとToggl両方使うのなら連携してくれるChrome拡張機能ある
nanaho.me

Trello拡張

qiita.com

Togglでポモドーロ

note.com

作業の仕方を書きました
僕の作業のやり方について - ましろの興味が書く

Androidウィジェット便利

ウィジェットからアイデアをTrelloに登録しておいて、詳しい計画をPCで大体立てる.


左上にタスクの表示(Trello)
左下にいつでもタスクの時間を素早く記録する(Toggl)
でタスクの追加(Trello)

f:id:masiroiizo:20200117212826j:plain
スマホのTrelloとTogglのウィジェット

読まなくていい
元々習慣化できない方の人間でしたが、時間管理に挑戦してみたいなと思うようになり使い始めました
使って1週間ぐらいですが段々と習慣化してきました.でも,まだふわふわしているところもあります.

今はまだ使い続けることができています.よくタスクの登録を忘れてしまうことがありますがあとから追加がいくらでもできるところが好きです(toggl)
Togglではタスクをするのにタイトルを入れる→スタートを押す必要があり能動的にできます
IphoneIPadなどではスクリーンタイムを自動で記録できますがアプリで"何をやったかの記録"は出来ません.
あと受動的になってしまいますそうするとはえ〜くらいにしかスクリーンタイムを見ることができません(私自身が).
やりたいことを投げとけば自分がよくTrelloを見てくれるので勝手にやってくれて便利です(Trello)
ツールにサポートされるのは便利でいい.

Windows用快適環境構築

私も色々と試行錯誤している最中で中途半端なところもありますが,現段階で気に入って使っているソフト,設定,拡張機能を紹介します.

使い方は紹介しないので各自ググるように.

このリスト見づらくね.ノリがいい時に更新.試行し続ける.

ソフト

キーボード,マウス系

IMEの定番

Google IME

Google 日本語入力 – Google

IMEには定番のこいつを使っています.

カスタム内容

  • Ctrl+Spaceで「あ」←切り替え→「A」
  • 句読点の設定「、。」→「,.」へ(見た目がきれい)

ノウハウ的なやつ

「ZH」←「ZJ」↓「ZK」↑「ZL」→と入力できる!!!

「今日」で日付出せたり

「シークレット」でシークレットモードのONとか(きっと住所打つときとかに使うんで

CapsLockをCtrlへ変更

Ctrl2cap

「Ctrl2cap」でWindows 10でCaps LockキーをCtrlキーに変換する – 山本隆の開発日誌

日本語配列英語配列

ULE4JIS

ULE4JISの詳細情報 : Vector ソフトを探す!

こいつは日本語配列をいい感じに英語配列にしてくれるやつです.

Windowsの設定から英語配列にしたときに位置がずれたり,反応しなかったりするキーがあったのでこちらを使っています.

スタートアップに入れてwindows起動時に立ち上がるようにしとくと良い.

全角と半角をわかりやすくカーソルの右に常に表示

「ime cursor」の画像検索結果

「IME Cursor」IMEのONをマウスカーソル横の緑丸で表示 - 窓の杜

デスクトップ系

マウスで仮想デスクトップ切り替え

Podesk

Podeskの詳細情報 : Vector ソフトを探す!

マウスでディスプレイの端まで行ったときに仮想デスクトップを切り替えるやつ.

シングルモニター民には必須.

f:id:masiroiizo:20191224172258g:plain

 ステータスバーを透明にする.

TranslucentTB

見にくいところがあるので気分でやったりやらなかったり

「TranslucentTB」Windows 10のタスクバーをすりガラス状の半透明にできるソフト - 窓の杜

音の調節をやりやすくする

 Eartrumpet

「EarTrumpet」Windows 10にスタイリッシュな音量ミキサーを追加 - 窓の杜

エクスプローラー系

エクスプローラーにタブを追加

QTTabbar

【Windows 10】エクスプローラーをタブ化する QTTabbar | ラボラジアン

エクスプローラーにタブ(chromeの上のタイトルとか書いてあるやつ)を追加してくれるやつです.

f:id:masiroiizo:20191224174206p:plain

エクスプローラよりも検索が早い

Everything

「Everything」高速なファイル検索ソフト - 窓の杜

 こいつはエクスプローラーの検索強化版でインデックスというファイルを随時更新していて,検索が早くできるソフトです.

本体にインストールしないソフトウェア探すときに本当に使う.

chrome用拡張

基本

バックスペースでページを戻れる

Go Back With Backspase

いちいちCtrl+C(コピー)やりたくない

Auto Copy

Gmail,ドライブ,フォト,マップなどのサービスを小窓から見れる

Black Menu for Google

メッセージやURLをスマホや,ノートパソコンに送れる

Pushbullet

気になったサイトややろうと思う記事はここにストックしておけ

Save to Pocket

英語わからん

Google翻訳

あの作業の新効率どのくらい?

Chrome Remote

 

Twitterで記事シェアしまくるぜ

Share on Twitter

英語わからん

Weblio ポップアップ辞典

Youtubeよ..ループし続けろっ...!!

Youtube NonStop

Trello

No.つけるぜ

List Layouts for Trello

チェック見やすくする

Next Step for Trello

全体的に見たい (使い方わからん

Trello Birds-eye

Toggl

時間記録

Toggl Timetracker

設定

 ウィンドウの影をなくす

ウィンドウの枠下の影を除去する方法 - Windows 10

タスクバーを自動で収納する

賛否両論 気分のよって隠したりしなかったりする.

Windows10 - タスクバーを自動的に隠す - PC設定のカルマ

 

部屋の明かり(VRChat内実家と現実の実家)をOK,Googleでつけられるようにするまで.

 

一つの記事を見たところから始まった

この記事には外部世界と仮想世界のつなげ方(の概要)が書いてあるので興味が湧いた.

是非見て来てください!!(頭に入りやすくなる)

qiita.com

作った

実装

前提

 私の家にはGoogleHomeやamazon echoなどのデバイスがないので今回は自分のスマホ(android)についているGoogleアシスタントの機能を使い作成した.

GoogleHomeでも同じやり方でできそう.

実装の方法が随分と回りくどいのでご了承ください(自分で改良して♡)

全体像

OK,Google(andro)

{IFTTT使用  Google Assistantで拾い →Webhookで送る}

DiscordのWebhookで拾い →DiscoのBotに渡す

OSC(仮想世界用のスイッチ)とwebhook(電子工作でリモコン式の照明を消せるやつのスイッチ)を送る

いい感じに照明がつけられる

 IFTTTからDiscordへ

ifttt.com

 アクセス→Make your own Applets from scratch +

IFにGoogle assistantを追加

「Say a simple phrase」かんたんなフレーズ対応用

「What do you want to say」なんて言ったときに?

電気つけて(自由でいいです

f:id:masiroiizo:20191023190450p:plain

「What do you want the Assistant to say in response」なんて返答すればいいの

「creat」

 

That にwebhooksを

Discordのサーバー設定から

URLにDiscordのWebhookのURLをコピー

f:id:masiroiizo:20191023191158j:plain

f:id:masiroiizo:20191023191025p:plain

f:id:masiroiizo:20191023191405j:plain

IFTTTのWebhoockの「method」をPOSTへ

「Content Type」をapplication/json

「Body」を{ "content": "tukeruo" }へ(tukeruoの部分は何でもいいお

FINISH!!

 

OK,Google 「電気つけて」して試してみましょう!

しっかりとDiscordへ「tukeruo」と返ってきたらここまでは完璧です!

Discord BotとOSCと現実のライト用のWebhockのプログラム

参考

qiita.com

OSCメッセージでVRChatのアクションを実行する - じぇしかめも

 

ここからはPythonで作っていきます.

環境を書いておきます.

python 3.6.2

・pip 19.0.3

・discord.py 1.2.4

まずは pip install discord.py でdiscordのBotを利用するライブラリをインスコします.

その次に pip install python-osc でpythonoscパッケージをインスコします.

(OSCメッセージを利用するためのものです)

 

注意点

現実のライト用のコードはESP-32をBlynkにつなげてWebhookしたものになります.

つまりここのコードは準備ができたら書いてください(ESP-32を買う,赤外線LEDを買う,赤外線センサーを買う,Blynk用のソースを書く,Webhookでつなげる)

つまりdef ie_light():のところをコメントアウトしておいて.

ここの参考もおいておきます.

www.mgo-tec.com

 Bot作ってきて

qiita.com

 TOKENのところで少し解釈を間違ったので注意.(Client Secretの方をコピーしていたw)

f:id:masiroiizo:20191023204119j:plain

import discord
from pythonosc import udp_client
from pythonosc.osc_message_builder import OscMessageBuilder
import requests


def main(a):
    messe = ['/cube/activate', a]
    # 受信先のVRChat
    IP = '127.0.0.1'
    PORT = 9000

    # OSCメッセージ情報の読み込み
    address = messe[0]
    arg = messe[1]

    print(address)
    print(arg)

    # OSCメッセージの構築
    client = udp_client.UDPClient(IP, PORT)
    msg = OscMessageBuilder(address=address)
    msg.add_arg(arg)
    m = msg.build()

    # OSCメッセージの送信
    client.send(m)


def ie_light():
    url ='現実のライト用のWebhook'

    response = requests.get(url)

    print(requests)
    print(type(response))


# 自分のBotのアクセストークンに置き換えてください
TOKEN = 'DiscordのBotのアクセストークン'

# 接続に必要なオブジェクトを生成
client = discord.Client()

# 起動時に動作する処理
@client.event
async def on_ready():
    # 起動したらターミナルにログイン通知が表示される
    print('ログインしました')

# メッセージ受信時に動作する処理
@client.event
async def on_message(message):
    if message.content == 'tukeruo':
        main(1)
        ie_light()

    if message.content == 'kesuo':
        main(0)
        ie_light()
client.run(TOKEN)

 ここまでは全くUnityをいじっていません.

ジェシカさんのところのやり方を参考にしているのでUnityでの設定箇所はそちらをご覧ください(https://jscmla1118.hatenablog.com/entry/2018/11/10/184833)

 

すごい丸投げ