Powered By Blogger

楽天モール

マイブログ リスト

楽天モール

このブログの感想は?

このブログを検索

2024年12月12日木曜日

PHPで正規表現が使える関数【PCRE関数】とも付き合わないといけないー日帰りなので、三重松阪、伊賀から静岡舞阪駅、浜松ぐらいだな

preg_からはじまる関数を、PCRE関数といいます。PCREは正規表現の仕様の一つです。

PCREは「Perl Compatible Regular Expressions」の略で、perl互換の正規表現という意味でもあります。

preg_match/preg_match_all

正規表現パターンによる検索全般のことを意味します。マッチするか確認したり、マッチした数や文字列を取得します。

preg_split

文字列を正規表現によって分割して配列に変換する。explodeのイメージととらえていいでしょう。

preg_replace

正規表現パターンにマッチした文字列を指定文字列に変換する。マッチしないと元の文字列が返る。空を返したいならpreg_filterを使います。

preg_replace_callback

preg_replaceにコールバックを渡してより柔軟な変換ができます。

preg_filter

正規表現パターンにマッチした文字列を指定文字列に変換する。マッチしないと空の文字列が返る。元の文字列を返したいならpreg_replaceを使います。

preg_last_error

直近の正規表現エラーを返す関数です。

preg_quote

ある文字列を正規表現のエスケープ処理する。正規表現パターン作成時に「この文字列はこのまま扱いたいので正規表現として機能してほしくない」という場合に使います。

以上、正規表現が使えるPHP関数についてまとめてみました。

にほんブログ村 地域生活(街) 中部ブログへ
にほんブログ村 ----- EXTENDED BODY: ----- EXCERPT: ----- KEYWORDS: ----- -------- AUTHOR: シュン TITLE: PHPでスクレイピングをしてみよう STATUS: Publish ALLOW COMMENTS: 1 CONVERT BREAKS: default ALLOW PINGS: 1 PRIMARY CATEGORY: PHP CATEGORY: PHP DATE: 05/30/2024 11:31:42 ----- BODY:

スクレイピングと言えば、Pythonというスタンダードがありますが、PHPでもスクレイピングができます。

ウェブサイトのタイトルや見出しを抽出したい

ネット上にあるサイトのタイトルを抽出する

例として、ハローワークの公式サイトから必要なデータを取得します。

でスクレイピングを行うのに、便利なものがあります。

DOMは、「Document Object Model」といいモデルの一種です。ライブラリとは違うものです。

Javascriptをやっている方は、DOMと聞いてはっとされた方がいるかもしれませんが、

DOMを介することで、HTMLやXMLといったWebの構成要素に対して、文字色やサイズの変更などを自由に操作できます。

<?php
$dom = new DOMDocument(); //DOMオブジェクトを新規に作成する
$html = file_get_contents("https://www.hellowork.mhlw.go.jp/");
//データを抽出したいURLを入力する
$dom->loadHTML($html);
//$htmlに指定したHTMLの内容を$domに取り込む
?>

これで、スクレイピングをする準備ができました。

タイトルを抽出するコード

<html>
<?php
  $dom = new DOMDocument('1.0', 'UTF-8');
  $html = file_get_contents("https://www.hellowork.mhlw.go.jp/");
//データを抽出したいURLを入力
  @$dom->loadHTML($html);
  $xpath = new DOMXpath($dom);
  echo $xpath->query("//title")->item(0)->nodeValue;
//タイトルを抽出して出力
?>
</html>

h2タイトルを抽出するコード

<html>
<?php
  $dom = new DOMDocument('1.0', 'UTF-8');
  $html = file_get_contents("https://www.hellowork.mhlw.go.jp/");
  @$dom->loadHTML($html);
  $xpath = new DOMXpath($dom);

foreach($xpath->query('//h2') as $node){ //h2の部分を変更することで他のタグなど指定が可能
echo "<p>";
echo $node->nodeValue; //h2の内容を1つずつ表示させる
echo "</p>";

 }
?>
</html>

タイトルと見出しが表示しているでしょうか?

人によっては警告(Warning)が出ますが、タイトル、見出しが表示されているはずです。

また、文字コードをUTF-8にしていても、文字化けが起こるようなら、この記事を見てください。

スクレイピングのレベルアップ

さらに高度なスクレイピングをするには、正規表現やデータベースを使う必要があります。

正規表現を使うことによって、きめ細かな条件の下で、より的確なデータを取得できます。

データベースの知識があると、ブラウザ表示だけでなく、データベースまで検索して、より深いデータが取得できます。

の記事を参考にしてください。

スクレイピングを行う上での注意点

ごっそりとってくる機能なので、著作権はもちろんのこと、各サービスの規約を順守する必要があります。

本人が思っている以上に、サーバーに負荷をかけてしまいます。

Google Map Platformのように、データ量の規制もあります。

にほんブログ村 IT技術ブログへ
にほんブログ村

スクレイピング禁止サイトを見分ける方法

規約を見る

利用規約に明示的にスクレイピングを禁止する記載があれば、明らかに禁止されています。

WebAPIが提供されていること

WebAPIを提供している場合、アクセスはWebAPI経由に限られていることが多いです。

robot.txtを見る

コンテンツとともにWebにアップロードされているファイルrobot.txtは、検索エンジンのクローラに対してURLのアクセス可否を記載しています。robot.txtでアクセスが許されていないURLはスクレイピングも禁止されています。

----- EXTENDED BODY: ----- EXCERPT: ----- KEYWORDS: ----- -------- AUTHOR: シュン TITLE: 最新WebAPI情報【2024年度最新版】 STATUS: Publish ALLOW COMMENTS: 1 CONVERT BREAKS: default ALLOW PINGS: 1 PRIMARY CATEGORY: API CATEGORY: API DATE: 05/28/2024 13:05:05 ----- BODY:

最新版とうたっている記事にも、リンク切れなど不備があるサイトをよく見かけます。

そこで、2024年5月18日現在の稼働サービスを紹介します。

リンク切れ等も確認済です。

ライフスタイル系API

ぐるなびは個人に対しては、サービスを提供しなくなりました。

法人に対しては、有償で提供しています。

その代わりに使っているのは、Hot Pepperを擁する「リクルートwebサービス」です。

DMMWebサービス

Yahooはオークションは終了して、Yahooショッピングに統合されています。

LINE、Stripeは、決済サービスを組み込むAPIです。

グルーポンは、クーポン情報を提供するAPIです。

AmazonAPI、楽天APIは、引き続きWebサービスを提供していますが、仕様の変更等でバージョンアップしています。

記事や書籍を参考にするときには、注意しましょう。

IFrame Player API
HTMLに埋め込まれたYoutubeをJavaScriptで制御することができるAPIです。これは、結構重宝します。

Livedoor Weather Web Service
全国142カ所の今日・明日・あさっての天気予報・予想気温と都道府県の天気概況情報を提供しています。ご自分のサイトに設置すると便利です。

旅行・グルメ系API

あてもなくふらっと出かける自分は、とても役に立っています。

じゃらんAPIは、サービスを終了しました。正確には、新規の登録受付を終了したので、今から利用できません。

楽天トラベル施設検索API
楽天トラベルで利用できる施設情報を取得できるAPIです。

エイビーロード航空券 WEBサービス
約100の旅行会社窓口が提供するさまざまな海外航空券の検索が可能なAPIです。

ぐるなび

今注目しているのは、Sabre(セーバー)です。

Sabre APIs
Sabre(セーバー)は、航空・鉄道・ホテルなどで使用されているコンピュータ予約システム(CRS)の情報が扱えるAPIです。

仕事効率化・自動化系API

Dropbox
クラウドサービスのDrpoboxが使えるAPIです。

Evernote
記憶アプリであるEvernoteが使えるAPIです。

Qiita API
Qiitaでの検索や更新、投稿などをAPI経由で行うことができます。

Google Calendar API

Googlecalendarを使っている人にはとても便利なAPIです。カレンダーの情報を取得、追加、更新、削除、修正などしてくれるます。

SNS便利API

普段使っているSNSもAPIを使うと効率化できます。

FaceBook API
Facebookの情報を扱えるAPIです。

Twitter API
Twitterのツイート機能やハッシュタグ、検索などができるAPIです。

Instagram Graph API
インスタグラムの情報を扱えるAPIです。Instagram Platform APIは廃止になっているため注意してください。

LINE Messaging API
Lineで自動返信botなどを作れるAPIです。

Pinterest
画像共有サービスのPinterestが使えるAPIです。

LinkedIn
ビジネス特化型のSNSであるLinkedInが使えるAPIです。

ツイキャス API
ツイキャスのユーザーやカテゴリー、コメントなど情報を取得できるAPIです。

動画エンターテインメント系API

家にいるときは、テレビか動画を見ている自分は、このAPIのヘビーユーザーです。

YOUTUBE
Youtube動画をWEBサイトやアプリケーションの統合できるAPiです。

UPSTREAM Developers
動画配信サービスUstreamの情報を扱えるAPIです。

ニコニコ動画API
ニコニコ動画上の動画やニュース情報などを取得できるAPIです。

日テレアプリ Web API
日テレ系番組の出演者やニュース情報で検索をかけられるAPIです。

NHK番組表API
NHKが放送する番組の情報を取得できるAPIです。

開発系ツールAPI

仕事のおともにどうぞ。

GitHub API
バージョン管理のGithubを扱うことができるAPIです。

AWS 機械学習
Amazonが提供する機械学習の構築や運用、データの分析などの機能を提供するAPIです。

GitHub API
バージョン管理のGithubを扱うことができるAPIです。

AWS 機械学習
Amazonが提供する機械学習の構築や運用、データの分析などの機能を提供するAPIです。

GitHub API
バージョン管理のGithubを扱うことができるAPIです。

AWS 機械学習
Amazonが提供する機械学習の構築や運用、データの分析などの機能を提供するAPIです

ビジネス系API

特にWord・エクセル使う人には、officeAPIは知っておいたほうがいいです。

Office 365 API
Office365が使えるAPIです。

Google Sheets API
Googleスプレッドシートの読み取り・書き込み処理などができるAPIです。

Google drive API
Googleドライブの各機能が使えるAPIです。

Google Maps JavaScript API
Googleマップ上でピンを立てたり経路案内などを表示させられるAPIです。

Google Cloud Machine Learning
音声が画像、テキストや動画などの認識、分析など高度な機械学習モデルを構築するAPIです。

Microsoft Face API
顔の識別や特徴などを取得できるAPIです。

Slack API
ビジネスチャットツールであるSlackが利用できるAPIです。

ChatWork API
ビジネスチャットツールであるChatWorkが利用できるAPIです。

以上、利用者が多いAPIは紹介しました。

随時、リンク切れなど情報を更新していきます。

PVアクセスランキング にほんブログ村

----- EXTENDED BODY: ----- EXCERPT: ----- KEYWORDS: ----- -------- AUTHOR: シュン TITLE: 厄介な人物への対処方法 STATUS: Publish ALLOW COMMENTS: 1 CONVERT BREAKS: default ALLOW PINGS: 1 PRIMARY CATEGORY: 法律 CATEGORY: 法律 DATE: 05/28/2024 11:16:13 ----- BODY:

基本、無視̪シカトする

たまにいますよね?

迷惑人間、トラブルメーカー。

自分は他人に突っ込むのに、他人から突っ込まれるとキレる

一人で生きているわけではないのに、社内、組織内で、環境、を乱す奴。

自分がキレては損だし相手の思うつぼ。わからせること。

社内なら上司や責任者に相談しつつ冷静に対処しましょう。

身近な事例

二年近く複数人から、業務に集中できないと指摘を受けてきました。

本人は、自分は障害があるとの理由で、改善に応じない。

意識レベルでもそぶりが見られない。

こうした厄介な困ったちゃんは、カード増やして、外堀からジワリ対応しましょう。

周りとコンセンサスを得ながら、にわからせる、

継続的にやってダメだったら、最終手段に出ましょう。

ポイントは、コンセンサスと一定期間ということです。

責任者・同僚とコンセンサスを得ながら、改善の機会を与えることです。

それには、数ヶ月以上かかります。

拙速で行うと、不当解雇などの問題となります。

じっくり落ち着いて対処しましょう。

にほんブログ村 ライフスタイルブログ 自由な暮らしへ
にほんブログ村

----- EXTENDED BODY: ----- EXCERPT: ----- KEYWORDS: ----- -------- AUTHOR: シュン TITLE: 親家族から出て行けと言われ、嫌がらせを受けた場合の対処方法 STATUS: Publish ALLOW COMMENTS: 1 CONVERT BREAKS: default ALLOW PINGS: 1 PRIMARY CATEGORY: 法律 CATEGORY: 法律 DATE: 05/28/2024 11:03:14 ----- BODY:

まずは、状況証拠を確保する

弁護士などの専門家に、相談する際に、スムーズにするために、現状の把握を行いましょう。

人間関係がどのような状況か、目に見えるものであれば、写真を撮っておきます。

また、日時とともにメモを残しておくことも必要です。

自分の(動産・不動産)の把握も必要です。

共有も含めて不動産の名義が自分になっていれば、登記簿謄本で名義を確認するとともに、各不動産の評価額も確認しておく必要があります。

法務局(支所)に行って、登記名義人を確認する

謄本を申請すれば、登記名義人と持ち分がわかります。

建物があるけど、登記されていないなどの状態がわかります。

登記の内容が、実情とかけ離れているかもわかります。

証明書を市役所の資産税課で請求、取得する

コンビニ交付では、住民票、戸籍謄本などに一般的な引っ越しなどに必要な証明書しか取り扱っていません。

多くの自治体では、評価額証明書はコンビニ交付していないようです。

市役所で申請して、証明書が手に入ったら、見方を紹介します。

土地・建物評価額÷0.7×1.1を計算します。

その金額が、時価相当額(実勢)とされます。

あくまでも、相当額です。

目安としては、土地÷0.7

築10年程度の建物は評価額そのままというのが、基本路線です。

あくまでも目安ということを忘れずに。

弁護士へ相談

上の書類を準備して、弁護士へ相談します。

法テラス経由だと、無料で相談できる可能性があります。

また、要件審査を満たせば、弁護士費用・裁判費用の「立て替え」も行ってくれます。

立て替えなので、あとで自分で支払う必要があります。

法テラスー民事法律扶助制度

知り合いの途中経過であるので、進展があり次第、記事更新をします。

にほんブログ村 ライフスタイルブログ 自由な暮らしへ
にほんブログ村 ----- EXTENDED BODY: ----- EXCERPT: ----- KEYWORDS: ----- -------- AUTHOR: シュン TITLE: PHPはすたれてしまったのか? STATUS: Publish ALLOW COMMENTS: 1 CONVERT BREAKS: default ALLOW PINGS: 1 PRIMARY CATEGORY: PHP CATEGORY: PHP DATE: 05/21/2024 11:56:16 ----- BODY:

保守改修のために、しばらくは、レガシー言語(Java、PHPなど)も必要でしょう。

GOやPythonがトレンドとなっていて、Javascriptも再評価されています。

連携(呼び出し)だけでなく、作成もやっています。

