#メルカリ紹介コード
Explore tagged Tumblr posts
Text
Twitterの代替。感覚的にはThreadsよりもnoteかな。
Twitter の代わりになるかと、 Threadsを使い始めました。 でも 実際に使い始めてみると、慣れのせいもあるけれど、何と言うか、 ぎこちなさがある感じがして。 ほら、 noteってふんわりとした感じ あるじゃないですか。 柔らかいというかなんというか、分かりやすいというか。 呟きにもブログにも使える融通さ。 ThreadsはTwitterには及ばないと言うのは不適切だと思いますが、思っていた物、期待した物には今のところは届いていないイマージを受けました。 利用目的によるのでしょうね。 Twitterと比べちゃうからなのでしょうね。 当面は併用でいいのかなぁ。 noteもTwitterの速報性と拡散力には敵わないと思いますけど、Twitterとnoteを併用する気にはなるんです。 それは多分、用途が違うから。 でも、TwitterとThreadsを併用する気にはならないんですよ。 それは多分、似て非なるものだから。 もう少しThreadsが熟成してから考えてみようかなと。 この文章、TumblrとnoteとThreadsにポストします。
ご覧いただきありがとうございました。 コメント・評価・登録していただけると嬉しいです。
👇活動中のSNSなど、関連リンク集 → https://linktr.ee/GsunLog
👇投稿者プロフィール 1985年から91年まで、フィルム時代の映画館で350作品の上映に関わった映写技師。 マナーとルール尊重の試行錯誤ネットウォーカー。 格安のスマホ&回線で活動するのが好きな人です。 自由気ままなスタイルで動画やブログを投稿しています。
以下は実際に活用して良かったなーと思うサービスのリンクです。
👇スマホのギガ節約に!街中の公式WiFiに自動接続してくれます。 ポイントが貯まるフリーWiFi自動接続アプリ タウンWiFi で通信をお得に!貯めたポイントはmineoのギガや各種ポイントに交換できる! さっそく招待コード【kWvDvJ3q】を使って5,000pt(mineoの2.5GB相当)もらおう! https://app.townwifi.jp/AFkE/3h31wd8f
👇タウンWiFiで貯まったポイントmineoのギガに交換できます! mineoはユーザーフレンドリーな格安SIMで、とってもお気に入りです。 【mineo紹介キャンペーン】以下URLからのお申し込みでmineoから特典プレゼント! https://mineo.jp/syokai/?jrp=syokai&kyb=A5R2C2P8F8
👇捨てない断捨離と節約的な買い物も、メルリカリならできます。商品のほとんどが送料込みなのが良いです。 メルカリをはじめてみませんか? 500円分お得に購入できる招待コード【rmu259】です! ぜひメルカリのアプリをインストールしてお使いください! https://link.mercari.com/qCFjL4fXU7hJ9YmW7
2 notes
·
View notes
Video
youtube
【参考動画】ゼファー・ZRXのエンジンフィンが欠けちゃった・・・でも大丈夫!エンジンフィン補修の材料と方法をご紹介|カスタムネイキッド専門店 K...
2024年07月15日(月) 07時22分56秒
#monotaro#エンジンフィンが #モノタロウ#monotaro 【参考動画
テーマ:
ブログ エポキシ樹脂 使用事例 教えて
#モノタロウ村m#monotaro#エンジンフィンが
#モノタロウ#monotaro 【参考動画】ゼファー・ZRXのエンジンフィンが欠けちゃった・・・
+ + +
何だったっけ・・ガソリンタンクの内面さび止め・・
洗濯機パルセーター・・・どうしたの・・・
2024年7月3日・・・夜な夜な村さん・・久々QandA???・・・
111
#モノタロウ村m1
2024年07月14日(日) 11時34分25秒
#モノタロウ村m1#monotaro 【参考動画】ゼファー・ZRXのエンジンフィンが欠けちゃった
https://ameblo.jp/epoxy-blenny/entry-12859857163.html
222
2024年07月pageID=2=2頁pageID=2&entry_ym=20240
https://blog.ameba.jp/ucs/entry/srventrylist.do?pageID=2&entry_ym=202407
333
2020年09月24日(木) 10時05分38秒
+++ 2 +++ オートバイ-エンジンフィン-冷却フィン GM-8300肉盛り修理 ムラさん夜な夜なメンテナンス
https://ameblo.jp/epoxy-blenny/entry-12627150110.html
2020年09月24日(木) 12時35分11秒
#BlennyMOV-13 ムラさん流-耐熱アルミパテGM-8300でエンジンフィンの接着肉盛
https://ameblo.jp/epoxy-blenny/entry-12627175513.html
#BlennyMOV13 BlennyMOV-13 【GM-8300】バイクのエンジンフィン修理 ダイカスト 鋳物 金属 アルミ 非鉄 鉄 FRP CFRP 肉盛り 修理 耐熱パテ はちさんまるまる メンテナンス
https://www.youtube.com/watch?v=wPUEgezaK1Y&list=PLUqu-kjRuv9eDnKa3bI-40NJ9eY-CZSbm
#BlennyMOV-13
ムラさん流-耐熱アルミパテGM-8300でエンジンフィンの接着肉盛り修理1恐ろしい・・バルサを型枠に、離型剤も使わないで、型枠の固定は・・またまた、バルサをスペーサーにしてSANY0001-1.mov
https://www.youtube.com/watch?v=wPUEgezaK1Y&list=PLUqu-kjRuv9eDnKa3bI-40NJ9eY-CZSbm&index=1
#BlennyMOV13#夜な夜な村さん#バイクのエンジンフィン修理
+++
+++
1
エンジンフィンが
【参考動画】ゼファー・ZRXのエンジンフィンが欠けちゃった・・・
+++++++
【参考動画】ゼファー・ZRXのエンジンフィンが欠けちゃった・・・
エンジンフィン補修の材料と方法をご紹介|カスタムネイキッド専門店 KMD YOKOHAMA BASE
耐熱金属補修材・熱伝導接着剤
#GM-8300 #磨いて #金属光沢
https://www.monotaro.com/g/04557195/
#モノタロウ #monotaro.com 耐熱金属補修材・熱伝導接着剤 #GM-8300 #磨いて #金属光沢
【参考動画】ゼファー・ZRXのエンジンフィンが欠けちゃった・・・でも大丈夫!エンジンフィン補修の材料と方法をご紹介|カスタムネイキッド専門店 KMD YOKOHAMA BASE
https://www.youtube.com/watch?v=0WMulyEfp_4
https://www.youtube.com/watch?v=0WMulyEfp_4
https://www.youtube.com/watch?v=0WMulyEfp_4
エンジンフィンが
【参考動画】ゼファー・ZRXのエンジンフィンが欠けちゃった・・・
2
【参考動画】ゼファー・ZRXのエンジンフィンが欠けちゃった・・・
3
ZRXのエンジンフィンが #二次元コードQRコード
【参考動画】ゼファー・ZRXの
4
カスタムネイキッド専門店 KMD YOKOHAMA BASE
5
6
7
8
++++++++++++++
+++
モノタロウ
モノタロウ
https://www.monotaro.com/g/04557195/
https://www.monotaro.com/g/04557195/
5
モノタロウ
<
img src="https://stat.ameba.jp/user_images/20240618/09/epoxy-blenny/d0/9f/p/o0983061915452932148.png" width="420" height="264" alt="">
4
モノタロウ
3
モノタロウ
2
モノタロウ
1
モノタロウ
6
モノタロウ
https://www.monotaro.com/g/04557195/
+++
+++
###
モノタロウgm-8300
https://www.monotaro.com/g/04557195/
https://www.monotaro.com/g/04557195/
#金属パテ#耐熱パテ#耐ガソリン#ヒートサイクル#耐久接着肉盛り#ミグ溶接
モノタロウgm-5520
https://www.monotaro.com/g/05063083/
https://www.monotaro.com/g/05063083/
#金属接着#構造接着#異種間接着#耐衝撃すき間充填接着#スポット溶接
https://www.youtube.com/watch?v=FkfZzLnK6jA&list=PLUqu-kjRuv9d3gPBxP6jxTgev6PDs3JNk&index=3&t=0s
1BL#アルミ強力接着剤GM-5520タガネ#たたき壊して#衝撃強度#ハクリどぉ1#blennymov10#耐衝撃剥がれにくい#鈑金#アフターマーケット#スポット溶接アルミ溶接用途で#評価は?
#夜な夜な村さん・・・夜な夜な-メンテ
ムラさん&係長の-夜な夜な-メンテ「接着修理DIY実録」カワサキ・マッハH2からジェットスキー、RC零戦etcまで、修理-改造-フィールドテスト特集サイトTOPへ ブログサイトへ--エポキシEpoxy.com/先進エポキシ開発のブレニー技研。
http://www.blenny.jp/mura_kkabe/
http://www.blenny.co.jp/mura_kkabe/
http://www.blenny.jp/mura_kkabe/
#BlennyMOV41 BlennyMOV-41 28 ガソリンタンク サビ止め テスト 修理 溶けない 溶解 フィン 経過 夜な夜な ムラさん 実録 バイク 修理 GM-1508 GM-6800 GM-6815 GM-8300 GM-5520
https://www.youtube.com/watch?v=FjUZw2vHo4Q&list=PLUqu-kjRuv9eQc9sPf4UmEDEj9DhnDpQl
https://www.youtube.com/watch?v=FjUZw2vHo4Q&list=PLUqu-kjRuv9eQc9sPf4UmEDEj9DhnDpQl
#
#
++++++++++++++
++++++++++++++
#newsレジン#news/レジン===#########===#
メルカリ#ユニコーン企業#メルカリmercariブレニー技研Blenny
#ユニコーン的#フリーマーケット#メルカリ#モノタロウ住友
#バンパー修理
やっぱりblogの安定性は開発元・・系統・・ASP型ブログサービス
1
#タイプパッド#TypePad#シックス・アパート
https://blenny.weblogs.jp/
2
#Tumblr#タンブラー
#タンブラーブログ #Tumblr #タンブラー
http://blenny-giken.tumblr.com
3
#ブロガーBlogger
https://www.blogger.com/about/?hl=ja
#ジーナス#GM8300
+++#Blennymov8+
#Amazon #アマゾン#楽天モノタロウ#Yahoo!ショッピング#ハンズhands#ショッピファイblennyshop#ショッピファイ#myshopify#Yahooショッピング#エンジンフィン
#モノタロウ村m11#
#レジン
#モノタロウ
#エポキシ樹脂
#バイク
#Amazon
#エポキシ
#Yahooショッピング
#オートバイ
#GM8300
#エンジンフィン
++++++++++++++
++++++++++++++
ブレニー技研ホーム頁へリンク +++ ブレニー技研ホーム頁へリンク http://www.blenny.jp/ +++
0 notes
Text
招待コード掲示板の活用
メルカリやラクマなどは招待コードの入力、やハピタス・モッピー・ポイントインカムなどのポイントサイトは、紹介URL経由での登録でそれぞれ友達紹介ポイントがもらえる仕組みになっているのは、以前書いた関連記事をお読みいただければわかると思います。
【関連記事】
メルカリの始め方
ラクマの招待コードって何?
ポイントサイト初心者にオススメのハピタス・モッピー・ポイントインカム
ウーバーイーツプロモーションコードでタダ飯
すでに上記のようなフリマアプリやポイントサイトなどに登録している場合は、自分の招待コードや紹介URLから誰かに新規登録してもらうことで、友達紹介特典を獲得できます。
しかし身近にいる家族や友人には限りがありますし、それほどたくさんの人にサービスを紹介できるかというと…
難しいのが現状です。
では周りの人にフリマアプリやポイントサイトを一通り紹介してしまった後は、どうすればいいでしょうか?
もちろんTwitterやInstagramなどのフォロワーさんにフリマアプリやポイントサイトを紹介するという手段もあります。
とはいえ、あまりにもしつこく招待コードや紹介URLを連続でつぶやくのも問題で、フォロワーさんにブロックされたり、スパム行為と見なされて事務局に通報される可能性も高いです。
そんな時に役に立つのが、招待コード掲示板です。
→ 招待コード掲示板
招待コード掲示板では、誰もが自分の招待コードや紹介URLを書き込むことができます。
ただしルールは守りましょう。
もちろん荒らしや連続投稿によるスパム行為は厳禁です。
きちんとルールを守って、適切なカテゴリーに投稿していれば問題ありません。
もしメルカリやラクマの招待コードやポイントサイトを誰かに紹介したいのであれば、招待コード掲示板を有効活用してみてください。
#招待コード掲示板#メルカリ招待コード掲示板#ラクマの招待コード掲示板#ハピタス招待コード掲示板#モッピー紹介コード掲示板#ポイントインカム紹介コード掲示板#ポイントサイト#招待コード#紹介コード#友達招待キャンペーン#ポイ活初心者#ポイ活#ウーバーイーツプロモーションコード掲示板#ウーバーイーツ#タダ飯#副業で稼ぐ#副業#お小遣い稼ぎ#お小遣い#お得情報
0 notes
Photo
【✨メルペイで2300円もらおう!✨】 今なら最大2300円分のポイントが貰えます! メルカリ使わないし😏 とか思ってたけどー!! 幼稚園準備にかっちゃった🥳 しかも、クーポンあったから1ポイントで買えた😚 あとは、私の癒しのデザートに🍮 ありがたい〜! 私の招待コードを入力してもらえると 私にもポイントが付きます☺️ 私にポイントあげても いーよ❤️ という、優しい方がいましたらお願いしま〜す😆🎶 招待コード : RCPWAM こちらから登録↓ https://campaign.merpay.com/jp/2019-11-susumerpay?code=RCPWAM #メルペイ #すすメルペイ #すすメルペイキャンペーン #すすメルペイ紹介コード #ポイ活 #ポイ活挫折 #ペイ多すぎ #使うのドキドキ #バーコード見せるだけ #超簡単 #コンビニで使える #癒しのデザート購入 #幼稚園準備 #メルカリで購入 https://www.instagram.com/p/B4xFqDoA6l1/?igshid=1aadlhh45mwem
#メルペイ#すすメルペイ#すすメルペイキャンペーン#すすメルペイ紹介コード#ポイ活#ポイ活挫折#ペイ多すぎ#使うのドキドキ#バーコード見せるだけ#超簡単#コンビニで使える#癒しのデザート購入#幼稚園準備#メルカリで購入
0 notes
Text
メルカリShopsはマイクロサービスとどう向き合っているか
from https://engineering.mercari.com/blog/entry/20210806-3c12d85b97/
こんにちは。ソウゾウのSoftware Engineerの@napoliです。連載:「メルカリShops」プレオープンまでの開発の裏側の2日目を担当させていただきます。
メルカリShopsではマイクロサービスアーキテクチャによる開発を採用しています。ここではメルカリShopsではどのようにマイクロサービスと向き合っているかを紹介させていただきます。
メルカリShopsのマイクロサービス群
メルカリShopsはざっくりと、図のような形でマイクロサービス群が構成されています。
Frontendがひとつ、Backend For Frontend(BFF)がひとつ、そして(執筆時点で)約40ほどのBackendサービスが、それぞれが独立した実行環境で稼働しています。
BackendはShop(ショップ)、Product(商品)、Order(注文)、Payment(決済)といったドメインごとに独立したサービスが構築されており、ひとつのサービスはおおよそ10から20種程度のAPIを提供しています。
各サービス間の通信は基本的にgRPC / Protocol Buffersによって行われています。
マイクロサービスのメリット
システムを構築する際、マイクロサービスをアーキテクチャとして採用するメリットは何でしょうか。細かく考えると多岐にわたりますが、大きくは以下のような点が挙げられると思います。
変更による影響を局所化できる
システムリソース(機能)を効率的に再利用できる
サービスごとに自由な技術選定ができる
ソウゾウは会社のValueとして「Move Fast」を掲げており、開発に置いても「スピード感」をとても重視しています。もちろんスピードだけでなく、誰もが知っているような大きなプロダクトに育てていきたいという想いもあります。
大規模なプロダクトにおいて、短期的にも長期的にも開発のスピード感を維持し続けていくという目標を掲げた時、マイクロサービスアーキテクチャの採用は必然と言えるものでした。
そしてこの「開発のスピード感を維持し続けていく」ために「変更による影響を局所化する」という点が非常に重要な要素となってきます。
日々巨大化していくシステムの中で、「いちエンジニアがシステム全体を詳細に把握してから開発をスタートさせる」ことは困難です。困難というより無理と言っても過言ではありません。「ある箇所を触ったら思いもよらぬところで不具合が出た」なんてことが日常茶飯事で起こっていたとしたら、とてもじゃないですが「スピード感のある開発」は行なえません。
かといってスピードを重視するあまり、テスト不十分のまま不具合だらけの機能を提供するわけにもいきません。開発メンバーは変更による影響を注意深く探し続け、特定できた影響範囲に対して入念なテストを実施する必要があります。テストはどのような場合でも非常に重要なステップではありますが、その量が増えれば増えるほど、機能追加や改善に掛けられる時間はどんどんと少なくなってゆきます。
また、そのような複雑なサービスはあとから見た時や新しいメンバーが開発に参加した際に全体像の把握が難しくなります。どんなに優秀なエンジニアでも人間が一度に把握できる情報量には限界があります。安心してのびのび開発するためにも、影響範囲を局所化していくことは非常に重要なのです。
「サービスごとに自由な技術選定できる」という点に関してはメリットではありますが、デメリットにもなりえます。プロダクトを構成するマイクロサービス群のなかで、各マイクロサービスごとにあまりにもバラバラな技術スタックを採用していると、いざ開発メンバーでメンテナンスを行おうとした際に、それぞれの技術による知識を習得することから入る必要があり、とても大変です。
メルカリShopsではサーバサイドはGolang、フロントエンドとBFFはTypescript、データベースはCloudSQLなどといったように、使用する言語やサービスを限定的にして開発を行っています。
マイクロサービスのデメリット
一方で、マイクロサービスアーキテクチャにはデメリットも多くあります。
設計の難易度が上がる
データの一貫性を担保するのが難しくなる
サービス間通信によるレイテンシが大きくなりやすい
一定規模以上のプロダクトでない限り、恩恵を感じることが少ない
コードや設定が冗長になりやすく、初速が出にくくなる
個人的には、「設計の難易度が上がる」ことが一番のデメリットであるかなと感じます。正直なところ、マイクロサービスアーキテクチャは「エンジニアとしてこれから頑張っていくぞ!」というフェーズの方にはおすすめできないアプローチかもしれません。ゲームで言えば初見からHARDEST Modeでプレイするようなものです。一気に設計の難易度が上がります。
幸いにしてソウゾウには歴戦のツワモノエンジニア達が揃っているので、この点についての不安はそこまではありませんでした。(ただ、それでもやっぱり開発しながら難しいな…と感じることは多々ありますが…)
しかし設計の難しさをクリアできるとしても、「コードや設定が冗長になりやすく、初速が出にくくなる」という問題は無視できるものではありませんでした。ひとつのマイクロサービスを作るためには、実行環境の設定、権限の設定、依存サービスの設定、Bootstrapコードの作成、などなど、色々と作業があります。特にインフラ系の設定周りなどは普段アプリケーションよりの開発を行っているとハマりやすく時間が吸い取られていくポイントでもあります。
サービスを起動するための初期コードの作成も地味に大変です。例えばサーバサイドであればサーバを起動するための基本となるコードです。マイクロサービスアーキテクチャではなく、既に稼働しているサーバに機能追加するのであれば基本的には必要とされない作業です。生産的な作業でない割には時間が取られますし、「似たようなコードだから」といってテストしないわけにもいきません。
Code Generation
このマイクロサービス初期構築時の負担の軽減のため、メルカリShopsでは初期コードを自動生成してくれるCode Generationの仕組みがあります。
具体的にはyamlファイルに記載された設定をもとに、goのプログラムがサーバ起動のための最低限のコードを自動生成します。
これにより開発メンバーはサーバの「機能実装」に集中することが出来るとともに、マイクロサービス構築までの時間を大きく短縮させることが出来ます。
もちろんひとつの自動生成プログラムだけで十分な自動生成ができるわけではありません。メルカリShopsでは他にもコード生成の負担を減らすためのプログラム(ツール)が用意されています。
コードが冗長になることを受け入れ、ツールによってその負担を軽減していく、というのがメルカリShops開発での基本のスタンスとなっています。
Circular dependencyの検知
マイクロサービス群が成長していくと、マイクロサービス同士がCircular Dependency(循環参照)を起こしていないかを気をつける必要があります。
Circular Dependencyが発生すると「サービスを分離しているメリットをすべて潰してしまう」、「依存されてるものからデプロイ」ができなくなる」などといった様々な問題が出てきます。
厄介なのは循環参照は短期的には問題が顕在化しないケースが多くあることです。ある問題だけを解決するには手っ取り早い解決方法に見えることがあるので、つい誘惑に負けてしまいそうになります。しかし「循環参照しているサービスはそれすなわちひとつのサービス」になってしまうので、なんのために苦労して���イクロサービスアーキテクチャを採用しているのかが分からなくなってしまいます。言い換えると循環参照が増えていくと、そのシステムはそう遠くない未来に「マイクロサービスのメリットを潰してデメリットだけ残した悪いところどりのシステム」になってしまいます。
循環参照を防ぐにはどうしたら良いでしょうか。「各サービスが循環しないように各エンジニアが気をつける」のももちろん良いのですが、サービスの数が多くなってくるとかなりきつくなります。どのサービスがどのサービスに依存しているのかすべて把握しつづけるのは難しいため、システムに慣れていてもついうっかり発生させてしまうことがあります。
メルカリShopsではCI(Continuous Integration)によるBuild時に、Circular Dependencyを検知したら自動的にFailさせるというアプローチを取っています。もちろん自動的に依存関係を解消してくれるわけではありませんが、暗黙的にマイクロサービス間のCircular Dependencyができてしまうことを防いでいます。
Service Dependencies Graph
Circular dependency検知プログラムの副産物として、Service Dependencies GraphもBuildのたびに自動生成されるようになっています。
この図だと依存の線が多くなってやや分かりにくくなっていますが、ざっくりとどれが「多く依存されているサービス」や「上位のサービス」なのかが視覚的に分かりやすくなっています。
さらに図だけでは依存関係が正確に分かりづらいため、以下のような依存/非依存をを示すテーブルも自動的に生成されるようになっています。
Shop
Depends on Depends on indirectly auth business account customer
Depended from Depended from indirectly application contact product shipping order payment report sale review
mono-repository
メルカリShopsではMonorepoを採用しています。個人的にはMonorepoはマイクロサービスととても相性が良いと感じます。通常、サービスを分ける場合、Repositoryも分けることが多いですが、規模が大きくなりRepositoryがあまりに多く分かれてくるとそれぞれの連携が難しくなってきます。
一例ではありますが、例えばサービス全体をローカル環境で動かしたい場合、Repositoryが分かれているとそれぞれのRepositoryをCloneして、Buildして…といった作業が必要になってきます。数個のサービスなら手作業でもなんとかなりますが、数十個といった単位となると、動くサービスを構築するだけで��一苦労です。
(詳細な説明はここでは省きますが)メルカリShopsではMonorepoの構成にBazelを採用しているので、数多くのマイクロサービスをコマンド一発でBuildすることが可能です。
さらにdocker-composeと組み合わせることでこちらも一発でローカル開発環境を立ち上げることも出来ます。
開発環境をストレスなく継続的に構築できることは開発のスピードに大きく貢献するので、マイクロサービスを設計する際はそのあたりも意識してゆくと良いでしょう。
おわりに
いかがだったでしょうか。メルカリShopsでのマイクロサービスとどう向き合っているか、その一部を紹介させていただきました。これからマイクロサービスに挑戦していきたいエンジニアの方たちとって少しでも参考になれば幸いです。
マイクロサービスは難しさもありますが、うまく採用していくことで、拡張性、メンテナンス性をもったサステナビリティのあるシステムを構築することが可能なアーキテクチャであると思います。
本文でも言及していますが、設計の肝となるところは「いかに影響範囲、関心事を局所化していくか」であると言えるでしょう。ぜひみなさんもチャレンジしてみて頂ければと思います。
なお、メルカリShopsではメンバーを募集中です。メルカリShopsの開発に興味を持ったり、マイクロサービスによる開発にチャレンジしてみたいという方がいれば、ぜひこちらも覗いてみてください。またカジュアルに話だけ聞いてみたい、といった方も大歓迎です。こちらの申し込みフォームよりぜひご連絡ください!
https://storage.googleapis.com/prd-engineering-asset/2021/08/7fa73106-mercarishops-microservices.jpg
0 notes
Photo
⚡️《メルカリ》に新規登録するだけで500円分のポイントGET⚡️ フリマアプリのメルカリに新規登録する時に【ARJVYV】を入力すると、お買い物に使える500ポイントが手に入ります! ----------------------------------------- ポイントコード: ARJVYV ----------------------------------------- #メルカリチャンネル #メルカリ #メルカリハンドメイド #covid #コロナ #コロナ対策 #コロナに負けるな #ハンドメイド好きさんと繋がりたい #楽天スーパーセール #インテリア #インテリア雑貨 #キッチン収納 #サプリ #収納 #ママバッグ #ママコーディネート #ディズニー #dオタ #アニメ好き #グッズ #電子マネー #ペイペイ #メルペイ #メルペイスマート払い #メルペイクーポン #メルカリ紹介コード #メルカリ紹介コードよかったら #メルカリ招待 #メルカリ招待コード #メルカリ友達招待 https://www.instagram.com/p/B9vyiBVhi39/?igshid=1extrqw7sspc8
#メルカリチャンネル#メルカリ#メルカリハンドメイド#covid#コロナ#コロナ対策#コロナに負けるな#ハンドメイド好きさんと繋がりたい#楽天スーパーセール#インテリア#インテリア雑貨#キッチン収納#サプリ#収納#ママバッグ#ママコーディネート#ディズニー#dオタ#アニメ好き#グッズ#電子マネー#ペイペイ#メルペイ#メルペイスマート払い#メルペイクーポン#メルカリ紹介コード#メルカリ紹介コードよかったら#メルカリ招待#メルカリ招待コード#メルカリ友達招待
0 notes
Text
メルカリの始め方【初心者必読】
大掃除や部屋の模様替え、引っ越し、遺品整理などで掘り出��物が見つかりやすい時期、昔は不用品といえば粗大ゴミでしたが、現代では「誰かのゴミは誰かの宝」という概念も定着しつつあり、古くはヤフオク、最近ではメルカリ・ラクマのようなフリマアプリに出品してお小遣いを稼ぐのが主流です。
とはいえ、「メルカリには興味があるけど、まず何から始めればいいかわからない!」なんて人も多いのが事実。
もしこれからメルカリを始めようと思っているのであれば、以下のメルカリラブドットコムを参考にスマホ片手に作業を進めると良いでしょう。
→ メルカリラブドットコム
上記のメルカリラブドットコムに移行したら、まずフリマアプリ初心者さんが読むべきコンテンツはこちら↓
→ メルカリの正しい始め方
こちら↑を読めば、メルカリのアプリインストールから登録、購入、出品、梱包・発送、トラブルまでひと通りの基礎が身に付きます。
メルカリ招待コード入力で500円?
昔はメルカリといえば若者が個人売買するサービスでしたが、最近では60代以降のシニア層も増えています。
スマホの操作に慣れていないシニア層にとっても、メルカリは簡単に利用できるように設計されているのが特徴です。
まだメルカリを始めていないのであれば、ぜひこの機会に利用してみるとその便利さに感動するかもしれません。
ちなみにメルカリに無料会員登録する際には、招待コード(任意)という欄に WHJFVEと入力していただくと、500円分のポイントが付与されます。
メルカリ招待コード WHJFVE の入れ方は以下の記事を参考にしてみてください。
→ メルカリ招待コードの打ち方
アプリのインストール>会員登録>招待コード入力までの手順については、以下の記事が詳しいです。
→ メルカリ招待コード入力までの手順
1 note
·
View note
Text
大好き!ブランド品
数取り扱い! エピレザー仕様のバッグや財布、モノグラムボックス口ゴTなどなど DMからお気軽にお声がけ下さい! supremelouisvuitton ブランド ルイ・ヴィトン
更衣室に適当に置かれてるブランドバッグ。 いくら女子が3人しかいてないからって、勘弁してほしい。 貴重品なくなったりとか、ここで昼みんなとるのに汚されたりとか考えへんなかな…ピックアップでは、衣類・ブランド品・家電製品・ゲーム・おもちゃその他いろいろな商品を取り扱ってます!! いらなくなってしまったものや使えなくなったのもなどもどんどん買取します! 捨てる前に一度ピックアップにお持ち下さい!!
最近LINEに誰かわからん女のメッセがくるのは減ったけど つぎはなんかブランド品とかの宣伝かなにかのグループに入れさせ��れるんやけどあれなんや??今話題のメルカリ♡ 家に眠ってるいらない物を売って ブランド品を買ったり現金化して 賢く暮らそう( •̀ω•́ )/
メルカリ紹介コード✩ メルカリ☆★YJNQTQ メルカリアッテ☆HFBNURWG
自分投資を始めた。まずは知識を付けよう。 物(お金・ブランド品など)は人に奪われるが、知識は奪われない。自分を守る武器になる。いま話題になってるメルカリ 家に眠ってるいらない物を売って ブランド品を買ったり現金化して 賢く暮らそう(。>∀<。) ★★★入会でポイントゲットしよう!★★★ 招待コード→→ RZYJBA
招待コード入力で300円分のポイントゲット♬
中華バイヤーが扱っているファッションブランド品は大半が偽物と思った方が賢明。真贋が見極められない者が安易に格安商材に飛びついて仕入れても、「安物買いの銭失い」で終わるどころか、最悪の場合、偽造品販売で警察にしょっぴかれるなんて事にもなり兼ねません。 ヤフオク オークションコーチ、フルラ、グッチ、カルティエ、シャネル、ルイ・ヴィトン、エルメスなどのブランド品が新しく入荷しました。
今話題のメルカリ♡ 家に眠ってるいらない物を売って、 ブランド品を買ったり現金化して 賢く暮らそう( •ω•´ )/
メルカリ招待コード☆*。 メルカリ■YJNQTQ メルカリアッテ■HFBNURWG【ブランド品販売/買取実施中】 人気のLouis Vuitton×Supreme限定コラボ品多
京都 ブランド品買取
大黒屋 店舗検索 | ブランド品、時計、金買取
3 notes
·
View notes
Photo
メルカリ友達紹介コード 👉 VBWKUD 登録で300円もらえますので よければ登録してください #メルカリ #メルカリ出品中 #クーポン #クーポンコード #アマゾンプライム #節約 #ポイ活 #割引 #節約生活 #フォロー返します #フォローバック率100 #フォロバ100 #フォロバ100パーセント https://www.instagram.com/p/BwCbDUVjcCJ/?utm_source=ig_tumblr_share&igshid=est7x3kbi6mv
0 notes
Text
1日3000円稼げる副業【4選】
1.メルカリで転売する。
メルカリでの転売はとても簡単です。メルカリのアプリさえダウンロードすれば誰でもできます。副業向きです。
メルカリで副業している人は多いですし、確実に増えてきていると感じます。
稼いでいる人もかなりの数いるはずです。
ではメルカリで売れるといわれているものをざっと紹介していきたいと思います。
もしあなたがまだメルカリを利用したことがないのならばわたしの招待コード【XWRKKT】を入力してください。
「招待コード」をシェアすることで、あなたが招待コードを入力して新規会員登録を完了すると「あなたとわたしそれぞれに300円分のポイント」がプレゼントされます。
メルカリは300ポイントで購入できる商品がたくさんあるので是非このわたしの 招待コード【XWRKKT】を入力して、お得にスタートさせてください。
coelac…
View On WordPress
0 notes
Link
ChromeとFirefoxはFTPのサポートを終了する予定 (ギガジン)
新刊 書籍:入門JavaScript - フロントエンドエンジニアになるための基本と実践スキル
マイクロサービスって知ってる?メルカリの「伝わるデザイン」のプロセスを大公開! (Mercari Design | note)
音声デザインの導入ハードルを下げる、Alexaの取り組み (UX MILK)
Chrome Dev Summit 2018が開催!ウェブ制作者がチェックしておきたい、CSSとJavaScriptの最新情報 (コリス)
コードの各��に関するデベロッパー同士の議論をコメントのように残せる「CodeStream」最初はVisualStudio Codeをサポート (TechCrunch)
ChatWorkの「サービス連携ガイド」公開、APIの正式提供も (INTERNET Watch)
私の開発環境を紹介します - アプリケーション編 (LIG)
軽量で使いやすい非依存のオートコンプリートライブラリ「autoComplete.js」 (かちびと)
開発者が、開発者ではない同僚から言われて嬉しい11の言葉 - クライアントがIE6で使えなきゃダメだと言っている (POSTD)
Eva icons - 480種類以上の綺麗なアイコン集 (MOONGIFT)
0 notes
Text
メルペイ社内ツールのお話
from https://tech.mercari.com/entry/2019/12/05/112400
Merpay Advent Calendar 2019の5日目です。
メルペイ社内ツールのお話をしようと思います。 “個人事業主の集まりかよ”と評されることもある、メルペイソリューションチームの一員である、vvakameさんが開発・管理しているツールやシステムの紹介をします。今まであんまり外に出したことがなかったので。 mercari/datastoreなどのオープンになっているものや、OSSへのPRなどの社外からも観測可能なものは今回は割愛します。
そもそも、ソリューションチームとは?
vvakame(TypeScript, Go, GraphQLなど)、sinmetal(GCPほぼ全部 最近Spanner)、orfeon(Dataflowなど)��3名で構成される、何かを適当にいい感じにするチームです。 メンバー募集中なので興味がある方は適当にアポイントを取ってください。Job Descriptionとかも特に用意されていない…!
他に、エキスパートチーム(主にコミュニティ活動など社外活動を行う)と、アーキテクトチーム(主に真面目に社内の問題を検討したり設計を行う)があり、よく混同されます。
siege
用途・実績
データを暗号化して保存するためのソリューションが必要でした。これは、万一の流出の際に被害を抑える意味合いもありますし、開発者が運用に際してセンシティブな情報に極力関わらずに仕事をするためにも重要です。 当初、ある個人情報を管理するマイクロサービスのスループットが思わしくなく、それを改善するために開発されました。 現在、複数のマイクロサービスで利用されていて、今後も導入するマイクロサービスが増えそうです。
名前小噺
読み方は シージ です。siegeの意味を調べると“包囲作戦”などとなっています。 データをガッチリ守るための包囲ということですね!落ち着いて考えるとデータは守られる側で、包囲される側ではないと思われますが、冷静になってはいけません。
本当はRainbow Six Siegeというゲームの実況動画を見ていた時期があったのでそこから取りました。本人の腕前はソロキャンペーンがクリアできなくて詰まる程度の腕です。
解説
siege(的な何か)が必要である!という声があがったのはメルペイのリリースも迫りつつある2018年11月末。Google Cloud KMSを利用してのデータのencrypt/decryptが検討されていましたが、扱うべきデータ量が多く、レイテンシに問題がありました。これはアプリケーションの性質とGoogle Cloud KMSの組み合わせ方が悪かったことに起因しています。Google Cloud KMSは全データが通過するようなパイプラインではなく、少量のデータを処理する用途であるためです(※当時のログによるとQuotaは600/min 現在は60,000/minまで増やせるらしいので状況が変わっているかもしれません)。 そんなわけで運用上色々と課題があるため、独自のencrypt/decryptを行うソリューションを模索することになりました。そこで白羽の矢が突き刺さったのがソリューションチームで、ライブラリやフレームワークの開発を趣味としている僕でした。
当初、データ保護専用のマイクロサービスを開発する案もあり、siege-clientとsiege-serverという構成を考えていた気がします。 ところが、設計を検討している時に数々の短時間で解決が難しく、無理をすると負債化しそうな課題があがり、最終的にはHashiCorp Vaultとそれをwrapするライブラリであるsiege-clientという構成になりました。 セキュリティ上の問題はHashiCorp Vaultが持っている機能で概ね解決できます。
API設計的には、Google Cloud KMSからKeyRingなどを省いたものにしています。これは、Google Cloud KMSからの移行を容易にするためでした。 が、社内の使い方を見てるともっと単純なシリアライザっぽく使えたほうがわかりやすく便利だった気がします。 また、デフォルトの実装では一旦encrypt/decryotに必要なKeyを取得した後はそれをキャッシュし、完全ローカルで動作するようになっています。 siegeのバックエンドとして動作検証をバッチリ行ったのはHashiCorp Vaultだけですが、他にGoogle Cloud KMSを使うもの、完全にインメモリで動くもの(主にテスト用)も一応作ってあります。 他に社内のセキュリティ規格を満たすため、利用する暗号化規格の確認やKey Rotateの仕組みの実装を行いました。
利用しているHashiCorp Vaultの機能をざっくり解説します。
Namespaces (Enterprise版のみ)
マイクロサービスごとに独立した名前空間を利用
Transit Engine
encrypt/decryptを行うエンジン
KV Secrets Engine v2
いわゆるデータストレージ的なもの
CAS(Check-And-Set operation)のサポートが嬉しい
これらの機能を組み合わせて動作します。
ローカルでの処理に使うData KeyをKVから取得
存在しなかったらTransitにData Keyを作成してもらい保存
encrypt/decryptの要求が来たら、ローカルでいい感じに処理する
という感じですね。 実際はもうちょっと異常ケースや分散環境での整合性確保のための考慮がありますが、だいたいこんなものです。今のところ、問題が発生したりせず、Issueなどもほぼ立たず平穏です。 最初にキャッシュを作り後はローカルで動作する機能は性能面や運用面で良い面があり、実際にストレージ側でトラブルが起こった時もお客様に影響がない範囲に抑えることができました。新規Podの立ち上げができなくなった報告を聞いた時はかなり焦りました…。 他にも、orfeonさんがsiegeで処理されたデータをまとめてdecryptするためのDataflow Templateを社内ソリューションとして整備してくれました。大量のデータを処理したいときにすべてをHashiCorp Vaultに投げつけるのは厳しいので、この面でも良い方向に働きました。siegeはGo製ですが、orfeonさんは諸々の処理をJavaで書き起こしたそうです。大変だなぁ…。
僕がsiege-clientを作成し、その後プロダクト開発のみんながこれを使い続けていられるのには、2つのチームの貢献が非常に大きいです。
まず1つ目がセキュリティチーム。僕はセキュリティについては専門ではないですが、encrypt/decryptのソリューションを作成することになりました。そこで、セキュリティチームがメンテしている社内セキュリティ標準やガイドラインに沿って技術選定や確認を行い、次いでDesign Docのレビューや、Goコードの実装方法のレビューをも依頼することができ、安心して作業をすすめることができました。 セキュリティチームは社内から非常に気楽に相談をすることができ、協力もしてくれる非常に心強く頼もしい存在なのです。
そして2つ目がSREの方々。HashiCorp Vaultの運用(やHashiCorp社との契約のハンドリングなど)を行ってくれています。僕はライブラリ作って提供するだけで済んでいるのは、彼らが毎日(今日も!)、サービスのお守りをしてくれているからなのです。
そんなメルカリ・メルペイ社の素晴らしいチームの支援のもと、siegeは今日も元気に暗号化したり復号したりしているのです。 たぶん、僕やあなたの個人情報も。
gchammer
用途・実績
プロダクト開発と運用を行うにあたり、本番のDB(我々の場合主にGoogle Cloud Spanner)にアクセスしたい場合があります。 メルペイ社は金融サービスを提供しているため、本番のDBに直接アクセスするというのはおっかないですし、格納されている個人情報も可能な限り参照したくありません。 そこで、DBへのアクセスを可視化し、クエリの内容をレビューした上で実行し、さらにそのログも取りたい… というところで、DML申請ツールであるgchammerが生まれました。
名前小噺
sinmetalがつけました。読み方は じーしーはんまー です。 Spannerはスパナ(工具)なので、工具繋がりで、あと本番DBをボーン!!!!!とぶっ叩くのでハンマーにしました!gcはGoogle Cloudです!! って言ってました。物騒だなぁ。
解説
チーム内で実行するDMLをレビューして問題がないか確認の上、SREチームに実行を依頼し、実行結果を何らかのセキュアな方法で開発者に返す。そんな辛い運用が常態化していたため、これを解消しもっと前向きな仕事に使う時間を増やした��!という話だった気がします。 人間によるオペレーションは一定の割合でミスが発生しますし、障害発生時にやり取りのコストが嵩むのは精神的にもよくありません。 これを解決するため、sinmetalと僕でいい感じのアプリを作りました。
実際の画面はこんな感じ。
gchammerの画面
ちょいちょい不便な要素が見つかるたびに相談が来て、改善が続けられています。 実装的にはGraphQLで組まれていて、サーバ側はAppEngine+gqlgenで動いています。クライアント側はReactとApolloです。Spanner周りや権限チェック周りのコードはsinmetalがガッツリ書いております。 ある種僕の遊び場の側面もあり、新しいことはこのプロジェクトか、技術書典公式Webのどちらかが実験台になっています。
このプロジェクトでもセキュリティチームのお世話になっていて、彼らに侵入テストなどを行ってもらった結果、いくつかの改善点を見つけてもらうことができました。 ほんま頼りになるな!セキュリティチームがいる会社最高!
あと、各種本番DBにgchammerからアクセスするための権限管理の運用はterraformで行われています。そのため、gchammer利用開始のための手続きもGitHub上でPRを出せば済むようになっています。 ほんま便利やな!SREやマイクロサービスプラットフォームチームがいる会社最高!
user-tkool
用途・実績
アプリ開発時に、テスト用のユーザを開発環境や検証環境で作るのが辛い!めんどくさい!手順がわからない!という問題がありました。 実際、AccessTokenやらが欲しくても、それを作る手順は煩雑で、社内wikiにいくつも記事がありますし、ノウハウを知っている人を探して質問攻めにしたこともあります。 これを簡単に行えるようなツールがあれば、多くの人が楽をできることは明白です。
名前小噺
某R○Gツクールの名前にあやかって、user-tkoolでいいんじゃない?となってこの名前です。よって、読み方は ゆーざーつくーる です。 最近はnon-native Japaneseの人には発音が難しいし、つくる(TUKURU)とツール(TOOL)も結びつきにくいので、若干改名の機運を感じないでもない!
解説
当初の立ち上げメンバーがいたのですが、残念ながら退職してチームを離れてしまったので、現在は僕とQAチームのokamotokさんが引き継いで開発を行っています。 やはり実際に苦しんでいる人が絡むとドンドン追加���能案が出てきてすごい…! 僕はリファクタリングやレビューがメインで、新規開発はokamotokさんがバンバンPRを投げて来てくれます。圧倒的当事者意識を感じる…!
user-tkoolは利便性の観点から、Slackコマンドとして実行されています。誰かが使っている様子を見ると、他の人も使い方がわかります。
user-tkoolでユーザを作ったりしている様子
実際に使っている様子はこんな感じです(微妙な情報が多いので色々隠しています)。アプリケーションとかで利用するのに十分な情報が含まれているので、任意の状態のユーザを作り出してテストに利用することができるそうです。 メルペイでは本人確認のための方法も複数あり、ポイントも複数形式あったりしていますが、user-tkoolでは色々なオプションが提供されていて、任意の状態を作り出すのが今までに比べると格段に楽になりました。
“こうすればできる”というドメイン知識を蓄え、更新し続けていたokamotokさんの力が光ります。
もちろん、このツールは開発環境と検証環境でしか動きません。それらの環境でのみ利用可能な認証方法などの基盤を整備しているIDプラットフォームチームの仕掛けのおかげで比較的簡素に実装ができています。
また、セキュリティチームとSREチームについても、user-tkoolではご迷惑をかけたりサポートの手間をかけていただいています。ありがとうございます本当に!
終わりに
メルペイではミッション・バリューに共感できるソリューションなエンジニアを募集しています。我こそは!という方はソリューションチームの誰かに適当にアポイントを取ってみてください。
���日は @miisan さんによるメルペイのQA(品質保証)チームについての記事となります。お楽しみに!
https://cdn.blog.st-hatena.com/images/theme/og-image-1500.png
0 notes
Text
メルカリに出品する時の5つの質問に答えます
スマホアプリの王者、メルカリ
元通販スタッフのあかねこです。
(通販会社は��産したので元スタッフになった)
出店したことのある通販サイトは紹介が終わったので
あとはオークション系を少しご紹介します。
今日は「メルカリ」のご紹介
あかねこの招待コードはQFNVPB
メルカリ完全ガイド みんな大好きメルカリのお得な使い方教えます! Amazon 楽天 wowma セブンネット Yahoo
メルカリとは���
スマートフォンから簡単に出品出来るフリマアプリ
この簡単さが受けて、特に若い年齢層の利用率が高い
手数料はいくらくらい?
売り上げ手数料の10%のみ
月額手数料などはなし
個人出品で10%はちょっと高いかなーと思う
フリマアプリって?
スマートフォンのカメラで商品を撮影する
→写真をアップする
→商品タイトルと、商品説明文を記入する
→商品の…
View On WordPress
#4コマ#4コママンガ#4コマ漫画#イラスト#イラスト日記#イラスト絵日記#オークション#フリマ#フリマアプリ#マンガ#メルカリ#モバオク#副業#四コマ#四コマ漫画#漫画#通信販売#通販#通販ショップ
0 notes
Link
どうも、親からもらったお年玉でマッチングアプリを始めるも、いいね 0 件のまま 3 ヶ月で退会した@sadnessOjisan です。 今日はタイトルの通り、マッチングアプリ強者を体験できる PWA を開発します。具体的には、いいね 通知がたくさん届くアプリを開発します。なおこのアプリは「通知止まらん www」を体験できるアプリを作ったの影響を深く受けました。ただし、これから作る push 通知体験アプリでは、通知の疑似体験ではなく本当に通知が届きます シンプルにプッシュを送るだけのコード: https://github.com/sadnessOjisan/simple-push マッチングアプリ っぽいUIがついたコード: https://github.com/sadnessOjisan/simple-push-ui 書いた動機 この記事では Firebase を使った web push 通知を行う方法について、なるべく周辺知識に触れながら、解説を行っていきます。はじめて push 通知を行いたい人が、全体感を掴むと同時に、実際に手を動かして push 通知を送信できるようになる記事を目指しています。 どうしてこの記事を書いているかで言うと、いま現在(2019 年 7 月)、インターネット上に転がっている情報を集めながら開発していると、web push 通知機能について混乱を引き起こす可能性があり、情報を整理しておきたかったからです。その混乱の理由としては次の 3 つが挙げられます。 いまはサポートされていないサービスや規格について言及している記事の SEO パワーが強い push を送る方法が 1 通りではなく、誤った方法の組み合わせをしてしまう可能性がある push を行えるサービス(たとえば Firebase)の概念なのか、web push 通知そのものに関する概念のものかが分からない ex) VAPID, FCM, GCM, gcm_sender_id, APNs, Push Server, Push Service など ちなみに私は、はじめてweb push通知機能を実装する際、「web push 通知」でググったページだけで開発を試みましたが、動かなかったです。その後に Firebase のチュートリアルも行いましたが、自分で push 通知を送ることはできなかったです。 そこでこの記事では、push 通知について解説し、Firebase をどう使えば良いかを、なるべく写真やコードを示しながら、手を動かして学べるようにしました。 push 通知の仕組み そもそも push 通知ってなんでしょうか? スマホやブラウザを操作していると、上からひょこってなんか出てきますよね。それが push 通知でしょうか。 半分合っていて、半分間違っています。それはプッシュ通知そのものではなく、ただの通知とも呼べるからです。 なぜならサーバーから Push しなくても通知は出��るからです。たとえばアラーム機能などがそうです。 そのため、push 通知機能は、 サーバーから push された通知を受け取る機能 その受け取った通知をユーザーに表出させる機能 からなると捉えると良いでしょう。 この感覚は、後々デバッグするときに知っておくと役に立ちます。 たとえば、サーバーからの push に失敗しているのか、通知に失敗しているのかの切り分けができるようになります。 また切り分け観点では、iOS/Android アプリに通知を出すことと、ブラウザに通知を出すことも全然違うことを意識しておいてください。規格や利用できるツールからして大きく異なります。そのためweb push通知について調べる際はiOSやAndroidの情報に気をつけてください。(「push通知」ではなく「web push通知」と言う言葉で検索すると良いと思います。) 1 そこで次の節からは、iOS/Android に送る push 通知とブラウザに送る web push 通知について解説します。 iOS/Android にどう送るか iOS/Android への push 通知は、この記事で主として取り扱いたい内容ではないので、プッシュ通知の基礎知識&秒間 1 万を超えるプッシュ通知基盤のアーキテクチャと仕組みとは (1/2)をまるっと引用した文章で説明します。 プッシュ通知は iOS デバイスに対してはアップルの「APNs(Apple Push Notification Service)」、Android デバイスに対してはグーグルの「GCM(Google Cloud Messaging)」を利用して実現します。 細かな違いはあるものの APNs・GCM 共に基本的な考え方は同じで、プッシュ通知を実現するためには以下の 2 つの機能を保つ必要があります。 デバイス情報の登録機能 プッシュ通知の配信機能 プッシュ通知は APNs・GCM に対して「対象アプリ」と「対象デバイス」を指定してメッセージを送る必要があります。「アプリ」については APNs・GCM からアプリごとに認証キーが発行されるため、それを保持しておけばよいのですが、問題は「デバイス」です。 デバイスを指定するためにはデバイストークン(GCM の場合は登録 ID に当たりますがデバイストークンに用語を統一)という情報を必要とします。デバイストークンはデバイス内でアプリから APNs・GCM に通信をしないと取得できません。 プッシュ通知を行うためにはデバイス情報を自分たちで管理する必要があるため、アプリ内でデバイストークンを取得した後に自分たちのサーバーに送信して格納しておく必要があります プッシュ通知を配信するには、APNs・GCM に対して基本的には「認証キー」「デバイストークン」「メッセージ」を送る必要があります。これによりデバイストークンとひも付いた実端末に配信が行われます ここで注目したい言葉は APNs と GCM(いまは FCM に統一されています。) です。これらはそれぞれ、Apple と Google が管理している push 通知のためのサービスです。 ちなみに FCM のようなサービスを提供しているプラットフォームは Firebase だけではありません。いわゆる (m)BaaS を提供しているサービスであればサポートしているところもあるでしょう。たとえば、Azure にはNotification Hubsがあり、国内においても nifty がニフクラ mobile backendを提供しています。 また、これらのサービスに頼らずとも、APNs や GCM をそのまま使ったりもできます。その場合は自力で push 通知配信基盤を開発することとなります。メルカリ社は Gaurun といったライブラリを提供しており、配信基盤の開発を行うことができます。 web push 通知の仕組み 次に web push 通知を出す方法を解説します。 web push 通知は、 iOS/Android に対する通知と比べ、規格からまったく異なります。 web push 通知を行う際には、APNs や FCM といったサービスは不要です。ではどのようにして push 通知をしているのでしょうか。 それはブラウザそのものに web push を受け取れる機能を用意し、各ブラウザベンダーが提供している push server(push service とも呼ばれている)が push 通知をブラウザに送ります。そして、そのブラウザに備わっている Service Worker が、web push 通知をユーザーに通知しています。この仕組みは今の所、Google Chrome, Edge, Firefox, Android Chrome が対応しています。 web push 通知は、 push server を発火させる pushserver が serviceworker にメッセージを送る serviceworker が通知を出す といった順序で行われます。 そしてこれも混乱の原因なのですが、ここでいう push server は Firebase のようなサービスをさすのではなく、各ブラウザベンダーが提供している push 用のサーバーやサービスを差します。 そのような push server を利用するための方法や規格としてweb-push-protocol があります。この規格に則って、その push server を利用すれば push 通知は送れます。また、web-pushのようなライブラリを利用すると、この規格に沿った開発も比較的簡単に行えます。ただ、この方法は各ブラウザベンダーごとに実装を作る必要があり、少々苦労があります。 そこで、最近は mozilla が採用していた VAPID(Voluntary Application Server Identification for Web Push) という仕組みを各ブラウザベンダーが採用したことを受け、この VAPID に則った実装によって全ブラウザ共通の通知機能を開発します。 VAPID はアプリケーションサーバーが作った JWT を Push サーバーが検証し、検証に成功したら Push を送る仕組みのことです。この仕組みによりシンプルにさまざまなブラウザーに web push 通知を送れるようになりました。 さらには Firebase(FCM) がこの VAPID という仕組みに対応したことで、FCM を利用してサポートブラウザすべてに通知を送れるようになりました。これまでは FCM 経由で、Google Chrome に push を通知するためには gcm_sender_id というものをアプリケーション(manifest.json)で明示する必要がありましたが、VAPID を使える今は不要になりました。(ただし古いブラウザー(v51 未満)をサポートする場合は必要です。) Firebase が VAPID に対応したことにより、iOS や Android だけでなく Web にも通知を送れるようになりました。そのような背景があり、push 通知 = Firebase のような認識も持たれ始め、Firebase の用語と web push 通知の用語が混在して、自分が勉強したときに混乱したのだなと思っております。 次の章では、そんな便利な Firebase の使い方を紹介します。 Firebase から web push 通知を送ってみよう Firebase を設定する Firebase の初期設定を行います。 まずプロジェクトを作成しましょう。 Firebase を利用するには、Firebase から提供されている SDK が必要です。 その SDK には config が必要であり、ここではその設定情報を取得します。 取得しないといけない設定項目は、 const firebaseConfig = { apiKey: FIREBASE_API_KEY, authDomain: `${FIREBASE_PROJECT_ID}.firebaseapp.com`, projectId: FIREBASE_PROJECT_ID, messagingSenderId: FIREBASE_SENDER_ID }; です。すべて Settings に入っています。 FIREBASE_API_KEY は「ウェブ API キー」、FIREBASE_PROJECT_ID は「プロジェクト ID 」、FIREBASE_SENDER_ID はクラウドメッセージングタブの「送信者 ID」です。これらはどこかに控えておきましょう。 また、クラウドメッセージングタブにある、ウェブプッシュ証明書から鍵ペアを発行し、これも保存しておいてください。これは VAPID キー というもので、実際に通知を送るときに必要になるものです。 さきの VAPID の説明に当てはめるなら、JWT の検証に必要となる公開鍵です。 ここで気をつけたいことは、これから Firebase の Firebase Cloud Messaging というサービスを利用するわけですが、サイドバーにあるそれは利用しません。 このページに遷移すると Cloud Messaging 機能について解説されているのですが、web push 通知への導線がありません。結論から言うと、このサービスは今回は使わなくてもいいのですが、久しぶりに Firebase を使う場合などに混乱するかもしれないので気をつけておきましょう。 service worker を準備する。 web push 通知では、通知の受け取りは service worker 経由で行います。その service worker を設定しましょう。 firebase-messaging-sw.js という名のファイルをプロジェクトルートに設置しましょう。 そしてこれを JS で、navigator.serviceWorker.register('path/to/file')を実行し、サービスワーカーとして登録します。 と言いたいところなんですが、Firebase SDK を利用する場合はアプリケーションのルートに firebase-messaging-sw.js を設置しておくと、Firebase SDK(firebase-messaging.js)がこのファイルを自動的に読み取り、サービスワーカーとして登録してくれます。2 その、firebase-messaging.js の中身は次の通りです。ちょっとした解説やつまづきそうなポイントはコメントに書いています。 // importScriptsはservice worker内から他のserviceworkerを読み込むときに使えます importScripts("https://www.gstatic.com/firebasejs/6.2.4/firebase-app.js"); importScripts("https://www.gstatic.com/firebasejs/6.2.4/firebase-messaging.js"); firebase.initializeApp({ messagingSenderId: "11111111111" }); const messaging = firebase.messaging(); /** * background時の通知の扱い。ここではconsoleにメッセージを出力した上で、通知を出している。通知の中身はtitleやoptionから設定できる。 */ messaging.setBackgroundMessageHandler(function(payload) { console.log( "[firebase-messaging-sw.js] Received background message ", payload ); var notificationTitle = "ONIAI"; var notificationOptions = { body: "あなたのプロフィールがイイねされました", // 通知の右にでる画像 icon: "", }; return self.registration.showNotification( notificationTitle, notificationOptions ); }); /** * foreground時にメッセージを受け取ると、通知をする。通知の中身はtitleやoptionから設定できる。 */ self.addEventListener("push", function(event) { const title = "ONIAI"; const options = { body: "あなたのプロフィールがイイねされました", // 通知の右にでる画像 icon: "", // 通知の左にでる画像 badge: "" }; event.waitUntil(self.registration.showNotification(title, options)); }); ここまでくれば、Service Worker から ブラウザに通知を送ることができます。 適当な HTML ファイルと一緒に Firebase Hosting などにアップロードして確かめてみましょう。[^2] コンソールを開き、Application タブを選択してください。そこに Push とういボタンがあるはずです。 それをクリックしましょう。おそらく通知が届いたかと思います。 push service から push 通知をブラウザに届ける それでは service worker からではなく、push server経由で通知を送ってみましょう。 まず Firebase の設定を行います。なお私の環境は TypeScript と webpack を利用して開発を行なっています。そのため Firebase の SDK は node module として DL しています。 そのため、webpack のようなモジュール間の依存解決を行う bunlder を利用しない場合は、CDN 経由で Firebase の SDK を読み込んでください。3 また、私は TypeScript で書いていますが、型注釈は入れていないので、コピペすれば普通の ES6 対応の JS 環境でも動くかと思います。 import * as firebase from "firebase/app"; import "firebase/messaging"; const FIREBASE_API_KEY = process.env.FIREBASE_API_KEY; const FIREBASE_PROJECT_ID = process.env.FIREBASE_PROJECT_ID; const FIREBASE_VAPID_KEY = process.env.FIREBASE_VAPID_KEY; const FIREBASE_SENDER_ID = process.env.FIREBASE_SENDER_ID; const firebaseConfig = { apiKey: FIREBASE_API_KEY, authDomain: `${FIREBASE_PROJECT_ID}.firebaseapp.com`, projectId: FIREBASE_PROJECT_ID, messagingSenderId: FIREBASE_SENDER_ID }; firebase.initializeApp(firebaseConfig); const messaging = firebase.messaging(); confing にあるものは冒頭でメモしてもらった値です。私は .env として外部に書き出しているため、このような書き方になっていますが、直接書いてしまっても問題はないです。(どうせコンソール開かれたら見えてしまうものです。) これで Firebase Cloud Messaging(FCM) を使う準備が整いました。 そして次のコードをファイルに足しましょう。 messaging.usePublicVapidKey(FIREBASE_VAPID_KEY); messaging.onMessage(payload { console.log("Message received. ", payload); }); messaging .getToken() .then(currentToken { if (currentToken) { document.getElementById("token").textContent = currentToken; } else { console.log( "No Instance ID token available. Request permission to generate one." ); } }) .catch(err { console.log("An error occurred while retrieving token. ", err); }); messaging.usePublicVapidKey(FIREBASE_VAPID_KEY); で VAPID で利用する公開鍵を登録しています。 そしてmessaging.onMessage()でメッセージを受け取ったときの挙動を書いています。ここではメッセージ内容をコンソールに出力しています。ただし、実際に通知を受け取ってからブラウザに表出させる処理は、さきほど Service Worker に書いているので、この console 出力だけでもきちんと通知されるようになっています。 また、web push 通知をデバイスに届けるためには、配信する際にどのデバイスへ送るかを指定する必要があります。 その識別には token と読んでいるものを利用します。 messaging.getToken() では、そのトークンを取得し、その続くチェーンで token を画面に表示させています。この token を push を送るスクリプトや関数に読み込ませることで、端末を指定して web push 通知を送ることができます。 それでは、通知を送ってみましょう。Firebase を push service として利用する VAPID 方式の web push 通知では、ヘッダーに認証キーをつけ、body で送り先の token を指定し、https://fcm.googleapis.com/fcm/send に POST するだけで通知できます。 だいたいこんな感じの POST を送れば良いでしょう。 curl -X POST -H "Authorization: key=${ここにFIREBASE_API_KEYがはいります}" -H "Content-Type: application/json" -d '{ "notification": { "title": "ONIAI", "body": "あなたのプロフィールがイイねされました", "icon": "firebase-logo.png", "click_action": "https://webpush2me.firebaseapp.com" }, "to": "${ここにトークンが入ります}" }' https://fcm.googleapis.com/fcm/send あとはこの curl を連打しまくれば、通知がたくさん来ます。これであなたもマッチングアプリ強者です。やったね。会議中のミラーリング画面にひょこっと通知させたり、スマホに送ってバイブ鳴らしましょう。 モブプロ中に通知が来るとだいたいこんな感じになります。 きっと周りのみんなは「えっ、あの人、モテモテなの!すごい」ってなります。 ちなみにモテてるように見える人は、本当にモテるようになるらしいです。 マッチングアプリっぽい UI にする さあここまででpush通知機能を作ることができました。しかし、push 通知が来た時に、「どんな子から来たの。見せてよ」って言われたらどうなるでしょうか。実際にリンクから飛ぶとindex.htmlそのもののページに行ってしまいます。そこでこの章では UI を作っていきます。 この章で話したいことは、既存のプロジェクトでどのようにして web push 通知機能をいれるかです。 真面目な話、既存プロジェクトにプッシュ通知を導入するのは厄介な点があります。それは, manifest.json や firebase-message-sw.js やそれらが参照しているファイルは、ビルド後、デプロイ後の置き場所も決まっています。きちんとしたパスに置かないと、正しく動作しません。とくに JS をビルドするような開発方法をとっており、ビルド後スクリプトを別フォルダーに保存している場合にこの問題は起きます。 そこでここでは、ReactJS を使って UI を作り、そこに push を送る方法を解説します。とはいえ、難しいことは何も要求されません。ただ、ビルド時に必要なファイルをビルド先フォルダーへコピーしてあげるだけです。 いま、このような構造のディレクトリがあるとします。 $ tree -I node_modules -L 3 . ├── README.md ├── dist │ ├── 7506011b33e7e3e37f329cc8c87ba57e.jpg │ ├── build.js │ ├── firebase-messaging-sw.js │ ├── index.html │ └── manifest.json ├── firebase.json ├── package.json ├── script │ └── predeploy.sh ├── src │ ├── assets │ │ └── yk1.jpg │ ├── component │ │ └── Card.tsx │ ├── firebase-messaging-sw.js │ ├── index.d.ts │ ├── index.html │ ├── infra │ │ ├── data.ts │ │ └── firebase-messaging.ts │ ├── main.tsx │ ├── manifest.json │ ├── page │ │ └── Root.tsx │ └── vendor │ └── css ├── webpack.config.js └── yarn.lock src 配下は普通の React プロジェクトです。カードコンポーネントがあり、それが一人のプロフィールになっており、それを page/Root.tsx で並べています。また、firebase-messaging の設定は infra フォルダーに配置し、Root.tsx のマウント時で呼び出すようにしています。このプロジェクトは webpack で build すると、index.html は build.js を読み込む設定を加えられ、ビルド前のファイルは dist ディレクトリに build.js という名前で、共に吐き出されます。そしてこの dist ディレクトリをデプロイします。 その時に、index.html と build.js 以外に、push 通知に必要な manifest.json と firebase-messaging-sw.js もデプロイしないといけません。そのため、prebuild.sh という名前の build script を作成しました。 cp -r ./src/firebase-messaging-sw.js dist cp -r ./src/manifest.json dist もし、icon や badge の画像がある場合はそれも一緒にコピーしてあげましょう。 これを build 前に実行することで、FCM が必要とするファイルを dist フォルダーにコピーしましょう。 build コマンド は npm scripts で定義しています。 "build:prd": "BUILD_MODE='production' REACT_APP_ENV=production webpack", buildコマンドの前に prebuild script を実行することでFCM をデプロイ先でも利用できるようになります。 "deploy:prd": "sh ./script/predeploy.sh & yarn run build:prd & firebase deploy" これで build 処理があるようなプロジェクトでも push を受け取ることができるようになりました。 おまけ 登場人物の整理 言葉 説明 Firebase Google が提供する mobile Backend as a Service(mBaaS)。認証やストレージなどを提供しており、その機能の一つとしてメッセージ通知サービス(FCM)がある。 FCM Firebase Cloud Messaging。プッシュ通知を配信できる、Google 傘下のサービス。Android 端末だけなく、APNs 経由で iOS にも通知できる。iOS/Android 端末だけでなく Web にも通知を送れる(VAPID に対応したため)。 GCM FCM と同じくプッシュ通知を配信できるサービス。 FCM の台頭により廃止された。 APNs Apple が提供する プッシュ通知サービス。iOS に対して Push を行うことができる。 push server 各ブラウザベンダが保有している push 配信を行うためのサーバーやサービスを指す。例えば Mozilla はMozilla’s Push Serviceを持っていたり、Edge はWNS持っている。 VAPID Voluntary Application Server Identification for Web Push のこと。PUSH の送信を行うための規格。アプリケーションサーバーが作った JWT を、Push サーバーが検証し、検証に成功したら Push を送る仕組み。 service worker ブラウザが Web ページとは別にバックグラウンドで実行するスクリプト。push 通知文脈においては、メッセージの受信をユーザーに通知するために利用する。 web-push-protocol web push を行うライブラリが従っている規格。push API が実装されているブラウザはこの規格に従うように作られている。 最後に一言 いいねの数だけで人の価値は決まりません。どれだけ 1 人の大切な人を想えるかが重要なのだと思います。
0 notes
Photo
⚡️《メルカリ》に新規登録するだけで500円分のポイントGET⚡️ フリマアプリのメルカリに新規登録する時に【ARJVYV】を入力すると、お買い物に使える500ポイントが手に入ります! ----------------------------------------- ポイントコード: ARJVYV ----------------------------------------- #メルカリチャンネル #メルカリ #メルカリハンドメイド #covid #コロナ #コロナ対策 #コロナに負けるな #ハンドメイド好きさんと繋がりたい #楽天スーパーセール #インテリア #インテリア雑貨 #キッチン収納 #サプリ #収納 #ママバッグ #ママコーディネート #ディズニー #dオタ #アニメ好き #グッズ #電子マネー #ペイペイ #メルペイ #メルペイスマート払い #メルペイクーポン #メルカリ紹介コード #メルカリ紹介コードよかったら #メルカリ招待 #メルカリ招待コード #メルカリ友達招待 https://www.instagram.com/p/B9iwExxBqTf/?igshid=1anof8x5zse99
#メルカリチャンネル#メルカリ#メルカリハンドメイド#covid#コロナ#コロナ対策#コロナに負けるな#ハンドメイド好きさんと繋がりたい#楽天スーパーセール#インテリア#インテリア雑貨#キッチン収納#サプリ#収納#ママバッグ#ママコーディネート#ディズニー#dオタ#アニメ好き#グッズ#電子マネー#ペイペイ#メルペイ#メルペイスマート払い#メルペイクーポン#メルカリ紹介コード#メルカリ紹介コードよかったら#メルカリ招待#メルカリ招待コード#メルカリ友達招待
0 notes