動画サイズの計算

ピクセルから計算。
1280 px * 720 px * 24 bit = 22118400 bit
22118400 bit / 1000 = 22118.4 Kbit  【 / 1000 = K】
22118.4 Kbit / 1000 = 22.1184 Mbit  【K / 1000 = M】
22.1184 Mbit * 30fps = 663.552 Mbps  【bit * フレームレート = bps】
128 Kbps / 1000 = 0.128 Mbps  【音声】
663.552 Mbps + 0.128 Mbps = 663.68 Mbps  【映像 + 音声】
663.68 Mbps / 8 = 82.96MB/s 【bps / 8 = byte】

最初から映像や音声がKbpsの場合。
( 映像 Kbps + 音声 Kbps ) × 再生時間 sec / 8 / 1000

ちなみに音声の場合。
44100 Hz * 16 bit * 2 ch * 3 sec = 4233600 bit
4233600 / 8 = 529200 byte
529200 / 1000 = 529.2 KB

Youtubeでの表示

144p   → 256×144
240p   → 427×240
360p   → 640×360
480p   → 720×480
720p   → 1280×720  (HD)
1080p → 1920×1080(FHD)
1440p → 2560×1440(2K)
2160p → 3840×2160(4K)

ネットワーク メモ

・ダムハブ(リピータハブ)
全てのポートに転送する。

・VLAN
スイッチやルータで作れる、ネットワーク(セグメント)を分ける機能。
ポートVLAN
タグVLAN
など

・マルチプルVLAN
ポートベースVLANで一つのポートが複数のVLANに参加できるようにする。

・マルチプルVLANのポート
マルチプルポート=アップリンクポート=オーバーラップポート

・IPアドレス
ABCとクラスに分ける、クラスフルは現在利用されず、現在はクラスレス(CIDR)だが、プライベートアドレスは
A:10.0.0.0 – 10.255.255.255(10.0.0.0/8)
B:172.16.0.0  – 172.31.255.255(172.16.0.0/12)
C:192.168.0.0 – 192.168.255.255(192.168.0.0/16)
と予約(クラス分け)されている。

https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q13118580668

x.x.x.0=ネットワーク識別用アドレス
x.x.x.255=ブロードキャストアドレス

・サブネット化(サブネッティング)
トラフィックが多い場合、ネットワークを小さく分けることで、それぞれの通信も抑制できる。ネットワーク部.ホスト部が、あり、デフォルトで指定されている部分を拡張した部分をサブネット部と呼ぶ。

クラスのデフォルトのネットワーク部を拡張した部分をサブネット部をと呼び、
“ネットワーク部.サブネット部.ホスト部”とすることになっているが、
ローカルIPアドレスのクラス分けが予約のためなので、
“ネットワーク部.サブネット部.ホスト部”は、サブネット部も含めてネットワーク部と考えれば問題ない。サブネット化はネットワークを小さくすること。

https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1497905699

https://e-words.jp/w/%E3%82%B5%E3%83%96%E3%83%8D%E3%83%83%E3%83%88%E5%8C%96.html

・ARP
IPアドレスからMACアドレスを調べるブロードキャスト。

・L2スイッチ
MACアドレスを記憶している。送られてきたデータを、対象が接続されたポートにのみ転送する。
※適切な相手にのみ流す=スッチング。

・L3スイッチ
IPアドレスで参照する。異なるネットワークを接続できる。
同じネットワークならMACアドレス、ネットワークが違うとIPアドレスを利用。

・PPPoE
IPv4、IPv6
ID/パスワードで接続する従来のネット接続のこと。

・PPPoEパススルー(PPPoEブリッジ)
ルーターを介さず接続。

・IPoE
IPv6
LANと同じプロトコル(PPPを利用しない)でネットまで接続する。
回線認証で接続する。
NAT不要。

・NAT
一つのローカルアドレスと一つのグローバルアドレスを変換する。