「Webを支える技術」は名著です。

インフラに関しては、「マスタリングTCP/IP」が有名です。

楽天ラピッドAPIとは?

RESTAPIをつかってプログラムを書きます。Pythonを使います。APIは基本的にどの言語でも使えますが、それぞれの言語の得意分野があります。開発の仕事でプログラムを書く場合、APIは非常によく使います。API、そして、APIで返されるJSONというデータ形式について、解説します。仕事の効率化だけでなく、個人趣味でも役に立ちます。自分は、YouTubeのAPIを使って、毎日12時間おきに自動で登録者数を集めて、データベースに保存しています。仕組化・自動化の一環です。アクセス数や登録者数を見るのが楽しみの一つです。現在APIはあらゆる場面で用いられて、例えば、毎日の天気や占いをAPIで提供しているサイトもあります。Flickrで画像データをAPIに乗せているものもあります。

「Web API」とは前項で述べたAPIの働きを「HTTP/HTTPS」といったWeb上で行うAPIのことです。

APIは、原則として同じプログラミング言語で組まれている必要があります。

しかしWebAPIはWeb上で機能するので、異なるプログラミング言語で組まれていても繋ぐことができます。

ブラウザでも利用できるなど、その汎用性の高さから活用されています。多くのWebAPIは無料で利用できる点も特徴といえるでしょう。ただし、有料のものや仕様変更に伴う修正リスクもあります。

RESTAPI

「RESTAPI(RESTfulAPI)」とはWeb上でプログラムやアプリケーション同士の通信を支援するインターフェイスです。

RESTAPIはシンプルで互換性が高いため、様々なデータの取り扱いやアプリケーションのやり取りに最適といえます。

現在ではWeb上のデータを取得する際に、もっとも広く使われるようになりました。

SOAP API

「SOAP API」とはマイクロソフト社が開発したアプリケーション同士の通信を支援するインターフェイスです。

2000年代までは主流だったのですが、ユーザーに対しサーバーとの対話について厳格なルールが定められていたり、扱うことが困難なXML形式に依存しているなどの欠点がありました。

これらの欠点を解消したのが2000年に提唱されたRESTAPIです。ですから現在ではWebAPIといえば、RESTAPIのことです。

PVアクセスランキング にほんブログ村 ----- EXTENDED BODY: ----- EXCERPT: ----- KEYWORDS: ----- -------- AUTHOR: シュン TITLE: プログラム言語ありきではなく、仕様書によってプログラム言語を決める STATUS: Publish ALLOW COMMENTS: 1 CONVERT BREAKS: default ALLOW PINGS: 1 PRIMARY CATEGORY: 未分類 CATEGORY: 未分類 DATE: 05/18/2024 13:10:51 ----- BODY:

「ウチは、言語は○○でやっているから。」と思考停止になっていませんか?

現状維持は、逓減的に成長しません。むしろ淘汰されていくだけです。

日本企業にありがちな、硬直化した、大企業病そのものです。生産性も低くなるわけです。

そもそも万能なプログラム言語は、存在しません。

メリット・デメリットがあります。処理速度の違いもあります。負荷耐性の強弱など様々です。

仕様書の内容に応じて、メリットのあるプログラム言語を決めるのです。

仕様書を作るにあたっては、想定力が重要です。

どんな可能性が出てくるか、どんなトラブル・障害が起こりうるかをふまえて作るのが当たり前なのです。加えて、ヒューマンエラーとなくすために、仕組化・自動化を提案しています。

にほんブログ村 IT技術ブログへ
にほんブログ村 ----- EXTENDED BODY: ----- EXCERPT: ----- KEYWORDS: ----- -------- AUTHOR: シュン TITLE: xml文書の定義と読み方【jsonとの比較も】 STATUS: Publish ALLOW COMMENTS: 1 CONVERT BREAKS: default ALLOW PINGS: 1 PRIMARY CATEGORY: 未分類 CATEGORY: 未分類 DATE: 05/17/2024 13:51:22 ----- BODY:

xmlとは、以下のような文書のことです。

<?xml version="1.0" encoding="UTF-8"?>
<bookstore>
    <book>
        <title lang="en">xml文書記載例</title>
        <author>syunnjack</author>
        <year>2024</year>
        <price>33.33</price>
    </book>
</bookstore>

タグを使う、入れ子構造にできるなどhtmlと似ていますが、全く違うものです。

csvに比べて様々な種類のデータを扱うことができます。

ajaxの普及とともに、xmlはスタンダードになっていきました。

クライアント側でも処理が容易です。

あとは、Googleスプレッドシートやマイクロソフトofficeを親和性が高い、「csv」があります。

jsonとは?

辞書型と呼ばれる、一対一対応の記述形式を持っています。

また、xmlよりもデータの記述量が少ないので、読み込みが速いと言われています。

この形式の特徴は、JavaScriptとの親和性にあります。
jsonはJavaScript のオブジェクトで構成されているため、JavaScriptで書いたコードを扱うことができます。

----- EXTENDED BODY: ----- EXCERPT: ----- KEYWORDS: ----- -------- AUTHOR: シュン TITLE: curlを使って、データを呼び出す方法【PHP】 STATUS: Publish ALLOW COMMENTS: 1 CONVERT BREAKS: default ALLOW PINGS: 1 PRIMARY CATEGORY: 未分類 CATEGORY: 未分類 DATE: 05/15/2024 10:31:11 ----- BODY:

file_get_contentsを使う方法とscurlを使う方法があります。

curlの基本的な流れ

  1. curl_init()ー初期化
  2. curl_setopt()ー設定
  3. curl_exec()ー実行
  4. curl_close()ー終了させる(クローズ)

また、1.で使うcurlハンドルは、2.3.4.で使用するためです。

GETの実例

名古屋市に本店を置く、「三洋堂書店」のデータを取得してみます。

<?php


$url = "https://www.books-sanseido.co.jp/";

$ch = curl_init();

$options = array(
	CURLOPT_URL => $url,
	CURLOPT_RETURNTRANSFER => true
);

curl_setopt_array($ch, $options);

$response = curl_exec($ch);

echo $response;

curl_close($ch);

?>

実行すると三洋堂書店公式のトップページが表示されます。

POSTの実例

JSON形式のデータを使用しPOSTでHTTPリクエストを行うサンプルです。

同じく三洋堂書店のデータを取得します。

<?php


$url = "https://sanyodo.co.jp/";

$post_fields= array(
	"tilte" => "example"
);

$headers = array(
	"Authorization: Bearer access_token",
	"Content-type: application/json"
);

$ch = curl_init();

$options = array(
	CURLOPT_URL => $url,
	CURLOPT_RETURNTRANSFER => true,
	CURLOPT_HTTPHEADER => $headers,
	CURLOPT_POST => true,
	CURLOPT_POSTFIELDS => json_encode($post_fields)
);

curl_setopt_array($ch, $options);

$response = curl_exec($ch);

curl_close($ch);


?>

zipcloudでの実例

今回は、郵便番号検索で有名なzipcloudで郵便番号に紐づくデータを呼び出します。

<?php

$zipcode = "476-0011";
$url = "https://zipcloud.ibsnet.co.jp/api/search?zipcode=".$zipcode;

$ch = curl_init();

$options= array(
	CURLOPT_URL => $url,
	CURLOPT_RETURNTRANSFER => true
);
curl_setopt_array($ch, $options);

$response = curl_exec($ch);

echo "<pre>";
print_r($response);
echo "</pre>";

curl_close($ch);


?>

実行結果は以下になります。

{
	"message": null,
	"results": [
		{
			"address1": "愛知県",
			"address2": "東海市",
			"address3": "富木島町",
			"kana1": "アイチケン",
			"kana2": "トウカイシ",
			"kana3": "フキシママチ",
			"prefcode": "23",
			"zipcode": "4760011"
		}
	],
	"status": 200
}

ステイタス200なので正常にデータを取得できました。

curlとfile_get_contentsとの違い

curlはfileget_contentsに比べて、ヘッダやタイムアウト制御などの設定が簡単なのが利点です。

来るべき案件に対して、両方ともできるようにしておきましょう。

にほんブログ村 IT技術ブログへ
にほんブログ村 ----- EXTENDED BODY: ----- EXCERPT: ----- KEYWORDS: ----- -------- AUTHOR: シュン TITLE: レガシーだけどPerl・CGIで知っておきたいこと STATUS: Publish ALLOW COMMENTS: 1 CONVERT BREAKS: default ALLOW PINGS: 1 PRIMARY CATEGORY: 未分類 CATEGORY: 未分類 DATE: 05/14/2024 10:11:22 ----- BODY:

Perlとは?

Javaとともに、レガシーな言語ですが(できてから30年超と言われる)、C言語やシェルスクリプトのいいところを取り入れて作られました。

メリット

文法が簡易で、Cのようにポインタの概念がないので、身に着けやすいと言えます。ひいては、Web上、書籍も多くて、学習コストが少ないです。

コンパイルの必要がないので、実行結果を確認しやすく、開発効率が上がります。

デメリット

AI開発などの言語としては採用されていない。

元々、オブジェクト指向は採用されていませんでしたが、その後、一部、オブジェクト指向を取り入れているものの、オブジェクト指向で書きにくいです。

処理速度が遅いので、シビアになる家電製品などには採用されていません。

将来的な需要は少ないですが、、Javaと同じように保守運用の案件は存在し続けるでしょう。

CGIとは?

端的に言えば(Web)サーバー上でプログラムを動して、ブラウザで動的なコンテンツを表示させる仕組みです。

PHP、Ruby、Goなど今のサーバーサイド言語のもとになっている仕組みともいえるでしょう。

にほんブログ村 IT技術ブログへ
にほんブログ村

CGIとSSIとの違い

どちらも、動的な処理をするが、CGIはWebサーバー外部のプログラム呼び出すのに対して、SSIはWebサーバー自身がHTML内に記述された命令を実行する点で異なっています。

----- EXTENDED BODY: ----- EXCERPT: ----- KEYWORDS: ----- -------- AUTHOR: シュン TITLE: PHPでWebAPIを呼び出す基礎知識ーその2 STATUS: Publish ALLOW COMMENTS: 1 CONVERT BREAKS: default ALLOW PINGS: 1 PRIMARY CATEGORY: 未分類 CATEGORY: 未分類 DATE: 05/10/2024 12:40:07 ----- BODY:

その1で流れを理解した次は、本やWeb上に転がっている、サンプルコードを自分で変えて、自分の希望に近づけることです。これができれば、自分の作りたいアプリができるようになります。今回は、いくつか事例を出して、サンプルコードの解説をします。

楽天トラベルAPIで呼び出し表示してみる。

楽天APIで、楽天市場の商品を呼び出し、表示ができました。

今度は、楽天トラベルを使って、特定住所で宿・ホテルを安い順に並べて表示させるコードを書いていきます。

テストコードを参考にしてみる

楽天ウェブサービスの、ホーム > ツール > APIテストフォームで、getかpostで、テスト送信ができます。

リクエストURL、パラメータの記載例が表示されるので、とても参考になります。

APIを利用することで、外部サービスの機能やデータにアクセスしたり、自身のアプリケーションの機能やデータを外部から利用可能にすることができます1

以下は、PHPを使用したAPI連携の基本的な流れです。

  1. APIキーの取得: 外部サービスのAPIを利用するためには、通常APIキーが必要です。外部サービスの開発者向けページなどからAPIキーを取得します。
  2. HTTPリクエストの送信: PHPの curl 関数や file_get_contents 関数などを使用して外部APIに対してHTTPリクエストを送信します。
  3. レスポンスの処理: 外部APIからのレスポンスを受け取り、必要な情報を抽出して処理します。
  4. データの利用: 取得したデータを自身のアプリケーションで利用します。

以下は、外部APIからデータを取得するためのPHPのサンプルコードです。

PHPコード

<?php
// APIキー
$api_key = 'YOUR_API_KEY';

// APIエンドポイント
$api_endpoint = 'https://api.example.com/data';

// HTTPリクエストを送信
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $api_endpoint);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    'Authorization: Bearer ' . $api_key,
    'Content-Type: application/json'
]);
$response = curl_exec($ch);
curl_close($ch);

// レスポンスの処理
$data = json_decode($response, true);
if ($data) {
    // データの利用
    foreach ($data as $item) {
        echo $item['name'] . ': ' . $item['value'] . PHP_EOL;
    }
} else {
    echo 'データの取得に失敗しました。';
}
?>

このサンプルコードでは、外部APIからJSON形式のデータを取得し、取得したデータを処理しています。API連携は、異なるシステム間でデータのやり取りや機能の共有を行うための重要な手法です。PHPを使用して外部APIと連携する際には、APIキーの取得からHTTPリクエストの送信、レスポンスの処理、データの利用までの流れを理解し、適切に実装する

今度は、YahooAPIを使って、移住支援対象求人の情報を呼び出す

YahooAPIを使うには、Yahooのアカウントはもちろんのこと、クライアントIDとAPIキーが必要です。

そして、リクエストURLに、フィールド値「subsidyImmigration(対象なのでさらに「=1」)追加」を追加します。➡①

<?php
$url = file_get_contents('https://job.yahooapis.jp/v1/furusato/jobinfo/?appid=dj00aiZpPW9BNkFOWWZrRlRvOSZzPWNvbnN1bWVyc2VjcmV0Jng9ZmI-&subsidyImmigration=1');//①
$response = json_decode($url, true);
//$title = $response['results'][0]['title'];
//print $title;

$data_length = $response['count'];

print "<ul>";
for ($i=0; $i<$data_length; $i++){
    //print $i;
    $title = $response['results'][$i]['title'];
    $kyuujin_url = $response['results'][$i]['receptionUrl'];
    print "<li>";
    print "<a href=".$kyuujin_url.">".$title."</a>";
    print "</li>";
}
print "</ul>";
?>

上のコードを実行すると、リスト形式で10件の移住支援金対象求人のテキストリンクが表示されます。あとは、ご自分でサムネイルやCSSを改変すれば、完成です。

あと、もう一つほかのAPIを使ってみましょう。

----- EXTENDED BODY: ----- EXCERPT: ----- KEYWORDS: ----- -------- AUTHOR: シュン TITLE: PHPでWebAPIを呼び出す基礎知識ーその3【総まとめ】【サンプルコード集】 STATUS: Publish ALLOW COMMENTS: 1 CONVERT BREAKS: default ALLOW PINGS: 1 PRIMARY CATEGORY: 未分類 CATEGORY: 未分類 DATE: 05/09/2024 12:51:19 ----- BODY:

PHPファイルの理解

PHPファイルだけでも、ブラウザ表示はできるので、まずは、PHPファイルの流れ・構造を習得していきましょう。

HTMLファイルの理解

表示の体裁は、後からでもいいです。もちろんHTML、CSS、Javascriptなど、フロントエンドの知識は必要です。特に、表形式の表示が見やすくて、実際多いので、ulタグに代表されるテーブルタグが特に大事です。

サンプルコードを写経して、理解をして、不明点をググる

勉強方法の一つとしての写経をして、疑問を解決できるように自走力をつけましょう。

