タグ

ブックマーク / nippondanji.blogspot.com (20)

  • 10億IOPSの新技術「Auto Commit Memory」に見るコンピュータの展望

    先日、Publickeyにて"Fusion-io、10億IOPSの新技術「Auto Commit Memory」発表。ストレージなんてレベルじゃない、パーシステントなメモリだ"という記事が紹介された。10億IOPS!なんていうと、普段ITに携わっている人間としては信じがたい数字であり、思わず眉にたっぷり唾を塗って身構えてしまう。その一方で、「あのFusion-IOならやりかねない」という淡い期待も抱かずには居られない。記事を読んだところ、既存のioDrive2 Duoを使い、ソフトウェアで10億IOPSを達成したとのこと。同じハードウェアなのにいきなり性能が飛躍的に向上した!というのもにわかには信じがたい。一体どういうことだろうか?と色々考察したことをまとめてみた。(あくまでも筆者の考察および推測であるという点はご理解頂きたい。) どのようなソフトウェアだろうか?Auto Commit M

    10億IOPSの新技術「Auto Commit Memory」に見るコンピュータの展望
    ita-wasa
    ita-wasa 2012/02/01
    Fusion-IOがこのような戦略をとったのは非常に興味深い。Fusion-IOがioDriveを発表したときは、PCI Expressから直接SSDにアクセスすることでSATAという中間層のインターフェースをすっ飛ばすことでボトルネックを解消した!という
  • MySQL 5.5新機能徹底解説

    今年も残すところあとわずかとなった。2010年もIT業界にとっては変化の多い一年だったが、皆さんにとっては良い年だっただろうか?既に何度かMySQL 5.5の新機能については取り上げたが、ついに正式版がリリースされたということでここで改めて新機能を解説し、今年最後のエントリを締めくくろうと思う。 MySQL 5.5にはこれでもかっ!というぐらい新機能が追加されている。しかもいずれもナイスなものばかりだ。一般的には、ソフトウェアに新機能が追加されると重くなったり安定性が低下する事例が後を絶たないのだが、MySQL 5.5に関してはそのようなことは全くないので安心して利用して頂きたい! InnoDBの大幅な改善種々ある改善点の中でも特に目をひくのがInnoDBストレージエンジンへの改良だ。実は、InnoDBMySQL 5.1が最初にリリースされたときから、2回アップデートが行われている。My

    MySQL 5.5新機能徹底解説
    ita-wasa
    ita-wasa 2011/01/13
    mysqld内で動いているバックグラウンドスレッドの一覧が表示されるが、このような情報は通常のコマンドでは見ることが出来ない。これがP_Sの真価である!また、テーブル名からも分かるように、performance_schemaデータベース
  • 出来る漢になるための唯一無二の階段

    はてなのホッテントリで話題になっている「仕事がデキる人」と「仕事をする人」の違いと習慣 / Keep Crazy;shi3zの日記」という記事を見て凄い違和感を覚えたので思わず筆をとってしまった。ネタバレ注意なので、まずは元記事を読んでからエントリに移っていただきたい。 一見もっともらしい意見のようだが・・・結論から言おう。 単に与えられた命令を淡々と実行するのは当たり前。それは「仕事をしてる」ことにはなっても、「仕事がデキる」ということではない。 では「仕事がデキる人」と「仕事をしてる人」の違いはどこにあるだろうか。 僕はこれを「先読み能力」の違いだと思った。 仕事で先を読むなどということに挑戦するのはまったくの無駄骨にしかならない。 そもそも、ルーチンワークでもない限り、物事の先を読むというのは非常に難しいか、もしくは不可能である。ルーチンワークであれば段取り通りに仕事を進めていくだ

    出来る漢になるための唯一無二の階段
    ita-wasa
    ita-wasa 2010/11/06
    「この契約はどう考えてもおかしい」という気づきがあるかどうかということが、そもそも仕事が出来るかどうかの違いなのだ!!と俺は考える。その後の行動は、知り得た情報から現在の状況を分析した結果選択されたも
  • 「java-ja 第1.9.2回 チキチキ ライセンスって何ですか?」に参加した。

    先日、「java-ja 第1.9.2回 チキチキ ライセンスって何ですか?」という勉強会に参加してきたのでレポートしたい。宣伝文がやたらとお茶目(タイトルも?!)だが、その日の雰囲気も負けず劣らず楽しいものであったと思う。ライセンスというお固い議題なのに!!である。ちなみに、ブログでは常々ライセンスについて色々と綴っているが、今回は基的に聞く側として参加した。(最後にちょっとだけマイクを握らされて(?)しまったけれども。) 講師を努めて頂いたのは「ソフトウェアライセンスの基礎知識」の著者である可知 豊氏。 可知氏のブログ: Placebo Effect 今回の発表資料はこちらにあり、CC-BYで利用可能になっている。(CC-BYはクリエイティブコモンズライセンス- CCL -のひとつである。CCLについてはブログでも何度か紹介したので、忘れた人はぜひ復習して欲しい。 *1 *2 *3

    「java-ja 第1.9.2回 チキチキ ライセンスって何ですか?」に参加した。
    ita-wasa
    ita-wasa 2010/10/02
    この資料は、可知氏の著書である「ソフトウェアライセンスの基礎知識」のダイジェスト版のような感じに仕上がっている。著書の要点を抑えてあるような感じだ。もしこの資料を社内勉強会などに利用する場合、発表者は
  • 目覚ましい進化を見せるストレージエンジン - PBXT改善の軌跡

    PBXTというストレージエンジンがある。これは、PrimeBase社によるストレージエンジンで、トランザクションをサポートした格的なものである。(つまり、InnoDBやFalconの代替として使うことを目指したエンジンなのである。)PBXTは次のページからダウンロード可能だ。 http://www.primebase.org/ 上記のページにも書いてあるが、PBXTの特徴は次の通り。 MVCC(Multi Version Concurrency Control)トランザクションのサポートACID準拠行レベルのロックデッドロック検知外部キーのサポートWrite Once(追記型アーキテクチャ)BLOBストリーミング 最後の2つ以外はInnoDBと同じである。Write Onceとは追記型のアーキテクチャで、InnoDBのように独立したログが存在しないという意味である。(PostgreSQL

    目覚ましい進化を見せるストレージエンジン - PBXT改善の軌跡
    ita-wasa
    ita-wasa 2010/07/30
    上記のページにも書いてあるが、PBXTの特徴は次の通り。 * MVCC(Multi Version Concurrency Control) * トランザクションのサポート * ACID準拠 * 行レベルのロック * デッドロック検知 * 外部キーのサポート * Write On
  • 受託開発とGPL

    GPLに対する代表的な誤解・・・というかむしろ謎のひとつに、受託開発(SI)におけるライセンスの扱いがある。この点が明確になっていないため、受託開発において無意味にGPLを回避しようとしたり、GPLに対するFUDを流布することに対する原因になっていたりするように思う。フリーソフトウェアおよびオープンソースソフトウェアを愛する者として、そのような状況は断じて見過ごすことができない!!というわけで、今日はGPLを受託開発(SI)において用いる場合の注意事項を説明しよう。 GPLの使いどころ受託開発においてGPL(とその仲間たち=LGPL、AGPL)が登場するのは、第三者、つまり発注側でも受託側でもない者が作成したGPLのソフトウェアを利用する場合である。例えばGPLが適用されたライブラリなどだ。周知の通り、GPLのソフトウェアをリンクしたソフトウェアを再配布する場合は、そのソフトウェア全体に対

    受託開発とGPL
    ita-wasa
    ita-wasa 2010/06/05
    AGPLv3について分かり易くいうと、ネットワーク接続してきた相手をライセンシーと見なせば良いのである。(厳密には違うと思うが、とりあえずそのような解釈で運用していれば問題はない。)
  • EclipseのプラグインをGPLで公開する

    今回の記事には、Eclipse界の人からすると「お前は何を言っているんだ?」と思われるようなタイトルかも知れない。Eclipseのライセンス=Eclipse Public LicenseとGPL=GNU General Public Licenseには互換性がなく、両者のライセンスを組み合わせることが出来ないのはいわば常識化している話題のひとつである。両者のライセンスが非互換であることは、フリーソフトウェア財団のライセンスページにも、EclipseのFAQページにも書かれている。 GPLには、システムライブラリはライセンスの適用範囲と見なさないという例外規定があり、プロプラエタリなOSの上でもGPLなソフトウェアが実行できるようになっている。しかし、Eclipseのようなプラットフォームに対してそのような例外は存在しない。なので、Eclipseのプラグインは、EPLとGPLの非互換性のため

    EclipseのプラグインをGPLで公開する
    ita-wasa
    ita-wasa 2010/05/31
    というわけで、Eclipseのプラグインを開発してGPLで公開する場合には、ライセンス例外規定を付け加えることを忘れないようにされたい。ただし、元々例外規定のないGPLが適用されたソフトウェアに対して例外を追加するこ
  • 語り尽くされたことを改めてブログに書くことの意義。その2

    前のエントリでは「なぜありふれた技術に関する記事を改めて書かなければいけないのか?」ということについて、次の4つの観点から語ってみた。 大事なことはより多くの人の目に止まるようにしなければならない。 ひとつの技術を別の角度から描くことで、様々な視点で見る機会をもってもらう。 情報を加工することで、新たな価値を創出することができる。 発信するという行為は自らの糧となる。 今日は別の角度から「既に多方面で語られていることを改めて書く」ことの意義について、さらに語って見ようと思う。 その技術を理解している人がどれだけ居るのか。そもそもであるが、SQLインジェクションについて理解している人がどれだけ居るだろうか?SQLインジェクションがどのような仕組みなのかということについては、データベースを使って開発をする全てのエンジニアが嗜むべき知識であるが、その事についてちゃんと理解している人がどれだけ居る

    語り尽くされたことを改めてブログに書くことの意義。その2
    ita-wasa
    ita-wasa 2010/01/25
    想像してみて欲しい。ブログを新たに書き始める人が居なくなった世の中を。権威ある人だけが発言を許された世の中を。情報は極端に偏ってしまうし、そうなればもはやブログに新たな発見を見いだすことは出来なくなっ
  • 違いが分かるエンジニアのためのMySQL/InnoDB/ZFSチューニング!

    明けましておめでとうございます。今年もコンピューター道に邁進して参りますのでよろしくお願いします! さて、今年一発目のネタはMySQL利用時におけるZFSのチューニングについて取り上げようと思う。Solarisに搭載されている機能の中でも最も注目度の高いものの一つであるZFSであるが、MySQLのバックエンドとしてはあまり利用されていないように思う。(そもそもSolarisのユーザー数自体がそれほど多くないという話もあるが。)ZFSは優れたファイルシステムであり、ファイルシステム自体にスナップショット機能が搭載されていたり容量の限界に先が見えない(充分すぎるほど余裕がある)といった管理上のメリットがあり、DBAにとっては垂涎のファイルシステムであると言える。(Linuxで利用出来ないのが難点だが、ZFSを使うためにSolarisを使うのもアリだろう。) MySQL利用時におけるZFSのチュ

    違いが分かるエンジニアのためのMySQL/InnoDB/ZFSチューニング!
    ita-wasa
    ita-wasa 2010/01/09
    MySQL/InnoDBをZFS上で利用する場合には是非参考にして頂きたい。ブログ主のNeelakanth Nadgir氏は、MySQL Conference & Expoにおいてさらに詳細なプレゼンテーションを行ったので、興味のある方はぜひそちらも参照して頂きたい。
  • 限界までMySQLを使い尽くす!!

    どこまで出来るか?!やれるところまでやってやるぜ!!と、威勢が良いのは若い間だけの話。オトナのオトコは、攻めるときはとことん攻めるが自らの限界もわきまえて賢く振る舞うのがスマートってものである。というわけで、今日はMySQLのいろいろな限界についてまとめてみる。皆さんも是非MySQLの限界を知り、MySQLをもっとスマートに使って頂きたい。 SQL文の最大長 MySQLサーバーが実行出来るSQL文の最大長は、max_allowed_packetシステム変数で表される。max_allowed_packetの最大値は1GBである。max_allowed_packetの値はセッションごとにも設定可能なので、デフォルトではそこそこの値(16MBなど)に設定しておいて、必要に応じて大きな対を使うと良いだろう。 データベースの個数 データベースオブジェクトの個数に制限はない。データベースオブジェクトは

    限界までMySQLを使い尽くす!!
    ita-wasa
    ita-wasa 2010/01/05
    ユーザー数 制限なし。何名でも登録可能。ただし権限テーブルはメモリ内にキャッシュされるので、あまりに多すぎるとメモリを消費しすぎることになるので注意が必要だ。 ユーザー名 16文字まで。
  • MySQLバックアップ頂上決戦!! LVMスナップショット vs InnoDB Hot Backup

    スナップショットを使えばとある瞬間のディスクやファイルシステムのデータをいつでも後から参照することができる。しかもスナップショットの作成は一瞬だ。スナップショット機能を活用すれば最強のオンラインバックアップソリューションが出来るだろう。 しかし、スナップショットでバックアップを取るなんて危険な操作じゃないのか?!と不安に思われる方もいらっしゃるかも知れない。MySQL Serverが稼働中にいきなりデータだけをとってくるのだから、そのような疑問を持たれるのは頷ける。しかし仕組みさえ分かればスナップショットによるバックアップは怖くないということが分かるはずだ。そこで、まずはスナップショットによるバックアップの仕組みについて説明する。スナップショットを取る際の要件は次の通りである。 全てのデータを単一のボリュームに置くこと。つまり、一回のスナップショット操作でバックアップが取れることだ。 ディ

    MySQLバックアップ頂上決戦!! LVMスナップショット vs InnoDB Hot Backup
    ita-wasa
    ita-wasa 2009/12/25
    先日のMyNAのイベントにて、「InnoDB Hot Backup(もしくはXtra Backup)のようなツールとLVM等でスナップショットを取るのはどちらが最強のバックアップたり得るか?」という感じの内容の議論がなされていたのだが、確かにこれ
  • 最強のMySQL HA化手法 - Semi-Synchronous Replication

    MySQL 6.0で搭載される予定の機能の一つに、Semi-Synchronous Replicationというものがある。コイツを使うととんでもなく凄いHA化ができるので、今日はその方法を紹介しよう。 まずはSemi-Synchronous Replicationの機能説明から。そもそもSemi-Synchrounousってナニ?どうして完全な同期でもなく非同期でもなくSemi-Synchronousなの?という疑問をまずは解消したいと思う。さっそく次の図を見て欲しい。 これはSemi-Synchronous Replicationの動作を図で表したものである。図だけではなんだかよく分からないと思うので、以下に各ステップの詳細を説明する。 アプリケーション(クライアント)からトランザクションをCOMMIT要求を出す。 バイナリログを更新する。 ストレージエンジン(テーブル)を更新する。

    最強のMySQL HA化手法 - Semi-Synchronous Replication
    ita-wasa
    ita-wasa 2009/12/19
    # アプリケーション(クライアント)からトランザクションをCOMMIT要求を出す。 # バイナリログを更新する。 # ストレージエンジン(テーブル)を更新する。 # それと同時にバイナリログの内容がスレーブへ送信される。 #
  • MySQL 5.5登場

    MySQL 5.5がリリースされた。「えっ?!この前5.4をリリースしたばっかりでしょ?!まだ5.4すら使ってないよ!!」と驚かれた方はご安心を。これは開発リリースモデルが変更されたためで、MySQL 5.4はこれでいったん開発終了して今後の開発はバージョン5.5をベースにして継続されることになる。バージョン5.4も5.5も「マイルストーンリリース」(以下MR)という位置づけであり、GA(正式リリース)版ではない点に注意して頂きたい。MR版の位置づけは次のようなもの。 品質的にはRC(リリース候補)版と同レベル(従ってほぼ安定している) 3〜6ヶ月ごとに新しいバージョンが出る 新しいMR版では機能が追加されることになるが、RC版と同レベルまで安定した機能だけが追加の対象になる MR版へ追加する予定の機能については別のブランチで開発が進められる 12〜18ヶ月ごとにMRのうち一つをGA版へと

    MySQL 5.5登場
    ita-wasa
    ita-wasa 2009/12/19
    もはや高速なフェイルオーバーだけを目的としたActive-Active構成のクラスタは不要!であろう。
  • MySQLに纏わる10の都市伝説

    誰の口から飛び出したのかは定かではないが、巷ではMySQLにまつわる様々な「都市伝説」がまことしやかに囁かれているようだ。恐らくMySQLに対する理解が低い人や、MySQLがあまり好きではない面々によってFUDっぽく言われているのだと思うが、世の中にはそのような「都市伝説」を真に受けてしまう人が居るのもまた事実であである。MySQLにおける昨今の開発スピードには目覚ましいものがあり、MySQLは性能・安定性・使い易さ共に進化し続けている。(特に先日リリースされたMySQL 5.5は性能・安定性・使い易さを両立している優れたバージョンだ!!)しかし「都市伝説」で語られることは総じて「MySQLはダメな子ちゃん」であるという烙印を押すものばかりであり、MySQLerとしてはそのような言われ無き汚名を全身全霊をもって晴らさなければならない使命を背負っている。そこで、今日はMySQLについて語られ

    MySQLに纏わる10の都市伝説
    ita-wasa
    ita-wasa 2009/12/18
    誰の口から飛び出したのかは定かではないが、巷ではMySQLにまつわる様々な「都市伝説」がまことしやかに囁かれているようだ。恐らくMySQLに対する理解が低い人や、MySQLがあまり好きではない面々によってFUDっぽく言われて
  • GPLが適用されているソフトウェア=MySQLのパッチをBSDライセンスでリリースする。

    Googleがリリースしている有名なMySQL 5.0用パッチは、なんとBSDライセンスで提供されている。MySQLは周知の通りGPLでリリースされているが、GPLソフトウェアはその性質上、改変するとそのソフトウェアもGPLでリリースしなければいけない。だったら何故そのパッチをBSDライセンスで提供することが出来るのか?!ホントにそんなこと出来るのか?!Googleは何か間違ってるんじゃないか?!などと疑問に思われることだろう。 結論から言うと、Googleは何らライセンスの間違いを犯しているわけではなく、GPLソフトウェアにGPL互換のライセンスでパッチを書くことが出来るのは、GPLの条文そのものにしっかりと書いてあるのである。 以上の必要条件は全体としての改変された著作物に適用される。著作物の一部が『プログラム』から派生したものではないと確認でき、それら自身別の独立 した著作物であると

    GPLが適用されているソフトウェア=MySQLのパッチをBSDライセンスでリリースする。
    ita-wasa
    ita-wasa 2009/10/31
    つまり、パッチとしてオリジナルのGPLソフトウェアから完全に切り離された部分に関しては、GPLが適用されないわけである。ただし、そのパッチをGPLソフトウェアに適用するためには、そのパッチはGPL互換のライセンス(例
  • memcachedの驚愕の事実。

    MixiやFacebook、Wikipediaなど、大規模なサイトでmemcachedを利用する例が増えている。マイコミジャーナルのレポートでFacebookの事例紹介があるのだが、なんとmemcached用のサーバは805台で、メモリ容量は15TBにもなるそうだ。ディスクではなくメモリだけで15TB!である。アクティブユーザーの数は7000万人もいるそうだから、それを捌くとなるとハードウェアも凄い規模にならざるを得ないのである。 このように大規模サイトを支えるmemcachedであるが、そのプログラムの中身は一体いかなるものなのであろうか。memcachedはhttp://www.danga.com/memcachedでソースコードが配布されている。現時点での最新版は1.2.5である。ぜひダウンロードしてみてほしい。そしておもむろにファイルサイズを確認してみてほしい。するとあることに気づ

    memcachedの驚愕の事実。
    ita-wasa
    ita-wasa 2009/09/28
    たった6000行そこそこのプログラムを使ってここまでの大規模サイトを支えるというのは、自分の感覚ではとても違和感を覚える。memcachedは単調にメモリをアロケートして、クライアントからの問い合わせに対してごく単純
  • 爆速SSD Fusion-io ioDrive Duo現る。ただしインターフェイスはPCI Expiress

    PC Watchの記事で Fusion-io、読み取り1.5GB/secの世界最速SSDPCI Express接続で最大容量1.2TB というニュースを見かけたのだが、この製品がなんとも凄い。 シーケンシャルリードは1.5GB/sec、シーケンシャルライトは1.4GB/secというからまさに爆速!!最近人気のインテル製SSDでもシーケンシャルリードが250MB/sec、シーケンシャルライトは170M/secぐらいだからまさに桁が違う。ただしこの製品、インターフェイスはPCI Expressであり、残念ながらノートPCでは利用出来ない。MacBook Proでウハウハ快適生活!!は出来ないわけである・・・残念。 製造元のFusion-ioはサーバー向けだと謳っているのて爆速SSDでウハウハ快適データベース生活!!なら可能だ。サーバー用途で使う場合、PCI Express接続だと共有スト

    爆速SSD Fusion-io ioDrive Duo現る。ただしインターフェイスはPCI Expiress
    ita-wasa
    ita-wasa 2009/09/24
    PCI Expressは通常North Bridgeに接続されるが、SATAはSouth Bridghにある。そのため、中継しなければいけないチップが増えるので、その分オーバーヘッドもおおきくなる。その様子を示したのが次の図である。
  • GPLに対するオトコの個人的見解

    なぜ自分がMySQL関係の仕事をしているのか?もちろんMySQL技術的に面白いということや、MySQLの優れた性能に惹かれているという部分はあるが、それよりも何よりもライセンスがGPLだということが一番の理由である。なぜGPLがいいのか?それは最も自由なライセンスだからである。 GPLよりBSDライセンスのほうが自由ではないのか?GPLソフトウェアを改変した場合、そのソフトウェアもGPLでリリースいなければいけない。BSDライセンスなら別のオープンソースでないライセンスにするという自由があるではないか。という反論があるかも知れない。 しかし考えて見て欲しい。BSDライセンスのソフトウェアを元に、オープンソースでないライセンスをつけた非常に優れたソフトウェアを開発したとしよう。そのことによって一体どれだけのメリットがプログラマ(またはエンジニア)に還元されるのだろうか。優れたソフトウェアで

    GPLに対するオトコの個人的見解
    ita-wasa
    ita-wasa 2009/04/03
    私有ライセンス制度とサブスクリプション制度では、エンジニアにとっては明らかにサブスクリプション制度の方がメリットが大きい。しかし経営者にとってはどうだろう。もし、Microsoftのように既に普及しているソフトウ
  • DBT-2によるベンチマーク手順

    DBT-2とはTPC-Cライクなオープンソースのベンチマークソフトで、OLTP系の負荷を擬似的に作り出すように設計されている。細かい更新系の処理を測定したい時には便利なベンチマークツールである。しかしながら、DBT-2の実行手順は多少面倒くさく、さらにREADMEには偽の(?)情報まで含まれている上にDBT-2の実行手順はあまりWeb上では解説されていない。そこで、今日は簡単ではあるがDBT-2によるベンチマークのやり方を紹介しよう。(以下の例では利用するデータベースをMySQLDBT-2のバージョンを0.40であると仮定している。) 1. ダウンロード次のページからDBT-2をダウンロードしよう。 http://osdldbt.sourceforge.net/ 2. 補助パッケージのインストール以下のperlパッケージ類はconfigureスクリプトでは「足りないよ」と言ってくれないの

    DBT-2によるベンチマーク手順
    ita-wasa
    ita-wasa 2009/03/25
    DBT-2とはTPC-Cライクなオープンソースのベンチマークソフトで、OLTP系の負荷を擬似的に作り出すように設計されている。細かい更新系の処理を測定したい時には便利なベンチマークツールである。しかしながら、DBT-2の実行
  • 勝手に図解するmemcached

    先日、Brian Akerとミクシィの前坂氏によるmemcachedのセミナーがあった。 実践で使用する上での話や開発最前線の話が聴けたため、セミナーは非常に盛況であった。筆者にとっても非常に勉強になる内容だった。セミナーの資料はBrian Aker氏のサイトから入手できるのでセミナーに参加出来なかったひとはこの資料を読んで自習して頂きたい。 が、いかんせん氏のスライドはパッと見ただけではなんとなく分かりづらいように俺は思う。なぜだろうか?それはきっと図がないからだ・・・と勝手に想像する。オトコたるもの、時には勝手な憶測で突き進むのもアリだ。ちなみにBrianのスライドはほとんど要点の箇条書きになっている。これでは解説がないと、特に新規にmemcachedやMySQLを学習している人たちには分かりづらいだろう。 というわけで氏に代わり、memcachedがどのように既存の仕組みを置き換える

    勝手に図解するmemcached
    ita-wasa
    ita-wasa 2008/11/04
    1. MySQLに対して更新を行う。 2. トリガを使ってBLACKHOLEデータベースへ更新を行う。 3. UDF(ユーザー定義関数)インターフェイスを用いてmemcachedへの更新を行う。 4. 読み込み時にはキャッシュへ問い合わせを行う。(
  • 1