Gobble up pudding

プログラミングの記事がメインのブログです。

MENU

Windows 10 バージョン1803でhangoutsなどのマイク音声が拾えない

f:id:fa11enprince:20190529015947j:plain 久々にhangoutsでマイクを使おうと思ったら、トラブりました。
相手に音が聞こえないようです。
Skypeでは聞こえるのに…
ちなみにhangoutsはサービスが終了する見込みのようですね。
10年前のマイクデバイスを使ってたので調子悪いのかな…なんて思ったりしましたが、
違いました。
対処法ですが下記のサイトが参考になります

maxedtech.com

  1. Windowsの設定に行き、プライバシーを選択してください。
  2. [マイク]を選択し、[アプリからマイクへのアクセスを許可する]トグルをオンにします。
  3. [マイクにアクセスできるアプリケーションを選択してください]の下で、一部のデスクトップアプリケーションでは必要になるため、Win32WebViewHost(後で "デスクトップアプリケーションWebビューア"と名前を変更)がオンになっていることを確認します。
  4. マイクを使用したい場所でこれらのアプリケーションを再起動します。
  5. (オプション)アプリからマイクへのアクセスをブロックするには、アプリごとにマイクをオフにする必要があります。あなたはあなたがインストールするそれぞれの新しいアプリの後にこれをしなければならないでしょう。一部のデスクトップアプリケーションでは必要になるため、Win32WebViewHost(以降「デスクトップアプリケーションWebビューア」と呼ばれます)のマイクアクセスを無効にしないことをお勧めします。

3が特に重要です。Win32WebViewHostってのをONにしないとおそらくダメです。
私の場合はこれに該当していました。
f:id:fa11enprince:20190529015851p:plain どういう人がこの症状に当たっているか謎ですが、
私の場合はWindows 8 → Windows 8.1 → Windows 10無償アップデート → Windows 10 Proと変遷してます。

Vue.jsでテーブルソートを作ってみた

f:id:fa11enprince:20190517072518j:plain Vueの練習を兼ねてVueでテーブルソートを作ってみました。
気が向いたらPagerも作るつもり(気が向いたら)。
SPAは最近興味がないので(大半のケースでオーバースペックなので…)
単純にscriptタグでVueを入れてるケースです。 Vueをあえて選ぶ勢ってたぶんですが、
何らかのフレームワークで
サーバサイドでレンダリングしたページにそこそこ複雑な動きを付けたい…
ってユースケースだと思うのです。
いや、TypeScript + Vuex勢もそこそこいるのはもちろんだと思いますが…。
全部JavaScriptでSPAにするニーズは逆にあまりないんじゃないかと
Angularをつかうとこのあたり強制的にSPAになってしまうんで、
(その代わりコードの統制が取れて綺麗になります。開発メンバーが一定以上のレベルがあればそれでいいが…)
いろいろ辛いですよね。

話がそれましたが、JQuery Pluginにあるような、 シフトを押しながらヘッダーをクリックすると優先順位付きソートができるようにしました。
JavaScriptのソートって安定ソートじゃないから辛いっすね…。
何かいいライブラリ知ってる方がいたら教えてください

github.com

レジストリの右クリック関連メモ

f:id:fa11enprince:20190427161451j:plain Explorerで右クリックしたときのコンテキストメニューは簡単に編集できる
レジストリをいじればOK
例えばVS Codeの場合、インストール時にVSCodeで開くのメニューを出すチェックを入れ忘れた場合など、次のようにして追加することができる

Win + Rキー
regedit
コンピューター\HKEY_CLASSES_ROOT\Directory\shell\
右クリック > 新規 > キー
VSCodeを作る
 値: VSCodeで開く(&C)
VSCodeのところで右クリック > 新規 > キー
commandを作る
 値: "C:\Program Files\Microsoft VS Code\Code.exe" %1
※%1は右クリックしたときの引数(クリックしたときのファイル/フォルダ)が入る

