あーる学習帳

自分が勉強したことや気になることなど、99%自分用です。コードを書いてるのでPCから閲覧を推奨。

HTML5/CSSの参考書

前回の記事を書いてから改めて取り組んでいた参考書が終わりました。

www.socym.co.jp

2013年の本ですが、「とりあえず何か作る」という点では必要なことをギュッと詰めて書いてくれていたので助かりました。

逆に言えば必要最低限しか書いていないので、これからさらに修行する必要があるぞと思いました。

取り急ぎ成果物のスクショをば。

f:id:R_de_aru:20181005003026p:plain

各要素の枠線は今後見直すときのことも考えて残してます。

ちょっとまだイメージが明確に持てていないスタイル(floatとか)があるので、また作りながら勉強していきたい。

明日から1週間かけて、HTML/CSSだけでポートフォリオサイトを作ってみます。

  • TOP
  • ABOUT(自分について)
  • WORK(仕事について)
  • CONTACT(PHPの勉強をしてから問い合わせフォームを作成)

こんな内容で。出張が今月も結構ありそうなので、それまでにはなんとかしたい。

更新サボり太郎

めちゃめちゃ更新サボってました。

仕事がー、プライベートがー、などなどあるけど、一番の理由は「やりたいことが見えなくなってきてしまった」というのが大きい。

 

ここ3か月くらいで、

CakePHPの参考書を途中までやった

JavaScriptの参考書を途中までやった

・転職しようとして一次面接で撃沈

・台風の沖縄で足止め

という出来事がありました。

 

これではいかんぞ、勉強が中途半端だぞと台風で足止め喰らっている間に思い、やりたいことが特にないというのがダメだと思い至りました。最初の頃に思っていたTwitterAPIを使った開発も、結局はAPIのアップデート?で難しくなったし、行きたいと思っていた会社からはお祈りメールをもらうし。そんなこんなで自分のことがどうでもよくなり、手段も目的もごちゃごちゃで訳が分からなくなっている状態。

 

今後何をするか/したいかについて改めてまとめると、

・転職したい。(もちろん残業代のためではないけど)いくら残業しても固定給使い放題、給料が上がる気配もないので車を買うとか結婚が家がとかそういうステージに進めない。

・プライベート開発について、個人が自分のPCやスマホで使える簡単な販売管理(POSシステム)みたいなのを開発したい。例えばフリーマーケット同人即売会で使ってもらって、「このイベントでは1団体当たり平均で何点売れているので、初参加の人はこれを判断材料にして在庫を用意するといい」とか、ビッグデータとはいかないまでも世の中にたくさんある判断材料のひとつを作りたい。

 

まだ漠然としているけど、形になるように頑張ってみよう。

LAMP環境構築、Composer&CakePHP導入まで

今週は仕事から帰ったらPHPフレームワークを使うために四苦八苦しておりました。

Laravelを入れたくてLaravel Homesteadについて調べていましたが、どこをどう触ればいいのかがなかなかわからず…。並行して調べていたCakePHP導入の方がうまくいったので、今回はその方法についてまとめていきます。

 

LAMP環境構築(CentOS)

基礎となるLAMP環境構築のうちCentOSについて、コマンドプロンプトを管理者として実行し、下記のコマンドを実行していく。この手順ではCentOS7.2を導入する。

  1. cdで仮想マシンのVagrantFileを置くフォルダまで移動
  2. vagrant init "bento/centos-7.2"を実行し、VagrantFileを作成
  3. VagrantFileを開き(自分の場合はAtomで開いている)、IPのコメントアウトを外して任意のIPに書き換える。初期値は192.168.33.10になっているので、自分は他の仮想マシンと被らないよう192.168.33.30に書き換えている。
  4. VagrantFileについて、config.ssh.insert_key=falseを加筆する。デフォルトだと仮想マシンごとにsshの鍵が作られるので、同じ鍵を使うようにしたいため。鍵そのものは~\.vagrant.d\insecure_private_key(Windowsのユーザーフォルダ)に作成される。
  5. ここでコマンドプロンプトに戻り、vagrant upを実行する。おそらく共有フォルダのマウントに関するエラーを出すが、起動そのものはできるはず。
  6. vagrantの起動を行った状態でvagrant sshを実行。仮想マシンにログインする。仮想マシンに対してコマンドプロンプト越しにいろいろなコマンドを打っていくが、これから実行するのはほとんどが管理者権限が必要になるコマンドとなる。なのでsuと入力し、root権限を取得しておく(パスワードを求められるが、この手順通り作業しているならパスワードはvagrantなはず)。rootになるとコマンドプロンプトの頭に付く$が#に変わる。

