投稿者: 松本

プログラミング

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

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

Webサービス

【CAPTCHA系】reCAPTCHAの代替サービスを紹介するお話

みなさん、reCAPTCHAを使ってますか? CAPTCHAと呼ばれる機能は問い合わせフォームやログインフォームなどいわゆるbot系対策として有効で、その中でもreCAPTCHAは無料かつ簡単に導入できるたため、様々な場所で使われてます。 2024年4月から実質有料化? しかし、2024年4月から今まで100万リクエストまで無料だったのが、1アカウント合計1万リクエストまでに縮小され、それ以降はスコアが0.9でとして処理される感じになるようです。 実はGoogle的には100 […]

プログラミング

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

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

Webサービス

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

今回はLINEログインです。 LINEログインは他のソーシャルログインと違って、電話番号必須なので、ユーザーがアカウントを無限に発行するということがなく、しかもOSに関係なくアカウントを使用できるので、特にB2Cサービスを考える場合には是非導入を進めたいと思います。 逆に法人サービスで使う場合、法人担当者が個人のLINEアカウントを使用することはないと思うので、あくまで個人向けサービスがよいかなと思います。 LINEログインについての概要はこちらに詳しく書いています。 htt […]

プログラミング

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

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

Webサービス

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

こんにちは 早速ですが、会員サイトを作る上で割とめんどくさいのがログイン機能です。 メールアドレスを入れてもらってそのアドレスが有効かどうかの判定を行う、パスワード管理など割と面倒くさいのですが、そこら辺の過半数をソーシャルログイン(SNSログイン)にしてしまうことが可能です 最近ではGoogleアカウント、Apple ID、LINE ID、X(旧Twitter)アカウント、Facebookログインなどいろいろありますが、実装する以前の下準備が少しめんどくさいのでまとめました […]

WordPress

WordPressにプッシュ通知をつけるプラグイン(と通知用API)を作ったお話

最近は企業サイトやブランドサイトでもWordPress(以下WP)でのサイト構築が増えてきました。 弊社でもWPでのサイト構築やリニューアルなどが増えてきており、今後も需要が増えてくると思います。 また、今使っているWPのサイトをアプリ化したい(WebViewなどで)という事もあるかと思うので、その場合、比較的簡単にプッシュ通知を実装できるプラグイン(と通知を行うAPI)を作ってみました。 どんな構成 WPがPHPで動くので、開発言語はPHPとなります。 今回はプッシュ通知の […]

プログラミング

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

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

プログラミング

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

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

スマホアプリ

【Android】スプラッシュスクリーンを設定するお話

スマホアプリを作る上で欠かせない・・・訳ではないですが、アプリの構成に必要なのはスプラッシュスクリーン(以下スプラッシュ画面)ですよね そもそもスプラッシュ画面とは? スマホアプリにかかわらず、ほとんどのアプリやプログラムを起動した際に一瞬表示される画像のことです。 PC系は中央に小さな方形で表示されることが多く、スマホアプリや家庭用ゲーム機などは全画面で表示されるのが一般的です。 アプリによってはスプラッシュ画面が無い場合もあり、Androidは基本的に機能としては存在しま […]

スマホアプリ

【iOS】アプリでAdMobのGDPRに対応したお話

前回のあらすじ 前回はAdMobのGDPRメッセージ対応行うため、AndroidアプリでGDPRメッセージを表示するための方法をまとめました。 なので今回はiOSアプリで実装したいと思います。 ひょっとしてATTも対応してくれる? プライバシーとメッセージを見てみると「IDFA説明メッセージ」というものがあり、これはiOSアプリで広告などを出すときに必ず必要な「ATT(App Tracking Transparency:アプリトラッキングの透明性)」を通知するアラート機能をつ […]

スマホアプリ

【Android】アプリでAdMobのGDPRに対応したお話

どうしたAdMob? ふとAdMobのページを見ていると 年内には、欧州経済領域と英国のユーザーをターゲットとして広告を配信するすべてのパブリッシャー様に、Google 認定の同意管理プラットフォーム(CMP)の使用が義務付けられます。この目的のためには、Google 独自の同意管理ソリューションなど、 Google 認定の CMP を使用できます。Google の同意管理ソリューションに関心をお持ちの場合は、まず GDPR メッセージを設定し、 UMP SDK を実装してく […]

プログラミング

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

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

スマホアプリ

アプリのリリースタイミングを手動で行うお話

審査合格=リリース? 自分たちで作成したスマホアプリをプラットフォームにアプリレビューをお願いして、合格すれば無事リリースとなりますが、この場合審査終了後に自動的にリリースされてしまうので、例えばリリース日を設定したいときは困りますよね と言って当日に審査に出しても必ず通るかというとそうでもないですし、リジェクトされると翌日以降となってしまいます。 そこでアプリの公開を手動にすることで、自由なタイミングで公開することができます Googleアプリ(Android)の場合 まず […]

スマホアプリ

【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でや […]

スマホアプリ

無音カメラが国内ではリリースできなかったお話

みなさん、無音カメラ(Silent Camera)で撮影してますか? いきなりグレーゾーンの発言ぽくなりましたが、App StoreもGoogle Playにも無音カメラは割とたくさんリリースされています。 そこで弊社でもその波(!?)に乗り、無音カメラのリリースを検討しました。 実際どうなった? 結果から言うと、リリースはできませんでした。 理由としてはAppleからのリジェクトされたからなのですが、リジェクト理由は色々と考えさせられたので今回は記事にまとめます。 リジェク […]

プログラミング

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

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

スマホアプリ

【Android】Navigation Componentで簡単に画面遷移するお話

いにしえの時代のFragment間の移動 7年くらい前までであれば、Fragment間の移動はソースで記述していました。 Fragment Managerを呼び出してTransactionを生成して、遷移先のFragmentを生成してから書き換えるという感じです。 懐かしさすら覚えますが、当時はこれはこれで便利だなと思いました。 もちろん今でもこの方法は使えますので、既存のアプリをわざわざ後述するNavigation Componentに置き換えるメリットは薄いと思います。 […]

スマホアプリ

Appleにリジェクトされた内容をまとめたお話

前回のエントリーでは【Guidline 4.2.2】の事を書きましたが、色々とアプリをリリース申請していると、いろいろな理由でリジェクトされることがあります。 もちろんアプリの種類や状況によって大きく変わるので、これがすべての解決になるとは思いませんが、備忘録代わりにまとめたいと思います。 Guideline 1.2 – Safety – User Generated Content これは何かというと「安全性・ユーザー生成コンテンツ」の項目でなにかと […]

1 2