WordPressから自分でフレームワークを使用したWebサイトへの移行【Laravel】~第2回 機能編~

どうも、sh0です。

前回からに引き続き

  • WordPressから自分でフレームワークを使用したWebサイトへの移行

を進めていきたいと思います。

今回は、第二回の機能編として、必要な機能について検討して行きたいと思います。

まだ、1回目を見ていないという方は、こちらからどうぞ

 

必要な機能の洗い出し

機能の洗い出しの前に前提を少しだけ。

このサイト「1日1本アプリ開発」は、3人で作成しています。

  • sh0・・・エンジニア(私)
  • moza・・・エンジニア
  • オザワ・・・エリートサラリーマン(非エンジニア)

エンジニアでないオザワさんもいるので、記事更新の際にもWordPressのように管理画面のようなものは、必須となります。

では、洗い出しを始めていきましょう。

まずは、ズラズラズラと、書き出します。

  • 記事を表示するための画面・機能
  • 記事を投稿・編集するための画面・機能
  • コメント画面・機能
  • お問合せ画面・機能
  • 全ての画面のデザイン
  • SEO関連の機能
  • その他固定ページ(プライバシーポリシー等)
  • カテゴリー機能 etc

何も考えずに書き出しましたが、一旦こんなものでしょうか。

何か抜け漏れありそうな気もしますが、まずはこれで全てと考えましょう。

(ちゃんとしたウォーターフォール型モデルで進めるんなら、ここでアウトっぽいですが、作業は私一人でやるんで、気にせず行きます。思い出したら付け足せばええよ)

さあじゃあ、機能は洗い出せた!では、作業に移ろうか!!

とは、流石になりませんね。

 

優先順位付け

何せ、そこまで時間はありません。これら全てを一から作っていたら、いくらなんでも時間が足りなくなります。(第100回とかまでかかってしまいます)

なので、先ほど洗い出した機能について、ちょっとだけ補足していきます。

  • 記事を表示するための画面・機能→必須
  • 記事を投稿・編集するための画面・機能→必須
  • コメント画面・機能→必須でない
  • お問合せ画面・機能→広告関係で必須
  • 全ての画面のデザイン→Laravelのデフォルトで一旦いいや
  • SEO関連の機能→必須でない
  • その他固定ページ(プライバシーポリシー等)→広告関係で必須
  • カテゴリー機能→必須でない

これで必須と必須でないものにいったん分けられましたので、

必須でないものは後回しにします。

まずは残ったこちらを考えていきます。

  • 記事を表示するための画面・機能
  • 記事を投稿・編集するための画面・機能
  • お問合せ画面・機能
  • その他固定ページ(プライバシーポリシー等)

 

1つ1つの詳細を考えていく

1.記事を表示するための画面・機能

これに関しては、基本的に作るしかないんですが、どこまでを1から作るかを考えなければいけません。

  • これまでの記事はどうするか
    • wordpressのDBはそのままに参照するか
    • DBから作り直してコンバートするか
  • デザインは一旦、Laravelのデフォルトを使用する

ここでは、検討内容については答えを出しません。

第3回の着手編でやりながら答えを出していきます。

2.記事を表示するための画面・機能

1に関連するので、被りますが、

  • これまでの記事はどうするか
    • wordpressのDBはそのままに参照するか
    • DBから作り直してコンバートするか
  • 管理画面を1から作るのは手間なので、wordpressのダッシュボード(記事の更新)だけは利用できないか

下側を利用する場合は、wordpressから脱却できていませんが(笑)、この辺は時間との相談ということで。

3.お問合せ画面・機能

これは、もうLaravelで作っているのがあるので、そのまま流用します。

4.その他固定ページ(プライバシーポリシー等)

これは、正直考える必要もないレベルです。1を作る際に、固定ページも一緒に考えようってだけですね。

 

まとめ

少し長くなってしまいましたが、まとめとしては、とりあえず

  • 記事を表示するための画面・機能
  • 記事を投稿・編集するための画面・機能
  • お問合せ画面・機能
  • その他固定ページ(プライバシーポリシー等)

を作って、後は一旦後回し!徐々にやっていこう。です。以上!

 

 

次回の私の更新は、2019/12/23です。

第3回目では、着手編について考えて行きます!

是非見てください!

掃除機の選び方①

こんにちは、オザワです。
今回は新生活を初める方やボーナスで家電を買い換えたい方向けに記事を書きたいと思います。まず初めは掃除機について種類別に分けて3回で記載します。

第1回目:サイクロン式掃除機
第2回目:紙パック式掃除機
第3回目:ロボット掃除機

①サイクロン式掃除機

まず第1回目はサイクロン式についてです。この掃除機の特徴やどの様な方にオススメかを記載していきます。

【サイクロン式掃除機の特徴】

