Трактат о пяти ватерблоках


Эта работа была прислана на наш "бессрочный" конкурс статей. Автор получает приз - материнскую плату Asus P4BGV-MX.


Лирическое вступление

Статьи про водяное охлаждение на страницах www.overclockers.ru стали уже чем-то обыденным. Казалось бы, тема изъезжена вдоль и поперек – ан, нет! Стараются, пишут вновь и вновь. Так и автор, лелея робкие ростки статьи, вполне обоснованно опасался неактуальности ее материала для читателей данного ресурса. Не претендуя на исключительную новизну и фундаментальность, автор все же надеется, что читатель не заснет на первой странице статьи, а может и найдет для себя что-нибудь интересное и познавательное. Для тех же, кто хочет все знать здесь и сейчас, оговорюсь, что речь пойдет о дальнейшей модернизации уже функционирующей системы водяного охлаждения, создании ватерблоков в домашних условиях, а также о небольшом практическом исследовании полученного результата.

1.Модернизация
1.1.Радиатор и короб

Как показала практика, размещение радиатора в кожухе на верхней части корпуса – не самая лучшая идея. При использовании данного кожуха сильно снижалась как продувка радиатора вентилятором, так и происходило нагревание радиатора блоком питания, расположенного под ним. В связи с этим, было принято решение сделать сплит-систему, т.е. вынести радиатор не только за пределы системного блока, но и поместить его в отдельный корпус. Однако городить шеренгу разношерстных корпусов совсем не хотелось (рядом с системным блоком уже стоял сабвуфер акустической системы).

Идея желаемой реализации пришла достаточно быстро – толчком послужил внешний вид стола-бюро, в котором стоит компьютер. Дело в том, что между нижним ящиком стола и полом имеется пространство, достаточное для установки там еще одного импровизированного ящика, в который было бы возможно смонтировать как радиатор, так и резервуар с помпой.

Для этих целей был приобретен обрезок листа ДВП (дуб рустикальный). Пила, электролобзик, рубанок и напильник и ... вуаля! Ящик готов.





Не все получилось так, как хотелось. В частности, из-за небольшого размера листа ДВП пришлось поступиться тем, что направление фактуры шпона короба не совпало с направлением фактуры шпона ящика стола (по иному лист не раскраивался). По этой же причине, короб пришлось делать не из однородного ДВП по цвету и фактуре (крышку и внутреннюю перегородку). Хотя это уже не такой существенный недостаток – эти поверхности являются скрытыми.

Для состыковки радиатора и вентилятора использовалась рамка от систем вентиляции. Изначально я планировал разнести внутри короба вентилятор с радиатором, соединив их воздуховодом. Однако, проконсультировавшись у специалиста, я отказался от этого варианта, из-за существенного падения скорости воздушного потока в воздуховоде. Поэтому конструкция была облегчена, результатом чего стал вот такой "бутерброд".

Для скрепления рамки с радиатором была применена лента-скотч, которой оказалось вполне достаточно для надежного и герметичного соединения этих деталей, чему немало способствовало удачное совпадение их размеров. Я не стал прикрывать вентилятор сеткой от пыли, рассудив, что поскольку задняя сторона радиатора будет для меня доступна, его всегда можно будет продуть с помощью пылесоса.

1.2. Помпа

Резервуар с помпой было решено максимально герметизировать, для чего внутри короба была сделана перегородка и верхняя крышка. На этом моменте позволю себе небольшое отступление.

Описанная в первой статье погружная помпа Resun SP-2500 (1400 л/ч) в ходе длительной эксплуатации показала себя, мягко говоря, не с лучшей стороны. Автор не новичок в общении с подобными устройствами, но этот представитель творчества азиатских левшей оказался явно гадким утенком.

Хотя устройство помпы предельно простое, ее изготовление требует большой точности, т.к. малейший люфт вращающегося вала порождает весьма заметную вибрацию. Так и с этой помпой, у наших китайских друзей видимо что-то не срослось – чем дальше, тем низкий гул, сопровождающий ее работу, становился все более заметным (с другой стороны, чего вы хотели за 10 у.е.?). Надеюсь, что это был дефект конкретного экземпляра, поскольку другие помпы этой модели, позднее виденные мной, вели себя поскромнее.





В конечном итоге, не искушая более судьбу заказами по почте, я отправился в ближайший зоомагазин и приобрел (предварительно протестировав) погружную помпу Atman At-305 (1200 л/ч, 18W) за 510 рублей.

