正規表現について

正規表現について

とりあえず
/etc/service を検索する
この中から
80/tcp
80/udp
を調べる

grep '80/.p' /etc/services

これだといろいろとでてくる

理由は
. が正規表現の意味では
なんでもいいから1文字ってことだから

なので

grep '80/..p' /etc/services

を実行すると
80のあとに何か2文字あり
そのあとにpがあること
という意味になる

. が2つなら2文字という意味

次は、ちょっと描き方を変えて検索する

grep '80/[tu][cd[]p' /etc/services

これだと
tcp
udp
に該当するものがでる
これは正規表現で
[] で囲むことで文字の指定をしているから

[tu]
だと
t か u
になる
これで最初の文字がt か u
で始まるものになる

次に2文字目が
[cd]
なんで、cか d が2文字目のもの
という意味になる

そして3文字目は p だけなので
条件を満たすのは
tcp
udp
のどちらかという意味になる

あとは検索先を /etc/service
と指定しているので
ここから検索している

この[]をブラケットという

これを使えば、ポート番号を指定して検索できる

grep '[2-8]000/tcp' /etc/services 

とすると

sieve-filter    2000/tcp        cisco-sccp      # Sieve Mail Filter Daemon
x11             6000/tcp        X               # the X Window System
afs3-fileserver 7000/tcp                        # file server itself
quake           26000/tcp
hbci            3000/tcp                # HBCI
#remoteware-cl  3000/tcp                # RemoteWare Client
terabase        4000/tcp                # Terabase
commplex-main   5000/tcp                #
irdmi           8000/tcp                # iRDMI
entextxid       12000/tcp               # IBM Enterprise Extender SNA XID Exchange
scotty-ft       14000/tcp               # SCOTTY High-Speed Filetransfer
hydap           15000/tcp               # Hypack Data Aquisition
biimenu         18000/tcp               # Beckman Instruments, Inc.
snapenetio      22000/tcp               # SNAPenetIO
inovaport1      23000/tcp               # Inova LightLink Server Type 1
med-ltp         24000/tcp               # med-ltp
icl-twobase1    25000/tcp               # icl-twobase1
nxlmd           28000/tcp               # NX License Manager
mbus            47000/tcp               # Message Bus

というようにポート番号での検索が簡単になる

ちなみに [] の中で ^ を使うと否定の意味になる

これは ! とかと同じ意味になる

もし特定の番号以外を調べたいというのなら

grep '[^2-8]000/tcp' /etc/services

を実行すれば

cadlock2        1000/tcp                #
cslistener      9000/tcp                # CSlistener
ndmp            10000/tcp               # Network Data Management Protocol
irisa           11000/tcp               # IRISA
igrid           19000/tcp               # iGrid Server
dnp             20000/tcp               # DNP
irtrans         21000/tcp               # IRTrans Control
safetynetp      40000/tcp               # SafetyNET p

という結果になる

次に0が1回以上繰り返して
続く文字が
/tcp という行を探すのなら

grep '00*/tcp' /etc/services

を実行する

ちなみに
*は0回以上の繰り返しという意味なので

grep '0*/tcp' /etc/services

だと意味が変わってしまう

これを利用して数理が4つのあと /tcp
となっている行を探すのなら

grep '[0-9][0-9][0-9][0-9]*/tcp' grep /etc/services

とすればいい

でも通常はこんな面倒な書き方はせず

grep -E で拡張正規表現を使う

5桁の数字のあとに /tcp とかいてある行なら

grep -E '[0-9]{5}/tcp' /etc/services

とすればいい

 {} の中に繰り返す回数を書けばオK

HTML の emmet で li*5 とかいて
li が5つというようなかんじ

次に ^ だけど
{} 以外では先頭という意味になる
vim とかで先頭の文字を指定して検索するときにも使える

Linux のシステムファイルは
#でコメントアウトしているので
試しにコメントアウトされている行を検索するのなら
grep ‘^#’ /etc/services
とすれば
先頭が#で始まる行を調べることができる

逆に行末を調べたいのなら $ をつけて調べる
shが行末になっている部分を探すのなら

grep 'sh$' /etc/services 

とする

書く順番が
行頭を探すのなら
^探したい文字
となり

行末を探すのなら
探したい文字$
というように書くようになる

結婚式招待状作成

結婚式招待状作成

http://maruai.co.jp/pri/download/
に無料のテンプレがあるので
ダウンロード

ただし、ものによっては商品購入者のみダウンロード可能なものがある
あじさいはダメだった

ここは Microsoft Word が必須になるので
別のものを検索