最近の主流はサイクロン式掃除機ですが、こちらの特徴は何と言っても吸引力が変わらない事です。こちらの特徴は皆様ご存じかと思います。ではそれ以外の特徴はどの様な物があるのでしょうか?

【メリット】

(1)コードレス掃除機の種類が豊富

いきなりサイクロンじゃなくてコードの話かよ、と思われた方もいるかと思いますが次回紹介する“紙パック式”にはあまり無いタイプですので特徴として挙げさせて頂きました。
コードレス掃除機にもメリットとデメリットがあります。まずメリットは“少ないステップで掃除が出来る事”です。いったいどう言う事か簡単に掃除を始めるまでのフローを記載します。

■コード有り掃除機:掃除機を取りに行く→コンセントを引っ張り出す→コンセントを挿す→掃除機スタート

■コードレス:掃除機を取りに行く→掃除スタート

記載してみると明らかなのですが、こんな感じで倍近くの工程差があります。掃除機をかけるのは毎日、毎週の事なので出来るだけ少ないステップにしたいですよね。コレを実現してくれるのがコードレス掃除機です。また、部屋を跨いだ掃除に置いてもコンセントの抜き差しが無いことからこちらも時短になります。

【デメリット】

(1)フィルターのホコリ掃除

サイクロン掃除機を利用した事のある方はご存知だと思いますが、埃がフィルタに溜まる頻度が紙パック式に比べ早く定期的に掃除する必要があります(私は3回に一回捨ててました)。コレはどの掃除機にも共通しますが後で話をする紙パック掃除機に比べて頻度が高いのでめんどくさがりには中々キツいです。(私は途中で使わなくなってしまいました)また、埃を掃除する際に埃が舞いやすいのでアレルギー体質の方はマスクをする等の対策が必要です。

ただ、こちらは掃除の度に埃を捨てれば実はあまり手間ではないと感じる方もいらっしゃるかと思いますし、アレルギー体質でもない方が殆どかと思いますのでデメリットではないかもしれませんね。

(2)バッテリーの消耗

こちらは“コードレス掃除機”のデメリットですが、バッテリーが年々弱くなっていくのは皆様ご存じかと思いますが、一体どれくらい持つのでしょうか?

正直コレは機種によるのですが、私が購入した3万円前後のコードレスサイクロン式掃除機は3年で5分も持たなくなりました。3年もてばいいと言う方には問題無いのですが、正直頻繁な買い替えを予定していなかったので半年間は1回の掃除で“5分間掃除→充電→5分間掃除”で頑張っていましたが諦めて買い換えました。。。

最近は技術も進化してきましたのでここまでの事はないかと思いますが参考までに頭の片隅に入れておいてください。

いかがだったでしょうか。次回は紙パック式掃除機についてご説明します。

【基本情報などを受けるSQL初心者向け】ブラウザ上でSQLが実行できるサイトまとめ

どうもmozaです。

私は基本情報技術者試験を大学生時代に受けたのですが、その時はブラインドタッチもできない、全くのIT初心者でした。

基本情報技術者試験の技術要素にデータベース分野があるのですが、SQLて言われても全くイメージがつかず、情報科のサークルの先輩を捕まえて質問してみました。

すると先輩には、こう言われました。

先輩
先輩

環境構築して実際に動かしてみたら、SQLなんてすぐ覚えるよ!

初心者だったので環境構築ってなにそれ、意味わからん。という状態でした。

SQLは実際にてを動かして実行してみたらすぐに覚えることができるという意見は同意なのですが、環境構築が初心者には厳しいのです。

そこで、今回は環境構築不要で、実際にSQLを書いて覚えるためのサイトをまとめました。

ブラウザ上でSQLを実行できるサイト

