yoponponのブックマーク (25)

  • C#でのメモリ解放について - ROBOT PAYMENT TECH-BLOG

    こんにちは。決済システムでエンジニアをやっております hoshino33 です。 2022年も残りわずかです。といってもこの記事が公開される頃にはきっと2023年になっているはずですね。 今回はC#でのメモリ解放について記載したいと思います。 はじめに C#を触れている方は既知の内容かとおもいますが、これからC#を触る機会がある方の参考になれば幸いです。 メモリ解放について C#では基的にガベージコレクタでメモリ解放されるのであまり意識することはなそうですが、IDisposableを継承しているクラスに対してはメモリ解放を意識する必要があります。 StreamReaderを確認する では、まずはStreamReaderを見てみましょう。 StreamReaderはTextReaderを継承しています。そして、TextReaderはIDisposableを継承しております。 public

    C#でのメモリ解放について - ROBOT PAYMENT TECH-BLOG
    yoponpon
    yoponpon 2023/04/13
  • 長年運用しているWebサービスの可用性をアップさせた話 - ROBOT PAYMENT TECH-BLOG

    どうもこんにちは! サブスクペイのシステム基盤チームの yoponpon です。 システム基盤チームではサービスの価値向上、チームの生産性向上に向けた働きかけを行っております。 今回はシステム基盤チームで推めている取り組みの一部を紹介できればと思います。 前置き 構成について 起きること 実施したこと① - HTTPセッションと一時的なファイルの退避 HTTPセッションについて 一時的なファイルについて 実施したこと② - 通知サーバの増強とロードバランサーの追加 最終的な構成についてと変わったこと 今後に付いて We are hiring!! 前置き サブスクペイは基的にAWS上に構築しており、かれこれ20年ほど24/365で稼働しているシステムです。 都度リプレイスや、システム移行をしつつここまでやってきているのですが、まだまだ古い構成になっている箇所が残っています。 今回はその一部

    長年運用しているWebサービスの可用性をアップさせた話 - ROBOT PAYMENT TECH-BLOG
    yoponpon
    yoponpon 2023/01/05
  • リモートワーク、買って/持っててよかったアイテム3選+α - ROBOT PAYMENT TECH-BLOG

    こんにちは。サブスクペイのCREチームのHori_Kです。5月に入社して数か月が経ちました。自分はIT業界から離れていた期間がかなりあり、見た目はシニア、スキルはジュニアな逆コナン中年エンジニアですが、そんな中年がフルタイムでのリモートワーク生活を数か月やってみて、買ってよかった、持っててよかったアイテムを紹介したいと思います 1.買ってよかった > バックジョイ(骨盤サポートチェア) はい、腰痛対策です!!! 仕事を始めて1・2か月ごろから腰痛がでてだんだんとひどくなってしまい、腰が痛いと仕事にも集中できませんでした。そこでサプリやストレッチ、休日には整体などいろいろ対策してみたなかで、一番効いたのがこちらです。 座布団みたいにお尻の下に敷くので、オフィスチェアに合わせて使っています。椅子の背もたれを使わず背筋を伸ばす状態になるのでけして楽ではないですが、腰痛はテキメン良くなりました。

    リモートワーク、買って/持っててよかったアイテム3選+α - ROBOT PAYMENT TECH-BLOG
    yoponpon
    yoponpon 2022/11/24
  • Google Apps Script(GAS)でアジェンダ作成 - ROBOT PAYMENT TECH-BLOG

    こんにちは。決済システムでエンジニアをやっております hoshino33 です。 突然ですが皆さん朝会はどのように行っていますか? 決済システムでは、前日やったことや日やることの報告などを行っているのですが、その際にGoogle ドキュメントに内容を記載しております。 今回はこのアジェンダ作成の自動化をGASで行ってみたいと思います。 はじめに 自動化方法 ①テンプレートのドキュメントの作成 ②テンプレートを反映するドキュメントの作成 ③GASでスクリプトの作成 ④実行 課題点 まとめ はじめに 決済システムの朝会の自動化しない手順について考えると、毎日コピー&ペーストして、日付を変える必要が出てきます。 今回はこれをボタンひとつで行いたいと思います。 なお、朝会用のアジェンダは日単位で新規作成を行わず、過去の内容をすぐ見られるように追記するような運用になっております。 自動化方法 ①テ

    Google Apps Script(GAS)でアジェンダ作成 - ROBOT PAYMENT TECH-BLOG
    yoponpon
    yoponpon 2022/11/04
  • 並列処理と排他処理 - ROBOT PAYMENT TECH-BLOG

    こんにちは、ROBOT PAYMENTの開発統括室ペイメントシステム課のtaniguchikun です。 たまたま業務で並列処理と排他処理を実装することになったので、その辺について記事にしたいと思います。 並列処理とはなんぞや 例え話 排他処理 今回のキーワード ミューテックス セマフォ Lock関数(C#言語) チェックポイント 静的変数 サンプルコード ミューテックスの挙動確認 セマフォの挙動確認 ロック関数の挙動確認 並列処理とはなんぞや 恐らく記事を読まれている方はエンジニアの方々だと思いますが、一応軽く解説をしたいと思います。 並列処理とは複数の処理を同時に行うといったものになります。 例え話 上記でピンとくる方は読み飛ばしていただいて問題ないです。 一般の方でプログラミングしたことがない方ですと例え話で説明した方がピンとくるものがあると思うので、現実世界のバスに例えたいと思い

    並列処理と排他処理 - ROBOT PAYMENT TECH-BLOG
    yoponpon
    yoponpon 2022/10/27
  • Athenaのおかげでログ調査が楽になったお話 - ROBOT PAYMENT TECH-BLOG

    こんにちは、サブスクペイサービスでCREを担当してますmurakamiCPです。 CREチームの日々の業務の中で、最も多い問い合わせは「ログ調査」だったりします。 何らかのエラーが起こった際や、お客様の問い合わせでログを追っての確認だったりと要因は様々です。 (この「問い合わせ」自体を減らすことができるサービス作りも取り組んでますが、それはまた別のお話ということで) 端的に「ログ調査」といっても、日々増え続ける膨大なログから該当箇所を見つけるのはなかなか骨が折れますよね。 そんな調査がちょっと楽になったお話をしたいと思います。 AWS移行してでてきた課題 Athena導入 Athenaを使うにあたっての注意 AWS移行してでてきた課題 AWSへ移行した際に、アプリケーション関連のログもAWSの「CloudWatch」で取得するようになり、物理的なlogファイルの保管ではなくなりました。 a

    Athenaのおかげでログ調査が楽になったお話 - ROBOT PAYMENT TECH-BLOG
    yoponpon
    yoponpon 2022/10/20
  • リモートエンジニアの日常 - ROBOT PAYMENT TECH-BLOG

    こんにちは、こんばんは、おはようございます。 ペイメントシステム課エンジニアの川上です。 弊社では働き方改革の一環として、何年も前から一部社員のテレワークを開始しました。 新型コロナウイルスの流行をきっかけにテレワーク比率は上がり、今ではエンジニアはテレワークが基となっています。 もともと出社していたメンバーがテレワークに移行したケースはもちろんですが、はじめからテレワークを前提として採用された完全リモートの社員も増えてきました。 かく言う私もその1人でして、普段は新潟県の自宅から業務を行っております。 雇用契約上も「自宅がオフィス」という扱いになりますので、出社は出張扱い。 出社に必要な交通費はもちろんのこと、必要に応じて宿泊費も支給されます。 ちなみに入社して3ヶ月ほど経ちますが未だに出社したことがありません。 会社への行き方、分かりません笑 そんな完全リモートのエンジニアは普段どの

    リモートエンジニアの日常 - ROBOT PAYMENT TECH-BLOG
    yoponpon
    yoponpon 2022/10/13
  • AWSの日本への投資と経済効果 | Amazon Web Services

    Amazon Web Services ブログ AWSの日への投資と経済効果 2011年からのAWSリージョンに関する国内投資額を公表 アマゾン ウェブ サービス(AWS)は、お客様によるITシステムのモダナイゼーション(現代化)、安全かつ適切なスピードでのイノベーションを支援することで、日のデジタルトランスフォーメーション(DX)を後押しし、持続可能な経済成長を加速することにコミットしています。そしてこのコミットメントを技術的に支えるものとして、2011年に東京にAWSアジアパシフィック(東京)リージョン(データセンター群)を、2021年にはAWSアジアパシフィック(大阪)リージョンをスタンダードなAWSリージョンへと拡大し、お客様を支援してきました。これら2 つの AWS リージョンに関する設備・運用投資総額は、2011年からの累計で1兆3,510 億円に、そのうち2022年単年で

    AWSの日本への投資と経済効果 | Amazon Web Services
  • ASP.NET Core 6.0では2か所変更するだけでSwaggerを使えます - ROBOT PAYMENT TECH-BLOG

    こんにちは、決済サービスの開発を担当している近藤です。決済サービスでは多くのプログラムで.NET Framework 4.8を使用して開発をしていますが、.NET 6 での開発も増えているところです。今回は .NET 6でAPIドキュメントを作成する際に使用するSwaggerについて簡単な導入方法をご紹介します。 SwaggerはAPIドキュメントを作成するためのツールセットです。.NET 6 ではNugetパッケージ「Swashbackle.AspNetCore」を取得することで使用できます。これを使うことでREST APIのコードとコメントからAPIドキュメントを作成できるため、ドキュメント作成の手間が省けます。 プロジェクトを新規作成すればそのままSwaggerを使用できるが、説明が出ない 2か所変更してコメントを使用できるようにする プロジェクトを新規作成すればそのままSwagge

    ASP.NET Core 6.0では2か所変更するだけでSwaggerを使えます - ROBOT PAYMENT TECH-BLOG
    yoponpon
    yoponpon 2022/10/06
  • Amazon Redshift Serverlessを使ってサーバーレスにDB参照する方法 - ROBOT PAYMENT TECH-BLOG

    こんにちは。ROBOT PAYMENTでエンジニアをやっております 牧野です。 tech.robotpayment.co.jp こちらの記事の再続編としてApp Runnerを利用したアーキテクチャにおいて、データベースに直接アクセスする方法を記事にしたいと思います。 結論として、Amazon Redshift Serverless+Federated Queryを利用してデータベースを参照する形にしております。 前提 メリット デメリット まとめ 前提 セキュリティの観点でプライベートなネットワークにデータベース(Aurora PostgreSQL) を配置しています。そのためデータベースにアクセスするためにSSH接続する、もしくはAWS Session Managerを使ってアクセスする、どちらにしても踏み台となるホストが必要になります。 この点Redshiftの機能であるFedera

    Amazon Redshift Serverlessを使ってサーバーレスにDB参照する方法 - ROBOT PAYMENT TECH-BLOG
    yoponpon
    yoponpon 2022/09/30
  • コードレビュー会を行っています! - ROBOT PAYMENT TECH-BLOG

    コードレビュー会開催の経緯 コードレビュー会とは コードレビュー会の流れ 成果 コミュニケーションの機会が増えた 知らないコードの書き方を学べた 最後に コードレビュー会開催の経緯 今回は、絶賛開催中のコードレビュー会について話したいと思います。 前回はリモートワークについてお話させていただきました。 リモートワークになるので、コミュニケーションが足りない、技術の交流も少ないということを伝えたと思います。 この問題を解消するため、システム課の方々は色々な提案を考えています。 tech.robotpayment.co.jp リモートワークではコミュニケーションや交流の機会が減ってしまう、という課題があり、その解決策のひとつとしてコードレビュー会が提案されました。コードレビュー会を実施することで以下の効果が期待できます。 より良いソースコードを書けて品質が上がります。 エンジニア同士と話す機会

    コードレビュー会を行っています! - ROBOT PAYMENT TECH-BLOG
    yoponpon
    yoponpon 2022/09/15
  • テクニカルサポートからCREへ - ROBOT PAYMENT TECH-BLOG

    こんにちは、サブスクペイサービスでCREを担当してますmurakamiCPです。 実はこの名乗り、まだ全然慣れていなかったりします。 そうなんです、最近チーム名が変わりました。 タイトルの通り、「テクニカルサポート」チームから、「CRE」チームへ。 弊社の別サービス、請求管理ロボの方ではすでに結成されているチームでしたが それとってもイイね!うちのプロジェクトでも取り入れようぜ!ってことで テクニカルサポートから進化した形で誕生しました。 CREとは、「Customer Reliability Engineering」でGoogleさんが提唱した専門職ですがうんぬんかんぬんみたいなお話は、弊社の請求管理ロボのCRE担当がこちらのブログで詳しく説明しているので、よかったらこちら読んでくださいね!(宣伝) tech.robotpayment.co.jp なので、私は今までのいわゆる「運用保守」

    テクニカルサポートからCREへ - ROBOT PAYMENT TECH-BLOG
    yoponpon
    yoponpon 2022/09/06
  • ロボペイのCRE業務 - ROBOT PAYMENT TECH-BLOG

    こんにちは、株式会社ROBOT PAYMENT(以下、ロボペイ)でCREを担当している山下です。 先日に引き続きCREを紹介していきたいと思います。 前回のブログを見ていな方はぜひご覧ください。 tech.robotpayment.co.jp 今回は第2弾ということで、ロボペイのCREの業務範囲について説明していこうと思います。 CREの業務内容 ドキュメント整備/ナレッジ共有 CS/サポートからの調査依頼への対応 パフォーマンス改善 バグの修正 CRE発進の開発/提案等️ その他運用改善 CREの苦悩、なんでも屋からの脱却 CREの業務内容 前回のブログで触れていますが、CREで行っている業務は以下になります。 ドキュメント整備/ナレッジ共有 CS/サポートからの調査依頼への対応 パフォーマンス改善 バグの修正 CRE発進の開発/提案等️ その他運用改善 これは、CREとして設定したミッ

    ロボペイのCRE業務 - ROBOT PAYMENT TECH-BLOG
    yoponpon
    yoponpon 2022/08/26
  • 請求管理ロボにおけるテストコード記述文化定着までの取り組み - ROBOT PAYMENT TECH-BLOG

    こんにちは。エンジニアリングマネージャーの白坂です。最近は健康を意識して体幹トレーニングにハマっているのですが、目下バランスボールの上でスクワットをするのを目標に鍛えています。 さて、投稿ではテストコードのないコードベースにユニットテストを導入し、ユニットテストを書く文化が定着するまでに行った取り組みを紹介します。 1. テストコードをアウトソース 2. ケーススタディの作成 3. カバレッジの可視化 最後に 「請求管理ロボ」の主たるコードベースはファーストコミットから5年以上の期間テストコードを書かずに開発をしておりました。しかしコードベースの規模や複雑性もあがってきたことから、目下の課題として実装に対してマニュアルテストの作業量の増大や影響範囲の既存のコードに手を入れる不安と向き合っていました。そこで解決策の一つとしてテストコードを書く文化が定着した開発組織とすることを目指しました。

    請求管理ロボにおけるテストコード記述文化定着までの取り組み - ROBOT PAYMENT TECH-BLOG
    yoponpon
    yoponpon 2022/08/19
  • 既存のGoogle Apps Scriptプロジェクトのコードを Git で管理! - ROBOT PAYMENT TECH-BLOG

    最初に 前提 clasp の導入 google へのログイン 既存のプロジェクトのローカルにクローン 試しに Push してみる gitリポジトリの初期化 既存のファイルをすべてコミット その他 最初に Google Apps Scriptヘビーユーザーの皆様こんにちは! サブスクペイのシステム基盤を担当しております youponpon です。 突然ですが、Google Apps Scirpt プロジェクトのコードが大きくなってきて Git などのコード管理を導入したくなったことはありませんか? 今回は google/clasp を利用して既存の Google Apps Script プロジェクトのコードを Git 管理する方法を説明します。 前提 事前に以下の導入をお願いします。 Node.js の導入 https://nodejs.org/ja/download/ Git の導入 ht

    既存のGoogle Apps Scriptプロジェクトのコードを Git で管理! - ROBOT PAYMENT TECH-BLOG
    yoponpon
    yoponpon 2022/08/04
  • サブスクペイでのユニットテスト環境について - ROBOT PAYMENT TECH-BLOG

    こんにちは、ROBOT PAYMENTのペイメント事業部システム課のtaniguchikun です。 今回はサブスクペイのユニットテストがどのように行われているかを紹介致します。 ※ ツールの使い方等に関しましては記事が好評であれば別途投稿を行いたいと思います。 前提条件 サブスクペイのユニットテスト時の概要 ユニットテスト時の挙動 今後の改善についての予定 前提条件 開発環境 OS:Windows10 開発ツール:VisualStudio2019 DBSQLServer2019 コード管理されております ユニットテスト実行環境 OS:Windows10 ユニットテストフレームワーク:VsTest カバレッジ測定ツール:OpenCover レポート作成ツール:ReportGenerator DB操作ツール:mssql-scripter サブスクペイのユニットテスト時の概要 下記の手順が

    サブスクペイでのユニットテスト環境について - ROBOT PAYMENT TECH-BLOG
    yoponpon
    yoponpon 2022/07/28
  • サブスクペイのPCI DSS対応 - ROBOT PAYMENT TECH-BLOG

    こんにちは、ペイメント事業部システム課マネージャーの戸田です。 今回はサブスクペイのシステム基盤である決済システムの開発・構築・運用に深く関わるPCI DSSについて紹介します。 PCI DSSとは 要件ごとのPCI DSS対応状況 要件1、2 安全なネットワークとシステムの構築と維持 要件3、4 カード会員データの保護 要件5、6 脆弱性管理プログラムの維持 要件7、8、9 強力なアクセス制御手法の導入 要件10、11 ネットワークの定期的な監視およびテスト 要件12 情報セキュリティポリシーの維持 今後の課題 まとめ PCI DSSとは まずPCI DSSとは何かご存じでしょうか? 簡単にご説明すると、クレジットカード情報を安全に取り扱うことを目的として策定された、クレジットカード業界のセキュリティ基準となります。 詳しくはPCI SSCや日カード情報セキュリティ協議会などのドキュメ

    サブスクペイのPCI DSS対応 - ROBOT PAYMENT TECH-BLOG
    yoponpon
    yoponpon 2022/07/21
  • AWS App Runnerを使って簡単にデプロイできました - ROBOT PAYMENT TECH-BLOG

    こんにちは。ROBOT PAYMENTでエンジニアをやっております 牧野です。 今回は、NestJS を使って最速リリースを目指している話 こちらの記事の続編としてAWS関係やCI/CD周りの記事を書いていこうと思います。 結論として、インフラ側のアーキテクチャは以下のような感じになりました。 AWS App Runner まずコンテナを運用する要のAWSアーキテクチャとして、AWS App Runnerを利用しています。 docs.aws.amazon.com 簡単に説明すると ざっくり面倒なインフラ設定(ネットワーク、オートスケーリング、ロードバランシング、SSL、CI/CDなど)これらをまとめて(隠蔽して)提供しているサービスです。 メリット ECRへのコンテナイメージのpushをトリガーに自動デプロイ 個別にELBやAutoScalingを組み合わせた設定が不要 ロググループの自動

    AWS App Runnerを使って簡単にデプロイできました - ROBOT PAYMENT TECH-BLOG
    yoponpon
    yoponpon 2022/07/14
  • リモートワークはコミュニケーションが大事 - ROBOT PAYMENT TECH-BLOG

    こんにちは、株式会社ROBOT PAYMENTの体チームに所属するエンジニアの林です。 新卒で入社してから3年目になります。入社した時は、ちょうどコロナが始まる時期でした。当時を振り返ると、新卒の私にとって、いきなりのリモートワークはなかなかに不安でした。今回はリモートワークで気づいたことを書きます。 リモートワークから生まれた課題 仕事に集中しにくい 時代の変化に鈍感になった 対面でコミュニケーションを取れない コミュニケーションの機会を作ろう おまけ リモートワークから生まれた課題 仕事に集中しにくい 自宅での仕事はオフィスで働いているような緊張感がないので、仕事に集中できないことがありました。 時代の変化に鈍感になった ずっと自宅で仕事しているため、通勤回数やオフィスにいる時間、外も減りました。その結果、日常の中での思わぬ経験が減るため、時代の変化やトレンドに鈍感になりました。例

    リモートワークはコミュニケーションが大事 - ROBOT PAYMENT TECH-BLOG
    yoponpon
    yoponpon 2022/07/05
  • Invoke-WebRequestでエラーレスポンスを取得 - ROBOT PAYMENT TECH-BLOG

    こんにちは。決済システムでエンジニアをやっております hoshino33 です。 今回はPowerShellのInvoke-WebRequestを実行した際に2XX系以外でHTTPステータスコードが返ってきた際にレスポンスボディが取れなかったので、その際に対応した内容になります。 はじめに 2XX系のレスポンス(レスポンスボディなし) 2XX系以外のレスポンス(レスポンスボディなし) 2XX系以外のレスポンス(レスポンスボディあり) 2XX系以外のレスポンス(レスポンスボディあり)を対応してみる SkipHttpErrorCheckについて まとめ はじめに Invoke-WebRequestを使用しつつ、curlでもどのようになるか比較しながら見てみようと思います。 Invoke-WebRequestとcurlは以下のバージョンで確認を行っています。 > $PSVersionTable

    Invoke-WebRequestでエラーレスポンスを取得 - ROBOT PAYMENT TECH-BLOG
    yoponpon
    yoponpon 2022/06/30