tag:crieit.net,2005:https://crieit.net/users/cage_yoshida/feed ケイジの投稿 - Crieit Crieitでユーザーケイジによる最近の投稿 2019-12-21T23:07:18+09:00 https://crieit.net/users/cage_yoshida/feed tag:crieit.net,2005:PublicArticle/15631 2019-12-21T21:09:07+09:00 2019-12-21T23:07:18+09:00 https://crieit.net/posts/PHP-PHP-5dfe0b63317e9 PHPでメールフォームを自前でつくる。ゆるふわPHP第7回 <p><a href="https://crieit.now.sh/upload_images/16eb284d6af2b1db9248e9de7b797c045dfe0b57b1cd0.jpeg" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/16eb284d6af2b1db9248e9de7b797c045dfe0b57b1cd0.jpeg?mw=700" alt="DAEBDBFD-2300-4F1B-80CC-0C4072C90FA9.jpeg" /></a></p> <h2 id="第7章 完成!メールフォーム"><a href="#%E7%AC%AC%EF%BC%97%E7%AB%A0%E3%80%80%E5%AE%8C%E6%88%90%EF%BC%81%E3%83%A1%E3%83%BC%E3%83%AB%E3%83%95%E3%82%A9%E3%83%BC%E3%83%A0">第7章 完成!メールフォーム</a></h2> <p>ようやくここまでたどり着きました。今まで学習してきた第1章から第6章までを全て組み合わせて、とうとうメールフォームが完成します。</p> <p>最後にもう一度全体の流れを確認します。第1回で見た図をもう一度おさらいしてみましょう。<br /> <a href="https://crieit.now.sh/upload_images/cb1a5742702ae942744dd28320abe2035df774249d294.jpeg" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/cb1a5742702ae942744dd28320abe2035df774249d294.jpeg?mw=700" alt="メールフォームのしくみ" /></a></p> <p>ユーザーがブラウザのメールフォームからウェブサーバーへデータを送信。<br /> ウェブサーバーがそのデータを受け取って開発者へメールを送信するといった流れになります。</p> <p>※メールフォームが動作するためにはお使いのサーバーがmb_send_mailに対応していることが必要になります。</p> <pre><code><html lang="ja"> <head> <meta charset="UTF-8"> <title>はじめてのPHP</title> </head> <body> <?php if ($_POST["submit"] == "メール送信") { mb_language("Ja"); mb_internal_encoding("UTF-8"); $mailto="[email protected]"; // ←このメアドをご自分のメアドに変更して下さい。 $subject = htmlspecialchars($_POST["subject"]); $content = htmlspecialchars($_POST["content"]); $name = htmlspecialchars($_POST["name"]); $email = htmlspecialchars$_POST["email"]); $mailfrom="From:" .mb_encode_mimeheader($name) ."<".$email.">"; mb_send_mail($mailto,$subject,$content,$mailfrom); } ?> <form method="post" action="mailform.php"> お名前:<input type="text" name="name"> メールアドレス:<input type="text" name="email"> 件名:<input type="text" name="subject"> お問い合わせ内容:<textarea name="content" cols="50" rows="5"></textarea> <input type="submit" name="submit" value="メール送信"> </form> </body> </html> </code></pre> <p>12行目の変数$mailtoの値を自分のメールアドレスにしてください。</p> <p>上記プログラムをmailform.phpとしてサーバーにアップ。<br /> ブラウザでアクセスすると、次のような画面が表示されます。</p> <p>必要事項を記入して「メール送信」をクリック。<br /> メールが送信されてくれば成功です!!</p> <p>以上、ゆるふわPHPチュートリアル「メールフォームを自前でつくる」は今回で最終回になります。おつかれさまでした。<br /> このチュートリアル連載が読んでいただいた誰かの、あなたの役に立てば幸いです。本望です。</p> <p>よいプログラミングライフを!!</p> ケイジ tag:crieit.net,2005:PublicArticle/15628 2019-12-20T18:57:24+09:00 2019-12-21T23:06:42+09:00 https://crieit.net/posts/PHP-PHP-5dfc9b04e6b4e PHPでメールフォームを自前でつくる。ゆるふわPHP第6回 <p><a href="https://crieit.now.sh/upload_images/70ddb8d272f1fb948e2d5d475cfac4385df772d798d35.jpeg" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/70ddb8d272f1fb948e2d5d475cfac4385df772d798d35.jpeg?mw=700" alt="ゆるゆるPHP第6回" /></a></p> <h2 id="第6章 メール送信できちゃうんです!"><a href="#%E7%AC%AC%EF%BC%96%E7%AB%A0%E3%80%80%E3%83%A1%E3%83%BC%E3%83%AB%E9%80%81%E4%BF%A1%E3%81%A7%E3%81%8D%E3%81%A1%E3%82%83%E3%81%86%E3%82%93%E3%81%A7%E3%81%99%EF%BC%81">第6章 メール送信できちゃうんです!</a></h2> <p>phpにはメールを送信するmb_send_mailという命令があり、書式は次のようになります。</p> <p>※mb_send_mailが許可されていないサーバーもあります。お使いのサーバーでmb_send_mailが許可されているかご確認ください。</p> <pre><code>mb_send_mail("[email protected]", "メール送信について", "こんにちは", "From:山田太郎<[email protected]>"); </code></pre> <p>上記プログラムの<br /> 「[email protected]」が送信先メールアドレス、<br /> 「メール送信について」が件名、<br /> 「こんにちは」が本文、<br /> 「From:山田太郎」が送信元メールアドレスになります。</p> <p>また、日本語を送信する場合は言語の種類(日本語)と文字コードをそれぞれ次のプログラムのように「mb_language」と「mb_internal_encording」で指定しなければ、文字化けの原因となることがあり、受信したメールが全く読めないということになることもあります。</p> <p>実際にメールを送信するプログラムです。</p> <pre><code><html lang="ja"> <head> <meta charset="UTF-8"> <title>はじめてのPHP</title> </head> <body> <?php // 言語を日本語に設定 mb_language("Ja"); // 文字コードを設定(設定しないと文字化けの原因になることもあります) mb_internal_encoding("UTF-8"); // 送信先のメアド ↓ここにご自分のメールアドレスを代入してください。 $mailto="[email protected]"; // 件名 $subject="件名(タイトル)です。"; // 本文 $content="内容を入れます。"; // 送信者 $mailfrom="From:".mb_encode_mimeheader("山田太郎")."<[email protected]>"; // 送信します mb_send_mail($mailto, $subject, $content, $mailfrom); ?> </body> </html> </code></pre> <p>15行目の変数$mailtoに自分のメールアドレスを代入してください。ファイル名をmail.phpとしてブラウザでアクセス。</p> <p>自分宛にメールが送信されれば成功です。</p> <p>次回はラスト「第7章 <a href="https://crieit.net/posts/PHP-PHP-5dfe0b63317e9">完成!メールフォーム</a>」になります。もう一息!</p> ケイジ tag:crieit.net,2005:PublicArticle/15625 2019-12-19T18:37:14+09:00 2019-12-21T22:57:10+09:00 https://crieit.net/posts/PHP-PHP-5dfb44ca45b7e PHPでメールフォームを自前でつくる。ゆるふわPHP第5回 <p><a href="https://crieit.now.sh/upload_images/6b33941a2e2feb9085362f3ed6e1458f5df771e992c2b.jpeg" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/6b33941a2e2feb9085362f3ed6e1458f5df771e992c2b.jpeg?mw=700" alt="ゆるふわPHP第5回" /></a></p> <h2 id="第5章 条件式ってなんなんですか?"><a href="#%E7%AC%AC%EF%BC%95%E7%AB%A0%E3%80%80%E6%9D%A1%E4%BB%B6%E5%BC%8F%E3%81%A3%E3%81%A6%E3%81%AA%E3%82%93%E3%81%AA%E3%82%93%E3%81%A7%E3%81%99%E3%81%8B%EF%BC%9F">第5章 条件式ってなんなんですか?</a></h2> <p>条件式とは、「もし~ならば、~する」といったように、条件を満たしていればその後のプログラムを実行させる命令になり、書式は次の様になります。</p> <pre><code>// もし、変数$ageが20ならば「条件式」と表示させる。 if ($age == 20) { echo "条件式"; } </code></pre> <pre><code><html lang="ja"> <head> <meta charset="UTF-8"> <title>はじめてのPHP</title> </head> <body> <?php $age = 20; if ($age == 20) { echo "条件式"; } ?> </body> </html> </code></pre> <p>上記プログラムをcode05.phpとしてサーバにアップすると「条件式」と表示されます。</p> <p>8行目の変数$ageの値を20以外の値にすると、表示されなくなることを確認してください。</p> <p>また、等号をあらわす「==」の他に「>」「=」「</p> <pre><code>// もし、変数$ageが20より大きければ if ($age > 20) // もし、変数$ageが20より小さければ if ($age < 20) // もし、変数$ageが20以上ならば if ($age >= 20) // もし、変数$ageが20以下ならば if ($age <= 20) // もし、変数$ageが20でなければ if ($age != 20) </code></pre> <p>「<a href="https://crieit.net/posts/PHP-PHP-5dfc9b04e6b4e">第6章 メール送信できちゃうんです!!</a>」に続きます。</p> ケイジ tag:crieit.net,2005:PublicArticle/15620 2019-12-18T18:07:48+09:00 2019-12-21T22:55:40+09:00 https://crieit.net/posts/PHP-PHP-5df9ec64dd793 PHPでメールフォームを自前でつくる。ゆるふわPHP第4回 <p><a href="https://crieit.now.sh/upload_images/541ac187473356fab4982c24bd518f195df770c957cc0.jpeg" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/541ac187473356fab4982c24bd518f195df770c957cc0.jpeg?mw=700" alt="ゆるふわPHP第4回" /></a></p> <h2 id="第4章 フォームで値を渡します"><a href="#%E7%AC%AC%EF%BC%94%E7%AB%A0%E3%80%80%E3%83%95%E3%82%A9%E3%83%BC%E3%83%A0%E3%81%A7%E5%80%A4%E3%82%92%E6%B8%A1%E3%81%97%E3%81%BE%E3%81%99">第4章 フォームで値を渡します</a></h2> <p>htmlタグの</p> <pre><code><input name="hoge"> </code></pre> <p>で送信された値を、phpで</p> <pre><code>$_POST["hoge"] </code></pre> <p>と記述して受け取ります。</p> <p>その際にhtmlのformタグで値の渡し先を指定し、メソッドをgetかpostかを指定する必要があります。getとpostの違いは今は省略しますが、今回はpostを指定します。</p> <p>また、受け取る値はhtmlspecialchars関数を使ってクロスサイトスクリプティングという悪意のある攻撃からのセキュリティ対策をします。</p> <pre><code>htmlspecialchars($_POST["hoge"]) </code></pre> <blockquote> <p>余談だけれど大事なこと<br /> プログラミングをする際にセキュリティ対策は非常に重要なことになります。セキュリティについてのとりあえずのこの1冊はこれ。<br /> 体系的に学ぶ 安全なWebアプリケーションの作り方 第2版 脆弱性が生まれる原理と対策の実践<br /> <a target="_blank" rel="nofollow noopener" href="https://www.amazon.co.jp/dp/4797393165/">https://www.amazon.co.jp/dp/4797393165/</a></p> </blockquote> <pre><code><html lang="ja"> <head> <meta charset="UTF-8"> <title>はじめてのPHP</title> </head> <body> <form method="post" action="form.php"> <input type="text" name="value"> <input type="submit" name="submit" value="送信"> </form> 渡された値は <?php echo $_POST["value"]; ?> です。 </body> </html> </code></pre> <p>上記プログラムをform.phpとして保存。サーバにアップしてブラウザでアクセスすると、まず値を入力するテキスト入力フォームと送信ボタン、「渡された値はです。」と表示されます。</p> <p>テキスト入力フォームになにか文字や数字などの文字列を入力して「送信」ボタンをクリックすると、「渡された値は○○○です。」と入力された文字列が表示されます。</p> <p>「<a href="https://crieit.net/posts/PHP-PHP-5dfb44ca45b7e">第5章 条件式ってなんなんですか?</a>」に続く。</p> ケイジ tag:crieit.net,2005:PublicArticle/15615 2019-12-17T18:15:15+09:00 2019-12-18T18:08:27+09:00 https://crieit.net/posts/PHP-PHP-5df89ca36ab96 PHPでメールフォームを自前でつくる。ゆるふわPHP第3回 <p><a href="https://crieit.now.sh/upload_images/8754dbb610186180b9a085126fd4a3805df769e7ccac3.jpeg" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/8754dbb610186180b9a085126fd4a3805df769e7ccac3.jpeg?mw=700" alt="295E3AA1-F0D4-4605-B5FD-4C3DD2D56B9D.jpeg" /></a></p> <h2 id="第3章 四則演算ってなんなの?"><a href="#%E7%AC%AC%EF%BC%93%E7%AB%A0%E3%80%80%E5%9B%9B%E5%89%87%E6%BC%94%E7%AE%97%E3%81%A3%E3%81%A6%E3%81%AA%E3%82%93%E3%81%AA%E3%81%AE%EF%BC%9F">第3章 四則演算ってなんなの?</a></h2> <p>四則演算とは足し算、引き算、かけ算、割り算のことです。</p> <p>四則演算にはそれぞれ次のような記号を使います。<br /> 「+」 たす<br /> 「-」 ひく<br /> 「*」 かける<br /> 「/」 わる</p> <pre><code>$a = 5 + 8; </code></pre> <p>とすると変数$aには5たす8の答えである13が代入され</p> <pre><code>$b = 20/4; </code></pre> <p>とすると変数$bには20わる4の答えである5が代入されます。</p> <pre><code>$a = 15; $b = 3; $c = $a*$b; </code></pre> <p>上の式のようにあらかじめ変数$aに15を、変数$bに3を代入しておいて計算することもできます。</p> <p>ちなみに上記の場合は変数$cには15かける3の答えである45が代入されます。</p> <pre><code><html lang="ja"> <head> <meta charset="UTF-8"> <title>はじめてのPHP</title> </head> <body> <?php $value1 = 8; $value2 = 3; $answer1 = $value1 + $value2; $answer2 = $value1 - $value2; $answer3 = $value1 * $value2; $answer4 = $value1 / $value2; echo $value1 . "と" . $value2 . "を"; echo "たすと" . $answer1 . "、ひくと" . $answer2 . "、"; echo "かけると" . $answer3 . "、わると" . $answer4 . "になります。"; ?> </body> </html> </code></pre> <p>前回同様、上記ファイルを「code03.php」としてブラウザでアクセスしてみてください。<br /> 「8と3をたすと11、ひくと5、かけると24、わると2.66666666667になります。」<br /> と表示されれば成功です。</p> <p>8行目と9行目の$value1と$value2に代入する値をいろいろ変更すると、表示される結果が変わってくるのでいろいろと試してみてください。</p> <p>「<a href="https://crieit.net/posts/PHP-PHP-5df9ec64dd793">第4章 フォームで値を渡します</a>」に続く。</p> ケイジ tag:crieit.net,2005:PublicArticle/15612 2019-12-16T11:51:01+09:00 2019-12-17T18:33:44+09:00 https://crieit.net/posts/PHP-PHP PHPでメールフォームを自前でつくる。ゆるふわPHP第2回 <p><a href="https://crieit.now.sh/upload_images/239aaa0351904a62c8be7438b13f743d5df6cad4f0fb1.jpeg" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/239aaa0351904a62c8be7438b13f743d5df6cad4f0fb1.jpeg?mw=700" alt="ゆるふわPHP第2回" /></a></p> <h2 id="第2章 変数ってなに?"><a href="#%E7%AC%AC%EF%BC%92%E7%AB%A0%E3%80%80%E5%A4%89%E6%95%B0%E3%81%A3%E3%81%A6%E3%81%AA%E3%81%AB%EF%BC%9F">第2章 変数ってなに?</a></h2> <p>変数とは数値や文字列を入れる入れ物のようなものです。先頭に「$」(ダラーまたはダラ)を付けた半角英数字の文字列が変数と見なされます。文字列は一部例外がありますが、基本的にはなんでも構いません。$a, $value, $hoge などなど。</p> <pre><code><html lang="ja"> <head> <meta charset="UTF-8"> <title>はじめてのPHP</title> </head> <body> <?php $value = "Hello, World!!"; echo $value; ?> </body> </html> </code></pre> <p>上記のように記述し、ファイル名を「code02-01.php」としてお手持ちのサーバーにアップロードすると、前回と同様に「Hello, World!!」と表示されます。</p> <pre><code>$value = "Hello, World!!"; </code></pre> <p>は$valueに文字列”Hello, World!!”を「代入する」と言います。</p> <p>また、文字列の他にも数値を代入することもできます。<br /> 文字列は前後を「 ” 」(ダブルクォーテーション)で囲みますが、数値は前後に何も付けません。</p> <pre><code><html lang="ja"> <head> <meta charset="UTF-8"> <title>はじめてのPHP</title> </head> <body> <?php $age = 23; echo $age; ?> </body> </html> </code></pre> <p>上記を入力し、ファイル名を「code02-02.php」としてアップロードしてブラウザで見てみると「23」と表示されます。</p> <p>また、文字列同士や文字列と数値などを「 . 」(ドット)で連結することもできます。</p> <pre><code><html lang="ja"> <head> <meta charset="UTF-8"> <title>はじめてのPHP</title> </head> <body> <?php $before = "わたしは"; $age = 23; $after = "才です。"; echo $before . $age . $after; ?> </body> </html> </code></pre> <p>上記ファイルを「code02-03.php」と入力してサーバーにアップ、ブラウザでアクセスすると「わたしは23才です。」と表示されます。</p> <p>「<a href="https://crieit.net/posts/PHP-PHP-5df89ca36ab96">第3章 四則演算ってなんなの</a>?」に続きます。</p> ケイジ tag:crieit.net,2005:PublicArticle/15609 2019-12-15T08:59:27+09:00 2019-12-21T23:09:04+09:00 https://crieit.net/posts/PHP-PHP-1 PHPでメールフォームを自前でつくる。ゆるふわPHP第1回 <p><a href="https://crieit.now.sh/upload_images/6ea0459bccf58b39d90a9b5e4ade13b35df5a0bfb37e7.jpeg" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/6ea0459bccf58b39d90a9b5e4ade13b35df5a0bfb37e7.jpeg?mw=700" alt="ゆるふわPHP" /></a><br /> Crieitアドベントカレンダー参加記事。</p> <p>他の皆さまがドシドシとハイレベルなことを書いている中、自分はあせらず背伸びせず、自分にできることを。</p> <p>というわけでプログラミング初心者向けに「PHPでメールフォームを作ってみよう!」記事を公開します。</p> <h2 id="メールフォームのしくみ"><a href="#%E3%83%A1%E3%83%BC%E3%83%AB%E3%83%95%E3%82%A9%E3%83%BC%E3%83%A0%E3%81%AE%E3%81%97%E3%81%8F%E3%81%BF">メールフォームのしくみ</a></h2> <p>今回作成するメールフォームのしくみはざっくりと下の図のようになります。<br /> ユーザーがブラウザのメールフォームからウェブサーバーへデータを送信。<br /> ウェブサーバーがそのデータを受け取って開発者へメールを送信する。</p> <p><a href="https://crieit.now.sh/upload_images/59f5493fff94e4762643f1612f0d70895df59bcf01b34.jpeg" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/59f5493fff94e4762643f1612f0d70895df59bcf01b34.jpeg?mw=700" alt="メールフォームのしくみ" /></a></p> <h2 id="対象読者"><a href="#%E5%AF%BE%E8%B1%A1%E8%AA%AD%E8%80%85">対象読者</a></h2> <ul> <li>HTMLとCSSはワリと覚えてきたけど次に何を覚えよう?</li> <li>Googleフォームはメールフォームを簡単に作成できて便利だけど、自由にデザインできないのが不便。</li> <li>WordPressのテーマとかをいじってみたいんだけどPHPっていうのがいじれると有利らしい</li> </ul> <p>といった方々が対象です。</p> <p>PHPとはWebサイト上で動作するプログラムの一つで、HTML内に記述することができるので、お手軽で便利。<br /> メールフォームを動作させるためにはお使いのサーバーがメールを送るのに必要になる、mb_send_mailに対応していることが必要になります。<br /> 契約しているレンタルサーバーがPHPに対応しているなら、だれでも簡単に試すことができます。</p> <ul> <li>おすすめレンタルサーバー<br /> さくらのレンタルサーバ・スタンダード<br /> 月額515円(初期費用1,029円が必要)と安くて非常に安定していますし、今回必要になるmb_send_mailという関数にも対応しています。</li> </ul> <h2 id="アジェンダ"><a href="#%E3%82%A2%E3%82%B8%E3%82%A7%E3%83%B3%E3%83%80">アジェンダ</a></h2> <p>この連載ではHTML,CSSを一通り習得した方を対象に以下の項目に沿ってPHPで実際にメール送信ができるメールフォームを完成させるまでをチュートリアルしていきたいと思います。</p> <p>第1章 PHPってなに?(この記事)<br /> 第2章 <a href="https://crieit.net/posts/PHP-PHP">変数ってなに?</a><br /> 第3章 <a href="https://crieit.net/posts/PHP-PHP-5df89ca36ab96">四則演算ってなんなの?</a><br /> 第4章 <a href="https://crieit.net/posts/PHP-PHP-5df9ec64dd793">フォームで値を渡します</a><br /> 第5章 <a href="https://crieit.net/posts/PHP-PHP-5dfb44ca45b7e">条件式ってなんなんですか?</a><br /> 第6章 <a href="https://crieit.net/posts/PHP-PHP-5dfc9b04e6b4e">メール送信できちゃうんです!!</a><br /> 第7章 <a href="https://crieit.net/posts/PHP-PHP-5dfe0b63317e9">メールフォーム完成!!</a></p> <p>それでは、第1章スタート!!</p> <h2 id="第1章 PHPってなに?"><a href="#%E7%AC%AC%EF%BC%91%E7%AB%A0%E3%80%80PHP%E3%81%A3%E3%81%A6%E3%81%AA%E3%81%AB%EF%BC%9F">第1章 PHPってなに?</a></h2> <p>PHPとはwebサイト上で動作するプログラムの一つで、HTML内に記述することができるので、お手軽で便利。</p> <h3 id="PHPのルール"><a href="#PHP%E3%81%AE%E3%83%AB%E3%83%BC%E3%83%AB">PHPのルール</a></h3> <ul> <li>拡張子は基本的には「.php」</li> <li>PHPはプログラムの始まりを「 <?php」ではじめ、終わりを「?>」で閉じる</li> <li>各行の終わりには基本的には「 ; 」(読み方:セミコロン)を付ける</li> </ul> <p>*コードその1</p> <pre><code><html lang="ja"> <head> <meta charset="UTF-8"> <title>はじめてのPHP</title> </head> <body> <?php echo "Hello, World!!"; ?> </body> </html> </code></pre> <p>上記のように記述し、ファイル名を「code01.php」としてお手持ちのサーバーにアップしてみてください。<br /> Chromeなどのブラウザでアップしたphpファイルにアクセスし、「Hello, World!!」と表示されれば成功です。</p> <p>次回、「<a href="https://crieit.net/posts/PHP-PHP">第2章 変数ってなに?</a>」に続きます。</p> ケイジ tag:crieit.net,2005:PublicArticle/15519 2019-10-30T22:41:45+09:00 2019-10-30T22:41:45+09:00 https://crieit.net/posts/SQLite SQLiteでカラムを削除する簡単な方法 <p><a href="https://crieit.now.sh/upload_images/4451f2f15b0ced1d1bd2bd311c46645c5db9920731dc7.jpg" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/4451f2f15b0ced1d1bd2bd311c46645c5db9920731dc7.jpg?mw=700" alt="SQLiteでカラムを削除する簡単な方法" /></a><br /> こんにちは。ケイジです。</p> <p>Laravelでウェブ開発をしています。<br /> ローカル環境のデータベースはSQLiteを使用することが多いです。</p> <p>テストなどで作ったカラムをちょこっと削除したい場面がたまにあるのですが、SQLiteにはカラムを削除するコマンドがありません。<br /> MySQLやPostgreSQLはdrop columnで簡単にできるのに。※</p> <p>SQLiteでカラムを削除しようとすると非常に面倒で、「新規にテーブルを作り、古いテーブルからデータを移し、古いテーブルを削除してから新規作成したテーブルを元のテーブルと同じ名前にリネームする」ということをしなければなりません。</p> <p>そんなときは「DB Browser for SQLite」を利用してカラム削除をすればとても楽チン。</p> <p>DB Browser for SQLiteはGUIでSQLiteを操作するアプリケーションです。<br /> ダウンロードは以下のサイトから。</p> <p><a target="_blank" rel="nofollow noopener" href="https://sqlitebrowser.org/dl/">Downloads - DB Browser for SQLite</a></p> <p>今回の例では「articles」テーブルの「published_at」カラムを削除します。</p> <p>ダウンロードしたアプリケーションを起動するとウィンドウが表示されるので「Open Database」をクリックします。<br /> <a href="https://crieit.now.sh/upload_images/9a3ac0970f7eec762a1a157437141ee35db992b5a304a.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/9a3ac0970f7eec762a1a157437141ee35db992b5a304a.png?mw=700" alt="ss01-2-1024x634.png" /></a></p> <p>操作したい拡張子「.sqlite」のSQLiteのデータファイルを選択します。<br /> <a href="https://crieit.now.sh/upload_images/c94b641907cbe0da2d32ba39785335b25db992cd24f2c.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/c94b641907cbe0da2d32ba39785335b25db992cd24f2c.png?mw=700" alt="ss02-2.png" /></a></p> <p>カラムを削除したいテーブルを選択し、「Modify Table」をクリックします。<br /> <a href="https://crieit.now.sh/upload_images/d1845b8b1b11d2500e662108c15295c35db992de01c8a.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/d1845b8b1b11d2500e662108c15295c35db992de01c8a.png?mw=700" alt="ss03-2-1024x634.png" /></a></p> <p>すると次のような画面が表示されるので削除する「published_at」カラムを選択して「Remove field」をクリック。<br /> <a href="https://crieit.now.sh/upload_images/6b90fafd4e6dbc75883699a8107bb07b5db992e96ea35.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/6b90fafd4e6dbc75883699a8107bb07b5db992e96ea35.png?mw=700" alt="ss04-2.png" /></a></p> <p>確認画面が表示されるので「Yes」をクリックしてカラムを削除します。<br /> <a href="https://crieit.now.sh/upload_images/80f3ca4e2936641376189300eaf5d7165db992f6db8d3.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/80f3ca4e2936641376189300eaf5d7165db992f6db8d3.png?mw=700" alt="ss05-2.png" /></a></p> <p>以上です。<br /> 簡単ですね。</p> <p>それでは、よいプログラミングライフを!</p> <p>※ Laravelを使っていればmigrationを用いて<br /> <code>$table->dropColumn(‘hoge’);</code><br /> 一行でできます。</p> ケイジ tag:crieit.net,2005:PublicArticle/15510 2019-10-27T15:10:52+09:00 2019-10-30T22:31:59+09:00 https://crieit.net/posts/1fed4cfffba68fc79557e060d24d5a18 個人開発でサイトリリースした理由とやったこと <p><a href="https://crieit.now.sh/upload_images/5b0212fe52d73d692cba535132678c2c5db990c43e5a5.jpg" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/5b0212fe52d73d692cba535132678c2c5db990c43e5a5.jpg?mw=700" alt="個人開発でサイトリリースした理由とやったこと" /></a><br /> こんにちは。ケイジです。<br /> ボルジムというボルダリングジム検索ウェブサービスを制作し運営しています。</p> <p>今回、このサービスをリリースするまでにやったことを綴ることによって、誰かの役に立つのではと思い記事を書きました。</p> <h1 id="なぜ創ったか"><a href="#%E3%81%AA%E3%81%9C%E5%89%B5%E3%81%A3%E3%81%9F%E3%81%8B">なぜ創ったか</a></h1> <p>この数年、ボルダリング沼にとっぷりと浸かってしまい、週イチの社内ボルダリング部活動と週末の自主活動の週2回ボル活をするのが習慣になっています。たまにボルダリングができない週末があると気持ちも体も落ち着かずムズムズし週明けの仕事に差し支えるまでに。</p> <p>また個人開発もしばらくご無沙汰していて何か創りたい欲がフツフツと湧いてきたタイミングでもあったので、エイヤ!とボルダリングジム検索ウェブサービスを創りました。<br /> 首都圏近郊のボルダリングジムの口コミなどの情報が閲覧、投稿できるウェブサービスになります。</p> <p><a target="_blank" rel="nofollow noopener" href="https://boulgym.com/?ref=crieit">ボルジム・首都圏近郊ボルダリングジム検索サイト</a></p> <p>好きなこと ✕ 好きなことの掛け合わせだから、それはそれは楽しいだろうと。</p> <h1 id="やったことリスト"><a href="#%E3%82%84%E3%81%A3%E3%81%9F%E3%81%93%E3%81%A8%E3%83%AA%E3%82%B9%E3%83%88">やったことリスト</a></h1> <p>ボルジムを立ち上げるために、したことは以下のようになります。</p> <h2 id="プログラミング言語、フレームワークを選ぶ"><a href="#%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9E%E3%80%81%E3%83%95%E3%83%AC%E3%83%BC%E3%83%A0%E3%83%AF%E3%83%BC%E3%82%AF%E3%82%92%E9%81%B8%E3%81%B6">プログラミング言語、フレームワークを選ぶ</a></h2> <p><a href="https://crieit.now.sh/upload_images/fe96233f19a7998d16e424d92bfc351c5db53460a28f2.jpg" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/fe96233f19a7998d16e424d92bfc351c5db53460a28f2.jpg?mw=700" alt="logos01.jpg" /></a></p> <p>以前はCakePHPでの開発経験はあったものの、ここ数年はWordPressのカスタマイズをメインに仕事をしているため、どの言語とフレームワークで開発するのかをまず選定しました。</p> <p>候補に挙がったのは以下のフレームワークになります。<br /> ※カッコ内はプログラミング言語</p> <ul> <li>Laravel(PHP)</li> <li>WordPress(PHP)</li> <li>Ruby on Rails(Ruby)</li> <li>Django(Python)</li> </ul> <p>選定にあたってはGoogleトレンドでまずざっくりと最近の検索結果の多いものをリストアップしました。</p> <p>また、求人が多いフレームワークは今勢いのあるものだろうと推測し、国内と海外のリクルートサイトで求人数の多いもので絞り込みもしました。</p> <p>結果、学習期間にあまり時間を使いたくないということで個人的なPHP慣れもある、LaravelとWordPressの二択になったのですが、開発の自由度の高いLaravelに決定しました。</p> <h1 id="環境づくり"><a href="#%E7%92%B0%E5%A2%83%E3%81%A5%E3%81%8F%E3%82%8A">環境づくり</a></h1> <p><a href="https://crieit.now.sh/upload_images/5396069f54a02c0404723081c571a00a5db5348995da3.jpg" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/5396069f54a02c0404723081c571a00a5db5348995da3.jpg?mw=700" alt="logos02.jpg" /></a><br /> 環境づくりはできるだけ仕事で使い慣れているものを選択。</p> <h2 id="ローカル開発環境"><a href="#%E3%83%AD%E3%83%BC%E3%82%AB%E3%83%AB%E9%96%8B%E7%99%BA%E7%92%B0%E5%A2%83">ローカル開発環境</a></h2> <p>Vagrant一択でした。</p> <h2 id="ソースコード管理"><a href="#%E3%82%BD%E3%83%BC%E3%82%B9%E3%82%B3%E3%83%BC%E3%83%89%E7%AE%A1%E7%90%86">ソースコード管理</a></h2> <p>BitbucketでGitコードを管理。<br /> 現在はGitHubでプライベートリポジトリを作成できるとのことなので今選ぶならそっちになるかもしれません。</p> <h2 id="ウェブサーバ"><a href="#%E3%82%A6%E3%82%A7%E3%83%96%E3%82%B5%E3%83%BC%E3%83%90">ウェブサーバ</a></h2> <p>さくらのレンタルサーバを使ってます。</p> <h2 id="サイトデザイン"><a href="#%E3%82%B5%E3%82%A4%E3%83%88%E3%83%87%E3%82%B6%E3%82%A4%E3%83%B3">サイトデザイン</a></h2> <p>いつも使い慣れているものを使いました。<br /> パーツ、ロゴやイラスト制作は、Adobe IllustratorとPhotoshop。<br /> サイト全体とUIデザインにはSketchを使用。</p> <h1 id="学習方法"><a href="#%E5%AD%A6%E7%BF%92%E6%96%B9%E6%B3%95">学習方法</a></h1> <h2 id="Laravel学習法"><a href="#Laravel%E5%AD%A6%E7%BF%92%E6%B3%95">Laravel学習法</a></h2> <p>Laravelについてはまったく触ったことがなかったので、ドットインストールのプレミアム会員になり、動画学習しました。</p> <p>まず、Laravelをローカル環境で使うにあたって必要な<a target="_blank" rel="nofollow noopener" href="https://dotinstall.com/lessons/basic_sqlite_v2">SQLite入門</a>をざっと一周します。</p> <p>次に、<a target="_blank" rel="nofollow noopener" href="https://dotinstall.com/lessons/basic_laravel_v2">Laravel 5.5入門レッスン</a>をざっと1周して概要をつかみ、次に実際にローカル環境で手を動かしてチュートリアルウェブアプリをつくりながらもう1周しました。</p> <p>ドットインストールは構成が初学者にとって非常に分かりやすく、動画一つが3分前後ととっつきやすくておすすめです。<br /> Vagrantについても最初はこのサイトで学習しました。</p> <p>プレミアム会員になると女性ボイスが選択できるのと、再生スピードが変更できるのが個人的に良い機能だと思います。</p> <p>という感じでざっくりとLaravelについて理解が深まったところで、<a target="_blank" rel="nofollow noopener" href="https://laravel10.wordpress.com/category/%e3%81%af%e3%81%98%e3%82%81%e3%81%a6%e3%81%ae-laravel/">ララ帳「はじめてのLaravel」</a>を参考にしつつ、実際にウェブサイト開発をしていきました。</p> <p>分からないところは随時ググりながら進めました。<br /> 頻繁に使ったのは<a target="_blank" rel="nofollow noopener" href="https://readouble.com/laravel/">readouble</a>(日本語版Laravelドキュメンテーション)になります。翻訳してくれている有志の方々ありがとう。</p> <p>英語に抵抗がなければ<a target="_blank" rel="nofollow noopener" href="https://laravel.com/docs/6.x">laravel documentation</a>の方が情報も早く、デザインも見やすいためおすすめです。</p> <h1 id="まとめ"><a href="#%E3%81%BE%E3%81%A8%E3%82%81">まとめ</a></h1> <p>という感じのことを、休日や出勤前や後に細々と続けていき大体6ヶ月ほどかけてリリースまでこぎつけました。</p> <p>この記事が少しでも読まれた誰かの一助になれば幸いです。</p> <p>では、よいものづくりライフを!</p> ケイジ