投稿

Twilioにアカウント作成してBundle登録

Twilioを利用して会社用電話番号を取得したときの覚書。 環境: 株式会社、埼玉県川口市 Twilioにアカウント作成 Twilioを日本で利用するのにTwilio本社経由とKDDI経由がある。 参考:  日本でのTwilioアカウントについて – takeshi.furusato.blog さらにソフトバンクもTwilioと提携して固定電話サービスを始めるニュースが出た。 参考:  Twilio、ソフトバンクと提携して国内全域の固定電話番号で利用できるクラウド音声通話サービスを提供開始~電話回線の工事が不要で簡単に導入可能~ | 企業・IR | ソフトバンク 048の番号が欲しかったので後で要チェック。 前に調査したときにアカウント作成してた。 参考:  FreePBX + Twilioで外線電話を着信(調査編) Bundle登録 最初KDDI経由のアカウント登録があるというのを知らなかったので、下記手順でBundle登録したら翌日にRejectedの通知が来た。 KDDIウェブコミュニケーションズ Twilio サポートからは取引時確認が必要という案内が来た。 Twilio Bundlesの設定と登録方法【法人様の本人確認】 Twilio公式経由のアカウントなので公式ヘルプを参考にしながら再登録してみた。 Japan: Regulatory Guidelines | www.twilio.com 日本向け - Regulatory Bundle(規制情報)に関わる書類の提出方法 – Twilio Support 下記を一旦削除して提出し直し。 Completed Japan Regulatory Bundle Application(バンドル申請書) 公式ヘルプからWordファイルをダウンロードして入力する。 「チェック」で変換すると☑にできる。 パート5証明の署名は、印刷→直筆サイン&代表印→スキャン→PDF結合してアップロードした。 Corporate registration document(登記簿謄本) 約8ヵ月前に登記簿謄本(登記事項証明書)をスキャンしたPDFを添付。 Corporate registration showing name of the Authorized Representative(代表者の会社登録情報) 登記簿謄本PDFを

お知らせ投稿編集用のフリーのWYSIWYGエディタ

WordPressのお知らせ投稿を自前の管理画面で実装しているときに、HTMLを編集するWYSIWYG(What You See Is What You Get)エディタは何がいいのかと調査したときの覚書。 環境: WordPress 5.9.3 WYSIWYGの一覧はWikipediaが参考になる。 WYSIWYG - Wikipedia TinyMCE WordPressに組み込まれている有名なWYSIWYGエディタ。 ライセンスは6.0(2022年4月リリース)からMIT。 Tinyという会社がメンテナンスしている。 The Most Advanced WYSIWYG HTML Editor | Trusted Rich Text Editor | TinyMCE What’s new in TinyMCE 6.0 | TinyMCE フリー版にはTable編集機能がない。 コマーシャルライセンスで使うならCKEditorよりTinyMCEがお勧めという記事をアップしている。 CKEditor vs TinyMCE | Why TinyMCE is the Best CKEditor Alternative | TinyMCE CKEditor TinyMCEと同じ2大WYSIWYGエディタの一つ。 コマーシャルライセンスのフリー版は5ユーザーまで。 フリー版にTable編集機能あり。 WYSIWYG HTML Editor with Collaborative Rich Text Editing summernote コミュニティで開発しているオープンソースのWYSIWYGエディタ。 jQueryベース。MITライセンス。 Table編集機能あり。 Summernote - Super Simple WYSIWYG editor 「メディアの追加」の実装が大変そう。

人口メッシュ統計を作成するには

市区町村ごとではなく、病院を中心に半径〇kmの人口統計を得るにはどうすればいいか調査したときの覚書。 総務省統計局が地域メッシュ統計の作成方法をまとめている。 統計局ホームページ/地域メッシュ統計 東京⼤学空間情報科学研究センターの資料が具体的で参考になりそう。 【PDF】簡易100mメッシュ⼈⼝データの作成|東京⼤学空間情報科学研究センター すでにGoogle Map APIと連動したjSTAT MAPが利用できる。 地図で見る統計(統計GIS) | 政府統計の総合窓口 国土数値情報ダウンロードサービスから区域や施設データをダウンロードできる。 国土数値情報ダウンロードサービス 医療圏データには人口情報も付随しているので使えそう。 国土数値情報 | 医療圏データ 商用利用も可能。コンテンツを利用する際は出典を記載する。 利用規約 【関連記事】 e-StatのAPIを利用してデータ分析【API利用準備編】

git for windows 2.35.2 fatal: unsafe repository

