[フレーム]
1 - 40 件 / 129件
タグ検索の該当結果が少ないため、タイトル検索結果を表示しています。
ハイクラス求人TOPIT記事一覧Spring Boot 3の新機能を使ってみよう! 2からアップグレードする手順、Observability機能、ネイティブイメージ化 Spring Boot 3の新機能を使ってみよう! 2からアップグレードする手順、Observability機能、ネイティブイメージ化 Javaの開発フレームワークであるSpringの最新バージョンとして、Spring Boot 3が2022年11月にリリースされました。この記事ではSpring Boot 2で書かれたサンプルコードをSpring Boot 3にアップグレードしながら、考慮点や新機能を体感していただきます。ヴイエムウェア株式会社の星野真知さんによる解説です。 Javaのエコシステム、その中でも世界で一番の人気を誇るのが(JetBrains社の調査によると)Spring FrameworkおよびSpring B
LINE株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。 LINEヤフー Tech Blog LINE の Business Platform 開発担当フェローの Matsuno です。 今回は Spring Boot でアプリケーションを開発した場合のメトリクスの勘所についてご紹介しようと思います。 我々のチームでは Kotlin + Spring Boot での開発がデファクトスタンダードとなっているのですが、正直まだまだこのテクニカルスタックで開発しているエンジニアは日本では少ないのです。そこで、実際の運用の雰囲気を感じていただければと思いまして今回の記事を書くことにしました。 メトリクス取得の基本 我々のチームではメトリクスの格納先として Prometheus を利用しています。 Prometheus で格納し
Spring Boot 2系のOSS版サポート終了を、モダンなアプリ開発環境を手に入れる"絶好のチャンス"とするための選択肢とは:「最高の開発者体験」の実現に向けて JavaとSpring Bootの進化は止まらない。Spring Boot 2系のOSS版サポート終了を、モダンなアプリケーション開発・運用を加速する"絶好のチャンス"として生かすにはどうすればよいのか。その決断をするのは今だ。 人気開発フレームワークのOSS版サポートが終了、その後はどうする? Javaアプリケーションの開発フレームワークである「Spring Boot」の2.7.x(2系の最終マイナーバージョン)が、2023年11月24日にOSS(オープンソースソフトウェア)版サポートを終了する。ユーザーは、3.1.xあるいは(2023年11月23日リリース予定の)3.2.xにバージョンアップするか、商用サポートサービス「V
docker-compose.yml version: '3.6' services: app: image: openjdk:15 ports: - 8080:8080 tty: true volumes: - ./server:/srv:cached working_dir: /srv OpenJDK | DockerHub https://hub.docker.com/_/openjdk JDK Project Releases | OpenJDK 指定できるバージョン情報はここ http://openjdk.java.net/projects/jdk/ Gradleプロジェクト作成 今回も Spring Initializr というサイトで作ってしまいます。 Spring Initializr https://start.spring.io/ 前回の記事との違いは特にないです。 入
4月に発売した書籍「Kotlin サーバーサイドプログラミング実践開発」なのですが、この中で途中まで作っていてボツネタにした内容がありました。 gihyo.jp それが「Gradleのマルチプロジェクトでオニオンアーキテクチャを実現する」というものです。 第2部で作成していたbook-managerというアプリケーションは、もともとこれを使って作成していましたが、途中でやめて現在の形になりました。 github.com ボツネタにした理由としては、一回実践で導入してみていくつか微妙な点があったことと、紙面上の説明が複雑になるのでベーシックな内容としては外していいかなと思ったためです。 ただせっかく途中まで作っていたので、試して微妙と感じた点も含めて、今回紹介したいと思います。 サンプルとしてこのbook-managerの内容をマルチプロジェクト化したアプリケーションを使い、オニオンアーキテ
近年の新人研修では、Javaの基本文法などを学んだ後にいきなりSpring Bootを学ぶため、サーブレットを知らない方も多いと思います。 普段の開発ではサーブレットを意識することはほぼ無いのですが、Spring Bootのカスタマイズなど込み入ったことをするには、サーブレットの知識が必要になります。 この記事では、必要最低限のサーブレットの知識および簡単なアプリケーションの作成方法を解説します。 環境 JDK 21 Tomcat 10.1.40 Jakarta Servlet 6.0 macOS 15 用語などの解説 Webにおける静的コンテンツと動的コンテンツ Webにおける静的コンテンツとは、いつ誰がアクセスしても常に同じ内容がレスポンスされるもののことです。 対して動的コンテンツとは、アクセスする時間・ユーザー・その他の条件によって、異なる内容がレスポンスされるもののことです。 サ
【Unit4 ブログリレー5日目】 こんにちは。Unit4 Eng の西川です。JavaScript が好きですが、今回は JavaScript ではなく、最近やった Spring Boot + Flyway を利用しているシステムから別の DB への接続を増やした時の話をしたいと思います。 非常に可愛いうちの猫です 動作環境 背景 Spring Boot で複数の DB に接続する 概要 application.yaml の記載 Configuration ファイルの作成 Flyway を複数の DB に適用する baselineOnMigrate を適用する Configuration ファイルの作成 テスト用の Configuration ファイルを作成 終わりに We're hiring! 動作環境 今回のプロダクトで利用している Spring Boot と Flyway のバージ
はじめにこんにちは、2021年新卒入社の本田です。私はJavaもSpring Bootもほとんど何も知らないのですが、業務でSpring Bootを使いそうなので、「Spring勉強しなきゃ😇」という気持ちがあります。 Spring Bootアプリケーションのネイティブイメージが簡単に作れるSpring Nativeについて調べてみたので、それを紹介します。 Spring Nativeとは?Spring NativeとはSpring Bootアプリケーションをほとんど変更することなく、ネイティブイメージを生成することを目指したプロジェクトです。ネイティブイメージの実行はJVM(Java仮想マシン)による実行と比べて、起動時間が早い、ピークパフォーマンスに達するのが早い、メモリの使用量が小さい等の利点を持っています。 Spring Nativeでは、Spring Bootアプリケーションの
Amazon Web Services ブログ Spring Boot アプリケーションを AWS Fargate に最適化する この記事は Optimize your Spring Boot application for AWS Fargate (記事公開日: 2022 年 7 月 25 日) を翻訳したものです。 中断や需要のピークに迅速に対応するには、起動時間を短縮することが重要です。それによってリソース効率を高めることができます。AWS Fargate では、基盤となるコンテナホストの面倒を見る必要はありません。しかしながら、コンテナとアプリケーションの起動時間を短縮するために、いくつかの変更が必要になることがよくあります。 この記事では、Fargate 上で実行される Java アプリケーションに適用する最適化手法について説明します。この記事では特に Java Spring B
サーブレットで面倒なのはTomcatとの付き合いです。 Spring BootでSpring Webを使うと組み込みTomcatが動くので、Tomcatのことを気にしなくてよくなりますね。 そこでサーブレット動かすと勉強しやすいんでは、と思ったので試してみます。 まず、spring initializrでSpring Webを追加したプロジェクトを作ります。 https://start.spring.io/ このリンクから、設定済みのspring initializrを開けます。Mavenにしているので、Gradleがいい人は選択しなおしてください。 https://start.spring.io/#!type=maven-project&language=java&platformVersion=3.1.1&packaging=jar&jvmVersion=17&groupId=com.
はじめに おはようございます、もきゅりんです。 皆さん、フレームワーク使ってますか? 自分は特にジャバーではないのですが、本稿ではお勉強も兼ねて Spring Boot を使って Fargate に APIをデプロイしてみました。 なお、Spring Boot に詳しいわけでは全然ないので、淡々と公式ドキュメントに沿ってAPIを作り、Dockerイメージに仕上げます。 Fargate はちゃんと動くかだけを確認しておきます。 そのため、Spring Boot および Fargate がどんなものでどんな特徴があるのか、といったコンテンツはございません。あしからず。 そういった方には下記 Fargate ブログは適切です。 基礎から応用までじっくり学ぶECS Fargateを利用したコンテナ環境構築 #Fargate | Developers.IO やること Spring Boot でRES
Updates: Since this blog post has been published, a new logback 1.2.9 version has been published. While this fixes a security issue, prerequisites for exploits are very different as they "requires write access to logback's configuration file". Log4J also released a new 2.17.0 version with fixes for CVE-2021-45046 and CVE-2021-45105. Spring Boot 2.5.8 and 2.6.2 haven been released and provide depen
スライド概要 JJUG CCC 2024 Springの発表資料です。 Webアプリケーションをクラッカーの攻撃から守るために様々な対策が求められます。例えばSQLインジェクション対策、CSRF対策、XSS対策、セッションID固定化対策などです。 このセッションでは、これらの対策について基礎から解説したあと、Spring Bootでどのように実装するかを解説します。
はじめに 多言語対応とは さっそく環境準備から message.propertiesを作成する Configを設定する ResourceBundleMessageSourceを継承した独自クラスを作成する Controllerから作成したMultiMessageSourceを呼び出す 実行してみる まとめ はじめに はじめまして、バックエンドエンジニアのryrkssです。 今回、担当する開発業務にて、Javaのフレームワークの中でも有名なSpring FrameworkにあるSpring Bootを使用して、多言語対応しましたのでそのお話をさせていただきたく思います。 多言語対応で調べたときの記事で動的ではない言語対応方法(ユーザの言語設定に左右されない)の記事が多い印象でした。 たしかにサンプルとしてはいいかもしれないんですが、実際のアプリケーションでは動的に言語を切り替えたいはずです。
Netflix has developed a Domain Graph Service (DGS) framework and it is now open source. The DGS framework simplifies the implementation of GraphQL, both for standalone and federated GraphQL services. Our framework is battle-hardened by our use at scale. By open-sourcing the project, we hope to contribute to the Java and GraphQL communities and learn from and collaborate with everyone who will be u
Kotlin Fest 2024 の「例外設計について考えて Kotlin(Spring Boot&Arrow)で実践する」の発表資料です。 https://fortee.jp/kotlin-fest-2024/proposal/c7b68f48-1209-4f63-a111-18d1b185e109...
2021年11月2日:ウェビナーアーカイブ配信中! 「Springフレームワーク徹底解説 〜初心者から上級者向けセッションと事例のご紹介」 ダウンロード:「2021年 Springの現状」資料 ダウンロード:「2020年 Springの現状」資料 【前編】Spring Bootってなにがいいの←本記事です 【後編】Spring Bootで始めるマイクロサービスの開発 はじめに はじめまして。VMwareの伊藤です。Tanzu製品のプラットフォームアーキテクトとして働いています。 開発と運用双方の経験がありますが、だいぶインフラ寄りの経歴となります。 プライベートでは書籍を執筆するほどPythonを利用しているのですが、仕事ではJavaとSpringBootを使う機会が増えてきましたのでSpringBootの紹介をしたいと思います。 なお、久しぶりのJavaとなりますので、Spring Bo
こんにちは。ソリューションアーキテクトの瀬戸です。 今回はApache Camelアプリケーションの開発環境のセットアップをしてサンプルアプリを確認してデプロイまでをしてみたいと思います。 Apache Camelって何よ?って思った人は、蒸野さんが書いているブログ記事:Apache Camel 超入門を参照してください。 rheb.hatenablog.com 以前Red HatではFuseという名前でApache Camelを製品化して販売していました。 今はRed Hat build of Apache Camelという名前で製品化されているのですが、Red Hat build of Apache Camelに変わった後も複雑な経緯によってドキュメントの体系が変わっており、細心のドキュメントが見つけにくくなっています。 現時点(2024年11月時点)では、製品ドキュメントのページから
まずは結論から SpringのDIコンテナに管理してもらいたいクラスが、自分で作成しているクラスなのか、それとも外部のライブラリ(サードパーティのライブラリ)のクラスなのかによって、@Componentを使うか@Beanを使うか変わる。 @Componentとは @Compnentは、Spring BootでWebのMVCアプリを作成するときに使用する@Controller, @Service, @Repositoryと同様に、SpringのDIコンテナに管理させて@AutowireなどでDIできるようにしたいクラスにつける。 @Controller等はMVCの文脈上で特化したクラスにつけられるのに対して、@Componentはそれら以外の特化していないクラス全般に付与するだけで、基本的には同じ。 @Beanとは @Beanも同様にSpringのDIコンテナに管理させたいものにつける点は同
こんにちは。カート決済部カート決済基盤ブロックの高橋です。 カート決済部では、現在Spring BootのJavaプロジェクトを運用しています。今回Spring Bootのバージョンアップを実施した際に発生した問題点と対応内容、注意点をご紹介します。加えて、使用しているライブラリなどのバージョンも上げているのでご紹介します。 アップデート前後のバージョン 種類 前バージョン 後バージョン Java 17 17 Spring Boot 2.7 3.0 Gradle 7.x 8.x SpringFox 3.0.0 - Springdoc-openapi - 2.1 openapi-generator 5.1 6.5 Spock Framework 2.1-groovy-3.0 2.4-M1-groovy-4.0 JavaはSpring Bootのバージョンアップ前からJava 17を使用してお
Spring Bootで初めてWebアプリを作ろうとすると最初につまづくのが「どういうライブラリ組み合わせればええんや...」というポイントなので、自分の中にある選定パターンをメモします。ここで説明するのはWeb層とDBアクセス層をどうするかという部分だけです。 あまり真面目な記事ではないので、ちゃんとした情報を知りたい人はSpring Academyとかを見るのが良いと思います。 マイ・パターン 灰色になっているのは仕事では使ったことのない組み合わせです。 Spring WebFlux + Spring Data R2DBC Spring初心者は無視して良いです。自分も使ったことがあるのはDBアクセスなしのWebFluxだけです。 Microservicesで言うところのAPI Gatewayだったりリバースプロキシだったり、特定のユースケースのときしか選択肢に上がりません。 Spring
マイクロソフトとVMwareが「Azure Spring Cloud Enterprise」発表。Spring Boot+Kubernetes環境をAzureのマネージドサービスで提供 マイクロソフトとVMwareは、Microsoft Azure上の新サービス「Azure Spring Cloud Enterprise」を発表しました。 マイクロソフトは、Microsoft Azure上でフルマネージドなSpring Bootアプリケーションの開発や実行環境を提供するマネージドサービス「Azure Spring Cloud」を昨年9月に正式リリースしています。 このAzure Spring Cloudに、Kubernetesの実行環境や開発環境を統合した「VMware Tanzu」を組み合わせ、マネージドサービスとして提供されるのが、今回発表されたAzure Spring Cloud E
以下のソフトウェアをインストールしてください。 Java 11 docker pack curl jq この資料は次のバージョンで動作確認しています。 $ java -version openjdk version "11.0.10" 2021年01月19日 LTS OpenJDK Runtime Environment (build 11.0.10+9-LTS) OpenJDK 64-Bit Server VM (build 11.0.10+9-LTS, mixed mode) $ docker version Client: Docker Engine - Community Cloud integration: 1.0.9 Version: 20.10.5 API version: 1.41 Go version: go1.13.15 Git commit: 55c4c88 Built
こんにちは、CX事業本部のうらわです。 今回はバックエンドはSpring Boot、フロントエンドはReact(SPA)のWebアプリケーションをAWS CDK(以下、CDK)でAmazon ECSデプロイしてみました。フロントエンドはS3/Cloud Frontで配信するのではなく、Spring Bootの一部としてデプロイします。 本記事ではSpring BootやReactで実装するアプリ自体のコードの説明は重要な点のみです。全てのコード例は以下のGitHubを参照ください。 urawa72/spring-boot-react-app 作業環境 $ sw_vers ProductName: Mac OS X ProductVersion: 10.15.7 BuildVersion: 19H15 $ java --version openjdk 11.0.11 2021年04月20日 O
はじめに 初めまして、クラウドワークスの新規事業エンジニアのせきと申します。2019年9月に新規事業クラウドリンクス(CrowdLinks)の開発チームにジョインし、サービスの立ち上げ段階から参画してきました。 現在クラウドリンクスは「Nuxt.js ×ばつ Spring Boot(Kotlin)」という構成でサービスを運営しています。 この記事では、クラウドリンクスの技術選定の経緯と感想を紹介したいと思います。 新規事業の技術選定に興味がある、または今まさに技術選定をしている方 ドメイン駆動設計などの設計思想に興味を持つ方 新規事業の開発に関わっている方、または関わりたいと思っている方 こんな方々のご参考になれば嬉しいです! 目次 背景 移行後のアプリケーションの技術選定 「1. ドメイン駆動設計(DDD)」の採用理由 「2. モジュラモノリス」の採用理由 「3. CQRS」の採用理由 「4
1. 今回の記事内容 開発業務で Spring Framework を使うことになりそうなので、開発ツールとしてEclipse ではなく VS Code での開発をやってみた、という記事になります。Javaの開発において現状ではEclipseを使うのが主流だと思いますが、今後は VS Code を使うケースが増えるのではないかと見ています。 2. Spring Framework に関するおさらい 本題に入る前に Spring Framework について少しだけ復習しておきます。 (1) Spring Boot ってなんだっけ?Spring Framework とどう違うの? 書籍『Spring 徹底入門』によると、Spring Boot とは「最小限の設定でプロダクションレベルのSpring アプリケーションを容易に開発するためのSpringプロジェクト」であると説明されています(p.
はじめに 本記事の目的は、Web フロントエンド(TypeScript) と BFF(Spring Boot) をタイプセーフに繋ぐ方法を紹介することです。 以前、以下の記事を書きました。 この記事からの変更点は、次の2点です。 OpenAPI Spec を出力する Springfox を springdoc-openapi に変更しています。Springfox はメンテナンスされなくなっているようです。 生成するコードが Angular 用のクライアントでしたが、より汎用的な fetch のクライアントに変更しています。サンプルコードも React に変更しています。 ざっくり説明 まずは、以下のような Spring Boot(BFF)のコードを作成します。 @RestController public class AppController { @GetMapping("/greet"
「Spring Boot」と「Spring Framework」の主な違いは、Spring Frameworkが多くのSpringプロジェクトが依存する基盤となる軽量アプリケーション開発フレームワークであるのに対し、Spring Bootは複数のSpringプロジェクトを統合して構成するアプリケーションアクセラレータである点だ。 Spring Bootは、開発者が複数のSpringプロジェクトをまとめて迅速に立ち上げる(ブートストラップする)のに役立つことが、その名前の由来になっている。 Spring Frameworkとは Spring Frameworkはロッド・ジョンソン氏によって考案され、2004年にv1.0がリリースされた。Spring Frameworkは「Dependency Injection(DI:依存性の注入)」と「Inversion of Control(IoC:制御
AWS Fargate の Graviton2 対応が GA になりました。従来のコンピュートリソースより 20% 安く、最大 40% 高性能なリソースを利用できます。 https://aws.amazon.com/jp/about-aws/whats-new/2021/11/aws-fargate-amazon-ecs-aws-graviton2-processors/ 弊社が提供する Prismatix は Spring Boot 2 アプリケーションを AWS Fargate にデプロイして提供しています。 Prismatix を従来の Fargate から Graviton2 ベースの Fargate に移行するだけで AWS 利用費を下げることができ、AWS 利用費を下げることは顧客のサービス利用費を下げることになり、顧客の満足度向上にもつながります。 ぜひとも提供したい。早速
前回のエントリー では動かし方のみ説明し、GrafanaスタックやMicrometerがどのように動いているのかについて触れていなかったので、これから何度かに分けて説明していきます。 第1回目はGrafana + Prometheusです。 Grafanaスタックの各プロダクトについて 説明に入る前に、Grafanaスタックになじみがない方(1ヶ月前の僕とか)も多いと思いますので、まずは簡単に各プロダクトのことを説明しておきます。 Grafana https://grafana.com/oss/grafana/ GrafanaはGrafana Labsが開発している監視用のダッシュボードやアラート機能などを提供するUIです。Elastic Stackになじみ深い方にとっては「要するにkibana」と言うと説明が早いでしょうか。 GrafanaはPrometheus、Loki、Tempo、E
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 普段の業務ではPHP(Laravel)を使っています。 この間Android開発でKotlinを経験し、一度は静的型付言語でWeb開発をしてみたいとも思っていたのでKotlin×ばつSpring Bootで簡単なWebアプリを作ってみることにしました。 Kotlin触ってて思ったのが、Javaの知識を前提に書かれている情報が多いな〜1ということでした。 自分は基本情報対策くらいしかJavaやってなくて、結構調べなきゃいけなかったりと面倒だったので、できるだけJavaの知識がなくても分かるように書いていこうと思います。 環境 OS: macO
オープンソースのJava向けアプリケーションフレームワークSpringの開発チームは、Springベースで実行可能なスタンドアロンの本番レベルアプリケーションを作成できるSpring Bootの最新版となる「Spring Boot 2.5」を、5月21日(現地時間)にリリースした。 「Spring Boot 2.5」では、schema.sqlスクリプトとdata.sqlスクリプトで使用される基本的なメソッドが再設計され、spring.datasource.*プロパティが非推奨となり、新たにR2DBC経由でアクセスされるSQLデータベースの初期化にも使用できるspring.sql.init.*プロパティが採用されている。 また、spring.flyway.urlまたはspring.liquibase.urlを定義している場合は、追加のプロパティとしてusernameとpasswordを定義す
【この本について】 サーバーサイド Kotlin で Web API を作成する本です。Kotlin で HelloWorld、Spring Boot の基礎から、Arrow を用いた実践的な Web API 開発の内容まで取り扱います。 【本書の構成】 本編 - 第 1 章 Kotlin 入門 - 第 2 章 Spring Boot 入門 - 第 3 章 実践 付録 - A Kotlin の基礎 【ロードマップ】 本書の全体構成を図に起こしたロードマップは下記のリンクにあります。読み進める際の参考にしてください。 https://zenn.dev/msksgm/books/implementing-server-side-kotlin-development/viewer/chapter-00-about 【更新情報】 2024年07月09日 v2.2.1 「📃2.2 Spring Bo
こんにちは。Nulab Appsチームの小松です。 本ブログでは、バッチ処理の実装を通じて得た知見について共有したいと思います。 TL;DR Spring BootとSpring Batchを使用したバッチ処理の実装 AWSのマネージドサービスを使用したデータ運搬 要件 実現したいことは、Webアプリケーションで管理しているデータをSalesforceへ同期することです。 Salesforceへの同期のタイミングは、アプリケーションでのデータ変更に連動して行われることが望まれており、ある程度のリアルタイム性が求められていました。 Salesforce上のモジュール間には関連を定義することができ、今回は、その関連を多用する仕様となっていました。そのため、同期処理時に更新したSalesforceのオブジェクトのID管理やその紐付けなど、独自のロジックの実装が必要でした。 多くのデータを1日何度
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?
このガイドでは、VSCode (Visual Studio Code) を使用して Spring Boot 入門ガイドの 1 つを作成する方法について説明します。
環境 Amazon ECS on Fargate 1.4.0 Java 21 Spring Boot 3.5 Terraform 1.13 ecspresso 2.6 ECSって何?という人は下記のBlackbelt資料を読むと良いでしょう(PDFへの直リンクです)。 Amazon ECS入門 ECSでのFargate入門 また、要点のみに絞るため、ECS関連のTerraformリソースの作成方法も詳細には解説しません。それらを学ぶ場合は下記の本をどうぞ。 忙しい人のためのまとめ ecspressoいいですよ タスク定義に"readonlyRootFilesystem": trueを設定しましょう ECS on Fargateの場合、Cloud Native BuildpacksではなくDockerfileでコンテナイメージを作成しましょう ecspressoの利用 ecspressoは簡
はじめに 先週、(2020年11月12日)にSpring Boot 2.4が出ましたが、どんなのが出たのかまとめて、なんとなく違いを把握おこうと思います。 基本的にはリリースブログとRelease Notesの内容を個人的に気になったところを少し深ぼって、自分の理解をまとめようと思うので、正確な情報は本家のブログやそれに付随する記事等をご参照ください(なるべく、情報ソースのリンクはつけます)。 ちなみに、ドキュメントに書かれた変更点を自分の理解でまとめたものなので、基本的に機能に対しては動作検証などは行っておりません。 Spring Boot 2.4.0変更点 このブログでは以下のような変更点についてまとめます。 バージョニングスキーマの変更 設定ファイルのプロセッサ変更 Volume Mounted Config Directory Trees Startupエンドポイントのサポート Do
複数のテナント間でデータベースを共有するマルチテナントアーキテクチャ。構築・運用のコストに優れる一方で、アプリケーション側の不具合によって他のテナントのデータが見れてしまう、という重大なインシデントを起こしかねません。 マルチテナントアーキテクチャを採用する際に、どうやってセキュリティと開発者体験...
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く