備忘録

備忘録

Ubuntuでマウスのスクロール量を調整する方法

Ⅰ. はじめに

タイトルの通り「Ubuntuでマウスのスクロール量を調整する方法」です。

Ⅱ. 環境

Ⅱ. スクロール量を調整する方法

1. imwheel をインストールする
sudo apt install imwheel
2. .imwheelrc を作成する

スクロール量として3を設定しています。

$ vim ~/.imwheelrc
".*"
None,      Up,   Button4, 3
None,      Down, Button5, 3
3. imwheel を起動する

期待するスクロール量に変化したかを確認する

imwheel

# 終了する時
# killall imwheel

Ⅲ. imwheel を自動起動する方法

1. 自動起動のプロパティを開く
gnome-session-properties
2. imwheel を追加する

f:id:kagasu:20190512003239p:plain

Puppeteerでレスポンスを書き換える方法

Ⅰ. はじめに

タイトルの通り「Puppeteerでレスポンスを書き換える方法」です。

Ⅱ. やり方

1. テスト用のサンプルプログラムを書く

index.html

<html>
  <script>
    (async() => {
      let res = await fetch('/get_data.php')
      let json = await res.json()
      // console.log(json)
    })()
  </script>
</html>

get_data.php

<?php
$obj = [
  'name' => 'tanaka',
  'age' => 20
];

echo json_encode($obj);
2. Puppeteerのサンプルプログラムを書く

index.js

const puppeteer = require('puppeteer');

(async () => {
  const browser = await puppeteer.launch({
    headless: false
  })
  const page = await browser.newPage()

  await page.setRequestInterception(true)
  page.on('request', req => {
    let url = req.url()
    if (url.includes('get_data.php')) {
      req.respond({
        status: 200,
        contentType: 'application/json',
        body: JSON.stringify({
          'name': 'yamada',
          'age': 21
        })
      })
    } else {
      req.continue()
    }
  })

  await page.goto('http://127.0.0.1')

  // browser.close()
})()

実行結果

before after
f:id:kagasu:20190511103114p:plain f:id:kagasu:20190511103119p:plain

Puppeteer で指定した要素だけスクリーンショットを撮る方法

Ⅰ. はじめに

タイトルの通り「Puppeteer で指定した要素だけスクリーンショットを撮る方法」です。

Ⅱ. やり方

1. サンプルプログラムを書く
const puppeteer = require('puppeteer');

(async () => {
  const browser = await puppeteer.launch()
  const page = await browser.newPage()
  await page.goto('http://example.com')
  let element = await page.$('h1')
  // 指定した要素だけスクリーンショットを撮る
  await element.screenshot({ path: 'out1.png' })
  // 比較用にページ全体のスクリーンショットを撮る
  await page.screenshot( { path: 'out2.png' })

  await browser.close()
})()

実行結果

out1.png out2.png
f:id:kagasu:20190509135420p:plain f:id:kagasu:20190509135427p:plain

PowerShell スクリプトを実行する方法

Ⅰ. はじめに

タイトルの通り「PowerShell スクリプトを実行する方法」です。

セキュリティ上、デフォルト設定ではPowerShell スクリプトを実行する事が出来ません。
以下のエラーが出力されます。

PS C:\> .\test.ps1
.\test.ps1 : このシステムではスクリプトの実行が無効になっているため、ファイル C:\test.ps1 を読み込
むことができません。詳細については、「about_Execution_Policies」(https://go.microsoft.com/fwlink/?LinkID=135170) を参照
してください。
発生場所 行:1 文字:1
+ .\test.ps1
+ ~~~~~~~~~~
    + CategoryInfo          : セキュリティ エラー: (: ) []、PSSecurityException
    + FullyQualifiedErrorId : UnauthorizedAccess

Ⅱ. やり方

1. 以下のコマンドを実行する
Set-ExecutionPolicy Bypass -Scope CurrentUser

FAQ

Q. ps1 ファイルをダブルクリックで実行したい

A. 以下のテキストをx.regという名前をつけて保存し、実行する。

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Microsoft.PowerShellScript.1\shell\open\command]
@="\"C:\\WINDOWS\\system32\\WindowsPowerShell\\v1.0\\powershell.exe\" \"%1\""

[HKEY_CLASSES_ROOT\Microsoft.PowerShellScript.1\ShellEx\DropHandler]
@="{60254CA5-953B-11CF-8C96-00AA00B8708C}"

Visual Studio 2019で Windows SDK 8.1 を利用する方法

Ⅰ. はじめに

タイトルの通り「Visual Studio 2019で Windows SDK 8.1 を利用する方法」です。

Visual Studio 2019 から Visual Studio Installer を利用して Windows SDK 8.1 をインストールする事ができなくなりました。
この記事では Windows SDK 8.1 を直接ダウンロードし、利用する方法を紹介します。

Ⅱ. やり方

2. Windows 8.1 SDK をダウンロードする

※2021/01/22追記
「INSTALL SDK」をクリックしてもダウンロードが自動開始されないバグ(?)があるようです。
リンクアドレスをコピーして手動でURLに移動することで回避できます。

f:id:kagasu:20190508223334p:plain

3. sdksetup.exe を起動しインストールする