tag:crieit.net,2005:https://crieit.net/tags/%E5%88%9D%E5%BF%83%E8%80%85%E5%90%91%E3%81%91/feed 「初心者向け」の記事 - Crieit Crieitでタグ「初心者向け」に投稿された最近の記事 2021-01-19T16:02:18+09:00 https://crieit.net/tags/%E5%88%9D%E5%BF%83%E8%80%85%E5%90%91%E3%81%91/feed tag:crieit.net,2005:PublicArticle/16634 2021-01-19T16:02:18+09:00 2021-01-19T16:02:18+09:00 https://crieit.net/posts/Active-Directory-600683fa5bb17 Active Directory! <p>サーバー向けOSってたくさんありますけど、Windowsのやつってよく聞くような気がしませんか?<br /> 社内ネットワークに向いてるとか、何とか。</p> <p>Windowsサーバーを選ぶ理由No.1(個人の感想です)のActive Directoryについて簡単に解説します。</p> <h2 id="Active Directory って?"><a href="#Active+Directory+%E3%81%A3%E3%81%A6%EF%BC%9F">Active Directory って?</a></h2> <p><strong>PC、ユーザー情報などコンピューターリソースを管理するためのシステム</strong></p> <p>で、</p> <ol> <li><strong>ディレクトリサービス</strong></li> <li><strong>ユーザ認証</strong></li> <li><strong>クライアント管理</strong></li> </ol> <p>等ができます。ひとつずつ解説します。</p> <h3 id="ディレクトリサービス"><a href="#%E3%83%87%E3%82%A3%E3%83%AC%E3%82%AF%E3%83%88%E3%83%AA%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9">ディレクトリサービス</a></h3> <p>これは、</p> <p><strong>ネットワーク上にある、PCやアドレス等々の記録ができます</strong>。</p> <p>社員のPCやそのアカウント、コピー機などをまとめて記録できます。</p> <h3 id="ユーザ認証"><a href="#%E3%83%A6%E3%83%BC%E3%82%B6%E8%AA%8D%E8%A8%BC">ユーザ認証</a></h3> <p><strong>ディレクトリサービスにアクセスできるユーザを判別</strong>します。<br /> 何かのサーバーやデータにアクセスしようとしているPCなどが、社外の無関係なPCだったらとても危険です。そういうことがないようにできます。</p> <h3 id="クライアント管理"><a href="#%E3%82%AF%E3%83%A9%E3%82%A4%E3%82%A2%E3%83%B3%E3%83%88%E7%AE%A1%E7%90%86">クライアント管理</a></h3> <p><strong>管理下にあるPCに対して、一斉に設定</strong>を行うことができます。一台一台設定しなくていいのは、手間も省けますし、ミスも減らせそうでいいですよね。</p> drum-rk tag:crieit.net,2005:PublicArticle/16624 2021-01-19T13:03:26+09:00 2021-01-19T14:59:08+09:00 https://crieit.net/posts/Linux-60065a0e77cbc Linuxとは?? <p>サーバーについて少し勉強すると、<br /> 「サーバーのOSっていろいろあるなー」<br /> ということがわかってくると思います。<br /> その中でも、<strong>Windows系</strong>と<strong>Linux系</strong>があることはご存じかと思います。</p> <p>今回は、<strong>Linux系のOS</strong>についてその概要をまとめてみます。</p> <h2 id="Linuxって??"><a href="#Linux%E3%81%A3%E3%81%A6%EF%BC%9F%EF%BC%9F">Linuxって??</a></h2> <p>Linuxとは何でしょうか。とーーーってもざっくりいうと、それは……</p> <p><strong>リーナス・トーバルスさんという方が開発したOS</strong></p> <p>です!</p> <h2 id="詳しく!!"><a href="#%E8%A9%B3%E3%81%97%E3%81%8F%EF%BC%81%EF%BC%81">詳しく!!</a></h2> <p>Linuxには一例として、以下のような特徴があります。</p> <ul> <li><strong>オープンソース</strong></li> <li><strong>CLIの操作が主流</strong></li> <li><strong>いろんな種類がある</strong></li> </ul> <p>ひとつずつ見ていきましょう。</p> <h3 id="オープンソース"><a href="#%E3%82%AA%E3%83%BC%E3%83%97%E3%83%B3%E3%82%BD%E3%83%BC%E3%82%B9">オープンソース</a></h3> <p>これはLinuxの大きな特徴の一つです。つまりどういうことかというと、</p> <p><strong>「Linuxはこういうプログラムで動いてるよ~」というのが公開されている</strong></p> <p>ということです。実際にググるとソースコードを見ることができます。</p> <p>なので、</p> <ul> <li>基本<strong>無償</strong>で<strong>入手</strong>できる</li> <li><strong>バグ</strong>ったり、動かなかったりが<strong>少ない</strong><br /> (世界中の開発者たちが日々日々改善のために頑張ってくださっているため)</li> </ul> <p>という利点が生まれます。しかし、</p> <p><strong>お客様相談窓口的</strong>なものは<strong>ない</strong>ことが多い</p> <p>ので、ド初心者は注意が必要だったりします。</p> <h3 id="CLI操作が主流"><a href="#CLI%E6%93%8D%E4%BD%9C%E3%81%8C%E4%B8%BB%E6%B5%81">CLI操作が主流</a></h3> <p><strong>CLI</strong>というのは「<strong>C</strong>ommmand <strong>L</strong>ine <strong>I</strong>nterface」の略で、「コマンドを打って操作するよ」という意味です。<strong>主にキーボードで操作</strong>していく感じです。す。</p> <p>これに関しては、<strong>GUI</strong>(Graphic User Interface)がメイン = マウスとかで<strong>クリックしたりドラッグしたりして操作</strong>する、Windowsサーバの操作画面と見比べてもらうのがわかりやすいかもしれません。</p> <p><strong>Windowsサーバ</strong></p> <p><a href="https://crieit.now.sh/upload_images/d983fd92a94506e6835fc681cd043b9760065361befa7.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/d983fd92a94506e6835fc681cd043b9760065361befa7.png?mw=700" alt="image" /></a></p> <p><strong>Linux系サーバ(CentOS)</strong></p> <p><a href="https://crieit.now.sh/upload_images/3cb2429e6b8b273a9a84cdb18c19efea6006751345e02.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/3cb2429e6b8b273a9a84cdb18c19efea6006751345e02.png?mw=700" alt="image" /></a></p> <p>こういうところは、なんだか玄人向けに感じますね。<br /> ただし、<strong>GUI対応のLinux系OSもあります</strong>のでご注意を!</p> <h3 id="いろんな種類がある"><a href="#%E3%81%84%E3%82%8D%E3%82%93%E3%81%AA%E7%A8%AE%E9%A1%9E%E3%81%8C%E3%81%82%E3%82%8B">いろんな種類がある</a></h3> <p>これはちょっと説明が長くなってしまいます……すみません。</p> <p>そもそも、Linuxというのは<strong>それだけでOSとして使えるわけではありません</strong>。<br /> Linuxは<strong>カーネル</strong>という<strong>コンピュータのハードとソフトの橋渡しをしてくれるヤツ</strong>の一種です。</p> <p>車でいえば、<strong>エンジン</strong>みたいなものです。<strong>エンジンだけじゃ車としてはつかえない</strong>ので、実際に使うには<strong>ほかにもいろいろと必要</strong>なのです。</p> <p>そこで、一般人でもすぐにOSを使えるように必要なものをひとまとめにしてくれたセットを</p> <p><strong>ディストリビュージョン</strong></p> <p>といいます。このディストリビュージョンには<strong>いろいろな種類</strong>があります。<br /> だから厳密には、</p> <p><strong>Linuxを一般人でも使えるように、必要なものをひとまとめにした「ディストリビューション」に、<br /> いろんな種類がある</strong></p> <p>ということになります。</p> <p>ディストリビュージョンには本当にたくさんの種類がありますが、</p> <ul> <li><p><strong>Red Hat系</strong></p> <ul> <li>Red Hat Enterprise Linux(RHEL)<br /> 商用向け。大規模なシステムのサーバー用OSとして人気なやつ。</li> <li>Cent OS<br /> RHELのクローンで、RHELの商用部分が独自のものに置き換わっているやつ。</li> </ul></li> <li><p><strong>Debian系</strong></p> <ul> <li>Ubuntu<br /> 初心者歓喜(?)GUI対応。個人のPCのOS向け。</li> </ul></li> </ul> <p>が有名かな、と思います。</p> <h2 id="おわりに"><a href="#%E3%81%8A%E3%82%8F%E3%82%8A%E3%81%AB">おわりに</a></h2> <p>ちょっと触ってみてもいいかな? と思った方はぜひ触ってみてください。<br /> コマンド操作ができるようになると、ちょっと専門家になった気分を味わえます。</p> drum-rk tag:crieit.net,2005:PublicArticle/15864 2020-04-23T15:43:49+09:00 2020-04-23T15:43:49+09:00 https://crieit.net/posts/Octoparse-8-1-Beta スクレイピング業界の変革|Octoparse 新バージョン 8.1 Beta がリリース! <p><a href="https://crieit.now.sh/upload_images/83fd1e8a036ec55de62793094109faa55ea1386632f82.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/83fd1e8a036ec55de62793094109faa55ea1386632f82.png?mw=700" alt="image" /></a></p> <p>Webスクレイピングツールである<a target="_blank" rel="nofollow noopener" href="https://www.octoparse.jp/">Octoparse</a>の新バージョン ver 8.1 (ダウンロードは<a target="_blank" rel="nofollow noopener" href="https://www.octoparse.jp/Download">こちら</a>)が2020年4月15日よりリリースされました。今回の新バージョンのリリースでは、、Webページの自動認識機能の追加と内蔵ブラウザのアップグレードにより、パフォーマンスが向上し、データ取得の効率を大幅に改善しました。 また、ユーザインターフェースの改善により、インストールからタスク作成、実行中の操作まで、使いやすさも向上しました。</p> <p>今回の主なバージョンアップ項目は以下のようになります。</p> <h1 id="1.ハンズフリーでデータ抽出が可能"><a href="#1.%E3%83%8F%E3%83%B3%E3%82%BA%E3%83%95%E3%83%AA%E3%83%BC%E3%81%A7%E3%83%87%E3%83%BC%E3%82%BF%E6%8A%BD%E5%87%BA%E3%81%8C%E5%8F%AF%E8%83%BD">1.ハンズフリーでデータ抽出が可能</a></h1> <p>「Webページの自動認識」機能を追加するにより、WebページのURLアドレスを入力するだけで、Octoparseは自動的にWebページを識別し、ワークフローを自動的に生成するようになります。Webページ上のテキスト、画像、リンクなどの情報を識別でき、収集するデータフィールド、ページネーション、スクロールダウンなどの設定を自動的に推奨できます。複数の認識結果が表示され、簡単に切り替えられ、一般的なニーズを満たすことができると思われます。超初心者でも手軽にデータをスクレイピングできるようになりました!</p> <h1 id="2.高度なブラウザ互換性"><a href="#2.%E9%AB%98%E5%BA%A6%E3%81%AA%E3%83%96%E3%83%A9%E3%82%A6%E3%82%B6%E4%BA%92%E6%8F%9B%E6%80%A7">2.高度なブラウザ互換性</a></h1> <p>内蔵ブラウザをFirefoxからGoogle Chromeに切り替えました。以前のバージョンで読み込めなかったWebサイトは、Octoparse 8.1ですぐに読み込めるようになります。あらゆるWebサイトがOctoparseの内蔵ブラウザに開けられるように努めています。</p> <h1 id="3.より高速なスクレイピング速度"><a href="#3.%E3%82%88%E3%82%8A%E9%AB%98%E9%80%9F%E3%81%AA%E3%82%B9%E3%82%AF%E3%83%AC%E3%82%A4%E3%83%94%E3%83%B3%E3%82%B0%E9%80%9F%E5%BA%A6">3.より高速なスクレイピング速度</a></h1> <p>Webデータ収集のプロセスにおいて、更なる高速化が求められています。スクレイピング速度も、高品質のスクレイピングツールのコア競争力です。以前のバージョンと比べて、Octoparse 8.1は、10倍高速で応答性が向上しています。OP 7.0が100件データを抽出するのに21分41秒かかりましたが、OP 8.1が同じWebページから同じ量のデータを取得するのに2分しかかかりませんでした。</p> <h1 id="まとめ"><a href="#%E3%81%BE%E3%81%A8%E3%82%81">まとめ</a></h1> <p>新バージョンに関する詳細はこの記事をご覧ください。Octoparseへのご意見、アドバイスなどがございましたら、ぜひご遠慮なくお寄せください。Octoparseは引き続きより良いサービス・機能を提供できるよう努めております。</p> <p>元記事:<a target="_blank" rel="nofollow noopener" href="https://www.octoparse.jp/blog/octoparse-81-release-features/">スクレイピング業界の変革|Octoparse 新バージョン 8.1 Beta がリリース!</a></p> Octoparse Japan tag:crieit.net,2005:PublicArticle/15682 2020-01-14T11:58:31+09:00 2020-01-14T11:58:31+09:00 https://crieit.net/posts/web-scraping-using-python PythonによるWebスクレイピングを解説 <p>価格監視、ビジネス分析などのデータ関連プロジェクトを実施する場合、常にWebサイトからデータをエクセルに記録する必要があります。ただし、データを1行ずつコピペするのは時代遅れになり、<a target="_blank" rel="nofollow noopener" href="https://www.octoparse.jp/blog/web-scraping-introduction/">Webスクレイピング</a>におけるニーズが高まっています。この記事では、Webデータを自動収集する方法、つまりPythonでWebスクレイピングを行う方法を説明します。</p> <h1 id="ステップ0:はじめに"><a href="#%E3%82%B9%E3%83%86%E3%83%83%E3%83%970%EF%BC%9A%E3%81%AF%E3%81%98%E3%82%81%E3%81%AB">ステップ0:はじめに</a></h1> <p>Webスクレイピングとは、Webサイトからデータを取得するのに役立つ技術です。Pythonなどのプログラミング言語以外に、APIまたは<a target="_blank" rel="nofollow noopener" href="https://www.octoparse.jp/">Octoparse</a>のような<a target="_blank" rel="nofollow noopener" href="https://www.octoparse.jp/blog/top-30-free-web-scraping-software">スクレイピングツール</a>もWebスクレイピングを行うことができます。</p> <p>AirbnbやTwitterなどの大規模サイトの場合、サイトにある情報をできるだけ広く共有するために、API を通してデータにプログラムレベルでアクセスし、企業、開発者、利用者に提供します。APIはApplication Programming Interfacesの略で、2つのアプリケーションが互いに通信できるソフトウェアビルディングブロックです。ほとんどの人にとって、APIはデータを取得するための最も適したアプローチです。</p> <p>ただし、全てのサイトはAPIサービスを提供するわけではありません。APIを提供しても、取得できるデータが必要なものではない場合もあります。したがって、Pythonを活用してWebクローラーを自作することは、強力で柔軟なソリューションになります。</p> <p><strong>では、なぜPythonが選ばれた言語なのでしょうか?</strong></p> <p><strong>柔軟性:</strong> 私たちが知っているように、Webサイトはよく更新されます。コンテンツだけでなく、Web構造も頻繁に変更されます。Pythonは動的に入力可能で生産性が高いため、使いやすい言語です。したがって、はコードを簡単に変更し、Webサイトの更新速度に追いつくことができます。</p> <p><strong>強力:</strong> Pythonには、有用で成熟したライブラリがたくさんあります。例えば、Requests、BeautifulSoupは、URLを取得し、Webページから情報を引き出すのに役立ちます。Seleniumは、Webクローラーが人間のブラウジング動作を真似できるようにすることで、一部のスクレイピング防止手法を回避するのに役立ちます。さらに、re、numpy、およびpandasを使用して、データのクリーンアップと処理を行うことができます。</p> <p>それでは、PythonによるWebスクレイピングの旅を始めましょう!</p> <h1 id="ステップ1:Pythonライブラリをインポートする"><a href="#%E3%82%B9%E3%83%86%E3%83%83%E3%83%971%EF%BC%9APython%E3%83%A9%E3%82%A4%E3%83%96%E3%83%A9%E3%83%AA%E3%82%92%E3%82%A4%E3%83%B3%E3%83%9D%E3%83%BC%E3%83%88%E3%81%99%E3%82%8B">ステップ1:Pythonライブラリをインポートする</a></h1> <p>このチュートリアルでは、Yelpからレビューをスクレイピングする方法を示します。BeautifulSoupとRequestsの2つのライブラリを使用します。これらの2つのライブラリは、PythonでWebクローラーを構築する際に一般的に使用されます。最初のステップは、この2つのライブラリをPythonにインポートして、これらのライブラリの関数を使用できるようにすることです。</p> <p><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/262932/ee38043b-1cf0-5edb-3018-cde7f861a517.png" alt="ライブラリをインポートする.png" /></p> <h1 id="ステップ2:WebページからHTMLを抽出する"><a href="#%E3%82%B9%E3%83%86%E3%83%83%E3%83%972%EF%BC%9AWeb%E3%83%9A%E3%83%BC%E3%82%B8%E3%81%8B%E3%82%89HTML%E3%82%92%E6%8A%BD%E5%87%BA%E3%81%99%E3%82%8B">ステップ2:WebページからHTMLを抽出する</a></h1> <p><a target="_blank" rel="nofollow noopener" href="https://www.yelp.com/biz/milk-and-cream-cereal-bar-new-york?osq=Ice+Cream">https://www.yelp.com/biz/milk-and-cream-cereal-bar-new-york?osq=Ice+Cream</a> からレビューを抽出しようとします。まず、URLという変数にURLを保存します。次に、このWebページのコンテンツにアクセスし、Requestsでurlopen()関数を使用して、HTMLを「ourUrl」に保存できます。</p> <p><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/262932/3ed8515c-2ae9-1692-e7c5-b4b5ca659249.png" alt="HTMLを抽出する.png" /></p> <p>それで、BeautifulSoupを使ってWebページを解析します。</p> <p><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/262932/b0630902-1ea5-36fa-5050-415a3826eddf.png" alt="Webページを解析.png" /></p> <p>このWebサイトの生のHTMLである「Soup」ができたので、prettify()と呼ばれる関数を使用して生データを消去し、それを印刷して「Soup」のHTMLのネスト構造を確認できます。</p> <p><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/262932/19ab0e0e-7b15-0285-54d3-7e35f7db4357.png" alt="prettify.png" /></p> <h1 id="ステップ3:レビューを見つけて抽出する"><a href="#%E3%82%B9%E3%83%86%E3%83%83%E3%83%973%EF%BC%9A%E3%83%AC%E3%83%93%E3%83%A5%E3%83%BC%E3%82%92%E8%A6%8B%E3%81%A4%E3%81%91%E3%81%A6%E6%8A%BD%E5%87%BA%E3%81%99%E3%82%8B">ステップ3:レビューを見つけて抽出する</a></h1> <p>次に、このWebページでレビューのHTMLを見つけて抽出し、保存します。Webページの各要素には、唯一のHTML「ID」があります。IDを確認するには、Webページでそれらを検査する必要があります。</p> <p><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/262932/d8e28b2b-84c3-c956-a4d8-dd482175c6b1.png" alt="要素の検証.png" /></p> <p>「Inspect element(要素の検証)](「Inspect(検証))をクリックすると、レビューのHTMLが表示されます。</p> <p><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/262932/0d48caf6-e20f-f695-5b4f-52fa0462a93c.png" alt="HTMLが表示されます.png" /></p> <p>この場合、レビューは「p」というタグの下にあります。そのため、まずfind_all()という関数を使って、これらのレビューの親ノードを見つけます。そして、ループ内の親ノードの下にタグ「p」を持つすべての要素を見つけます。すべての「p」要素を見つけたら、それらを「review」という空のリストに保存します。</p> <p><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/262932/7d03c63a-5992-20ac-8922-44aea1eb3991.png" alt="レビュー.png" /></p> <p>これで、そのページからすべてのレビューを取得できます。いくつのレビューを抽出したか見てみましょう。</p> <p><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/262932/944c1728-c0cc-3dec-345d-ae3c7100ae9f.png" alt="レビュー数.png" /></p> <h1 id="ステップ4:レビューを処理する"><a href="#%E3%82%B9%E3%83%86%E3%83%83%E3%83%974%EF%BC%9A%E3%83%AC%E3%83%93%E3%83%A5%E3%83%BC%E3%82%92%E5%87%A6%E7%90%86%E3%81%99%E3%82%8B">ステップ4:レビューを処理する</a></h1> <p>各レビューの最初に<code><p lang = 'en'></code>、レビューの途中に<code><br/></code>、およびレビューの終わりに<code></ p></code>などの役に立たないテキストがまだあることに注意する必要があります。</p> <p><code><br/></code>は改行を表します。レビューに改行を入れる必要はありませんので、削除する必要があります。また、<code><p lang = 'en'></code>と<code></ p></code>はHTMLの始まりと終わりであり、これらも削除する必要があります。</p> <p><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/262932/c31cad4a-2a12-047c-bf22-92ae926f411f.png" alt="レビューを処理する.png" /></p> <p>最後に、20行未満のコードですべてレビューをきれいに取得しました。</p> <h1 id="まとめ"><a href="#%E3%81%BE%E3%81%A8%E3%82%81">まとめ</a></h1> <p>以上はYelpから20件のレビューを収集するデモです。しかし、実際には、他の多くの状況に直面する必要があるかもしれません。例えば、他のページに移動してこのショップの残りのレビューを抽出するには、ページネーションなどの手順が必要になります。または、レビュアー名、レビュアーの場所、レビュー時間などのその他の情報も収集する必要があります。</p> <p>上記の操作を実装してより多くのデータを取得するには、Seleniumや正規表現などの関数とライブラリをさらに学習しなければなりません。Webスクレイピングの課題を掘り下げるのにより多くの時間を費やすことは興味深いでしょう。</p> <p>ただし、Webスクレイピングを行う簡単な方法を探している場合は、Octoparseのようなスクレイピングツールが一番いいソリューションになるかもしれません。Octoparseは、コードを各必要なく、Webサイトから情報を簡単に取得できる強力なWebスクレイピングツールです。Webスクレイピングをマスターして、Webデータの取得を自動化にしましょう!</p> Octoparse Japan 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/15621 2019-12-18T23:02:34+09:00 2019-12-18T23:02:34+09:00 https://crieit.net/posts/Rails6-Ruby Rails6 ビューファイルにRubyのコード書く時の<% %>と<%= %>の違い <h1 id="&lt;% %&gt;と&lt;%= %&gt;の違い"><a href="#%26lt%3B%25+%25%26gt%3B%E3%81%A8%26lt%3B%25%3D+%25%26gt%3B%E3%81%AE%E9%81%95%E3%81%84"><% %>と<%= %>の違い</a></h1> <ul> <li>: この中に書いたコードは表示されない。変数定義やif文などの記載に使う。</li> <li>: この中に書いたコードは表示される。ビューファイル上に変数の値を表示したい時などに使用する</li> </ul> miriwo: 19年7月7日からQiita毎日投稿中! 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/14488 2018-07-24T06:45:30+09:00 2018-10-25T16:56:21+09:00 https://crieit.net/posts/PHP PHPとは? <p>PHPというのはプログラミング言語の一つで、主にブラウザで閲覧するWebサービス等に利用されています。HTMLでページを作る場合は表示内容が固定になりますが、PHPを利用するとそのサービスにログインしているユーザーや、投稿されている内容等によって表示を変えたりすることができます。</p> <p>PHPの理解にはHTMLが必要となりますので、HTMLの知識がない方はまず下記を見ておいてください。</p> <p><a href="https://crieit.net/posts/HTML">HTMLとは? - Crieit</a></p> <p>具体的にPHPではどのようなことができるのでしょうか?</p> <h2 id="HTMLを表示する"><a href="#HTML%E3%82%92%E8%A1%A8%E7%A4%BA%E3%81%99%E3%82%8B">HTMLを表示する</a></h2> <p>PHPはHTMLの中にプログラムを記述することができる言語です。そのため、下記のようにプログラムのない単なるHTMLも書くことができます。</p> <pre><code class="html"><h1>ただのHTMLです</h1> </code></pre> <h2 id="プログラムを書く"><a href="#%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%A0%E3%82%92%E6%9B%B8%E3%81%8F">プログラムを書く</a></h2> <p>ただのHTMLの中にPHPでプログラムを書くと、下記のようになります。</p> <pre><code class="php"><p>今の時刻は<?= date('H:i') ?>です。</p> </code></pre> <p>上記の<code><?= date('H:i') ?></code>のところがプログラムです。これはdate関数というものを使用しており、<code>H:i</code>という形式で現在の時刻を表示する、という処理を行っています。これをPHPが動作するサーバーに設置して表示させると下記のようになります。</p> <pre><code>今日の時刻は12:33です。 </code></pre> <p>PHPを記述する場合は、PHPの開始タグと終了タグを使います。下記の最初の行と最後の行が開始タグ、終了タグです。</p> <pre><code class="php"><?php echo date('H:i'); ?> </code></pre> <p>このように開始と終了で囲まれた部分がPHPとして動作します。上記は先程と同様、時刻を表示するプログラムです。<code>echo</code>というのは文字列を出力する命令です。</p> <p>ちなみにこれは前述の<code><?= date('H:i') ?></code>と全く同じになります。PHPタグの中で<code>echo</code>だけを実行する場合には、最初のように<code>echo</code>を省略した書き方をすることができます。</p> <h2 id="どうやって動かすの?"><a href="#%E3%81%A9%E3%81%86%E3%82%84%E3%81%A3%E3%81%A6%E5%8B%95%E3%81%8B%E3%81%99%E3%81%AE%EF%BC%9F">どうやって動かすの?</a></h2> <p>PHPはHTMLと同じようにテキストファイルですが、PHPはプログラムを実行してHTMLとして出力する必要があります。そのためにWebサーバーにPHPのプログラムファイルを設置し、そこにブラウザでアクセスする必要があります。アクセス方法はHTMLと変わりありませんが、PHPの場合はプログラムが全部実行された後の状態のものが表示されます。</p> <p>サーバーはここでちゃちゃっと簡単に説明はできないため、ぜひ別途調べて知識を身につけてみてください。とりあえず最初は無料でPHPを使えるレンタルサーバーで試してみるのが良いと思います。Xdomain、XREA等は昔からあって良さそうなイメージです。このあたりの有名なサーバであれば、検索すると結構PHPの動かし方などの情報も見つかりやすいです。</p> <h2 id="できること色々"><a href="#%E3%81%A7%E3%81%8D%E3%82%8B%E3%81%93%E3%81%A8%E8%89%B2%E3%80%85">できること色々</a></h2> <p>PHPで色々とできることをあげてみます。</p> <h3 id="スクレイピングやAPI"><a href="#%E3%82%B9%E3%82%AF%E3%83%AC%E3%82%A4%E3%83%94%E3%83%B3%E3%82%B0%E3%82%84API">スクレイピングやAPI</a></h3> <p><code>file_get_contents</code>やcurl関連の機能を使うことで、Web上で一般公開されているサイトのHTMLを取得することができます。このHTMLを解析することで、必要な情報を仕入れて利用することなどができます。</p> <p>また、世の中には様々なAPIも一般公開されていますが、こういったものも使用することができます。例えばリクルートがホットペッパーのAPIを公開しているので、飲食店の情報を取得して自分のサイトに掲載したりすることが可能です。</p> <h3 id="データの保存"><a href="#%E3%83%87%E3%83%BC%E3%82%BF%E3%81%AE%E4%BF%9D%E5%AD%98">データの保存</a></h3> <p>サーバー上にテキストファイルを保存したり、MySQLというデータベースと接続することで、データを保存することができるようになります。例えばTwitterの様にツイートを保存し、それを一覧表示したり検索したり、ということができます。</p> <p>テキストファイルは簡単ですが、データが消えたり処理が遅くなったりするのでMySQL等のデータベースを使うのが一般的です。レンタルサーバーを選ぶ際はMySQLが無料で使えるかも見てみると良いと思います。</p> <h3 id="メール送信等"><a href="#%E3%83%A1%E3%83%BC%E3%83%AB%E9%80%81%E4%BF%A1%E7%AD%89">メール送信等</a></h3> <p>PHPでメールを送信することもできます。複数の人に置く処理を作ればメーリングリストのようなものも作ることができます。また、APIと連携することでツイートしたり、LINEにメッセージを送ったり、スマホにPUSH通知を送ることなども可能です。</p> <h3 id="バックグラウンド処理"><a href="#%E3%83%90%E3%83%83%E3%82%AF%E3%82%B0%E3%83%A9%E3%82%A6%E3%83%B3%E3%83%89%E5%87%A6%E7%90%86">バックグラウンド処理</a></h3> <p>Web上でブラウザに表示せず、サーバー上にてバックグラウンドで定期的に処理を実行することなどもできます。</p> <h2 id="まとめ"><a href="#%E3%81%BE%E3%81%A8%E3%82%81">まとめ</a></h2> <p>色々とPHPでできることをまとめてみました。これらを組み合わせるとブログを作ったり、会員制サービスを作ったり、世の中に存在するWebサービスと同じものを作ることができます。(もちろん難しいものは時間や技術力が必要になりますが)</p> <p>ただ、これらはPHPに限らず、Webで利用できるプログラミング言語であればどれでも同じことができます。他の言語も人気のあるものは多いので色々と自分に合うものを調べてみると面白いかもしれません。</p> だら@Crieit開発者 tag:crieit.net,2005:PublicArticle/14487 2018-07-23T07:24:21+09:00 2018-08-16T09:16:58+09:00 https://crieit.net/posts/HTML HTMLとは? <p>HTMLとは何かというのを分かりやすくいうと、Webサイトのページに何を表示するかを指定するための指示がまとめられたテキストです。実際にWindowsであればメモ帳などでも作れます。</p> <p>とはいえ何も知らない初心者からするとそれでもよくわからないと思いますので、具体的な例を少しあげてみます。</p> <h2 id="単なるテキストを表示する"><a href="#%E5%8D%98%E3%81%AA%E3%82%8B%E3%83%86%E3%82%AD%E3%82%B9%E3%83%88%E3%82%92%E8%A1%A8%E7%A4%BA%E3%81%99%E3%82%8B">単なるテキストを表示する</a></h2> <p>例えば単に</p> <pre><code class="html">HTML </code></pre> <p>というテキストを書くと、Webサイトのページにも単に</p> <p>HTML</p> <p>と表示されます。</p> <h2 id="テキストを太字にする"><a href="#%E3%83%86%E3%82%AD%E3%82%B9%E3%83%88%E3%82%92%E5%A4%AA%E5%AD%97%E3%81%AB%E3%81%99%E3%82%8B">テキストを太字にする</a></h2> <p>次に</p> <pre><code class="html"><b>HTML</b> </code></pre> <p>と書くと、下記のように太字で表示されます。</p> <p><strong>HTML</strong></p> <h2 id="画像を表示する"><a href="#%E7%94%BB%E5%83%8F%E3%82%92%E8%A1%A8%E7%A4%BA%E3%81%99%E3%82%8B">画像を表示する</a></h2> <p>文字だけでなく、画像を表示したい場合は</p> <pre><code class="html"><img src="https://crieit.net/img/card.png"> </code></pre> <p>のように書くと、下記のように画像が表示されます。</p> <p><img src="https://crieit.net/img/card.png" alt="" /></p> <h2 id="まとめ"><a href="#%E3%81%BE%E3%81%A8%E3%82%81">まとめ</a></h2> <p>このように、ページに表示したいものをルールに沿ってまとめて書いたものがHTMLです。他にもリンクやボタンなど、普段あなたがWebサイトを閲覧する際に見たことのあるすべてのものをHTMLによって表示することができます。</p> <p>たとえばGoogle Chromeでサイトを見ている場合、<code>右クリックメニュー→ページのソースを表示</code>でそのページのHTMLを見ることができます。</p> <p>上記であげた例以外にも、かなり多くの機能があります。ただ、普段良く使うHTMLタグはそれほど多いわけではないので、やりたいことを調べつつHTMLを書いていくようにすれば徐々にしっかりしたサイトを作れるようになっていくと思います。</p> <p>ここではHTMLの概念のみの紹介ととどめさせていただきますが、1ページまるまるのHTMLの書き方などは「HTML5 書き方」でヒットする下記などが参考になります。<br /> <a target="_blank" rel="nofollow noopener" href="https://coliss.com/articles/build-websites/operation/work/generic-html5-template-by-sixrevisions.html">HTML5でWebページを作成する時用の必要最小限をまとめたシンプルなテンプレート(IE8以下も配慮) | コリス</a></p> <p>また、書いたHTMLをサーバーにアップしてWeb上で公開するためには、レンタルサーバーであればFTPやSFTP, SCPでアップロード、その他GitHub、HerokuなどのWebサービス用プラットホームであればGitを使って公開、Firebaseであればコマンドで公開、など、色々な方法がありますので気になったものを調べてみてください。</p> だら@Crieit開発者