• Как отверстать такие линии не изображением?

    iamd503
    @iamd503 Куратор тега CSS
    Верстальщик
    Сталкивался с таким дизайном и дизайнерами, которые такое рисуют - больше с ними не работаем
    Ответ написан
    2 комментария
  • Linux: Что делать с root после того как создал пользователя с обычными правами?

    chupasaurus
    @chupasaurus
    Сею рефлекторное, злое, временное
    Выполнять строго после того, как убедитесь в работе sudo и возможности подключиться по ssh другим пользователем.
    PermitRootLogin no в /etc/ssh/sshd_config (запрет на вход руту по ssh) и sudo passwd --lock root (запрет на локальный логин руту по паролю).
    Ответ написан
    Комментировать
  • Макеты для тренировки навыков анимирования (CSS, JS, GSAP)?

    alexyarik
    @alexyarik
    Битрикс разработчик
    Вот на мой взгляд интересные задачки:
    вертикальная прокрутка и смена авто
    porschevolution.com/#2000s
    горизонтальная смена экранов
    hotdot.pro/#bilet2u
    Интересный Parallax на первом скрине
    www.firewatchgame.com
    несколько разных эффектов
    https://kirillpritula.com/en/
    прокрутка с разными эффектами появления
    lavash26.ru
    первый экран прикольно меню сделано
    https://rizon.pro/
    примеры
    https://threejs.org/examples/
    вращение товара, уменьшение и приближение
    www.manufaktur-sehen.de/brillenkonfigurator
    много всего
    https://codepen.io/search/pens?q=animation
    Ответ написан
    Комментировать
  • Как построить сеть с нуля в офисе (160+ компьютеров, 20+ IP камер)?

    @rionnagel
    ковырятель
    Сначала определиться с бюджетом, временем и что у вас есть, прикинуть возможные риски.
    Я бы начал с того, что поднял hyper-v (как я понял лицензия у вас есть), одна лицензия это хост + 2 виртуалки, сделал бы план бэкапов и восстоновлений. Поднял бы active directory, посоздовал бы учётки и ввел бы это всю хрень в домен. Из трат - ваше время, время специалистов, пока вы им настраиваете учётки из AD. Если это возможно операционки ставьте новые. Под серверную крайне желательно выделить отдельное помещение с 1-2 кондиционерами и хотя бы ибп, не говорю уже про резервную линию питания.
    С сетью очевидно прямых трат больше. Надо прикинуть возможно ли поставить всё в одну коммутационную стойку, или надо несколько стоек по предприятию. Считаем траты на кабель, коммутациюнные шкафы, сколько метров до самых удаленных точек, разетки, маркировка, кабель-каналы и прочий строительный храм + время простоя во время ременота + пространство (КРАЙНЕ ЖЕЛАТЕЛЬНО ЗАКРЫТОЕ, та же серверная) в котором всё это будет находиться. Обсудить с начальством целесообразно ли покупать управляемые свитчи (с тем же storm control и прочими протоколами), либо конторка без проблем денек подождёт, пока вы будете носится как угарелый искать какой такой нехороший сотрудник решил подключить неподключенный кабель в разетку и куда именно, денек до этого выясняя, что это всё-таки именно broadcast storm. Схему рисовать обязательно. Всё должно быть понятно и подписано. В качестве шлюза микротик более, чем норм. И РАЗУМЕЕТСЯ вы на каждую комнату закладываете больше разеток, чем там находится пользователей процентов на 20-80 в зависимости от ситуации.
    В описанном не вижу необходимости нарезать vlan'ы и как-то сегментировать сеть, но возможно вы что-то не договариваете, либо я недооцениваю. Разве, видеокамеры в отдельную подсеть и отдельный vlan (хотя и второе не обязательно в зависимости от схемы подключения).
    Для принтетов можно подумать принт-сервер. Для удаленки pptp сервер на микротике.

    Если вы хотите там как-то резать доступ по отделам, делать несколько ad, сегментировать сеть и т.д. это уже другой вопрос.

    Это я так, сходу прикинул. Вообще всё зависит от финансирования.
    Ответ написан
    6 комментариев
  • Какую литературу посоветуете по тестированию?

    glaphire
    @glaphire Куратор тега PHP
    PHP developer
    TDD Кента Бека - помогает понять, откуда взялась популярная архитектура фреймворков тестирования (ссылка) - читала, мне частично помогла.
    xUnit test patterns - не читала, но все советуют - тоже объясняет принципы написания тестов без четкой привязки к технологии (ссылка).
    По разнице в подходах тестирования - существует пирамида тестирования, но на практике мне не всегда понятно, где границы - приемочные и UI тесты ориентированы на use cases - т.е. на путь - в какой последовательности юзер проходит фичу и какой результат ожидает на каждом шаге (заходит на страницу, заполняет данные, ждет ответа; программа-клиент получает токен, шлет запрос, ждет респонс), а модульные тесты ориентированы на проверку кода как изолированных элементов - т.е. тестирование происходит отдельно от общего процесса, в котором этот код используется, чтобы можно было локализовать проблему с максимальной точностью.
    PHPUnit я изучала только по документации, просто прошлась по всем примерам, считаю приемлемым вариантом изучения. Лучше сначала хорошо понять PHPUnit, а потом учить Codeception. Учиться, как мокать и стабать, можно уже на конкретных задачах, по мере надобности.
    Ответ написан
    1 комментарий
  • Где найти игры для веб-программиста?

    Beeetle
    @Beeetle
    https://flexboxfroggy.com по флексам
    https://cssgridgarden.com по гридам
    Очень прикольные сервисы по изучению в игровой форме
    Ответ написан
    2 комментария
  • Попросили проверить код, на что смотреть нужно?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    Смотря зачем)). Я когда делаю Code Review критерии следующие:

    * Безопасность:
    - Каждый аргумент метода простого типа должен проверяться на тип в случае его проксирования и на граничные значения в случае обработки. Чуть что не так - бросается исключение. Если метод с кучкой аргументов на 80% состоит из поверки из аргументов - это вполне норм))
    - Никаких trigger_error, только исключения.
    - Исключения ДОЛЖНЫ быть человеко-понятны, всякие "Something went wrong" можно отдавать пользователю, но в лог должно попасть исключение со стектрейсом и человеко-понятным описанием, что же там пошло не так.
    - Каждый аргумент (объект) метода должен быть с тайпхинтингом на этот его класс, или интерфейс.
    - За eval как правило шлю на **й.
    - @ допускается только в безвыходных ситуациях, например проверка json_last_error.
    - Перед работой с БД - обязательная проверка данных.
    - Никаких == и !=. Со swtich - единственное исключение, по ситуации.
    - Если метод возвращает не только bool, а еще что-то - жесткая проверка с ===, или !== обязательна.
    - Никаких условий с присваиваниями внутри. while($row = ...) - тоже идет лесом.
    - Магические геттеры/сеттеры разрешаются только в безвыходных ситуациях, в остальном - запрещены.
    - Конкатенации в sql - только в безвыходных ситуациях.
    - Параметры в sql - ТОЛЬКО через плейсхолдеры.
    - Никаких глобальных переменных.
    - Даты в виде строки разрешаются только в шаблонах и в БД, в пхп коде сразу преобразуется в \DateTimeImmutable (в безвыходных ситуациях разрешено \DateTime)
    - Конечно зависит от проекта, но как приавло должно быть всего две точки входа: index.php для web и console(или как-то по другому назваться) - для консоли.

    * Кодстайл PSR-2 + PSR-5 как минимум, + еще куча более жестких требований (для начала все то что в PSR помечено как SHOULD - становится MUST)
    - В PhpStorm ни одна строчка не должна подсвечиваться (исключением является typo ошибки, например словарик не знает какой-то из аббревиатур, принятых в вашем проекте). При этом разрешается использовать /** @noinspection *** */ для безвыходных ситуаций.
    - Если кто-то говорит, что пишет в другом редакторе и у него не подсвечивается, на эти отговорки кладется ВОТ ТАКЕЕЕНЫЙ мужской половой **й и отправляется на доработку)).

    * Организация кода:
    - Никаких глобальных функций.
    - Классы без неймспейса разрешаются только в исключительно безвыходных ситуациях.

    * Тестируемость (в смысле простота тестирования) кода должна быть высокая.
    - Покрытие кода обязательно для всех возможных кейсов использования каждого публичного метода с моками зависимостей.

    * Принципы MVC:
    - Никаких обработок пользовательского ввода в моделях, от слова совсем.
    - Никаких ***ть запросов в БД из шаблонов.
    - Никаких верстки/js/css/sql-ин в контроллерах.
    - В моделях НИКАКОЙ МАГИИ, только приватные свойства + геттеры с сеттерами.
    - В моделях разрешено использовать метод save(при наличии такого разумеется) только в исключительных ситуациях. Во всех остальных - либо insert, либо update.

    * Принципы SOLD:
    - Никаких божественных объектов умеющих во все.
    - Если метод для внутреннего пользования - private, никаких public.
    - Статические методы разрешаются только в случае безвыходности.

    * Принцип DRY разрешено нарушать в случаях:
    - Явного разделения обязанностей
    - В тестах (каждый тест должен быть независимым, на сколько это возможно)

    * Работа с БД:
    - Запрос в цикле должен быть РЕАЛЬНО обоснован.
    - За ORDER BY RAND() - шлю на***й.
    - Поиск не по ключам (конечно если таблица НЕ на 5 строк) запрещен.
    - Поиск без LIMIT (опять же если таблица НЕ на 5 строк) запрещен.
    - SELECT * - запрещен.
    - Денормализация БД должна быть обоснована.
    - MyISAM не используется (так уж)) )
    - Множественные операции обязательно в транзакции, с откатом если чо пошло не так.
    - БД не должна содержать бизнес логики, только данные в целостном виде.
    - Не должно быть нецелесообразного дерганья БД там, где без этого можно обойтись.

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

    * О людях:
    - "Я привык писать так и буду дальше" - не вопрос, ревью пройдешь только когда поменяешь свое мнение.
    - "Я пишу в vim-е и мне так удобно" - здорово, код консолью я тоже в нем пишу)) но есть требования к коду, если в них не сможешь - не пройдешь ревью.
    - "Я скопировал этот страшный метод и поменял 2 строчки" - это конечно замечательно, но по блейму автор всего этого метода ты, так что давай без говняшек, хорошо?
    - "Оно же работает!" - вот эта фраза переводится примерно так: "да, я понимаю, что пишу полную хрень, но не могу писать нормально потому, что руки из жо", я правильно тебя понял?))
    - "У меня все работает!" - рад за тебя, а как на счет продакшна?
    - "Там все просто" - не используй слово "просто", от слова "совсем". Вот тебе кусок кода (первого попавшегося с сложной бизнес логикой), где там ошибка (не важно есть она, или нет)? Ты смотришь его уже 2 минуты, в чем проблема, там же все "просто"))

    * Всякое:
    ActiveRecord (это я вам как в прошлом фанат Yii говорю) - полное говно, примите за исходную. По факту у вас бесконтрольно по проекту гуляют модельки с подключением к БД. Не раз натыкался на то, что в тех же шаблонах вызывают save, или update (за такое надо сжигать).
    То, что используется Laravel - это печально((. Что бы выполнить требования приведенные выше, приходится "воевать" с фреймворком.

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

    UPD

    Формализировал данные критерии по ссылочке: https://github.com/index0h/php-conventions
    Ответ написан
    55 комментариев
  • Как вы формируете свой прайс?

    idzenski
    @idzenski
    Директор по развитию партнерской сети BPMx
    Все зависит от того, как ты умеешь себя ставить и продавать.
    Для кого-то 35$ в час вышка, для другого и 100$ не предел.
    Так что качай софт-скиллз, учись писать более осознанные отклики и в путь :-)
    Ответ написан
    Комментировать
  • Неужели порог вхождения в андроид разработку настолько высокий?

    @Exolonpro
    Являюсь Senior Android разработчиком. Java/kotlin, dagger, mvp... Как не прискорбно вам это сообшать, но все это надо знать. Много ребят присылают резюме посмотрев курсы непочатова и что-то там ещё, но их даже не рассматривают. Юниоры требуются редко, нужны мидлы и выше, т.к. есть заказ и жосткие сроки. Все понимают что вы научитесь, но заказчик хочет получить стабильнок приложение чз 3 месяца, а не через год. Dagger mvp и тд нужны чтобы ваш код не превратиося в кашу. Реально все оч сложно, я вам не завидую тк сам прошел долгий путь.
    Желаю удачи, главное не сдаваться!!!
    Ответ написан
    5 комментариев
  • Как лучше организовать рабочее окружение для веб разработчика?

    Ставьте linux (ubuntu, mint - хорош для первого знакомства после винды) и docker. Я когда пересаживался с винды искал аналоги openserver, пробовал vagrant, phpbrew - всё крайне не удобно. Потом рассказали про docker и сразу влюбился. Чуть позже написал небольшой скриптик, с помощью которого одной командой можно развернуть любое веб-окружение: php 5.6-7.3, apache/nginx, mysql 5.6-5.7 и через несколько минут появится рабочий локальный сайт. Если заинтересует могу дать ссылку на github
    Ответ написан
    3 комментария
  • Хороший курс-наставник по продвинутой верстке?

    niktariy
    @niktariy
    Люблю верстать
    Бесплатно только сыр в мышеловке :)

    Как вариант смотреть реализацию уже готовых сайтов и различне туториалы (я именно так и училась), например на codrops или на css-tricks

    По поводу курсов спорный вопрос, кому-то заходит, кому-то нет. Зависит от типа курсов и наличии свободного времени. Вообще все курсы, которые идут по потокам - зло. Я за вид обучения, когда есть ментор.
    Ответ написан
    2 комментария
  • Существуют книги с примерами, которые рассказывают, как правильно проектировать ПО?

    @dmshar
    Таких книг есть, и много. Однако, существует одно большое "но". Многие хотят "все и сразу" - быстро научиться программировать, быстро научиться проектировать ИС, быстро зарабатывать деньги.
    На самом деле все сложнее. Можно быстро освоить язык программирования и его фреймворки. Можно относительно быстро разобраться с базами данных и все что вокруг себя. Можно быстро понять, как построены веб-приложения и как их писать. И пр.пр.пр. Таким образом вы приобретаете некие навыки, грубо говоря - это уровень советского ПТУ, техникума, по современному - наверное - колледж. А потом приходит такой молодой (и даже с опытом) специалист на работу, ему дают задачу "спроектировать некую ИС". И тут - засада. Оказывается, для этого мало знать технологии, о которых написал выше и им подобные. Для того, что-бы правильно, аккуратно, и главное - эффективно спроектировать ИС надо обладать некой эрудицией в области ИТ, которой очень трудно научить, и которая постигается только с опытом реальной работы. Системный архитектор - это не просто программист с Х-лет стажа, это человек который набрал много много опыта реальных проектов (К слову, не верьте, когда в Универе или еще где вам будут предлагать обучиться на эту специальность. Это просто профанация).
    Однако не все так печально. Есть книги, в которых описаны множество различных методов и подходов к проектированию, которые призваны ПОМОЧЬ на пути освоения специальности Системного архитектора. Именно помочь, показать на примерах, объяснить и пр. А вот "стройной теории" как единственно правильно построить ИС нет и быть не может - уж очень разные ИС могут быть - от он-лайн магазина до системы управления работой АЭС, от медицинской диагностической системы до бухгалтерии. И при проектировании каждой такой системы применяются разные подходы.
    Теперь про книги, которые как-то пытаются систематизировать эти знания, безотносительно к конкретным языкам, технологиям или предметным областям. Часто информация по теме в виде отдельных - и часто очень объемных частей - рассматривается в книгах, посвященных управлению процессом разработки ИС.
    Есть "почти классика", или лучше сказать - специально-учебная литература, например,
    - Геркул В.И. и др. Проектирование информационных систем, Курс лекций.
    - Гвоздева Т.В, Проектирование информационных систем.
    - Смирнов Н.В Проектирование информационных систем\ Конспект лекций
    Есть более прикладные, но все еще обобщающие книги, например:
    -КузнецовМ.В. и др. Практика разработки Web-сайтов
    - Мацяшек Л. Анализ требований и проектирование систем. Разработка информационных систем с использованием UML
    - Горбаченко В.И. и др. Проектирование информационных систем с CA ERwin.
    - Черемных С.В., Моделирование и анализ систем. IDEF – технологии.
    - Исаев Г.Н. Проектирование информационных систем.
    Есть куча книг переводных, в которых описываются как конкретные практики и подходы, так и общие идеи (некоторые из перечисленных ниже книг вообще были первыми, в которых поднималась некоторая тема, которая сегодня кажется общеизвестной):
    - Ройс У. Управление проектами по созданию ПО.
    -Леффингуэлл Д., Уидриг Д. Принципы работы с требованиями к программному обеспечению.
    - Вигерс К. (Разработка требований к программному обеспечению.
    - Орама Э. Уилсон Г. Идеальная разработка ПО. Рецепты лучших программистов.
    - Брауде Э.Дж. Технология разработки программного обеспечения.
    - Фатрепп Р. и др. Управление программными проектами.
    И т.д. до бесконечности.
    Ну и стандарт ISO/IEC 12207 никто не отменял.
    Если вы хотя-бы просмотрите хотя бы часть из этого (бесконечного) списка - некоторые вопросы проектирования ИС вам станет решать легче. Но не обольщайтесь, компонент неопределенности и личного творчества в этом деле все равно останется очень большим.
    Удачи в продвижении к высотам профессии :-)
    Ответ написан
    3 комментария
  • В какое направление смотерть в PHP разработке?

    Maksclub
    @Maksclub Куратор тега PHP
    maksfedorov.ru
    Тестовые для джуниора:
    Какие тестовые проекты стоит написать

    Фреймворки:


    На CMS смотреть не стоит, разве только если CMS интернет-магазинов (кроме Битрикса — это тупиковые знания, замкнутые сами на себя, и сомнительного качества)
    Ответ написан
    1 комментарий
  • Возможен ли план самообучения WEB разработке?

    dimovich85
    @dimovich85 Куратор тега CSS
    https://u-academy.net/
    Советов надавали, я накидаю ссылок:
    Веб-стандарты Этот канал интересен уже тогда, как основа заложена. Много полезных и интересных докладов.

    Дмитрий Лаврик Много бесплатных материалов, классные платные курсы, для новичков и для среднего уровня.

    HTML Academy Много хороших материалов для изучения

    Илья Кантор Много материала по JS

    Master-CSS Здесь я нашел много бесплатных видео по настройке разных плагинов, в общем, для старта отлично, но когда поймешь JS, то сам сможешь разбираться.

    Шпаргалка по jQ В голове такие вещи обычно не держу, что-то, что часто использую помню наизусть, а так - всегда подсматриваю.

    Learn JavaScript RUS Классный учебник по JS.

    CodePen и JSFiddle В процессе обучения важно на практике применять полученные знания. Каждый раз собирать файлы, шаблоны, подключать либы, настраивать сборщики и тд лениво, очень классно, что можно в браузере сразу все сделать и даже сохранить, расшарить.

    Webmassa SVG Видео по работе с SVG.

    Юра Артюх Классные стримы по созданию анимаций. WebGL, SVG, Canvas, CSS - все тут.

    StackOverflow Авторитетный ресурс по поиску решений.

    Документация MDN Документация от разработчиков Mozilla. Есть на русском. Вообще, надо научится читать и понимать документацию, так как знать все на все случаи жизни нереально, профи умеют искать и читать документации. Для этого надо бы подтянуть английский.

    W3C Specs, W3School - инфа из первых рук.

    Писал ссылки по мере попадания под руку)

    Успехов!
    Ответ написан
    Комментировать
  • Возможен ли план самообучения WEB разработке?

    @programrails
    А я думаю, что настоящее развитие может быть только по плану. Однако, ваша самая главная задача сейчас - это хорошо учиться в школе. Выучите веб, но ценой завала школы - глупость неимоверная, преступная. Не надо так спешить, детство даётся один раз в жизни. Не вебом единым жив человек. Не следует думать в отношении некоторых школьных предметов, что "это мне не понадобится". Понадобится всё. Начать с веб можно и с 18 лет - вполне достаточно. Если уж так неймётся - то забросьте пока до 18 лет к чёрту всю эту веб-разработку и основной упор сделайте на изучение английского языка. Станьте асом в английском языке и тогда ваши (российские) конкуренты (со временем) останутся далеко позади - потому что подавляющее большинство российских разработчиков позорно плохо (до смешного плохо) знают английский. Хороший английский - это секретный ключ к успеху в программировании. Не имея навыка смотреть американский фильм с оригинальной дорожкой и понимать (на слух) хотя бы половину - хорошим программистом не стать. Во-первых, бОльшая часть веб-документации - только на английском. Во-вторых - никогда не читайте англоязычную документацию в русском переводе (книги, статьи) - ничего не поймёте правильно - только в оригинале. Потому что перевести такое невозможно - можно только заново написать на другом языке. В-третьих - будете в Турции/Египте летом - сможете больше пообщаться при необходимости.

    Изучение английского - это очень временеёмкая задача. Именно в юном возрасте и следует этим заниматься. Потом, после 18, жизнь уже не даст такого шанса, и будете потом постоянно себе говорить - какой же я был дурак, что не изучал его ранее. Можно даже прямо сейчас найти какие-то курсы английского - для детей-подростков это по карману, для взрослых же будут драть втридрога. Не пожалейте никаких усилий ради английского.

    Когда вам исполнится 17-18 - вообще забудьте про веб и все силы бросьте на поступление в ВУЗ. И лишь после поступления можно начинать с вебом. Да, и забудьте про компьютерные игры. Прямо начиная с сегодня. Совсем. Навсегда.

    Все предыдущие советы даны без учета возраста задающего вопрос. Эти ответы рассчитаны на человека от 18 лет возрастом. Мой же ответ - именно для 14-летнего.
    Ответ написан
    26 комментариев
  • Английский с нуля?

    @evg_96
    Есть канал на YT "English Galaxy". На нем нсть плейлист 350+ уроков, вся грамматика. Каждый урок делится на два. Теория, потом по этой теории практика. Перевод предложений.
    Единственное что мне помогло самостоятельно начать изучать английский. Подобного я больше не встречал.
    На данный момент прошел пока что только 58 уроков, но результат просто удивляет. Самому не верится что так продвинулся...раньше вообще думал нереально мне выучить английский.
    На данный момент на практике перевел около 8000 предложений. Как по маслу все ложится, без какого либо напряга. + очень много новых слов во время теории изучается. Сейчас уже знаком с Present Simple, Past Simple and Future Simple.
    Через урок будет большая контрольная практика по 3м временам.
    В общем очень советую. можете почитать отзывы под любым роликом, 99.9% положительные. к тому же все абсолютно бесплатно. + недавно вышло приложение 5555 тестов по граматике
    Ответ написан
  • Книга о том как правильно должен работать программист?

    un1t
    @un1t
    Чед Фаулер "Программист фанатик"
    Джоэл Спольски "Джоэл о программировании"
    Роберт Мартин "Идеальный программист"
    Том ДеМарко, "Вальсируя с Медведями: управление рисками в проектах по разработке программного обеспечения"
    Том ДеМарко "Человеческий фактор. Успешные проекты и команды"
    Роберт Гласс "Факты и заблуждения профессионального программирования"
    Игорь Савчук "Отъявленный программист. Лайфхакинг из первых рук"
    Питер Сейбел "Кодеры за работой. Размышления о ремесле программиста"
    Хант Эндрю, Томас Дэвид "Программист прагматик"
    Ответ написан
    1 комментарий
  • Как научиться пользоваться postgresql?

    @kgbplus
    Ответ написан
    Комментировать
  • От какого пользователя должен работать php-fpm в связке с nginx?

    romy4
    @romy4
    Exception handler
    от пользователя, которому принадлежит сайт. не php-fpm и не nginx. Если сайт находится в /var/www/username/site.com то php-fpm должен быть настроен на /var/www/username с правами username, сервер nginx с правами www-data
    это нужно чтобы запереть пользователя только в его директории и не иметь возможность лезть в чужие папки.
    /var/www/username устанавливается с пользователем/группой username:www-data и правами 0760. так пхп от пользователя не может ходить в чужие папки, а www-data не управляем кодом пользователя и не может причинить вред, но ходить должен.
    Ответ написан
    21 комментарий