お昼に TOEICを受けてきた後、うめせんせとななねこっちと合流しました。
夕方はカラオケに行って、テレビの裏側に回り配線(ry リブー(ry えーりん!えーりん!
あのシステムは把握した。
↑ 以上余談。
夜一緒にご飯を食べましたが、話しているときが一番幸せ。
こちらの視ているビジョンと同じモノをみてくれた上で意見もしてくれるうめせんせや、その新世界になったら管理者をやらせてくださいと言ってくれるようなななねこっちと。
# ほかの場所だと話が通じても笑い話として終わるケースが多いし。
休日は一緒にプログラミングをしてくれて、「もう、コードぐちゃぐちゃだね。スパゲッティ作ってあげるから待ってなよ」って言ってくれる女の子のよさが分かる面子です。
自分もうめせんせも、それなりに選んで今の環境にいるはずで、十分よい環境にいるほうだとは思うけれど、スキルとビジョン以上に相乗効果が重要だと感じてきている最近。
うめさんやななねこっちとチームを組んだら、きっと二倍三倍の実力を引き出せあえるはず。
経営、会計、人を幸せにするために動ける力、足りないものが多すぎて身動きとれていない状況ですが(生活するためには無視できない要素ですしね)、最高の技術者集団を作り上げたいという、割と以前からも考えていた妄想を、もう少し具現化させたいなと、最近は妄想中。
休日しか議論しあえないなんてもったいなすぎなので、また予定合わせて話しましょい。
畳さんオススメということで、毎日少しずつ読み進めていました。読了。「天才」のお話です。
周りで「好きな作家は西尾維新」というのを聞くことはよくありましたが、初めて読みました。
おもしろかったです。
上を目指してある程度のレベルまで上ると次のクラス(集合)が見えてくる、ということをいつも感じていますが、ラストはまさにそんなかんじだなーという印象。
ひかりさんが大変かわいく書かれていました。満足。
>少しずつ、麻耶と奈々子が前に出てきたかんじで
6巻の感想でこんなことを言いました。
5巻のときにもカラーページに出てきたけれど、今回7巻にも登場。
だんだんとメインキャラにはいってきましたよ、麻耶と奈々子。
作品中、何度も三十路三十路と連呼されるわけですが、高校生くらいのときは30なんてすごく離れてると感じていたというのに、今じゃ全然そんな風に感じないくらい年を重ねてしまいました。
そういえば、アニメ化。やっぱり気になるのはキャスト。
周りも言っているように、安直なのだったらガッカリですが、発表を期待待ち。
大河もそうだけど、やっちゃんと独身(30)に誰がくるかがとても重要な気がします。
printf() にコードを指定すると、文字色や背景色を変えたりすることができるようです。
ただし変えた色は戻さないと継続します。
コードはセミコロンで区切ることで複数指定することが可能なようです。
太字で青で “Hello” を表示するなら printf(“\x1b[1;34mHello!"); 。
以下、自分用に用意したファイル。
printer.h
enum で数字部分を BLUE や RED と指定できるようにしてもよかったけれど、とりあえずコードを直接指定する形のままで。
使う方にはヘッダーファイルを読んでもらう前提。
/*****************************************
* Program: printer.h
* Author: sarian
* Created on 2008/05/17
*****************************************/
#ifndef _PRINTER_H
#define _PRINTER_H
/* =======================================
* set default code: 0
* ======================================= */
void printer_initPrinter();
/* =======================================
* change print type.
* set type BOLD code: 1
* set type UNDER LINE code: 4
* set type BLINKING code: 5
* set type REVERSING code: 7
* ======================================= */
void printer_setType(int type);
/* =======================================
* change print color.
* set color BLACK code: 30
* set color RED code: 31
* set color GREEN code: 32
* set color YELLOW code: 33
* set color BLUE code: 34
* set color MAGENTA code: 35
* set color CYAN code: 36
* set color GRAY code: 37
* ======================================= */
void printer_setPrintColor(int color);
/* =======================================
* change background color.
* set color BLACK code: 40
* set color RED code: 41
* set color GREEN code: 42
* set color YELLOW code: 43
* set color BLUE code: 44
* set color MAGENTA code: 45
* set color CYAN code: 46
* set color GRAY code: 47
* ======================================= */
void printer_setBackgroundColor(int color);
#endif /* _PRINTER_H */
printer.c
一時的に色を変更するような、引数に色を指定できるような仕様だといいのに。
と、書いた瞬間にそういうの作ればいいのかと気づいたわけですが。
printer_colorPrint(char *message, int color);
でもフォーマット指定できない printf なんて意味ないし、
前の色を保存しておかないと、使い終わった後勝手にデフォルトにするのもマズいし保留。
/*****************************************
* Program: printer.c
* Author: sarian
* Created on 2008/05/17
*****************************************/
#include <stdio.h>
#include "printer.h"
/**
* default printer color.
*/
void printer_initPrinter() {
printf("\x1b[0m"); /* DEFAULT */
}
/**
* set print type.
* @param type
*/
void printer_setPrintType(int type) {
switch(type) {
case 1:
printf("\x1b[1m"); /* BOLD */
break;
case 4:
printf("\x1b[4m"); /* UNDER LINE */
break;
case 5:
printf("\x1b[31m"); /* BLINKING */
break;
case 7:
printf("\x1b[31m"); /* REVERSING */
break;
default:
break;
}
}
/**
* change print color.
* @param color
*/
void printer_setPrintColor(int color) {
switch(color) {
case 30:
printf("\x1b[30m"); /* BLACK */
break;
case 31:
printf("\x1b[31m"); /* RED */
break;
case 32:
printf("\x1b[32m"); /* GREEN */
break;
case 33:
printf("\x1b[33m"); /* YELLOW */
break;
case 34:
printf("\x1b[34m"); /* BLUE */
break;
case 35:
printf("\x1b[35m"); /* MAGENTA */
break;
case 36: /* CYAN */
printf("\x1b[36m");
break;
case 37: /* GRAY */
printf("\x1b[37m");
break;
default:
break;
}
}
/**
* change background color.
* @param color
*/
void printer_setBackgroundColor(int color) {
switch(color) {
case 40:
printf("\x1b[40m"); /* BLACK*/
break;
case 41:
printf("\x1b[41m"); /* RED */
break;
case 42:
printf("\x1b[42m"); /* GREEN */
break;
case 43:
printf("\x1b[43m"); /* YELLOW */
break;
case 44:
printf("\x1b[44m"); /* BLUE */
break;
case 45:
printf("\x1b[45m"); /* MAGENTA */
break;
case 46: /* CYAN */
printf("\x1b[46m");
break;
case 47: /* GRAY */
printf("\x1b[47m");
break;
default:
break;
}
}
main.c
使い方はこんなかんじ。
colorgcc とかカラフルなのは好きなので、今後コンソールアプリケーションを作る際にはちょっと意識してみるつもり。
/*****************************************
* Program: main.c
* Author: sarian
* Created on 2008/05/17
*****************************************/
#include <stdio.h>
#include <stdlib.h>
#include "printer.h"
int main(int argc, char *argv[]) {
printer_setPrintColor(30);
printf(“BLACK\n”);
printer_setPrintColor(31);
printf(“RED\n”);
printer_setPrintColor(32);
printf(“GREEN\n”);
printer_setPrintColor(33);
printf(“YELLOW\n”);
printer_setPrintColor(34);
printf(“BLUE\n”);
printer_setPrintColor(35);
printf(“MAGENTA\n”);
printer_setPrintColor(36);
printf(“CYAN\n”);
printer_setPrintColor(37);
printf(“GRAY\n”);
printer_initPrinter();
printf(“DEFAULT\n”);
return EXIT_SUCCESS;
}
コンパイルと実行
$ gcc -Wall printer.c main.c -o PrintDemo
$ ./PrintDemo







