• Развитие Windows-администратора. Куда копать?

    saboteur_kiev
    @saboteur_kiev Куратор тега Системное администрирование
    software engineer
    Изучай направление автоматизации и виртуализации.

    Скриптовые языки знаешь? bat/bash/python для автоматизации различных штук.

    Php+html+sql на минимальном уровне то полезно наваять быстренько веб-интерфейс для какой-то приблуды, или поставить например корпоративную wiki для внутренних инструкций.

    Посмотри сервисы типа jenkins, ansible, chef, zabbix, monit

    Активно займись английском. upper-intermediate это минимум для IT специалиста, желающего сделать какие-то телодвижения в карьере.
    Ответ написан
    2 комментария
  • Есть ли возможность использвать skype в обычной консоли linux?

    @Eddy_Em
    Если учесть, что эта дрянь не работает без apulse, то о чем может еще идти речь?..
    Ответ написан
    Комментировать
  • Защита от удаления на linux, какую ФС и инструменты выбрать?

    nazarpc
    @nazarpc
    Open Source enthusiast
    BTRFS и вот эту штуку: https://github.com/nazar-pc/just-backup-btrfs
    Снимки делаю каждые 15 минут по крону с SSD RAID массива. За несколько дней снимки хранятся на том же массиве, за годы дополнительно на более емком HDD, очень рекомендую.
    Открыть файл за любое время - просто войти в папку со снимком за нужную дату - просто и быстро.
    Ответ написан
    1 комментарий
  • Возможна ли такая архитектура игрового сервера?

    @aleks_raiden
    В общем случае - да.

    1 - да. Хотя могут быть системы с балансировкой по DNS. Для примера, клиент при старте получает список гейм-серверов или даже один, и идет напрямую к нему, периодически обновляя список. Если сервер падает, клиент может сам пойти на другой.

    2 - Да, балансер поддерживает соединение с бекендами. Однако, есть много ньюансов, в зависимости от используемого протокола.

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

    4. Это обычный сервер (инстанс/VPS), в основном нагруженный по сетевой части (кстати, балансеры тоже хорошо бы резервировать).
    Ответ написан
    Комментировать
  • В чем смысл PostCSS сегодня?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    В последнее время началась мода на PostCSS - много постов, статей о нем.

    А почему бы и да? Любые инструменты надо пиарить что бы народ ими пользовался. Ибо народ будет пользоваться тем что на слуху (ну или тем с чем привык работать). Больше народа - больше идей, быстрее идет развитие, формируется комьюнити и поддерживать решение становится чуть проще. Да и приятно это когда твои наработки используют.

    Есть даже версия (не без оснований), что это - прародитель всех современных препроцессоров и веяний.

    Где ж это вы такое прочитали? postcss был попыткой решить проблемы, которые нельзя решить препроцессорами (или можно но долго).

    Окей, будем считать так, тем паче, что история коммитов на Гите это скорее подтверждает.

    Что именно подтверждает? сначала был Sass написанный рубистами что бы CSS можно было бы готовить так же нежно как они готовят HTML на HAML (кофескрипт туда же, рубистам хотелось сделать js похожим на ruby). И это заметте было в 2006-ом году! тогда и js был медленный, и V8 может только в планах был...

    Ведь все, что умеет PostCSS, умеют и препроцессоры

    postcss из коробки не умеет ровным счетом ничего. Он может только загрузить AST CSS файла и слепить из него обратно тот же CSS.

    И именно в этом сила postcss - модульность. Все существующие препроцессоры монолитны. То есть вы не можете просто так взять и добавить что-то свое туда. Да, в последних версиях less (и вроде как sass туда же подтягивается) у вас есть примитивный набор средств что бы вклиниться в процесс обработки AST документа и добавить какие-то примитивные вещи. Но это не удобно. Если вы хотите динамически менять проперти (например пересчитывать rem в em) или добавлять еще (опять же для того что бы руками не плодить в css кастыли для разных браузеров и делать это автоматом, на завязываясь ни на миксины и оставляя CSS чистым) свойств, но сделать это на less/sass сложно.

    Намного проще взять postcss и натравить это дело на результат работы препроцессоров.

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

    Вот как-то так. А за счет того что мы имеем доступ целиком и полностью к формированию и обработке AST мы можем и синтаксис CSS развивать. Примерами могут служить многочисленные плагины аля cssnext и т.п. Можно даже большую часть фич sass в виде плагинов подключить.

    А самое забавное, что работает это все быстрее того же libsass на плюсах. За счет архитектуры (имею в виду не голый postcss а с набором плагинов добавляющих функциональность sass).
    Ответ написан
    Комментировать
  • В какой последовательности изучать языки программирования?

    skobkin
    @skobkin
    Гентушник, разработчик на PHP и Symfony.
    Имеет смысл начать с C/C++, чтобы понять некий базис и строгую типизацию. Потом попробовать Python/PHP и посмотреть, что такое динамическая типизация. Осознать для себя плюсы этих двух подходов. И если душа ещё не легла к какому-то из языков - можно попробовать энтерпрайзную Java или C#.
    Ответ написан
    Комментировать
  • Книга по php для не новичка?

    @rsi
    software engineer
    Читайте "совершенный код" и "Паттерны программирования"
    Нужны примеры именно по php, открывайте код симфони и читайте
    Ответ написан
    Комментировать
  • Книга по php для не новичка?

    nazarpc
    @nazarpc
    Open Source enthusiast
    Стив Макконнелл - Совершенный код
    Примеры на разных языках: Java, Visual Basic, C++ (в основном на сколько помню, были и другие), но без особой привязки к языку.
    В книге речь именно об архитектуре, понятности кода, управлении командой и проектом. Очень рекомендую.
    Ответ написан
    1 комментарий
  • Какой язык выбрать для дальнейшего развития?

    @balamyt92
    ; select * from users; --
    Изучай Go - стильно, модно, молодежно, в принципе интересный язык.
    Java - тяжелый интерпрайз который тебе не нужен.
    SCALA - не вижу смысла изучать его если он тебе не нужен для зарабатывания денег.
    Rust - если его синтаксис не смущает - изучай, но язык еще сырой в плане применимости, лет через 5 может стоит.
    Ответ написан
    1 комментарий
  • Как кодить на расстоянии?

    POS_troi
    @POS_troi
    СадоМазо Админ, флудер, троль.
    Git + https://bitbucket.org или github.com если светить не стыдно :)
    Ответ написан
    7 комментариев
  • Что не так с моими ответами по sql и как стоило бы ответить?

    sim3x
    @sim3x
    1 stackoverflow.com/questions/1179758/function-vs-st...
    2 stackoverflow.com/questions/3986366/how-to-create-...

    в обоих ответах акцент ты сделал не на том

    Скорее всего на практике ты не сталкивался с тем о чем тебя спрашивали.
    В следующий раз, когда споткнешься об подобный вопрос прямо скажи, что не сталкивался с задачей для которой стоит применять Х.
    Спроси у интервьювера, где они в проекте сейчас используют данную технологию
    Ответ написан
    3 комментария
  • Какой дистрибутив выбрать?

    Denormalization
    @Denormalization
    Не нужны никакие дистры на основе Arch. Нужно самому его 1 раз поставить и всё. Это ничуть не сложнее чем в винде Next->Next->Next.
    Настройка займет пару выходных, зато потом всё ок будет.

    Судя по вопросу тебе не дистр нужен, а красивый DE. Выбирай любой дистр и ставь туда всё что угодно.
    Ответ написан
    5 комментариев
  • ОС для слабой конфигурации?

    Hurenweibel
    @Hurenweibel
    Debian Stable или даже Oldstable с лёгким оконным менеджером типа Openbox или Fluxbox., думаю, будет в самый раз.
    Ответ написан
    2 комментария
  • Куда скинуть примеры своего кода, чтобы показать работодателям?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    gist для снипетов, гитхаб для проектов (или битбакет).
    Ответ написан
    Комментировать
  • Статический или не статический метод?

    @djay
    Статика - это глобальное состояние. Статический метод или статическая переменная абсолютно ничем не отличаются от глобальной переменной, потому что, ни статика ни глобальная переменная не были переданны в качестве аргументов нигде и никак, а значит поступают из глобального пространства.

    Чем статика может быть опасна?
    Представь, что ты пишешь утилиту для загрузки изображений. И вот наступил момент, когда нужно указывать параметры обрезки для превьюшек. Со статикой это может выглядеть так:

    public function upload()
    {
         $width = Config::read('width');
         $height = Config::read('height');
         // .. Do upload..
    }

    (На заметку CakePHP кишит такими подходами)
    Проблемы такого подхода?

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

    2. А что если ты решишь сменить источник конфига? Например читать, это все не из класса `Config` а откуда-нибудь из REST? Придется все переписывать, затем опять тестировать. Эта проблема известна как сильная связка.

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

    4. Скрытые зависимости.

    Например инициализуруя класс, в случае статики:

    $uploader = new Uploader();
    $uploader->upload(...);


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

    Но тогда почему такие популярные фреймворки как Yii или Laravel полностью покрыты статикой?

    Для того чтобы понять какие последствия несет статика, попробуй воспользоватся хоть одним компонентом Yii фреймворка отдельно. Например, если тебе нужна только CAPTCHA ты не сможешь её вытащить оттуда не переписав почти весь компонент, потому что везде внутри присутвует глобальное состояние, в виде `Yii::$app->`. То есть чтобы воспользоватся только капчей, придется подключать весь фреймворк и все его внутренние механизмы, когда это абсолютно не нужно.

    Что касается Laravel, то статики там меньше, поскольку некоторые компоненты, вроде Eloquent могут использоватся по отдельности. Статика в ларе, она существует как обёртка, но не как реализация, во многих местах в отличии от Yii.

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

    Вообще посмотри, как задачи решаются в Zend / Symfony
    Там почти везде все зависимости передаются в качестве аргументов, что есть хорошо, слабо связано, и тестируемо.
    Ответ написан
    5 комментариев
  • Какие пароли выдать веб мастеру при копировании сайта?

    Denormalization
    @Denormalization
    Что за люди...

    Не доверяете разработчику? Делайте всё сами!
    Нужно давать всё что он попросит.

    Вы у врача тоже просите его осмотреть вас в одежде, не вынимания рук из карманов и на расстоянии 20км?
    Ответ написан
    Комментировать
  • Angular, orderBy и одномерный массив?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    хватит пытаться все сделать в html разметке.

    function MyController (names) {
        this.names = names.sort();
    }


    <ul ng-controller="MyController as my">
       <li ng-repeat="name in my.names">{{name}}</li>
    </ul>
    Ответ написан
    Комментировать
  • Symfony 2 или YII?

    skobkin
    @skobkin
    Гентушник, разработчик на PHP и Symfony.
    Symfony2 мощнее и современнее. Но порог вхождения выше. Про паттерны выше всё правильно пишут. Не зная самые важные Symfony2 понять очень сложно.
    Ответ написан
    Комментировать
  • Вечный вопрос: какой фреймворк вы посоветуете для конкретных задач?

    Inori
    @Inori
    Symfony2.

    * Одна из лучших архитектур
    * Модульнее некуда (компоненты Symfony2 используются/будут использоваться в Joomla, Drupal8, phpbb4, Laravel4, етц)
    * Шаблонизатор по умолчанию Twig, к нему лично у меня нет никаких претензий. Мультиязычность из коробки. Но если что Blitz встроить не будет непосильной задачей.
    * Встроенная обратная прокся, поддержка ESI из коробки
    * Полная интеграция с Doctrine, которая в свою очередь поддерживает и MySQL и MongoDB и еще до кучи других бд
    * Spool из коробки
    * Определение браузеров из коробки вроде нет, но какой-нибудь bundle для этого наверняка найдется
    * Поддержка пользователей через FOSUBundle (все перечисленное там есть)
    * Официально русской поддержки нет, но русских много в этом коммюнити, так что если с английским совсем плохо, то помощь на родном языке найдется
    Ответ написан
    2 комментария