2011|08|
2013|10|11|12|
2014|01|02|03|04|05|06|07|08|09|10|11|12|
2015|01|02|03|05|06|07|08|09|10|11|12|
2016|01|03|04|05|06|07|08|09|10|11|12|
2017|01|02|03|04|05|06|07|08|09|10|11|12|
2018|01|02|03|04|05|06|07|08|09|10|11|12|
2019|01|02|03|04|05|06|07|08|09|10|11|12|
2020|01|02|

2014-01-24 新公共交通として考えられる交通システム(交通機関)

■BRT Bus Rapid Transmit →2車両以上を連結したバス

■LRT Light Rail Transmit →路面電車

■TransLOHR(トランスロール)→LRTとBRTの中間的な位置づけになる、ゴムタイヤを使ったライトレールの一種。


2018-01-24 PostgreSQLの基本的なコマンド

内容コマンド例
サービスの起動 postgres -D /usr/local/var/postgres
デフォルトのテーブルに接続 psql -d postgres
直接テーブルに接続 psql -d テーブル名
接続解除 \q
データベース一覧の表示 \l
データベースの選択 \c データベース名
テーブルの作成 create table テーブル名 (

counter int primary key,

present_station int,

departure_station int,

present_time time

);

データの書き込み INSERT INTO テーブル名(counter, present_station, departure_station, present_time) VALUES(1, 2, 3, '12:23:34');
データの上書き UPDATE テーブル名 set present_time = '23:34:45' WHERE counter = 1;
テーブル一覧の表示 \dt;
テーブル構造の表示 \d テーブル名;
テーブル内のデータを一覧 select * from テーブル名;
指定したカラムの内容を小さい順に表示 select * from テーブル名 order by カラム;
指定したカラムの内容を大きい順に表示 select * from テーブル名 order by カラム desc;
表示数指定 select * from テーブル名 limit 数;
表示の開始位置指定 select * from テーブル名 offset 数;
カラム内の任意の文字を表示 select distinct カラム名 from テーブル名;
カラム内の合計値 select sum(カラム名) from テーブル名;
カラム内の最大値 select max(カラム名) from テーブル名;
カラム内の最小値 select min(カラム名) from テーブル名;
カラム内の平均値 select avg(カラム名) from テーブル名;
データの更新 update テーブル名 set 更新内容;
全データの削除 delete from テーブル名;
データの削除 delete from テーブル名 where 条件;
テーブルのオーナーの変更 alter table テーブル名 owner to オーナー名;
文字数 select length(カラム名) from テーブル名;
文字列連結 select concat(文字列, 文字列, ...) from テーブル名;
カラムの追加 alter table テーブル名 add カラム名 データ型;
カラムの削除 alter table テーブル名 drop カラム名;
カラム名の変更 alter table テーブル名 rename カラム名 to 新カラム名;
カラムのデータ型を変更する alter table テーブル名 alter カラム名 type データ型;
インデックス追加 create index インデックス名 on テーブル名(カラム名);
インデックス削除 drop index インデックス名;
viewの作成 create view ビュー名 as viewに指定するコマンド;
view一覧の確認 \dv;
viewの使用方法 select * from ビュー名;
viewの削除 drop view ビュー名;
SQL文を外部ファイルに書いて実行する時に使う \i ファイル名

2019-01-24 C/C++実行時にライブラリのリンクエラーがでたら、コンパイルに片っ端から付けて試してみるもの

d:\home\c-anemone2019\make_tables_20190110\make_tables> g++ -g Clock.cpp -o Clock.exe -std=c++0x -static-libstdc++ -static-libgcc -lodbc32 -lwsock32 -lwinspool -lwinmm -lshell32 -lcomctl32  -lodbc32 -ladvapi32 -lodbc32 -lwsock32 -lopengl32 -lglu32 -lole32 -loleaut32 -luuid
 g++ -g Clock.cpp -o Clock.exe -std=c++0x -static-libstdc++ -static-libgcc -lodbc32 -lwsock32 -lwinspool -lwinmm -lshell32 -lcomctl32  -lodbc32 -ladvapi32 -lodbc32 -lwsock32 -lopengl32 -lglu32 -lole32 -loleaut32 -luuid

d:\home\c-anemone2019\make_tables_20190110\make_tables>Clock
Clock
date1, Tue Jan 01 00:00:36 2019
date1, Tue Jan 01 00:01:12 2019
date1, Tue Jan 01 00:01:48 2019
date1, Tue Jan 01 00:02:24 2019
1日目、現在日時はTue Jan 01 00:02:24 2019


稼動を確認したら、どんどん消していく。
今回の正解は、これ↓だった。

d:\home\c-anemone2019\make_tables_20190110\make_tables>g++ -g Clock.cpp -o Clock.exe  -static-libstdc++ 

d:\home\c-anemone2019\make_tables_20190110\make_tables>Clock
Clock
date1, Tue Jan 01 00:00:36 2019
date1, Tue Jan 01 00:01:12 2019
date1, Tue Jan 01 00:01:48 2019
date1, Tue Jan 01 00:02:24 2019
1日目、現在日時はTue Jan 01 00:02:24 2019


2020-01-24 Go言語でWebサーバを作る時の注意点

忘れない内に記載しておく

まず、以下のプログラムを、main.go とかいう名前でセーブして、go build main.go をすると、 main という実行フィイルができる。

ところが、問題は、これを、任意のディレクトリから実行させようとすると、絶対パスの記載が必要となり、これを見つけるのに結構な時間がかかった。

結果としては、以下のようにすれば良いらしい(動いている)。

package main
 
import (
    "log"
    "net/http"
)
 
func main() {
     http.Handle("/", http.FileServer(http.Dir("/home/pi/wstest4/static")))
 
    if err := http.ListenAndServe(":8686", nil); err != nil {
        log.Fatal("ListenAndServe: ", err)
    }
}

上記のプログラムを、"http:/localhost:8686/xxxxx.html"とブラウザに打ちこむと

/home/pi/wstest4/static/xxxxx.htmlのファイルが表示される

もしプログラムの http.Handle("/" を、http.Handle("/hogehoge" とすると、"http:/localhost:8686/hogehoge/xxxxx.html"と入力することで

/home/pi/wstest4/static/xxxxx.htmlのファイルが表示される