読者です 読者をやめる 読者になる 読者になる

【SIer⇒Web】スキルアップ日記

SIer⇒Web系への転職を目指す人間の日記。日々の学習などを記録していきます。

2017/01/24_今日の学習内容

勉強会/イベント PHP+MySQLマスターブック 用語

日付が変わってしまったけど、01/24の学習内容を整理。

 

【テキスト学習】

*OAuth

GoogleFacebookなどに既に会員になっている場合、登録済みのIDとパスワードを利用して別のサービスの会員になることができる。

アクセストークンというキーを利用して、コンテンツを閲覧できるようにしている。

 

*HTML_QuickForm

HTMLフォームの生成とかに使えるライブラリ。

HTML_QuickForm - PHPプロ!マニュアル

 

Smarty

PHPのためのテンプレートエンジン。

Smarty マニュアル | Smarty

 

※現在使用しているテキストの後半に、「会員管理サイト」のサンプルソースが載っているが、内容が複雑。

 HTML_QuickFormやSmartyを使用しており、それぞれ理解していかないと読み進めていくのが難しそう。それぞれ実際にテキストを見ながら書いてみて、内容理解するようにする。

※相変わらずオブジェクト指向もよく理解できない。。。こちらも明日ゆっくり理解できるように、イメージできるようにしてみる。

 

【勉強会】

今日は、Webプログラミングの基礎に関する勉強会(講義形式)に参加。

手書きでメモしてたので、特に印象に残っている箇所をメモ。

 

フレームワーク

 基本的なプログラム群。

 一度選んで開発しちゃうと、後から変えるのは大変。

 (PHPの場合は、CakePHPやLaravelが人気)

 

MVC分割

 フレームワークに関連。

 Modelの部分で以下に省力化するかが、フレームワーク選びの基準ともいえる。

 

*Webプログラムの言語

 基本的にメインの言語があり、機能ごとに使用している言語が異なる作りになっていることが多い。

 これは実現する機能によって、適したフレームワークがあるため、異なる言語になる。

 

 

20170121-22_趣味の時間

21日(土)、22日(日)は、ちょっと勉強をお休みしてました。。。

というのも、私は趣味でバンド活動をやっておりまして、

昨日22日はライブ当日だったのですw

そのため、この土日はライブに向けた『準備/練習/ライブ当日』という感じでした!

 

今日23日からまた転職活動を再開します。

とりあえず職務経歴書を作成して、転職エージェントに提出する予定です。

 

2017/01/20_今日の学習内容

これまで色々気になったページをEvernoteに沢山クリップしてたので、

改めてゆっくりそのページを読んでみた。

メモ書き程度に残しておく。

 

Evernoteにクリップしてあった記事から...

*IoTのセキュリティ問題、ウィルス対策

 IoTの技術が広まってきているため、IoTのウィルス対策が重要になってくる。

 ウィルスを作っている側としては、特定の技術に対して攻撃を試みるより、ライブラリにバックドアを仕込んでおいた方が広まりやすいため、そういった手口を使うのでは...とのこと。

バックドア("裏口")

 セキュリティ用語における"裏口"とは、「正規の方法ではない方法で、端末やシステムに侵入するルート」のこと。

 

*今後調べること

*Go言語
GitHub

 

 

 

20170120_イベント参加レポート

勉強会/イベント

【コードキャンプ1日体験】

今日はグルーヴ・ギア株式会社という所がやっている、

コードキャンプの1日体験コースに行ってきました。

簡単に感じたことを整理してみようと思います。

 

【コードキャンプとは】

用意されているカリキュラムを各個人でこなしながら、プログラミングスキルを身につけていく。

毎日10:00~18:00まで、もくもくとカリキュラムをこなしていく感じ。

でも、近くに現役プログラマーの方がいて質問ができたり、同じ仲間が沢山いるので、学習しやすい環境であると思った。

今日はその1日体験をしてきた。

 

【1日体験コースの内容】

今日1日のスケジュールを整理

10:00~10:30⇒体験コースのスケジュール説明

10:30~11:00⇒環境構築と、今日のプログラミング課題の確認。

       課題はJavaPHPが用意されていて、自分はPHPを選択。

11:00~12:00⇒開催している以下のコースの説明。

        ①転職コース(転職支援のみ)

        ②学習コース(PG学習のみ)

        ③転職+学習コース

12:00~13:00⇒昼食、同じく体験者の方と食事をした。

13:00~16:00⇒時々質問しながら、ひたすら課題をこなす。

 

【感じたこと】

・プログラミングは楽しいな、と思った。

 上手く動かなかったものが動くようになった瞬間の達成感は、やっぱり良いものだと思う。(※それがたとえ初心者用の課題であってもね。)

・「周りに相談できる人がいる所で、もくもくとプログラミングをする環境」が、自分で学習する上で非常に向いていると思った。

 dots.とかで「もくもく会」のイベントが沢山あるので、今後はそこに積極的に参加してみようと思う。

