Skip to content

Instantly share code, notes, and snippets.

View kawamurakazushi's full-sized avatar
🥕
making vegetables.

Kazushi Kawamura kawamurakazushi

🥕
making vegetables.
View GitHub Profile

Keybase proof

I hereby claim:

  • I am kawamurakazushi on github.
  • I am kawamurakazushi (https://keybase.io/kawamurakazushi) on keybase.
  • I have a public key whose fingerprint is CD3F 8DE9 4B0D DC82 4CD9 D167 1B2D 1CD4 11AD F2B0

To claim this, I am signing this object:

@kawamurakazushi
kawamurakazushi / gist:5c6e85303ac432d221128734815c9660
Last active February 16, 2021 22:46
メール機能の実装

メール送信機能を作成する。

Railsでメール送信機能を作成する。 メールサービス Amazon SES を使用する。

事前に準備が必要なもの。

  • AWSのaccess_key_idとaccess_secret_key

config/secrets.yml

今更聞けない、PropTypes と DefaultProps の話

前提

PropTypesとは、Reactのpropsに対して、型チェックを行うものです。 アプリの規模が大きくなるにつれ、型チェックによる、バグの発見は有効的な手段の一つです。 Flowや、Typescriptを使うのも良いですが、まずはReactのデフォルトのPropTypesを使ってみてはいかがでしょうか。

インストール手順

[
{
"id": 1,
"campaign_type": "beginner",
"top_image_url_1" : "http://img.retty.me/app/camp/beginner/201701-1/bgn_img1.png",
"top_image_url_2" : "http://img.retty.me/app/camp/beginner/201701-1/bgn_img2.png",
"banner_url": "http://img.retty.me/app/camp/beginner/201701-1/bgn_s_bnr.png",
"start_at" : "2017-01-12 07:00:00",
"stg_start_at" : "2017-01-01 16:00:00",
"end_at" : "2017-01-31 05:00:00",
[{"id":"100000023582","name":"22 "},{"id":"100000700257","name":"UOKIN PICCOLO \u9280\u5ea7\u5e97"},{"id":"100000711945","name":"\u30ef\u30a4\u30f3\u61d0\u77f3 \u9280\u5ea7 \u56c3shiya"},{"id":"100000851451","name":"\u9b5a\u725b"},{"id":"100000044517","name":"\u4f73\u80b4\u307f\u3092\u6728"},{"id":"100000046909","name":"\u3054\u3061\u60e3\u5bb6 "},{"id":"100001237240","name":"\u3050\u308a\u3080\u9928"},{"id":"100000793858","name":"\u30ab\u30d5\u30a7\u30e9\u30df\u30eb\u90fd\u7acb\u5927\u99c5\u524d\u5e97"},{"id":"100000040038","name":"Atzou "},{"id":"100001195977","name":"\u30c8\u30e9\u30c3\u30c8\u30ea\u30a2\u3000\u30a4\u30eb\u3000\u30c7\u30b9\u30c6\u30a3\u30fc\u30ce"},{"id":"100000022999","name":"\u3044\u3061\u3002"},{"id":"100000807161","name":"\u30c9\u30fc\u30ed "},{"id":"100000005824","name":"\u30a4\u30eb \u30dc\u30c3\u30ab\u30ed\u30fc\u30cd "},{"id":"100001161029","name":"\u30de\u30b6\u30fc\u30ea\u30fc\u30d5\u30c6\u30a3\u30fc\u30b9\u30bf\u30a4\u30eb \u6075\u6bd4\u5bff\u5e97"},{"id":"100000702504","name":"\
[{"id":"100001306801","name":"PNB\u3000\u73fe\u4ee3\u767e\u8ca8\u5e97\u3000\u72ce\u9d0e\u4ead\u5e97"},{"id":"100001294757","name":"\u660e\u6d1e\u9903\u5b50"},{"id":"100000755449","name":"\u4e00\u8336"},{"id":"100001306810","name":"THE BEST BURGER\u3000INSEOUL"},{"id":"100001298395","name":"\u30b9\u30bf\u30fc\u30d0\u30c3\u30af\u30b9\u30b3\u30fc\u30d2\u30fc\u4ec1\u5bfa\u6d1e\u5e97"},{"id":"100001306571","name":"\u9577\u5b89\u53c2\u9d8f\u6e6f"},{"id":"100001306438","name":"PASCUCCI \u72ce\u9d0e\u4ead\u30ed\u30c7\u30aa\u5e97"},{"id":"100001306425","name":"GOURMET494 \u30af\u30c3\u30c1\u30fc\u30ca"},{"id":"100001306415","name":"Angel-in-us Coffee \uba85\ub3d9L7\ud638\ud154"},{"id":"100000884053","name":"\uc9c4\uc6d0\uc870\ubcf4\uc2e0\ub2ed\ud55c\ub9c8\ub9ac "},{"id":"100001186449","name":"cafe coin"},{"id":"100001245615","name":"\ub2e4\ubbf8\uc8fd"},{"id":"100000858275","name":"\uc655\ube44\uc9d1 \uba85\ub3d93\ud638\uc810"},{"id":"100000860570","name":"YeongYangCenter"},{"id":"100001262933","name":"\u30bd\u30a6\u3
[
{
"id": 3
, "title": "第6話"
, "updated_at": "2016/09/18 20:00"
, "images": [
"http://howcollect.cdn-donuts.jp/files/comic/contents/002/024/5542ede3fb4dc8949c04a99d9b20b1e7/20160630111100664994/001.jpg"
, "http://howcollect.cdn-donuts.jp/files/comic/contents/002/024/5542ede3fb4dc8949c04a99d9b20b1e7/20160630111100664994/002.jpg"
, "http://howcollect.cdn-donuts.jp/files/comic/contents/002/024/5542ede3fb4dc8949c04a99d9b20b1e7/20160630111100664994/003.jpg"
, "http://howcollect.cdn-donuts.jp/files/comic/contents/002/024/5542ede3fb4dc8949c04a99d9b20b1e7/20160630111100664994/004.jpg"
[
{
"id": 3,
"title": "7days限定 年下カレシ~ナカまで満たして~3",
"image": "http://howcollect.cdn-donuts.jp/files/comic/contents/002/024/5542ede3fb4dc8949c04a99d9b20b1e7/20160630111100664994/001.jpg",
"comic_episode_title": "第6話",
"comic_episode_updated_at": "2016/09/18 20:00"
},
{
"id": 2,