http://www.kamizukan.jp/wedding/useful_info/template.php
に無料テンプレがあるので
こちらを試すことに

今回は、この中からティアラテンプレートをダンロード
招待状のサイズが
A4
A4ワイド
と2つあるため、どちらがよいかわからないので
両方ダウンロード

ちなみに、テンプレファイルの拡張子は
.doc
なので MicroSoft Word のファイルになる

今回、Mac で作業しているので
これを編集するソフトが必要

ということで互換性のありそうな LibreOffice をダウンロードすることに

https://ja.libreoffice.org/download/libreoffice-fresh/?type=mac-x86&version=4.3&lang=ja
から
Mac OS X x86_64 (10.8 or newer required)
を選んでダウンロード

ダウンロードできたら
LibreOffice_4.4.3の .dmg 拡張子のファイルを
ダブルクリック

これでLibreOffice をどうするかでてくるので
Applications にドラッグ&ドロップ

スクリーンショット 2015-06-14 17.22.15

これでキーボードの F4 を押すと
すべてのアプリ一覧がでるので
libre
で検索すると
LibreOffice が表示されるので
これを起動

スクリーンショット 2015-06-14 17.26.01

スクリーンショット 2015-06-14 17.26.16

OpenFIle でファイルを開けるので
ダウンロードしてきたテンプレファイルを開きます

スクリーンショット 2015-06-14 17.33.13

これで無事に開き、編集することができました

スクリーンショット 2015-06-14 17.37.07

LibreOffice は
Windows
Mac
Linux
でも使えるので、いろいろ作成してみようと思います

文面やデザインなどはテンプレを使うことにしたのですが
次に印刷する素材です

このあたりも調べてみようと思います

ちなみに、Mac でのスクショの取り方は
http://weekly.ascii.jp/elem/000/000/234/234838/
を参考にしました

cmd + shift + 3 で全画面のスクショ
cmd + shift +4 で範囲指定
cmd + shift + 4 のあとにスペースキーを押すとウインドウが対象になるので
これで左クリックすると、ウインドウ単位のスクショがとれます

jQuery Mobile のテーマ作成

jQuery Mobile のテーマ作成

wordpress で スマホ向けテーマをつくろうとして
思い出した jQuery Mobile

そして今回の参考サイトは
WordPress のテーマを jQuery Mobile でスマートフォン対応に

まず Theme Roller だけど
テーマローラーの概要(jQuery Mobile 1.0.1 日本語リファレンス)
をみようとしたけど
バージョンが古くなっているためか
見ることができないので
Theme Roller を調べることに

Theme Roller については
jQuery Mobileのテーマを設定(&ThemeRollerによる自作テーマ作成)するには?

を参考にさせていただきました

このTheme Roller は
ThemeRoller for jQuery Mobile

これの略称みたい

これを使うことでテーマの作成ができます

サイトにアクセスすると
最初にダイアログがでてくるので、
Get Rolling をクリックします

theme

次に、Global タブの中のメニューで
全体のレイアウトを作成していきます

theme2

設定できる項目は

Font Family はフォント

Corner Radiiあボタンなどの角丸

Icon はアイコン
Box Shadow はボックスの影効果
となっています

ちなみに、ゼロからつくるのではなく
jQuery Mobile のデフォルトテーマからつくるのなら

Import をクリックして
Import Default Theme をクリック

theme3

これでコードがインポートされるので
Import をクリックします

theme4

すると、適用したテーマが表示されます
AとBでの違いもわかります

theme5

テーマの作成が終わったらダウンロードします

Download をクリックすると
テーマの名前を入力するためのダイアログがでます

Theme Name にテーマの名前を入力します
今回は smart にしてみます

そして Download Zip をクリックすれば
ダウンロードできます

theme6

なお、Theme Name を入力しないとダウンロードできません

ダウンロードしたファイルは zip で圧縮されているので
解凍して、
その中にある themes フォルダを使います

LibreOffice Calc でマクロ

LibreOffice Calc でマクロ

ドットインストールで
Excel VBA があったけど
Ubuntu や MacBook Air に入れてあるのは
MS Office ではなく
LibreOffice

これを使ってマクロをやったり
ドットインストールの Excel VBAに挑戦してみたいので
設定

LibreOfficeでのVBAの実行方法

を参考に設定

幸い、私の環境も ubuntu 14.04 なので問題ないはず
なぜか、私の環境だと日本語化されていた
ツール > オプションでダイアログが開くので
セキュリティにある
マクロセキュリティをクリック

vba