・イベント参加の良いところは、他の人と情報共有ができることだと思う。

 一緒にいた体験者の人は、プログラミング初心者の人だった。これまで異業種で働いていたが、プログラマーに転職するために勉強しているらしい。Javaを勉強していて、Androidアプリを自己学習で作っているとのこと。

 「AndroidStudio」っていう開発環境で開発できるんだね、初めて知りました。これまでPHPをメインにやっていたけど、ちょっと挑戦してみようかなと思った。

 ※Androidアプリなら、自分で作ったものを普段から利用できるかもしれないし。それって凄く面白いよね!!

 

【参加予定イベント】

・1/29(日):もくもく会PHPで自作Webアプリを作る作業をしてみようと思ってる。

・1/30(月):WordPressもくもく会。環境構築をそこでやってみる予定。あとは少しいじってみる。

 

【備忘】

PHPの「===」演算子。NULL比較で使った。「isset()」とか「empty()」とか、仕様がややこしい。。。

・「var_dump()」。変数の中身を表示できる。デバッグに使えそうなので、使い方を覚えておく。

 

 

 

勉強してみたいことや、やってみたいことが少しずつ増えてきた!

 これから楽しくなってきそうです。

 

 

 

2017/01/19:【今日の学習内容】

Webとプログラミングのきほんのきほん

主にPHPからMySQLに接続する箇所を学習。

 

【学習内容】

*データベース操作の基本

基本的には以下の流れ。

①データベース接続(コネクションの開く)

 DBサーバのホスト名/IPアドレス、接続するデータベース名、ユーザ名、パスワードなどの情報が必要。

 PHPの場合は、mysqli_connect関数を使用。

文字コード設定

 mysqli_set_charset(コネクション,"文字コード")で設定。

SQL文実行

 mysqli_query(コネクション,SQL文)

 で直接実行する方法と、プリペアードステートメントを使用して実行するやり方がある。

SQL結果に対する処理(※SELECT文の場合)

 SELECT文の場合は、取得した結果を変数に格納して処理を行う。

 

 // 変数resultに結果を格納

 $result = mysqli_query(コネクション,SQL文);

 

 // 結果の行数分、1行ずつ読み込んで処理(配列に入れているイメージか)

 while ( $row = mysqli_fetch_array($result) ) {

  // 1行ずつの処理

  // 値を参照するときは、$row["カラム名"]

 }

 // 結果の開放

 mysqli_free_result($result);

 

⑤データベース切断(コネクションを閉じる)

 mysqli_close(コネクション);

 

*プリペアードステートメントによる実行

値を設定する箇所を「?」などの記号にしておいて、そこに値を埋め込む方法。

SQLを作る(型だけ作るイメージ)

 $stmt = mysqli_prepare(コネクション,"insert into sample (col1,col2,col3)" .

                                                                 " values(?,?,?);");

バインド変数の設定(?の部分)

 mysqli_bind_param($stmt, "sss", $_POST["col1"], $_POST["col2"], $_POST["col3"]);

③実行

 mysqli_stmt_execute($stmt);

 

SQLインジェクション

悪意ある第三者が、入力フォームなどから不正なSQLを差し込んで攻撃する手法。

対策として、

 ①SQLエスケープ

  特殊な文字を置き換える(例:「'」など)

 ②プリペアードステートメントを使う

がある。

 

【独り言】

明日はPHP初心者のための勉強会。

こういった勉強会に参加するのは初めてだから、

どんなプログラムで進むのか楽しみ。

 

 

 

自作Webアプリへの挑戦_001

自作Webアプリ(家計簿)

自作Webアプリの作成に挑戦してみる。

 

【作るもの】

「家計簿」アプリ。

※ド定番...

※でも一人暮らしだし、これから転職活動でお金も使うから、管理するために必要なんだよね。自分で使えるものの方が作り甲斐もあるよね???

 

これから仕様とかを整理しながら、作っていきます。

作成過程はここに記録していきます。

 

2017/01/18:【今日の学習内容】

Webとプログラミングのきほんのきほん

今日もテキストを使用した学習。

 

【学習内容】

Cookieとセッション情報

 ページ間で、入力情報などの共有を行う必要がある際に使う仕組み。

Cookie

 クライアント側にデータを保存する。

 データの盗聴・改ざんなどが行われる可能性あり。

②セッション情報

 サーバ側にデータを保存する。

 クライアントごとにランダムに生成した「セッションID」を割り当て、そのIDごとに保存領域を作成してデータを保存する。

 データのやり取りをする際には、セッションIDをCookieで送信される。

 盗聴・改ざんの心配は少ないが、サーバ側のメモリ消費が大きい。

 一定時間利用しなかったセッションは、タイムアウトする。

 

【勉強会参加】

20日:PHPのプログラミング

24日:Webプログラミング入門

25日:ITエンジニアの転職セミナー