プログラミング

プログラミング

【phpdotenv】PHPで環境変数を取り扱うお話

PHPでサーバーの環境ごとに設定ファイルを用意する場合、config.phpなどのファイルにデータベースの接続情報やAPIのキーなどをdefineで登録すると思います。 これは昔からある一般的なやり方ですが、例えば「ローカル環境やテスト環境と本番環境で情報を出し分けたい」「GitHubやSubversionなどに接続情報を管理されたくない」ということがあるかと思います。 Linuxの場合は「.env」でユーザーごとの情報をあらかじめ設定することが可能ですが、PHPだとデフォル […]

プログラミング

【PHP】ソーシャルログインに対応したお話(LINEログイン編) ②

前回はLINE Developersでチャネル登録までを行いました。 今回は実際にPHPでログインを実装していきます。 初期設定を定数にする 最初にdefineでチャネル登録した情報やAPIのURLを定義します。 メールアドレスを取得したい場合はLINE_SCOPEに「email」を追記してください。 LINE ログインのURLを作成する LINEログインに利用するログインURLを作成します。 これでURLができたのでこのURLに遷移するようにします。 $_SESSION[& […]

プログラミング

【PHP】ソーシャルログインに対応したお話(Apple ID編) ②

前回のおさらい 前回は「Appleでサインイン」を実装する前の下準備をまとめました。 今回は実際にPHPで実装をしたいと思います。 なお、ソーシャルログインについて実はFirebase上でできるぽいのですが、今回はそれを使わずに実装したいと思います。 実装に必要な情報 前回Apple Developersで登録した情報と今回新たに必要な情報をあらかじめまとめます。 あらかじめ上記の用意をしておきましょう PHPで実装してみる 実際にPHPで実装してみましょう。 作る画面は2つ […]

プログラミング

【PHP】PHPでExcelファイルを操作するお話 その2

前回は・・・ 前回はPHPでExcelファイルを操作する方法をまとめました。 基本的にはCSV出力や一括登録の代替案としてまとめましたが、PhpSpreadsheetを使うことでExcelで作成した書類のフォーマットにPHPでデータを入力してPDFで出力することが可能となります。 今回はそれについてやっていきたいと思います。 考え方 考え方としては大きく分けて3つになります。 書類のフォーマットをExcelで作りサーバーに保存する 保存したExcelファイルを読み込み、PHP […]

プログラミング

【PHP】PHPでExcelファイルを操作するお話 その1

こういうことってないですか? webでの管理システムを設計するときに「CSVでインポートやエクスポート機能を付けてよ」って言われる事があります。 インポートに関しては一括登録や一括削除や更新など割とリスクが大きいのですが、エクスポートはあったりします。 CSVなので本来はカンマ区切りで並べてtext/csvとかで吐き出せば簡単なのですが、下記のような不具合が発生する可能性があります。 データの文字列にカンマが入ってるので、ズレる 上記を防ぐためにダブルクォートで文字列を囲うも […]

プログラミング

ChatGPTを使って文章を作ってもらう時のアイディア

今まで何となく触っていただけのChatGPT。ちょっと色々と文章を作成してみる機会があったので、私なりのアイディアやコツなどを書いてみます。 もう少しシステム的な記事はこちらをご確認ください。 ChatGPTに登録をする とりあえず登録していない人のために手順をご紹介します。 1.ログイン/サインアップページを開く まずはログイン/サインアップページを開きましょう。 『Sign up』をクリックして、登録画面を開きます。 2.登録するメールアドレスなどを入力・選択する 登録の […]

プログラミング

Twitter「API制限」と「Twitter API」のお話

2023年6月末から7月2日にかけて、Twitter界隈で大きな話題となった「Twitter制限」について 一体何が起きたのかと言うことを、色々と調べながらまとめながら自分の考えを述べてみます。 何が起きた? 簡単に言うと「突然Twitter APIの制限をかけることで、Twitterが表示されなくなる」という現象が発生しました。 ツイッターが閲覧制限、「データ強奪」への一時的対策とマスク氏 https://www.bbc.com/japanese/66078928 マスク氏 […]

スマホアプリ

【Kotlin】Google Play Billing Library 6 でアプリ内課金を実装し直したお話

毎年恒例のアップデート Androidアプリでアプリ内課金をするにはGoogle Play Billing Libraryを使う必要があるのですが、これは毎年メジャーアップデートされており、現在はバージョン6まで出ています。 これだけであれば別にいいのですが、過去のバージョンを使っているとアプリのアップデートができないという決まりが… 具体的には 注: 2023 年 8 月 2 日以降、すべての新規アプリでは Billing Library バージョン 5 以降を使用する必要 […]

プログラミング

SPIRAL APIを使ってPHPと連携したお話

SPIRALⓇとは? SPIRALⓇ(以下SPIRAL)とはスパイラル株式会社(旧株式会社パイプドビッツ)が提供するサービスで SPIRAL ver.1は、柔軟なデータベースを中心として、Webアプリ構築に必要なさまざまな機能が備わったプラットフォームです。システム環境構築は不要で、データ入出力、認証、メール配信、API連携などの部品を組み合わせたWebアプリ開発(ローコード開発)が行えます。 といったサービスのようです。 要はデータを一元管理するのでそれを元に会員専用サイト […]

プログラミング

【2023】PHPでTwitter APIを使って ツイートを行うお話【v2】

それは突然の話だった 2023年2月ごろにTwitterが有料化されるとの事でのんきに構えていたら、Twitter APIも有料化の波に… とはいえ実際にどうなるか不明だったので様子見してましたが4月になって突然ツイートできなくなる自体が発生 色々と調べていると「FREEプランにしないとダメ」「FREEプランは1アカウント1つまで」という事に しかも「ツイートは1,500通/月まで」と中々厳しい締め付けが発生しており、色々と調査を行う必要に迫られました さらばTwitter […]

プログラミング

ChatGPTをシステム開発に役立てるお話

chatGPTは素晴らしい?ポンコツ? 少し前に話題になったChatGPTですが、皆さん使ってますか? サービス開始してから日が浅く、APIのバージョンも3.5で情報が2021年9月までとなって一部の情報が古いという欠点はありますが、使い方を限定すれば例えば今まで自分で考えてきた部分をchatGPTに渡せば時間の短縮ができるのではと思い、活用方法を考えてみました。 ダミーデータを作成させる 会員管理システムや問い合わせフォームなどを作ると検証用のためにダミーデータを作成する必 […]

プログラミング

PHPフレームワークについて

PHPフレームワークって何? フレームワークとはPHPで開発を行う上で必要な機能をあらかじめまとめた集合体のようなものです。 例えばバリデーションチェックやデータベースの操作、メール送信、ファイル処理など、一から作ると面倒くさいものがクラスとして用意されているので、それを呼び出すだけで簡単に利用できます。 PHPに限らず開発言語は文章と同じでいろいろな記述が可能なので、プログラマーの癖や考え方によってバラツキが出てきますが、フレームワークを使用することでフレームワークのルール […]

プログラミング

iOSアプリでREST APIを使うお話

前回のREST APIをiOSアプリでも使うお話です。 こちらも割と簡単ですが、Kotlin=Javaに比べると型に関してはシビアです。 インストール CocoaPodsでインストールする。 ライブラリが対応していれば簡単ですね。 その後、 これでインストール完了です。 使い方 こちらもAndroidの時と同じような感じでできますが、今回はModelでデータクラスを作ります。 GETの場合 例として架空のREST APIを用意します。 前回同様データクラスをまとめます。 Ko […]

プログラミング

AndroidでREST APIを取り扱うお話

前回のお話でREST APIを気軽に確認する内容を書きましたが、今回は実際にスマホアプリ内でREST APIのやりとりを行う方法をまとめます。 以前はOkHttpというライブラリを使うことが多く、現在もそれが主流になりますが、今回はkotlinで使えるRetrofitと呼ばれるライブラリを使っていきましょう インストール 通信するので当然アプリ側にインターネット接続の設定をする必要があります。 /app/build.gradleにRetrofitを書きましょう。 JSONでや […]

プログラミング

REST API開発の最高峰? Talend API Testerのお話

昨今は無料で天気予報がWebで確認できますが、それはプログラムの世界でも同じ。 プログラムの場合はそういうデータをREST APIという形でJSON形式で受け取るのが一般的です。 REST APIとか RESTful APIとは、Webシステムを外部から利用するためのプログラムの呼び出し規約(API)の種類の一つで、「REST」(レスト)と呼ばれる設計原則に従って策定されたもの。 RESTそのものは適用範囲の広い抽象的なモデルだが、一般的にはRESTの考え方をWeb APIに […]

スマホアプリ

【Admob】アプリで設定せずにテスト広告を表示するお話

アプリで広告をつける場合メジャーどころなのはAdmobだと思いますが、Admobはアプリ開発者がタップするのを禁じています。 もちろん誤タップもあるので1回タップした時点でNGと言うわけではないですが、何度もやっていると広告が配信されなくなったりアカウントがBANされる可能性もあります。 ですのでAdmobもアプリ開発を行う上で、テスト広告というものを用意し、それを利用することで、上記のペナルティを回避することができます。 テスト広告IDを使用する Admobのサイトを見ると […]

スマホアプリ

【Apple】iOS14以降でトラッキング許可を行うお話

はじめに もう1年ほど前の話になりますが、iOSアプリでAdmobなどのIDFAの使用について説明メッセージを表示し、ユーザーに許可を取る必要があります。 既存のアプリも同様で、アプリを更新したタイミングで対応を行わないと色々なところから怒られます。 なぜトラッキング許可が必要? ざっくりいうと最近のプライバシー保護の流れを受け、広告主やデータを利用している第三者がどのような目的でどんなデータを取得しているかをユーザーに告知する必要があり、ユーザーはそのデータを許可するかどう […]

プログラミング

Laravelを使ってREST APIを作ってみるお話 (インストール編)

今回のゴール 今回はComposerからLaravelをインストールし、webサーバーで表示され、データベースの構築が行えるまで。 (REST APIなので本当はwebサーバーで表示される必要はないですが…) Laravelのインストール 以前のエントリーでPHPとLaravelをWindowsにインストールしているので、そこからLaravelをインストール作業を来ないます。 インストール前に Windows版のPHPを入れたのですが、php.iniの設定を一部変更する必要が […]

プログラミング

フォームのバリデーションでよく使う項目をまとめた小話

問い合わせフォームや登録フォームなどで入力した値のバリデーションチェックは必須ですが、「あれってなんだったかな」ということがあるので、備忘録代わりにまとめました。 「いや、今ならフレームワークやライブラリであるだろ」というのがある気もしますが… 絵文字のチェック 今はデータベースの文字コードがutf8mb4であれば絵文字も問題なく登録できますが、古いデータベースでutf8までしか対応していなかったり、CSVをShift-JISで出力する場合は文字化けしてしまうので、弾いちゃお […]

プログラミング

プレーンなPHPで2段階認証(Google Authenticator)を導入するお話

最近はログインID/PW方式だけではセキュリティ的に厳しいと言うことで様々な認証方式が使われています。 SMSを使ったSMS認証もあるのですが、最近はOTP(One Time Password)を用いた認証方式が増えてきています。 スクウェア・エニックスのOTPはネットゲームを行うユーザーには有名でしょうか なんかめちゃくちゃ大変そう… 専用サーバーが必要とか色々大変そうに思いますよね。 ところがGoogleはこのあたりの仕様を公開しており、それを使ったライブラリが公開されて […]

プログラミング

Windows10でComposerをインストールするお話

そもそも「Composer」ってなによ? 「Composer」とはPHPのパッケージライブラリ管理ツールで、フレームワークを含むPHPのパッケージをわざわざダウンロードせずにコマンドだけでインストールすることができる非常に便利なものです。 例えばあるライブラリを使いたい場合、そのライブラリの公式サイトを探してzipやtar.gzなどの圧縮ファイルをダウンロードして展開して所定の場所に置いて・・・ってめんどくさいですが 「Composer」を使うと、ライブラリを記述して叩けば自 […]

プログラミング

FuelPHP を無理矢理PHP8.1に対応するお話

FuelPHPのPHP8.1対応(無理矢理編) 皆さん、PHPのフレームワークは何を使っていますか? 今から学ぶなら「Laravel」や昔ながらの「CakePHP」でしょうか? 私は数年前から「FuelPHP」というフレームワークを使っていて「なんて開発しやすいんだ」と感動した記憶があります。 ところが、FuelPHPのリリースがピタッと止まり、PHPのバージョンアップに対して暗雲が立ちこめてきました。 てかフレームワークの選定ミスはかなり痛いですね。私は先物取引には金輪際手 […]

プログラミング

LINEでbotやリッチメニューを設定するお話

ここ最近いろいろな意味で話題になっているLINEですが、とはいえ便利なSNSツールであることは間違いないところです。 ここでは情報セキュリティ的な部分は置いといて、LINEのAPIを利用したbotやリッチメニューを作っていきます。 事前に行うこと LINE for Business でアカウントを開設する こちらの方で取得してください LINE Developers からログインする https://developers.line.biz からログインします。 チャンネル設定 […]

プログラミング

LINE Messaging API を使ったインスタントウィン(即時抽選)を考えるお話

LINEを使ったキャンペーン? 今何かと騒がしいLINEではありますが、スマホを持っていればお手軽かつ複数アカウントを作りづらい仕様のため、B2Cとしては非常に使いたくなるプラットフォームです。   インスタントウィンに関しては弊社で構築したプレゼントキャンペーンサイトがありますので、こちらをご確認いただければと思いますが、TwitterではなくLINEを利用したインスタントウィンとなります。 TwitterではなくLINEで行うメリットは「よりユーザーに近い位置か […]

プログラミング

【Nuxt.js】localhostでSSL証明書を取得してhttpsでアクセスするお話

なんでSSL通信が必要? 位置情報を利用する際、数年前からSSL通信じゃないと取得できなくなったことで、ローカル環境でもSSL通信が必要になりました。 じゃあSSL証明書をローカル環境でどう取得するかというお話です。 前提としてWindows10環境でNuxt.jsが動く環境があるということです。 発行するプログラムはmkcertというものを使いますが、それをインストールするためにChololateyを使ってみます。 Chocolateyをインストールする Windowsのシ […]

1 2