Несмотря на свои азиатские корни, эта помпа выглядела и работала намного лучше. Внешний вид, качество пластмассы, вала и ее акустические характеристики – все оказалось на должном уровне. Конечно, качество и надежность аквариумного оборудования германского (а тем более, американского или японского) производства еще никто не отменял, но вот в продаже помп того же "Eheim" в родном городе я не видел ни разу. Да и цена на них предполагается существенно выше – две-три тысячи рублей.

Указанная помпа была с успехом установлена в ранее описанный резервуар из оргстекла. Здесь, как нельзя кстати, пригодился угловой переходник, оставшийся в наследство от предшественницы.

Осталось только установить по месту радиатор и помпу с резервуаром в ящик.

Для предотвращения потенциальных перегибов, в опасных местах применялись пластиковые угловые трубки от аквариумного фильтра. Отдельно их можно приобрести в любом зоомагазине. Самостоятельно подобные уголки можно изготовить из медной трубки подходящего диаметра.

Под занавес закрываем снаружи вентилятор защитной решеткой, налаживаем электропитание помпы и вентиляторов.





Раздувая щеки, созерцаем финальный результат. :)

1.3.Ватерблоки

Как и в случае с коробом, не удалось спокойно пройти и мимо ватерблоков. Два теплообменника от Ключа меня вполне устраивали. Разве что размещение одного из них на чипсете системной платы вызвало небольшие затруднения, так как изначально он предназначался для процессора и имел соответствующие размеры (50х50мм).

Ну а по законам жанра полагалось охладить еще один узел – видеочип. Ватерблок для него я заказал у Ромыча.

  • Модель - "U40"
  • Размер - 40Х40Х15 мм.
  • Материал - медь марки М2
  • Высота штуцеров 20 мм, внеш. диаметр 10 мм, толщина стенки штуцера 1.5 мм.
  • Основание, крышка и штуцера соединены припоем Stannol 96/4
  • Крышка и штуцера покрыты акриловой краской под золото (перекрашено мной под серебро).
  • Ватерблок протестирован на стенде давлением 6 Атм.
  • Цена: 650 руб.

Выбор в пользу данной модели был сделан из-за наклоненных штуцеров, которые позволяют избежать перегибов шлангов при установленном ватерблоке по месту.

Как следует из названия – схема канала у данного ватерблока напоминает букву "U".





На поверку данное изделие оказалось весьма качественно изготовлено. Замечание конструктивного характера возникло в отношении крепежа – планка одной стороной упиралась в штуцер и препятствовала установке ватерблока (вполне возможно, из-за особенностей дизайна данной видеокарты). Пришлось сделать на ней небольшой надпил в месте соприкосновения со штуцером.

Еще одно замечание в отношении крепления - даже при тугом затягивании гаек, под воздействием упругости шлангов, ватерблок норовил развернуться по своей оси. Вопрос решился подкладыванием резинок под планку по краям ватерблока.

На создание следующего ватерблока меня натолкнула печальная история со счастливым концом, произошедшая с системной платой Epox 8K3AE (KT333). Прослужив мне верой и правдой более полугода, в один прекрасный день она начала издавать странный запах греющегося пластика. При попытке заглянуть внутрь корпуса, компьютер отключился и на внешние воздействия больше не реагировал. Внимательный осмотр показал, что один из силовых транзисторов (MOSFET) на системной плате растопил припой (!!!) и сполз со своей контактной площадки.

Как вы уже догадались, причиной этого послужил добротный разгон (1466@2400), помноженный на отсутствие движения воздуха вокруг процессора (ввиду использования водяного охлаждения), под завязку загруженного очередным проектом распределенных вычислений.