サンプルコードを理解して、自分のやりたいことに近づける

本やweb上に転がっているサンプルコードを理解して、○○するにはどこを変えればいいのかを考えるとスキルが上がります。

PHPコードの引き出しを増やす。

curlまたは、file_get_contentsを使うか、xml文書または、json文書を使うか、RestAPI、soapを使うかなど、選択に応じて、引き出しを増やしてコーディングできれば、マスターに近づきます。

Javascript、ajaxを覚えて、マッシュアップマスターへ

さらに、Javascript、ajaxを覚えれば、APIを仕事として受けることができます。

次の段階では、連携からの作成へと手を伸ばすと、できる仕事の幅が広がります。

また、マッシュアップサイトも作ることができます。

普段の開発プラスAPI開発もできるとなると、口コミで引き合いが増えること請け合いです。

PHPだけでなくPythonやGoなどほかのサーバサイド言語を使ってもAPIが使いこなせれば言うことなしです。

にほんブログ村 IT技術ブログへ
にほんブログ村

お役立ちサンプルコード集

API連携を習得する一助となるべく自分が勉強になったサンプルコードを引用します。

ットペッパーAPIを使用してお店を検索するサンプル

/** リクルートWEBサービスのAPIキー */
const RECRUIT_API_KEY '[APIキー]'
/** グルメサーチAPI名 */
const HOT_PEPPER_01_GOURMET = '01.gourmet';
$gourmet_api = new HotPepperAPI(RECRUIT_API_KEY, HOT_PEPPER_01_GOURMET);
$params = [
    'count' => PER_PAGE_COUNT,
    'type' => 'lite',
    'format' => 'json',
];
if (isset($req) && $req['large_area']) {
  $params['large_area'] = $req['large_area'];
}
if (isset($req) && $req['middle_area']) {
  $params['middle_area'] = $req['middle_area'];
}
if (isset($req) && $req['genre']) {
  $params['genre'] = $req['genre'];
}
if (isset($req) && $req['budget']) {
  $params['budget'] = $req['budget'];
}
if (isset($req) && $req['order']) {
  $params['order'] = $req['order'];
}
if (isset($req) && $req['page'] && is_numeric($req['page'])) {
  $params['start'] = 1 + ((intval($req['page']) - 1) * PER_PAGE_COUNT);
}
$gourmet_data = $gourmet_api->getData($params, false, false);
if ($gourmet_data->result) {
  $gourmet_html = createGourmetHtml($gourmet_data->result);
}

実行例

API接続の基本を確認する【外部サーバ通信】

記事

楽天トラベル施設検索APIを利用する

記事

APIを使い郵便番号から住所が検索できるWebサービスをPHPで作成する

記事

----- EXTENDED BODY: ----- EXCERPT: ----- KEYWORDS: ----- -------- AUTHOR: シュン TITLE: PHPでWebAPIを呼び出す基礎知識 STATUS: Publish ALLOW COMMENTS: 1 CONVERT BREAKS: default ALLOW PINGS: 1 PRIMARY CATEGORY: 未分類 CATEGORY: 未分類 DATE: 05/08/2024 09:43:43 ----- BODY:

利用するAPIを選定する

現在、有料か無料か、法人対象か個人対象か、商用利用の可否など条件がありますが、様々なWebAPIが存在します。利用規約を確認しましょう。

YouTube、Qiita、OpenWeatherMap、Rakuten、Amazon、Yahoo(finance)、NHK番組API、GoogleBooksAPI、駅すぱあと、NAVITIME、coincheck、はてな、Hot Pepperなど

サンプルコードの具体例

ここでは、楽天ウェブサービスを使って、簡単な呼び出しをしてみます。

以下が、APIを呼び出して、ブラウザに表示させるPHPコードです。

日向坂の写真集の1ページに載っている商品を表示させるものです。

<!doctype html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>楽天APIサンプルコード</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<div class="main">

<?php

//自分で取得したIDを入力
$applicationId = '1013845562336343236';
$affiliateId = '13078974.c074128c.13078975.03b0a557';

$keyword = '日向坂 写真集';

$url = 'https://app.rakuten.co.jp/services/api/IchibaItem/Search/20170706?';//①
$url.= 'applicationId='.$applicationId;//②
$url.= '&affiliateId='.$affiliateId;//③
$url.= '&keyword='.rawurlencode($keyword);//④
$url.= '&page=1';//⑤
$url.= '&format=xml';//⑥

//echo $url;

$data = file_get_contents($url);//⑦
$obj = simplexml_load_string($data);//⑧

echo '<ul>';//⑨

foreach($obj->Items->Item as $item){//⑩
	
	echo '<li>';
	echo '<a href="'.$item->itemUrl.'"><img src="'.$item->mediumImageUrls->imageUrl[0].'"></a>';
	echo '<a href="'.$item->itemUrl.'">'.$item->itemName.'</a>';
	echo '</li>';
	
}

echo '</ul>';

?>

</div>
</body>
</html>

API呼び出し、表示のscriptはbody部分に書きます。

例外もありますが、head部分に書いてしまうと、scriptが動く前に、画面表示されることがあるためです。

①にリクエストURLを書いて、続けて、パラメータを書いていきます。②アプリケーションID、③アフィリエイトID、④キーワードのエンコード、⑤1ページ、⑥xml文書とパラメータを指定しています。

楽天ウェブサービスの楽天市場、楽天トラベルなどの各API詳細に書いてあります。

contents関数を使って、APIから情報を呼び出します。⑦

string型で情報を呼び出します。⑧

ulタグで表示形式を整えます。⑨

foreach文で連想配列をタグ内に入れ込みます。⑩

すべては先人たちが教えてくれた - にほんブログ村

これが基本的な流れです。

あとは、ご自身で、表示されるフォーマット、配置をカスタマイズしてください。

四つの呼び出し機能

呼び出し方ーその1ー一覧取得

<?php
// APIアクセスURL
$url = 'https://umayadia-apisample.azurewebsites.net/api/persons';

// ストリームコンテキストのオプションを作成
$options = array(
    // HTTPコンテキストオプションをセット
    'http' => array(
        'method'=> 'GET',
        'header'=> 'Content-type: application/json; charset=UTF-8' //JSON形式で表示
    )
);

// ストリームコンテキストの作成
$context = stream_context_create($options);

$raw_data = file_get_contents($url, false,$context);

// debug
//var_dump($raw_data);

// json の内容を連想配列として $data に格納する
$data = json_decode($raw_data,true);
?>
<table>
    <tr>
        <th>name</th>
        <th>note</th>
    </tr>
    <?php foreach($data as $key => $value){ // 連想配列を取り出す ?>
        <?php if(is_array($value)){ // 値が配列のみループで回して表示 ?>
            <?php foreach($value as $column){ ?>
            <tr>
                <td><?php echo $column['name']; ?></td>
                <td><?php echo $column['note']; ?></td>
            </tr>
           <?php } ?>
        <?php } ?>
    <?php } ?>
</table>
?>

呼び出し方ーその2ー指定するレコードを取得

<?php
// APIログインURL
// '織田信長' → URLエンコード
$url = 'https://umayadia-apisample.azurewebsites.net/api/persons/%E7%B9%94%E7%94%B0%E4%BF%A1%E9%95%B7';

// ストリームコンテキストのオプションを作成
$options = array(
    // HTTPコンテキストオプションをセット
    'http' => array(
        'method'=> 'GET',
        'header'=> 'Content-type: application/json; charset=UTF-8' //JSON形式で表示
    )
);

// ストリームコンテキストの作成
$context = stream_context_create($options);

$raw_data = file_get_contents($url, false,$context);

// debug
// var_dump($raw_data);

// json の内容を連想配列として $data に格納する
$data = json_decode($raw_data,true);
?>
<table>
    <tr>
        <th>name</th>
        <th>note</th>
    </tr>
    <?php foreach($data as $key => $value){ // 連想配列を取り出す ?>
        <?php if(is_array($value)){ // 値が配列のみ表示 ?>
            <tr>
                <td><?php echo $value['name']; ?></td>
                <td><?php echo $value['note']; ?></td>
            </tr>
        <?php } ?>
    <?php } ?>
</table>

呼び出し方ーその3ー新規登録

// APIログインURL
$url = 'https://umayadia-apisample.azurewebsites.net/api/persons';

// ストリームコンテキストのオプションを作成
$options = array(
    // HTTPコンテキストオプションをセット
    'http' => array(
        'method'=> 'POST',
        'header'=> 'Content-type: application/json; charset=UTF-8', //JSON形式で表示
        'content' => '{"name":"坂本龍馬","note":"日本の幕末の政治家","age":31,"registerDate":"1867-10-07"}'
    )
);

// ストリームコンテキストの作成
$context = stream_context_create($options);

// POST送信
$contents = file_get_contents($url, false,$context);

// reception.php のレスポンスを表示
echo $contents;

呼び出し方ーその4ー削除

// APIログインURL
// '坂本龍馬' → URLエンコード
$url = 'https://umayadia-apisample.azurewebsites.net/api/persons/%E5%9D%82%E6%9C%AC%E9%BE%8D%E9%A6%AC';

// ストリームコンテキストのオプションを作成
$options = array(
    // HTTPコンテキストオプションをセット
    'http' => array(
        'method'=> 'DELETE',
        'header'=> 'Content-type: application/json; charset=UTF-8', //JSON形式で表示
    )
);

// ストリームコンテキストの作成
$context = stream_context_create($options);

// DELETE送信
$contents = file_get_contents($url, false,$context);

// reception.php のレスポンスを表示
echo $contents;

API仕様書を見てみる

公開APIから、どの文書形式で、どの方式で呼び出すにしても、基本的な流れは変わりません。

HTTPリクエスト

HTTPレスポンス

GETとは?

データの取得に使います。WebAPIのデータ連携には、主にこちらを使います。

POSTとは?

データを更新するときにつかます。

----- EXTENDED BODY: ----- EXCERPT: ----- KEYWORDS: ----- -------- AUTHOR: シュン TITLE: お金がピンチの時や待ち時間に使える駅改札内の飲食店リスト【コンビニ・kiosk以外】 STATUS: Publish ALLOW COMMENTS: 1 CONVERT BREAKS: default ALLOW PINGS: 1 PRIMARY CATEGORY: 未分類 CATEGORY: 未分類 DATE: 05/06/2024 13:39:19 ----- BODY:

JRに関していうと、昼間は、各駅停車の普通も言うに及ばず、快速・新快速でも座ることができます。最前車両と最後車両がねらい目です。自分は、各駅停車でのんびりと本やドラクエウォークをやりながら過ごすのが至福の時です。ビールがあればなおよいですね。

JR名古屋駅

有名すぎるのは、「きしめん 住よし」(新幹線ホームに4店舗、在来線ホームに5店舗)と「名代きしめん」のきしめんです。テレビ、YouTubeでも度々紹介されています。

在来線(東海道線、中央線、関西線)ホーム

3番4番ホームにはおなじみ「住よし」があります。7時から20時30分までの営業です。ビールはないけど、日本酒があります。ここで調理された揚げ物は新幹線ホーム番の「住よし」で提供されます。

ほかにも住よしは、1番2番ホーム(7時から21時30分)

5番6番ホーム(7時から21時30分)

7番8番ホーム(7時から21時30分)

10番11番ホーム(7時から20時30分)にあります。

とこれだけ、お店があり、立ち食いそば屋のメッカとなっています。地元民だけでなく出張等で訪れた他県民からも根強いファンがいます。電車に乗る予定のない方は、入場券(初乗り運賃と同じ160円)を買えばホームに立ち寄り「名古屋のきしめん」を食べることができます。

5番6番ホームには、「麺亭 憩(いこい)」もあります。この記事を書くまで知りませんでした。営業時間は7時から21時20分です。運営会社は、「住よし」と同じ、ジャパン・トラベル・サーヴィスです。

名代きしめんは、東海キヨスク株式会社から委託を受けて営業しています。1番2番ホームにお店があり、営業時間は7時から21時30分です。

在来線限定で「ワンコインきしめん」があります。
500円でエビフライと温泉たまごときしめんorそばが食べられます。

日本酒・焼酎があり、モーニングサービスがあります。

新幹線ホーム

新幹線上り14番15番ホームには、「グルめん」があり、きしめんが360円からとなっています。7時から21時までの営業です。

新幹線上り1415番ホームには、名代きしめんとともに有名な「住よし」があり、ベースのきしめんなら食券を渡して1分ぐらいで提供されます。(グルめんも提供は普通に早いですよ。)揚げ物は在来線の住よしから運んできます。

「住よし」は、同じホームに4号車14号車付近の2か所あります。

新幹線下り16番17番ホームにも「住よし」があります。4号車と14号車付近の2か所あります。

名鉄(名古屋鉄道)金山駅

ファミリーマートがあるだけ

名鉄神宮前駅

「麺坊かどや」16時から18時までは、ビールが半額です。

JR千種駅

前述の「住よし」があります。

また、同じがジャパン・トラベルサーヴィスが運営している店として、「爽亭」があります。JR池袋駅、上野駅、三島駅、熱海駅などにもあります。

JR豊橋駅

壺屋

豊橋のうどんと言えば、カレーうどんですが、元々は「玉川うどん」「勢川うどん」が老舗でした。知人に聞くと、カレーうどんは本当に最近だよと言ってました。

駅改札内なら、「壺屋」で、うどんだけでなく、そば、きしめん、ラーメンを食べることができます(400円から)。お酒もあります。生ビール430円。ほろ酔いセット600円。

豊川駅、蒲郡駅の改札外に系列店があります。

PRONTO

駅周辺に店舗展開している飲食店グループです。全国的にも改札内にあるのは、豊橋駅前だけだそうです。カフェとキッサカバがあります。せんべろセットとローストビーフを注文しました。少し高めですが、店内の雰囲気もよく女性客も多くいました。喫煙室があり、窓側のカウンター席にはコンセントも設置されているのでスマホの充電ができます。自分もヘビーユーザーです。昼間はカフェとして、夕方以降はキッサカバとして、お酒が飲めるようになります。

JR浜松駅

自笑亭

お酒は扱ってないです。

系列店が掛川駅にもあります。

JR静岡駅

珈琲館静岡パルシェ店ー改札内にある喫茶店です。改札の外にも出られるのが便利です。

富士見そばー朝7時30分から昼13時30分までなところが残念です。お酒の提供もありません。

静岡駅周辺は、チェーン店もそうですが、昔ながらの個人店が頑張っている印象があります。一度立ち寄ってみましょう。静岡おでん、清水港で水揚げされたまぐろ丼、富士宮焼きそば、生しらす、桜えびなど数多くあります。

近鉄四日市駅

改札外ですが、「四日市庵」という立ち食いそば屋があります。テーブルもあり、三重県だけに「伊勢うどん」もあります。同じく改札外のカフェの隣にワインバルがあります。

にほんブログ村 IT技術ブログへ
にほんブログ村

JR岐阜駅

改札内には、kioskしかありません。改札を出たら、ASTY(アスティ)など飲食店が数多くあります。

JR米原駅

