独学文系エンジニアリングな日々

ITに関係なく日々いろんなエンジニアリングをアウトプット

【作業時間5分】で「誰でもできる」Wordpressの開発環境構築

f:id:sooriy25:20200705193348p:plain

Wordpressを8年ぐらい触っていない私が、今どんな感じで作るのが早くできそうか試してみました。
できるだけ詳しく解説しているつもりです。

内容 ・Dockerを使用
・実際に、開発環境を用意し修正するところまでを記載
 ※Mac OSでの話になります。(Windowsでも考え方は同じです。)

目次


簡単にやるならどんな方法があるか

MAMP(簡単にPHPの開発環境作るやつ)

www.mamp.info

Vitual box + Vegrantで仮想環境作る

www.virtualbox.org www.vagrantup.com

Dockerでコンテナに立てる

www.docker.com

3つめのDockerが一番早そうと思い、試して内容をまとめてみました。

環境構築

1.dockerのinstall

Empowering App Development for Developers | Docker

Get-started →Docker Desktop でダウンロードできます。
brewでもOK
brewで入れる場合:
brew install docker

以下を実行できればOK

$docker --version

Docker version 19.03.8, build afacb8b


2.ワークディレクトリを作成

ディレクトリを作成
$mkdir ~/my_wordpress

3.docker-compose.ymlを作成

cd ~/my_wordpressに移動し、docker-compose.ymlを作ります。
今回は以下のように設定しました。
※コピペでもOK

version: '3'

services:
   db:
     image: mysql:5.7
     volumes:
       - db_data:/var/lib/mysql
     restart: always
     environment:
       MYSQL_ROOT_PASSWORD: root_pass #各自変更
       MYSQL_DATABASE: wp_db #各自変更
       MYSQL_USER: wp_user #各自変更
       MYSQL_PASSWORD: wp_pass #各自変更

   wordpress:
     depends_on:
       - db
     image: wordpress:latest
     ports:
       - "8000:80"
     restart: always
     environment:
       WORDPRESS_DB_HOST: db:3306
       WORDPRESS_DB_NAME: wp_db #各自↑で変更したやつに合わせる
       WORDPRESS_DB_USER: wp_user #各自↑で変更したやつに合わせる
       WORDPRESS_DB_PASSWORD: wp_pass #各自↑で変更したやつに合わせる
     volumes:
       - ./wp:/var/www/html #以下を修正を簡単に行いたいのでマウントします
volumes:
    db_data:
4.dockerを実行

$docker-compose up -d

Starting my_wordpress_db_1 ... done
Starting my_wordpress_wordpress_1 ... done

必要なものを取ってくるので少しだけ時間がかかるかもしれません。

5.確認

・wpディレクトリが作成されている。

my_wordpress $ ls
docker-compose.yml  wp


・以下にアクセスができる。
http://localhost:8000/
f:id:sooriy25:20200705192145p:plain
あとは何も考えずに設定する。
f:id:sooriy25:20200705192314p:plain
f:id:sooriy25:20200705192347p:plain

Wordpressテーマの編集

起動時に生成されたwp以下を修正してみます。
$wp/wp-content/themes/twentytwenty/header.php f:id:sooriy25:20200705185517p:plain
反映されました。 f:id:sooriy25:20200705185707p:plain

おまけ:設定中に使いそうなDockerコマンド

起動
docker-compose up

停止
docker-compose stop

再起動
docker-compose restart

停止中のコンテナを削除
docker-compose rm 

コンテナを停止して、削除
docker-compose down

起動中のプロセス確認
docker-compose ps

Docker volumeの確認
docker volume ls

Docker volumeの削除
docker volume rm {volume名}

おわりに

独学だからこそ気がつけたことなどを幅広く展開していく予定です。 今後はその経験から学んだ勉強法や改善法などを投稿し誰かのためになれば良いと思っています。
Twitterより気軽にご質問ください。

【無料で参考書が読める!?】大学生が気軽にチャレンジできるプログラミングの勉強方法

私が学生の頃に気軽にチャレンジできたと思う勉強方法を書いていきます。

f:id:sooriy25:20200701224809p:plain


プログラミングを勉強したいけど、お金ないし、、、

読んでみて ・プログラミング勉強したいけど、本が高い!と感じる学生
・プログラミング覚えると就職に有利そうだ勉強してみよう。と考えている大学生


よかったらこちらの記事と合わせて読んでみてください。 soriblog.com


気軽に勉強する方法

① 学習サイトで勉強する

他の記事でも書いていますが、もう鉄板です。
スクールなどに通わなくても書籍や、学習サイトで十分会得できます。
実際に文法を勉強していく際は、まずは学習用サイトを利用すればOKです。

・プロゲート prog-8.com
・ドットインストール
https://dotinstall.com/

② 勉強会に参加する

いきなり勉強会に参加するなんて...という方もいるかもしれませんが、基本的にはウェルカムなところが多いです。

例えばこんな勉強会サイトがあります。


connpass.com
www.doorkeeper.jp


