• Как в bash посчитать количество строк, выведенных на экран после выполнения команды?

    BuriK666
    @BuriK666
    Компьютерный псих
    https://linux.die.net/man/1/wc
    ls -l|wc -l

    Если нужно вывести и посчитать, то
    res=$(ls -l)
    echo "$res"
    echo $(echo "$res"|wc -l)
    Ответ написан
    1 комментарий
  • Обьясните внятно что такое SRE(обеспечения надежности веб-сервисов)?

    xSkyFoXx
    @xSkyFoXx
    SRE, Site Reliability Engineering, это инженерная профессия, которая ставит себе за цель обеспечение надёжной работы систем. Слово "site" используется в широком смысле и включает в себя обеспечение надёжности всех логических уровней системы.
    SRE, если мне не изменяет память, возникли в Google. Возникли для обеспечения надёжной работы большого количества сервисов.
    "Библией SRE" является книга, изданная Google (бесплатно доступна здесь: https://landing.google.com/sre/book.html Она включает в себя множество практик, приёмов и фолософский утверждений, которые SRE используют в повседневной работе. Сам такой владею и местами перечитываю до наступления понимания.
    Надо понимать, что SRE - это разработчики с глубокими навыками системного администрирования и очень крепкой психикой, потому что именно они находятся на переднем фронте систем и их работа - обеспечивать бесперебойную доступность сервисов по всей планете, 24/7.
    Ответ написан
    2 комментария
  • Стоит ли тестировщику сдавать на ISTQB?

    @azShoo
    Давайте по порядку.
    Да, ISTQB стоит денег, причем даже за "неудачную" попытку его пройти.
    Так работает сертификация везде и всегда.
    Дискуссиями о том, какую смысловую нагрузку несет получение сертификата идет не один год, единого мнения нет.
    Если коротко: хуже от этого никому не будет, хотя рассчитывать, что это даст ощутимый результат - смысла нет.
    Что касается работодателей: нужно понимать, что при собеседовании у работодателя стоит цель закрыть определенные задачи за N денег. Если вы смогли его убедить, что можете это сделать - ему будет пофиг на все бумажки. Если не смогли - сертификат тоже вряд ли поможет.
    Есть работодатели и ситуации, когда сертификат играет "в плюс" (напр. при подаче документов на релокацию в другую страну любые сертификаты будут дополнительным плюсом в глазах бюрократов из иммиграционной службы).

    Ну и последний вопрос: ситуация, когда текущий работодатель оплачивает сертификацию сотруднику - довольно стандартная. В большинстве случаев это делается с условием, что если вы уволитесь раньше, чем через N - вы вернете стоимость сертификации.
    Хотя я бы, с точки зрения работодателя, скорее бы отправил человека на курсы, повышающие его скиллы, нежели на сертификацию позволяющую проверить насколько человек ориентируется в профессиональной терминологии (а весь ISTQB это по сути заучивание терминов).
    Ответ написан
  • Как сбросить настройки Git или вычистить его из Windows?

    @impexler
    front-end манит меня к себе
    в учетных записях удали строки prntscr.com/hoyglb и Панель управления-> система -> дополнительные параметры -> переменные среды Path почисти.
    Ответ написан
    Комментировать
  • Как работодатель относится к девелоперам и qa, которые переходят из разработки игр в более традиционную область?

    un1t
    @un1t
    Есть два варианта.

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

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

    Если человек осознанно сделал выбор, это нормально. Если же ему пофигу где работать и он просто откликается на все вакансии - это фигня.
    Ответ написан
    Комментировать
  • Как работодатель относится к девелоперам и qa, которые переходят из разработки игр в более традиционную область?

    platotel
    @platotel
    IT Product Manager
    Разработка игр - это всё-таки одна из областей применения для айтишника.

    Скажем так, есть род деятельности "работа айтишником", есть сфера деятельности (сфера применения IT-профессий) - транспорт, телекоммуникации, образование и т. п.

    Работа айтишником (не важно, каким - QA, Developer, Manager и т. п.) в самой же IT-сфере - это не так много компаний (те, что разрабатывают ПО для самих же разработчиков - JetBrains, например).

    Остальные IT-компании обычно связаны с какими-то другими отраслями. Лаборатория Касперского, Veeam, Parallels и т. п. компании связаны с IT-технологиями чуть больше. В основной же массе компании, в которых нужны айтишники, специализируются на неайтишных" сферах - на играх, телекоммуникациях, с торловле, с образовании, транспорте и т. п.

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

    Например, я начинала карьеру в телекоммуникациях, потом была компания, связанная с резервным хранением данных, потом - компания, связанная с электронным обучением (e-learning) и т. д.

    Главное - при этом оставаться в рамках IT-профессий. А сфера применения IT-знаний - это уже чуть менее важно. Хотя если менять компании только внутри одной сферы деятельности, то знание специфики этой сферы будет цениться (Вас не надо обучать - Вы уже знаете специфику сферы). Но если знания специфики нет, то это не так уж значительно при найме.
    Ответ написан
    Комментировать
  • На основании чего составляются тестовые сценарии?

    darqsat
    @darqsat
    PM
    Считаю, что тестовые сценарии пишутся по ТЗ если цель - приемочное тестирование. Если же цель Quality Assurance, то тестовые сценарии пишутся на основе опыта самого инженера тестирования, а он в свою очередь отталкивается от своих личных предпочтений и лучших практик по рынку или по сегменту. Для примера, в ТЗ могут не описываться ошибки валидаций на POST запросы, а хороший QA может их придумать сам уже на уровне кейсов, при этом подкинув работы разработчикам но и увеличив качество продукта в итоге. Вот я вижу эти два пути. Приемка и Quality Assurance.
    Ответ написан
    1 комментарий
  • C#. Операторы доступа для сокрытия, но не для защиты?

    yarosroman
    @yarosroman Куратор тега C#
    C# the best
    Это в С# есть рефлексия и метаданные у классов, в том же С++ все это отсутствует. Плюс не во всех случаях рефлексия работает. Плюс в будущем, придется использовать библиотеку, и вы просто забудете, что можно трогать (если все публичным сделать), а что нельзя.
    Ответ написан
    Комментировать
  • Какой смысл преподавать в вузах жутчайшую математику?

    @asperin2
    PHP разработчик
    Немного не по математике, но, первый преподаватель в университете по механике на первой лекции сказал, не дословно, но - никто вас не научит физике, но вы научитесь читать и понимать книги, а уже исходя из этого научитесь и физике и всему остальному. Думаю, что с математикой также.
    Ответ написан
    Комментировать
  • C#. Операторы доступа для сокрытия, но не для защиты?

    lexxpavlov
    @lexxpavlov
    Программист, преподаватель
    Инкапсуляция нужна не для защиты самого кода (вы правильно сказали - всё всегда можно увидеть), а для того, чтобы защитить код, использующий класс, от изменений этого класса. Есть такие два понятия - интерфейс и реализация. У любого класса должно быть назначение (и желательно - только одно назначение), и те элементы, относящиеся к назначению, делают публичным. А те элементы, которые не связаны с самой задачей и предназначены для вспомогательных функций, то это закрытые элементы, пользователю этого класса они не нужны.

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

    Как пример, пусть будет такой класс для решения квадратного уравнения:
    class KvadrUr
    {
        public double A { get; set; }
        public double B { get; set; }
        public double C { get; set; }
    
        public bool HasRoots { get { return GetDiscr() >= 0; } }
    
        public KvadrUr()
        {
        }
    
        public KvadrUr(double a, double b, double c)
        {
            A = a;
            B = b;
            C = c;
        }
    
        public double[] GetRoots()
        {
            var discr = GetDiscr();
            if (discr < 0) return new[] {double.NaN, double.NaN};
            var sqrt = Math.Sqrt(discr);
            return new[]
            {
                (-B + sqrt) / (2 * A), 
                (-B - sqrt) / (2 * A)
            };
        }
    
        private double GetDiscr()
        {
            return B*B - 4*A*C;
        }
    }

    В данном классе, есть интерфейс - данные (коэффициенты) и два метода (список корней и наличие корней). А метод вычисления дискриминанта - для задачи не нужно.

    А теперь представьте, что получение дискриминанта будет публичным методом. Тогда кто-нибудь возьмёт и начнёт использовать этот метод в своём коде. И если автор класса захочет и изменит реализацию на другой способ (по формуле Виета, например), то дискриминант уже будет не нужен, и метод GetDiscr() нужно будет удалить. Но в том месте, где его использовали, будет ошибка - метод GetDiscr() не существует.

    Таким образом, если в классе есть точное указание, что является интерфейсом, а что реализацией, даёт коду больше возможности на изменение этого кода.

    Во многих языках программирования имеется особенная возможность, связанная с интерфейсами. В C# это одноимённое понятие - interface. В данном примере хорошо бы создать такой интерфейс:
    interface IRoots
    {
        bool HasRoots { get; }
        double[] GetRoots();
    }
    class KvadrUr : IRoots
    {
        // ...
    }

    Можно создать несколько разных классов - один считает через дискриминант, другой - через формулу Виета, третий - через выделение полного квадрата, четвёртый - кубическое уравнение, пятый - биквадратное уравнение. Но каждый из классов реализуют один и тот же интерфейс, и каждый из них может быть взаимозаменяем.
    Ответ написан
    2 комментария
  • Какой смысл преподавать в вузах жутчайшую математику?

    @AlexSku
    не буду отвечать из-за модератора
    Согласен с постановкой вопроса автором и теми ответами, где речь идёт об образовании вообще. Оно у нас неправильно поставлено. А всё потому, что есть курс, который утверждён свыше каким-то начальником (группой). Разработчики решили запихнуть в голову студента как можно больше, не понимая, что человек это не усвоит (обычно на новом курсе я забывал, что было на предыдущем). Обычно студент понимает только интересного преподавателя, но таких мало. После окончания курса у меня созрел новый метод преподавания: сначала (за пару лекций) рассказывается об основных направлениях, даются и кратко поясняются определения и главные результаты, раздаются брошюры с указанием литературы, на этом теория заканчивается. Далее класс разбивается на группы, которые решают прикладные задачи (разборка с преподавателем). Так на практике можно освоить курс за полгода вместо года.
    Вот допустим, квантовая механика. Разве мне нужны законы микрочастиц? С другой стороны, однажды я услышал, что теория поля это очень интересно, но время-то ушло, сам я осилить это без преподавателя не могу. А ведь прорывы в развитии появляются часто, когда методы одной отрасли переносятся на другую.
    Ответ написан
    2 комментария
  • Какой смысл преподавать в вузах жутчайшую математику?

    Zifix
    @Zifix
    Barbatum
    Как говорил наш преподаватель по матану — вы, конечно, все это забудете, но человек который это осилил, и который нет — это два разных человека по уровню развития мышления.
    Ответ написан
    Комментировать
  • Какой смысл преподавать в вузах жутчайшую математику?

    @tovogukA
    Обычному выпускнику вуза с этим просто некуда идти.


    Абсолютно так же ты будешь жаловаться если тебе будут преподавать тот или иной конкретный стек технологий.

    Математика - это дисциплина общерасширяющая диапазон вашего разума.

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

    Но эти абстрактные знания, без практики улетучиваются через месяц-год-два


    Если у вас столь короткая память, то может вам и ВУЗ не нужен с его многолетним обучением - все забудите. А вполне достаточно курсов длиной месяц-год?
    Ответ написан
    Комментировать
  • Какой смысл преподавать в вузах жутчайшую математику?

    vodnicear
    @vodnicear
    brainick Люди которые изобрели Интернет и Google, и те кто запустили спутники точно не обучались этому в ВУЗ-ах.
    Большинство студентов никогда не будут изучать жутчайшую математику, просто потому что она им не интересна.
    И почему ты решил что жутчайшая математика может помогать людям делать изобретения?
    И ещё, ты думаешь что все кто учатся в ВУЗ-е хотят делать изобретения?
    Система образования не делает из людей гениальных личностей.
    Она даже больше отупляет людей.
    Ответ написан
    3 комментария
  • В какой области используются операции над матрицами?

    @FoxInSox
    OpenGL, GLSL
    Ответ написан
    Комментировать
  • Может ли быть число в степени матрица?

    ThePyzhov
    @ThePyzhov
    iOS Ninja
    За исключением этого никогда не сталкивался с возведением в степень матрицы. В Гамильтоновых системах линейных дифференциальных уравнений можно логарифмировать (по крайне-мере натуральным логарифмом) матрицу, а значит, существует действие возведения в степень матрицы. Собственно это тоже самое что e^A.
    Ответ написан
    8 комментариев
  • В какой области используются операции над матрицами?

    ThePyzhov
    @ThePyzhov
    iOS Ninja
    В компьютерной графике, и не только матрицы. Там в принципе много линейной алгебры и аналитической геометрии. Вот тут думаю будет исчерпывающе для вас.
    Матрицы в принципе широко применимы, например с помощью них удобно решать системы линейных уравнений.
    Ответ написан
    2 комментария
  • С#. Почему нужно прописывать using System.ChildNamespace, когда уже указано using System?

    lexxpavlov
    @lexxpavlov
    Программист, преподаватель
    Часто вообще можно не писать using, а классы всегда указывать полностью:
    System.Int32 i = 10;
    System.Console.WriteLine("Строка");
    System.Collections.Generic.List<int> list = new System.Collections.Generic.List<int>();

    Но если указать using-и, то можно писать меньше (а значит, почти всегда лучше):
    Int32 i = 10;
    Console.WriteLine("Строка");
    List<int> list = new List<int>();

    Если в одном файле используются два разных класса с одинаковым именем, то в этом случае можно написать один из классов через using, а второй - написать полное имя. А можно создать псевдоним класса:
    using IntList = System.Collections.Generic.List<int>;
    
    IntList lst = new IntList();
    List<double> lst2 = new List<double>();

    В общем, using-и используются для удобства - меньше писать.

    P.S. Если использовать Resharper, то он покажет, что здесь имеются лишние пространства имён: imgur.com/kYvWJqe В таком случае серые слова можно безопасно убрать.
    Ответ написан
    Комментировать
  • С#. Почему нужно прописывать using System.ChildNamespace, когда уже указано using System?

    yarosroman
    @yarosroman Куратор тега C#
    C# the best
    Не должно, это логически разные зоны видимости. Плюсом в разных namespace могут находится классы с одинаковыми именами, тут у вас компилятор сойдет с ума, и на каждое упоминание класса вам надо делать будет уточнение в виде полного имени.
    Ответ написан
    Комментировать
  • С#. Почему нужно прописывать using System.ChildNamespace, когда уже указано using System?

    @heartdevil
    плыву как воздушный шарик
    Привет.

    Неймспейсы -- это просто логическое разбиение кода. Физически код в System не обязан включать код в System.Collections или любой другой код с префиксом System.(префикс). System -- просто указывает, что вы подключаете какой-то код ядра системы.

    Вот тут можно ознакомиться с именованием
    Ответ написан
    Комментировать