雑な説明なので詳細は参考リンクを見ていただいたほうがいいと思われる この辺りを調べると、 コンピューター\HKEY_CLASSES_ROOT\Directory\shell\VSCode\command
以外にもいろいろキーが登録されていて、邪魔なやつは消せばよい
あと似たようなのに
コンピューター\HKEY_CLASSES_ROOT\Directory\Background\shell\...
というのが存在する
このBackground有り無しはフォルダ/ファイルの上で右クリックするか、
何もないところで右クリックするかの違いである
ITエンジニアの方なら、単なるデータベースだと直感的にわかるので、
邪魔だ…と思うのはこの辺を消してしまうとよい
(自己責任でお願いします。よほど思い切った消し方しなければ大丈夫だと思うけど) この辺りの情報まとまってないかなーとおもったら、まとめてくれているところがありました
stakiran.hatenablog.com

参考URL

https://qiita.com/cielrion/items/21d064b47cad21e2c7e0 https://boukenki.info/migi-click-menu-shortcut-key-registry-settei-houhou/

Windows 10 ProでWordPressをDocker Composeで10分以内で構築してみる

f:id:fa11enprince:20190420105826j:plain Docker for Windowsが入っていれば30秒以内です。
Java大好き人間ですがPHP系の話題を書いてみます。
Dockerは既に入ってるよって人はdocker-composeのための設定から読んでください。

前提条件

Dockerが使える環境であること前提となります。
やや語弊がありますが、ほぼWindows Nativeで使いたい場合、
Windows 10 Professional Edition (64bit)である必要があります(=要Hyper-V)。
もしくはmacOSかLinuxであることが前提になります。
どうしてもWindows Home Editionでdockerを使う場合、 通常はVirtual Box/VMware上にUbuntu/CentOS等をインストールしてそのうえでDockerを使うことになります。
一応Windows Subsystem for Linuxでも可ですが、少し環境構築のハードルは上がると思います。
あとは…Docker Tool Boxなるものがあったのでそれでも良いです。

今回はWindows 10 Professional Editionの場合のみ説明します。

Hyper-Vの有効化

管理者権限で以下のコマンドを入力した後に、Windowsを再起動します。

bcdedit /set hypervisorlaunchtype auto

このあたりは上記コマンドラインでなくてもググるといろいろやり方が書いてあるので、どの方法でやっていただいても結構です。

Docker for Windowsのインストール

https://docs.docker.com/docker-for-windows/install/
よりDocker for Windowsをダウンロードします。
Docker Hubのアカウントが必要ですが、無料ですので作ってしまいましょう。
あとはインストーラーを起動するだけでOKです。

docker-composeのための設定

Win+Rでcmdと入力します %USERPROFILE%になっている(通常C:\Users\[ユーザ名])ことを確認します。
docker-wpディレクトリを作成し、そのディレクトリ内に移動します。

> mkdir docker-wp
> cd docker-wp

docker-compse.ymlのファイルを作ります。
まずはstartコマンドでカレントディレクトリを開きます。

> start .

Explorerが立ち上がるので右クリック等で新規ファイル(テキストドキュメント)を作成し、 F2キー等でdocker-compose.ymlにリネームし、メモ帳等で開き、次の内容を記入します(コピペ) お試し環境のためパスワード等は脆弱な設定になっています。

version: '3.3'

services:
   db:
     image: mysql:5.7
     volumes:
       - db_data:/var/lib/mysql
     restart: always
     environment:
       MYSQL_ROOT_PASSWORD: root
       MYSQL_DATABASE: wp_db
       MYSQL_USER: wp_user
       MYSQL_PASSWORD: wordpress

   wordpress:
     depends_on:
       - db
     image: wordpress:latest
     ports:
       - "8080:80"
     restart: always
     environment:
       WORDPRESS_DB_HOST: db:3306
       WORDPRESS_DB_NAME: wp_db
       WORDPRESS_DB_USER: wp_user
       WORDPRESS_DB_PASSWORD: wordpress
volumes:
    db_data: {}

簡単に記載していることを説明しますと、
データベースであるMySQLとWordPressを入れるようにするのと、
それぞれデータベースのユーザ名とパスワードを指定しています。
また、HTTPでアクセスするときのポートをデフォルトの80から8080へ変更しています。
あとPC再起動のときなどrestart: alwaysで必ず勝手に立ち上がるようにしています。 それが嫌な場合は毎回手動でdocker-compse up/downをする必要があります。