次にセキュリティの強度設定になるので
中の
信頼されていないソースからのマクロ実行前に確認が求められます
をクリックし
OK

vba2

これでマクロセキュリティは変更したので
次に Java を実行できるようにする

LibreOffice の中にある 詳細 をクリック
そして
マクロの記録を有効にする(限定的)
にチェックをいれる

vba3

これで準備OK

ドットインストールだと
Excel なので
Visual Basic Editor を使っているけど

LibreOffice の Calc なので
ツール > マクロ > マクロの管理 >
LireOffice Basic …
を選ぶ

これでウインドウが表示される

次に、マクロをつくるので
新規作成をクリック

vba4

するとモジュール名を求められる
今回は試験的にやるので
Module1 のままでOK

vba5

これで
LibreOffice Basic IDE が起動する

vba6

ちなみに、
1行目に
Option VBASupport 1
を追加すると
VBAを有効化できるらしい

Linux 版 KindleGen のインストール

Linux 版 KindleGen のインストール

wordpress に Pripre プラグインを入れ
投稿記事を EPUB に変換

これを calibre で変換して kindle 本リリース
という予定だったけど、
リリースできず、先日 Amazon からメールが届きました

原因はサードパーティアプリで
mobi に変換すると
Kindle プラットフォームでは対応していない要素が含まれることがある
とのこと

このため、最新の Linux 版 KIndleGen ver2.9
をダウンロード

kindlegen

展開するためのディレクトリがほしいので

mkdir kindlegen

でディレクトリを作成

今回、解凍するのは
kindlegen_linux_2.6_i386_v2_9.tar.gz

tar.gz 圧縮ファイルを回答するには
tar コマンドを使う
このとき、そのまま回答すると、
カレントディレクトリ、つまり今のディレクトリに解凍されるので
-C オプションをつけて指定のディレクトリに解凍する

これは、解凍するときに様々なフォルダやファイルがあって
わかりにくくならないようにするため

ちなみに、オプションにつけるのは
大文字のCなので注意
小文字の c だと

tar: '-Acdtrux', '--delete' または '--test-label' オプションのうち 2つ以上指定することはできません
より詳しい情報は 'tar --help' または 'tar --usage' で.

とエラーになってしまう

tar コマンドについては
【 tar 】 ファイルを書庫化・展開する(拡張子.tarなど)

にオプションや使い方が載っているので
こちらを参考に

では実際に kindlegen の圧縮ファイルを解凍

 tar xfvz ダウンロード/kindlegen_linux_2.6_i386_v2_9.tar.gz -C ~/kindlegen/

これで kindlegen ディレクトリに解凍される

kindlegen2

でも、このままだと毎回ディレクトリ移動して面倒なので
パスを通しておく

vim .bashrc 

で設定ファイルを開く

なお、vim がない場合

sudo apt-get install vim

でインストールできる

ちょっと使いなれるまで難しめのテキストエディタだけど
ドットインストールで無料で学習できるので
覚えておくと、サーバーの操作にも役立つ
vim入門 (全18回)

vim の操作はおいておいて
.bashrc の編集

これは

export PATH=$PATH:~/kindlegen/

をファイルの最終行に追記する

変更を保存したら設定を反映するため

source .bashrc 

を実行

これで kindlegen コマンドが使えるようになります

実行するには
kindlegen 変換したいファイル名
となります

今回は ubuntu.epub を変換するので

 kindlegen ubuntu.epub

としました

ただ、変換した epub ファイルに問題があるようで
Mobi file built with WARNINGS!
となりました

32bit ではなく 64bit 環境なので

apt-get install lib32stdc++6 lib32z1 lib32z1-dev


32bit 互換ライブラリをいれてみたのですが
結果は変わらず

今後、Mac などでも検証してみる予定

ubuntu 右クリック設定変更

ubuntu 右クリック設定変更

Bender で Alt + マウス右クリックすると
ウインドウ操作のポップアップがでてしまう

right

これは Ubuntu のデフォルトのショートカットキーが
設定されているのが原因

How do I disable the alt-right click keyboard binding?

を参考に設定

sudo apt-get install dconf-tools


dconf-tools をインストール

次に

dconf-editor

で dconf エディタを起動

org > gnome > desktop > wm > Preferences

この中にある
mouse-button-modifier が
その設定になっている

right2

これはデフォルトで Alt になっているので
をダブルクリックし
に変えて Enter を押す

right3

この dconf エディタの使い方については
Ubuntu dconfエディター その1 – dconfについて・インストールと使い方

を参考にしました

注意点としては、
を空欄にしないこと