LAMP環境構築(Apache)

Apacheをインストールして起動するため、以下のコマンドを実行。

  1. yum -y install httpdと入力し、Apacheをインストール。インストールが終わったらhttpd -vでバージョン確認、その後systemctl start httpdと入力してApacheを起動させる。

LAMP環境構築(MySQL)

MySQLをインストールするため、以下のコマンドを実行

  1. CentOSにはMariadbが最初から入っているため、yum -y remove mariadb-libs.x86_64を実行してこれのアンインストールを行う。
  2. yum -y install http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpmを実行、リポジトリを追加。
  3. yum -y install mysql-community-serverを実行し、MySQLをインストール。終わったらmysqld --versionでバージョンの確認を行い、systemctl start mysqldで起動。

LAMP環境構築(PHP)

以下のコマンドでPHPをインストールする。下記の手順ではPHP7がインストールされる。

  1. yum -y install epel-releaseとrpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpmを実行し、リポジトリを追加。
  2. yum -y install --enablerepo=remi,epel,remi-php70 php php-devel php-intl php-mbstring php-pdo php-gd php-mysqlndを実行し、PHPをインストール。その後php -vでバージョンの確認。

LAMP環境構築(その他)

他にも必要なものがあるので、下記のコマンドをそれぞれ実行。

  1. yum -y install gitを実行し、Gitをインストール。
  2. CakePHPをインストールする際にzipファイルの解凍が必要となるが、今回の手順ではzip解凍に必要な機能がCentOSにインストールされていない。yum insatall -y zip unzipを実行し、その機能をインストールしておく。

composerインストール

ライブラリの依存管理ツールであるcomposerをインストールする。これによりCakePHPのインストールがコマンド一発で行える。Laravelなどでも使われる。

  1. php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"を実行し、セットアップスクリプトとなるPHPファイルをダウンロードする。これはhome\vagrantの直下に置かれる。ls -lを実行すれば現在のフォルダにどんなファイルがあるのかをコマンドプロンプト上で確認できる。
  2. ダウンロードしたPHPファイルをphp composer-setup.phpで実行し、composerの本体であるcomposer.pharを入手。php -r "unlink('composer-setup.php');"を実行し、セットアップスクリプトは削除しておく。
  3. これまではvagrantにroot権限でログインしているが、composerを使うときはroot権限を持っていると逆にエラーの原因となってしまう場合がある。exitと入力し、通常のユーザーとしてログインしている状態(コマンドプロンプトの先頭が$)の状態に戻しておく。
  4. ./composer.phar -vを実行し、派手なアスキーアートが出ればセットアップが完了している。
  5. CentOSのどこからでもcomposerコマンドが実行できるよう、本体を別のフォルダへ移しておく。再び管理者権限でログインし、mv composer.phar /usr/local/bin/composerを実行すればよい。その後は一度通常ユーザーに戻り、composerと入力するだけであの派手なアスキーアートが表示される。

CakePHPインストール

いよいよCakePHPの導入を行う。以下のコマンドを実行。

  1. composer self-update && composer create-project --prefer-dist cakephp/app 〇〇を実行。〇〇には任意のフォルダ名を入れる(cakephpなど)。指定したフォルダの下にCakePHPに関するファイルがダウンロードされる。

 

手順は以上となる。

インストールできたはいいが、CakePHPどころかApacheの使い方や設定がわからないので随時勉強していこう。

 

…やっぱりエラーが出た。たぶんPHPのインストールで何か問題がありそう

仮想環境へcomposerインストール

仕事のことでいろいろ悩んでいたら遅くなった。

 

今日は以下のサイトを参考にcomposerを入手。

weblabo.oscasierra.net

わかりやすかった。

LAMP環境構築

今回の仮想環境はドットインストールのスクリプト頼みではなく、自分で調べてLAMP環境を作成。これが割と完全版な気がしている。

今までの学習でVirtualBoxVagrantはインストール済みなので割愛。今回行った構築の順序は下記の通り。

  1. 仮想マシンとなるフォルダを作成
  2. vagrant init "bento/centos-7.2" をPowershellで作ったフォルダまで移動した上で実行
  3. 作成されたVagrantFileでIPを設定し、「config.ssh.insert_key = false」を付け加える
  4. Vagrant upするとマウントエラーを吐く
  5. vagrant plugin install vagrant-vbguestを実行してプラグインを入手
  6. vagrant reloadしても同じようなエラーを吐く
  7. vagrant ssh仮想マシンにログイン、sudo -iでroot(管理者権限ユーザー)になる
  8. yum updateを実行し、kernelの更新を行う
  9. そのあとvagrant reloadをするとエラーが全く出ない。
  10. 下記サイトに沿ってApacheMySQLPHPを入手。

