凪瀬 Blog
Programming SHOT BAR

目次

Blog 利用状況
  • 投稿数 - 260
  • 記事 - 0
  • コメント - 46948
  • トラックバック - 192
ニュース
広告
  • Java開発者募集中
  • 経歴不問
  • 腕に自信のある方
  • 富山市内
  • (株)凪瀬アーキテクツ
アクセサリ
  • あわせて読みたい
凪瀬悠輝(なぎせ ゆうき)
  • Java技術者
  • お茶好き。カクテル好き。
  • 所属は(株)凪瀬アーキテクツ
  • Twitter:@nagise

書庫

日記カテゴリ

 

Javaの登場によってオブジェクト指向(以下OOP)は一気に普及しました。 そのJavaもリリースが1996年と、もはや干支も廻るぐらいの時が経ち、OOPを扱える技術者も増えました。 身近なところでもOOPを使える人が見つかる可能性は高くなりましたし、学習がより行いやすい環境になってきていると思います。

それでもOOPを解するための壁は厚いと言わざるを得ません。 静的オブジェクト指向は設計者が苦労を背負込むシステム の稿では

Javaの静的オブジェクト指向というのは、クラスを設計する側の立場に立つと非常に苦労するものなのですが、クラスを使う側には非常に楽なものなのです。 Java界隈で仕事をする会社の新人教育は、この「クラスを使うことができる」レベルまで到達出ていればよいとされていると言って過言ではないでしょう。

と、OOPで設計されたクラスの「使い手」と「作り手」に求められる技術力の壁を指摘し、まずは「使い手」レベルまで到達する必要があることを述べました。

ソースコードを追いかけにくい理由

OOPの壁はなんといってもポリモフィズム(多態)ではないでしょうか。

ポリモフィズムによって、実行時に動的に処理のフローチャートが切り替わるのです。

この動的フローは 構造化定理で挙げられる「順次・反復・分岐」の3つの基本的な論理構造と、 それを基に構造化プログラミングで提唱された「サブルーチン」という古典的な処理フローとは異なるパラダイムです。

そして、このパラダイムは 高階関数(関数を引数や戻り値とする関数)などを用いる場合には理解していなければならなず、 既存の言語でそれを得てきているのであれば、ポリモフィズムを理解するための基礎的な道具は揃っており、 OOPへの移行はそれほど大きな壁とはならないことでしょう。

具体的には、C言語でも関数ポインタを自在に操れる人であれば、 実行時に動的にフローチャートが切り替わることを利用した アルゴリズムを組んだり設計をしたりすることが出来ることでしょう。 この関数ポインタによる動的な処理フローこそが、OOPを解するための一番の壁ではないかと私は睨んでいるのです。

OOPのコードが追いにくいのは動的なフローであるからです。 そしてそれは契約に基づくプログラミングでは「結果を返してくれる何か」と抽象化して委譲するので そこより先のフローに立ち入りません。

つまり、デバッグ時以外ではこの動的フローを強く意識せずともプログラムは書けるわけで、 動的フローが身についていないままデバッグの段で動的フローに触れることになると、 「OOPは役に立たない。コードの可読性を損なうだけで百害あって一利なしだ!」 と憤慨することになりかねないのです。

オブジェクト指向の学習のお膳立て

OOPを解するためのお膳立てとして、以下のようなものを揃える必要があると思います。

  • 構造化定理における「順次・反復・分岐」
  • 構造化プログラミングにおける「サブルーチン」
  • C言語の構造体などの、階層化したデータ構造
  • 関数ポインタ、高階関数に見られる動的な処理フロー

これらの材料がそろっているのであれば、OOPを理解するまではさほど時間はかかりません。型システムを理解し 契約プログラミング(programming by contract. 契約に基づくプログラミング、などとも呼ばれる。) を抑え、OOPを形作るのにいくらかの実習を行えば済むことでしょう。