これをやってしまうと、マウスの右クリックの扱いが
ctrl + 右クリックになってしまうので
もしおかしくなってしまったら
デフォルトにリセットをクリックすることで元に戻せる

wordpress のテンプレートタグ

wordpress のテンプレートタグ

wordpress のテーマ作成に必要なのは
テンプレタグの知識

言語コードの指定は

<html <?php language_attributes(); ?>

html のサイトだとほとんどの場合は

<html lang="ja">

となっている

また文字コードも
htmlだと

<meta charset="UTF-8"/>

だけど
wordpress のテンプレを使うと

<meta charset="<?php bloginfo('charset'); ?>

となる

bloginfo() は様々なパラメータがあり
bloginfo(‘name’)
サイトのタイトル

bloginfo(‘description’)
サイトのキャッチフレーズ

bloginfo(‘url’)
サイトのURL

bloginfo(‘template_url’)
テーマフォルダのURL

となっている

あと、よく見かける
wp_title()
の引数
これは
区切り
タイトルを表示するか?
区切りを示す位置
という引数になっている

例えば

<?php wp_title('|',true,'right'); ?>

だった場合
| で区切り
true なのでタイトルを表示
区切りは right なので右
という意味になる

よくあるパターンとしては
トップページのときにはサイトタイトルを表示
そうでないのなら
現在のページのタイトル | サイトのタイトル
とするパターン

これは

<?php if(!is_home()){
	wp_title('|',true,'right');
}
bloginfo('name');
?>

という書き方になる

あと wordpress の重要なこととして
wp_head() を書き忘れるとプラグインがまともに動かなくなるので注意

blender が落ちたときの復旧

blender が落ちたときの復旧

blender はある程度は自動保存してくれているので
それを読みこめば、最悪最初からやり直しは防げる

File > Recover Auto Save
で復旧可能

recov

これを選択すると
tmp に保存されているものから
復旧するものを選べえる

今回は、それほど操作していないので1つしかない

recov2

なお、デフォルトでは自動保存されるのは
2分間隔

この間隔を変更するには
ctrl + alt + u
で設定画面を開き

File タブにある
Auto Save Temporary Files
の設定の数値を変更すればいい

デフォルトは
Timer (mins);2
となっているので
これを任意の数値に変えればいい

recov3

blender データの使い回し

blender データの使い回し

blendファイルで保存したデータを読み込んで使いまわす方法は2つ

Append
Link
の2つになる

Append は blend ファイルに保存されているデータを読み込む

この読み込んだデータは
全部ではなく一部になる

つまり形状データだけ読み込むとか
一部だけ読み込むのに使う

これは
shift + F1キーでできる
これを押すと、どれを読み込むかを選択することになる

とりあえず今回はオブジェクトをいれてみたいので
以前作成した test.blend を開き
Object を選び
cube を選択

すると画面にもう1つ立方体オブジェクトが増える

append

ちなみに、blend ファイルを開いて
オブジェクトを
ctrl + c でコピーし

追加したい方の画面で
ctrl + v を押すと
オブジェクトのコピペも可能

キーボードではできたけど
マウスでは右クリックしてコピー、貼り付けはできなかった

ちなみに Append で読み込んだデータは
編集できる

もう1つの方法の Link だけど
こっちは位置を変えたり、編集することがほとんどできない
元のファイルでグループ化した場合のみ
位置、回転、拡大縮小が可能になる
あまりメリットなさそうだけど
ファイルサイズを小さくできるのと
編集せずにそのまま使うのなら
データの一元管理という意味で使える

なお、Link で読み込んだオブジェクトは
青い枠で囲まれている

qppend2

blender オブジェクトのグループ化

blender オブジェクトのグループ化

これはオブジェクトがたくさんあるシーンとか
データのやりとりのときにグループ化していると
扱いやすいため

グループを作成するには
まずオブジェクトを1つ選択する

group

次に
ctrl + g をおす

すると囲っていた枠がオレンジから緑色になる

group2

この状態で
オブジェクトアイコンをクリックすると
グループパネルが表示される

group3

ちなみに、デフォルトのグループ名は
Group
なので、わかりやすく変更したほうがいい

今回は
TestGroup
としてみた

group5

次にグループの追加

今回は新しくオブジェクトを
shift + a で追加してみた

これをグループに追加したいので
すでにグループに属している立方体を
shift を押しながら右クリック

すると両方共緑色の枠になる

group6

これで ctrl + shift + g を押すと
どのグループに追加するか選ぶことができる

group7

なお、グループから抜けるには
ctrl + alt + g を押すと
どのグループから抜けるかを選択できる

group8