mieki256's diary



2014/07/18(金) [n年前の日記]

#1 [cg_tools] 配置図を描く作業で悩んだり

親父さんから、「イベント会場の配置図のようなものを描きたい」と質問が。

以前、その手の図を作った方は Word で作っていたので、今回親父さんも Word で作業をしていたのだけど。自分の印象では、Word で作ったソレは、レイアウトが不自由なので、なんだか分かりづらいなと。まだ、親父さんが手描きでメモした配置図のレイアウトのほうが ―― 90度、180度、270度回転した状態で記号等が描かれてるレイアウトのほうが分かりやすいのでは、という話に。ただ、そういう図を、パソコンを使って作る方法が分からず。どんなソフトを使えば作れるのだろう…。

表の回転ができるアプリが見つからない。 :

大量に数字が並んでいるレイアウトだったので、表が必要だろうけど。Word も OpenOffice Draw も、表の回転はサポートしていない模様。

Word も、OpenOffice Draw も、表の回転は未サポートながら、テキストボックスの回転はサポートしてるらしい。であれば、等幅フォントを使って、目視でスペース文字を入れながら、表っぽく見えるように打ち込んでいく、というアレな手法が使えなくもない。しかし、それってなんだかトホホだなと。

Inkscape はどうだろうと思ったけれど、そもそも Inkscape には表を扱う機能は存在せず。ググったところ、海外の掲示板で、
  1. OpenOffice Calc で表を作って pdf 出力する。
  2. そのpdf を Inkscape でインポートする。
という手段を使えば、svg でも表らしい見た目を再現できるぞ、てなやり取りを見かけた。しかし、それもそれで、なんだか泥臭い…。

ペイントツールなら、えてしてレイヤーその他の回転ができるので、その手のツールで少し試してみたけれど。そのまま表を入力できるわけでもないし、回転をするとテキスト情報が破棄されるので後からテキスト内容を修正できなくなるしで、これもなんだか今一つだなと。

結局は表計算ソフトでレイアウトした。 :

表計算ソフトなら、表の中身・セルに対して回転ができると知ったので、LibreOffice Calc や Excel で試しにレイアウト。

たしかにこれなら、それらしい印刷物が作れる。作れるのだけど、何か負けた気がする。 _ネ申Excel 問題に近づいている気がする。

まあ、記述されたデータを、別の何かで再利用するわけではないので、これはこれでという気もするのだけど。しかし、Excelのバージョンが変わったり、プリンタドライバが変わったりすると、レイアウトが破綻する・レイアウトが再現されないわけで。その場で1枚印刷してハイ終わりの使い捨て文書にするなら構わんのだけど、これを他の人に .xls でそのまま渡すとか、部署内で代々使い回すとか、そういうことは許されないわけで。

2D CADを利用。 :

たまに使ってる AR-CAD でレイアウトしてみた。これなら自由自在にレイアウトできるけど、やっぱり表はサポートされてないわけで。それとも、自分が知らないだけで、サポートされてたりするのかな。少しググった程度では見つからなかったけど。

ついでに、フリーで使えるCADソフトとしてはかなりメジャーらしい、Jw_cad をインストールして試用してみたり。

AR-CAD に比べると、Jw_cad は操作方法が独特で、使い方が分からんなと…。DOS時代から使われていたフリーソフトらしいので仕方ないのかもしれず。文化が違うというか。

#2 [prog] MySQL勉強中

_MySQL入門 (全19回) - ドットインストール を眺めながら VirtualBox + Vagrant + Ubuntu 14.04 + 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 日分です。

過去ログ表示

Prev - 2014/07 - Next
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31

カテゴリで表示

検索機能は Namazu for hns で提供されています。(詳細指定/ヘルプ


注意: 現在使用の日記自動生成システムは Version 2.19.6 です。
公開されている日記自動生成システムは Version 2.19.5 です。

Powered by hns-2.19.6, HyperNikkiSystem Project