米原駅と言えば、駅弁の井筒屋です。うどんやそばありますが、ここでは、駅弁一択でしょう。

近江牛のステーキ弁当、元祖鱒寿し、いなり寿司、松茸めし、鶏めし、10種類程度あります。自分はここでしか食べられない「湖北のおはなし」を大体食べています。

----- EXTENDED BODY: ----- EXCERPT: ----- KEYWORDS: ----- -------- AUTHOR: シュン TITLE: 今後のスキル構築計画 STATUS: Publish ALLOW COMMENTS: 1 CONVERT BREAKS: default ALLOW PINGS: 1 PRIMARY CATEGORY: 未分類 CATEGORY: 未分類 DATE: 05/02/2024 13:41:39 ----- BODY:

Go言語でのアプリ開発とAPI連携

今は、主に、JavascriptとPHPでアプリとAPIの開発をしていますが、夏までには、Goに移行します。

なぜなら、トレンドはGoなのが明確だからです。

スタンダードになってきた、CI/CD(継続的インテグレーション、継続的デリバリーの略)も、押さえておきたいです。オンプレミス型のJenkinsとクラウド型のCircleCIぐらいはやっておきたいです。

Gitとコンテナ(Dockerとk8s)。

AWSとマイクロサービスの習熟を進める

モダンな自社開発企業においては、シェア9割を誇るAWSサービス。

Amazon、メルカリ、Netflixなど、今の時流企業は総じてマイクロサービスを採用しています。

開発の案件が入り始めた

ポイントカードアプリの導入、アンケートフォームの設置、個人事業主からのWeb制作など依頼が入り始めました。今は口コミですが、Webマーケティング、Web集客にも手を伸ばします。

あとは、便利ツールの研究・開発そして販売

販売されているツール・ソフトを購入して、中身・構造・ニーズを調べて、スキルを上げつつ、

個人開発・販売できるレベルまでにします。

PVアクセスランキング にほんブログ村

----- EXTENDED BODY: ----- EXCERPT: ----- KEYWORDS: ----- -------- AUTHOR: シュン TITLE: Javascriptの基本文法と機能 STATUS: Publish ALLOW COMMENTS: 1 CONVERT BREAKS: default ALLOW PINGS: 1 PRIMARY CATEGORY: 未分類 CATEGORY: 未分類 DATE: 05/01/2024 13:39:29 ----- BODY:

配列

ジャグ配列

聞きなれないと思いますが、多次元配列で、行よって要素数が異なることです。

連想配列

連想配列とは、辞書のようにデータを格納できる配列のことです。添え字の代わりに文字でデータを管理します。添え字の代わりになる文字をキー、キーに紐づくデータをバリューと言います。

要素の追加と削除

push、unshift、スプレッド演算子で要素を追加して、pop、shiftで削除します。

セレクタとプロパティ

CSSやってる方なら、セレクタは聞いたことがあるでしょう。

スタイルを適用する対象の要素のことです。

プロパティはセレクタに対する操作、そして、プロパティ値の三つでCSSは構成されています。

セレクタ {プロパティ : 値 ; }

また、セレクタには種類があります。

タイプセレクタ➡要素名をセレクタとするもの

クラスセレクタ➡class属性が指定されている要素をセレクタとするもの

IDセレクタ➡id属性が指定されている要素をセレクタとするもの

ユニバーサルセレクタ➡HTML内のすべての要素をセレクタとするもの

疑似クラス➡要素が特定の状態である場合にスタイルを適用するもの

無名関数

関数名がないということで、無名関数と呼びます。

呼び出すときには、関数名がないので、以下の二つの方法で行います。

var 変数名 = function (引数1, 引数2, ・・・) {
関数で行う処理を記述
return 戻り値;
}
変数名 = 無名関数で宣言した変数名 (引数1, 引数2, ・・・);

プロトタイプとは?

通常、オブジェクト指向のプログラミング言語では、クラスを定義してからオブジェクトを生成します。Javascriptでは、あらかじめクラスを定義してなくても、プロトタイプと呼ばれるオブジェクトを使うことができます。この場合、オブジェクトの元となるのは関数です。new演算子を使って関数をもとに生成したオブジェクトを関数オブジェクトと言います。この場合、元関数がコンストラクタになります。同じコンストラクタから生成されたオブジェクトは、プロトタイプオブジェクトを共有します。

したがって、プロトタイプオブジェクトに、プロパティやメソッドを定義することで、オブジェクトごとにプロパティやメソッドを定義する必要がなくなります。

DOMとノード

DOMとは、「Document Object Model」の略称です。

HTML文書やXML文書をプログラムからどのように扱うかを規定したAPIのことです。

APIは、JavascriptなどプログラムからHTMLやXMLにアクセスするための決まりを定義したものでした。

DOMは、文書をツリー構造で扱います。

ノード検索

ノード(ドキュメント)の検索には、idで検索するgetElementByIdメソッド、名前で検索するgetElementByNameメソッドがあります。

innerHTMLプロパティを使って、ノードの内容を参照、変更できます。

DOMツリー上にノードを追加するにはcreateMlementメソッドでノードを作成して、appendChildメソッドで追加します。

ノードの削除は、removeChildメソッドを使います。

画面を操作するイベントハンドラ

onclickは、クリックイベントを検知します。

onchangeは、変更されたイベントを検知します。

onfocus、onblurは、フォーカスのオンオフイベントを検知します。

onmousedown、onmouseupは、マウスが押される、離されるイベントを検知します。

onkeyupは、キーが離されるイベントを検知します。

にほんブログ村 IT技術ブログへ
にほんブログ村

jQueryの基本の流れ

ライブラリファイルの読み込みの後(下)に、スクリプトを書いていきます。

<html>
<head>サンプル</haed>
<body>
<div id="target">ここで変更します</div>
<script type="text/javascript"
src="https://code.jquery.com/jquery-3.2.1.min.js"></script>
<script>
$("#target").html("変更しました!")
</script>
</body>
</html>

$に続く"#target"は、jQueryの特徴で、CSSセレクタによるオブジェクトの記法です。

----- EXTENDED BODY: ----- EXCERPT: ----- KEYWORDS: ----- -------- AUTHOR: シュン TITLE: サンプル集・レシピ集で個人開発のヒントをもらう【PHP】 STATUS: Publish ALLOW COMMENTS: 1 CONVERT BREAKS: default ALLOW PINGS: 1 PRIMARY CATEGORY: 未分類 CATEGORY: 未分類 DATE: 05/01/2024 11:59:45 ----- BODY:

サンプル集・レシピ集を手に取り、開発のヒントになるものを探しました。

MVCモデルを軸に、基本的な機能であるCRUDを搭載するのが最低限やることです。

MVCモデルはシステム処理の中心となる「Model」、画面表示や入出力を行う「View」、ユーザからの入力情報を受け取って、その内容に応じて Model と View を制御する「Controller」のことです。

とは、データを「作成」、「呼び出し」、「更新」、「削除」という基本機能のことです。

参考になった事例を見ていきましょう。

Googleの各サービスを利用する

Google APIs Client Library for PHPを使います。(for Javascriptもあります。)

2018年6月からGoogleMapsPlatformを使うには、Googleアカウントを持つとともに、APIキーの取得が必須となりました。以前は、地図は共有タグを埋め込めば、表示されて利用できていました。また、キーの利用には、料金が発生しますが、月間200ドルまでは無料です。ご自分のウェブサイトに地図を埋め込む程度なら、請求は発生しません。

Googleブックスから書籍の情報を取得する

Google APIs Client Library for PHPから、Books APIを利用します。書籍情報検索など、詳細な情報を検索できます

ISBNコードから書籍情報を取得して、自サイトで書籍の紹介もできます。

Googleの各種APIやYouTubeAPIを利用する

ZendGdataは、Googleが提供するサービスのAPIにアクセスできるライブラリです。

ソーシャルメディア(SNS)のOAuth認証を利用する

HybirdAuthは、X(旧Twitter)やFacebookなど、30種類超のSNSのOAuth認証を行うライブラリです。引数の指定だけでOAuth認証ができます。

Amazonの商品データベースにアクセスする

サービスAmazonは、Amazonが提供している商品リンクを作成するライブラリです。Amazon Product Advertising APIをPHPを使って利用することができます。

商品検索ファイル↓

require_once 'Services/Amazon.php';
$config = array(
'key' => 'AWS_ACCESS_KEY',
'secret' => 'AWS_SECRET_KEY',
'track_id => 'ASSOCIATES_TRACK_ID'
);
$amazon = new Services_Amazon($config['key'], $config['secret'], $config['track_id']);
$amazon->setLocale('JP');

$options = array(
'MinimumPrice' => '1500',
'MaximumPrice' => '3000',
'keywords' => '母の日';
'Sort' => 'salesrank',
'ResponseGroup' => 'ItemIds, ItemAttributes, Images'
);
$result = $amazon->ItemSearch('Present', $options);