В гарантийном ремонте мне, конечно же, отказали - пришлось отдавать плату в обычный ремонт. Из мастерской плата поступила с напаянным новым транзистором и комментарием, что восстановлению она не подлежит :(.

Утирая скупые слезы по безвременно усопшей, я на авось собрал компьютер и нажал "Power". Аллилуйя! Плата воскресла и, проработав в нематеринских условиях еще пару месяцев, была бессовестно продана.

Вынеся из произошедшего урок, для силовых транзисторов сменщицы (Asus A7N8X rev2.0) первым делом были напилены маленькие радиаторы и приклеены на термоклей. Но даже и с такими предосторожностями, транзисторы здорово грелись при разгоне.

Решив больше не искушать судьбу, я направился в гараж, где из двух медных трубок разного диаметра за вечер спаял вот такой ватерблок:

Ничего сложного в изготовлении этого устройства нет. Достаточно иметь под рукой ножовку по металлу, тисы, напильник и паяльник ватт на 100-150. Плоское основание и боковые стенки ватерблока были сделаны из обрезка той же трубки большого диаметра (35мм), предварительно расплющенного между двумя ровными стальными брусками. Штуцера впаивались не встык, а с небольшим заводом вовнутрь ватерблока для увеличения прочности.

Поскольку вокруг силовых транзисторов на системной плате технологических отверстий не было, пришлось приклеить ватерблок на термоклей АЛСил-5. Три ватерблока на системной плате в итоге составили вот такой ансамбль:

Здравый смысл уже настойчиво подсказывал, что неплохо бы на этом остановиться. Но видно не судьба...

Да, да - это заготовки для еще одного ватерблока... для микросхем памяти видеокарты.

Призовая видеокарта TYAN Tachyon G9700Pro оказалась действительно замечательным изделием с эффектно выглядящей системой охлаждения. С таким массивным радиатором, наподобие двухстороннего панциря, эта карточка и на сегодняшний момент не затеряется в многоликом ассортименте видеокарт. К слову сказать – производство данного радиатора TYAN поручил Thermaltake, с чем та неплохо справилась.

Однако проверка карточки на разгон показала не столь блестящие возможности (по крайней мере, со штатным охлаждением) – 355/320(640) Мгц при дефолтных частотах - 325/310(620) Мгц. Причины оказались просты. При демонтаже радиаторов, обнаружился толстый слой густой термопасты между чипом и радиатором (мешала защитная рамка). Кроме того, что между микросхемами памяти и радиатором был проложен резинообразный термоинтерфейс толщиной миллиметра полтора. Вряд ли данные факторы оказали положительное влияние на разгон.

На следующем этапе на чипсет видеокарты был установлен уже упоминавшийся ватерблок, а на микросхемы памяти – миниатюрные радиаторы, напиленные из пентиумного "донора".

С этим охлаждением частоты, на которых карта стабильно и без артефактов работала, подросли до 405/345(690) Мгц. Причем, стало ясно, что если GPU уже вряд ли удастся еще разогнать без вольт-моддинга, то память после преодоления частоты 690 Мгц продолжала работать, но через определенное время начинала грешить артефактами и зависанием, а радиаторы разогревались, как восемь маленьких печек :). Данное обстоятельство и навело меня на мысль о водяном охлаждении памяти.

Не совсем ясно оставалось только одно - как это реализовать. Встречающиеся в Интернете аналогичные решения были труднореализуемы в домашних условиях. К примеру, такие:

Хотелось чего-то более простого. В наличии были только несколько медных трубок разного диаметра и полное отсутствие кусковой меди, которая была необходима для ватерблоков, изображенных на фотографии. Компромиссный вариант, который мне удалось найти, был достаточно прост в изготовлении.

При относительной простоте изготовления такого ватерблока (у меня на него ушло два вечера слесарных работ), у него все же есть один достаточно жирный минус – сложность в монтаже. Как видно на фотографии, ватерблок весьма точно подогнан под высоту микросхем и учитывая его жесткость, придется изрядно попотеть, одевая его на видеокарту. К слову, одна из моих попыток его установки закончилась небольшим сколом керамического конденсатора, выступающего по высоте (что, к счастью, не повлияло на работоспособность карты).

Предвидя данные трудности еще на стадии изготовления ватерблока, я так же рассматривал вариант "нежесткого" соединения половинок ватерблока, а именно посредством отрезка силиконового шланга с проложенной на месте изгиба стальной спиралью.

Поставив небольшой эксперимент, я все-таки отказался от него – короткий отрезок шланга от перегиба не спасала даже жесткость вложенной спирали, хотя не исключено, что реализовать подобное можно на более длинном куске шланга, создав подобие "хвоста" ватерблоку.

Обращу внимание, что для увеличения площади теплопередачи, внутренняя поверхность ватерблока была слегка уплощена и обработана напильником.

Кроме того, при пайке не экономился припой – опять же с целью увеличения площади теплопередачи. Конечно, теплопроводность олова намного хуже, чем теплопроводность меди, но несравненно лучше теплопроводности воздуха :).