Gitに脆弱性があるということでアップデートしたら下記エラーが表示されるようになった。 fatal: unsafe repository ('//vm-dev3/httpd/my-project' is owned by someone else) To add an exception for this directory, call:         git config --global --add safe.directory //vm-dev3/httpd/my-project 環境: git version 2.35.2.windows.1 開発環境はWindowsから仮想マシン(CentOS)の共有フォルダにアクセスしている。 言われた通りsafe.directoryに追加してみる。 PS W:\my-project> git config --global --add safe.directory //vm-dev3/httpd/my-project PS W:\my-project> git status warning: encountered old-style '//vm-dev3/httpd/my-project' that should be '%(prefix)//vm-dev3/httpd/my-project' fatal: unsafe repository ('//vm-dev3/httpd/my-project' is owned by someone else) To add an exception for this directory, call:         git config --global --add safe.directory //vm-dev3/httpd/my-project 調べてみると「%(prefix)/」を追記する必要があるという情報があった。 Git for windows 2.35.2 can not add exception safe.directory - Stack Overflow PS W:\my-project> git config --global --edit [safe] dire

PHPセッションの設定確認

Oauthのstate用にセッションIDをハッシュ化して開発している時に本番環境でうまく動かなかったので、一つずつ原因を紐解いていったときの覚書。 環境: CentOS Stream 8, nginx 1.20.2, PHP 7.4.19, WordPress 5.9.2 Android上のChromeで動作確認している。 デバイスの開発者向けオプションを設定する  |  Android デベロッパー  |  Android Developers Remote debug Android devices - Chrome Developers PHPセッション設定 まずはPHPのセッション関連設定を確認する。 セッションIDの置き場所の確認 # less /etc/php-fpm.d/www.conf php_value[session.save_handler] = files php_value[session.save_path]    = /var/lib/php/session セッションのタイムアウト時間設定の確認 # php -i | grep session session.cookie_lifetime => 0 => 0 session.gc_maxlifetime => 1440 => 1440 session.name => PHPSESSID => PHPSESSID cookie_lifetime=0の場合はブラウザが閉じるまでセッションを維持する。 gc_maxlifetime=1440は秒数。24分経過するとガベージコレクションで(一定確率で)消去される。 念のためphpinfo()をどこかに設置して、php-fpm経由のphpinfo()を表示して確認する。 セッションID生成の動作確認 PHPセッションの基本的な動作は公式サイトを参考に。 PHP: 基本的な使用法 - Manual session_start()したときに生成したセッションIDを確認する。 ChromeブラウザのDeveloper Toolsの「Network→(リクエストしたパス)→ Cookie」を見る。session_start()するパスではPHPSESSIDが生成されているはず。 Name: PHPSESSID Val

JavaScriptでシークレット/プライベートモードか判定できる?

ブラウザがシークレットモード(Incognito mode/Private mode)だと予期せぬ不具合が発生するので、事前に警告するためJavaScriptで現在のモードを判断できるか調査したときの覚書。 シークレット ブラウジング - パソコン - Google Chrome ヘルプ Gist | Detect if the browser is running in Private mode (Promise based) ユーザーエージェント文字列を用いたブラウザーの判定 - HTTP | MDN Gistのサンプルコードは動作しないというコメントがある。 そもそもシークレットモードが検知できるのがセキュリティ的な欠陥という議論がある。 「Chrome」のシークレットモードを検知できる手法、研究者が指摘 - CNET Japan 今検知できたとしても、将来的に出来なくなる可能性が高そう。 事前に検知するのは諦めた。 IEのテストをしなくてよくなったと思ったら、意外な検査項目が増えた(笑) 【関連記事】 WordPressのSessionの仕組み LINE Notifyでメールアドレスがないユーザーとの問合せ機能を実現したい

nginxで国単位のIPアドレス制限

セキュリティのために日本国外からのアクセスをブロックしようとしたときの覚書。 環境: CentOS Stream 8, nginx 1.20.2, PostgreSQL 14.2 IPアドレスから国を判定するためにMaxMind社が提供しているデータを使う。 MaxMind社はIPアドレスの位置情報を提供しているアメリカの会社。 参考:  MaxMind - Wikipedia nginxにGeoIP2モジュールを追加するとパフォーマンスに影響が出そうな気がするので、まずは国ごとのIPアドレスリストを生成することから始めてみた。 MaxMindはAPIを幅広く提供していて使いやすい。 GeoIP2 and GeoLite2 Database Documentation | MaxMind Developer Portal GeoLite2はクリエイティブコモンズライセンスで提供されている。 配布する場合はクレジット表示が必要。 参考:  GeoLite2 Free Geolocation Data | MaxMind Developer Portal 国別IPアドレスリストをPostgreSQLにインポート 公式サイトを参考に。MySQLへのインポート方法もある。 PostgreSQLにはcidrというIPv4とIPv6を格納するデータ型があるので便利。 Importing GeoIP2 and GeoLite2 databases to PostgreSQL | MaxMind Developer Portal PostgreSQL: Documentation: 14: 8.9. Network Address Types 簡単な手順 メールアドレスでサインアップする。 マイページ左メニューの「Download Files」から「GeoLite2-Country-CSV」zipファイルをダウンロード。 ASNはAS番号を割り当てられた組織 参考:  自律システム (インターネット) - Wikipedia PostgreSQLにインポート CSVファイルを開発サーバーに置いて、DBeaverでデータベースを作成して、公式サイトのcreate table文を実行。 参考:  Importing GeoIP2 and GeoLite2 databases to Po