・NAPT(IPマスカレード)
複数のローカルアドレスを一つのグローバルアドレスに変換する。
ポート番号を利用してパケットの対応づけを行う。

・NATトラバーサル
NAT/NAPTを利用したネットワークでIPSecを利用する技術。
IPSecパケットをNAT/NAPTを通過させるために必要な技術。

・Wi-FI暗号化

暗号化方式として以下がある。(プロトコル / アルゴリズム)
WEP / RC4
TKIP / RC4
CCMP / AES ※AESと呼ばれることが多い

認証方式としてパーソナルとエンタープライズがある。
パーソナル:PSK認証
エンタープライズ:専用サーバーでの認証

規格として以下がある。(方式/プロトコル/アルゴリズム)
WEP/WEP/RC4
WPA-PSK/CCMP/AES
WPA-PSK/TKIP/RC4
WPA2-PSK/CCMP/AES
WPA2-PSK/TKIP/RC4
WPA3-SAE/CCMP/AES

PSK(Pre-Shared Key):共通パスワード
SAE(Simultaneous Authentication of Equals):
パスワードそのものはやり取りせず、正しいパスワードを使って計算すれば正解が出る問題やり取りして認証する方式らしい。。

・電波帯

2.4GHz(g):障害物に強い。他の電波(レンジ等)と干渉しやすい。
5GHz(a):障害物に弱い。電波干渉が少ない。
WiFi5以降5GHz(a)を選択で問題ない。

・IEEE802.11規格

ax:2.4GHz|5GHz / WiFi6 / 9.6Gbps
ac:5GHz / WiFi5 / 6.9Gbps(867Mbps*8)
n:2.4GHz|5GHz / WiFi4 /600Mbps(150Mbps*4)
g:2.4GHz / 第3世代 / 54Mbps
a:5GHz / 第2世代 / 54Mbps
b:2.4GHz / 第2世代 / 11Mbps

・b/g/n/axチャンネル
1-14チャンネル
1CHあたり22MHz

・a/n/ac/axチャンネル
J52:34,38,42,46
W52:36,40,44,48
W53:52,56,60,64
W56:100,104,108,112,116,120,124,128,132,136,140,144
1CHあたり20MHz

・ボンディング
隣り合うチャンネルを束ねる。
NEC Aterm:デュアルチャネル、クワッドチャネル、オクタチャネル
バッファロー:倍速モード

・ストリーム数/アンテナ数
✕で表示されるているのは受信と送信。
MIMOと呼ばれる。本数分同時に通信できるので多い方が速度がでる。
1ストリームごとの速度は規格によって違う。
acの例)
2.4GHz(g):150,300,450,600Mbps
5GHz(a):433,867,1300,1733Mbps

・LANケーブル

cat5 / 100M bps
cat5e / 1G bps
cat6 / 1G bps
cat6A / 10G bps
cat7 / 10G bps
cat7A / 10G bps
cat8 / 40G bps

C# 型情報取得

ds.min.js

C# Webサーバー

サーバ1

サーバ2

C# 付箋紙プログラム

以下は未使用。

Program.cs

Form1.cs

画像の場合

 

ここまで未使用。

サイズ変更の作りがおかしかったので、以下、修正版。画像を表示しておくため位置をxmlにシリアライズ。

Progam.cs

Form1.cs

これでデスクトップに画像を表示しておくことができる。

以下はテキスト用にForm1だけさらに修正。デスクトップに表示させておいてメモとして利用
Form1.cs

Androidで取得した値をメールで確認

Androidで自動で値を収集して、それをレンサバにPOSTして、レンサバから自動でメール送信。

レンタルサーバーの設定

エックスサーバーのcronにスクリプトをフルパスで追加。
/home/xxx/xxx/script
のような感じにして、scriptのパーミッションは701に設定。

スクリプトの実体
tmp=`cat /xxx/xxx.txt`
echo “$tmp” | mail -s “title” mail@xxx.com
echo “” > /xxx/xxx.txt

これで、xxx.txtの値を定期送信する。

