合法SESおじさんがPGを目指す日記

合法SESおじさんがICT現場でひたすら足搔く様子はなるたけ書かない技術ブログです

環境構築したのでCでpee書いた話(2) 実際に頭使って書かないと実感できないことだらけだから困るorz

senobro.hatenablog.com

 続きです。

 

えー、まことに恥ずかしながらですね…

プロトタイプ宣言なるものを本当に今更なんですが

 

「そういうものなのか!」と知りましたので、ご報告します。

低レベルすぎて死にたくなりますね。すみません、吊ってきます。

 

C言語ではmainが最初に呼ばれるので、その後ろに書いた関数はプロトタイプ宣言をしないと読まれません。

それを踏まえてソースを改修します。

あ、あといくつか改修してます。

 

=====ここから 続きを読む

環境構築したのでCでpee書いた話

senobro.hatenablog.com

 

環境構築まで出来たので、C言語で何か書いてみることにしました。

 

ところで、パソコン関係のお仕事についてる方はみんなコーヒー好きだと(勝手に)思ってるんですけど、飲みすぎたら近くなりますよね?

 

ですが、配属先がブラック企業なのでWCに行くにも許可が要ります。

 

f:id:senobro:20170408221059p:plain

上司の機嫌がいいときはすぐに「行ってこい!」と言ってくれます。ラッキーですね。

 

f:id:senobro:20170408221212p:plain

でも機嫌が悪いと何万回も聞かないと許してもらえません。世知辛いですね。

 

ちなみに、書いたuncordならぬpeecordは以下になります。

 

========ここから=============================================

#include <stdio.h>
#include <stdlib.h>

static int jadge; /*上司の判断を返すだけのstatic変数 */

/***************************************************/
/*がばがばコーヒー飲みまくって Pee値インクリメント */
/*尿意が限界(100)超えたら上司に尋ねる */
/*上司が「いいよ」と言ったらトイレへ */
/***************************************************/
int main(){

int pee = 0;
while(tired()) {
drinkCoffee();
pee++;

printf("Pee Point: %d\n", pee);

if(pee >= 100){
printf("Humm...Boss,Can't I go to WC!?\n");
bossParmit(jadge);
if(jadge == 1){
printf("BOSS:Huh!? hurry!\n");
return 0;
}else{
printf("BOSS:Yes you can't.\n");
}
}
}
return 0;
}

/***************************************************/
/*コーヒーを飲むだけの関数(要改良) */
/***************************************************/
int drinkCoffee(void){
printf("Let's take a cup of coffee.\n");
}

/***************************************************/
/*ボスが許可を決める関数(要改良) */
/***************************************************/
int bossParmit(){
srand(time(NULL));
jadge = rand() % 2;
return jadge;
}

/***************************************************/
/*PGは常に疲れているのでひたすらフラグに1を返す */
/***************************************************/
int tired(){
return 1;
}

 

========ここまで=============================================

 

【書いてて思った改善点とりとめもなく書き連ねる】

・絶対英語が間違ってる。こんな受け答えはまずしない

・mainの中のif文処理は切り分けできる気がする

・絶対間違ったsrandの使い方してる

・フラグの立て方がわからん(致命的)

・なんでこいつこんなコーヒーがばがば飲んでんだよ

・何万回も尋ねてるため上司側がウザがってる

・コーヒー飲みすぎ

・上司の許可がクッソ渋い。まず間違いなく漏れる

 

【改良案】

・ランダムに0と1を出すようにしてるけど、割合を半々にしたい

・どっかのタイミングでもう飲めねーよってしたい

・1万Pee Pointごとに一度の割合で尋ねるようにしたい

 

・peeは生理現象ゆえ飲まなくてもPee Pointが増えるようにしたい

・jadgeの結果を1~50くらいにして20くらいでGOサインにしたい

・聞きすぎたら上司が「うぜえからお前クビ」とかにしたい

・限界超えてその場でpeeする処理にしたい

 

自分で書いててなんなんですが、本当に何書いてんですかね…

 

あ、当然ながらWCの許可取らないとだめってのは

フィクションですよ?フィクション

この業界入ってからはそんなことありませんし。はい

 

パン屋やってた時はWCの許可要りましたけど控えめに言って店畳めクソがって思ってましたが

 

続きはまた次回

VirtualBoxでローカル開発環境を構築していく話(2) ワタシPHPチョットサワル

senobro.hatenablog.com

続きです。今度はこちらを入れていきます。

Cyberduck | Libre FTP, SFTP, WebDAV, S3, Backblaze B2 & OpenStack Swift browser for Mac and Windows

 

なんやかんやでWebサーバまで立ち上げ終わりました。

f:id:senobro:20170408120546p:plain

 

ンでまた問題が発生。

 

PHPで書いたHello, Worldがブラウザ上で見れなかった(文法ミスってた)のでつい

puttyからいつもの癖でexitで抜けてしまったっす…orz

 

もう一度Webサーバを立ち上げようとしたら…

Failed to listen on localhost:8000 (reason : Address already in use)

 

ですよねー・・・どう直すのせんせー

www.youtube.com

ps -ef | grep php

kill hoge

 

…あれ、まだ立ち上げたのが生きてるってなったので

 

Laravel4、PHP5.4のサーバーを使用する

kill -9で一度ぶった切って再立ち上げ。事なきを得ました。

 

はい

f:id:senobro:20170408122325p:plain

とりあえずの開発環境は整った気がする。teratermとか用意してないけど…

