SnapmartのAndroidアプリはReact Nativeで実装されています。iOSアプリはSwiftで実装されているのですが、この度、React Nativeで置き換えることにしました。手順は、まずAndroidアプリを作り、それからiOSアプリを置き換えることにしました。((当初そもそも…
クリスマスといえば、フライドチキン。フライドチキンといえば、揚げた鶏。揚げた鶏といえば唐揚げ。揚げた鶏といえば竜田揚げ。さて、唐揚げと竜田揚げとフライドチキンの違いがわからないことに気づいた。これは大変まずい。 もし仮に、クリスマスパーティ…
AWS S3を利用していると、ある特定のバケット内のオブジェクトをワイルドカードを使って削除したい場面があると思います。 シェルスクリプトのrmコマンドと同じノリでいけるかと思いきや、オプションを指定しなければならなかったので、そのメモを残します。
iOSアプリの審査申請時、広告ID(IDFA)を選択するように言われます。間違った選択をすると審査で落とされてしまうのですが、毎度毎度「どの設定したらいいんだっけ?」と悩まされます。今回は自分用にReact Native + ExpoによるiOSアプリ審査申請時の広告ID(I…
学生時代に飲食店でアルバイトをしていたのですが、メニューにない炒飯をひたすら練習していました。その飲食店は業務用の高火力コンロと鉄製の中華鍋があったので、何も考えなくても美味しい炒飯が作れたのですが、家庭だとそうはいきません。時が過ぎて201…
草津温泉 若乃湯 草津舘は、これまで自分が行った旅館の中で、ダントツでした!若女将のホスピタリティ、料理、温泉と、どれをとっても良かったです。ロケーションも良いですね。湯畑からも近いですし、湯もみ体験所の隣なので、「草津節」も聞こえたりしま…
前回の一人開発合宿が2018年5月でした。2018年-2019前半は記憶がなくなるくらい、忙殺されていたなぁとしみじみ思います。さて、一人合宿も今回で6回目です。今回は、会社で使った技術が雑誌寄稿のネタになったので、短期連載を持つ事になりました。しかし、…
自分は、bundle installをする時に--path vendor/bundleを付けてプロジェクトごとにgemを管理しているのですが、なぜかこのオプションだけ覚えることができないので、備忘録的に書く
AWS ELBの暖気申請(Pre-Warming)をしたかったのですが、サポートのプランがBusiness以上でなければ申請できないため、自前でPre-Warmingをする必要がありました。 AWS ELBは負荷が上がった場合に、AutoScaleするLBです。 通常、事前に大量のトラフィックが予…
2019年8月23日 13時頃からAWS EC2の接続ができなくなる障害が発生しました。 このような大規模障害は滅多にないので、障害の情報収拾する際に「どこみりゃいいんだ?」となるので、この機会にまとめることにしました。この記事ではAWSで障害が発生した場合に…
夏休みに実家の福島に帰ったので、前々から行きたかった金山町の温泉に行くことにしました。 福島県金山町は天然の炭酸が湧出することで有名です。 井戸から炭酸水を汲むこともできますし、温泉にも利用されています。 また、天然炭酸温泉は全体の0.6%という…
初めてだけど、懐かしい。でおなじみの四万温泉ですが、前回の旅行から早一年。静かな温泉地が恋しくなったので、今年も四万温泉に行くことにしました。
先日、SnapmartのブログサーバーのSSL証明書が有効期限切れになってしまい、アクセスすることができなくなってしまいました。これまでSnapmartのブログサーバーではLet's Encrypt という証明書を無料で発行しているサービスを使っていました。しかし、このLe…
静岡県はサウナの聖地 サウナしきじにレンタカーを借りて行ったのですが、せっかくなので、帰りは山梨を経由して帰ることにしました。 山梨は有名な温泉地が多数ありますが、中でもほったらかし温泉には以前から行きたいと思っていたので、このタイミングで…
ピクスタの温泉番長を名乗っておきながら、サウナの聖地である「サウナ しきじ」に行ったことがないという、モグリでした。 と、いうのも「たかだかサウナでしょ?天然水使ってる銭湯でしょ?変わらないでしょ〜〜〜」と高を括っていたため、行けていません…
今年の1月にGoogleが「今後Androidアプリは64bit対応してないとダメだよ!8月1日以降32bitのアプリはリリースできないからね!」というアナウンスをしました。SnapmartアプリはReactNativeで実装しており、開発ツールとしてExpoを使っています。ExpoはSDKの…
現在ピクスタ株式会社とスナップマート株式会社の両方に携わっているのですが、6/21(金)~22(土)にスナップマートの合宿が湯河原で行われました。 湯河原は9年前に訪れた記憶があるのですが、その時は温泉にさして興味はなかったので、今回は本気で臨むことに…
タイトルの通り、ReactNative 0.59.8において、`CameraRoll.getPhotos({first:1234})`がエラーになってしまいます。また、これはiOSのみで発生します。エラー文を見た感じ、optionとしてassetTypeに何かしら指定すれば良さそうです。ただ、ドキュメントを見…
AWS IAMでは、特定のグループにポリシー(権限)を設定し、そのグループにユーザーを追加することで、権限管理が容易になります。設定できるポリシーは、AWSが用意しているポリシーと、独自に設定できるポリシーの2パターンあります。 今回は、AWS IAM ユーザ…
6月18日(火)にGitHubがPull Pandaを買収したと話題になったので、早速Snapmartにも導入しました。今回は簡単にPull Pandaの紹介をします。
サービスを運用していると、サーバー内のディスク空き容量が枯渇してしまうことがしばしばあると思います。以前「AWS EC2のルートボリューム(EBS)をダウンタイム0で拡張する方法」について書きましたが、対応の一つとして格納されているファイルを整理するこ…
先日、SnapmartのスマホアプリをReactNative + Expoで実装を行いました。ピクスタ開発ブログに書いた内容だと、カッコ良いところしか書けなかった気がするのと、協力してくれた方々について全く触れることができなかったので、この記事では「当時の心境や協…
ひょんなことからJR東日本在来線のグリーン券が4枚手に入ったので、今年も栃木県は喜連川早乙女温泉に行ってきました。 無料のグリーン券なので、せっかくなら渋谷からグリーン券で行ける最遠の駅が候補になり、その周辺で有名な温泉地帯に行くことにしまし…
業務やプライベートでReactNative + Expo製アプリをpullしてきた場合、コードを読むだけではなく、サクッとエミュレーターで動かしたいとことが多くあると思います。 今回は、ReactNative + Expo製アプリをiOS / Android(Genymotion)エミュレーターで動作さ…
Webサービスを運営していると、夜中にWebサーバーのプロセスが突然死してしまい、朝に気づくということが多々あります。 流石に人間が24時間365日監視しているのはツラいので、ある特定のプロセスが落ちたら自動で検知と再起動という処理を行いたいです。 今…
TV放映などで、一時的にスケールアップさせたい時に、オートスケールの機構がなければ職人による技が光ります。 今回は、スポットリクエストで増やしたEC2インスタンスのIPをAWS ESS access policyに登録したかったので、IPを取得する必要がありました。
Snapmart社のstagingのDB環境は、AWS RDSを使用しています。 毎日24時にproduction環境のスナップショットからstaging用DBを作成し、update文で個人情報やメールアドレスなどをマスクした状態にしています。 また、stagingが配置されているVPCは社内ネットワ…
RailsとJavaScriptを同時に扱っていると((Style Guideで記法が異なる言語を同時に扱っている場合))、snake_caseからCamelCaseに置換したい時がしばしば訪れます。 一つずつ修正した方が、人間の温かみを感じることができるコードになると思うのですが、置換…
ReactNativeを使い始めたものの、基本的に参考になる記事が少なくて詰みかけてしまったり、英語の記事がメイン(これはまだ良いけど)であったり、参考書が少ないので、初心者にはだいぶハードルが高いなぁと感じていました。 写真者同士で助け合ったり、気軽…
React Nativeによるアプリ開発では、Expoを使うと中々捗るのですが、2018年11月3日にExpo SDKがv31.0.0にバージョンアップしました。このリリースの大きなポイントとしては、2018年9月にリリースされたReact Native 0.57に対応したことです。 React Nativeは…