xxx.txtを作成するためのスクリプトは以下

ここでは単純POSTを受け取ったら作成する。

送信するのはAndroid

WordPress カスタマイズ(VerUp含む)

不要ファイル削除

・バージョンアップ時、再実行。

public_html
にて実行。
rm -i readme.html
rm -i license.txt
rm -i wp-config-sample.php

記事一覧

・バージョンアップ時、再実行。

WordPress 記事一覧インクリメンタル検索

タイトル表示(投稿)を消す

・バージョンアップ時、再実行。

wp-content/themes/xxx/index.php
の中で以下のようにコメントアウトする。

Analytics/AdSense連携

・バージョンアップ時、再実行。

Google Analytics/AdSense WordPress 連携

テーマの幅変更

・バージョンアップ時、再実行。

wp-content/themes/xxx/style.css
の3408行(/* Layout */)以下、変更。

.wrap
max-width
を1000pxから1200px

.has-sidebar:not(.error404) #primary
width
を58%から62%

.has-sidebar #secondary
width
を36%から32%

Aタグアンダーバー非表示

・バージョンアップ時、再実行。

wp-content/themes/xxx/style.css
の中で
.entry-content a(1191行)
が含まれる
-webkit-box-shadow: inset 0 -1px 0 rgba(15, 15, 15, 1);
box-shadow: inset 0 -1px 0 rgba(15, 15, 15, 1);
をコメントアウト。

.entry-content a:focus(1237行)
.entry-content a:hover(1238行)
が含まれる
-webkit-box-shadow: inset 0 0 0 rgba(0, 0, 0, 0), 0 3px 0 rgba(0, 0, 0, 1);
box-shadow: inset 0 0 0 rgba(0, 0, 0, 0), 0 3px 0 rgba(0, 0, 0, 1);
をコメントアウト。

タグ一覧で本文非表示

・バージョンアップ時、再実行。

wp-content/themes/xxx
の中に、
tag.php
を作成し以下のように記入。

更新順ウィジェット

・プラグイン化済み

WordPress 更新順ウィジェット

特定のページにJavaScriptを挿入

・プラグイン化済み

ここでは下記に挿入しているコード。

FFmpeg メモ

タグクラウドを投稿数順に変更

・プラグイン化済み

タグクラウドにCSSを適用

・プラグイン化済み

REST APIを無効化

・プラグイン化済み

パーマリンクが標準だと動かないが、塞がれているわけではないので注意。

http://okamurax.com/wp-json/wp/v2/posts
http://okamurax.com/?rest_route=/wp/v2/posts

更新日を変更しない

更新日を更新しないチェックボックスを記事編集画面に追加。

・プラグイン化済み

 

favicon設定

・初回のみ

header.phpとwp-login.php
のheadタグの中に以下を追加

ダッシュボード>外観>カスタマイズ>サイト基本情報>サイトアイコン
からも変更することができる。

パーミション変更

・初回のみ

find . -type d | xargs chmod 705
find . -type f | xargs chmod 604
find . -name “wp-config.php” | xargs chmod 600

IPアドレスでログインを弾く

・初回のみ+IPアドレス変更時

wp-login.phpのある階層の.htaccessに以下を追記

wp-adminの直下にある.htaccessにも以下を追記。

※orderにてallowとdeny各ディレクティブのどちらを先に評価するか順番を指定する。
order allow,deny:許可→拒否
order deny,allow:拒否→許可

・2.4以降

wp-login.phpの階層

wp-adminの直下

(未使用)ウィジットの最新の投稿を更新順に変更

wp-includes/widgets/class-wp-widget-recent-posts.php
の中にある
$r = new WP_Query()
の中に条件の連想配列があるので、以下を追加する。
‘orderby’=>’modified’

これで更新順になる。
Wordpressのバージョンアップ時に消えるときがある。

(未使用)更新日を表示

wp-includes/widgets/class-wp-widget-recent-posts.php
の中で以下のように変更

 

(未使用)ナビメニュー非表示

