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 カスタマイズ(更新含む)

記事一覧

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

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

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

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

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

テーマの幅変更

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

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%

(未使用)不要ファイル削除

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

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

(未使用)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);
をコメントアウト。

(未使用)Analytics/AdSense連携

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

Google Analytics/AdSense WordPress 連携

(未使用)タグ一覧で本文非表示

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

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だった。

PCの電源関連

・ACアダプタ

規格が多いので基本的に純正を使うべき。

ACアダプタによくあるINPUTは消費量、OUTPUTはそこまで供給できる。ただし、INPUTに関してはほぼ家庭用電源に合わせてあるので、考える必要はない。

機器の電流はその電流以上で使ってくださいの意味で、機器とACアダプタの関係は以下の通り。(左が機器、右がACアダプタ)ACアダプタを純正品から汎用品などに変更する場合も同じ。(左が純正品、右が汎用品)

電圧 == 電圧 (V) ※アダプタが高いと機器が故障、低いと動作しない。
電流 < 電流 (A) ※アダプタが低いとアダプタが故障。
電力 <= 電力 (W)
極性 == 極性 (センタープラス / センターマイナス)
口経 == 口経

・その他の分類

AC-ACとAC-DCアダプター

PC(家電)はほぼAC-DCアダプターなので、心配する必要はない。

トランス式とスイッチング式。

トランス式は重く、スイッチング式は軽い。PC(家電)ではほぼスイッチング式なので、心配する必要はない。

安定化電源、非安定化電源。

スイッチング式は安定化電源となる。

***

ACアダプタがないデスクトップはPCの内部で直流に変換している。

・ケーブル

PCの電源ケーブルによくある
7A / 125Vは、そのケーブルで7A / 125Vまで流せるということ。

・実際の消費量

自宅にある機器の仕様を少し調べてみると、使い方などでかなり幅があるけど、概ね、デスクトップPCで50~150W、ノートPCで10~50W程度で、タブレットなどはさらに少ない感じ。

・USB PD(USB Power Delivery)

従来のUSBは5V*0.5A=2.5W

USB PDでは、
Aは3A/5A
Vは5V/9V/15V/20V/
の組み合わせで15W~100W
(EPR仕様では48Vもある)

60W以上は5A対応のケーブルが必要。

ノートPCの場合、アダプタの出力が小さいと充電されないことがあり、出力が大きくても機器を壊すことはない。
目安として45W以上であれば充電されないということはない。

・オームの法則

電圧 (V)=抵抗(R)*電流(A)
抵抗 (R)=電圧(V)/電流(A)
電流 (A)=電圧(V)/抵抗(R)
(電圧(V)は、電流(A)、抵抗(R)と比例。電流(A)と抵抗(R)は反比例)

V
A | R

W=V*A
A=W/V

 

Ubuntu ユーザー関連、パーミッション

ユーザ

ユーザ一覧
getent passwd
less /etc/passwd

区切られた内容は以下の通り。
・ユーザ名
・パスワード
・ユーザーID
・グループID
・コメント
・ホームディレクトリ
・利用シェル

ユーザ情報
id xxx

グループ

グループ一覧
getent group
less /etc/group

グループに所属ユーザの確認
getent group xxx

グループの作成
groupadd wp

グループにユーザを追加
usermod -aG wp www-data

ログインユーザの所属グループ
groups
groups ユーザ名
でもOK

***

実験として、/var/www/に直接ファイルをアップロードするための変更。

ちなみに、/var/www/はroot:rootだが、rootグループにはrootしか所属していないため、/var/wwwの所属グループを変更しても問題ない。

所属グループの書き込みを許可
sudo chmod g+w /var/www

所属グループの変更
sudo chown root:www-upload /var/www

グループの作成
sudo groupadd www-upload

グループにユーザを追加
sudo usermod -aG www-upload ubuntu

確認
groups ubuntu

WinSCPでアップロードするとubuntu:ubuntuの権限になる(デフォルトユーザーがubuntuなため)ので、/var/www/以下にフォルダ・ファイルをアップロードしてもサブフォルダも含めアクセスできるが、SSHでフォルダ・ファイルを作成すると権限がrootになるので、WinSCP経由では作業できないので注意。

***

sudoできるユーザ
/etc/sudoer
ubuntuの場合sudo、adminグループ

ubuntuではsudoグループがsudoできるグループ
adminというグループには誰も所属していない

ユーザ作成
sudo useradd xxx

mオプションを付けないと、ホームディレクトは作成されず、手動では/etc/skelの内容がコピーされない

useradd -D
デフォルトの確認

ユーザの削除
userdel -r xxx

mオプションでホームディレクトリの作成
(自動で、/etc/skelのコピーが入る)
sudo useradd -m inna

ログインできなユーザへ
sudo usermod -s /usr/sbin/nologin inna

ログインできるユーザへ
sudo usermod -s /bin/bash inna

参加するグループの変更
usermod -aG

chown

chown 所有者:所属グループ 対象

再帰の場合、
chown -R xxx/xxx
で再帰的にユーザ、グループを全て変えられる。

chmod

sudo chmod [ u / g / o / a ] [ + / – / = ] [ r / w / x ] 対象ファイル

u: ユーザー
g: グループ
o: その他
a: すべて

sudo chmod 764 hoge.txtのように指定することもできる

4: 読むことが可能(Read)
2: 書くことが可能(Write)
1: 実行が可能(eXecute)
0: なにもできない

権限の意味

ファイルの場合。

R
そのファイルを読み込む

W
そのファイルを書込める

X
バイナリなら実行できる。スクリプトなら、そのスクリプトを実行できる。
(スクリプトの実体はテキストファイルで先頭に#記号がある)

ディレクトリの場合。

R
そのディレクトリの中身をみる。

W
そのディレクトリにファイルを作成すること。

X
そのディレクトリをカレントディレクトリにすること。
(ディレクトリの実行権はサブディレクトリにも影響するが、RWは指定のフォルダだけ)