1. 無料アクセス解析

プログラミングに没頭しているあるIT技術者の日々

プログラミングに関する技術やコードについて、日々思ったことを書いていくブログです。

ADSL→光ファイバーにスムーズに切り替える方法

3日前の日曜日に私の自宅が光ファイバーになって、その時に"スムーズ"に切り替える事が出来たので、そのやり方です。光ファイバーはNTTのBフレッツです。プロバイダーは超マイナーなので申し訳ありませんが、恥ずかしくて教えられません(笑)

前提条件
1.プロバイダー自体とプロバイダー提供のメールアドレスは変わっていない。プランが変わっただけ。
2.家自体は引越ししていない。

・6月1日 最近この新築アパートでも光ファイバーが使えるようになったとの事で、利用を勧めるNTTの代理店の会社がたまたま営業で家に来たので、そこで早速契約する。工事日は今日から4日以内ぐらいに連絡するとの話を受ける。

・6月4か5日 "NTTが行う"工事の日程が6月22日午後に決まったとの連絡を受ける(私の家は立会い必要だった)

その翌日か翌々日 プロバイダーに連絡(私のプロバイダーはオンラインで)をしてプラン変更(ADSL→光)の手続きをする、その際に"NTTの工事日"(6月22日午後)と自分が使いたい日(6月22日にした)を"必ず"プロバイダーに伝える。自分が使いたい日に合わせてプロバイダーも自社側の手配をしてくれた。

工事日3日ぐらい前 プロバイダーからネット接続用の新しいIDとパスワードが書かれた用紙が送られてくる。これが無いとネットに接続出来ません。

工事日当日 NTTの工事の作業をする職員が来て、私自身が立会いの下、30分ぐらいで工事を終える。

その後すぐにプロバイダーから貰った上記のIDとパスワードを使ってネットに接続してみると、問題無く光ファイバー回線で繋がった。

ポイント NTTの工事日が決まったら"すぐに"プロバイダーにプラン変更の申請をすること。理由はプロバイダーによって違うかもしれないが、申請してから一定の期間はプロバイダー側の手配にも時間がかかる為、NTTの工事日"直後"にすぐに使えない可能性が高いから。

以上が一連の流れになります。

-----------------------------------------------------------------------------

ここからは本題とはズレますが、私が使っているLinux(Ubuntu8.04)の場合、Windowsと違ってちょっとネット接続に手間がかかりました。"私の場合は"以下の様に端末で入力すると無事に接続出来ました。

1.sudo pppoeconfと入力しENTERキーを押す
2.英語でPPPoEの設定画面が出てくるので殆ど(全部?)YESでOKだったが、プロバイダーから貰った上記のIDとパスワードの入力画面ではきちんと入力する。

参考サイト 

以上の手順で無事に繋がりました。正直かなり焦りましたが。

で、速度はADSLの過去最高が秒速750KBぐらいだったのに対し、光の現時点の最高が秒速4MB弱という約5倍の速さになりました。

テクニック | コメント:0 | トラックバック:0 |

発想はいつメモするべきか

本文リンク先

う〜ん、良い記事を見つけてしまいました。記事内容に激しく同意って感じです。

本文の中身から一部抜粋したい点は、最近仕事をしていて思うのですが、問題に当たった時には頭だけで解決しようとしないでその辺にある紙にとにかく色々書くって所でしょうか。

どうやら、これをやると解決する事が多いみたいです。

とりあえず私の現時点での問題は、大体はしているけどメモ帳を"常に"持ち歩く事は出来ていないので、小物入れでも買ってそれにメモ帳とペンを入れておきましょう。

管理人からのオススメ | コメント:0 | トラックバック:0 |

1つのSQL文で複数の表にINSERTする 絶品テクニック

リンク先

実は今作っている研修システムで、親表と子表の参照関係にある2つの表にそれぞれ一行ずつINSERT文を発行してデータを登録するという処理があるんですが、"普通に書けば"INSERT文を2回書かなければいけなくて、"万が一"1回目と2回目の間にエラーが起こった時にデータの整合性が取れなくなるという現象が発生しており、どうしようかなと思っていたら上記の記事を見つけました。

でも残念ながら上記の書き方はどうもOracleでしか出来ない?みたいで私が今使っているAccess2003ではINSERT構文に問題があるのか無理っぽいです。

まあ別に上司にもここまで対応しろとは言われていないので"現時点では"放っておいても良いのですが何か気になるんですよね。

まあ、いずれにしても良い書き方だとは思うので、INSERT文をよく使う方にとっては覚えておいて損は無い気がします。

少し私のやりたい事と内容違うが関連ページリンク先

一気に複数のレコードをinsertする方法について

ACCESSで複数行同時INSERT