MySQLは5.7系を使うこととします。WordPressは最新版を使います。

docker-compose.ymlのあるディレクトリでdocker-compose up -dを実行します -dはバックグラウンド実行を意味します。

> docker-compose up -d

このとき、右下にクジラが出てきてShare itってのが出てくるのでそれを押します(押さないとエラーになってしまいます) docker pullコマンドが自動的に実行され、最終的にMySQLとWordPressのプロセスが立ち上がります。 確認のため下記のコマンドを実行します

> docker container ps -a
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                  NAMES
1a19e6e913ad        wordpress:latest    "docker-entrypoint.s…"   54 seconds ago      Up 52 seconds       0.0.0.0:8080->80/tcp   docker-wp_wordpress_1
4d4964e58524        mysql:5.7.26        "docker-entrypoint.s…"   55 seconds ago      Up 54 seconds       3306/tcp, 33060/tcp    docker-wp_db_1

このように表示されていればOKです。

Chrome等のブラウザにてhttp://localhost:8080 を押します。

WordPressの初期設定画面に行くはずです。

以降、PCの電源をOFFにしても上記URLをブラウザで入力するとWordPressを使うことができます。
それをやめたい場合はymlファイルを編集するか、下記のコマンドを入力すればOKです。

docker update --restart=no [CONTAINER-ID]

PC再起動時の補足

再起動後、 Docker desktop is running ... と出るまで待ってあげましょう。
横着な人は、タスクバーに隠れてるDocker for WindowsのアイコンのSettingsをみて
Docker is runningになっているのを確認しましょう。
結構起動するまで待たされます。

その後、 http://localhost:8080
と打ってあげるとうまくいきます。

参考リンク

https://docs.docker.com/compose/wordpress/
https://qiita.com/shimisunet/items/1406e33e1eeb36665f2c
https://qiita.com/koyo-miyamura/items/a760dd57160155d3b764

次回はUbuntuでの環境構築を書きたいと思います…(あくまで予定)

GitHubで2段階認証を利用していてhttpでgit cloneできなくなった際の対処法

f:id:fa11enprince:20180728223008j:plain 何台かマシンを所有していて、たまに使うマシンでgit cloneするとユーザ名とパスワードを聞かれて、しかもパスワードを正しいのを入れても

$ git clone https://github.com/foo/private_reop_bar.git
fatal: Authentication failed for 'https://github.com/foo/private_repo_bar.git

となってしまって、何故だと思ったのでメモ。
ところが一方

$ git clone git@github.com:foo/private_repo_bar.git

のsshプロトコルではうまくいきます。
ちなみに2段階認証だけでなく公開鍵認証を使っています。

公開鍵認証が失敗している

そもそも公開鍵認証が失敗している可能性もある方もいると思うのでまずはそちらを疑ってみましょう

ssh -T git@github.com
Hi foo! You've successfully authenticated, but GitHub does not provide shell access.

となればOKです。
ダメな場合は次を疑ってみましょう。

GitHubに公開鍵を登録してない

複数台マシンを使っているとやりがちです。
あれ登録してなかったっけ・・・となります

秘密鍵が読めてない

秘密鍵をいくつかある場合、デフォルトの秘密鍵の名前から変えていることがあり、デフォルトでは

~/.ssh/id_rsa

です。これを~/.ssh/github_id_rsaとかに変えている場合は~/.ssh/configファイルに設定を書いてやらねばなりません。
パーミッションが0600になっていないケースもあります。

ssh-addしてない

Windowsマシンで起こりがちです。
Git Bashなどで

$ eval $(ssh-agent)
$ ssh-add ~/.ssh/id_rsa

を~/.bashrcなどに仕込んでやりましょう

2段階認証でhttpsが使えない

本題のこちら。こちらの場合はPersonal access tokenが必要なようです。
GitHubでProfileページから辿れるDeveloper Settingsの中にあるPersonal access tokensのページにてtokenを設定します。

そうすると40文字のアクセストークンが1度だけ作成時に表示されるのでそれを使いましょう。

参考情報

Githubに接続できない時の対処法 - Qiita
Githubの2段階認証を実施してgitコマンドが使えないときにやったこと - Qiita