投稿日時 : 2008年6月22日 14:30
コメント
  • # re: オブジェクト指向のコードが追いにくい理由
    通りすがり
    Posted @ 2008/06/22 15:38
    12年で一巡するのは十二支。干支が一巡するのは60年。
  • # re: オブジェクト指向のコードが追いにくい理由
    ひろえむ
    Posted @ 2008/06/22 22:00
    頭のいい人っていうのはこうやって物事を整理できるんだなぁと思うワケです。はい。
  • # ぴーびーしー
    東方算程譚
    Posted @ 2008/06/23 0:38
    ぴーびーしー
  • # ぴーびーしー
    東方算程譚
    Posted @ 2008/06/23 1:49
    ぴーびーしー
  • # re: オブジェクト指向のコードが追いにくい理由
    ネタ好き未記入
    Posted @ 2008/06/23 10:29
    東方算程譚で先に書いてしまったけど、オブジェクト指向のコードを「読む」のが原因だと思います。
    オブジェクト指向のコードに限らずコードは読むものではなくて頭の中で動かすものだと私は思うのです。
  • # re: オブジェクト指向のコードが追いにくい理由
    凪瀬
    Posted @ 2008/06/23 14:30
    > 12年で一巡するのは十二支。干支が一巡するのは60年。
    あぁ、干支と書くと十干十二支のことになるんですね。うっかりしてた。

    > 頭のいい人っていうのはこうやって物事を整理できるんだなぁと思うワケです。はい。
    オブ熱とかの刺激があったからこそです。はい。交流は大事ですね。

    > オブジェクト指向のコードに限らずコードは読むものではなくて頭の中で動かすものだと私は思うのです。
    自分が最初にTemplate Methodパターンと向かい合った時、脳内VMで実行するのにえらく手間取りました。

    それは、当時の脳内VMの性能が、「順次・反復・分岐・サブルーチン」を実行する程度の機能性かなかったからではないかと思っています。
    私の場合、動的なフローの切り替わりを理解するきっかけになったのは、自己コードを書き換えるマシン語のプログラムであったりとか、バッファオーバーランに見られるフローの切り替わりだったように思います。

    今でもソースを流れに沿って追いかけるのは一苦労です。それはOOPでは契約プログラムで思考を分離することで抽象化していることに逆らうからに他ならないと思うのです。
    動的な切り替わりが多数ある中、ステータスがどう変化するのかということは、本質的に複雑になりすぎるため避ける。そのためにサブルーチンを作る時にステートレスになるようにするし、変数宣言は最小限のスコープにする。
  • # re: オブジェクト指向のコードが追いにくい理由
    ネタ好き未記入
    Posted @ 2008/06/23 20:36
    今ふと思ったのですが他人のOOのコードが追いかけにくい要因として、オブジェクト指向のクラス設計が駄目だという外的要素もあるように思えます。
    いくら優秀な人であっても実装が滅茶苦茶だと追えないはずです。そういった業界レベルの教育的側面があるのではないでしょうか?
  • # re: オブジェクト指向のコードが追いにくい理由
    凪瀬
    Posted @ 2008/06/23 22:07
    OOPでなくとも、ステートフルなプログラムは凄く読みにくいんですが、そういう汚いスパゲッティコードをOOPのように処理フローも動的にしてしまうと読解不可能になってしまう。

    読みやすさってのは一度に頭に入れておかないといけない物事の量と少なからず関係すると思っていて、ステートフルなプログラムは常にステータスの変化という実行時にわかる動的な状態をもち、かつ、意識し続けなければならないという点で最悪ですね。

    これは、OOPかそうでないかにかかわらない別の概念でのことになりますが、プログラムの可読性というか読み解きやすさはフローの静動よりもそっちのほうが影響がでかいのかもしれませんね。
  • # re: オブジェクト指向のコードが追いにくい理由
    道化師
    Posted @ 2008/06/23 23:35
    >Javaの登場によってオブジェクト指向(以下OOP)は一気に普及しました。

    ヽ(#`Д´)ノ その言葉、C++脳の俺には聞き捨てならんぞ-!
  • # re: オブジェクト指向のコードが追いにくい理由
    凪瀬
    Posted @ 2008/06/24 0:19
    C++はOOPを強制しませんでしたから、使う人だけ使っていたというのが実情でしょう。

    Javaのリリースされた1996年というのは、当然ながらSmalltalkなどに代表されるようにOOPは既知のものでありました。JavaはC++のOOPを参考にしていることも事実です。しかし、広く普及していたかというと疑問です。
    90年代末ごろ、ゲーム業界の人たちがオブジェクト指向なんて使えないといった話を盛んにしていたのをGAMEBASIC for SEGASATURNのOff会で聞いています。

    JavaはOOPを強制した言語で、多くのユーザを獲得した初めての言語でしょう。
    C++で開発していた人がどれだけC++の++の部分を使えていたのかさえ懐疑的です。
    C++は私も使いましたが、その当時はOOPなぞ使いこなせもせず、C++でCの範疇のことしかできていませんでした。++の部分といえば//のコメントぐらいしか使えていなかった。

    そうした状況を鑑みるに、C++によってOOPが既に十分に普及していたと主張するのは難しいことでしょう。
    JavaはOOPを必修科目に据えていますから、初心者でも一応のOOPを習わされている。C++はどうだったか。少なくとも、当時のC++ユーザはみなOOPを習っていたかというと私を含め使えていなかったのが現実でしょう。
  • # re: オブジェクト指向のコードが追いにくい理由
    ネタ好き未記入
    Posted @ 2008/06/24 8:24
    確かにC++はベターCとして使っていた人が多かったとC++の設計と進化で描かれていますものね。
  • # re: オブジェクト指向のコードが追いにくい理由
    道化師
    Posted @ 2008/06/25 0:59
    不毛な議論をするつもりは毛頭なかったんですけど...乗りかかった船というかなんというか以下のようなレスをしてみる。

    えぇっと、最初にこの議論がそもそも不毛である点について。
    まずなにを持ってして「オブジェクト指向が普及した」としてるんでしょうか?
    この定義はかなり幅広い解釈が可能なのでここで言ってる「オブジェクト指向が普及した」というのがどういう意味合いで言ってるのかハッキリと定義せずに、この議論を続けることは非常にナンセンスです。不毛です。


    >C++はOOPを強制しませんでしたから、使う人だけ使っていたというのが実情でしょう。

    それはただの主観。普及云々を語っている時に意味のある話ではありません。


    >90年代末ごろ、ゲーム業界の人たちがオブジェクト指向なんて使えないといった話を盛んにしていたのをGAMEBASIC for SEGASATURNのOff会で聞いています。

    それはクローズドな話で、普及云々を語っている時に(rya


    >JavaはOOPを強制した言語で、多くのユーザを獲得した初めての言語でしょう。

    自然に導くようになっているというのなら話は別ですが、形だけ強制されることと意味ある本質的な利用がなされていることには大きな隔たりがあり形だけ強制されることはさほど意味があるとは思えません。


    >C++で開発していた人がどれだけC++の++の部分を使えていたのかさえ懐疑的です。

    これもただの主観。普及云々を(rya


    >C++は私も使いましたが、その当時はOOPなぞ使いこなせもせず、C++でCの範疇のことしかできていませんでした。++の部分といえば//のコメントぐらいしか使えていなかった。

    それはあなたがそうであっただけの話。普及云(rya


    >そうした状況を鑑みるに、C++によってOOPが既に十分に普及していたと主張するのは難しいことでしょう。

    「そうした状況」が普及云々を語っている時に意味のある情報足り得てませんので否定の論拠として不十分です。
    というか、逆説的に別に私がそう明言したわけでもないのに「C++によってOOPが既に十分に普及していた」を否定しようとしているのは暗にそれを認めているようなものですよ。


    >JavaはOOPを必修科目に据えていますから、初心者でも一応のOOPを習わされている。C++はどうだったか。

    それは一理ありますね。


    >少なくとも、当時のC++ユーザはみなOOPを習っていたかというと私を含め使えていなかったのが現実でしょう。


    これもただの主観。普(rya


    ついでに些末な揚げ足取りをしておきますと、「オブジェクト指向=OOP」じゃないですよ。

    あんまり、わんくま界隈でおいたしてるとεπιστημηさんに怒られそうなんでこのへんで退散します。
  • # re: オブジェクト指向のコードが追いにくい理由
    凪瀬
    Posted @ 2008/06/25 6:31
    > まずなにを持ってして「オブジェクト指向が普及した」としてるんでしょうか?
    国語辞典の定義からすれば、OOP習得者の人口増をもって普及したと言っていいのではないでしょうか。
    特定の集団に限定するならば、その集団中の利用者比率をもって「ある集団内では普及していた/いなかった」と言っていいのではないでしょうか。

    >>C++はOOPを強制しませんでしたから、使う人だけ使っていたというのが実情でしょう。
    >それはただの主観。普及云々を語っている時に意味のある話ではありません。

    意味がないことはありません。というのも、

    >>JavaはOOPを必修科目に据えていますから、初心者でも一応のOOPを習わされている。C++はどうだったか。
    >それは一理ありますね。

    とあるように、JavaではOOPが必修科目であるがためにJava技術者のほぼ100%がOOPをある程度のレベルで解していると見なせますが、C++ではその100%がOOPを解しているとは見なせません。
    「それは一理ありますね。」と同意いただいたとおりです。
    そして、「普及」については、人口もしくは人口比率によって捉えることでしょうから、言語使用者中のOOP習得者比率は重要な意味を持ちます。

    また、「使う人だけ使っていた」を「ただの主観」と切って捨てた返す言葉でC++では必修ではなかったことを「一理ある」と言われましても。
    それこそ主観で批判しているのでは、と言わざるを得ません。

    >>JavaはOOPを強制した言語で、多くのユーザを獲得した初めての言語でしょう。
    >自然に導くようになっているというのなら話は別ですが、形だけ強制されることと意味ある本質的な利用がなされていることには大きな隔たりがあり形だけ強制されることはさほど意味があるとは思えません。
    OOPに触れたこともないというのと、よく分からないもののOOPに触れたことがあるの間には大きな隔たりがありますよね。
    Java習得者のうちのほとんどがOOPを理解していないというのであれば、強制したところで普及には効果がなかったと言えるでしょう。
    しかし、そうではない現実がある以上、意味がないと思うのはあなたの主観と言わざるを得ません。

    > 「そうした状況」が普及云々を語っている時に意味のある情報足り得てませんので否定の論拠として不十分です。
    以上からも「凪瀬の主観だ」とするあなたの意見は主観と言わざるを得ず、否定の論拠として不十分です。


    さて、どういう資料があれば客観性を保てるのでしょうか?
    時代とプログラム言語利用者の推移グラフなどがあれば、重要な基礎資料となることでしょう。
    また、それぞれの言語中でのOOP利用者比率なんてピンポイントな資料があれば確実なのですが、そんな存在は期待が持てません。C++利用者中のOOP利用者比率の推定は難しいものがあります。

    こちらのPDF資料には2001年度までのプログラム言語別の人口推移があります。
    http://www.cobol.gr.jp/knowledge/material/021211_report/08.pdf
    しかし、2001年度までとデータが古いためちょっと使えないですね。
    C++人口はJava登場以前にすでに相当な量に達していたわけですが、OOPが普及していたとみるにはC++利用者のうちどの程度がOOPを利用できていたかが焦点となりましょう。

    > あんまり、わんくま界隈でおいたしてるとεπιστημηさんに怒られそうなんでこのへんで退散します。
    それが「議論」であるならば一向に構いませんが、主観による一方的な批判であれば「おいた」と思われても仕方ないことでしょう。
    そして「おいた」なのであればεπιστημη氏を立てるまでもなく、みな怒るものです。
  • # Hello All and assorted!
    GrieriaAnaesy
    Posted @ 2011/06/06 1:24
    Hello everyone. I'm ahttp://www.buysale.ro/anunturi/auto/autoturisme/romania.html?Marca=Opel - [anunturi opel - up to tryst member.http://www.buysale.ro/anunturi/auto/autoturisme/romania.html?Marca=VW - [anunturi VW - Looking maiden to facts from this valuable resource. http://www.buysale.ro/anunturi/auto/autoturisme/romania.html?Marca=Mercedes%20Benz - [anunturi mercedes benz -
    http://www.buysale.ro/anunturi/auto/autoturisme/romania.html?Marca=Audi - [anunturi audi - Wishes do my jot about means of donating and sharing from beyond to time. http://www.buysale.ro/anunturi/auto/autoturisme/romania.html?Marca=BMW - [anunturi BMW -

    Thanks.
  • # SlGJcoOenZIs
    http://crorkz.com/
    Posted @ 2014/08/28 0:58
    OFBvnh Hello, i think that i noticed you visited my blog so i came to ???return the desire???.I'm trying to to find things to improve my site!I suppose its ok to use a few of your ideas!!
  • # SbJVWyMysePpYXGf
    http://youtu.be/pJYaev2gZYc
    Posted @ 2014/09/17 22:34
    Great write-up, I'm regular visitor of one's blog, maintain up the excellent operate, and It's going to be a regular visitor for a lengthy time.
  • # gold love bracelet cartier replica
    rfmsagyde@aol.com
    Posted @ 2015/08/08 13:49
    gift code minecraft za darmo chomikuj
    gold love bracelet cartier replica http://www.blu-dvds.com/2015/03
  • # bvlgari snake watch women replica
    deiafwmvhefsxvqgqjedloa@hotmal.com
    Posted @ 2017/07/04 2:10
    You article was best.It gave me all my needs of information
    bvlgari snake watch women replica http://www.serpentijewelry.nl/bulgari-serpenti-tubogas-diamond-pink-gold-twotone-watch-sp35bspgd2t-p767/
  • # Heya i am for the first time here. I came across this board and I find It truly useful & it helped me out a lot. I hope to give something back and aid others like you aided me.
    Heya i am for the first time here. I came across t
    Posted @ 2018/09/05 16:13
    Heya i am for the first time here. I came across this board
    and I find It truly useful & it helped me out a lot.
    I hope to give something back and aid others like you aided me.
  • # Thanks a bunch for sharing this with all people you actually recognise what you are speaking approximately! Bookmarked. Please additionally visit my web site =). We will have a link alternate agreement among us
    Thanks a bunch for sharing this with all people yo
    Posted @ 2018/10/02 15:46
    Thanks a bunch for sharing this with all people you actually recognise what you are speaking approximately!
    Bookmarked. Please additionally visit my web site =).
    We will have a link alternate agreement among us
  • # Hey there! Do you know if they make any plugins to assist with Search Engine Optimization? I'm trying to get my blog to rank for some targeted keywords but I'm not seeing very good results. If you know of any please share. Thanks!
    Hey there! Do you know if they make any plugins to
    Posted @ 2018/10/11 19:29
    Hey there! Do you know if they make any plugins to assist with Search Engine Optimization? I'm trying to get my blog to rank for some targeted keywords but I'm not seeing very good results.

    If you know of any please share. Thanks!
  • # Hey there! Do you know if they make any plugins to assist with Search Engine Optimization? I'm trying to get my blog to rank for some targeted keywords but I'm not seeing very good results. If you know of any please share. Thanks!
    Hey there! Do you know if they make any plugins to
    Posted @ 2018/10/11 19:31
    Hey there! Do you know if they make any plugins to assist with Search Engine Optimization? I'm trying to get my blog to rank for some targeted keywords but I'm not seeing very good results.

    If you know of any please share. Thanks!
  • # Hello just wanted to give you a quick heads up and let you know a few of the images aren't loading properly. I'm not sure why but I think its a linking issue. I've tried it in two different internet browsers and both show the same results.
    Hello just wanted to give you a quick heads up and
    Posted @ 2018/10/25 22:31
    Hello just wanted to give you a quick heads up and let you know a few of the
    images aren't loading properly. I'm not sure why but I think
    its a linking issue. I've tried it in two different internet browsers and
    both show the same results.
  • # Today, I went to the beach with my kids. I found a sea shell and gave it to my 4 year old daughter and said "You can hear the ocean if you put this to your ear." She placed the shell to her ear and screamed. There was a hermit crab inside and
    Today, I went to the beach with my kids. I found a
    Posted @ 2018/11/12 14:46
    Today, I went to the beach with my kids. I found a sea shell and gave it to my 4 year old daughter and said "You can hear the ocean if you put this to your ear."
    She placed the shell to her ear and screamed. There was a hermit crab
    inside and it pinched her ear. She never wants to go back!

    LoL I know this is totally off topic but I had to tell someone!
  • # I don't even know how I ended up here, but I thought this post was great. I do not know who you are but certainly you are going to a famous blogger if you aren't already ;) Cheers!
    I don't even know how I ended up here, but I thoug
    Posted @ 2019/04/11 5:07
    I don't even know how I ended up here, but I thought this post
    was great. I do not know who you are but
    certainly you are going to a famous blogger if you aren't already ;) Cheers!
  • # I like the valuable info you provide in your articles. I'll bookmark your weblog and check again here frequently. I am quite sure I will learn lots of new stuff right here! Good luck for the next!
    I like the valuable info you provide in your artic
    Posted @ 2019/07/11 9:33
    I like the valuable info you provide in your articles. I'll bookmark your weblog and check again here frequently.

    I am quite sure I will learn lots of new stuff right here!
    Good luck for the next!
  • # Hurrah, that's what I was seeking for, what a stuff! present here at this weblog, thanks admin of this web page.
    Hurrah, that's what I was seeking for, what a stuf
    Posted @ 2019/07/31 19:28
    Hurrah, that's what I was seeking for, what a stuff!

    present here at this weblog, thanks admin of this
    web page.
  • # Hurrah, that's what I was seeking for, what a stuff! present here at this weblog, thanks admin of this web page.
    Hurrah, that's what I was seeking for, what a stuf
    Posted @ 2019/07/31 19:29
    Hurrah, that's what I was seeking for, what a stuff!

    present here at this weblog, thanks admin of this
    web page.
  • # Hurrah, that's what I was seeking for, what a stuff! present here at this weblog, thanks admin of this web page.
    Hurrah, that's what I was seeking for, what a stuf
    Posted @ 2019/07/31 19:30
    Hurrah, that's what I was seeking for, what a stuff!

    present here at this weblog, thanks admin of this
    web page.
  • # Hurrah, that's what I was seeking for, what a stuff! present here at this weblog, thanks admin of this web page.
    Hurrah, that's what I was seeking for, what a stuf
    Posted @ 2019/07/31 19:31
    Hurrah, that's what I was seeking for, what a stuff!

    present here at this weblog, thanks admin of this
    web page.
  • # It is perfect time to make some plans for the long run and it's time to be happy. I have learn this put up and if I may just I desire to suggest you few fascinating things or advice. Maybe you can write subsequent articles relating to this article. I de
    It is perfect time to make some plans for the long
    Posted @ 2019/09/08 5:32
    It is perfect time to make some plans for
    the long run and it's time to be happy. I have learn this
    put up and if I may just I desire to suggest you few fascinating things
    or advice. Maybe you can write subsequent articles relating
    to this article. I desire to learn even more things approximately it!
  • # It is perfect time to make some plans for the long run and it's time to be happy. I have learn this put up and if I may just I desire to suggest you few fascinating things or advice. Maybe you can write subsequent articles relating to this article. I de
    It is perfect time to make some plans for the long
    Posted @ 2019/09/08 5:33
    It is perfect time to make some plans for
    the long run and it's time to be happy. I have learn this
    put up and if I may just I desire to suggest you few fascinating things
    or advice. Maybe you can write subsequent articles relating
    to this article. I desire to learn even more things approximately it!
  • # DPyGxLlrEh
    https://www.blogger.com/profile/060647091882378654
    Posted @ 2021/07/03 3:58
    There as definately a great deal to find out about this issue. I really like all the points you ave made.
  • # re: ????????????????????
    hydroxychloroquine sulfate 200 mg tab
    Posted @ 2021/07/18 1:03
    chloroquine side effects https://chloroquineorigin.com/# hydroxyl chloroquine
  • # re: ????????????????????
    dolquine
    Posted @ 2021/07/27 11:21
    chloroquinne https://chloroquineorigin.com/# hydroxyclorine
  • # re: ????????????????????
    hydroxyl chloroquine
    Posted @ 2021/08/09 9:39
    chloroquine without prescription https://chloroquineorigin.com/# plaquenil 200 mg twice a day
  • # Outstanding quest there. What happened after? Good luck!
    Outstanding quest there. What happened after? Good
    Posted @ 2021/08/28 16:05
    Outstanding quest there. What happened after?
    Good luck!
  • # Simply desire to say your article is as surprising. The clarity in your put up is simply great and i can suppose you are a professional on this subject. Well along with your permission allow me to clutch your RSS feed to keep up to date with approaching
    Simply desire to say your article is as surprising
    Posted @ 2021/08/31 20:54
    Simply desire to say your article is as surprising. The clarity in your put up is simply great and i can suppose you are a professional on this subject.
    Well along with your permission allow me to clutch your
    RSS feed to keep up to date with approaching post. Thanks a million and please continue the enjoyable work.
  • # Simply desire to say your article is as surprising. The clarity in your put up is simply great and i can suppose you are a professional on this subject. Well along with your permission allow me to clutch your RSS feed to keep up to date with approaching
    Simply desire to say your article is as surprising
    Posted @ 2021/08/31 20:55
    Simply desire to say your article is as surprising. The clarity in your put up is simply great and i can suppose you are a professional on this subject.
    Well along with your permission allow me to clutch your
    RSS feed to keep up to date with approaching post. Thanks a million and please continue the enjoyable work.
  • # Simply desire to say your article is as surprising. The clarity in your put up is simply great and i can suppose you are a professional on this subject. Well along with your permission allow me to clutch your RSS feed to keep up to date with approaching
    Simply desire to say your article is as surprising
    Posted @ 2021/08/31 20:56
    Simply desire to say your article is as surprising. The clarity in your put up is simply great and i can suppose you are a professional on this subject.
    Well along with your permission allow me to clutch your
    RSS feed to keep up to date with approaching post. Thanks a million and please continue the enjoyable work.
  • # Simply desire to say your article is as surprising. The clarity in your put up is simply great and i can suppose you are a professional on this subject. Well along with your permission allow me to clutch your RSS feed to keep up to date with approaching
    Simply desire to say your article is as surprising
    Posted @ 2021/08/31 20:57
    Simply desire to say your article is as surprising. The clarity in your put up is simply great and i can suppose you are a professional on this subject.
    Well along with your permission allow me to clutch your
    RSS feed to keep up to date with approaching post. Thanks a million and please continue the enjoyable work.
  • # constantly i used to read smaller posts which also clear their motive, and that is also happening with this article which I am reading now.
    constantly i used to read smaller posts which also
    Posted @ 2021/09/02 1:29
    constantly i used to read smaller posts which also clear their motive,
    and that is also happening with this article which I am reading now.
  • # constantly i used to read smaller posts which also clear their motive, and that is also happening with this article which I am reading now.
    constantly i used to read smaller posts which also
    Posted @ 2021/09/02 1:30
    constantly i used to read smaller posts which also clear their motive,
    and that is also happening with this article which I am reading now.
  • # constantly i used to read smaller posts which also clear their motive, and that is also happening with this article which I am reading now.
    constantly i used to read smaller posts which also
    Posted @ 2021/09/02 1:31
    constantly i used to read smaller posts which also clear their motive,
    and that is also happening with this article which I am reading now.
  • # constantly i used to read smaller posts which also clear their motive, and that is also happening with this article which I am reading now.
    constantly i used to read smaller posts which also
    Posted @ 2021/09/02 1:32
    constantly i used to read smaller posts which also clear their motive,
    and that is also happening with this article which I am reading now.
  • # Excellent blog you have here.. It's difficult to find high quality writing like yours these days. I truly appreciate people like you! Take care!!
    Excellent blog you have here.. It's difficult to f
    Posted @ 2021/09/04 17:56
    Excellent blog you have here.. It's difficult to find high quality writing like
    yours these days. I truly appreciate people like you! Take care!!
  • # Excellent blog you have here.. It's difficult to find high quality writing like yours these days. I truly appreciate people like you! Take care!!
    Excellent blog you have here.. It's difficult to f
    Posted @ 2021/09/04 17:57
    Excellent blog you have here.. It's difficult to find high quality writing like
    yours these days. I truly appreciate people like you! Take care!!
  • # Excellent blog you have here.. It's difficult to find high quality writing like yours these days. I truly appreciate people like you! Take care!!
    Excellent blog you have here.. It's difficult to f
    Posted @ 2021/09/04 17:58
    Excellent blog you have here.. It's difficult to find high quality writing like
    yours these days. I truly appreciate people like you! Take care!!
  • # Excellent blog you have here.. It's difficult to find high quality writing like yours these days. I truly appreciate people like you! Take care!!
    Excellent blog you have here.. It's difficult to f
    Posted @ 2021/09/04 17:59
    Excellent blog you have here.. It's difficult to find high quality writing like
    yours these days. I truly appreciate people like you! Take care!!
タイトル
名前
Url
コメント