IT関連情報 | コメント:0 | トラックバック:0 |

情報発信者と情報受信者

私のあくまでも主観的な自分の印象なんですが私は今、情報受発信者だと自分で思っています。

私も昔は異常なテレビっ子だったり、典型的な受信者側の人間だったのですが、どうも受身になるのが嫌なのか、最近はこうしてブログやmixiで日記を書いたりしたりしていて発信者の一面も出てきたみたいです。

あと、発信者になりたいのは、著名人なんかを見ていて、ああいった方達はとにかく自分の意見を述べているな〜と思いまして、私も著名人になりたいから今のウチから練習しておこうかな〜と思ってやっています。

基本的には受信者の方が楽ではあると思うのですが、どうも発信は止めれそうにありません。

ただ、発信者にはリスクも伴うと思うのです。ここで発信者と受信者で気を付けたい事を自分なりに書いてみます。

発信者側
・下手な事を書いたり言ったりすると誹謗中傷を浴びる可能性がある
・上記が原因で責任も伴う
・誰が見ているか分からないので文章は誰でも読めるようにする必要がある
・文章が長くなってしまうと読む側も大変なので、上手に要点をまとめて書く

だからエッ?な事を書くことなんかはもっての他なんですが、現状ではついつい書いてしまっていますし(笑)、文章も長くなっていますし現状では全然ダメです。内容にも依りますが、基本的に誰でも読めるようには出来ているとは思うんですけどね。

次に

受信者側
・ブログやmixiなどで自分にとって為になった記事を読んだ時にコメントとかでお礼をする(特にブログやHPは)
・記事の内容に隠されているヒントを読み取って自分のモノにする

上のヤツは私は最近仕事で色んな方のブログを見ていますが、全くお礼をしていなくて痛感している所です。

結構書く方が大変なのもこうして書いていて良く分かりますので、記事によってはホントにお礼はしていきたいですね。

下のヤツはたま〜に私も日記を書く時に似たような事をやる時があります。

ある特定の人(大体1〜2人)向けに日記を書いたりしていたりする時があります。

それに気づくかどうかはその人次第ですが、いずれにせよブログにしてもmixiの日記にしても意外な所にヒントが隠されている印象があるので、私も引き続き注意深く他の方の記事を見ていきたいですね。

皆様も私の記事だけでは無く、どんな記事でも注意深く見た方が良いと思います。


その他 | コメント:0 | トラックバック:0 |

.NET開発者に必見のWEBページ?

今朝、会社のVistaガジェットで下記の記事を見つけました。

リンク先

タイトルの最後に?がついているのは皆さん既にご存知ではないかという事と、必見という程の内容では無いかもしれないからなんですが、少なくても今の私には物凄〜く為になる記事です。

逆引き代全とも似ていると思いますが、こっちの方が説明が深く分かりやすい印象です。

あと、この記事は「〜 コンテンツは毎週拡充しています 〜」という文言もあるので引き続き注目ではないかと思います。

管理人からのオススメ | コメント:0 | トラックバック:0 |

やっぱりこのままパッとしない人生になるのか・・・

※仕事の話も有りますが誰でも読めるようにしています
※結構長文です

まあ、今日は酷かったですわ。もちろん仕事の事です。

今日からは先週末に"第一弾"の仕事が終わったので"第二弾"の仕事(Crystal Report仕様追加)がスタートしたのですが、前回やった失敗をまたやってしまうという結果に・・・。

一応、"第一弾"の反省点をまとめた報告書を今日始発で早出してワード(マイクロソフトのWord)で作ったのですが、反省点自体はきちんとまとめられていると上司は言ってくれました。

ただ、その報告書がまたダラダラと長ったらしくなっていて(スパゲッティコードみたく)、「ちょっとこの書き方はダメだね」と上司に言われてしまうという結果に・・・。

あと、エクセル(マイクロソフトのExcel)である表も作ったのですが、この表も「お客さんに見せれる表じゃないでしょ」と上司に言われ、しまいには上司が見本を作る結果に・・・。

更に、これは"第一弾"でもやったのですが、スケジュールの計画(納期を自分で決める)も厳しく見積もり過ぎて(今週木曜まで)、結局来週の月曜に見直すハメに・・・。

あと、今日上司に言われたのですが「PG君は理論や考え方は、難しく考えるのを除けば悪くないのだが、実践能力に欠けている」との言葉も頂く結果に・・・。

更に、今日では無いですがタイムカードをまた切り忘れてこれで2回目の失敗になってしまうという結果にも・・・。机のキーボードの上に大きな字で「タイムカードを忘れるな!」という紙があるにも関わらず・・・。

まあ、ずっと早出していたのが功を奏して、遅刻扱いにはなりませんでしたが、そういう問題じゃないでしょ・・・。