if(!PEAR::isError($result)){
print sprintf('<h4>%s 件見つかりました</h4>', $result['TotalResults']);
$max = min($result['TotalResults'], 3);
for($i=0; $i<$max; $i++){
print "<div>";
$item = $result['Item'][$i];
$attrs = $item['ItemAttributes'];
$id = $item['ASIN'];
print sprintf('<h3>(%s) : %s</h3>', htmlspecialchars($attrs['Binding']),
htmlspecialchars($attrs['Title']));
print sprintf('<a href="lookup.php?id=%s"><img src="%s"></a>, $id,
$item['MediumImage']['URL'];
print sprintf('<p>%s</p>', join("<br />", $attrs['Feature']));
print sprintf('<p>%s</a>', $attrs['ListPrice']['FormattedPrice']);
print '<div>';
}
} 

商品IDでの情報取得

require_once 'Services/Amazon.php';
$amazon = new Servises_Amazon($config['key'], $config['secret'], $config['track_id']);
$amazon->setLocale('JP');

$options = array('ResponseGroup' => 'ItemAttributes,Images');
$id = isset($_GET['id']? $_GET['id'] : '4774156117';
$result = $amazon->ItemLookup($id, $options);

if(!PEAR::isError($result)){
$item = $result['Item'][0];
print sprintf('<h4>%s</h4>', htmlspecialchars($item['Item['ItemAttribures']['Title']));
print sprintf('<a href="%s">詳細へ</a><br />', $item['DetailPageURL']);
print sprintf('<img src="%s" style="float: left">7, $item['MediumImage']['URL']);
print '<div style="float:left; padding-left: 1em">';
foreach($item['ItemLinks'] as $links){
foreach($links as $link){
print sprintf('<a href="%s">%s</a><br />', $link['URL'], $link['Description']);
}
}
print "</div>";
}

かんたんにWebAPIにアクセスする

Guzzleは、HTTPクライアントを実現するアプリです。

webサイトだけではなく、X(旧Twitter)APIなど認証を必要とするサイトにもアクセスすることができます。

Webスクレイピングを行う

Goutteは、気軽にWebスクレイピングができるライブラリです。

スクレイピングは今、Pythonでやるのがはやっていますが、PHPで実行します。

MVCフレームワークを使って、アプリケーションを作成する

インストールは、composerを使うのが一般的です。

そして、アプリケーションのひな型を作ります。

フレームワークの概要

CakePHPはディレクトリに合わせてそれぞれのプログラムを配置するだけで機能します。

コントローラとは、URLでアクセスしたときに起動するプログラムです。

よって、アクセスしたいURLに合わせてコントローラクラスを配置するだけで、動作します。

コントローラの実装

下は、コントローラを実装したコードです。

最初に、AppControllerクラスを継承します。そして、使用するモデルを宣言します。アクションはpublicメソッドそして定義すると、自動的にアクションとして認識されます。したがって、アクションとしたくないメソッドはpublicメソッド以外で定義する必要があります。

class InfoController extends AppController{
pablic $uses = array('Info');
public function index(){
$list = $this->Info->find('all');
$this->set('list, $list)+
$this->render('add');
}
public function add(){
if(!$this->request->is('post')){
$this->render('add');
return;
}
$data = array(
'Info' => array(
'title' => $this->request->data('title'),
'body' => $this->request->data('body')
)
);
$this->Info->save($data);
$this->Session->setFlash("追加しました");
$this->redirect('/info/index');
}
public function del($id){
$this->Info->delete($id){
$this->Session->setFlash("削除しました");
$this->redirect('/info/index');
}
}

表示するビューを指定する場合には、renderメソッドを使います。

新規追加のアクションは、画面遷移時のGETメソッドとPOSTメソッドで表示されます。

よって、requestオブジェクトのisメソッドを使って、HTTPのメソッド毎に処理を切り分けます。

この時、登録メッセージを遷移先に表示するには、SessionヘルパのsetFlashメソッドにメッセージを設定します。

にほんブログ村 IT技術ブログへ
にほんブログ村 ----- EXTENDED BODY: ----- EXCERPT: ----- KEYWORDS: ----- -------- AUTHOR: シュン TITLE: HTTPリクエスト、レスポンス【Webの仕組み】 STATUS: Draft ALLOW COMMENTS: 1 CONVERT BREAKS: default ALLOW PINGS: 1 PRIMARY CATEGORY: 未分類 CATEGORY: 未分類 DATE: 05/31/2024 10:57:03 ----- BODY:

業界に移りたての時に、CCNA、LIPCを取るために、学習していたことが役に立ちました。

振り返ってみると、ある程度の知識を得ておいてよかったと感じています。

「を支える技術」は名著として知られています。

インターフェースの統一

RESTで用いられるHTTPメソッドは下記のようにCRUD操作と対応付けられます。

処理HTTPメソッドCRUD操作
登録POSTCREATE
取得GETREAD
更新PUTUPDATE
削除DELETEDELETE

RESTではURIで表されたリソースに対して各HTTPメソッドで操作を行います。Google CalendarのAPIの例を見てみましょう。

登録 POST    /calendars/calendarId/events
取得 GET     /calendars/calendarId/events/eventId
更新 PUT     /calendars/calendarId/events/eventId
削除 DELETE  /calendars/calendarId/events/eventId

登録だけ/eventIdが無いのはGoogle Calendarでは/eventIdが自動採番されるためです。/eventIdが振られたイベント(一つのリソース)に対し異なるメソッドで取得、更新、削除などを行います。RESTではこのようにHTTPメソッドを利用するというインターフェースの統一が図られている為、サービスが利用しやすくなっています。

----- EXTENDED BODY: ----- EXCERPT: ----- KEYWORDS: ----- -------- AUTHOR: シュン TITLE: 固定残業制は「定額働かせ放題」 STATUS: Draft ALLOW COMMENTS: 1 CONVERT BREAKS: default ALLOW PINGS: 1 PRIMARY CATEGORY: 未分類 CATEGORY: 未分類 DATE: 05/30/2024 13:52:58 ----- BODY:

赤いきつねと緑の狸とはよく言ったもんだ

WEBアプリの現場はほぼVue.jsやReact.jsといったモダンフレームワークが主流だからです。 

----- EXTENDED BODY: ----- EXCERPT: ----- KEYWORDS: ----- -------- AUTHOR: シュン TITLE: 一口にAPIと言っても三種類ある STATUS: Draft ALLOW COMMENTS: 1 CONVERT BREAKS: default ALLOW PINGS: 1 PRIMARY CATEGORY: 未分類 CATEGORY: 未分類 DATE: 05/30/2024 09:43:44 ----- BODY:

WebAPI

Web APIはインターネット上でやりとりが行われるAPIのことです。

アプリ上で使用するプログラミング言語には関係なく(基本的にどのプログラミング言語でもは使えます)、インターネット上の情報のやりとりで用いられるHTTP/HTTPSという通信プロトコルを利用することで、データ接続を行います。

OSが提供しているAPI

特定のOSを呼び出すためのAPIとしてOSが提供しているAPIもあります。

例えばWindows APIは、mac OSなどの他のOSからもWindows上でプログラミングを行うために開発者へ向けて提供されています。

プログラム言語に内蔵されているAPI

ランタイムとはプログラミングを動かす環境のことです。

例えば、プログラミングの主要言語の1つであるJavaは開発を行う際に必要となる機能がAPIとしてあらかじめ提供されています。

そのため、Javaでの開発にはAPIの知識が必要不可欠となるのです。意外でしたか?

WebAPIとAJAXとjQueryの関係

はJavascriptのライブラリ

のなかの機能をいいます。

要するに、「jQueryのAJAXでAPIを呼び出す。」という言い方をします。スッキリしましたか?

AJAXとFetchAPIとの比較

----- EXTENDED BODY: ----- EXCERPT: ----- KEYWORDS: ----- -------- AUTHOR: シュン TITLE: 華の始球式【ノーバン】 STATUS: Draft ALLOW COMMENTS: 1 CONVERT BREAKS: default ALLOW PINGS: 1 PRIMARY CATEGORY: 未分類 CATEGORY: 未分類 DATE: 05/27/2024 12:38:11 ----- BODY:

開幕戦など、試合開始前に、行われる始球式。

女性タレント・女優さんが事前の練習を経て、

何と言っても、「神スイング」でおなじみの稲村亜美さん

久保史緒里

佐藤楓

菜々緒

(元女子野球選手)

----- EXTENDED BODY: ----- EXCERPT: ----- KEYWORDS: ----- -------- AUTHOR: シュン TITLE: FTPの使い方・トラブルシューティング【】 STATUS: Draft ALLOW COMMENTS: 1 CONVERT BREAKS: default ALLOW PINGS: 1 PRIMARY CATEGORY: 未分類 CATEGORY: 未分類 DATE: 05/27/2024 11:44:20 ----- BODY:

【ドメイン直下が見つからない】

そもそもがサーバーにアクセスできない

ホストネーム、パスワードなどは正しいのに、入ることができない。

そんな経験はありませんか?

Wordpress以外のサイトがアップロード・表示されない

いわゆるHTMLサイトがひょじされない。

----- EXTENDED BODY: ----- EXCERPT: ----- KEYWORDS: ----- -------- AUTHOR: シュン TITLE: 寝台列車、フェリーでのんびりするのも悪くない STATUS: Draft ALLOW COMMENTS: 1 CONVERT BREAKS: default ALLOW PINGS: 1 PRIMARY CATEGORY: 未分類 CATEGORY: 未分類 DATE: 05/24/2024 13:51:15 ----- BODY:

普段は、各駅停車の普通列車に乗ってのんびりしていますが、寝台、フェリーで移動しながら、寝泊りするのも悪くないと思います。

トワイライトエクスプレス瑞風

京都から下関を駆け抜ける寝台列車です。

京都 出雲駅間のウエストエクスプレス銀河

京都駅から出雲駅をめぐる寝台列車です。

サンライズ出雲・瀬戸

6,600円から乗ることができます。

フェリー【障害者割引を活用しよう】

商船三井のさんふらわあは、できます。

旅客運賃は6,250円

自販機フェリー【オーシャン東九フェリー】

クルーズシステムアルファという旅行代理店を経由すると二割引きでゲットできます。

----- EXTENDED BODY: ----- EXCERPT: ----- KEYWORDS: ----- -------- AUTHOR: シュン TITLE: 自走力をつけるということ STATUS: Draft ALLOW COMMENTS: 1 CONVERT BREAKS: default ALLOW PINGS: 1 PRIMARY CATEGORY: 未分類 CATEGORY: 未分類 DATE: 05/27/2024 10:11:20 ----- BODY:

実務経験がなくても、個人開発をやっていれば、

自分は、「コードが動かないので帰れません(翔泳社)」が参考になりました。

自分も初めての頃は、コードを眺めていることが多かったな。

し、

----- EXTENDED BODY: ----- EXCERPT: ----- KEYWORDS: ----- -------- AUTHOR: シュン TITLE: Pythonでを呼び出してみよう【スクレイピングとして有名】 STATUS: Draft ALLOW COMMENTS: 1 CONVERT BREAKS: default ALLOW PINGS: 1 PRIMARY CATEGORY: 未分類 CATEGORY: 未分類 DATE: 05/27/2024 10:11:38 ----- BODY:

Pythonで、

vscodeかターミナルを用意しましょう。

楽天APIコードで

import requests
import json

# APIのエンドポイント
URL = "https://api.example.com/v1/users"  

# パラメータ
PARAMS = {'key':'abcd1234'}  

# リクエストを送信 
res = requests.get(url = URL, params = PARAMS)

# ステータスコード確認
if res.status_code == 200:
  print('Success!')
else:
  print('Failed. status code: '+ str(res.status_code))

# JSONレスポンスを取得  
data = json.loads(res.text)

print(data)

# 個別の値を参照
print("User Count:", data['count']) 
print("First User ID:", data['users'][0]['id'])

さんと「いまにゅ」さんの動画を参考にしました。

----- EXTENDED BODY: ----- EXCERPT: ----- KEYWORDS: ----- -------- AUTHOR: シュン TITLE: csvファイル⇔エクセルファイル⇔htmlファイル【変換・結合・加工は自由自在】 STATUS: Draft ALLOW COMMENTS: 1 CONVERT BREAKS: default ALLOW PINGS: 1 PRIMARY CATEGORY: 未分類 CATEGORY: 未分類 DATE: 05/21/2024 13:49:08 ----- BODY:

csvファイルは、ほかに比べて機能は少ないものの、大量のデータを結合・加工するのに適しています。うちで販売している記事データサービス「GASATTO」は、基本となるのはcsvファイルで作成・販売しています。

----- EXTENDED BODY: ----- EXCERPT: ----- KEYWORDS: ----- -------- AUTHOR: シュン TITLE: エディタはVScode、実行環境はコマンドプロンプト(ターミナル) STATUS: Draft ALLOW COMMENTS: 1 CONVERT BREAKS: default ALLOW PINGS: 1 PRIMARY CATEGORY: 未分類 CATEGORY: 未分類 DATE: 05/21/2024 12:54:17 ----- BODY:

慣れてきたら、多機能のエディタとコマンドプロンプトなどのターミナルを使いましょう。

Linuxの知識もつくし、一石二鳥です。

----- EXTENDED BODY: ----- EXCERPT: ----- KEYWORDS: ----- -------- AUTHOR: シュン TITLE: カフェドクリエ・スターバックス・ドトール【徹底比較】 STATUS: Draft ALLOW COMMENTS: 1 CONVERT BREAKS: default ALLOW PINGS: 1 PRIMARY CATEGORY: 未分類 CATEGORY: 未分類 DATE: 05/21/2024 10:45:59 ----- BODY:

カフェドクリエ

東海地区中心のカフェチェーンです。

店舗によっては、専用喫煙室があります。

フードの主力はパスタです。

スターバックス

何と言っても、フラペチーノです。

ドトール

バナナマン設楽さんの好物「ミラノサンドA」は、ドトールの主力商品です。

バリエーションが豊富です。

タリーズコーヒー

かつて、元参議院議員の松田さんが持っていた

----- EXTENDED BODY: ----- EXCERPT: ----- KEYWORDS: ----- -------- AUTHOR: シュン TITLE: 垢すりの効能と注意点 STATUS: Draft ALLOW COMMENTS: 1 CONVERT BREAKS: default ALLOW PINGS: 1 PRIMARY CATEGORY: 未分類 CATEGORY: 未分類 DATE: 05/21/2024 10:24:06 ----- BODY:

月一回にとどめるのがいいでしょう。

お湯をかけて皮膚をふやかす、

少し時間をおいて、垢すりを行います。

垢すりの後は、お湯と接見で垢を落とします。

帆必要の区ルームまたはローションをなじませて終了です。

血行が良くなる

実際、垢すりの日の夜はよく眠れます。

保護のため必要な皮脂まで取ってしまうので、

月一回ぐらいがいいでしょう。

自分の通っているエステは、垢すりのほかに、マッサージもやってくれるので、施術中にナム宅なります。

----- EXTENDED BODY: ----- EXCERPT: ----- KEYWORDS: ----- -------- AUTHOR: シュン TITLE: noindexタグによって除外されました STATUS: Draft ALLOW COMMENTS: 1 CONVERT BREAKS: default ALLOW PINGS: 1 PRIMARY CATEGORY: 未分類 CATEGORY: 未分類 DATE: 05/20/2024 12:32:44 ----- BODY:

サーチコンソールを覗いてみると、「」が時折見られます。

今回は、どういうことか解説しましょう。

----- EXTENDED BODY: ----- EXCERPT: ----- KEYWORDS: ----- -------- AUTHOR: シュン TITLE: Goで呼び出しをやってみる STATUS: Draft ALLOW COMMENTS: 1 CONVERT BREAKS: default ALLOW PINGS: 1 PRIMARY CATEGORY: 未分類 CATEGORY: 未分類 DATE: 05/21/2024 10:19:09 ----- BODY:

GO言語は、今のトレンドとなっているプログラム言語で、処理速度が速いのも特徴です。

少し難易度が高いので、ほかの言語を一つマスターしてからやるのがいいでしょう。

自分はJavascriptを一通り終えてから、始めました。

するサンプルコードです。


----- EXTENDED BODY: ----- EXCERPT: ----- KEYWORDS: ----- -------- AUTHOR: シュン TITLE: 正規表現をこなせれば中級者の仲間入り STATUS: Draft ALLOW COMMENTS: 1 CONVERT BREAKS: default ALLOW PINGS: 1 PRIMARY CATEGORY: 未分類 CATEGORY: 未分類 DATE: 05/17/2024 12:58:34 ----- BODY:

まず正規表現の定義から

ざっくり言えば「文字列を一つの形式に表現する表現方法」です。

たくさんの文章の中から容易に見つけたい文字列を検索することができる

----- EXTENDED BODY: ----- EXCERPT: ----- KEYWORDS: ----- -------- AUTHOR: シュン TITLE: 今度はfile_get_contentsでやってみる STATUS: Draft ALLOW COMMENTS: 1 CONVERT BREAKS: default ALLOW PINGS: 1 PRIMARY CATEGORY: 未分類 CATEGORY: 未分類 DATE: 05/17/2024 10:09:35 ----- BODY:

先ほどは、curlでやりましたが、もう一つのやり方、「」でやってみましょう。

基本的な流れ

関数を使って、データに変換します。

あとは、5を使って見せ方を自分なりにアレンジすればOKです。

実例コードサンプル

楽天市場を使って、

<!doctype html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>楽天APIテストコード</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<div class="main">



<?php


//自分の値を入力
$applicationId = '1013845562336343236';
$affiliateId = '13078974.c074128c.13078975.03b0a557';

$keyword = 'ツール開発';

$url = 'https://app.rakuten.co.jp/services/api/IchibaItem/Search/20220601?';
$url.= 'applicationId='.$applicationId;
$url.= '&affiliateId='.$affiliateId;
$url.= '&keyword='.rawurlencode($keyword);
$url.= '&page=1';
$url.= '&format=xml';


//echo $url;

$data = file_get_contents($url);
$obj = simplexml_load_string($data);

echo '<ul>';

foreach($obj->Items->Item as $item){
	
	echo '<li>';
	echo '<a href="'.$item->itemUrl.'"><img src="'.$item->mediumImageUrls->imageUrl[0].'"></a>';
	echo '<a href="'.$item->itemUrl.'">'.$item->itemName.'</a>';
	echo '</li>';
	
}



echo '</ul>';

?>

</div>
</body>
</html>

少し解説をします。

①は、

②で、

----- EXTENDED BODY: ----- EXCERPT: ----- KEYWORDS: ----- -------- AUTHOR: シュン TITLE: サーバー構築不要のお手軽データベース【SQLite】 STATUS: Draft ALLOW COMMENTS: 1 CONVERT BREAKS: default ALLOW PINGS: 1 PRIMARY CATEGORY: 未分類 CATEGORY: 未分類 DATE: 05/16/2024 13:21:36 ----- BODY:

SQLiteは小規模なシステムやシステムのテスト用として用いられるRDBMS(リレーショナルデータベース)です。ここではSQLiteについて、特徴やメリット、注意点、ほかのRDBMSとの違いを書きます。また、インストール方法や使い方、代表的なコマンドなど実際の使い方についても述べます。自分は検証用で使うことが多いです。

目次

もっと見る

SQLiteとは?

SQLiteとは、オープンソースのRDBMS(リレーショナルデータベース管理システム)です。ファイル形式で、ほかのソフトウェアに組み込んで利用することを想定した軽量な造りになっているため、SQLiteをアプリケーションに組み込めばサーバ構築せずとも容易にDBMS機能を搭載できます。こういった手軽さや可用性の高さから現在も幅広く活用されています。呼び方は「エスキューライト」です。

SQLiteは一般的なRDBMSとは異なり、サーバ構築が不要です。そのため、小規模なシステムや検証用に利用されることが多いです。本番環境には不向きのなので注意しましょう。

対応言語

SQLiteは、C言語で作られています。PHPとPythonが標準対応されています。C++は対応していません。

SQLiteの用途は?

SQLiteはPCやスマートフォンなど小型デバイスのアプリケーションに組み込まれます。また、「世界で最も利用されているデータベースエンジン」と言われています。処理性能や扱うことのできるデータベースの規模は商用のものやメジャーなDBMSに及びませんが、その軽さからスマートフォンなどのCPU容量の少ない環境でも高速動作が可能です。

SQLiteの歴史

後のSQLiteとなる「SQLite1」は、2000年8月に開発・リリースされました。現在のSQLiteのライセンスはパブリックドメインとなっていますが、リリース当初はGDBMエンジンを使用しておりGRLライセンスでした。その後、SQLite3が開発され、2004年にリリースされました。現在ではSQLiteコンソーシアム社が主体となって開発を行っています。

SQLiteの特徴

データベースの準備が不要でアプリに組み込める

多くのRDBMS、たとえばMySQLやOracle databaseなどはそれ自体が動作するサーバ型のソフトウェアですが、SQLiteはそういった一般的なRDBMSとは異なり、少し特殊なRDBMSです。SQLiteはRDBMSと紹介しましたが、明確には「アプリケーションに組み込んで利用するRDBMS」です。一般的なサーバ型のDBMSだと、セットアップや構成ファイルの設定などを行わなくてはなりませんが、SQLiteは軽量でファイル形式なので、サーバプロセスではなく、ライブラリとして扱われ、セットアップやメンテナンスが簡単で、非常に使いやすいものになっています。SQLiteは、その依存性の少なさから「自己完結型システム」とも言われています。

データベースにはプログラムからAPIを経由してアクセスできるほか、コマンドラインツールを利用して、OSのシェルから直接テーブルの作成やデータを取得などの操作を行うこともできます。また、環境に依存しません。

マルチプラットフォームに対応

SQLiteは外部ライブラリに対する依存性が低いため、Windows、macOS、Linux、Android、iOSなど、大抵のプラットフォームに対応します。

軽くて速い

SQLiteはその名前のとおり、非常に軽量で簡易的なデータベースです。SQLiteの本体ファイルサイズは600KB程度で、他のデータベースと比べて軽量で、メモリの消費量も少ないため処理性能の低いデバイスに組み込むこともでき、サーバではなくライブラリとしても利用できます。

パブリックドメイン

SQLiteのライセンスは「パブリックドメイン」といって、著作権が放棄された著作物です。著作権が存在しないのでライセンスを気にする必要はありません。

データ型を指定する必要がない

通常のデータベースだとテーブルのカラムごとにデータ型を指定する必要がありますが、SQLiteでは必要ありません。もちろん、データ型を指定することもできますが、指定しなくても格納されたデータからデータ型を判別してくれます。また、単一のテーブルカラムに複数のデータ型を格納することも可能です。

ライブラリとして使える

SQLiteの容量は最大で600キロバイト程度と非常に軽量であるため、ライブラリとして使用できます。そのため、スマートフォンなどの容量が少ないデバイスでも高速な動作を実現できます。

バイトオーダーに依存しない

SQLiteは、バイトオーダーに依存しません。「バイトオーダー」とは、データを転送する際の、転送するデータの順番のことです。このバイトオーダーに依存しないのでSQLiteで作成したデータは、アプリケーションの動作環境に合わせてデータを変換する必要がありません。そのため、データ移動が観点です。

SQLiteとMySQLとの比較

MySQLは、オープンソースのデータベース管理システムで、現在ではOracle社が運営しています。MySQLには複数のストレージエンジンが備わっており、扱いやすいという特徴があり、世界中で支持されるデータベース管理システムです。

記述のしやすさ

SQLiteはデータベースへのアクセスも簡単であるため、記述も手軽に行えます。その点、MySQLは都度パスワードを設定しなくてはなりません。(データベースへの接続を関数にしておけば解決できます。)

動作の軽さ

どちらも軽量で高速に動作しますが、SQLiteのほうがより軽量です。

規模

SQLiteは大規模なデータベースには向きません。MySQLは小規模なデータベースはもちろんのこと、数千万以上のレコードを扱うといった事例もあるなど、大規模なデータベースにも耐えられます。

セキュリティ

SQLiteにはセキュリティ機能は備わっていません。

機能性

SQLiteはシンプルで最低限の機能のみを備えており、MySQLで利用できる関数でもSQLiteでは使えないという場合もあります。

ライセンス

SQLiteのライセンスは「パブリックドメイン」であり、著作権が存在しないのでライセンスを気にする必要はありません。その点、MySQLには細かい規約が定められており、改変・再配布ではその規約に準拠しなくてはなりません。

また、商用利用でなければMySQLも無料で利用できますが、商用目的で利用する場合はライセンスを購入する必要があります。

主要データベースとの比較

SQLiteMySQLOracle databasePostgreSQLSQL Server
サーバ/
クライアント
区別なし区別あり区別あり区別あり区別あり
大規模データベース対応
サポートなし有償サポートありあり・コミュニティユーザによるサポート
・サポートを提供する企業あり
あり
価格無償無償有償無償有償

SQLiteの向き・不向き

SQLitが向いている場合と向いていない場合を紹介します。

【向いている場合】

  • 小規模システムのデータ管理
  • 組み込み機器

【不向きな場合】

  • 同時接続数が多いシステム
  • 膨大なデータを処理する場合

以上のようにSQLiteには向き不向きがあるため目的に合っているのか検討したうえで利用しましょう。

SQLiteを利用するメリット

無料で利用できる

オープンソースのデータベースなので無料で利用できます。

規定がない

SQLiteのライセンスはパブリックドメインを採用しているため、ソースコードを自由に改変・再配布できます。

高速動作する

SQLiteの一番の特徴は動作が軽く高速であることです。

バックアップが簡単

データを単一ファイルに格納できるため、ほかのシステムにファイルをコピーするだけでバックアップが容易にできます。FTPでバックアップするファイルをダウンロード、またはサーバ上でコピーするだけでいいので非常に手軽です。また、メンテナンスの必要もありません。

基本的なSQL文が使用できる

SQL文による基本的なデータベース操作のほか、ビューやトリガー、トランザクション処理といった機能が利用できます。ただし、check制約は利用できません。

PHP5が利用できる

「SQLite3」は標準でPHP5の利用ができます。

SQLiteの注意点

セキュリティ機能がついていない

ファイル形式のSQLiteにセキュリティ機能は備わっていません。パスワード設定ないのでセキュリティ面で不安があります。データファイルを保護する場合には自身でセキュリティ対策をする必要があります。

日本語情報が少ない

日本語情報が少ないため、疑問点がある場合などに解決しにくいといったデメリットがあります。

同時接続数が少ない

ほかのRDBMSと比べて同時接続数が少ないという欠点があります。そのため、同時に多くのユーザがアクセスするWebアプリケーションには不向きといえます。

SQLiteの将来性

軽量で導入しやすく、さまざまな用途で利用されるSQLiteの将来性について考えていきましょう。SQLiteは、2000年に開発されてから現在まで定期的な改良が続けられています。直近だと、2023年3月22日に3.41.2がリリースされており、SQL構文のサポートが増えたりといった新機能の追加も行われています。

また、クラウドでの利用も進んでおり、AWSやAzureといったクラウドサービスでは、サーバレス環境での利用を含めて活用がされています。ほかにも、今の似ているIoT製品や組み込み機器やAI分野で利用されることもあります。膨大なデータを処理する必要があるビックデータには不向きですが、開発時のプロトタイプやデータ管理に用いられることがあります。そして、なんといっても手軽で扱いやすいSQLiteの強みが発揮される小規模システムを扱う企業も多いです。

このように、私たちの生活に欠かせないものや、今後より発展していく分野に用いられるSQLiteは今後も需要が続くと考えられ、時代に合わせてアップうデートを続けるSQLiteの将来性は高いといえるでしょう。

SQLiteの使い方

SQLiteの記述ルール

拡張子

拡張子は「.sqlite3」です。

コマンドの区切り

クエリの区切りには「;(セミコロン)」を使います。ただし、「.」で始まるクエリは「;」で区切る必要はありません。

データ型は不要

データ型の指定をすることは可能ですが、しなくても問題ありません。

データ型とその意味

null:値がない(という値がある)
text:文字列のことです。※文字コードは設定により異なる
blob:バイナリーデータ
integer:8byteの整数
real:8byteの浮遊小数点数

標準SQLに準拠

ほとんどのSQL文をサポートしています。

データベースを削除するには

データベースを削除するにはファイルを削除する必要があります。

ファイルをバックアップ

ファイルをバックアップするにはファイルをコピーします。

SQLiteの基本的なコマンド

▼ヘルプを表示する

.help

▼設定情報を表示する

.show

▼バージョンを表示する

select sqlite_version()

▼データベースを作成する

.open [ファイル名]

▼データベースファイルが作成されたか調べる

.databases

▼テーブルを作成する

create table [テーブル名]([カラム名A] データ型,[カラム名B] データ型);

▼テーブルが作成されたか調べる

.table

▼バックアップを行う

.output backup.dump

▼テーブルデータを出力する

.dump [テーブル名]

▼バックアップを利用して復元する

.read backup.dump

同名のテーブルが存在する場合はエラーが出ます。

▼CSV(テキストデータ)取り込み・変更

.separator ,

▼指定ファイルをテーブルに挿入する

.import file table

▼テーブルを一覧で表示する

.tables

▼カラムを追加する

alter table [テーブル名] add column [表示するカラム名];

▼終了する

.exit

SQLiteのインストール方法

ここからは、SQLiteのインストール方法を紹介します。OSによってインストールの手順は異なりますが、本記事では「Windows10」におけるインストール方法を述べています。ほかOSでインストールを行う場合は公式サイトを参考にOSに適したインストーラをダウンロードしてください。

公式サイトにアクセスする

公式サイトにアクセスし、「Download」をクリックします。

OSに対応するインストーラをダウンロードする

「Precompiled Binaries for Windows」という欄のうち、自身の利用するPCのスペックに適したものをクリックするとzip形式のファイルのダウンロードが始まります。

ファイルを解凍する

ダウンロードしたファイルには、次の3つのファイルが含まれています。

sqdiff.exe
sqlite3.exe
sqlite3_analyzer.exe

本体は「sqlite3.exe」です。

ファイルを任意のディレクトリに設置する

解凍したファイルを設置したいディレクトリに移動させます。

動作確認をする

ダウンロードしたファイルに問題がないかチェックします。「sqlite3.exe」を実行して動作確認を行いましょう。

----- EXTENDED BODY: ----- EXCERPT: ----- KEYWORDS: ----- -------- AUTHOR: シュン TITLE: Web APIのメリット・デメリットを挙げてみました STATUS: Draft ALLOW COMMENTS: 1 CONVERT BREAKS: default ALLOW PINGS: 1 PRIMARY CATEGORY: 未分類 CATEGORY: 未分類 DATE: 05/16/2024 11:56:21 ----- BODY:

メリット

  • アプリケーションの開発時間やコストの削減が可能
  • アプリ開発のハードルを下がる
  • 複数の環境に対応も可能
  • 外部アプリケーションとの連携が簡単になる
  • セキュリティや顧客満足度が向上する
  • 最新の情報を得ることができ、顧客満足度がこうじょうする

デメリット

  • 事象がAPI提供元に依存してしまう(提供元でのサーバー障害に対応できないなど)
  • API連携のために費用がかかる場合がある
  • プログラムの知識が必要となるうえに、仕様変更やサービス停止などの可能性がある
  • 従量課金の仕様に注意が必要となる、課金サービス導入の可能性
  • 実装ルールに統一性がないため、ドキュメントと実装したときの乖離が発生しやすくなる。

まとめ

をはじめとするWebサービスは、

直列的に利用するのではなく、並行的に利用して、可用性を高めて利用することが大切です。

直列的に利用すると、一つのサービスが止まった時に、自サービスが止まるからです。

並列的に利用すると、一つが止まっても、別の経路で自サービスの継続が可能だからです。

あくまでも、の一つなので、補助的役割であることを認識しましょう。

----- EXTENDED BODY: ----- EXCERPT: ----- KEYWORDS: ----- -------- AUTHOR: シュン TITLE: ネットテレビ以外の視聴方法まとめ【昭和生まれのテレビっ子必見】 STATUS: Draft ALLOW COMMENTS: 1 CONVERT BREAKS: default ALLOW PINGS: 1 PRIMARY CATEGORY: 未分類 CATEGORY: 未分類 DATE: 05/16/2024 12:34:29 ----- BODY:

ぱそこんで視聴する場合

相性があるので、1,000円から2万円台まで、自分はゾックス製USBチューナーを使っています。

テレビモニターで視聴する場合

逆アクセスランキング

リファラースパムに注意

もにゅそでー用宗ー静岡駅から200円

短距離なら新幹線もあり、豊橋ー静岡1,980円

運賃と特急料金を足したもの

Fetch APIについての記事がまだ少ないこともあり、自分で試行錯誤して、記事を書きました。

しいちゃんアクセス解析?

悪名は無名に勝る

とか言ってるやつ、しれっと稼ぐ

そんな時、ボクは「悪名は無名に勝るって言葉があるように、それは良い傾向ですよ。気にしないで行きましょう」って答えます。

悪い評判や悪名を持つ事が、何の評判もなく無名であるよりは好ましい

PHPとSQLiteにて構成されているプログラムです。

----- EXTENDED BODY: ----- EXCERPT: ----- KEYWORDS: ----- -------- AUTHOR: シュン TITLE: 回転すしチェーン店のお得で賢い使い方 STATUS: Draft ALLOW COMMENTS: 1 CONVERT BREAKS: default ALLOW PINGS: 1 PRIMARY CATEGORY: 未分類 CATEGORY: 未分類 DATE: 05/15/2024 11:53:12 ----- BODY:

普通に食べると割高になってしまう、お寿司を、ちょっとした工夫を紹介します。

土日祝は全時間帯で混雑するので、平日がねらい目

お店によっては、平日のランチタイムをずらす必要が出てきます。

焼肉店の時にも書きましたが、「平日のランチタイム」は王道です。

----- EXTENDED BODY: ----- EXCERPT: ----- KEYWORDS: ----- -------- AUTHOR: シュン TITLE: バス旅・坂道・ダイアン・サンド・ナイツとかの更新情報【ネタバレ】 STATUS: Draft ALLOW COMMENTS: 1 CONVERT BREAKS: default ALLOW PINGS: 1 PRIMARY CATEGORY: 未分類 CATEGORY: 未分類 DATE: 05/14/2024 12:56:36 ----- BODY:

テレ東・BSテレ東

坂道三番組

乃木坂工事中、そこ曲がったら櫻坂、日向坂で会いましょう、の三番組のことです。

漢字けやきがになりました。

ひらがなけやきが

----- EXTENDED BODY: ----- EXCERPT: ----- KEYWORDS: ----- -------- AUTHOR: シュン TITLE: 日本のマスコミ・メディアがしてきたこと STATUS: Draft ALLOW COMMENTS: 1 CONVERT BREAKS: default ALLOW PINGS: 1 PRIMARY CATEGORY: 未分類 CATEGORY: 未分類 DATE: 05/14/2024 11:29:13 ----- BODY:

ジャニーズ事務所関連に思うこと

申し訳程度に、女性解説員が「」と言っただけ、その後の検証、総括などは全くされていないままで、全く他人事のようです。

今では、各メディア・マスコミが検証番組を放送すべきだという声が、内外から持ち上がっています。

なのに、

当事者の迷惑を顧みず他者の批判はするのに、自分のこととなると反省しないという今まで通りの対応です。

----- EXTENDED BODY: ----- EXCERPT: ----- KEYWORDS: ----- -------- AUTHOR: シュン TITLE: カラフルボックスでWordpressを導入したい STATUS: Draft ALLOW COMMENTS: 1 CONVERT BREAKS: default ALLOW PINGS: 1 PRIMARY CATEGORY: 未分類 CATEGORY: 未分類 DATE: 05/14/2024 10:59:15 ----- BODY:

「快速セットアップ」オプションをつけなかった方向けに、

----- EXTENDED BODY: ----- EXCERPT: ----- KEYWORDS: ----- -------- AUTHOR: シュン TITLE: 指定日サービスまとめサガミー晦日そば STATUS: Draft ALLOW COMMENTS: 1 CONVERT BREAKS: default ALLOW PINGS: 1 PRIMARY CATEGORY: 未分類 CATEGORY: 未分類 DATE: 05/08/2024 13:21:07 ----- BODY:

ケンタッキーーとりの日パック

毎月28日に行われる。が4ピース、ナゲットが5ピースついて、1150円です。

サガミー晦日そば

毎月最終日に行われる、

てんぷらのグレードで、料金が変わり、竹1360()

松1,680円()

----- EXTENDED BODY: ----- EXCERPT: ----- KEYWORDS: ----- -------- AUTHOR: シュン TITLE: ミライロIDに登録しよう!ほとんどの人が知らない使い方 STATUS: Draft ALLOW COMMENTS: 1 CONVERT BREAKS: default ALLOW PINGS: 1 PRIMARY CATEGORY: 未分類 CATEGORY: 未分類 DATE: 05/08/2024 13:00:47 ----- BODY:

ミライロとは?

ほとんどの自治体にも評価されていて、福祉手帳の提示が、ミライロにかえることができます。

HPパソコン、大起水産の食事代が一割引き、など、

様々な特典が受けられます。

----- EXTENDED BODY: ----- EXCERPT: ----- KEYWORDS: ----- -------- AUTHOR: シュン TITLE: 自宅で(プロキシ)サーバー建ててみました STATUS: Draft ALLOW COMMENTS: 1 CONVERT BREAKS: default ALLOW PINGS: 1 PRIMARY CATEGORY: 未分類 CATEGORY: 未分類 DATE: 05/08/2024 09:43:36 ----- BODY:

サーバーのいろいろ

プロキシサーバー

?サーバー

----- EXTENDED BODY: ----- EXCERPT: ----- KEYWORDS: ----- -------- AUTHOR: シュン TITLE: 屠(とりゅうへんしんはざんかい)【通称アキラ四段】 STATUS: Draft ALLOW COMMENTS: 1 CONVERT BREAKS: default ALLOW PINGS: 1 PRIMARY CATEGORY: 未分類 CATEGORY: 未分類 DATE: 05/06/2024 13:19:10 ----- BODY:

一段目から二段目まで素早く入力するのがコツで、三段目、四段目は見て確認しながらでも間に合うぐらいです。それぐらい、二段目までが難しいです。

じぶんもしばらくの間は、二段目がつながらず、

----- EXTENDED BODY: ----- EXCERPT: ----- KEYWORDS: ----- -------- AUTHOR: シュン TITLE: 金山・尾頭橋から熱田神宮【神宮小路】へ足を伸ばす STATUS: Draft ALLOW COMMENTS: 1 CONVERT BREAKS: default ALLOW PINGS: 1 PRIMARY CATEGORY: 未分類 CATEGORY: 未分類 DATE: 05/06/2024 10:59:21 ----- BODY:

デカ盛り味噌カツ、ボリュームステーキなど、〆はきしめんかひつまぶしか?

CAFE G.A.さんです。

個々のランプ肉は最高でした。

一見明かりが暗めで営業しているのかわからなかったが、思い切って入ってよかったです。

----- EXTENDED BODY: ----- EXCERPT: ----- KEYWORDS: ----- -------- AUTHOR: シュン TITLE: 事情があって犬が買えない方へ STATUS: Draft ALLOW COMMENTS: 1 CONVERT BREAKS: default ALLOW PINGS: 1 PRIMARY CATEGORY: 未分類 CATEGORY: 未分類 DATE: 05/06/2024 10:50:27 ----- BODY:

飼う以外の楽しみ方

ドッグカフェ

気軽に楽しめて、癒されるスポットなら、ドッグカフェがいいです。

総数で言えば、猫カフェのほうが多いですが、都市部を中心に探せばあります。

東海地区のドッグカフェを紹介します。

モモカフェ(名古屋市千種区今池)

地下鉄今池駅から、今池公園を目指して南へ歩いて10分のところにあります。

小さめの店内ですが、十分癒されます。土日祝は12時からやっています。平日は夕方17時からです。

イベントー施設

栃木に、

----- EXTENDED BODY: ----- EXCERPT: ----- KEYWORDS: ----- -------- AUTHOR: シュン TITLE: 疲れが取れないー血圧が高めー眠りが浅い STATUS: Draft ALLOW COMMENTS: 1 CONVERT BREAKS: default ALLOW PINGS: 1 PRIMARY CATEGORY: 未分類 CATEGORY: 未分類 DATE: 05/06/2024 10:42:16 ----- BODY:

遠出する意欲がわかない

----- EXTENDED BODY: ----- EXCERPT: ----- KEYWORDS: ----- -------- AUTHOR: シュン TITLE: サーバー環境に慣れていこう!【Linux】 STATUS: Draft ALLOW COMMENTS: 1 CONVERT BREAKS: default ALLOW PINGS: 1 PRIMARY CATEGORY: 未分類 CATEGORY: 未分類 DATE: 05/06/2024 12:15:11 ----- BODY:

VirtualBoxがいままでは、一般的だったが・・・

今はAWSーDockerコンテナ知識が必須

----- EXTENDED BODY: ----- EXCERPT: ----- KEYWORDS: ----- -------- AUTHOR: シュン TITLE: Ruby on Rails チュートリアル 入門 STATUS: Draft ALLOW COMMENTS: 1 CONVERT BREAKS: default ALLOW PINGS: 1 PRIMARY CATEGORY: 未分類 CATEGORY: 未分類 DATE: 05/06/2024 10:08:25 ----- BODY:

Rubyの特徴

Javaなどにくらべて、簡易なコードで実行できる。

日本人なので、QA記事が豊富にある。

----- EXTENDED BODY: ----- EXCERPT: ----- KEYWORDS: ----- -------- AUTHOR: シュン TITLE: 各種WebAPIサービスの特徴・留意事項【料金発生するの?】 STATUS: Draft ALLOW COMMENTS: 1 CONVERT BREAKS: default ALLOW PINGS: 1 PRIMARY CATEGORY: 未分類 CATEGORY: 未分類 DATE: 05/02/2024 13:37:07 ----- BODY:

AWS【Amazon Web Service】Amazon API Gateway

サービス・機能の規模・総量が最大と言われています。

AWSのアカウントを取ったら、APIAPIのどちらかを選択します。

REST APIとHTTP API間で選択する

端的に言うと、REST APIは多機能でその分料金がかかり、HTTP APIは、簡易なシステムでリーズナブルに設定されています。

Yahooディベロッパーネットワーク

Google API Platform

ぐるなびの代わりにホットペッパー

ぐるなびの有料化にともない、ホットペッパーを使うことにしました。

ホットペッパーAPI

----- EXTENDED BODY: ----- EXCERPT: ----- KEYWORDS: ----- -------- AUTHOR: シュン TITLE: 名古屋・東海地区のラーメン屋チェーン店勝手にランキング STATUS: Draft ALLOW COMMENTS: 1 CONVERT BREAKS: default ALLOW PINGS: 1 PRIMARY CATEGORY: 未分類 CATEGORY: 未分類 DATE: 05/02/2024 12:22:50 ----- BODY:

来来亭

ラーメン福

藤一番

いろいろな?噂がたえないエクサグループ

五味八珍

静岡県だけではなくて、愛知県の東三河にも出店しています。

石松餃子

----- EXTENDED BODY: ----- EXCERPT: ----- KEYWORDS: ----- -------- AUTHOR: シュン TITLE: 権利・自由を主張しすぎる勘違いたちへ STATUS: Draft ALLOW COMMENTS: 1 CONVERT BREAKS: default ALLOW PINGS: 1 PRIMARY CATEGORY: 未分類 CATEGORY: 未分類 DATE: 05/02/2024 12:20:01 ----- BODY:

権利・自由は、無制限ではない。

性質・種類によるが、権利・自由を行使するにあっては、周りや相手に対する配慮、時には責任を伴う。

手のひらを返して、相手の意図をくみ取ることなく、自己弁護やら、被害者面して・・・

こういう人間を性根の腐った奴と言います。

一昔前にいた、お金払ったんだから○○ぐらいいいだろって奴と同じ。

お金の有効範囲は棚に上げておいて、支払ったとの一点で、無制限な言動を起こす輩と同じである。

----- EXTENDED BODY: ----- EXCERPT: ----- KEYWORDS: ----- -------- AUTHOR: シュン TITLE: 地下鉄鶴舞線沿線を半額で行く【いりなか駅から平針駅】 STATUS: Draft ALLOW COMMENTS: 1 CONVERT BREAKS: default ALLOW PINGS: 1 PRIMARY CATEGORY: 未分類 CATEGORY: 未分類 DATE: 05/02/2024 12:07:28 ----- BODY:

興味深い飲食店、本屋、ゲームセンターが多くあるので、日に歩いてみました。

天気も良かったので、地下鉄線沿いを歩いてみました。

いりなか駅周辺

いりなか駅に近い昭和区滝川町に、有名すぎる喫茶店「喫茶マウンテン」があります。昨年初代店主が亡くなったそうですが、お店は継続しています。9時から21時30分(オーダーストップは21時)、定休日は月曜日です。甘口抹茶小倉スパは学生時代食べました。

隼人町に三洋堂書店いりなか店があります。名鉄神宮前駅東側の新開橋店が本店です。

八事駅周辺

杁中駅とともに、南山大学、中京大学が近くにあって学生街と、住宅街を併せ持った街です。

学生街だけあって、居酒屋、ゲームセンターが数多くあります。バーチャファイターeスポーツが置いてあるポート24八事店、ADXマミー八事店へ行きます。

塩釜口駅周辺

名城大学の最寄り駅です。

改めて、居酒屋チェーン店の最大客層は大学生だなと思いました。

サラリーマンは、それよりも単価の高い居酒屋・飲み屋に流れるのは昔から変わってないなと思いました。

デカ盛りの聖地でもあり、洋食工房パセリ、植田山の洋食亭寅安が有名です。自分は、カルビなど量は食べられなくなったので、スルーしました。

塩釜口駅と植田駅を横切る国道153号線沿いに、「遊べる本屋」ビレッジバンガード本店(創業店)がありますが、今回はパス。

植田駅

いつもは千種店に行っていますが、あんかけ家の植田店へ立ち寄りました。(本店は藤が丘にあります。)

原駅

平針駅

ブックオフ平針店(本・ソフト館)、(トレカ・ホビー館)に行きました。扱う商品で建物2棟に分かれています。

匠書店天白平針店も近くにあります。

赤池にも行きたかったですが、あえなく時間切れでした。

----- EXTENDED BODY: ----- EXCERPT: ----- KEYWORDS: ----- -------- AUTHOR: シュン TITLE: ぐるなび・Yahoo地図APIを使って駅前の飲食店一覧を作る STATUS: Draft ALLOW COMMENTS: 1 CONVERT BREAKS: default ALLOW PINGS: 1 PRIMARY CATEGORY: 未分類 CATEGORY: 未分類 DATE: 05/02/2024 11:52:10 ----- BODY:

今回は、簡単なマッシュアップサイトを作ります。

基本的な流れを覚えていただいて、ご自分のサイトつくりに活かしてください。

一昔前は、課金制のものも出てきて、現金な世の中、世知辛い世の中だなと感じていますが、サービスを利用する以上、致し方ないことです。

まず、Yahooディベロッパーネットワークにアクセスします。

そこで、IDとAPIキーを取得します。

----- EXTENDED BODY: ----- EXCERPT: ----- KEYWORDS: ----- -------- AUTHOR: シュン TITLE: PSY-Right Now STATUS: Draft ALLOW COMMENTS: 1 CONVERT BREAKS: default ALLOW PINGS: 1 PRIMARY CATEGORY: 未分類 CATEGORY: 未分類 DATE: 05/02/2024 13:21:36 ----- BODY:

OH非常に攻撃的な音楽だ

ムォヤ イゴ ネ モゲ ギゲソリ ッペ
뭐야 이거 내 목에 기계소리 빼
なんだこれ 俺の首の機会音を取れ

2010 ONCE AGAIN PSY IS COMING BACK HELLO

ナメ ットギ ド クゴ(クゴ)
남의 떡이 더 크고(크고)
他人の餠がより大きく

ナメ ヨジャガ イェップゴ(プゴ)
남의 여자가 예쁘고(쁘고)
他人の女性がより美しく

ネガ ハヌン モドゥン ゴスン ムォンガ ジョム オソルプゴ(プゴ)
내가 하는 모든 것은 뭔가 좀 어설프고(쁘고)
俺がやってること全てがなにか足りないし

クロッタゴ ジュグル スド
그렇다고 죽을 수도
それでも死ぬことも

ゲソッ イデロ サル スド
계속 이대로 살 수도
このまま生きることだって

サトゥリロ ッチャトゥリロ ヌロノウル ップニゴ
사투리로 짜투리로 늘어놓을 뿐이고
なまりがチャトゥリになっただけだし

ウェチョ(ウェチョ) ウェチョ(ウェチョ) モギ トジョラ ウェチョ(ウェチョ)
외쳐(외쳐) 외쳐(외쳐) 목이 터져라 외쳐(외쳐)
叫べ 叫べ 喉が枯れるまで叫べ

ミチゴ チゴ パルチャッ ットィゴ
미치고 치고 팔짝 뛰고
狂って 打って ぴょんと飛んで

シムジャン バッドン ットィゴ
심장 박동 뛰고
心臓 鼓動 飛んで

ナルウ ゴッジョンハヌン デグン デチェ ヌグシンデ
나를 걱정하는 댁은 대체 누구신데
私を心配するのは一体誰なんだ

シンギョン ッコ イジョ クリゴ ナソ ットィオ
신경 꺼 잊어 그리고 나서 뛰어
気にするな 忘れろ それからジャンプ

RIGHT NOW

ベッパルシッド ビョネ ドルゴ ドルゴ
180도 변해 돌고 돌고
180度変わって 回って回って

ジグムブト ミチョ ボウランダ
지금부터 미쳐 볼란다
今から狂ってみようかと思うんだ

RIGHT NOW

ユクサム ビルディンウィロ
63 빌딩위로
63ビルディングの上で

クリゴ ク ウィロ ジグムブト ットィオ ボウランダ
그리고 그 위로 지금부터 뛰어 볼란다
それからその上に 今から飛ぼうかと思うんだ

RIGHT NOW

RIGHT NOW

RIGHT NOW

ウッキゴ アンジャンネ アジュ ノルゴ ジャッパジョンネ
웃기고 앉았네 아주 놀고 자빠졌네
おかしいやつだ 遊びすぎて倒れたんだ

ホンジャ ブッチゴ ジャング チゴ
혼자 북치고 장구 치고
1人で太鼓をたたいて チャングをたたいて

アジュ セン ショル ラネ
아주 생 쇼를 하네
とってもショーをしている

ピョンセン イルセン ホグン ナエ イセン ギジュッチ アナ
평생 일생 혹은 나의 이생 기죽지 않아
ずっと一生または俺の理性はなくならない

グラジ アナ ク ラジャナ
굴하지 않아 쿨 하잖아
ひるまない クールじゃない

YOU KNOW I'M SAYING

ウェチョ(ウェチョ) ウェチョ(ウェチョ) モギ トジョラ ウェチョ(ウェチョ)
외쳐(외쳐) 외쳐(외쳐) 목이 터져라 외쳐(외쳐)
叫べ 叫べ 喉が枯れるまで叫べ

ミチゴ チゴ パルチャッ ットィゴ
미치고 치고 팔짝 뛰고
狂って 打って ぴょんと飛んで

シムジャン バッドン ットィゴ
심장 박동 뛰고
心臓 拍動 飛んで

インセン モ インニャゴ
인생 뭐 있냐고
人生になにがあるかと

インセン モ イッタゴ
인생 뭐 있다고
人生になにがあるの

ジョマダ ジョンジェハヌン イユガ イッタ
저마다 존재하는 이유가 있다
各々存在する理由がある

RIGHT NOW

ベッパルシッド ビョネ ドルゴ ドルゴ
180도 변해 돌고 돌고
180度変わって 回って回って

ジグムブト ミチョ ボウランダ
지금부터 미쳐 볼란다
今から狂ってみようかと思うんだ

RIGHT NOW

ユクサム ビルディンウィロ
63 빌딩위로
63ビルディングの上で

クリゴ ク ウィロ ジグムブト ットィオ ボウランダ
그리고 그 위로 지금부터 뛰어 볼란다
それからその上に 今から飛ぼうかと思うんだ

RIGHT NOW

RIGHT NOW

RIGHT NOW

セサンイ ナルウ ソギゴ
세상이 나를 속이고
世界が俺を騙し

モルヌン ゲ サラム ソギゴ
모르는 게 사람 속이고
知らないことが人々を騙し

ペンペンイ ドウリゴ アン バド ビディオ
뺑뺑이 돌리고 안 봐도 비디오
くるくると 回ってみてもビデオ

インセンウン ドッカン スリゴ
인생은 독한 술이고
人生は強い酒だし

グレソ イェスリゴ
그래서 예술이고
それが芸術だし

スリスリスリ マスリゴ
수리수리수리 마술이고
もうろうとする 魔術だし

ウォンゴ トゥゴ ッスリゴ
원고 투고 쓰리고
ひりひりするし

RIGHT NOW

ベッパルシッド ビョネ ドルゴ ドルゴ
180도 변해 돌고 돌고
180度変わって 回って回って

ジグムブト ミチョ ボウランダ
지금부터 미쳐 볼란다
今から狂ってみようかと思うんだ

RIGHT NOW

ユクサム ビルディンウィロ
63 빌딩위로
63ビルディングの上で

クリゴ ク ウィロ ジグムブト ットィオ ボウランダ
그리고 그 위로 지금부터 뛰어 볼란다
それからその上に 今から飛ぼうかと思うんだ

RIGHT NOW

ジグムブト ミチョ ボウランダ
지금부터 미쳐 볼란다
今から狂ってみようかと思うんだ

RIGHT NOW

ユクサム ビルディンウィロ
63 빌딩위로
63ビルディングの上で

クリゴ ク ウィロ ジグムブト ットィオ ボウランダ
그리고 그 위로 지금부터 뛰어 볼란다
それからその上に 今から飛ぼうかと思うんだ

RIGHT NOW

RIGHT NOW

RIGHT NOW

RIGHT NOW

RIGHT NOW

오 매우 공격적인 음악
おぉ すごく攻撃的な音楽

なめ ちび ど くご 
남의 집이 더 크고 
他人の家がもっと大きくて 

なめ ちゃが と いぇっぷご
남의 차가 더 예쁘고
他人の車がもっときれいで

ねが はぬん もどぅんごすん 
내가 하는 모든것은 
俺のすること全部が 

むぉんが じょん おそるぷご
뭔가 좀 어설프고
なんかちょっと中途半端で

くろったご じゅぐるすど 
그렇다고 죽을수도 
とはいえ 死ぬことも 

けそっ いでろ さるすど
계속 이대로 살수도
ずっとこのまま生きることも

さとぅりろ っちゃとぅりろ 
사투리로 짜투리로 
方言で 端切れで

ぬろのうる っぷにご
늘어놓을 뿐이고
連なっただけで

うぇちょ うぇちょ 
외쳐 외쳐 
叫べ 叫べ 

もぎ とじょら うぇちょ
목이 터져라 외쳐 
のどが裂けるくらい 叫べ

みちご ちご ぱるっちゃっ ってぃご 
미치고 치고 팔짝 뛰고 
狂って ピョンと跳ねて 

しんじゃん ばっとん ってぃご
심장 박동 뛰고
心臓の拍動が早まって

なるる こっちょんはぬん てぐん 
나를 걱정하는 댁은 
俺を心配するお方は

でちぇ ぬぐしんで しんぎょんっこ
대체 누구신데 신경꺼
一体どちら様なんだか 気にすんな

いじょ くりご なそ ってぃお
잊어 그리고 나서 뛰어
忘れろ そして飛べ

ぅらぃなぅ ぺっぱるしっと 
Right now 180도 
今すぐ 180度

ぴょね どるご どるご
변해 돌고 돌고
変われ 回れ回れ

ちぐんぶと みちょ ぼらんだ
지금부터 미쳐 볼란다
今から狂ってみようとするか

ぅらぃなぅ ゆくさん びるでぃん うぃろ 
Right now 63 빌딩 위로 
今すぐ 63ビルの上へ 

くりご く うぃろ
그리고 그 위로
そしてその上へ

ちぐんぶと ってぃお ぼらんだ 
지금부터 뛰어 볼란다
今から飛んでみようとするか

ぅらぃなぅ 
Right now
今すぐ 

ぅらぃなぅ 
Right now
今すぐ 

ぅらぃなぅ 
Right now
今すぐ 

せぃまぃねぃむ 
Say my name
名前を呼べ 

えてぃずこみんばっ
ATEEZ is coming back
ATEEZが戻ってくるぞ

せぃまぃねぃむ 
Say my name
名前を呼べ 

さいずこみんばっ
PSY is coming back
PSYが戻ってくるぞ

せぃまぃねぃむ 
Say my name
名前を呼べ 

えてぃずこみんばっ
ATEEZ is coming back
ATEEZが戻ってくるぞ

せぃまぃねぃむ 
Say my name
名前を呼べ 

さいずこみんばっ
PSY is coming back
PSYが戻ってくるぞ

らびっ よろぶん どらびっ
Luv it 여러분도 luv it
好き 皆さんも好き

あっとぅぃ やんよっ さらんどぅる 
앞뒤 양옆 사람들 
前後左右の人たちも

あぃらびっ そぅまっち
I luv it so much
大好き

いごっぼそ なんにょのそ
이것보소 남녀노소
ほら見て 老若男女

ちぇんぴおん にが 
챔피언 네가 
チャンピオン お前が

ちぇんぴおん じゅるぎぬん にが
챔피언 즐기는 네가 
チャンピオン 楽しむお前が

いれったが じょれったが わったがった
이랬다가 저랬다가 왔다갔다      
ああしたりこうしたり 行ったり来たり

な がったが のぬん ばんなっ じゃんななな
나 갖다가 너는 밤낮 장난하나
俺を朝から晩まで弄んでくれたな

うりんわんじょに せどぇっす 
우린 완전히 새됐으 
俺達完全にあきれたわ    

じゃ ちゅぱれ さぃわぁるっ せで    
자 추팔해 PSYworld 세대
さぁ思い出語ろう PSYworld世代

ぅらぃなぅ 
Right now
今すぐ 

うぇちょ うぇちょ 
외쳐 외쳐 
叫べ 叫べ 

もぎ とじょら うぇちょ
목이 터져라 외쳐 
のどが裂けるくらい 叫べ

みちご ちご ぱるっちゃっ ってぃご 
미치고 치고 팔짝 뛰고 
狂って ピョンと跳ねて 

しんじゃん ばっとん ってぃご
심장 박동 뛰고
心臓の拍動が早まって

いんせん むぉ いんにゃご 
인생 뭐 있냐고 
人生何があるのかと 

いんせん むぉ いったご
인생 뭐 있다고
人生何があるんだと

ちょまだ じょんじぇはぬん いゆが いった
저마다 존재하는 이유가 있다
それぞれ存在する理由があるんだ

ぅらぃなぅ ぺっぱるしっと 
Right now 180도 
今すぐ 180度

ぴょね どるご どるご
변해 돌고 돌고
変われ 回れ回れ

ちぐんぶと みちょ ぼらんだ
지금부터 미쳐 볼란다
今から狂ってみようとするか

ぅらぃなぅ ゆくさん びるでぃん うぃろ 
Right now 63 빌딩 위로 
今すぐ 63ビルの上へ 

くりご く うぃろ
그리고 그 위로
そしてその上へ

ちぐんぶと ってぃお ぼらんだ 
지금부터 뛰어 볼란다
今から飛んでみようとするか

ぅらぃなぅ 
Right now
今すぐ 

ぅらぃなぅ 
Right now
今すぐ 

ぅらぃなぅ 
Right now
今すぐ 

せぃまぃねぃむ 
Say my name
名前を呼べ 

えてぃずこみんばっ
ATEEZ is coming back
ATEEZが戻ってくるぞ

せぃまぃねぃむ 
Say my name
名前を呼べ 

さいずこみんばっ
PSY is coming back
PSYが戻ってくるぞ

せぃまぃねぃむ 
Say my name
名前を呼べ 

えてぃずこみんばっ
ATEEZ is coming back
ATEEZが戻ってくるぞ

せぃまぃねぃむ 
Say my name
名前を呼べ 

さいずこみんばっ
PSY is coming back
PSYが戻ってくるぞ

せさんぎ なるる そぎご
세상이 나를 속이고
世界が俺を騙し

もるぬんげ さらん そぎご
모르는게 사람 속이고
分からないことが人を騙し

っぺんっぺんぎ どりご 
뺑뺑이 돌리고
繰り返されて 

あん ばど びでぃお
안 봐도 비디오
見なくても分かる

いんせんぐん とかん すりご
인생은 독한 술이고
人生はキツい酒で

くれそ いぇすりご
그래서 예술이고
だから芸術で

すりすりすり ますりご
수리수리수리 마술이고
スリスリマスリで

うぉんご とぅご っすりご
원고 투고 쓰리고
1 Go 2 Go 3 Go 

お むぉや さぃひょんにみね さいひょんにん
어 뭐야 PSY형님이네 PSY형님
お!なんだ PSY兄さんじゃないか?

いみていしょにね
이미테이션 이네 
イミテーション(偽物)だね

ぅらぃなぅ ぺっぱるしっと 
Right now 180도 
今すぐ 180度

ぴょね どるご どるご
변해 돌고 돌고
変われ 回れ回れ

ちぐんぶと みちょ ぼらんだ
지금부터 미쳐 볼란다
今から狂ってみようとするか

ぅらぃなぅ ゆくさん びるでぃん うぃろ 
Right now 63 빌딩 위로 
今すぐ 63ビルの上へ 

くりご く うぃろ
그리고 그 위로
そしてその上へ

ちぐんぶと ってぃお ぼらんだ 
지금부터 뛰어 볼란다
今から飛んでみようとするか

ぅらぃなぅ 
Right now
今すぐ 

ぅらぃなぅ 
Right now
今すぐ 

ちぐんぶと みちょ ぼらんだ
지금부터 미쳐 볼란다
今から狂ってみようとするか

ぅらぃなぅ ゆくさん びるでぃん うぃろ 
Right now 63 빌딩 위로 
今すぐ 63ビルの上へ 

くりご く うぃろ
그리고 그 위로
そしてその上へ

ちぐんぶと ってぃお ぼらんだ れっつごぅ
지금부터 뛰어 볼란다 Let's Go
今から飛んでみようとするか 行くぞ

ぅらぃなぅ 
Right now
今すぐ

----- EXTENDED BODY: ----- EXCERPT: ----- KEYWORDS: ----- -------- AUTHOR: シュン TITLE: せんべろ」できるチェーン店ある? STATUS: Draft ALLOW COMMENTS: 1 CONVERT BREAKS: default ALLOW PINGS: 1 PRIMARY CATEGORY: 未分類 CATEGORY: 未分類 DATE: 05/02/2024 10:49:50 ----- BODY:

名古屋市内で有名なので伏見地下街、名駅、金山などがあります。

美食家でもなく、そんなにグルメではないので、ファーストフード、フランチャイズ店で満足してます。

関東限定で、松軒中華食堂」があります。

バーミヤン

日高屋

----- EXTENDED BODY: ----- EXCERPT: ----- KEYWORDS: ----- -------- AUTHOR: シュン TITLE: スタミナ料理列伝【体力回復・精力増強】 STATUS: Draft ALLOW COMMENTS: 1 CONVERT BREAKS: default ALLOW PINGS: 1 PRIMARY CATEGORY: 未分類 CATEGORY: 未分類 DATE: 05/10/2024 13:48:14 ----- BODY:

チェーン店編

来来亭

ラーメンを注文するときに、すりおろしにんにくを合わせてオーダーします。

餃子の王将

こってりラーメンを頼むとネギ・メンマとともに、すりおろしにんにくがついてきます。

にんにく激増し餃子もあります。

ラーメン駒(コロナグループ)

コロナワールド安城・半田に、二郎系ラーメンがあります。

駒二郎(並950円)、味噌二郎(並980円)があります。ほかにもメニュー、トッピングがあります。

一杯お腹いっぱいで、一食が終わってしまうほどのボリュームでした。

メニュー別

ジンギスカン

うまくてコスパがいい「平針 すみせん」僕はいつもメガステーキデラックス。

ローストビーフ

焼肉

ニンニク

味噌焼うどん

川森食堂(亀山市関町)・関ドライブイン

ベトコンラーメン

ベストコンディションラーメン、略してベトコンラーメンです。

次郎系ラーメン

コロナグループラーメン駒

メンチカツ

丸中本店のメンチカツです。お肉ぎっしりなのに、1個140円です。松阪駅近くの精肉店で売っています。

----- EXTENDED BODY: ----- EXCERPT: ----- KEYWORDS: ----- -------- AUTHOR: シュン TITLE: 困った【ステップんの靴が売れない。処分できない「】 STATUS: Draft ALLOW COMMENTS: 1 CONVERT BREAKS: default ALLOW PINGS: 1 PRIMARY CATEGORY: 未分類 CATEGORY: 未分類 DATE: 05/02/2024 12:36:59 ----- BODY:

足と足が残っています。

完全に売り時を逃してしまいました。

もう二束三文でいいので、娯楽費の足しになれば、と思いました。

エラーメッセージにどう対応したか?

saleをタップすると、まだ、歩いてからねと。

修理してくださいと。

キーワードはヘルスポイントでした!

これが100%でないと、売れないのです。

靴を売るときはリペアだけじゃなくてレストアもしてから売らなきゃいけないってことか!?

それから、歩いて、エナジーを満タンにして、やっと売却できます!

でも、なかなかヘルスポイントが100%にならない!

歩くたびに、ステップンを起動しているが・・・

----- EXTENDED BODY: ----- EXCERPT: ----- KEYWORDS: ----- --------

0 件のコメント:

コメントを投稿