徒然 ITかあさん

ITかあさん

これが本当のDoSアタック!ITかあさんついにサービス停止に追い込まれる!

ITかあさんブログ、ついに閉鎖へ。。

終了のお知らせ

。。。うそです。

何の前触れもなくサーバーが再び停止!国外アクセスは現在停止中にも関わらず、再びITかあさんのサーバーは停止したのです

これが本当のDoSアタック!身も凍るクラウドサーバーの利用停止

クラウドの管理画面に行くと、持っている全てのサーバーが全て起動もできない、何も出来ないんですね。

Microsoft Azureからのメール

Microsoft Azure

We’ve got a little problem. Your subscription ‘Windows Azure MSDN – Visual Studio Ultimate {●●●●}’ and services were disabled on Tuesday, February 23, 2016 because you have reached your spending limit.

あなたのサブスクリプションは利用制限に達しましたので2月23日に停止しておきました。
死亡

なんと言う絶望感。。

Microsoft Azureを使い始めて2年が経過しようとしているんですが、利用制限があることは分かってはいたものの、まさか利用制限に達するとは到底思ってもみませんでしたので。。(だいたい1万/月くらいかな)
でも、なぜこんなことになってしまったかというと、先日発生したDOSアタック攻撃が激し過ぎて、サーバーを大幅に増強したことが原因でした。

サーバーの利用停止にまで追い込まれる、これが本当のDoSアタックの恐怖だ!

DDoS,Dosアタック辛い→サーバー増強→金が足りない→落ちる

なんと言う負の連鎖!!ひどい、ひどすぎる!!