他にも有りましたが、どうやら私は先日書いた行動力と実践能力が、中学・高校生並みなのではないかという気がしています・・・。

あと、失敗に対して反省はしているのですが、それでもまた同じ失敗をしてしまうという学習能力の無さも・・・。

まあ、やる気・情熱・気力・向上心なんかはあると思いますが、いかんせんそれだけじゃダメでしょって感じがしています・・・。

結果的に、今日上司にも「沢山失敗する事によって、早出残業して自分の首を絞めている、そんなのイヤでしょ?」って言われてますしね・・・。

ちなみに、やっている事が違うとはいえ私以外の社員は皆さっさと仕事を終わらせてそんなに残業せずに早く帰っているんですよ、早出をしているのも私だけだし。

他にも書き切れないぐらいに色んな所で同じ失敗をしまくっているので、これじゃあタイトルの様な人生になっちゃうんじゃないかな〜と思ってしまうわけですよ。

まあ、こうやって自分の悪い所を書いているのは先日書いた日記の「自分の弱点を直すコツ」の考えが有って書いているので直す"気は"凄くあるのですが、いかんせん結果が伴わないという形になってしまっています・・・。

ああ〜、このままパッとしない人生になってしまうとかと本気で思ってしまっていますが、私は往生際がかなり悪い人間なので、やっぱりあきらめてなかったりします。

もうヤッチマッタもんはしょうがないでしょって事で、明日も始発で行くのでこれで寝ます。


会社ネタ | コメント:0 | トラックバック:0 |

最近、お酒の飲み過ぎがかなり減ってきた・・・

元々は、mixiのマイミクさん限定日記に書いた様に特に20歳前後にはキャバクラに通い倒したりもしてましたし、去年の今頃ぐらいまでは夜遊びはガンガンしていました。

それが今年の3月から今の家には住んでおりますがそれ以来、家では酒を多分一回も飲んでいないと思います。

別に酒に嫌いになったわけでは無いんですよ、現に昨日のmixiのOFF会でも飲んでましたし(チューハイ1リットルぐらいなら問題無いです)。

実は原因は既に分かっていたりします。以下に書きます。

先々週ぐらいに会社の飲み会で酒をガンガン飲んだ時に二日酔い気味になり、次の日の仕事がしばらくおぼつかなかったのが原因です。

経験ある人は分かると思いますが、二日酔いになると次の日は頭が全然回らなくなってしまうじゃないですか?

今、やりたい事が沢山有ってメチャクチャ忙しいのにああいう風になっちゃうと、勉強や仕事が全然出来なくなって一日が無駄に終わってしまうんですよね。

意識はしていなかったのですが、それが原因で飲み過ぎが解消したようです。

これだけが理由じゃないですけど先週も木曜・金曜と会社で飲みに誘われましたけど、断ってしまいましたしね(カラオケがあれば別(大笑))。

いや、分かっているんですよ会社の付き合いも大事な事ぐらいは。現に、今までどんな相手からでも飲みの誘いなんか断った事は無いですから。

でも現実に勉強の為に断っているのは確かなので、今度からこの症状?の事を「勉強病」と名付けます(笑)

まあ、どっちかと言えば良い事だと思いますし、まあ良いでしょう。


私の日常 | コメント:0 | トラックバック:0 |

C言語PART146 指定した数のビット目から指定した数のビット個数分1や0や反転して表示

#include

int count_bits(unsigned x){
int count = 0;
while(x){
if(x & 1U) count++;
x >>= 1;
}
return count;
}

int int_bits(void){
return count_bits(~0U);
}

unsigned set_n(unsigned x,int pos,int n){
int a,b,i;
unsigned c;

c = x;
a = pos;

for(i = pos;n > 0 && i > 0;n--,i--){
b = 2;
pos = i;
if (!(x >> --a) & 1U){
switch(i){
case 1: c += 1; break;
case 2: c += 2; break;
default: while(pos-- > 2){
b *= 2;
}
c += b;
}
}
}
return c;
}

unsigned reset_n(unsigned x,int pos,int n){
int a,b,i;
unsigned c;

c = x;
a = pos;

for(i = pos;n > 0 && i > 0;n--,i--){
b = 2;
pos = i;
if ((x >> --a) & 1U){
switch(i){
case 1: c -= 1; break;
case 2: c -= 2; break;
default: while(pos-- > 2){
b *= 2;
}
c -= b;
}
}
}
return c;
}

