こんにちは。たきもとです。
更新の間隔が随分延びましたね。
さて、今回は次の点について紹介します。
- プログラミングを始めて8か月でできるようになること
- 環境の変化
前回の記事(7か月経った時の記事)はこちらです。
プログラミングを始めて7か月で出来るようになること | たきもとけんご.com
プログラミングを始めて8か月でできるようになること
次の3点ができるようになったことです。
- JavaScript / jQuery / Ajax
- 正規表現(スクレイピング)
- MySQL / PDO
ここでは、上記3点について紹介します。
JavaScript / jQuery / Ajax
まず、javaScriptに手を出したキッカケについて紹介します。
javaScriptに着手したキッカケは業務上の必要に迫られたからです。
詳細は後述しますが、私は先月からWEB系の会社にコミットしています。
その会社で急遽必要になったので。
1週間程勉強をして一先ず形にしました。
とは言っても、やったことは大した作業ではありません。
その作業を簡単にまとめると次のようになります。
- DBから特定のデータを抽出
- ネット上に落ちていたライブラリを利用
- HTMLを書き換え、画面上に表示した数字を動的に動かす
javaScriptとは何か。
Ajaxとは何か。
jQueryとは何か。
こういった基本的な疑問からスタートしてどうにか業務を達成しました。
ただ、あまりにもおざなりな知識の身につけ方をしたので6月いっぱいはjavaScriptの初心者本を丁寧に進める予定です。
正規表現(スクレイピング)
会社へのコミット以前からPHPでスクレイピングをしていました。
このスキルは偶然現場で役立っています。
今まではxpath式を利用していたのですが、最近はもっぱら正規表現が多いです。
正規表現は今でも得意じゃありません。
でも、出来ると便利だなぁという印象です。
xpathはHTML構成がサイト内のどのページでも同じ場合に威力を発揮してくれます。
一方で、同一サイト内異ページ間でHTML構造が異なる場合は正規表現の方が便利です。
まさに今、業務で統一感のないサイトの情報を収集しています。
今回の業務で概ね正規表現を扱えるようになりましたが・・・
まだまだ奥が深そうです。
正規表現は。
MySQL / PDO
これは先述したjsで一緒に勉強しました。
苦戦したのは次の2点です。
- PDOのオプションの取り扱い
- 3種類の実行式(excec/query/prepare)使い分け
PDOのオプションは,
– SQL文実行結果をどのような形で取得したいのか
– 例外処理へthrowする条件の厳しさ
などを設定します。
これがなかなか理解できなくて困りました。
また、3種類の実行式の使い分けにも悩みました。
SQLインジェクションを気にすると プレースホルダとprepareを使うのが良いでしょう。
あとは、bindParam or bindValue か好きな方を使いこなしましょう。
環境の変化
先日、アルバイトか業務委託かで悩んだ記事を書きました。
アルバイト or 業務委託(受注) で悩んだ話 | たきもとけんご.com
先方と協議を重ねた結果アルバイトになったわけですが、以前に比べて時間の使い方が大きく変わりました。
ここでは環境の変化について次の点を紹介します。
- WEB系の会社にコミットした
- 業務で使うPCがMacになった
- WEBサービスの内容で悩んでいる
WEB系の会社にコミットした
先述した通り、WEB系の会社にコミットしています。
これで大きく変わった点は次の通りです。
- 1日の時間の内半分は仕事に費やすことになった
- 今までと同様の作業に給料が発生するようになった
まず、自分のために使える時間が大幅に減りました。
一方で、今まで独学で行ってきたプログラミングの作業に対して給料が発生するようになりました。
これは時間をお金に変える典型的な例ですが、自分がやりたいことに対して報酬があるという点が最大のメリットです。
業務で使うPCがMacになった
これは私にとって若干の弊害になっています。
つまり、家で使っているwindowsが如何に使いにくいかを実感しているということです。
キーボードの配置やショートカットだけでなく、環境構築の点でwindowsはmacに大きく劣っています。
プログラミングをする人はmacを使った方が良いです。
もしくは、windowsにLinuxを入れるか。
このいずれかの手段を取ることで環境構築で悩む時間を削減可能です。
WEBサービスの内容で悩んでいる
これ、前回の進捗報告の記事でも同じことを書いていますね。
ビジネス戦略に悩んでいる
まだ一つもWEBサービスをリリースしていないのでなんとも言えないのですが。
悩んでいます。マネタイズに。直近では 欲しいものを作る が目標なのですが、作った後はどうしよう?
どうやってマネタイズしよう?
みたいな。
スキルアップを目的に今の会社にコミットしているのですが、やはり最後は独学に落ち着きます。
ベンチャーなので教育体制が整っているとは言い難いので。
最近思うのは、次の2点は大きく異るんだなぁ。ということ。
- プログラミングができること
- ビジネスを創ること
これらについて考えているとなかなか前へ進めません。
同じ所をぐるぐる回っているような感覚になります。
どうやってこれを打破しようか・・。
まとめ
少しずつでもコードを書けばプログラミングスキルは上達します。
ひたすらスキルを磨くのか、
それとも、
スキルを活かして新たな何かを作るのか。
これが問題です。
私は後者を重視しています。
世の中に何らかの課題があって、それを解決するための一つの手段としてプログラミングを利用する。
その際、プログラミングを使いこなせないと解決までに膨大な時間がかかってしまう。
これを避けるために私はプログラミングスキルを磨いています。
まだまだ牛歩だけれど。
もっと前へ進みたい。
だから私は、WEBサービスリリースを中間目標として今日もコードと向き合います。
本日は以上です。