Забежав немного вперед, отмечу, что этот теплообменник вполне оправдал усилия на его создание – микросхемы памяти оставались едва теплыми даже при максимальной нагрузке, а частотный потенциал получил небольшой резерв (память стабильно заработала на частоте 360(720) Мгц). Не стоит забывать, что попутно был убит еще один заяц – выделяемое памятью тепло было отведено за пределы корпуса.

Однако еще одна не совсем явная трудность изготовления этого ватерблока заключалась в том, что высокая точность подгонки деталей требовала их пайки "по месту" т.е. непосредственно на видеокарте. Конечно же, при таком способе пайки вероятность повреждения или смещения микросхем памяти в связи с перегревом, была максимальна. Поэтому по месту производилось лишь "прихватывание" трубок с контактными пластинами. Затем заготовка ватерблока снималась с карты, фиксировалась по плоскостям и только после этого осуществлялась окончательная пайка.

Избежать такого кропотливого в подгонке процесса можно, пожалуй, только с использованием лекала. Наложив лист бумаги на карту, отметить расположение на ней микросхемы, затем паять детали, разложив их на этом лекале. Но эта идея пришла лишь когда работа была закончена :(.

Оставалось решить вопрос к креплением ватерблока к карте. Приклеивать контактные пластины на все восемь микросхем, учитывая при этом, что отдирать, в случае необходимости, потом придется от них всех одновременно, я не решился. Поэтому микросхемы были промазаны термопастой АЛСил-3, а ватерблок зафиксирован с помощью разрезанных на несколько частей канцелярских зажимов для бумаги.

Только не пытайтесь, последовав вышеописанному примеру, разрезать их ножовкой по металлу - они сделаны из закаленной стали, поэтому их возьмет, пожалуй, только абразивный диск. :)

Шаманство с медными коробочками близилось к концу. Оставалось только наживить шланги, промазав подозрительные места стыков силиконовым герметиком и зафиксировать их хомутами. Ватерблоки были соединены в последовательности: CPU - память видеокарты – GPU – чипсет – силовые транзисторы.

Подключение шлангов к системному блоку произведено через самодельный переходник.

Все. Теперь можно было поджигать.

2. Тестирование
2.1. Чистая производительность помпы

Первое, что мне хотелось проверить – это соответствие реальных характеристик помпы заявленным производителем. А производитель указал следующее: 1200 литров в час (с нулевым перепадом высот) и максимальный подъем водяного столба на 1,3 метра.

Переместившись в ванную комнату, я расположил помпу в одной пластиковой емкости таким образом, чтобы отверстия забора находились под водой, а выходное отверстие в горизонтальном положении было направлено в другую емкость. Кроме того, на горловину помпы был одет кран.

Фиксируя поворот заглушки в дополнительной позиции (на фото она отмечена риской), была замерена производительность помпы для изучения влияния скорости водяного потока на температурные показатели.

По секундомеру отмерялось количество жидкости, перекачанной в пустую емкость за минуту, откуда она затем вычерпывалась литровой кружкой. Полученный результат экстраполировался на производительность помпы за час. Конечно, этот метод допускал определенную погрешность, но для наших целей подобной точности вполне достаточно. Высота подъема водяного столба измерялась путем постепенного поднимания шланга относительно стены.

Честно говоря, результатов измерений я ждал со скептическим выражением лица. Не обманули ли меня, братья-китайцы?

Положение заглушки Литров за минуту Литров за час (экстраполяция)
Положение №1 (открыта полностью) 19 1140
Положение №2 4,5 250

Нет, настоящими оказались литры, не китайскими! :) Расхождение в 60 литров можно было вполне списать на погрешность измерений. Так, а как у нас обстоят дела с высотой подъема водяного столба? Постепенно поднимаем шланг. Вода перестает выталкиваться на отметке 128 см. Итак, можно констатировать, что производительность вполне помпы соответствует и заявленным характеристикам.

2.2. Реальная производительность помпы в системе

Пять метров шланга, пять ватерблоков, один радиатор и перепад высот в 40 см – достаточно большое гидравлическое сопротивление даже для такой мощной помпы. Но сколько же в действительности проталкивает помпа по контуру? Для получения ответа на этот вопрос, по секундомеру было замерено время, за которое наполняется литровая мерная кружка из выходного шланга. Литр набежал ровно за 25 секунд. Итого - 144 литра в час.

