1 名前:デフォルトの名無しさん mailto:sage [2010/02/28(日) 18:13:21 ] このスレッドは 「どんなにくだらないC#プログラミングに関する発言でも誰かが優しくレスをしてくれるスレッド」です。 ほかのスレッドでは恐ろしくて書き込めないような低レベル、もしくは質問者自身なんだか意味がよく分からない質問、 ググろうにもキーワードが分からない場合など、勇気をもって書き込んでください。 内容に応じて、他スレ・他板へ行くことを勧められる、あるいは誘導される場合がありますがご了承下さい。 なお、テンプレ2行目が読めない回答者は邪魔なので後述のC#相談室に移動して下さい。 >>980 を踏んだ人は新スレを建てて下さい。 >>980 が無理な場合、話し合って新スレを建てる人を決めて下さい。 ふらっとC#,C♯,C#(初心者用) Part55 pc12.2ch.net/test/read.cgi/tech/1265288563/1 関連スレ C#, C♯, C#相談室 Part55(実質56) pc12.2ch.net/test/read.cgi/tech/1260111240/1 VB.NET質問スレ(Part33) pc12.2ch.net/test/read.cgi/tech/1263738929/1 C++/CLI part3 pc12.2ch.net/test/read.cgi/tech/1206447234/1
159 名前:デフォルトの名無しさん mailto:sage [2010/03/05(金) 17:57:24 ] はじめから >public string Name{get;set;} こんなのしなければいいだけ
160 名前:デフォルトの名無しさん mailto:sage [2010/03/05(金) 17:57:46 ] >>149 Nameプロパティをリファクタリングで_nameに名前変更 _nameプロパティの宣言をフィールドの宣言に変更 Nameプロパティを設けてgetとsetを書く
161 名前:デフォルトの名無しさん mailto:sage [2010/03/05(金) 18:06:35 ] >>159 ・・・え?
162 名前:デフォルトの名無しさん mailto:sage [2010/03/05(金) 18:08:02 ] ん?
163 名前:デフォルトの名無しさん mailto:sage [2010/03/05(金) 18:15:43 ] >>160 いやいや、それだと外部からそのプロパティを参照しているところも 全部_nameになるじゃない・・・
164 名前:デフォルトの名無しさん mailto:sage [2010/03/05(金) 18:16:54 ] >>161 プログラマなんだから英数字や記号は半角にしか変換できないようにIMEセッティングすべき
165 名前:デフォルトの名無しさん mailto:sage [2010/03/05(金) 18:23:10 ] >>163 じゃあクラス内の文字列置換なんかですればいい
166 名前:デフォルトの名無しさん mailto:sage [2010/03/05(金) 18:41:50 ] public class StreamDataSet { public string URL = ""; public string Title = ""; } List<StreamDataSet> SrcList=new List<StreamDataSet>(); StreamDataSet src=new StreamDataSet(); src="ww.google.ne.jp"; if("-同じURLが既に追加していなければ-") SrcList.Add(src); if文の条件式にどのように書けばいいか迷ってます この場合SrcListに同じURLがあるか探すにはForeachで ひとつひとつ照らし合わすしかないですか? List<string>だと.Findメソッドなどで簡単にできるけど オブジェクトだった場合のやり方がわかりません よろしくおねがいします
167 名前:デフォルトの名無しさん mailto:sage [2010/03/05(金) 18:48:04 ] >>155 [イベント ベースの非同期パターンを使用したマルチスレッド プログラミング] ttp://msdn.microsoft.com/ja-jp/library/hkasytyf.aspx [.NET ThreadPool の実行順序を制御する] ttp://msdn.microsoft.com/ja-jp/magazine/dd419664.aspx この辺を読むといい。本気で作るなら前者なんだが、おそらく挫折するw 次点のThreadPoolを利用する方法が簡単で、後者はその応用編
168 名前:デフォルトの名無しさん mailto:sage [2010/03/05(金) 18:56:50 ] >>166 一般には if (!SrcList.Any(x => x.URL == src)) でも効率が悪いのでIComparer<T>を実装してBinarySearchを使うのがいいと思う
169 名前:デフォルトの名無しさん mailto:sage [2010/03/05(金) 19:05:10 ] >>168 srcは多分StreamDataSetだと思う その次の、フィッシングサイトみたいなURLのあるコンパイルエラーになる行が気になるけどw あと、効率考えるならDictionaryを使うことを検討した方がいいと思う
170 名前:デフォルトの名無しさん mailto:sage [2010/03/05(金) 19:16:00 ] >>166 のケース限定であればListじゃなくてDictionary使うな。
171 名前:デフォルトの名無しさん mailto:sage [2010/03/05(金) 19:23:34 ] すいません。書き間違えてました。 × src="ww.google.ne.jp"; ○ src.URL="ww.google.co.jp"; ID付きで追加削除したりするならはじめからDictionaryにしておくべきでしたね 使い勝手がいいからList<>を使っていたけど、データ構造はもうちょっと慎重にすべきでした ありがとうございました
172 名前:デフォルトの名無しさん [2010/03/05(金) 21:01:03 ] >>158 ? (2)は自動的にDispose()はされないってことですか? >>167 ありがとうございます。 挫折しました。 まだぜんぜん読めるレベルでありませんでした。
173 名前:デフォルトの名無しさん mailto:sage [2010/03/05(金) 21:07:54 ] されるかもしれないしされないかもしれない それはクラスの実装次第 後処理が必ず必要になるようなクラスではGCされるときに自動的に後処理が行われるように 作ってあるはずだけど必ずしもそうだともかぎらない でもそれはクラスを書いた奴が悪いのでそこまで考えても意味がない
174 名前:148 mailto:sage [2010/03/05(金) 21:25:13 ] >>150 さん どうもありがとうございます。その方法でできました。。 助かった〜。ひさしぶりにプログラムやってみまして、 ウィンドウ右上の×印クリックしたときの挙動が違ったので 困っていました。 ちょっと所要で出かけていたので、お礼が遅くなりました。すみませんでした。 ありがとうございました。
175 名前:148 mailto:sage [2010/03/05(金) 21:28:25 ] 画像までキャプチャーしてアップしてくださり、どうもありがとうございました。
176 名前:デフォルトの名無しさん mailto:sage [2010/03/05(金) 21:41:51 ] (´・ω・`)
177 名前:デフォルトの名無しさん mailto:sage [2010/03/06(土) 00:46:59 ] よくデスクトップ右下あたりからにょきにょきっとバルーンが出てるけど C#で作れますか?
178 名前:デフォルトの名無しさん mailto:sage [2010/03/06(土) 00:58:30 ] うん
179 名前:デフォルトの名無しさん mailto:sage [2010/03/06(土) 01:11:10 ] にょきにょき環を上手く出すにはC#ではどうすればいいですか、
180 名前:デフォルトの名無しさん mailto:sage [2010/03/06(土) 01:13:46 ] No results found for "にょきにょき環". すまん、説明を頼む
181 名前:デフォルトの名無しさん mailto:sage [2010/03/06(土) 01:28:32 ] 石塚英彦が大山のぶ代の物真似で「ニョキニョキリング!」って叫ぶ声が 聞こえた気がした。
182 名前:デフォルトの名無しさん mailto:sage [2010/03/06(土) 02:17:23 ] >>177 アラートウインドウ ttp://youryella.wankuma.com/Library/ClassLibrary/AlertWindow.aspx
183 名前:148 mailto:sage [2010/03/06(土) 02:48:38 ] >>177 君の「C#」「バルーン」というキーワードに咥えて「タスクトレイ」という3つを スペースで区切ってグーグルで検索するとたくさん情報がでてくるよ(´・ω・`) デスクトップの右下あたりをタスクトレイというんだよ(´・ω・`) 。
184 名前:デフォルトの名無しさん mailto:sage [2010/03/06(土) 02:51:41 ] 豪鬼くんありがとう
185 名前:デフォルトの名無しさん mailto:sage [2010/03/06(土) 02:56:19 ] 右下じゃないが?
186 名前:デフォルトの名無しさん mailto:sage [2010/03/06(土) 02:57:24 ] 10年間、「タクストレイ」を「タスクレイ」と思ってた
187 名前:デフォルトの名無しさん mailto:sage [2010/03/06(土) 03:18:01 ] Windows 8 新機能 タ ス ク R A Y
188 名前:デフォルトの名無しさん mailto:sage [2010/03/06(土) 03:55:47 ] >タスクトレイ 実はそんなものはない。
189 名前:デフォルトの名無しさん mailto:sage [2010/03/06(土) 04:06:53 ] 正式名称は通知領域だって? microsoft.comの中の人もうっかり使うぐらい普及してんだからそんな指摘はナンセンス
190 名前:デフォルトの名無しさん mailto:sage [2010/03/06(土) 04:24:44 ] タスクバーのプロパティのダイアログにははっきり通知領域と書いてあるんですがね。
191 名前:デフォルトの名無しさん mailto:sage [2010/03/06(土) 04:34:40 ] mono2.6.1をインストールしてTPLのParallel.Forを動かそうと思ったのですが。 monoVMで動かすとSystem.TypeLoadExceptionの例外を吐いて落ちます。 そこで"gmcs"でソースそのものをコンパイルしようとしたのですが error CS0234: The type or namespace name `Tasks' does not exist in the namespace `System.Threading'. といってきます。 しかし ttp://www.go-mono.com/status/status.aspx?reference=4.0&profile=4.0&assembly=mscorlib ここによればParallel.Forは(たぶん)実装済みとの話です。 なにか勘違いをしているのか? もしくは手順をまちがえているのか、教えてください。
192 名前:デフォルトの名無しさん mailto:sage [2010/03/06(土) 04:45:09 ] そもそも.NET 4.0自体まだ製品はでてないのだが Monoだって.NET4.0相当品はまだRCだろ精々
193 名前:デフォルトの名無しさん mailto:sage [2010/03/06(土) 08:07:25 ] >>191 手元にないから確認はできないがコンパイラはdmcsらしい。 gとかdとかどういう基準のネーミングなんだろ。 mcs # C#1.0 gmcs # C#2.0-3.0 smcs # moonlight dmcs # C#4.0 preview
194 名前:デフォルトの名無しさん mailto:sage [2010/03/06(土) 09:36:07 ] にょきにょきってCravingExplorerのダウンロードが 終わったときにでるやつじゃなくて? ただのバルーンなの?
195 名前:デフォルトの名無しさん [2010/03/06(土) 11:13:36 ] ローカル変数の名前をつけるとき、変数の型が int だったら n とか i とかつけちゃうような 場面で、string[] だったらなんて名前にする? int n; string[] ???; 慣用的な名前ってある? 具体的には、 var ??? = text.Split(new[]{'='},2); var key = ???[0]; var value = ???[1]; みたいな場面で使いたいんだ。
196 名前:デフォルトの名無しさん mailto:sage [2010/03/06(土) 11:17:06 ] splitted
197 名前:デフォルトの名無しさん mailto:sage [2010/03/06(土) 11:19:06 ] pairとかtmpとかやっちゃうな
198 名前:デフォルトの名無しさん mailto:sage [2010/03/06(土) 11:20:53 ] Splitの戻り値はfieldsにしたりする
199 名前:デフォルトの名無しさん mailto:sage [2010/03/06(土) 11:22:41 ] parts
200 名前:デフォルトの名無しさん mailto:sage [2010/03/06(土) 11:23:31 ] s
201 名前:デフォルトの名無しさん mailto:sage [2010/03/06(土) 11:25:31 ] 複数のstringだからss
202 名前:デフォルトの名無しさん mailto:sage [2010/03/06(土) 11:43:16 ] >>195 string[] って型だけでは、慣用はない。 用途・意図に基づいた名前付けないと。 自分はSplitの戻り値はtokensとか多用。
203 名前:デフォルトの名無しさん mailto:sage [2010/03/06(土) 11:45:01 ] tmpStringsかな。 変数名は書く人のポリシーみたいなのが出て面白いな。 俺はnとかiとかは絶対使わない派かな。
204 名前:デフォルトの名無しさん mailto:sage [2010/03/06(土) 12:14:06 ] tmpStringsならnやiと一緒じゃね
205 名前:デフォルトの名無しさん mailto:sage [2010/03/06(土) 12:20:39 ] 一文字じゃなきゃいい、とか訳わかんないルールなんだろ?
206 名前:デフォルトの名無しさん mailto:sage [2010/03/06(土) 12:43:30 ] 変数名に型情報入れるのはなしだなぁ。 n とか i よりよっぽど悪い。
207 名前:デフォルトの名無しさん mailto:sage [2010/03/06(土) 12:46:00 ] itemsとかやってしまうな
208 名前:デフォルトの名無しさん mailto:sage [2010/03/06(土) 12:52:17 ] >>204 のネーミングはおいらは使わないが、 tmpStringsを型情報というのも賛同できないな
209 名前:デフォルトの名無しさん mailto:sage [2010/03/06(土) 13:33:28 ] つってもintだったらtmpIntsなんだろ
210 名前:デフォルトの名無しさん mailto:sage [2010/03/06(土) 13:42:34 ] Employee[]をemployeesと名付けることはあってもstringsはないな 漠然としすぎ
211 名前:デフォルトの名無しさん mailto:sage [2010/03/06(土) 13:46:43 ] Employee[] な変数に格納するのがほんとに漠然と従業員全員なら employees にするけど、 LINQ とかで条件絞るとまた別の名前にするしね。 漠然と strings はちょっと範囲広すぎると思う。
212 名前:デフォルトの名無しさん mailto:sage [2010/03/06(土) 13:53:18 ] 単に末尾にsつけたんじゃ配列だかListだかDictionaryだかわからないから lstとかdicとか頭につけてるが、これもハンガリアン的なアレなんだろうか
213 名前:デフォルトの名無しさん mailto:sage [2010/03/06(土) 13:58:11 ] >>212 ハンガリアンそのものでしょ。 今時そんなことやる人いるのか。 「型名」を「略号」で変数名に組み込むより、 「機能」を「明示的に」変数名に組み込む方がずっと合理的だとは思わないのかな。
214 名前:デフォルトの名無しさん mailto:sage [2010/03/06(土) 14:04:00 ] にょきにょきってか、もじゃもじゃだろ? www.nhk.or.jp/professional/mogi_moja.html
215 名前:デフォルトの名無しさん mailto:sage [2010/03/06(土) 14:06:11 ] ローカル変数のうちでも狭い範囲でしか使わないような変数の名前なのだから 機能うんぬんもちがうんじゃないかい。 配列だったら ar lst dm あたりを使ってるな。
216 名前:デフォルトの名無しさん [2010/03/06(土) 14:08:33 ] arrでいいだろ、どうでもいい
217 名前:デフォルトの名無しさん mailto:sage [2010/03/06(土) 14:13:00 ] >>215 なんなのその「なのだから」って。 幻聴持ちですか?w
218 名前:デフォルトの名無しさん mailto:sage [2010/03/06(土) 14:17:13 ] >>195 からの流れだろ?
219 名前:デフォルトの名無しさん mailto:sage [2010/03/06(土) 14:22:03 ] まああまり感情的になって煽りに走ったりせず 冷静に話しましょう
220 名前:デフォルトの名無しさん mailto:sage [2010/03/06(土) 14:32:34 ] 自分だけかもしれないけど、形式的に名前付けちゃうと スコープ広くして使いまわしたくなるんだよね 変数名自体よりもそのほうが問題
221 名前:デフォルトの名無しさん mailto:sage [2010/03/06(土) 14:32:54 ] >>195 単語帳みたいなイメージでwordsでつける
222 名前:195 [2010/03/06(土) 14:33:11 ] トン。 慣用されてる名前はないのか。 じゃあ、>>225 が決めてくれ。
223 名前:デフォルトの名無しさん mailto:sage [2010/03/06(土) 14:44:23 ] そもそも、intだってiだのnだので必要十分な場面がそう多いとも思えんけど。 まして文字列なんてもっとそうだろう。 もしそんな場面があるなら普通にsでいいと思うけど。
224 名前:220 mailto:sage [2010/03/06(土) 14:50:25 ] int nとかやると、あとでまたintの変数が欲しくなったときについ 新しい変数を宣言せずにnをそのまま使い回したくならない? 一文字変数がどうとかいうよりそういうのがコードを分かりづらくすると思うんだ ループカウンタなんかはそもそも使いまわすわけがないのでiでも問題ないけど
225 名前:デフォルトの名無しさん mailto:sage [2010/03/06(土) 14:52:46 ] 候補は出てるんだから自分で決めろ
226 名前:デフォルトの名無しさん mailto:sage [2010/03/06(土) 15:00:01 ] 命令口調クンって馬鹿だな、まで読んだ。
227 名前:デフォルトの名無しさん mailto:sage [2010/03/06(土) 15:05:27 ] nとかiとかはさすがに使い捨て目的で、それを使いまわすってことは無いだろう
228 名前:191 mailto:sage [2010/03/06(土) 16:02:42 ] >>193 コマンドのdmcsはおそらくなくなってます。gmcsだけに統一されたのかも?
229 名前:デフォルトの名無しさん mailto:sage [2010/03/06(土) 16:15:21 ] TPLってオープンソースじゃないんだな DLRやMEFみたいにMS-PLで公開されてるのかと思ってた
230 名前:デフォルトの名無しさん mailto:sage [2010/03/06(土) 16:24:08 ] この辺じゃねーの ttp://mono-project.com/Release_Notes_Mono_2.6 > ParallelFx > To use this code you have to manually enable the .NET 4 > profile using the --with-profile4=yes switch at configure stage.
231 名前:デフォルトの名無しさん mailto:sage [2010/03/06(土) 17:02:30 ] (from x in items.AsParallel() where x.A < 3 select x.B).ForAll(x=>時間のかかる処理(x)); もう異次元すぎるな こんなの書く日が来るんだろうか
232 名前:デフォルトの名無しさん mailto:sage [2010/03/06(土) 17:50:08 ] 中途半端にクエリ式混ぜないで、全部メソッド形式で書く方がマシ。
233 名前:デフォルトの名無しさん mailto:sage [2010/03/06(土) 17:58:05 ] クエリは保守性が一気に落ちるからな。
234 名前:195 [2010/03/06(土) 18:16:42 ] >>225 がきっとボケてくれると思って振ったのに、 ぼけてくれなくて残念。 ちょい補足。 ruby みたいに多重代入があれば、 key,value = text.Split(new[]{'='},2); としたいところだが、それができないので一時変数名を決めないといかん。 そんな場合にどうするか。 自分は、ひとに見せる予定がないときは手を抜いて a (arrayの意)。 人に見せる予定があるときは、ary,tokens とかなんだけど、 ソースを読んだ人がわかりやすい名前があればそれに しとこうと思って、皆に聞いてみました。
235 名前:デフォルトの名無しさん mailto:sage [2010/03/06(土) 19:12:28 ] 最初の頃はフォームアプリで作成していたんだけど 簡単なプログラムの場合、コンソールで作った方が早いと気づいて 最近はまずコンソールアプリを作って、それを制御するフォームアプリを作るように しているんですが、おかしいですか?
236 名前:デフォルトの名無しさん mailto:sage [2010/03/06(土) 19:14:32 ] うん
237 名前:デフォルトの名無しさん [2010/03/06(土) 19:18:12 ] >>235 好みの問題でしょ VC#ならEEでもGUI作るのは簡単だし VC++のネイティブとなるとエディションによってはいろいろ面倒だけど
238 名前:デフォルトの名無しさん mailto:sage [2010/03/06(土) 19:19:19 ] 好みの問題じゃないよ。
239 名前:デフォルトの名無しさん mailto:sage [2010/03/06(土) 19:19:48 ] 好み、つーか何をつくりたいかある程度明確にしてから作り始めるんじゃないのか、普通は。 途中で変更はあるにしろ。
240 名前:191 mailto:sage [2010/03/06(土) 19:28:48 ] 自己解決です。 SVNからビルドしたらできるようになりました。
241 名前:デフォルトの名無しさん mailto:sage [2010/03/06(土) 20:34:39 ] >>204-210 いやいや、>>195 の例では何のワークかわからんし、テンポラリの文字列という意味でtmpStringだよ。 もっと何の用途にというのがわかれば、具体的な名前つけるけど。 俺からは>>196 とか>>197 のようなsplitで分割するからsplitted、keyとvalueのペアだからpairとか そっちの方があり得ない。 まあ、俺が馬鹿という結論でいいよ、この手の論争は疲れるし。
242 名前:デフォルトの名無しさん mailto:sage [2010/03/06(土) 20:34:54 ] コンソールアプリとそれを制御するGUIフロントエンドの形態って ロジックと外観の分離ができてるから良いかもね
243 名前:デフォルトの名無しさん [2010/03/06(土) 20:36:22 ] コンソールアプリっていきなりDOS窓が開かないようにできたっけ?
244 名前:デフォルトの名無しさん mailto:sage [2010/03/06(土) 20:38:21 ] 子プロセスとして起動するならコンソールが開かないようにはできるな ていうかDOS窓とかすでに郷愁を誘う言葉だ
245 名前:デフォルトの名無しさん mailto:sage [2010/03/06(土) 20:39:26 ] アプリ側では無理。
246 名前:デフォルトの名無しさん [2010/03/06(土) 20:43:01 ] データ処理側はローカルproxyのようなスタイルで分離して テキストを投げてもらうとかもいいかもね
247 名前:デフォルトの名無しさん mailto:sage [2010/03/06(土) 20:45:02 ] なんでDOS窓が邪魔なら素直にクラスライブラリにしないのw 意味がわからんよ
248 名前:デフォルトの名無しさん mailto:sage [2010/03/06(土) 20:46:24 ] >>241 ばーかばーか
249 名前:デフォルトの名無しさん [2010/03/06(土) 20:48:40 ] >>247 まあやり方はいろいろあるからなんでもいいんじゃないの? 処理部分はC/C++で書いて・・・とかあるとDLLとして使うのもいいし 裏でサービスとして起動しておいて汎用的なアクセスにするでもいいし
250 名前:デフォルトの名無しさん mailto:sage [2010/03/06(土) 20:51:54 ] >>247 コンソールアプリはコンソールアプリで楽に自動化できるからあればいいじゃない で、先にコンソールアプリがあるなら一々クラスライブラリ化するより GUIアプリはコマンドライン用の文字列作ってコンソールアプリに丸投げした方が手っ取り早いじゃない
251 名前:デフォルトの名無しさん mailto:sage [2010/03/06(土) 20:54:56 ] ないわぁ
252 名前:デフォルトの名無しさん mailto:sage [2010/03/06(土) 21:00:00 ] ハンガリアンやめたのはMSの大失敗 一目で型が分かるアレは便利だった ハンガリアンに批判的なのは低脳プログラマに多い
253 名前:デフォルトの名無しさん mailto:sage [2010/03/06(土) 21:05:38 ] プリミティブな変数は使わない方向なんだから ハンガリアンはなくなって行く方向なのは間違いない
254 名前:デフォルトの名無しさん mailto:sage [2010/03/06(土) 21:07:30 ] プロセス間 I/F のひとつとしてコマンドライン‥‥実行ファイルへのコマンドラインパラメータ?で渡すのはアリじゃないかと。 単純なパラメータで済むなら楽と言えば楽だし。
255 名前:デフォルトの名無しさん [2010/03/06(土) 21:09:52 ] >>252 それを.netスレでいうのはかなり痛いぞ .netで開発してると過去のみみっちい省略がアホくさく思える タダ単に古参ギークが新参をバカにしたいだけにしか見えない アセンブラからいろいろやってきてるが古いやり方で駄目な物は変えるべきだし 変わってる以上は受け入れるべき こだわってるってことは新しいことについていけない昔を懐かしむだけの 老人に見える。
256 名前:デフォルトの名無しさん mailto:sage [2010/03/06(土) 21:20:32 ] >>254 普通にメソッド呼び出しできた方がずっと楽だと思いますがw バッチファイルやWSHとか、.NET以外の言語からも弄れるようにしたいのならともかく、 .NETの世界で完結していいのならわざわざコンソールアプリにする意味ってあるのかしら。 >>255 どうせ釣りだろうにそうムキにならんでも.... ただ、クラス名にCを付ける習慣まで否定しなくてもよかったんじゃないのかなとは 個人的にはちょっと思う時がある。 そのくせなんでインターフェイスだけIでプリフィクス推奨なんだろう。
257 名前:デフォルトの名無しさん mailto:sage [2010/03/06(土) 22:04:16 ] IDEでの開発を前提として実用性を第一に考えた時に インターフェースがIから始まってたらクラスの山の中からすぐ探せて便利。 クラスのPrefixがCだとタイプ数が1回増えるだけで意味ない。 てな結論に至ったんじゃない?
258 名前:デフォルトの名無しさん [2010/03/06(土) 22:05:21 ] >>256 >ただ、クラス名にCを付ける習慣まで否定しなくても クラスの塊なのにC付けたらウザいだろ
259 名前:デフォルトの名無しさん mailto:sage [2010/03/06(土) 22:05:59 ] splitted www