wp-content/themes/xxx/header.php
の中にある
wp_nav_menu()
をコメントアウト

(未使用)トップページから特定カテゴリ非表示

functions.phpに以下を追加。

 

(未使用)Google検索ボックス追加

ウィジェットでテキストを追加する。

(未使用)ログイン状態でリダイレクト

(未使用)自作タグクラウド

ウィジェットにショートコードを入れれば表示される。

Apache+PassengerでRailsを動かす

passengerインストール(gem)

sudo gem install passenger

sudo /usr/local/bin/passenger-install-apache2-module
を実行する。(該当ファイルが見つからない場合。sudo find / -name “*passenger*” -type f)

最後に必要な追加が表示される。
sudo apt-get install libcurl4-openssl-dev
sudo apt-get install libcurl4-gnutls-dev
sudo apt-get install apache2-dev
sudo apt-get install libapr1-dev
sudo apt-get install libaprutil1-dev

表示されたとおり不足の機能をインストールして、もう一回以下を実行。
sudo /usr/local/bin/passenger-install-apache2-module

All goodと表示されるまで繰り返せばOKのハズだけど、今回は、
fatal error: openssl/pem.h: そのようなファイ ルやディレクトリはありません
と表示されてしまう。

必要な追加では表示されないが、opensshでエラーなので、
以下をインストールしてみる。
sudo apt-get install libssl-dev

インストールが無事終了すると、
LoadModule passenger_module /var/lib/gems/2.3.0/gems/passenger-5.1.2/buildout/apache2/mod_passenger.so
<IfModule mod_passenger.c>
PassengerRoot /var/lib/gems/2.3.0/gems/passenger-5.1.2
PassengerDefaultRuby /usr/bin/ruby2.3
</IfModule>
のように表示されるので、apacheの設定に追加する。

基本設定

もともとのDocumentRootは
/home/okamura/www
だったので、そこで
rails new test_app
を実行して新しいrailsのフォルダを作成してみた。

実体としては
/home/okamura/www/test_app
がrailsのプロジェクトフォルダとなる。

VirtualHostの項目で
DocumentRoot /home/okamura/www/test_app/public
として、開発なので以下を追加しておく。
RailsEnv development

これで問題なく動いた。

サブディレクトリで複数動かす場合

railsのpublicの実体が
/home/okamura/www/test_app/public
apacheのconfでのdocumentrootが
/home/okamura/www/test_app/public
とするのが基本。

サブディレクトリで複数のアプリを動かしたい場合。
apacheのconfでdocumentrootを
/home/okamura/www
にする。

RailsBaseURI /app1
RailsBaseURI /app2
を追加する。

railsのpublicの実体のシンボリックを作る。
sudo ln -s /home/okamura/ruby/asagao/public /home/okamura/www/app1
sudo ln -s /home/okamura/ruby/pico_planner/public /home/okamura/www/app2

apacheのconfはこんな感じ。
DocumentRoot /home/okamura/www
RailsBaseURI /app1
RailsBaseURI /app2
RailsEnv development

Ubuntu インストール用USBメモリ

Ubuntu USBメモリ操作

USBメモリ接続後にdfコマンドを実行する。

表示の見方は
scsiデバイス、sda,sdb,sdc
ideデバイス、hda,hdb,hdc,hdd
のようになる。

今回は、dev/sdb1となった。しっかり覚えておく。

sudo dd if=/home/okamura/download/CentOS-7-x86_64-DVD-1611.iso of=/dev/sdb1 bs=32M
ifはフルパス。of=は出力先指定。間違えると大変。

watch -n 30 pkill -USR1 dd
USR1シグナルをddコマンドに送っている。

/media/okamura/の一覧にあるのでumountする。
sudo umount ESD-USB

MBRのコピーならこういう風に書く。
sudo dd if=/dev/sda1 of=/dev/sdb1 bs=446 count=1

USBブートしない場合、
BIOSの設定を変更する。
DELLの場合F2、ThinkPadはF1だった。