1.sqliteonline(https://sqliteonline.com)

個人的には一番おすすめです。

使えるデータベースはSQLiteとMariaDBです。新人エンジニアで、業務で SQLiteとMariaDB以外を使用することが決まっている人以外は、このサイトがよいと思います

2.SQL Fiddle(http://sqlfiddle.com/)

MySQL, Oracle, PostgreSQL, SQLite, SQL Serverと主要なデータベースをブラウザ上で実行できるサイトです。

それぞれのバージョンは若干古いところもありますが、初心者がSQLを試すのには、ちょうど良いサイトだと思います。

3. SQL攻略 – Web上でSQLを実行しながらマスターするサイト ( http://sql.main.jp/ )

ブラウザ上でSQLを実行しながら、SQLを学べるサイトです。これをすべてやり切れば、基本情報のデータベース分野は得点源となるはずです。

4. Oracle Live SQL ( https://livesql.oracle.com/)

データベースのシェア世界一のOracleが提供する、ブラウザ上でOracleデータベースを実行できるサイトです。使用するためにはOracleのアカウントを登録する必要があります。

いかがでしたでしょうか?基本情報や応用情報を受ける場合、データベース分野の勉強をしておけば、ぐっと合格に近づきます。

SQLやデータベースは 歴史が長いため、情報処理試験では最新トレンドなどに左右されずにワンパターンな問題構成となっていることが多いように感じます。

SQLを学んで、合格しましょう!

WordPressから自分でフレームワークを使用したWebサイトへの移行【Laravel】~第1回 検討編~

どうも、sh0です。

今回から今月5回に渡って、

  • WordPressから自分でフレームワークを使用したWebサイトへの移行

の検討・実施を行っていきたいと思っています。

*2019/12/15の現在このサイトはWordPressで作成しております。

第1回目の今回は、実施を行う前に、

を記載して行きたいと思います。

 

 

なぜWordPressをやめようと思ったのか

まず、1番の理由をキッパリと書きます。

WordPressは、使っててなんかつまらない

はい、すみません。結局理由なんて、こんなものです。

ただの私の気持ちが原因な感じです。

細かい理由も念の為、上げておきます。

  • WordPressを使用していることがすぐにさとられる
  • デザインが似たりよったりのものになりがち
  • 更新が頻繁にくる
  • プログラムが不要
  • 自分でサイトを作っているといってもWordPressだと成果とは言いづらい
  • 細かいJSでのカスタマイズなどがやりづらい etc…

といった感じでしょうか。まあ、これら逆を言えば、全てメリットとも言えるんですがね。

今回は、まあ記事のネタも兼ねて(本音)、やっていこうと言うことです。

 

 

移行先にLaravelを選んだ理由 

ご存知の方も多いと思われますが、LaravelはPHPのフレームワークです。

ここ最近では、PHPのWEBフレームワークとしては、1番の人気を誇っていると思われます。

私自身も仕事として、Laravelを使用したサイト作成をいくつもやってきましたが、とても使いやすいと思います。

個人で運用しているサイトでもLaravelを使用して作成しているものがいくつかあります。

え?つまり、簡単で慣れているからと言う理由だけで、Laravelにしたと言うことかって?

それもあります(それしかありません)

ですが、念の為、他の候補とそれらの検討結果だけ記載しておきます。

候補検討から外れた理由
CakePHP(PHP)・(筆者個人が)Laravelの方が慣れている
・世の中の使用頻度もLaravelの方が増えている(今後も安定した更新、使ったことのある人が増えることが見込まれる)
django(Python)・Pythonの勉強にもなるが、どうしてもPHPより慣れていない分、作業に手間がかかる
・Webフレームワークとして使用するには、CakePHPやLaravelに比べると用意されていない機能が多い

どれも大した理由ではないです。

好みと思ってもらっても良いかしれません。

  

 

まとめ

WordPressをやめる理由→好み

Laravelにした理由→慣れている

 

以上!

 

 

次回の私の更新は、2019/12/19です。

第2回目では、機能の設計について考えて行きます!

是非見てください!

【1日1本アプリ開発】同時にこなせ!【19本目】

どうもsh0です。

開発19本目のアプリです。

今日のアプリ

【1日1本アプリ開発】同時にこなせ!【19本目】

アプリ解説

今回は1つのアプリで同時に二つのゲームをこなすアプリを作成しました。

17本目

左側のアプリは、17本目に作成したパズルゲームを配置しております。

そして、右側の画面には、横スクロールゲームとして、
猿に対して落ちてくる岩にあたらないように逃げるというゲームを配置しました。

どちらが失敗したとしても、
GameOverになってしまい、うるさい猿のページに飛ばされます。

ゲームとしては、どちらも単品だとそんなに難しくないと思いますが、
どちらも同時にとなると、意外に難しくなるんですね!

なんか昔、脳トレとかで、同時に何かをこなす!みたいなのがあったような、なかったような…
からヒントを得て、作成しました!
(脳トレではなかったかもしれませんが)

今日のちょっとソース。


後日記載致します


使用ミドルウェア

【使用ゲームエンジン】
Unity2018.3.5.f1

【プロジェクト管理】
git(Bitbucket使用)

【1日1本アプリ開発】柿をかわせ2!【18本目】

どうもozaniです。

開発18本目のアプリです。

【1日1本アプリ開発】柿をかわせ!【18本目】

今回も、かわして、かわして、かわしまくれ!
ということで、仲間内で受けが良かった、飛んでくる柿をひたすらかわしまくるゲーム第2弾です!
当然今回も、キノコ機能の進化機能を備えております。

今度の柿は、追ってくる

是非、遊んでみてください!

・今日のちょっとソース。
こちらから

【Unity】SE音の設定【正解音・ハズレ音】

今回のソースは、SE音の設定についてです。

使用するのはAudio Sourceコンポーネントです。

SE音だけでなく、BGMなんかもこいつの設定で簡単に出来ますね。

まずは、Hierarchy内にあるオブジェクトに対して、Audio Souceをアタッチします。

そして、流したい音楽を、AudioClipに設定するだけ。

なんとこれだけで、音楽が流れ出します。

BGMなんかは本当にこれだけの設定で完了ですね。

今回の様な正解音やハズレ音といったSE音は、
ゲーム開始にすぐなってもらって、
終わりでは困ります。

ユーザの選択によって、

あっている→正解音
外れている→ハズレ音

と流れて欲しいわけです。

ですので、第一段階として、
まずはゲーム開始時にならない様にします。

画像の中にある、
Play On Awake
これのチェックを外しましょう。

次の動作としては、
ユーザのタップで正解音・ハズレ音のいずれかを鳴らす必要があります。


 // クリック処理(正解時) 
Collect = GameObject.Find("Collect");
Collect.GetComponent<AudioSource>().Play();

 // クリック処理(ハズレ時) 
Fail = GameObject.Find("Fail");
Fail.GetComponent<AudioSource>().Play(); 

コードはこれだけです。

やっていることは、AudioSourceのPlay()という関数を呼ぶだけなんですね!

とてもわかりやすく用意されていますね!
(私はすぐ忘れるのでメモです )

【1日1本アプリ開発】大きくしろ!【17本目】

どうもsh0です。

開発17本目のアプリです。
(けっして下ネタではありません)

【1日1本アプリ開発】大きくしろ!【17本目】

今回は表示される数字の中から大きな数字を選択していき、
100を目指すパズルゲームです。

  
 
表示される9つの数字は前回選択した数字から
ランダムで-10から+4位までの値が表示されます。

 ですから間違って、前回より小さい数字を選んでしまうと、
かなりの時間ロスになってしまうので、
クリアがとても難しくなります。

 
 (というか、多分一回でも間違うとクリアできないのでは、ないかと思います)

・今日のちょっとソース。


【Unity】SE音の設定【正解音・ハズレ音】


【使用ゲームエンジン】
Unity2018.3.5.f1

【プロジェクト管理】
git(Bitbucket使用)

【1日1本アプリ開発】柿をかわせ!【16本目】(※鬼畜ゲーム

どうもozaniです。

開発16本目のアプリです。

【1日1本アプリ開発】柿をかわせ!【16本目】
今回は、かわして、かわして、かわしまくれ!
てことで、飛んでくる柿をひたすらかわしてもらいます。

15本目のアプリがマ〇オを意識していたので、今回も少しだけマ〇オを意識しました。
キノコをとると巨大化してパワーアップします!!!

あまり難易度を考えないで作ったので、かなりの鬼畜ゲームとなっております。
むしろ、ゲームクリアできたら、連絡してほしいレベルです!

是非、遊んでみてください!

・今日のちょっとソース。
こちらから

【Unity】タイマー機能の作成

どうもozaniです。

制限時間を表示する、タイマー機能をテーマに以下のアプリを作成しました。
アプリの紹介記事はこちら!
【1日1本アプリ開発】柿をかわせ!【16本目】

時間を表示するテキストの作成

手始めに、制限時間を表示するテキストを追加します。
Create > UI > textを選択して、テキストを追加します。

今回のアプリでは60秒をカウントするので、初期のテキストに書かれている内容を60秒とします。
これは、InspectorタブのTextに60秒を表すように入力してあげればよいです。

これで、画面上に表示するタイマーのテキストが完成しました。

タイマースクリプトの作成

次に、1秒毎にタイマーテキストの表示を変更する、タイマースクリプトを作成しました。

	
    public class GameMaster : MonoBehaviour
    {
        
        public Text timer_text; // タイマーテキストを設定します。
        int timer_count = 60;  // 初期は残り60秒

        // Use this for initialization
        void Start()
        {
            StartCoroutine(CountTime()); //CountTime()を数秒(今回は1秒)おきに実行
        }

        public IEnumerator CountTime()
        {
            yield return new WaitForSeconds(1f); //1秒待機
            timer_count--; //制限時間を1秒減らす
            timer_text.text = string.Format("Time:{0}", timer_count.ToString()); //タイマーテキストを変更

            StartCoroutine(CountTime()); //CountTime()を実行
        }
    }

タイマー用のテキストに上記スクリプトをつけることで、制限時間を表示するタイマーとなります。

今回のスクリプトは、Unity(C#)のコルーチンという機能を用いて実装しました。
参考:Unity Document(MonoBehaviour.StartCoroutine)
メインの処理とは非同期に、動作・停止を繰り返し行う仕組みみたいです。

使いこなせたら便利なので、コルーチンについての説明は改めてどこかでしたいと思います。

【使用ゲームエンジン】
Unity2018.3.5.f1

【プロジェクト管理】
git(Bitbucket使用)