qiita.com

とりあえず今日はここまで。次回はPHPフレームワークであるLaravelをこの環境で使えるようにしていきたい。composerが必要なんだっけ。

 

仕事がエグい。とにかく楽しくない…。

開発日記:PHPでTwitterのAPIを使うには…?

PHPを使って作りたいものとして、TwitterAPIを使ってなんやかんや…というものがあります。自分がいいねをつけた呟きを画像付き/動画付き/テキストのみに分けて一覧で出したり、ハッシュタグのついた動画だけを検索したり。

 

で、そんな機能に欠かせないのがTwitterAPI。先ほど勉強用に1つ取得しました。まだまだ使わないけど…。どのサイトで何をすればAPIが取得できるのかについてはいろいろなブログなどで載せられていますが、APIを実際に使う前に自分でもまとめてみようと思っています。

 

で、そのTwitterAPIを使うにはどうしたらいいのか…と検索してみたところ、いろいろなサイトで紹介されているのが「TwitterOAuth」というオープンソースのライブラリ。Twitterで行う一通りの操作ができるみたいです。

 

で、それを使うにはどうしたらいいのかを調べていたのですが、やはりPHPフレームワークの勉強は必要っぽいです。どちらにせよいずれやるだろうなとは思っていましたが、フレームワークはどんなもので、どんな種類があって、どういう使い方をすればいいのかというところがいまだによくわかっていません。

 

で、とりあえずは前まで取り組んでいた「PHPしっかり入門教室」で紹介されている「Laravel(ララベル)」というフレームワークを勉強してみようと思います。「最近勢いがある~」とか紹介されているので興味もあったし。

 

今後の学習の課題は以下の通り。

  • 仮想環境構築。PHP7、MySQLなどをドットインストールのパッケージに頼らず導入できるようにする。
  • Laravelの学習。どこかのサイトの連載記事やレッスンとしてまとめられたパッケージを見つけて、とりあえずブログにまとめながら1周する。
  • 上記2点が済んだらTwitterAPIを使った勉強・開発を行う。

住所録まで作ってひと段落し、ちょっと気が抜けていた部分があったのでまたガンガン勉強していこうと思います。

このところちょっと仕事が質量共に膨れ上がっていて、家で休んだり気晴らしにゲームしてたりしたらあっという間に日付が変わっていた…ということも多くなってきています。仕事の方をなんとかしないとこちらまで手が回らないという感じも否めないですが、仕事は仕事で手際よく、勉強は勉強でじっくり腰を据えて取り組んでいきたいです。

 

ちょっと調べてみたら「PHP初心者にLaravelはきついかも」という記事も発見し、じゃあ何ならええんや…?という気持ちです。

開発日記:GithubとSourcetreeでソースを公開

スプラトゥーン2ガチホコでついにSに昇格できたので気持ちよく勉強していきます。

 

いろいろいじった住所録ソフトをいよいよGithub上に公開していく。

今回は以下の記事を参考に、SourcetreeというソフトとGithubを組み合わせる。

qiita.com

Githubでアカウントを取得し、Sourcetreeのインストールが終わった段階から話を進める。SourcetreeとGithubを連携させる手順は以下の通り。

  1. Sourcetreeのツールバー、「ツール」>「オプション」を選択
  2. 「認証」タブでGithubのアカウントのIDやパスワードを入力
  3. Github側でSourcetreeと連携させたいリポジトリを作成、そのURLを取得
  4. Sourcetreeの新しいタブで「Clone」を選択し、必要事項を入力。なお、ローカル側に連携するフォルダを作成する必要がある。
  5. フォルダを作成後、そこにGit管理するソースやフォルダを放り込めばOK。なお、また新しいリポジトリを作成した場合は3~5を繰り返す。

ざっくりとこんな感じ。メモ用なので…。

自分の場合は開発をVagrant仮想マシンで行い、ファイル転送ソフトCyberduckでそのマシンと自分のPCの間でファイルのやりとりをしていた。

Cyberduckから直接アップできるのが一番手っ取り早いが、今回はCyberduckからローカルへソースコードをダウンロード、そこからGithubへアップする流れとする。

連携するフォルダへソースを放り込めば、Sourcetreeの方でもそれを感知する。それをコミットやプルという形でGithubへアップ。以上が一連の流れである。

用語などについてはまだまだ不完全、Readme.mdについても独自の書き方があるようなので、折を見て勉強していこう。