2014/07/18(金) [n年前の日記]
#1 [cg_tools] 配置図を描く作業で悩んだり
親父さんから、「イベント会場の配置図のようなものを描きたい」と質問が。
以前、その手の図を作った方は Word で作っていたので、今回親父さんも Word で作業をしていたのだけど。自分の印象では、Word で作ったソレは、レイアウトが不自由なので、なんだか分かりづらいなと。まだ、親父さんが手描きでメモした配置図のレイアウトのほうが ―― 90度、180度、270度回転した状態で記号等が描かれてるレイアウトのほうが分かりやすいのでは、という話に。ただ、そういう図を、パソコンを使って作る方法が分からず。どんなソフトを使えば作れるのだろう…。
以前、その手の図を作った方は Word で作っていたので、今回親父さんも Word で作業をしていたのだけど。自分の印象では、Word で作ったソレは、レイアウトが不自由なので、なんだか分かりづらいなと。まだ、親父さんが手描きでメモした配置図のレイアウトのほうが ―― 90度、180度、270度回転した状態で記号等が描かれてるレイアウトのほうが分かりやすいのでは、という話に。ただ、そういう図を、パソコンを使って作る方法が分からず。どんなソフトを使えば作れるのだろう…。
◎ 表の回転ができるアプリが見つからない。 :
大量に数字が並んでいるレイアウトだったので、表が必要だろうけど。Word も OpenOffice Draw も、表の回転はサポートしていない模様。
Word も、OpenOffice Draw も、表の回転は未サポートながら、テキストボックスの回転はサポートしてるらしい。であれば、等幅フォントを使って、目視でスペース文字を入れながら、表っぽく見えるように打ち込んでいく、というアレな手法が使えなくもない。しかし、それってなんだかトホホだなと。
Inkscape はどうだろうと思ったけれど、そもそも Inkscape には表を扱う機能は存在せず。ググったところ、海外の掲示板で、
ペイントツールなら、えてしてレイヤーその他の回転ができるので、その手のツールで少し試してみたけれど。そのまま表を入力できるわけでもないし、回転をするとテキスト情報が破棄されるので後からテキスト内容を修正できなくなるしで、これもなんだか今一つだなと。
Word も、OpenOffice Draw も、表の回転は未サポートながら、テキストボックスの回転はサポートしてるらしい。であれば、等幅フォントを使って、目視でスペース文字を入れながら、表っぽく見えるように打ち込んでいく、というアレな手法が使えなくもない。しかし、それってなんだかトホホだなと。
Inkscape はどうだろうと思ったけれど、そもそも Inkscape には表を扱う機能は存在せず。ググったところ、海外の掲示板で、
- OpenOffice Calc で表を作って pdf 出力する。
- そのpdf を Inkscape でインポートする。
ペイントツールなら、えてしてレイヤーその他の回転ができるので、その手のツールで少し試してみたけれど。そのまま表を入力できるわけでもないし、回転をするとテキスト情報が破棄されるので後からテキスト内容を修正できなくなるしで、これもなんだか今一つだなと。
◎ 結局は表計算ソフトでレイアウトした。 :
表計算ソフトなら、表の中身・セルに対して回転ができると知ったので、LibreOffice Calc や Excel で試しにレイアウト。
たしかにこれなら、それらしい印刷物が作れる。作れるのだけど、何か負けた気がする。 _ネ申Excel 問題に近づいている気がする。
まあ、記述されたデータを、別の何かで再利用するわけではないので、これはこれでという気もするのだけど。しかし、Excelのバージョンが変わったり、プリンタドライバが変わったりすると、レイアウトが破綻する・レイアウトが再現されないわけで。その場で1枚印刷してハイ終わりの使い捨て文書にするなら構わんのだけど、これを他の人に .xls でそのまま渡すとか、部署内で代々使い回すとか、そういうことは許されないわけで。
たしかにこれなら、それらしい印刷物が作れる。作れるのだけど、何か負けた気がする。 _ネ申Excel 問題に近づいている気がする。
まあ、記述されたデータを、別の何かで再利用するわけではないので、これはこれでという気もするのだけど。しかし、Excelのバージョンが変わったり、プリンタドライバが変わったりすると、レイアウトが破綻する・レイアウトが再現されないわけで。その場で1枚印刷してハイ終わりの使い捨て文書にするなら構わんのだけど、これを他の人に .xls でそのまま渡すとか、部署内で代々使い回すとか、そういうことは許されないわけで。
◎ 2D CADを利用。 :
たまに使ってる AR-CAD でレイアウトしてみた。これなら自由自在にレイアウトできるけど、やっぱり表はサポートされてないわけで。それとも、自分が知らないだけで、サポートされてたりするのかな。少しググった程度では見つからなかったけど。
ついでに、フリーで使えるCADソフトとしてはかなりメジャーらしい、Jw_cad をインストールして試用してみたり。
AR-CAD に比べると、Jw_cad は操作方法が独特で、使い方が分からんなと…。DOS時代から使われていたフリーソフトらしいので仕方ないのかもしれず。文化が違うというか。
ついでに、フリーで使えるCADソフトとしてはかなりメジャーらしい、Jw_cad をインストールして試用してみたり。
AR-CAD に比べると、Jw_cad は操作方法が独特で、使い方が分からんなと…。DOS時代から使われていたフリーソフトらしいので仕方ないのかもしれず。文化が違うというか。
[ ツッコむ ]
#2 [prog] MySQL勉強中
_MySQL入門 (全19回) - ドットインストール
を眺めながら VirtualBox + Vagrant + Ubuntu 14.04 + MySQL で試してるところ。ようやく半分まで視聴。忘れそうなので、試した内容をメモ。
このメモだけを見ても何が何だか分からないので、ドットインストールの動画を最初から眺めたほうがいいです。
rootでログイン。
データベースを作成。rootでログインしないと作れない。
データベース一覧を表示。
データベースを削除。
データベースを切替。
作業ユーザを作成。
作業ユーザでログイン。
テーブルを作成。
テーブル作成の一例。users というテーブル名で作っている。
テーブル一覧を表示。
テーブルを削除。
テーブルが既に存在していた場合だけ削除。
既にあるテーブルと同じ構造のテーブルを新規作成。
索引(インデックス)を一覧で見る。
テーブル構造を確認。
レコードを挿入。
データの中身を確認。
データの中身を縦方向描画で確認。
指定フィールドの中身を確認。
条件を指定してデータの中身を確認。
並び替えをして確認。
件数を制限して確認。
集計。総数を確認。
集計。ユニークな値を確認。
集計。最大値を確認。
集計。平均値を確認。
集計。合計値を確認。
集計。グループごとの平均値を確認。
乱数を得る。
ランダムに抽選で1人だけ得る。
MySQLのデータ型について。
フィールドのオプション。
索引(インデックス)指定種類。
このメモだけを見ても何が何だか分からないので、ドットインストールの動画を最初から眺めたほうがいいです。
rootでログイン。
mysql -u root -p
データベースを作成。rootでログインしないと作れない。
create database データベース名;
データベース一覧を表示。
show databases;
データベースを削除。
drop database データベース名;
データベースを切替。
use データベース名;
作業ユーザを作成。
grant all on データベース名.* to ユーザ名@localhost identified by 'パスワード文字列';
作業ユーザでログイン。
mysql -u 作業ユーザ名 -p データーベース名
テーブルを作成。
create table テーブル名 ( フィールド名 データの型, フィールド名 データの型, ... フィールド名 データの型 );
テーブル作成の一例。users というテーブル名で作っている。
create table users ( id int not null auto_increment primary key, name varchar(255), email varchar(255) unique, password char(32), score double, sex enum('male', 'female') default 'male', memo text, created datetime, key score (score) );
テーブル一覧を表示。
show tables;
テーブルを削除。
drop table テーブル名;
テーブルが既に存在していた場合だけ削除。
drop table if exists テーブル名;
既にあるテーブルと同じ構造のテーブルを新規作成。
create table 新テーブル名 like 既存テーブル名;
索引(インデックス)を一覧で見る。
show indexes from テーブル名;
テーブル構造を確認。
desc テーブル名;
レコードを挿入。
insert into テーブル名 (フィールドの一覧) values (値の一覧);
データの中身を確認。
select * from テーブル名;
データの中身を縦方向描画で確認。
select * from テーブル名 \G
指定フィールドの中身を確認。
select フィールド名一覧 from テーブル名;
条件を指定してデータの中身を確認。
select * from テーブル名 where フィールド名 比較演算子 値;以下はサンプル。
select * from users where score >= 5.0; select * from users where score = 5.5; select * from users where score != 5.5; select * from users where score <> 5.5; select * from users where team != 'red'; select * from users where created > '2014-07-19 02:00:00'; select * from users where email like '%@gmail.com'; select * from users where score between 5.0 and 8.0; select * from users where team in ('red', 'yellow'); select * from users where score >= 4.0 and team = 'blue'; select * from users where score >= 4.0 or team = 'blue';
並び替えをして確認。
select * from users order by score; select * from users order by score desc; select * from users order by name desc;
件数を制限して確認。
select * from users limit 3; select * from users limit 2,2; select * from users order by score desc limit 3;
集計。総数を確認。
select count(*) from users;
集計。ユニークな値を確認。
select distinct フィールド名 from テーブル名;
集計。最大値を確認。
select max(フィールド名) from テーブル名;
集計。平均値を確認。
select avg(フィールド名) from テーブル名;
集計。合計値を確認。
select sum(フィールド名) from テーブル名;
集計。グループごとの平均値を確認。
select avg(フィールド名) from テーブル名 group by フィールド名;
乱数を得る。
select rand();
ランダムに抽選で1人だけ得る。
select * from users order by rand() limit 1;
MySQLのデータ型について。
int 整数 double 実数 char 文字列 varchar 文字列 text 最大文字数不明の文字列 enum 列挙型 date 日付 datetime 時間
フィールドのオプション。
not null 入力必須であることを示す default '値' デフォルト値 auto_increment 自動連番。この指定をしたフィールドは必ずインデックスをつけること。
索引(インデックス)指定種類。
primary key 主キー key キー名 (フィールド名) キー unique ユニークキー
[ ツッコむ ]
以上、1 日分です。