unsigned inverse_n(unsigned x,int pos,int n){
int a,b,i;
unsigned c;

c = x;
a = pos;

for(i = pos;n > 0 && i > 0;n--,i--){
b = 2;
pos = i;
if ((x >> --a) & 1U){
switch(i){
case 1: c -= 1; break;
case 2: c -= 2; break;
default: while(pos-- > 2){
b *= 2;
}
c -= b;
}
}else{
switch(i){
case 1: c += 1; break;
case 2: c += 2; break;
default: while(pos-- > 2){
b *= 2;
}
c += b;
}
}
}
return c;
}

void print_bits(unsigned x){
int i;

for(i = int_bits()-1;i >= 0;i--)
putchar(((x >> i) & 1U) ? '1' : '0');
}

int main(void){
unsigned a;
int b,c;

printf("非負の整数を入力してください:");
scanf("%u",&a);
printf("何ビット目から指定しますか:");
scanf("%d",&b);
printf("何個のビットを指定しますか:");
scanf("%d",&c);

printf("整数:"); print_bits(a);
printf("\n%dビット目から%d個を1にした値:",b,c); print_bits(set_n(a,b,c));
printf("\n%dビット目から%d個を0にした値:",b,c); print_bits(reset_n(a,b,c));
printf("\n%dビット目から%d個を反転した値:",b,c); print_bits(inverse_n(a,b,c));

putchar('\n');

return 0;
}


C言語 | コメント:0 | トラックバック:0 |

C言語PART145 指定した数のビット目を1や0や反転して表示

#include

int count_bits(unsigned x){
int count = 0;
while(x){
if(x & 1U) count++;
x >>= 1;
}
return count;
}

int int_bits(void){
return count_bits(~0U);
}

unsigned set(unsigned x,int pos){
int a,b = 2;
unsigned c;

c = x;
a = pos;

if ((x >> --a) & 1U){
return c;
}else{
switch(pos){
case 1: return c + 1;
case 2: return c + 2;
default: while(pos-- > 2)
b *= 2;
return c + b;
}
}
}

unsigned reset(unsigned x,int pos){
int a,b = 2;
unsigned c;

c = x;
a = pos;

if ((x >> --a) & 1U){
switch(pos){
case 1: return c - 1;
case 2: return c - 2;
default: while(pos-- > 2)
b *= 2;
return c - b;
}
}else{
return c;
}
}

unsigned inverse(unsigned x,int pos){
int a,b = 2;
unsigned c;

c = x;
a = pos;

if ((x >> --a) & 1U){
switch(pos){
case 1: return c - 1;
case 2: return c - 2;
default: while(pos-- > 2)
b *= 2;
return c - b;
}
}else{
switch(pos){
case 1: return c + 1;
case 2: return c + 2;
default: while(pos-- > 2)
b *= 2;
return c + b;
}
}
}

void print_bits(unsigned x){
int i;

for(i = int_bits()-1;i >= 0;i--)
putchar(((x >> i) & 1U) ? '1' : '0');
}

int main(void){
unsigned a;
int b;

printf("非負の整数を入力してください:");
scanf("%u",&a);
printf("何ビット目を指定しますか:");
scanf("%d",&b);

printf("整数:"); print_bits(a);
printf("\n%dビット目を1にした値:",b); print_bits(set(a,b));
printf("\n%dビット目を0にした値:",b); print_bits(reset(a,b));
printf("\n%dビット目を反転した値:",b); print_bits(inverse(a,b));

putchar('\n');

return 0;
}

C言語 | コメント:0 | トラックバック:0 |

C言語PART144 符号無し整数を左右にnビット回転した値を表示

かなり久しぶりになってしまいましたが、勿論止めるつもりはありません。

ただ今後は、毎日書くのはさすがに厳しくなってきたので、不定期になってしまう事だけはご了承頂ければと思います。

#include

unsigned rrotate(unsigned a,int b){

unsigned c,d;

c = a >> b;
d = a << int_bits()-b;

return c | d;
}

unsigned lrotate(unsigned a,int b){

unsigned c,d;

c = a << b;
d = a >> int_bits()-b;

return c | d;
}

int count_bits(unsigned x){
int count = 0;
while(x){
if(x & 1U) count++;
x >>= 1;
}
return count;
}

int int_bits(void){
return count_bits(~0U);
}

void print_bits(unsigned x){
int i;

for(i = int_bits()-1;i >= 0;i--)
putchar(((x >> i) & 1U) ? '1' : '0');
}

int main(void){
unsigned a;
int b;

printf("非負の整数を入力してください:");
scanf("%u",&a);
printf("何ビット回転しますか:");
scanf("%d",&b);

printf("整数:"); print_bits(a);
printf("\n右に%dビット回転した値:",b); print_bits(rrotate(a,b));
printf("\n左に%dビット回転した値:",b); print_bits(lrotate(a,b));

putchar('\n');

return 0;
}

C言語 | コメント:0 | トラックバック:0 |
| HOME | NEXT