続きはまた次回。おなか減った。

VirtualBoxでローカル開発環境を構築していく話(1)

【前回のあらすじ】

Ubuntuをデュアルブートしようとしてwindows10消し飛ばした話 - senobro’s blog

ド派手にOSぶっ壊したので全部おじゃんになりました。

 

http://dotinstall.com/lessons/basic_localdev_win_v2/38602

↑なのでここを見ながらローカル開発環境を構築します。

 

動画をもとに、以下をインストールしていきます。

・Virtual Box

Downloads – Oracle VM VirtualBox

Vagrant

www.vagrantup.com

putty

Download PuTTY: latest release (0.68)

 

http://dotinstall.com/lessons/basic_localdev_win_v2/38609

 

とりあえずputtyvagrantにログインまでは完了。

f:id:senobro:20170408113318p:plain

 

設定はまだ終わってないので、次回のブログはここのページから続けます。

 

【得たもの】

Vagrantのセットアップで使ったWindows PowerShellUNIX系コマンドが(ちょっとだけ)使えるから便利

前に現場で何度か使ったけどわけわかってなかった

たぶんまだ訳わかってないので、機会があればガンガン使っていきたい

 

【今日の失敗】

・これ書いてるときにウイルスバスター入れるの忘れてたことに気づいた(入れた)

Ubuntuをデュアルブートしようとしてwindows10消し飛ばした話

昨日の深夜

1:ubuntuを壊してたことを思い出す。

2:1を消してもう一度windowsと共存させようと思い立つ

3:bios経由で以前焼いたubuntuをインストール

4:インストール終了

5:あれ、なんかおかしい。

6:前に2、3個出てたハードディスクのアイコンがubuntu内に出てない

7:もしかして:win10消し飛ばしたんじゃね?

8:ubuntuのアプリアップデート後に再起動して、またBIOS開く

9:ブートの順をwinを一番最初にしてみる

10:無事ubuntuが起動⇒消し飛ばしたことが確定orz

11:ショックのあまりubuntuも消す⇒またなぜかwinを起動してみる

12:Operating System Not Foundとか出る

13:ここでOSが何も入ってない状態になる

14:絶望のままふて寝

今日

1:朝一でビックカメラに直行。

2:Windows 10 Home USB 3.0を購入

3:即帰ってUSB入れてBIOS起動

4:Operating System Not Foundとか出る

5:たすけてぐーぐるせんせー

6:Windows 10 のダウンロード ←ここに行き着く

7:たまたま昔買った空のDVDが有ったので父のPCでisoファイルを落とす

8:DVDに焼く

9:焼いた後、自分のPCに入れてBIOS起動

10:Operating System Not Fou(ry

11:起動順が悪かったぽいのでDVDをブートローダの先頭にして再起動

12:無事windows10が起動。再設定

 

原因

・以前Ubuntuのアップデートをする際、アップデート中にシャットダウン

してぶち壊した。

・今回Ubuntuを入れる際、ディスク全体を削除してから使用するを選択した。

Ubuntuがインストールされていますと表示されたドライブを選択したはず)

 

・前に入れたUbuntuを入れたドライバをwindows側からフォーマットすればこういったことは起こらなかった。

 

教訓

・新規にOS入れるときは深夜を避けよう。先に入ってたOSを殺す羽目になる

デュアルブートする際は気を付けよう。一歩間違えれば先に入ってたOSを(ry

・新しいことを試すときはサブPCを用意しよう。(用意したい…)

 

追記

・買ったusbは意味なかった。相談した店員さんがやたら早口で面白かった(こなみ)

 

さらに追記

・最近ではBIOSUEFIなるものに取って代わってるようです。

スキルが一向に伸びない人、どんどん伸びる人

あけましておめでとうございます(劇遅)

 

 生きてます。せのです。

お久しぶりです。

 

やる気が急降下中ですがブログ書きます。

 

エンジニアのスキルってどうやって伸ばしていくんですかね…

あーでもないこーでもない転職しようやっぱこのままetc...

 

…こんな思考だから伸びないんですね。スキル

 

たぶん、伸びる人はこの逆で

・あれがやりたい!

・どうすればいいんだろう?

・とりあえず作ってみよう!

・あれ?上手くいかないぞ?

・あれにやり方が載ってそう!調べよう!

・よし、うまくいった!

・あれ?これはどうやってやるんだろう?

・よし、前はこうやったから次はこうかな?

 

この繰り返しなんですよね。

まずはやってみる。

 

かなり抽象的になっちゃいましたが、とりあえず何か作る。

これに尽きるんですよね…結局

写経は本の丸写しじゃ意味ないっぽい

プログラミング学習でしばしば写経が行われますが(僕もよくやります)

あれ、どうやらサンプルコードを頭から書くのではなく

 

①:骨組み(空関数)

②:コンパイルが通るか(ちゃんと動くか)確認

③:中身の実装

④:②と③を繰り返す。

 

のが実際にコーディングをしていくときにやるやり方らしいです。

 

・一気に書けるのはせいぜい2~3行

・どんなものを作りたいか考える(ここが一番大事)

・まず空でもいいので枠組みを作る(プロトタイプ的なもの)

・それから中身を詰めていく(処理の実装)

 

頭の片隅に置いて、意識しながら作業できるようになりたいと思います。

今までの本には全然そんなこと書かれてなかったな…

 

これ、おすすめです。C言語を触る人じゃなくても読んで損じゃないです。

(ダイレクトマーケティング感ある)

Amazon CAPTCHA