ポイント

積極的かつ気軽に参加すると仲間を増えたり、思わぬ交流が広がってインターンにつながったりするかもしれません。

③ 欲しい参考書を無料で読む

とはいえ、書籍の方が多くの情報が書いてあります。
本を読みたい方は、ずばり学校の図書館を利用するこれに限ります。
何が言いたいかというと、学内の図書館では依頼すると参考書を買ってもらえるのです。

もちろん全ての大学でそうであるとは言えませんが、ほとんどの大学では買ってもらえるでしょう。
全部無料で買ってもらえるので、気になっている本でもなんでもどんどん依頼してみましょう。
私の場合、文系で文系校舎でしたが指定の本がプログラミングの本であっても購入してもらっていました。


おわりに

独学だからこそ気がつけたことなどを幅広く展開していく予定です。 今後はその経験から学んだ勉強法や改善法などを投稿し誰かのためになれば良いと思っています。
Twitterより気軽にご質問ください。

【業務入門】プログラミング未経験でSQL言語が必要になった時のおすすめ勉強方法

f:id:sooriy25:20200701002405p:plain

急にSQL言語が必要になってしまった人のためにどのように勉強していけば良いでしょうか。


初心者を脱出するために必要な情報について触れています。

読んでみて ・未経験でSQLが活躍する現場に配属されてしまった
ベンチャー企業で働き始めたら、SQLが必要になった
・営業職だが集計が必要なためSQLが必要になってしまった

目次

SQL言語とは

そもそもSQLとはなんでしょうか。
インターネット上で扱う情報もどこかに貯めておかなければ必要な時にそのデータを扱うことができません。
しかし、ただ横並びに保存してもあとで探すのがとても大変です。
これを解決する為、データは関係性を持たせることで整理し、構造に応じて登録したり、情報を取得するために使われるのがRDB(リレーショナルデータベース)と言われます。
そのRDBで扱われるデータの操作(取得や登録)に必要なのがSQLです。

例)ログインページでの出来事
IDとパスワードを入力

ようこそ◯◯さん
(ニックネームが表示される)


と、〇〇さんは一度も入力してもいないのに出力されます。
これもデータが関係付けされているため表示されていたりします。

②勉強の流れ

2-1 データの関係性を勉強する

関係性を知らなければ、どんな人でもSQLを書くことはできません。
実際にSQLを書くのは大事ですが、まずはデータの関係性について理解しましょう。

ブログの記事とコメントの関係をすごく簡単に表してみます。

以下に注目してみてください  ・関連データの主従関係はどうであるか
 ・外部キーが何か

f:id:sooriy25:20200701000005p:plain
結果以下のようになります。
今回  データの関係:1(ARTICLE)対 多(COMMENT)
 外部キー:article_id

まだ先の話になりますが記事「営業の秘訣3選」のコメントがほしければこんなSQLで取得できます。
select * from comment where article_id =1;

これらをER図といいます。
まずは、この構造をいち早く掴むことが重要です。

もっと詳しく知りたい人は、RDB ER図などと検索してみてください。

2-2 具体的な勉強方法

スクールなどに通わなくても書籍や、学習サイトで十分会得できます。
実際に文法を勉強していく際は、学習用サイトを利用すればOKです。

・プロゲート prog-8.com
・ドットインストール
https://dotinstall.com/
・構文が載っているサイトをみる sql.main.jp

2-3 実践とリスク

色々勉強してもアウトプットしなければ意味がないです。
しかしながらSQLはデータを扱うので壊すと大惨事になります。

すぐに業務に入らなければいけない人は、他の人が使っていたSQLがあればそれを使ってコピー&ペーストでも良いので回数をこなしましょう。

いきなり触るのはチョット...という人は自分でデータの関係図(ER図)を作り、データベースを立ててみると良いと思います。

SQLを実行するまでの動作に慣れたら中身を確認する(何をやってるのか)余裕が出てくるはずです。

慣れてきたら、業務で使うデータの関係性を理解し、1つのSQLに完結させなくても良いので自分なりの解釈で「結果を出せるように」書いてみましょう。


ただし、本番サーバーでやるしかない場合は、以下を意識するようにしましょう。

気をつけること *データを更新するようなSQLを実行しない(INSERT,UPDATE,DELETE) * SELECTするのは良いが、検索量が絞られているか、インデックスは問題ないか。

1つ目はデータの不整合が起きる可能性
2つ目は検索でデータベースが重くなってしまい、接続している本番サービスに影響が出てしまう。
と言った危険性があります。


2つめなんかは、少し難しいのでエンジニアの方にSQLを添削してもらうというのもありだと思います。

おわりに

独学だからこそ気がつけたことなどを幅広く展開していく予定です。 今後はその経験から学んだ勉強法や改善法などを投稿し誰かのためになれば良いと思っています。
Twitterより気軽にご質問ください。

【挫折しない】未経験からプログラミングスキルを身につける前に考えておきたいこと