Теперь устанавливаем на выходной штуцер помпы кран с заглушкой в положении 2 (250л/ч). Производим повторный замер – литровая кружка наполняется уже за 35 секунд. Таким образом, мы имеем фактическую производительность в 103 литра в час. Много это или мало? Простейший расчет по формуле из школьного учебника физики показывает, что этого более чем достаточно и в том и в другом случае. Так ли это в действительности, мы проверим эмпирически чуть позже.

При этом следует понимать, что если искусственно "урезанная" до 250 л/ч мощная помпа смогла протолкнуть по контуру 103 л/ч, то это отнюдь не означает, что такой же показатель способна показать "настоящая" помпа мощностью в 250 л/ч. Напор, создаваемый помпой "на выходе", даже с уменьшенным на три четверти потоком останется прежним.

Проиллюстрирую это простым примером - уровень подъема водяного столба данной помпы, вне зависимости от положения заглушки крана, оставался на отметке 128 см. Этим, кстати, и объясняется соответствующая разница в падении производительности помпы - в одном случае в 8 раз (1140->144л/ч), а в другом всего в два с половиной раза (250->103л/ч). Помпа на 250 литров в подобном контуре 100 литров в час никогда не прокачает.

2.3. Температурный режим

Тестовая платформа:

  • Процессор – Athlon XP 1700+ (Thoroughbred, step. В, Vcore – 1.5в)
  • Системная плата – ASUS A7N8X rev.2.0 (nForce2 Ultra400) BIOS 1007
  • Видеоадаптер - TYAN Tachyon G9700Pro
  • ОЗУ – 2 х 256 DDR SDRAM Samsung (PC3200) CL 3.0
  • Винчестер – Maxtor 80Gb
  • Звуковой адаптер Creative SB Audigy Player
  • DVD-ROM Sony DDU1621
  • Корпус UTT Eagle алюминиевый MidleTower
  • Блок питания – Noname 400Вт ATX *
  • Термопаста АЛ-СИЛ 3

* - Данный блок питания использовался только на время тестирования, т.к. штатный блок питания PowerMan 300Вт ATX, не "вытягивал" системную шину 200Мц с делителем более 8.5.

Условия тестирования:

  • Температура воздуха у пола – 22oС.
  • Обороты 120мм вентилятора, обдувающего радиатор, установлены на минимум (примерно 1000 об/м). Вентилятор на таких оборотах был не слышен.
  • Мониторинг температурных режимов процессора и системной платы производился утилитой Asus PC Probe.
  • Перед началом тестирования компьютер прогревался не менее часа.
  • Частота процессора – 2200Мц (200х11, 1.65в). Типичное тепловыделение процессора с данными параметрами – 65Вт, максимальное – 72Вт.
  • Частоты GPU/памяти видеокарты соответственно – 405/720Мц.
  • В системном блоке работает только вентилятор блока питания. Вентиляторы "на выдув" в верхней крышке корпуса отключены.

Рассмотрим первое тестирование более подробно. Уточню – помпа в этом тестировании работает в полную силу (заглушка крана в положении №1). Комментируемые ниже температурные показатели на графике соответствуют зеленой вертикальной линии.

Итак, начальные условия тестирования – типичное состояние системы в простое. Стабильная температура процессора – 35oС. Температура теплоносителя (воды) в резервуаре – 26oС. Одновременно запускаем тест 3DMark 2003 и проект распределенных вычислений Find-a-Drug.

В течение 10 минут наблюдаем постепенное повышение температуры процессора на 6 градусов, с последующей десятиминутной стабилизацией на этом же уровне (41oС). Уменьшаем нагрузку, отключив 3DMark 2003, и наблюдаем... повышение температуры процессора на два градуса.

А объяснение этому явлению достаточно простое. Тест 3DMark 2003, обладая более высоким приоритетом для исполнения, не в состоянии дать загрузку процессора сравнимую с проектом Find-a-Drug. Отключение доминирующего приложения позволяется развернуться проекту Find-a-Drug в полную мощь. Двадцатиминутное плато на отметке 43 градуса при этом остается неизменным. Температура теплоносителя поднимается до 29oС. Можем констатировать максимальную температуру процессора при данной нагрузке.

Оставив загрузку процессора на прежнем уровне, увеличиваем обороты охлаждающего вентилятора на максимум.