Microsoft Azureにじゃぶじゃぶ課金するよ(爆

Microsoft Azureの課金の制限を解除すればまたサーバーが起動出来るってことで

これからはAzureにジャブジャブ課金するっきゃねえ!

Microsoft Azureのサブスクリプションの利用制限を解除することにしました。

利用制限解除してもなぜか起動できない、全てのサービスが停止したままのMicrosoft Azure

死亡

再び絶望。。

スクリーンショット 2016-02-23 13.58.02
制限解除しても使えないクラウドサーバー達。。

もうお手上げだ!Microsoft Azureのサポートセンターに問い合わせ

Microsoft Azureの管理画面より問い合わせ。折り返しの連絡方法を「電話」とし、送信してまつこと40分ほどすぐに折り返しの連絡がかかってきました(対応速い!)

ここからがMicrosoft Azureの神対応

・折り返し電話をくれたタイミングではすでに原因の究明は完了していた
・原因は一度停止したサブスクリプションがサービス全て再開出来るのは数時間かかること(長いと24時間とか)
・いつ復旧したかの通知サービスは無いのでサポートセンター側で都度確認をして、復旧したら電話連絡する

短くも、的確に状況を伝えてくれました。いつ復旧したか分からないのは利用者側として辛かったのですが、都度サポートセンターで確認してもらえるとのことでここはまかせて待つことにしました。

それから待つこと1時間ほど、サービスは無事利用再開

連絡の通り、待っているだけでMicrosoft Azureのサブスクリプションは利用再開が自働で行われ、サーバーは再び息を吹き返したのでした!

再びのMicrosoft Azureのサポートセンターからの電話

・復旧の連絡
・Microsoft Azure利用する上でのアンケートのような質問(電話の窓口はやはりあったほうがよいか、など

などの電話がありました。
折り返しの電話を待っている間は本当に気が気ではなかったのですが、かなりスムーズに利用再開まで進められました。最終的に完全に停止していたのは2時間半ほどだけで済み、大きなダメージはありませんでした。

まとめ

そもそもAzureの課金設定の上限があったことを認識していたにも関わらず、「どうせ超えないから」と思っていたところにDOS攻撃をしかけられたのがそもそもの原因でした。
これからはDOSアタックにそなえ、毎日CPUの状態もチェックし安定したサーバー運用を心がけたいと思います。

追記

実は今回一時的に停止された問題で一つだけメリットがあったんです。あれほどまでに激しかったDOSアタックがぴたりと泊まりました。
現在国内限定公開ではなく、海外からのアクセスもでき、さらにメモリとコアを半分に落としたにも関わらず、です。
実は停止されて再度 再開する際、IPアドレスが変わってしまったのですが(もちろんDNSも変更) その影響からかDOSの攻撃はぴたりとなくなったのです!
ただ、またいつ攻撃はしかけられるか分かりませんので、今後も監視は強化していきたいと思います。

200人規模の勉強会をやってみて分かったこと

年末JavaScript祭はついに200人規模のイベントを開催するまでになりました

年末JavaScript

JavaScript祭は2年目を終え、次の春のイベントで3年目を迎えます。

過去参加者の例
スピンオフイベントですら、40名とか。どんだけお化けみたいなイベントに育ってしまったんだよ。。と。
ただのノリではじめたイベントが気がつけばDoorKeeperのグループではもうすぐ1000人に到達する勢いですし、いつも助けて下さるスタッフの皆さん、登壇者の皆さんには本当に頭が上がりません。。
そこで今回は100人を超える勉強会を開催してみて分かったこと、集客やトラブルについてぜひお話したいと思います。

ノリで「JavaScriptでイベントやったらおもしろそうじゃん」とつぶやく

JavaScriptで祭がしたい

何気ないつぶやきに全力で乗っかる偽ベイマックスアイコンの人。。

上京してくる人

登壇を募ると岩手からやってくるというめんたいこさん。

知り合いにお願いしたり、facebookやTwitterから登壇者を募集してイベントページの作成まで終えて公開すると、イベントページ公開後、24時間でほぼ満席となるイベントになりました。

しかし、事件はここから起る!

登壇者、急遽来れなくなる、とか。

ちょ。マジか
メインのセッション5〜6本お願いしてると、誰か1人くらい急遽ムリになりました!ごめんなさい!
という方が現れます。勉強会は勉強会です。ほぼボランティアでこちらもお願いしていること、仕事の依頼をしているわけではないのでムリにお願いも出来ません。なので新たに募集します。

必殺募集Tweet!!

事件発生

本当に後日コレで登壇が決まってくれたのでソーシャルの力はデカい

その他、もう当たり前のように発生する事件

減らぬ当日キャンセル、キャンセルすらしない無断欠席

ドタキャンは逮捕だ!!

ドタキャンやめて!キャンセル待ち大量に出てるイベントにドタキャンは本当に失礼!

イベントに申し込むだけ申し込んで、来ない人、いますよね。ありますよね。自分の知り合いの●●さんとか、あれ?来るはずだったのに来てないとか顔が浮かびます。
自分はイベント運営でお金は1円も儲けてないです。むしろマイナスです。ただ好きでやっているんですね。
登壇者の方もほとんどお礼程度のことしか出来てないですけれど唯一出来る恩返しが「人を集めること」と考えているんです。これはスポンサーに対しても同様です。多くの人の前で登壇すればそれはそれで一つの宣伝になりますから。
事前にキャンセルをして下さればキャンセル待ちの人がイベントに来れたわけですし、キャパの通りに人がチェックインしてくれたこと過去に一度もありません。キャパに対してマイナスの部分はそれだけ「ドタキャン」した人がいるっていうことです。

LT来ない。。。

これ超ひどい。本当にひどい。

「あなたがLTしたいっていうから枠開けたのに、連絡すらくれない、来ないって何なんですか?」

年末のイベントでは合計9人の方がLTしてくれるはずでした。
ところがどっこい!

待てどくらせどLTが来ないんですよ。もうね、ギャグかと!

結局9人中6人しかLT来ないのね。後の3名の方はどこいったんでしょうね。。これ通常のセッション枠だったらイベントとしてもう崩壊してます。(まあ、メインのセッション枠はそんなわけで直接の知り合いとかちゃんと連絡取れる人以外お断りしてるんですけど)

有名なイベントと被る!

名前は上げませんが、某有名なWEB制作系のイベントと思いっきり日程が被りました。もう会場もそこしか抑えられないし、被るの承知で開催しました。でも結果として被ったことで大きな混乱は生まれませんでしたし、エンジニアカラーが強いイベントになったようでそれはそれでよかったかもしれません。

会場見つからない

100人超えるイベントになると、都内だと無料で開催できるところは片手で数えるほどしかありません。無料ですからね。会場を提供して下さる会社様には本当に感謝です。
年々開催出来るところが少なくなっている印象があり、少なくとも2ヶ月前には会場を探さないと間に合いません

そんなわけで大きなイベントになると発生する事例として

ざっとこんな事例が発生します。

セッション枠が急遽空くことがある(色んな人が集まれば当然発生します)
ドタキャン
LT不在
会場見つからない

で、200人規模のイベントを滞りなく運営するには

セッション枠は1つくらい欠けてもボリューム感が損なわれない程度のセッション数を設ける

最初は5枠程度でしたが、今は6枠セッションを設けるようにし、急遽1人くらいセッションNGになる人が出てもイベント運営として問題のない枠数にしました。1枠減っても、残りのセッションを数分ずつ時間延ばせばいいですしね。

キャンセルは出るものとする

何度もイベントやって分かりました。200人集客するんですもの、絶対にドタキャンは出ます。天気が悪いだけで当日のドタキャン率は50%にもなります。無料イベントはドタキャンされやすいものなんです。
一番良い解決案として、わずかでも良いので有料イベントにすることです。過去1度だけ会場が有料のため、1人参加者から1000円頂きました。実際は1000円もらっても手数料が引かれて700〜800円くらいにしかならないのですが、キャンセル率は30~40%程度にまで減らせます。
(有料でもキャンセル、ドタキャンする人はいるので、キャンセルされないイベントなんて無いのでしょうね)
DoorKeeperは決済をしないまま3日間放置するとそのままキャンセルされるのですね。するとどうでしょう。
有料イベント開催時、キャンセルは70人にも登りました。そのほとんどが未払いによるキャンセルだったんです。
「未払いによるキャンセルが70人程度いる」っていうのは驚異的な数字だとは思いませんか?決済せずに自働キャンセルされる人がこれだけいるのか、という衝撃が大きかったです。
でもこれはある意味よいことだと思っていて、未払いのままキャンセルされた場合、すぐにキャンセル待ちの人に繰り越されるわけで「本当に行きたい人が参加できる」イベントになったわけです。

LT不在、もう恐れない。

200人参加チケットとってくれて、そのうちの9名がLTエントリーだとして、参加率が60~70%のイベントだったら、LTすら無断欠席ってありえますよね。ええ、ありますとも(LT不在は初体験だったけど)
ですからLT枠は数名常に多くエントリーとって、そのうち2〜3人来なくてもLTとしてボリュームが損なわれないような配分を心がけます。

実際のキャパより多くイベントチケットを用意する

絶対キャンセルは出るんです。何度もイベント運営して分かりました。なので180人イベントなら200枠をわざと作りました。もちろんこれは会場と要相談です。180人集客だと、最大でも100名程度しか来ないのが分かってるんです。だったらそれを見越して20人バッファ取らせてもらえるよう交渉。でも万が一全員来てもギリギリ収容出来る人数で調整。

他のイベントと被る

年末と夏は大きなイベントと被ります。年末はイベントラッシュです。夏と年末にイベント開催する際は被っても仕方がない!くらいの心構えが必要です。被っても集客できる自身がなければ別の時期にするべきです。
JavaScript祭が春と秋にイベントをやるのはこのためで、春と秋は比較的プログラミング系のイベントが少ないので集客にそれほど苦労しませんでした。なので年末イベントは一つの大きな決断でしたね。

会場は前もって候補をいくつか

会場はいつも別のスタッフの方が助けて頂いてくれていますが、50名を超えるか、超えないかが一つのボーダーラインになってきて、50名くらいならコワーキングスペースを貸し切りすればいいのですが、都内だとごくわずかです。DoorKeeperの勉強会の会場一覧を見て、大規模なイベント開催時はいくつか候補を上げるようにすると良いでしょう。

これはやっておいた方がいいよ!ということ

スタッフは多めに

毎回本当に感謝しかないのですが、100人規模のイベントではスタッフは多ければ多いほど良いです。8人程度はいるとよりスムーズです。受付
、会場、写真班、Tweetのハッシュタグのチェック、懇親会準備、タイムキーパー仕事は上げればきりがありません。5人だとスタッフは足りず、10人を超えると今度は目が行き届かずこれといってお願いすることもなくなってくるので、7,8人がベター。
ちなみに手伝ってくれるスタッフは前の現場で一緒だったエンジニアさんや、個人的に知り合いだったり、知り合いの知り合いとか。

心ばかりのお礼も

初めてのイベント運営ではここまで気が回りませんでした。有料イベントを立てたり、規模が大きくなるにつれてスポンサーも集まり、スタッフや登壇の方に心ばかりのお礼も出来るようになりました。お礼といっても懇親会費用を無料にしたり、お気持ち程度の謝礼をお渡しするしか出来ませんが。最低限おいしいお酒くらいはね、ごちそうしたいよね。

100名を超えるイベントはとてつもなく大変か。。。そうでもない

実際何度か大きなイベントをやらせてもらい、分かったことは「そんなに大変でもキツくもない」ということ。純粋な事前準備にかかった私の工数は2人日もかかっていないかもしれません。イベントページを作ったり、簡単なサイト用意したり、会場の打ち合わせをメール経由でしたり、懇親会用のケータリングを依頼したり。そんなもんです。
あとは当日にイスを並べてワタワタとスタッフさんと協力して終わりなので、「大変だ!」というほどでもありません。これも本当に助けてくれる人がいるから成り立っているんですけどね。

どんなITイベントなら100名程度の集客が可能か

Green14_jyumon20141123153806_TP_V

どんな勉強会の企画ならたくさんの人が来てくれるの?

100人超える規模となるとまた別ですけれど、それなりに人気のあるFWやCMS、言語のネタであれば、ソーシャルに拡散していくだけでそこそこ集まるはずです。使っている人は多いはずなのに、勉強会があまり開催していないFWや言語であればなお集客しやすいです。
ここでポイントなのが以下。

初心者~中級者までを対象にする

ノリで始まったJavaScript祭ですがここまで大きなイベントになるとは思ってもみませんでした。ですが、当初初心者〜中級者までを対象に開催したのですね。JavaScriptはWEBをやるなら誰でも一度は触る言語なのに「JavaScript」という名前で勉強会はほとんどありませんでした。
あっても「Nodeとか、特定のFW」の勉強会。じゃあ自分がやろう!と思い、でも恥ずかしながら自分はエンジニアとして少しも上級ではありません。だったら自分でも伝えられるレベル・理解できるレベルに抑えてしまったのです。
実際、世の中「上級者と中級以下どちらが多いですか?」と言われたら、中級〜初心者の方が多いはずですからそういう意味でも受け入れてもらえたのかもしれません。
たくさんの人に来てもらうためなら「誰でも理解できて、楽しい」と思える内容にしなければなりませんので、今後もJavaScript祭ではスーパーエンジニア向けなイベントは開催しません。みんなに楽しんでもらえるイベントにしていきたいです。

100人規模で集客できそうなイベントの例

・今日からできるデザイナー向けGit運用
・初めてでも出来るサーバー設計勉強会

言語レベルだと分かりませんが、利用者は多いはずだけど勉強会があまり無い例は「Linux」とかですかね。未だレンタルサーバーから抜けられない、ローカル環境は未だxampp,Mamppだ!とか。そういう「●●の初心者を脱出したい」という欲求を満たせる勉強会やイベントであれば集客できそうかなと思っています。

まとめ

勉強会は参加してもなかなか学んだことを実務で活かす機会ってないんですよね。いつか、いつかって思って結局使わない。
LT枠でもよいので「自分の知っている知識を発表する、或は興味のあるジャンルを調べて発表する」のが私は一番スキルアップに繋がると思っています。(そんな話を前にもブログに書いたな)
自分が百人規模のイベントを開催させてもらったのは単なる偶然、思いつき、それに協力してくれるたくさんの人がいたから出来たことです。
本当に自分は大したことなんて何にもしてないです。
でも大きなITイベントが各地で開催されればエンジニア同士のリアルな交流が広がって行くのでどんどん楽しいイベントが増えたらいいなあと思います。
なかなかまとまってないですが、以上です。

IT子育てAdvent Calendar:子育て中でも出来るスキルアップのために実践しているたったひとつのこと

子育てプログラマ・ITエンジニア・Webデザイナー Advent Calendar

ITかあさん

子育てエンジニアのAdvent Calendarだと!!参加しないわけにはいかないだろう!(なんたって「ITかあさん」ですから!)

ITかあさんは第一子出産後、初めて社会人になりました

ITかあさんという名前でもう5年ほど活動しておりますが、私は最初からIT関連の仕事をしており、もうじきIT関連の職に着いて10年になろうとしています。
専門学校卒業直後に妊娠が発覚し、即結婚し、長女を出産したのが21歳の時。生後三ヶ月になるのを待って即働き始めました。その後24歳で第二子を授かり、今は2児の母でありながら「ITかあさん」という名前でフリーランスのエンジニアをしております。
「子供が生まれてから、仕事に対する意識は変わった!」という気持ちが無いどころか、出産をするまで社会に出たことすらありません。
出産後、わずか三ヶ月で外に出て働きはじめました。もうすぐ業界10年です。
(なお、専門学校はIT関連ではなく、完全に独学で今に至っています)

業界10年、子育てしながらこの手の仕事をしてて思うのが、

勉強会に参加したくても参加できない!!

というのが常にテーマです。
IT勉強会、たくさんありますね。興味があるイベントもたくさんあります。しかしまともに参加した試しなどほとんどありません。なぜなら時間がないのです。週末は子供と遊ぶのです。子供の用事があるのです。
そこで考えたあげく、

参加できないなら自分が作ればいいじゃない

参加出来ないなら、自分が作ればいいんです。

そこで3年ほど前から自分が学びたいこと、やりたいことをテーマに勉強会を立ち上げるようにしました。最初はLinuxのサーバー勉強会。その後WordPress関係に関わったり、今はJavaScriptのイベントを年二回立ち上げています。
そうこうしているうちに、勉強会に参加するより「主催する、発表する」ことが楽しい!と思えるようになり、基本勉強会では自分が何か発表する以外では行きません。

自分で勉強会を開催することのメリット

時間・場所・規模・やりたいこと

全て自分で決められることです。私が初めて立ち上げた勉強会はわずか数名のLinuxの勉強会でしたが、その勉強会があったからこそ基本的なサーバーのお作法は理解しているつもりですし、普通に自分でイチからLAMP環境の立ち上げ、サーバー運用くらいはできます。(一応、このサイトのサーバーも、自分で作って運用していますし)
何もイベントは数百人規模が勉強会・イベントではありません。大規模すぎると返って「おもしろそう」と思うことはあっても、雰囲気ばかりに圧倒されてなかなか頭に入らないことってありますからね。
勉強会も公民館を借りたりすれば場所代もかかりません。近所で開催して子連れで主催したこともあります。
自分で勉強会をすることのメリットは

ルールを自分で決められること

にあるのです。
友達誘って、カフェでもどこでも、2人以上集まれば勉強会って出来るもんです。

発表することは自分が興味あるけどまだやったことがないもの

勉強会で発表するのは自分が興味あるけどまだやったことがないものがオススメです。
また、やったことはあるけれどもっと突き詰めたいことにすべきです。
「人は、自分が本当に理解していることしか説明出来ない」んです。だから、人に説明できるほど一つのことを突き詰めていけば本当にそれは自分自身のスキルになります。
余談ですが、子供に勉強を教える時も本当に分かったかどうかは、「なぜその答えになるか説明してごらん?」と必ず聞きます。その様子で理解力が分かるのです。

やったことがないものも発表する理由

私はどちらかというと、やったことがないものを自分で調べて発表するのが好きです。
みなさん夏休みの宿題はいつやってましたか?
私は「夏休みの友」だけ夏休み前に終わらせ、自由研究を9月1日の朝までやるダメ人間でした。
そうです。

「ケツが着火して初めて行動する」タイプです。

「いつかやろう」と思ったことはたぶん一生やりません。だから勉強会の発表テーマを事前に告知して
「絶対にやらなければならない状況」を自ら作り出すんです。
子供いるから忙しいよー、は言い訳。
自ら自分のケツに火をつければすぐに自分の血となり肉となるはずです。

終わりに

子供がいるから勉強会に参加できないというなら、自分が都合が着く日に勉強会を立ち上げましょう。
そして、「勉強会も仕事のうち」を家族に日頃から言って理解してもらうことも大切です。時には夫、両親に頼って楽しいITライフを送りましょう!

ITかあさんが今年お世話になったツールなど

今年も一年ありがとうございました

このロゴを全く活用しないまま、今年も終わろうとしています
気づけばITかあさんも初めて4年以上経過しているのですね。大した更新数でもないにもかかわらず、気づけば「いいね」数が350件を超えていて、本当にありがとうございます。来年も のんびり頑張りたいと思います。

今年お世話になったツールなど

そんなわけでITかあさんが今年お世話になったツール等を紹介しておきたいと思います。

vagrant 仮想環境構築

Vagrant

ああ、もうこれ無いと開発出来ませんから。。

VirtualBoxとセットで使う、仮想環境構築ツール vagrant。自分でvagrantファイルをゴリゴリ書いたりするわけではないものの、公開されているvagrantファイルを使って仮想環境を作ってます。外付けHDDに何個仮想環境作っているんだろう。ブログのバックアップもクライアントからの案件の環境も、今はvagrantを使っているし、これがないと今は生きて行けないくらいマストなツールになりました。

comporser PHPのパッケージ管理

君は何ていい子なんだ..comporser

cakePHPもWordPressも今やcomporserでインストール出来る時代だし、フレームワークのプラグインの管理はcomporserがやはり一番楽。よく使うcakePHPのプラグインリストは同じcomporser.jsonにまとめておいて、追加したいプラグインは後からcomporser.jsonに追記すればOK。vagrantとセットで無くてはならない存在になりました。

Selenium IDE WEBアプリケーション テスト自働化

なぜ今まで自分自身が必要とする現場に居合わせなかったのか、むしろナゾ・・

かあさんこう見えて20歳からIT業界におりますのん。なのに存在自体を知っていながら、全く触れる機会がなく割と最近まで生きてきました。。
Selenium IDEはFirefoxのアドオンとして提供されており、導入も非常に簡単。WEBアプリのテスト自働と言わず、例えば画面のキャプチャを自働で撮ったりも可能なので、実はWEBデザイナーにもオススメです。(今度活用方など記事に書きます)

prezi プレゼンテーションスライド作成ツール

秋のjavascript祭で使ったスライド。preziの有料版を使って作りました。

円安の影響で年間利用料金18000円くらいになったんですが、それなりにクオリティの高いスライドが作れるようになり、スライド中に動画の埋め込みも出来るので個人的にはかなりオススメです。おそらく今後の勉強会のスライドもこれで作っていきたいなあとおもっています。
もう少しお手頃な価格のプランもあったはずなので、ぜひ。

まとめ:今年を振り返って

気づけばフリーランスエンジニアになって2年目が終わろうとして、ようやく自分のワークスタイルが決まって来た感じです。
ありがたい事に仕事の半分は勉強会や、コワーキングスペースで知り合った方から頂いている感じです。
来年は受注業務だけでなく、自分の媒体を作って運用していくことをしたいなあと思います。
来年もITかあさんをどうぞよろしくお願いします

PHPを勉強するならこれだけは言いたい!PHPのオススメ勉強法

ほぼ独学でPHPerになったITかあさんが言いたい、PHPのオススメ勉強法

PHPのオススメ勉強法
エイプリルフールですが、これと言って嘘の予定はありませんITかあさんです。いつかはこんなことを書いてみたかった

PHPのオススメ勉強法について

やや長文になりますが、WEBデザイナーからほぼ独学でPHPerになったITかあさんの目線から色々PHPの勉強について語ってもよいでしょうか?

個人の価値観、他言語のプログラマーがPHPを勉強する際では状況も異なると思うので、ここでは

他言語の経験がゼロでPHPを学ぶ人を対象に

語りたいと思います。

そもそもPHPっていうのはナゼ動くか

ApacheとPHP
WEBデザイナーのころはイマイチPHPの仕組み自体よく分かっていませんでした。

Apacheが動かしているんじゃないの?

と思っていましたが、

ApacheはWEBサーバー

のことで、URLを叩いたらHTMLが表示されたりする「WEB環境の基本」です。

もちろん、WEB環境としてのApacheが起動していないとそもそもPHPも動かないのですが、
「PHPをサーバー上にインストール」しているからこそPHPは動くのです。

PHPはサーバーサイドスクリプト

サーバーサイドスクリプト

なんて言葉を聞いたことがあるかもしれません。PHPはこのサーバーサードスクリプトの一種であります。
Webでプログラムの実行が要求されて初めてその結果をブラウザに対して送信されます。
つまり、

ユーザーがフォームの送信ボタンを押したり、ブラウザを開いたりして初めて動く

それがPHPなのです。

PHPで出来ないこと

PHPは『WEB専門言語』であって、『サイトのユーザーの要求に対して』結果を返すため、例えばブラウザが全く開かれていないなど、一切の要求が無いと勝手に動くことはありません。

このため、PHPだけで『全自動』なプログラムを作ることが出来ません。その場合はサーバーに定期実行をさせる『cron(クーロン)』を設定させる必要があります。

そのことからも、PHPでWEBプログラムをするに当たっては多少のサーバーの知識も必要になってくるのです。

なぜPHPはよくdisられてしまうか

ITかあさんで大川さんの写真使ったのは初めてだな~
他の代表的なサーバーサイドスクリプトに
JavaやPerlやRubyなどがありますが、どの言語も汎用性があり、WEB以外にも使うことが出来ます。それに対しPHPはWEB用であり、PHPを使ってソフトウェアiPhoneアプリやWindowsアプリを開発することは出来ません。
あくまでもWEBアプリケーションしか作れないのです。

ソフトウェアという単語はよくありませんでした(WordPressもブログソフトウェアですしね)、訂正

しかもPHPは他言語に比べて習得が容易であることからも『え?あなたPHPしか出来ないの?』とたまにdisられてしまうんです。

簡単に習得出来るのは、非常によいことだと思うのですが・・

PHPは簡単か?(いや、そうでも・・)

私は最初から職業がプログラマーだったわけではなく、WEBデザイナーからだんだんWEB系のプログラマーにシフトしていきました。(このブログが始まったばかりころはまだWEBデザイナーだったんですよ)

どういう要求が来ても、対応出来るようになったのが本格的にプログラミングをやって2年くらいかかりました。

プログラム全く何もしらない未経験の人からすると、

決して簡単ではないよね、PHP・・・

って感じです。

ズバリ、完全に独学することは可能か?

プログラミングの勉強ってお金かかりますよね

PHPに限らず、プログラミングのスクールに通うのはお金かかりますよね

私はPHPを勉強したのは

ほぼ独学

と言っており、実は全てが独学ではありません。

PHPを学ぶ上で苦労したところ、独学では難しいところ

配列が分からない・・

参考書の構文解説などで配列について項目がありますが、私は配列が本当に分からなかったです。

特に連想配列の意味が分からない

連想配列の意味が分からず、ここは苦労しました。
私が愛するCakePHPもそうですが、SQLでデータベースの情報を要求すると連想配列で結果が返ってくるので連想配列が分からないとPHP+データベースで何か大規模なプログラムを作ることは出来ません。

逆を言えば、連想配列さえちゃんと理解出来れば後はGoogleで検索すれば自然と答えが見えてきます。

一から十まで全てをスクールに通うとお金もかかり大変ですから、
小規模な相互リンク管理のプログラムをPHP+Mysqlで作ってみるまでの簡単なフローをプログラムの家庭教師を雇って教えてもらうといいかもしれません。

ちなみに私は某スクールに3万円ほどでこの一連のフローを学びました。

構文や関数何を覚えればよいか

構文は全て覚える必要なし!

PHPの構文はたくさんありますが、基本3つが使えればOKです。

if文
foreach文
for文
while文・・・たま~に使う、くらいかな~

配列を扱うに当たり、foreach文とfor文の2つをマスター出来れば基本的なWEBサイトのプログラムを作ることは出来ます。
特に

foreach文を完璧に理解する

ことに私は苦労しましたが、逆を言えばそこだけ誰かに教えてもらえればどうにでもなりそうです。
(foreachだけどうにか出来れば、けっこうどうにでもなりそうですね)

あ、私関数は何一つまともに覚えてないですw

関数は都度Googleで検索すればよいので、関数は覚える必要は何一つありません。

PHPを勉強するならレンタルサーバーで!

さくらのレンタルサーバーが一番オススメ

PHPを勉強するにあたり、私はぜひレンタルサーバーで勉強されることをオススメします。
なぜITかあさんはレンタルサーバーで勉強することをオススメしたいかというと、

レンタルサーバーならPHPの環境が全て整っているから!

PHPをこれから勉強しようという人がサーバーをゼロから構築するのは現実的ではないですし、ローカル環境という選択もありますが、
環境設定を自分で整えたり、メールの環境を整えなければなりません。
(PHPの入門書で最初のローカル環境の設定に何十ページもとっていたりするんですよ!)

PHPの勉強をするために、その場だけのローカル環境を準備するのは時間がもったいないし、レンタルサーバーの環境に満足できなくなっるくらいPHPの学習が進んでから VPSなどを借りてサーバー構築されるのがいいと思います。

500円くらいのレンタルサーバーであればcronスケジュールを登録出来るものもありますし、最近のレンタルサーバーは専用サーバー並みに環境が整っています。

訂正しました

レンタルサーバーについて 素人スクリプトを公開するのは他の人にも迷惑をかける恐れがあるのでそれは止めたほうがよいとの意見を頂き、
この件は訂正させて頂きます。また、サーバー屋さんも『プログラムデバックの禁止』をしているところが多いことからも良い意見ではなかったと反省しています。

PHPを勉強するにあたり、オススメの書籍

本は2冊容易するのがベスト

PHPを勉強する=Mysqlとの連携
があるでしょうから、PHPの入門書とMysqlの入門書2冊あったほうがいいです。
ITかあさんがボロボロになるまで愛読したPHPの入門書はこれ!

PHPのオススメ解説本

全体的に文字も大きく読みやすいです。PHPの入門書は余計な解説に終始するものが多いのですが、『必要なことだけ』しっかりまとまっている本です。

ただ、Mysqlがコマンドプロンプトから行う形になっており、Mysqlを扱うなら「phpMyadmin」を選択する方法もあるので初心者の方はMysql部分の解説は難しいかもしれません。本全体の2/3に当たるPHPの解説が大変読みやすいです。

Mysqlのオススメ解説本

PHPの解説本はPHPの解説本で、Mysqlの解説本はMysqlの解説本で分けたほうがいいです。1冊にまとめた本も多いのですが、1冊にまとまっているということはどちらの解説も中途半端に終わる可能性があるためそれぞれ分けることをオススメします。

PHPを勉強するに当たり、何から手をつければよいか

とりあえずPHPが出来るようになりたい

そう、思っている人も多いと思います。実際私もWEBデザイナーのころからそう思っていて、

WEBにおける全ての工程を自分一人で出来るようになりたい!

と思っていました。

いきなりPHP+Mysqlの大規模サイトはしんどいですから、小さいものからコツコツ作ってレベルアップしていくのがいいです。

CSVファイルのPHP出力

まずは超単純なCSVファイルをPHPの配列を理解する上で、連想配列ではない、一列の配列を出力してみるのがいいと思います。まずは配列出力の基礎の基礎ですね。

SESSIONを利用したメールフォーム

SESSIONを利用したメールフォームはプログラムの基本です。またWEBデザイナーの時には中途半端な知識のままフォームのコーディングをしていましたが、フォームをしっかり作れるようにならなければプログラムは作れません。
なお、このサイトでもPHPメールフォームの詳しい作り方を解説しています。

ログファイルベースの掲示板

掲示板にかかわらず、何らかのログファイルベースの掲示板や相互リンク管理を作るといいと思います。
PHPを学ぶ上でパーミッションに対する理解も必要なので、このパーミッションに対する理解が深まります。

ログファイルベースからデータベースに

ログファイルベースで作ったプログラムをデータベースで対応します。
SQLに関する知識はこの時初めて勉強するので十分です。

また、PHPでMysqlにアクセスする方法としてmysql_connect()などがありますが、実は私はほとんど使ったことがありません。絶対にそうすべき!と言うつもりはさらさらありませんが、PHPライブラリでPEARがあり

PEAR:MDB2

と、いうプラグインがあります。

これを使うとPHP+Mysqlの連携が容易になるし、結果が全て連想配列で返ってくるのでforeach構文が使いこなせればすぐにでもプログラムの構築が可能です。

しかも、PHPってフレームワークを使うようになるとまず自分でmysql_connectの関数を書く機会はありません。
このため、余計な知識を付けるくらいなら より簡単なプラグインを使うことをオススメしたいのです。

(ちなみにこのPEAR:MDB2はレンタルサーバーならほとんどがあらかじめインストールされており、自分で使うために設定することは何もありません。)

最後にオープンソースフレームワークを

ここまでの工程を踏んで、最後にオープンソースのフレームワークを使うと、これまでの知識が活かされてスムーズにフレームワークを扱うことが出来ます。(ぜひ、CakePHPをオススメしたいですっ)
私はほとんが仕事での実務でこの工程を踏んできました。私は半年でフレームワークを使うようになりました。あまり習得が早いほうではありませんでしたから、熱心な方は3カ月くらいで可能な人もいるでしょう

フレームワークを使うとMVC(モデル・ビュー・コントローラ)の概念が出来、フレームワークの仕様に乗っ取って「クラス」や「独自関数」も書くようになります。

これだけは言いたい!

よく

PHPを○○日で学ぶシリーズ

とかありますが、

んな数日で出来るか、ボケぇぇぇっ!!

と、声を大にして言いたいです。

配列を制す者はPHPを制す!

私に以前こう言って下さった凄腕のプログラマーがいました。今思えば全くその通りだったと思います。
事実 SQLでDBの内容を取りだしたら連想配列で結果が返ってくるので これを自分の欲しい配列の形に変換する作業はよく使います。

むしろ配列だけやっておけばいいんじゃないの?

と、いう気になるくらい、PHPでサイトのプログラムを作る時は配列の操作を行います。
(後は文字列の操作を行ったり、文字化けの対策もあったり色々ありますがやはりGoogleで調べて解決します)

PHPの入門書は数あれど

配列の重要さ、配列の大切さ、配列への理解を深める書籍

に私は出会ったことがありません。結局本だけで配列への理解を深めるのを諦めてその部分だけスクールで学びました。

配列だけ解説したところで非常に地味なので本としてはつまらないので売れないからだと思います。

なにもPHPに対して理解していなかった時は何となく

PHPって難しそう、でも出来たら何となくスゴそう!

と思っていましたが、実際実務で扱うと

地味!

なんですよ。

まだまだ自分自身 美しいPHPのコードを学んだり、より効率的な記述を模索している最中ですが、

私はPHPが大好き

ですし、よりたくさんの人に『PHPの楽しさ』を伝えていけたらいいかなと思います。

2013.04.02追記

一晩で250近くもハテブを頂くとは思わず、『いい意味』でも『悪い意味』でも反響を頂きました。
誤りの部分は真摯に受け止めるとして、本当に『ド素人』からWEB系のプログラマーとして独立した現在、

『自分がPHPを学ぶ上で本当に苦労したこと、配列の大切さ』を伝えたかったのです。

批判の意見も 私自身がまだまだプログラマーとして未熟な部分もあるからでして、自分自身もっと努力してPHPの楽しさを伝えていきたいと思います。

かあさんが自宅で仕事をするようになって変わったこと

ITかあさんはフリーになった。働くお母さんの視点で良かったことを書いてみる

ITかあさんは3月21日付けで完全フリーランスになった

いつかは独立しようと思って、そのいつかをいつにするのかずっとグダグダ悩んでいて、ついに3月21日で独立しました。

数日しか経っていないのだけれど、感じたこと、良かったことなど書いてみたいと思います。

朝の地獄のような戦争から少しだけ解放された

働くお母さんは誰もが子供の支度をしながら、自分の支度なんて本の数分で済ませて、場合によっては家族の弁当作って、何なら夕飯の支度の下ごしらえまでして 子供を登園させてギリギリに電車に乗り込む

そんな日々を送っていると思う。

少し早く起きて 支度すればいいじゃん

子を持たない人は皆そう思うんでしょうが、そうはいかないのが子供なんです。

  • なかなか起きない
  • なかなかご飯食べない(ミルク飲まない)
  • 小さいと一人で着替えも出来ない

こんなの序の口で、何なら 出発直前に

母ちゃん・・・う、うん○・・・・・
(出発前に漏れたとか超泣きそう。)

これが子供なんですよ。朝の死ぬほど忙しい時に何かやらかしてくれる、それがチビっ子達なんです。

多少 朝から打ち合わせとかありましたが朝のラッシュ時に電車に乗ることがほとんど無くなった分 この戦争がほんの少し和らぎました。

朝の戦争ではこのほんの少しがデカいんです。

悪天候時の登園は車

お母さんの自転車での登園風景などよく見ると思いますが、悪天候時の登園は本当に悲惨。
カッパ着せて自転車押して行ったりしますが、何度か自転車の転倒はしたことがあり、ちょっとしたけがなどはありました。

車で行けばいいというのもありましたが、登園後車を置いてから電車に乗るなど時間的にも無理。ましてや行く直前に雨が降ったりなど、もう諦めて自転車で行くしかありません。

今までなかなかそうしてこれなかったのですが、朝の時間的余裕から 安全面を優先して少しでも悪天候時は車で送迎するようになりました。

少しだけお迎えの時間が早くなった

通勤時間が無くなった分、30分~1時間ほどお迎えの時間が早くなった。
今まで7時すぎにお迎えをしていたのが6時前後でお迎えが行けるようになった。

それからゆっくり夕飯食べたりして、子供と過ごせる時間がほんの少し増えた。まだまだ小さいチビっ子達との時間が少しでも増えたことは本当にありがたい。

子供の体調不良に動じない

まだまだ病児保育の体制など無いに等しいのが現実。

子供が体調不良で休まざるを得ない時、インフルエンザの流行期はいつもびくびくしている日々がありました。

有る程度融通が効くのがフリーランスのいいところ。打ち合わせ当日に高熱出されたらアウトですが、かなりこの点では負担が無くなりました。

公立保育園は退園しなくてよい

勤務状況が変わった旨、市にちゃんと自分の勤務状況を伝えて、フリーランスなら開業届けの控えを市の担当に渡せば フリーランスでも継続して公立保育園に通うことが出来ました。

なので、働くお母さんがもしフリーランスにでもなったら必ずこの開業届けはすぐにでも出したほうがいいです。自分が働いていることを唯一証明出来る書類なのです。

自宅で仕事をしていることを周囲に理解してもらうことが難しい

今まで外でずっと働いてきた訳ですが、「え??自宅にいるならなぜ保育園に預けるの?」とか本気で言われることがあります。

子守しながら 仕事出来るほどフリーランスは甘くない!

実際、自宅にいる時間は増えましたが実質の作業量は会社員時代より増えてしまいましたし、子守をしながら出来るほど甘い世界じゃありません。

保育園の先生とばったり会った時なんて

仕事の用事などでちょっと市内をウロウロしている時にばったり保育園の先生に会ってしまう時など本当に気まずいです。

自宅で何の仕事をしているか、用事で多少は出歩くこともあること、

保育園の先生にもよく理解してもらうことが大切だと思いました。

子供にもよく理解してもらう、日頃から言い聞かせる

なぜお母さんは家にいるのか なぜ家にいるのに自分は保育園に行かなければいけないか

これをよく子供に言い聞かせるようにしました。

子供からすると、お母さんがちょっとこれまでより早くお迎えに来てくれたり、朝も少しゆっくり行くようになったりと良いことだらけなのでつい嬉しくて周囲に言いふらすんです。

でも子供の口から出てくるのは 都合のよいことばかりなので
「え?お母さん仕事してないのにあなたが保育園に行っているの?」
などと勘違いをされることもあります。

ですから、子供に

お母さんは家で仕事をしていること 

をしっかりと子供にも理解してもらうようにしました。後で面倒なことになるのもイヤなので

あんまり外で言いふらさないでね

とも言うようにしました。同業の方からすると自宅で仕事なんてして当たり前ですが、全くこちらの業界とは無縁の人に どんなに言っても理解してもらうのは難しいケースもあるので自宅で仕事をしていることは 知られないほうがよっぽど良いです。

家族と自分のためにフリーランスになったということ

独立しても 安定して仕事がもらえるようなスキルになるまで何年も時間がかかりましたが、独立することを夢見てずっとこれまで外で死にもの狂いで頑張ってきました。

出来ることならもう少し子供が小さいうちに独立するべきだったけれど、これからの日々を充実させることで 補っていけたらいいかなと思います。

本年も一年ありがとうございました

本年もありがとうございました。

すっかりお馴染みのかあさんロゴ。(え?そうでもない?)

本年もITかあさんにお付き合い頂きありがとうございました。来年もどうぞよろしくお願いします。

来年もどうかかまって下さい

実は去年まではFacebookはほとんど活用せず、Twetterばかりだったんですが、Facebookがソーシャルのメインになりました。
来年もソーシャルに留まらず、現実世界でももっとITかあさんにかまって下さい。

世界に何名かいるITかあさんFAN

ITかあさんのファンです!

と、堂々と言って下さる方がいらしたり、

僕の中では有名人です!

と言われたり、

実は世界に数名はいるであろうかあさんFANがいることに驚きました。

なぜかFANになって下さった皆様、本当にありがとうございます。これからもよろしくお願いします

勉強会も主催、参加させて頂きました

Linuxお勉強しよう会

Linuxお勉強しよう会

協同で主催させて頂きました。本来Linuxお勉強しようという趣旨の元、誕生した本勉強会ですが、気がついたらスクレイピングばっかりやったり 本来の趣旨とは離れてきてしまったこともあり そろそろ軌道修正して行きたいですね。

WordBench埼玉 スピーカー参加しました

にて、最近楽しくて仕方ないBuddyPressについて データベースの分散させる方法を紹介させて頂きました。
失敗もありましたが、WordPress系のイベントに参加するのはこれが初めてでして、良い経験となりました。

仕事のこと

職業がプログラマーになってから丸3年

今年1年間、スキルとして何かが大きく変わった実感は無く、

出来て当たり前!プログラマーだもの!

という、プログラマーとしての責任感が強くなりました。

WordPressの楽しさを実感

それまでほとんどWordPressは『消費するだけ』でしたが、今年出会った方々の影響でWordPressの勉強をするようになり、
プラグインを作ったり、日本ではまだ馴染みの薄いBuddyPressの勉強に力を入れるなど WordPressに対する考え方そのものが変わりました。
来年も引き続きWordPress・BuddyPressの勉強に力を入れ、近くBuddyPressでWEBサービスを公開する予定です。

大事なお知らせ:ITかあさんは独立します

ちらほらご報告させて頂いておりますが、

2013年3月中旬を持って、独立します。

埼玉県朝霞市でWEB制作とWEBシステムの仕事をフリーで始めます

この時期に独立しようと結論に至るまでは丸1年もかけて悩みました。

きちんと法人できるタイミングまで待つか、すぐにでも会社員を辞めて独り立ちするか・・・
様々な方との出会いで、

やろう!独立しよう!

と、決心するに至りました。

長女が小学校入学にあたり、母として一つの節目を迎えます。
私は長女を妊娠中にWEBデザインを独学で学び、出産後すぐWEBデザイナーとして働き始め、
気がつけばプログラミングもするようになりました。

母として節目を一つ迎え、これから先の人生、自分が本当にやりたいと思う仕事をしよう!

そんな訳で、フリーランスという形で来年は新しいスタートを切ります。来年の収益のバランスを見ながら、法人化も検討していきたいと思います。

来年もITかあさん 本人もブログもどうぞよろしくお願いします

しゃきーーーーーんっ

ITかあさんのロゴマークが出来ました

ITかあさんのロゴマークが出来ました

ITかあさんのロゴマーク

ついに、ITかあさんのロゴマークが出来ましたので、報告致します!
数年ぶりにAdobe Illustratorに向かうこと、わずか一時間で完成!
来年春より本格的にフリーランス活動をスタートさせるにあたり、名刺や、仕事用サイトを作ろうと思い、ITかあさんブログをスタートして2年 ついに正式にロゴマークを作った次第であります。

ロゴマークに込められた思い

男の子と女の子はそれぞれITかあさんの子供達、それを見守りながら 温かいWEB制作とシステム開発をしていきたいという願いがこめられています。

また、ほっぺがくっついているのは、愛情や人と人、WEBを通して繋がることをあらわしています。

当初のラフ案


当初のロゴのラフ案では抱っこしているイメージだったのですが、抱っこするより見守ることの方が大事、WEBサイトも作ることより、作った後 それを見守ることが大事だと考えて 抱っこの手はロゴから省くことにしました。

IT、WEB業種はつい人の温かさを忘れてしまいがちですが、そこには必ず作り手がいて 誰かが関わっているからこそ出来上がっていくわけです。

そこに人の温かさを伝えていきたいとITかあさんは考えています。

違うパターン


こちらは名刺や仕事用サイトに使っていく予定です。

今後の予定

ロゴに子供を入れたらあまりにも愛着が沸いてしまいました。
あまりにも気に入ってしまったため、近々『かあさんステッカー』を作りたいと思います。
あとは仕事用のハンコなど、名刺やサイト以外でも活用していきたいと思います。
(我ながら子供はすごく似ていると思います)

おまけ


長女6歳もお気に入りw

最近Firefoxのクラッシュが増えたと感じたら

Firefoxの3Dマークアップチェックを試したいだけでFirefox4にアップデートしたITかあさんですが急激にFirefoxのクラッシュが増えてしまいました。あれだけ持ち上げておきながら、最近Firefoxに戻ってしまったOperaの呪いでしょうか?

おたすけフォクすけが返信をくれた

Twitterで『Firefoxのクラッシュ率、パない』と何気なくTweetしたら@otaskehからいきなり話しかけられました。
(いきなりだったけどボットでは無いそうです)

つぶやいてから即この返信がありました。人力だそうなのですが、ボットとしか思えないほど高速でした。
なのでFirefoxで困ったことがあったら、とりあえずTweetしてみるといいかもしれません。

マルウェア

ウィルスのことですね。チェックをしましたが問題ないようです。

Firefoxトラブルシューティング

以下はFirefoxのヘルプから抜粋。

アドオン

問題のある古いバージョンのアドオンが原因で Firefox がクラッシュする可能性があります
プラグインチェック

アドオンは特に問題ないようでした

指紋認証ソフトのシングルサインオン機能

指紋認証ソフトウェアなどに搭載されたシングルサインオン機能が新しいバージョンの Firefox に対応していないため、Firefox をクラッシュさせることがあります

使ってないので問題なし

NVIDIA ForceWare Network Access Manager

NVIDIA 社のチップセットを搭載したパソコンに同梱されている「NVIDIA ForceWare Network Access Manager」が Firefox をクラッシュさせる原因となります。

これも関係なし

不正なフォント

Windows 環境で、不正に作成された「Osaka」フォントをパソコンにインストールすると、このフォントが使用されたページを開いた時にクラッシュします。

不正なOsakaフォントなんてあるんですね。初めて知りましたがこれも問題ありません。

Mac OS X 10.7 Lion

Firefox は Mac OS X 10.7 Lion に対応していますが、一部の機能が原因でクラッシュが生じる場合があります。

Winユーザーなので関係無し

グラフィックスドライバ

Firefox 4 以降にアップグレードしてから頻繁にクラッシュが発生する場合、お使いのパソコンに搭載されているグラフィックスドライバが原因となっている可能性があります。

おたすけフォクすけが言っていたのはこちらのようです。他に当てはまることが無いのでグラフィックスドライバを変更してみます

グラフィックドライバを更新する

グラフィックスドライバを更新してみます。なお、全作業終了まで更新時間を合わせると10分~15分ほどかかります。
なお、私の環境はWin8です。Vistaも同じやり方のようです。

Windows updateを選択

Windows updateから更新を行います。



指示に従い、更新をインストールします。

最後に再起動を行い、終了です。

この後、Service Packの構成中ということで10分ほど待つことになりました。
グラフィックドライバ更新は以上です。

今日のまとめ

Firefox4にアップデートしたあたりから急にクラッシュが増えた方はこのグラフィックスドライバが原因のケースが多いようです。少し時間がかかるので休み時間などにアップデートしてみてください

WEBデザイナーからWEB系プログラマーに転職をして早1年。

プログラムを初めて作って1年

なぜ今この時期に1年を振り返るかというと、昨年夏に生まれて初めてプログラマー処女作を完成させて1年だからです。

会社では風俗関係も扱っているのですが、そこでコンパニオンの管理プログラムを作ったのが始まりでした。

自腹で趣味もかねてMysqlの講習会に参加し、全4回の講座終了後、即管理プログラムを作れ、かつ翌月にはオープンさせろという超スパルタンなスケジュールでした。

とにかく辛かったのは、分からないこちだらけなのに誰も教えてくれる人がいないこと。

講習会の先生にメールで2,3質問する意外、本当に自力でした。

分からない、でも締め切りは待ってくれない、バグが発見出来ない、どうしようどうしようでした。

どんなに汚くても表示させる

プログラマーとして、本当はダメなんだけど、優先させるべきは締め切り。
MVCもヘッタクレない、phpファイルにデータベースの接続から、プログラムから表示にいたる全てを同じファイルに書き、if文だらけのメッチャメチャなサイトになりましたが、ユーザーからそれは分かりません。

今でもしっかり動いています。

コンパニオンの出勤管理からニュースから、メルマガ配信だって動きます。

WEBデザイナーの時は、とにかく美しいコーディングに力を入れていましたが、(その方が返って仕事も早いですし)
美しいプログラムより、締め切りに間に合わせることこそが一番大事なのだと知りました。

1つのシステムを完成させた後に気になったのは、こんな書き方は誰がどう考えたって間違っている、でもその間違いをどう直したらよいか分かりません。
初心者としてのひとつの壁にあたった時でした。

翌々月にオープンソースのフレームに出会う

Smartyはかじる程度に次に自分が学んだのはオープンソースのフレーム CakePhpでした。

選んだ理由はただひとつ。PHPのフレームワークで最も簡単だと思ったから

オープンソースフレームワークを使うことのメリットは、
誰が作ってもだいたい同じ書き方になること、調べると何とか答えが見つかることです。

でも書籍を購入しても全くわからず、個人で講習を行っている人を探して1時間3千円で教えてもらい、Cakephpで会員制サイト構築の基礎まで教えてもらい、それがちょうど年末で、翌年6月に生まれて初めて会員制の大規模ポータルサイトをオープンさせました。

脱初心者を実感

大規模会員制ポータルサイトをオープンさせることに無事成功すると、大きな自信に繋がりました。
会員制サイトを作りたいというのはWEBデザイナーの頃からの夢でしたし、
目標でもありました。

でも会員制サイト構築したことよりも、自分が脱初心者を実感したのは
配列を自由自在に操れるようになったことでした。

フレームワークに限らず、データベースからデータの呼び出し結果は連想配列ですが、その連想配列が中で2つ3つ回ることはざらです。
複雑な連想配列を動的に単純配列にしたり、キーをPHP上で追加したり、
配列なら何でも来い、と言えるくらい配列操作が得意になった時から。
フレームワークを利用した時、自分の欲しい形に配列を変更することが多く、
気がつけば配列操作に恐いものが無くなりました。

現在はどういう状態かというと

現在はどういう状態かというと、そろそろPHPだけでは物足りなくなってきたこと。与えられた環境では満足いかなくなってくると今度はWEBサーバーの構築がしたくなりました。

そこで月額500円程度のVPSにCENTOS5だけインストールされた状態でWEBサーバーをゼロからネットで調べながら全て独学で構築しました。これはおもしろくて、自分の欲しい環境を重い通りに構築するんです。

クーロンも使うように

WEBサーバーがある程度構築出来ると、クーロンも触るようになりました。
PHPはその性質上、ユーザーの何か動作に合わせて動きますが、何もされなければ動きません。
そこでスケジュールを設定して、時間がくると勝手に処理をしてくれるようになるんです。
クーロンが使えるようになると、Twitterのbotも作れるようなった。
つまり、PHPだけでは出来なかったことも、サーバーのコマンドを通してなら、本当意味での自動のプログラムが作成出来るということが分かった。

理数系とかって関係ない

主に、と言うか、ほとんどがPHPでの作業なのですが、理数系かどうかはまるで関係がないということです。
好きか、嫌いか。なぜ動かないんだ?っていうことを楽しみながら出来る人が向いてるんだと思いました。
私はガチ文系で、高校2までしか数学は学んでいません。
どこまで熱中出来るか、これだけでした。

社外のコネクションって大事

社外のコネクションって大事で、私の場合社内で誰も教えてくれませんから、どうしても無理って時に力を貸してくれる人の存在はい偉大です。
あとは、Twitterでハッシュタグつけてツイートすると、1時間以内に誰かしら返答があります。
Twitterで同業ネットワークを広げるのもいいです。

日頃RSS活用

日頃RSS活用して、新しい情報を収集するくせをつけています。
特にこれはAjaxに有効で、プラグインなの情報網があると、応用が効きやすいです。

英語の必要性を痛感

日本のサイトだけでは不十分なことが多く、海外のサイトに頼ることもしばしば。英語が理解出来ないこともあり、その必要性を感じました。
書籍も日本語だけでなく、最近は英語版にも手を出すようになりました。英語の専門書籍の多さには脱帽です。

ipad2が便利

私スキルアップにも貢献してくれているのがipad2。
ほぼ電子書籍リーダーとしての利用が多く、何冊も専門書籍が入っています。通勤中も読んでます。

スキルアップするには

たった1年でまさか自分もここまでやるとはおもわなかった。
ちょっとかじるつもりがサーバーまで構築するよになりました。
結局、自分よりも仕事が出来る人がいたらその人に全部いい仕事が行ってしまうわけで、たった一人は辛いことも多かったけれど、その辛い状況に一人立ち向かった結果今のスキルに直結したように思います。
勉強したり、しなかったりを自宅でしていましたが、仕事で、しかも納期があり、『絶対にやらねばならない』環境を作ることがスキルアップには近道でした。
(いばらの道でしたが)

スキルアップの順序として、

PHP、SQLも全部1枚のHTMLファイルの中に書く形でのプログラムの作成、
オープンソースのフレームワークの習得。
会員制サイトの構築でした。

人によって様々ですが、オープンソースのフレームワークを1つ覚えることでMVCの基本が分かり、外注したプログラムも解析できるようになります。

会員制サイトを一つの通過点のように思っていましたが、実際会員制サイトはセッション管理と、ログインしている情報が他のユーザーの情報を見れないようにしたりするくらいで 大抵はプラグインを使って構築するので 会員のログインプログラムを作ってもスキルアップは実感できませんでした。

それ以上に、フレームワークを使う中で自分のほしい形に配列を変更するほうがスキルアップを実感できました。

今後の予定

PHPで一通りのことは何でもこなせるようになったのですが、やはりサーバーと連携させたプログラムをもう少しこなしたいところ。
現在趣味でスマートフォンサイトの作成中なのでAjaxを極めていきたいと思っています。

ちなみに月収

私の月収は31万円 交通費別 社保完備、6時定時の残業なし。ボーナス無し。
ここまでスキルアップして、社内唯一のプログラマーとして頑張ってるけど、WEBデザイナーで入社して 28万の初任給から3万しか上がってない。
今このご時世では仕方無いのかな~と思いつつ、これからも精進します。

劇的なスキルアップのきっかけはこの会社でもあるので、もうあと2~3年は在籍して もう少し力をつけて、ひっそり独立の準備を進めます。

なんかイマイチまとまりが無くってすみません。ま、とりあえずこれからもがんばりますということで。