タイトル通り今回は、未経験から独学でプログラミングをはじめる「前に」 挫折しないよう考えておきたいことについてです。

f:id:sooriy25:20200613232112p:plain


以下のような方に有益な記事にしようと思います。

プログラミング未経験だけど大丈夫かな....?
何をどう手をつけたものか...

  • 未経験だがフリーランスに興味がある
  • 未経験でIT業界に入ろうとしているが何をしたらいいかわからない
  • 副業で少しプログラミングを学んでお小遣いを稼ぎたい



参考までに私も全くの「パソコン初心者から8年間(文系)」で以下のような経験を積んでおります。

有名大手IT勤務経験
フリーランスで有名サービスのWeb開発経験
また、他にも数多くの仕事に携わっております。


プログラミングを始める前に知りたいこと

①どんなエンジニアになりたいかを決める

動機はなんでも良いです。
プログラミングスキルを身につけて何がしたいかを決め、計画をしてみましょう。
ITスキルは幅広いので何がしたいかによって何を最初に勉強するべきか大きく変わります。
イメージを具体化した後はとりあえずひたすらアウトプットすることを意識しておきましょう。

f:id:sooriy25:20200613231738p:plain
1−1 プログラミングスキルを身につけてどうなりたい?

例)あなたはどうなりたい?

  • 大企業で働きたい
  • 副業で稼ぎたい
  • フリーランスとして自由に働きたい


どうなりたいか決まったら「ナゼ」を繰り返すことで次に、何を勉強したらいいか明確に絞られていきます。


例えば「副業で稼ぎたい」と考えている場合:
手軽に10万稼げることは何か→Wordpressで案件をこなす→どんな勉強が必要か→HTML、CSSjavascript、少しだけPHPの知識が必要 ..etc


例えば「大企業で働きたい」と考えている場合:
就活では、どのような課題があるか→コミュニケーションや語学、「技術課題」→技術課題はどんなものか→アルゴリズムJavaの試験が多い ..etc


最初に全てを覚えるのは無理です。
少しずつ分野を広げて様々なことができるエンジニアを目指せば、最終的に月120万を稼ぐ高収入なフリーランスエンジニアも夢ではありません。

それぞれの働き方に関しては「別の記事」で紹介していきたいと思います。

1−2 収入を得るための計画を練っておく

これは少し先の話になりますが挫折しないためには後戻りできない環境を作ることも大事です。
学び始めたら早くアウトプットした方が良いので先に収入を得るための計画も一緒しておくとよいです。

例)アウトプット

  • 知り合い経由でホームページを作る(勉強しながらでも良いぐらい)
  • クラウドソーシングなどで簡単な Wordpress案件にチャレンジ
  • 思い切って転職し、現場で力を付ける

クラウドソーシングって? インターネット上で仕事募集し、個人が受注できる仕組み。サービス上で契約や明細書、発注書のやりとりもできるのも利点。
以下が有名どころです。
クラウドソーシングは日本最大級の「クラウドワークス」
ランサーズ | 日本最大級のクラウドソーシング仕事依頼サイト

POINT ・自分がなりたいイメージを作り、何を勉強したらいいか明確にしましょう。
・その中で確実にアウトプットできる計画を立ててみましょう。


②継続する環境を整える

開発環境を整えると言っても基本的にはパソコンがあればOKです。
この選択であなたがどんな本や動画を参考にするかが変わってくると思います。

個人的にはAppleMacBook(マックブック)シリーズがおすすめです。

f:id:sooriy25:20200613190729p:plain

www.apple.com

2ー1 なぜMacBookシリーズが良いのか

なぜMacBookなのかというと、これから開発していく上で初めのうちはどうしても必要になるのが検索(調べること)だからです。

これだけだとしっくりこないと思いますが、ITの世界は毎日のように新しい技術がアップデートされていきます。 その中では検索(調べる)するという作業は必須であり、その検索結果は圧倒的にMacを前提としたヒントやお作法が多いです。

細かいスペックに悩むぐらいならシンプルにMacを選択し、スタートを切りましょう。

2ー2 MacBookPro 13インチ が割とおすすめ

とはいえ基本的にはWeb開発であれば、どのモデルでも十分な開発が始められます。

私も初めは友人を信じて購入し、後悔はなしでした。

MacBook Pro 13インチ オススメ!

私の選んだ観点は以下で、未だに納得感があります。

観点 ・サイズ
  鞄に入りやすい
  持ち運んだ時に画面一つでも作業しやすい大きさ
・性能
  ストレスなく動作して欲しい

2ー3作業する場所を決めておく

最後は気分が乗る環境を決めておき、勉強または作業すればOKです。 コワーキングスペースでもカフェでも建物のフリスペでも良いです。

POINT

  • Mac選ぶと学習が少し楽になる

  • 学習する時は気分がプラスのなるところを選ぶ


おわりに

僕自身、過去にプログラミングの勉強を1回挫折しています。 今後はその経験から学んだ勉強法や改善法などを投稿し誰かのためになれば良いと思っています。
Twitterより気軽にご質問ください。