За пятнадцать минут мерно гудящему вентилятору удается охладить процессор на 2 градуса (41oС). Температура воды в системе снижается на те же 2 градуса (27oС). Отключаем Find-a-Drug.

Простаивающий в течение 13 минут процессор охлаждается до 33oС, показывая дельту в два градуса по сравнению со стартовой отметкой в 35oС, за счет вентилятора на максимальных оборотах.

Делаем второй заход. Теперь попробуем уменьшить величину водяного потока. Устанавливаем на выходной штуцер помпы кран с заглушкой в положении №2. Как мы помним, производительность помпы в системе при этом снижается примерно на треть (до 103л/ч). Выстаиваем систему, а затем снова запускаем Find-a-Drug

Получаем температуру выше на 2 градуса по сравнению с более производительной помпой. Странный результат. Снимаем кран и еще раз запускаем Find-a-Drug.

Теперь все встает на свои места. График показывает, что изменение величины потока теплоносителя при данном тепловыделении системы не оказывает никакого влияния на эффективность охлаждения. Но почему мы имеем разницу в два градуса между первым и вторым тестированием? Обращаем внимание на термометр, лежащий на полу рядом с радиатором. Так и есть – 24oС. Потепление в комнате на два градуса за время между тестированиями, оказало соответствующее влияние на результат.

Предвижу назревший читательский упрек - почему мной в качестве стресс - теста используется какой-то Find-a-Drug, а не "заточенный" под это Burn? Бесспорно, Burn – заслуженный пироман, но все же это синтетическая программа, дающая пусть беспрецедентно высокую, но мало достижимую для пользователя нагрузку на процессор. Зато Find-a-Drug – программа, которая с недавнего времени всегда со мной. Даже сейчас, когда я пишу эти строки, ранее валяющий дурака процессор, занят полезным делом. А это постоянная, 100% загрузка процессора тяжелыми научными расчетами.

Чтобы не быть голословным, проведем небольшое тестирование – запустим последовательно сначала Find-a-Drug, а затем BurnK7 с приоритетом Normal.

Включение Burn отмечено на графике красной точкой. Выйдя через десять минут на свой максимум в 47oС, Burn разогрел процессор всего на 2 градуса выше Find-a-Drug. По этой причине я посчитал, что проект распределенных вычислений вполне оправдывает свое назначение "горячей штучки".

Вот собственно и все, что мне хотелось исследовать, и с чем было приятно познакомить читателя.

Краткое резюме:

  • При хорошо развитой рабочей поверхности радиатора, увеличение объема воздушного потока, проходящего через него, в данном случае, не оказывает существенного влияния на температурные показатели. Это говорит об избыточной эффективности данного радиатора при конкретной тепловой нагрузке (порядка 150Вт) на него. Данное обстоятельство позволило использовать малооборотистый вентилятор без существенного снижения эффективности охлаждения;
  • Мощность помпы на эффективность охлаждения влияет незначительно – вполне достаточно того, чтобы она создавала циркуляцию жидкости в контуре;
  • Эффективность замкнутой системы водяного охлаждения имеет прямую зависимость от температуры охлаждающего радиатор воздуха (банально, да);
  • Блока питания в 300 ватт для вышеуказанного железа недостаточно. Мало того, что при разогнанном процессоре он начинает бодро набирать обороты (читай, шуметь), но и существенно ограничивает разгонный потенциал системы.
  • Китайцы меня не обманули :)
  • Участвуем в Find-a-Drug!

P.S. В связи с частыми вопросами о физических свойствах жидкостей и металлов для целей водяного охлаждения, отсылаю вопрошающих к исчерпывающей статье на эту тему (на английском языке).

Выражаю благодарность Нечаеву Игорю за техническое консультирование и предоставленный фотоаппарат, Андрееву Алексею - за предоставленный блок питания, Евгению Логинову aka Хитрый John [USSR] – за моральную поддержку и вредные советы, Алене Маус и Илье Левченко – за помощь в нелегкой борьбе с деепричастными оборотами.

Нечаев Артем aka nagual


Ждём Ваших комментариев в специально созданной ветке конференции.

Telegram-канал @overclockers_news - это удобный способ следить за новыми материалами на сайте. С картинками, расширенными описаниями и без рекламы.
Страницы материала
Страница 1 из 0
Оценитe материал
рейтинг: 4.0 из 5
голосов: 16

Теги



Возможно вас заинтересует

Популярные новости

Сейчас обсуждают