|
1 2 3 4 5 6 7 8 |
// BOMがついていたらBOMを削除して保存 $filepath = 'hoge.csv'; $contents = file_get_contents($filepath); $bom = pack('H*','EFBBBF'); if(substr($contents, 0, 3) === $bom) { $contents = substr($contents, 3); file_put_contents($filepath, $contents); } |
個人でフリマサイトを立ち上げる計画が頓挫
個人の方からの依頼で、ある特定のジャンル限定のハンドメイドグッズのポータルサイトを立上げ、稼働しています。
今回、そのサイトの収益化のために、「サイト内でグッズ作成者が販売もできるようにしよう」となり、フリマサイトとしての機能を実装しました。
ここで重要なのが、カード決済のプラットフォーム、つまり決済代行システムの組込みです。
通常のECサイトはサイト運営者が商品を販売しますが、フリマサイトではグッズ作成者が販売し、サイト運営者は販売者と購入者の仲介のような立場になります。
そのため、通常のECサイトではなく、マーケットプレイス型のサイトに対応する決済システムを提供している決済プラットフォームを選択する必要があります。
調査の結果、以下の2つが最終候補になりました。
・PAY.JPが提供する「PAY.JP Platform」
・Stripeが提供する「Stripe Connect」
まずはPAY.JPに登録し、テスト環境へPAY.JP Platformの決済システムを組み込みました。
テスト環境でフリマサイトとして動作に問題ないことを確認し、いざ本番環境の申請を行いました。
審査が通りませんでした。
フリマサイト自体が通常のECサイトよりも審査が厳しいという情報はPAY.JPが公式で言っていたので覚悟はしていましたが、ECサイトとして実績がなく、運営者が個人の方ということもあり、申請書類の不備などではなく、門前払いのような感じでした。
仕方ないので、もう一つのStripeに申し込み、Stripe Connectの決済システムを組み込みました。
これもテスト環境でフリマサイトとして動作に問題ないところまで確認してから、本番環境の申請を行いました。
やはり審査が通りませんでした。
フリマサイトとして販売者と購入者の仲介を行う場合、ユーザー間のトラブルに対応できる体制が運営者に求められます。「運営は何もせず、当事者間で解決してもらう」というようなことは特に決済周りに関しては認められません。
そのため運営者側にある程度の実績が求められるようです。
カード決済ができないと販売サイトとして成り立たず、審査なしでカード決済を行うことはできないので、いったんグッズの販売を断念せざるを得ませんでした。
Visual Studio Codeの検索で「含めるファイル」の絞り込みがなぜか機能しないとき
Visual Studio Codeには標準で複数ファイルを検索・置換する便利な機能がついています。
しかも、フォルダを右クリックして「フォルダ内を検索」を選択すれば
「含めるファイル」という欄にフォルダが入力された状態で、そのフォルダ配下のみをすばやく検索することができます。
しかし、私の環境が悪いのか、
上記の操作で指定したフォルダ配下のみを検索しようとしても、
ワークスペース配下のすべてのフォルダから検索してしまいます。
調べても情報がないので、私の環境だけなのか、私が知らない設定があるのかだと思うのですが、
原因をよくしらべたところ、「含めるファイル」にピリオドから始まる相対パスが入っていると
絞り込みが機能しませんでした。
例:
|
1 |
./プロジェクト名/フォルダ名/ |
なので、調べたいフォルダを右クリックして「パスのコピー」を選択し、
あらかじめ絶対パスを取得してから検索を開き、
「含めるファイル」に絶対パスを指定することで、絞込みを行うことができました。
例:
|
1 |
C:/vscode/data/プロジェクト名/フォルダ名/ |
/はスラッシュでも円マークでもどちらでもOK
毎回余計なひと手間が必要なので不便ではありますが
同じように悩んでいる方がいらっしゃったら絶対パスを入れてみてください。
Google Workspaceで間違えてライセンスを追加してしまった
Google Workspaceの管理者を長いことやっていますが、
案件でGoogle Workspaceのアカウントを新規に作成することになりました。
必要なユーザー数ぶんのライセンスを追加し、ユーザーを作成し、
ドメインやメールの設定も終えて、試用期間の終了とともに稼働という流れで順調に進んでいました。
試用期間の最終日に、管理画面のサブスクリプションのページを見ると
「ライセンスを追加する」というボタンがあったのですが
そのときなぜかこのボタンが「ライセンスを有効化する」というボタンに見えてしまい、
「このボタンを押さないと作成済みのライセンスが有効化しないのかな」
と考えボタンを押してしまいました。
すると即座にライセンスが1つ増え、試用期間も即座に終了して年間プランが始まってしまいました。
(自分が年間プランなのかどうかもわかりづらい)
あわててチャットボットにキャンセルできるか問い合わせても
「年間プランのため、ライセンスを減らすのは1年後しかできません」と言われました。
しかし、Google WorkspaceのチャットはAIチャットボットから有人対応に切り替えることができます。
入力欄に「サポートに問い合わせる」と入力して有人チャットに切り替え、
今日まで試用期間だったのでなんとか取り消すことはできないかお願いしたところ
取り消してもらうことができました(ありがとうございます)。
[Linux]MySQLのダンプファイルが大きすぎるのでテーブルごとに分割する
システムトラブルの原因を探るためにデータベースのバックアップを確認したい。
ダンプファイルから特定のテーブルだけ検証環境へインポートしたい。
しかしダンプファイルが数ギガバイトもある!
そんなときに便利なのがこのスクリプトです。
ダンプファイルをテーブルごとに分割してくれます。
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
# MySQLダンプファイルをテーブルごとに分割する # # 引数1:ダンプファイル(gzは解凍しておく) # 引数2:出力先ディレクトリ(なければ自動で作成される) # # 例:./split_dump.sh dump/all_dump.sql table_sql csplit $1 '/DROP TABLE IF EXISTS/' {*} > /dev/null rm xx00; files=`find ./ | sed 's!^.*/!!' | grep 'xx.*'` for filepath in $files; do if [[ "$filepath" =~ xx.* ]]; then tableName=$(head "./"${filepath} | grep S\ ` | cut -d"`" -f2) #echo $filepath": "${tableName} mv $filepath ${tableName}".sql" fi done mkdir -p $2 mv *.sql $2 |
split_dump.shとでも名付けて保存して、実行権限を与えましょう。
使い方は
|
1 |
./split_dump.sh ダンプファイル(sql) 出力先ディレクトリ |
例:
|
1 |
./split_dump.sh dump/all_dump.sql table_sql |
