chevron_left

メインカテゴリーを選択しなおす

cancel
HIRO Tracks https://hiro-tracks.net/

山根正大です。 Fintech業界エンジニアが日々学んだ知識を足跡(Tracks)として発信します。

山根正大
フォロー
住所
未設定
出身
未設定
ブログ村参加

2023/02/23

arrow_drop_down
  • 【書評】良い単体テストってどういう状態か?【単体テストの考え方/使い方】

    これは何? 「単体テストの考え方/使い方」を読んで、「良い単体テストとは、どういう状態か?」についてポイントをまとめた記事です。 単体テストの考え方/使い方作者:Vladimir Khorikovマイナビ出版Amazon 一部引用しつつ、自分の言葉で書いているのでご了承ください。 ちなみにここでいう単体テストは「コードで書かれた単体テストで、CIツール等用いて自動化できるもの」を指しています。 これは何? 本書を読むメリット 想定読者 そもそも単体テストって何でやるのか 単体テストの4つの基準 1.退行(デグレ)に気付けるか 2.リファクタリングへの耐性があるか 偽陰性と偽陽性で何が困るか 3…

  • 「システムリプレイスがなんで難しいか」初心者TeamLeaderが語る

    これは何? 何かしらの目的を持ってシステムのリプレイスをするとき、気をつけたほうが良いことを、自戒含めて記載します。 プロダクトを「リプレースしながら」一部分だけリリースしていくの、結構難しい。開発側は本当は黙ってリプレースだけに集中したいが、リリース後の対応とかで作業量が膨大になりがち。— 山根正大 (@hiro_cashless) 2023年12月21日 お前は誰? 事業会社エンジニア/歴5年目/29歳 10人弱の開発チームリーダーをやり始めて半年~1年 な人です。 「大規模なプロジェクトとかはまだ任せてもらえてないけど、ちょっとずつマネジメントの階段登りつつある人」です。 これは何? お…

  • リーダーやり出して半年経っても「人に新しい仕事お願いする」のは怖い【振り返り】

    これは何? 2023年7月から開発チームのリーダー業務をしています。(開発メンバー10人ほどのチームです) 開発自体はスクラムの形で進めています。 始めてから約半年経ったので改めて振り返りをしておこうと思います! 初めたての頃に書いた記事はこちら↓ hiro-tracks.net 普段何してるか 毎日の朝会での相談対応、意思決定 スプリントのテーマ優先度に基づいた、タスクの順番等の整理 基本姿勢は「リスク高いところから叩いて課題見つけていく」 PullRequestのレビュー 自分が取れなさそうなときは、人に任せたりもする 他チームからの依頼事項整理 横入りがあると開発が進まないので、優先度に…

  • 【書評】「[改訂新版] 自分のペースでゆったり学ぶ TCP/IP」がインフラ学び直し入門にいい感じだった

    これは何? Webエンジニア向けに、インフラ方面の学び直しにGoodだった本を紹介します。 「実務でアプリケーションのコードばかり書いてるけど、インフラの知識が足りない気がする。基礎から学びなおす」と思い購入しました。 短い本なので、1日〜2日で読めます。 [改訂新版] 自分のペースでゆったり学ぶ TCP/IP作者:網野 衛二技術評論社Amazon こういう人が読むと良い ITエンジニアだけど、実務であまり扱わないから、TCP/TPとかネットワークとか忘れがちな人(プロトコルの名前とか、なんだっけ??となる) TCP/IPやネットワークの基礎を改めて理解したい人 学び直しのコストは小さくしたい…

  • Spring Sessionがcookieの値からsessionを特定する処理はどこにある?【DefaultCookieSerializer】

    これはなに? Spring SecurityおよびSpring Sessionを使って認証の仕組みを作っていた時に、以下のような疑問を持ったので調べてみたことをメモします。 疑問 「初回認証時にサーバが返してくれるセッションIDをCookieに登録し、次回以降のリクエストでのセッション管理に用いる」ことはよくあることだと思います。 その際、Spring Securityのデフォルト仕様だと Cookie上で管理されているセッションID...NmUyYzdlMzAtZDRlNi00YTQyLTkxMWEtZDY1MTBjODE1NzIx DB上に永続化されているセッションID...2b2d43f…

  • フロントエンジニアじゃないけど VueFesJapan2023行ったら楽しかった【感想ログ】

    これは何? ついに 現地開催になったVueFesJapan2023に行ってきましたので、その簡単レポートです。 vuefes.jp 山根はフロント専門のエンジニアじゃないのですが、それでも十分楽しめる + 学びになったカンファレンスでした!!! 【目次】 これは何? 以下トピック Vue.jsを活用して開発リードタイムが1/3になった話 Vue.jsプロジェクト設計のベストプラクティスを求めて Vue.jsと3D可視化 - 産総研のOSS「AIST 3DDB Client」を例に まとめ 以下トピック 全部は書けないので、特に山根が興味持った、今後に活かせるなーというものを3つ選択。 Vue.…

  • 【SQL】H2DBの「単一値の原則」違反エラーを吐くタイミングが微妙でハマった話【GROUP BY】

    これはなに? LocalでH2DBに対しては動いていたSQL文が、SQLServerで動かすとエラーを吐くようになって、事象の理解にやや時間を要した時の話です。 結論、製品版DB(SQLServer)と、インメモリDB(H2DB)の単一値の原則違反エラーに対する挙動の違いが原因でした。 H2DB -> SQL文とテーブル内のデータにより単一値の原則エラーを吐くかどうか決まる SQLServer -> テーブル内のデータによらず、SQL文のみを見て単一値の原則エラーを吐くかどうか決まる ダメならダメでさっさとエラー吐いてもらった方がありがたいので、SQLServerの挙動の方が好みです。 伝えた…

  • PostgreSQL/SpringBoot/Vue.jsで初めて個人開発しようとしたら結局Firestoreの良さに気づいた話

    こんにちは。山根です。 普段は決済事業会社にてSpringBoot + Kotlinでバックエンドエンジニアをやりつつ、会社の技術ブログ運営に携わっております。 今日は個人的かつ勝手に進めていた個人開発(学習記録系アプリ)が一旦落ち着いてきたので、そのアーキテクチャの変遷についてまとめてみようかと思います。 ↓作っているもの(1日1回だけ、その日の学びを投稿できるノートアプリ) my-learned.web.app 【目次】 [:contents] モチベーション 山根は実務ではBackend領域(Java/Kotlin,SpringBoot,SQLServer)がメインでして、ある程度堅牢な…

  • 「人にタスクをお願いする」リーダーとして仕事した時の気づきと学び

    これは何? 評価面談done。 年収:40万up 評価・夏以降のチームリーダー的役割を一定評価された今後の期待・引き続きチームをリードする経験を深めつつ、更にビジネスに直結するような技術力の向上/発揮を期待する引き続き頑張ります。— 山根正大 (@hiro_cashless) 2023年9月27日 ありがたいことに、2023年7月あたりからリーダーポジションで仕事をすることが増えてきました。 具体的には以下のようなことをやっています。 朝会での相談が複数飛んでくるので対応 別チームとの調整とか タスクの順番等の整理 基本ルールは「各メンバーが自分で取る」なのですが、タスク間で依存関係がある場合…

  • 【ISUCON】private-isuの環境構築でハマったことと、初回ベンチマーク結果【macOS】

    これは何? ISUCONの参考過去問"private-isu"をLocalに環境構築しようとした時にハマったことメモ 夏祭り2023↓のハンズオンでやろうとしたけどハマって時間内に終わらず... hiro-tracks.net private-isuのリポジトリはこちら github.com 試したLocalPCのスペック MacBook Pro(13-inch, 2017) OS: macOS Ventura バージョン13.4 チップ: Intel メモリ: 8GB ①macOS:venturaにおけるmakeインストール時のエラー そういえばmakeコマンドって入れてないなと思って入れよ…

  • ISUCON夏祭り2023のハンズオン行ってきたので感想!

    これは何? ISUCON2023夏祭りのハンズオン行ってきたので感想・備忘録! isucon.connpass.com ISUCON、どこで知ったの? 2022年に自社のOKRで「チームの性能改善力を上げる」な目標を立てた時、「実務以外に何か練習の手段ないか?」と探していた時に、先輩エンジニアに教えてもらって知りました。 理想的には社内ISUCONだったり、勉強会枠を使って過去問解いてみるなどしたかったのですが、環境準備等に手間取り実施ならず。 なんで夏祭りハンズオン行ったの? 山根が夏祭りハンズオン(ひいてはISUCON)に期待することは以下の様な感じ。 性能改善を実務でやったけど、もっと経…

  • 【PostgreSQL】サーバ停止不要なバックアップ方式と利用コマンドまとめ【pg_dump,pg_dumpall】

    これはなに? OSS-DB Silverを受けて得た知見のうち、オンライン論理バックアップの用途と使うについてまとめます。 「オンライン論理」バックアップって何? PostgreSQLのバックアップは大きく オフラインでの物理バックアップ オンラインでの物理バックアップ オンラインでの論理バックアップ に分かれます。 リカバリ要件により使うべきバックアップが異なっており、 「定期バックアップ時に戻せれば良い」かつ「サービス停止可」->「オフラインでの物理バックアップ」 「定期バックアップ時に戻せれば良い」かつ「サービス停止不可」->「オンラインでの論理バックアップ」 「問題発生の直前まで戻す必…

  • OSS-DB Silver ver3.0に受かったので【勉強方法】と【得られた知見】について語る

    これは何? OSS-DB Silver ver3.0に受かったのでその振り返り記事です! (パッと読めます) 受験経緯 現場でPostgeSQLを利用する機運が高まってきたため。 PostgreSQLにおける性能改善や運用周りで困ることがないように。 また困ったとしてもすぐ「そういえばこんな解決策あったな」と知識にアクセスできるようにしておきたい。 勉強方法 三つ挙げます。 試験直前はPing-t問題集と「内部構造から〜」の本を回してました。 なお、勉強期間は仕事しながら約2ヶ月ほどで合格しました。 書籍(黒本) book.impress.co.jp Q&A形式で知識が得られるため、便利。 初…

  • PostgreSQLにおけるWAL(Write Ahead Logging)って何?

    始めに この記事では、 データベースの内部構造や仕組みに詳しくなりたいけど、そもそも「WALってなんやねん」という人 「SQL書けるよ」だけじゃなくて、運用目線でDBに詳しくなりたい人 向けに、WALとはなんぞや?という内容について整理してみます。 参考図書は主に以下の三つ。 公式ドキュメント www.postgresql.jp 「内部構造から学ぶPostgreSQL―設計・運用計画の鉄則」 [改訂3版]内部構造から学ぶPostgreSQL―設計・運用計画の鉄則 (Software Design plus) 上原 一樹, 勝俣 智成, 佐伯 昌樹, 原田 登志 本 通販 Amaz…

  • 【Querydsl】OneToManyなテーブルから必要なカラムだけDTOにマッピングする(transform,groupBy)

    これは何? hiro-tracks.net こちらの記事の続きです。 本記事では、上記記事の「必要なカラムだけSELECTする」に加えて、OneToManyな2テーブルに対して飛ばしたJONクエリの結果を、自作DTOにマッピングする方法をお伝えします。 クエリチューニングの一環として「N+1になっちゃうから、JOINして一回でSELECTしたい!」時に便利なTipsになってます。 これは何? 解決したい課題 そもそもqueryDSLとは 結論:transformとgroupByを使う TABLE TABLEクラス DTOクラス クエリメソッド サンプル実装 解決したい課題 queryDSLで必…

  • 【Querydsl】必要なカラムだけDTOにマッピングする(Projections.constructor)

    これは何? queryDSLで「SELECT * FROM...」するのではなく、必要なカラムだけ取得する方法をお伝えします。 クエリチューニングの一環としてでSELECTする対象を絞り込む時(Key LookUpを減らして実行計画改善する時とか)に便利なTipになってます! これは何? 解決したい課題 そもそもqueryDSLとは 結論:Projections.constructorを使う TABLE TABLEクラス DTOクラス クエリメソッド サンプル実装 より上級編記事も書いてます! 解決したい課題 queryDSLで必要なカラムだけ取得したい その際、@Entityクラスではなく、…

  • 【書評】コミュニケーション力改善したいので「エンジニアがビジネスリーダーを目指すための10の法則」を読んだ

    これはなに? この度「エンジニアがビジネスリーダーをめざすための10の法則」という本を読みました。 要約すると、この本は「エンジニアが目線を上げて、マネジメント層と生産性の高い会話をするためには?」という観点で、マインドの変え方やノウハウがまとまっている本です。 エンジニアがビジネスリーダーをめざすための10の法則/翔泳社/ベイカレント・コンサルティングposted with カエレバ楽天市場Amazon 本記事では、この本を読んで得られた感想、気づきをまとめてみます。 この記事はこんな人向け エンジニアとして働いているけど、マネジメント層との会話に自信がない より上流で仕事をするためにコミュ…

  • 【反省】AWS Batch Clientのメモリ解放を忘れて処理が遅い【AWS SDK for Java v2】

    これは何? Kotlinで書いたAPI内からAWS Batchを起動するために、sdk-for-javaを使って処理を書いていました。 sdk-for-javaはお手軽にバッチ起動ができて大変便利なのですが、リソースをちゃんと解放できるように書いてあげないと性能劣化の原因になります。本記事はその時の反省話です。 これは何? 伝えたいこと「BatchClient、ちゃんとcloseしよう」 SDK・Maven Repository ソースコード例 NG(Closeできてないやつ) OK(Closeできているやつ) OK(Closeできているやつ、Java版) やってないとどうなるの? まとめ 伝…

  • マルチプロジェクトのSpringBootで、Docker + Flywayによる使い捨てDB環境を作る

    これは何? マルチプロジェクト(gradle)のSpringBootアプリを触っている 仕事外の技術検証で軽〜くDB使いたい オンメモリDB(H2とか)じゃなくてガッツリOracleとかSQLServerとか使いたい 上記のような時に、いちいちLocalPCにSQLServerをインストールしたくなかったので、DockerforDesktop + flywayを使ってSQLServer用のDB作成+Table生成+初期データInsertを行った時の記事です。 解決したい技術課題 非オンメモリDBの環境が自PCに欲しい。 その際、弄った設定が残り続けるのは嫌なので、パパッと初期化できるようにした…

  • 2023年目標宣言【DBと英語とブログ】

    これは何? 山根が2023年度の目標を宣言する記事です。 スキルアップ加速させたいんや 山根は今28歳(2023年で29歳になる)のですが、日々仕事をしている中で、ここらでエンジニアとしての成長速度をブチ上げておく必要があると思いました。 「できたら良いな」ではなく、「最低限、ここまではやっておこう」の気持ちで、2023年度は以下の目標を達成します。 1.DBスペシャリスト資格を取る 2.TOEIC(R/L)800点 + TOEIC(S)140点 + TOEIC(W)140点を取る 3.ブログ更新を続ける 1. DBスペシャリスト資格を取る 2023年の秋開催される試験で、DBスペシャリスト資…

  • 「AWS負荷試験入門 」を呼んで「良い負荷試験とは」について学んだのでまとめる

    はじめに 負荷試験の知識を深める為に、本「Amazon Web Services負荷試験入門 クラウドの性能の引き出し方がわかる」(以下、「Amazon Web Services負荷試験入門」)を呼んでみることにしました。 自分の思考整理と、この記事に辿り着いて下さったみなさんの為に、「Amazon Web Services負荷試験入門」を読んで、理解したことを整理しておきます! 参考図書 本記事は主にChapter3「負荷試験の基礎知識」を基に書いています! Amazon Web Services負荷試験入門 クラウドの性能の引き出し方がわかる /技術評論社/仲川樽八posted with …

  • 【振り返り】「選択と集中」により副業を撤退します

    はじめに 副業案件(Android)に入らせてもらっていたのですが、この度撤退することにしました。 案件メンバーの方には大変お世話になりました。 5ヶ月と短い期間ではありますが、良い体験になったので振り返りを行いたいと思います! 目次 はじめに 振り返り要約 副業の目的と経緯 よかったこと 収入が増えた 本業でやってる以外の技術に触れられた 経営判断の一旦に触れ、業務委託としての立ち位置を実感できた 難しいと思ったこと(反省) 業務に没頭するのが難しい 本業より気合い入れてチームに馴染みに行かないといけない 若干の後悔 これからどうするか:本業に集中 まとめ(次副業やりたくなった時用) 振り返…

  • DateTimeFormatter.formatで型「M/d」指定すると「01」でも「1」でも変換可能

    これは何 java.time.DateTimeFormatterのString->日付型の変換が結構柔軟で助かった話です! 型に「yyyy/M/d」と指定すれば、例えば日付が「01」でも「1」でも型変換してくれるようになります。 「2022/1/1」と「2022/1/01」どちらも変換してくれて、「2022年1月1日」を表すようになります。 目次 これは何 公式 動作確認 より詳細な記事 公式 docs.oracle.com 動作確認 以下テストで全てOKでした。 import java.time.LocalDate import java.time.format.DateTimeFormat…

  • 【ISUCON9】dockerのmysqlにmysqldumpslowがなくてLocalで触るのやめた

    これは何? 【性能】ISUCON9予選のLocal環境構築(DB部分:Docker-Compose) - HIRO Tracksの続きです ISUCON9をLocal(DB部分だけDocker)でやろうとしたけど、色々面倒なのでやめることにしました。 今後はAMIからAWSにEC2環境作ってやっていく予定。 目次 これは何? 目次 結論:何でやめたのか 断念した際の時系列 ちょっとだけ触った回避策 反省(Localで触ろうとしたことについて) わからんこと NextActions: AMIからEC2インスタンス作ってやってみる 参考サイト 結論:何でやめたのか スロークエリログを解析するための…

  • 【帰省先でも集中!】ワーケーション先をパッと探せるサービス「スペースマーケット」使ってみた

    これは何? ※アフィリエイト記事じゃないです 帰省中に作業用スペースが必要になったので、レンタルスペース検索サービス「スペースマーケット」でワークスペースを探して利用してみました。 結論、とても使いやすかったのでその紹介記事です! www.spacemarket.com この記事はこんな人向け 帰省中、スキマ時間で仕事をしたいけど、実家だと集中できない方 タイミング問わず、外出先で集中して仕事できる場所が欲しい方 目的問わず、レンタルスペース探しに苦労している方 目次 これは何? この記事はこんな人向け 目次 SPACEMARKETってどんなサービス? 今回使ったスペース 良いと思ったところ …

  • 【性能】ISUCON9予選のLocal環境構築(DB部分:Docker-Compose)

    これは何? 性能周りの知見向上のため、ISUCON過去問を触ってみたい!と思い至りました。 本記事はそのための第一段階としてLocalで環境構築してみた時の備忘録です! Localでアプリ立ち上げ + ベンチマークを回す、ことをゴールとしています。 「推測するな計測せよ」の第一歩ですね。 公式 github.com 目次 これは何? 目次 【前提】自分の要望 成果物 実行環境 TODO Git Clone 初期データ生成 画像データ準備 MySQL環境生成(Docker利用) docker-compose.yml作る ファイル構成修正 TODO コンテナ起動 Goでアプリケーション起動 ベンチ…

  • 【Android】画面遷移とクラス設計について

    これはなに? Androidで画面遷移するための知識整理・Tips IntentとActivityによる起動のみです 公式サイトもある程度参照してます Fragmentとかの話はまた別途... こちらの本の第7章「画面遷移とIntentクラス」の内容を自分なりに整理した内容となります。 (+α) 起動ロジックは呼び出される側においた方が良くね?という話 目次 これはなに? 目次 Androidの画面遷移は"遷移"ではない 新画面作るのに必要なもの・手順 layout用xml Activityクラス AndroidManifest.xml Intent 起動ロジックは呼び出される側に閉じた方がい…

  • 【副業】freee開業でオンラインで開業してみた

    これは何? エンジニアとして副業を始めたので、青色申告を狙って開業届・青色申告申請書を提出した時の話です! 開業届を出す時期について「ミスったな...」と思うところもあったのでそれも含めて備忘録。 目次 これは何? 目次 開業届提出のきっかけ 利用した/しているプロダクト達 freee開業 freee電子申告ナビ e-Tax freee会計 気をつけてほしいこと 事業開始日から2ヶ月過ぎるとその年度は青色申告できない 利用者識別番号を再発行すると一時的にe-Taxログインできない 便利やなと思ったこと マイナンバーカードの署名用パスワードをスマホアプリ+コンビニで変えられる まとめ 開業届提出…

  • 【手放す練習】ズボラエンジニアが4ヶ月間断捨離を続けてスッキリした話【断捨離】

    これは何? 片付け下手・生活習慣が堕落したエンジニアが、とある本に出会って「4ヶ月間」断捨離及び掃除を続けられている話。 目次 これは何? 目次 この記事で伝えたいこと 解決したい課題 そもそも定期的に掃除をしない 判断が鈍る 解決手法 意識したこと「譲る、売るよりも『捨てる』」 めんどくさかったこと 続けるには? まとめ より詳細知りたい方へ この記事で伝えたいこと 断捨離はいいぞ 部屋が綺麗になる 仕事のテンションが上がる 食べ過ぎも防げる(これは効果検証中) 以下の本買って読んだことにより、続けられてます! 手放す練習ムダに消耗しない取捨選択 /KADOKAWA/ミニマリストしぶpost…

  • 【SpringBatch】メタデータテーブルをDBに生成せずに済ませるには(検証ソースあり)

    これは何? Spring Batchは、Spring Frameworkファミリーの中でも、バッチ処理に特化したフレームワークです。 spring.pleiades.io 非常に便利な機能が揃っていますが、重厚ゆえ理解が若干難しいのと、高機能すぎる部分があります。※個人の感想です この記事では高機能すぎるデフォルト機能である「メタデータテーブル」をDBに作らずにSpring Batchを起動する方法をお伝えします。 ソースコード例と、各種ライブラリのVerも指定して書いてあるので、ぜひご一読ください! 目次 これは何? 目次 この記事で伝えたいこと 解決したい課題 メタデータテーブルとは 他の…

  • 【技術書もう要らんわ】エンジニア業、辛い時に泣ける本。【逝ってしまった君へ】

    こんにちは。ITエンジニアに限らず、仕事しているといろいろ大変なことがありますよね。 今回は、山根が仕事頑張りすぎてる時に読んでリフレッシュできた本を紹介します。 「逝ってしまった君へ」というエッセイです。 逝ってしまった君へ /小学館/あさのますみposted with カエレバ楽天市場Amazon この記事はこんな方向けです。 エンジニアに限らず、仕事頑張りすぎて、辛くなった方 "自分、鬱か?"と気になり始めた方 技術書とかいらんから小説読んでボロボロ泣きたい方 目次 目次 読みたくなったきっかけ 著者について 作品あらすじ 感想/読んでどうなったか ドトールで号泣した 親に電話した この…

  • 【SpringBoot】JdbcTemplateはSQLインジェクション対策できているのか

    これは何? SpringBatchプロジェクトにおいて、JdbcTemplateを使ってDBアクセス処理を書いていた際、「これってちゃんとSQLインジェクション対策できてるの?」という問いが生まれました。 公式を読んでみても「出来てるよ!」という明言が見つからなかったため、ライブラリの中身まで確認し、調査してみました。 目次 これは何? 目次 想定読者 SQLインジェクションってなんだっけ、と言う人向け 結論 Version 検証したメソッド なぜ出来てると言えるのか 実験 検証ソースの軽い仕様説明 インジェクションしようとしてみる 参考 想定読者 JdbcTemplateってSQLインジェク…

  • 【Kotlin】ByteBufferの単体試験で末尾の0Byte部分を無視する

    これは何? java.nio.ByteBufferを用いてString生成する処理にて、部品化したクラスの単体テストで困ったことの解決 目次 これは何? 目次 困りごと 案1 ByteArrayOutputStreamで取り扱う 案2 Charsets.decodeを使う 困りごと @Test fun hoge() { val byteBuffer = ByteBuffer.allocate(5) //Byte範囲割り当て byteBuffer.put("あ".toByteArray()) //ByteArray追加 byteBuffer.flip() assertEquals("あ",Str…

  • 【Kolin】Java民から見た時のKotlinのギャップまとめ

    本記事の概要 社内プロジェクトでServer Side Kotlinを使ってコードを書くことになりました。 メンバーには自分含めJava民が多いです。Kotlinへの移行がちょっとでもスムーズになるように、Java民から見た「Kotlin特有の書き方だなぁ」ってところをまとめました。 目次 本記事の概要 目次 Kotlin慣れに良い本・サイト 変数定義周り Null Safety 定義した変数を呼ぶとき 変数定義時にval(再代入不可能) OR var(再代入可能)を必ず指定する 型推論可能 lateinit var クラス定義周り CompanionObject データクラス 可視性 デフォ…

arrow_drop_down

ブログリーダー」を活用して、山根正大さんをフォローしませんか?

ハンドル名
山根正大さん
ブログタイトル
HIRO Tracks
フォロー
HIRO Tracks

にほんブログ村 カテゴリー一覧

商用