• Нагрузочное тестирование, история автоматизации процесса

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

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

    Сам процесс нагрузочного тестирования в своём сознании я делю на несколько этапов:

    Читать дальше →
  • Скрещиваем ужа с ежом: OpenJDK-11 + GraalVM

    Привет, Хабр! В свете не самых давних новостей про политику Oracle относительно лицензирования джавы всё острее встаёт вопрос ухода от оракловых версий в сторону OpenJDK. Оданко в OracleLabs уже давно делают весьма крутую штуку под названием GraalVM, который представляет из себя крутой JIT-компилятор, написанный на джаве, а также рантайм для запуска кода на таких языках как JavaScript, Ruby, Python, C, C++, Scala, Kotlin, R, Clojure. Впечатляет, правда? Но не о крутоте полиглот-среды я хочу вам рассказать. Речь пойдёт про сложности вкорячивания самой свежей сборки грааля в экосиситему OpenJDK 11 и чуток про производительность, совсем чуток…
    Читать дальше →
    • +23
    • 2,6k
    • 6
  • [в закладки] Bash для начинающих: 21 полезная команда

    • Перевод
    • Tutorial
    Материал, перевод которого мы публикуем сегодня, предназначен для тех, кто хочет освоить командную строку Linux. Умение эффективно пользоваться этим инструментом позволяет экономить немало времени. В частности, речь здесь пойдёт о командной оболочке Bash и о 21 полезной команде. Также мы поговорим о том, как пользоваться флагами команд и псевдонимами Bash, которые позволяют ускорить ввод длинных инструкций.



    Также читайте в нашем блоге цикл публикаций про bash-скрипты
    Читать дальше →
  • Проводник Windows получит новый дизайн


      Концептуальный дизайн Майкла Уэста показывает, в каком направлении может измениться дизайн Проводника Windows

      Несколько лет назад Microsoft анонсировала концепцию пользовательского интерфейса Fluent Design System и с тех пор упорно работает над её внедрением в Windows 10 и программах. Но одно важное системное приложение до сих пор оставалось полностью нетронутым — это Проводник Windows (File Explorer).
      Читать дальше →
    • Как мы сделали PHP 7 в два раза быстрее PHP 5. Часть 1: оптимизация структур данных

        В декабре 2015 вышел PHP 7.0. Компании, которые перешли на «семерку» отметили, что увеличилась производительность, а нагрузка на сервера — уменьшилась. Первыми перешли на семерку Vebia и Etsy, а у нас Badoo, Авито и OLX. Для Badoo переход на семёрку обошелся в 1 млн. долларов экономии на серверах. Благодаря PHP 7 в OLX средняя нагрузка на сервер снизилась в 3 раза, повысилась эффективность и экономия ресурсов.

        Дмитрий Стогов из Zend Technologies на HighLoad++ рассказал, благодаря чему повысилась производительность. В расшифровке: о внутреннем устройстве PHP, об идеях в основе версии 7.0, об изменениях в базовых структурах данных и алгоритмах, которые и определили успех.

        Disclaimer: На март 2019 года 80% сайтов работают на PHP, и 70% из них — на PHP 5, хотя с 1 января 2019 эта версия не поддерживается. Доклад Дмитрия от 2016 года про принципы, благодаря которым произошел двукратный скачок производительности между PHP 5 и 7, — актуален и в марте 2019. Для половины сайтов — точно.
        Читать дальше →
      • Следим за качественными цифровыми релизами фильмов без суеты

        • Tutorial


        В большинстве случаев качественные нелегальные раздачи какого-то фильма начинают появляться только после цифрового релиза (не путайте цифровые релизы с премьерами в кинотеатрах), т.е. в VOD-сервисах или на Blu-ray. Под качественными подразумеваются BDRip 1080p, BDRemux и UHD BDRemux, самый минимум — это WEB-DL 1080p (чаще всего из iTunes), с русскоязычными звуковыми дорожками от лицензионного издания Blu-ray или из iTunes. А до этого с раздачами фильма творится чехарда с комбинацией мха и опилок, которая может ввести в заблуждение зрителя, желающего смотреть новинки с хорошим качеством.
        Читать дальше →
      • Пять советов о том, как научиться спокойно принимать обратную связь на работе

        • Перевод


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

        Когда всякий результат дается кровью и потом, я стараюсь, чтобы «крови» было поменьше: избегаю того, что может быть неприятным, и стараюсь это предотвратить. Но если речь об обратной связи, сто́ит немножко потерпеть — в этом случае дискомфорт я люблю (ну или стараюсь любить).

        Не поймите превратно: критика никогда не безболезненна. Это и беспокойство, и страх, и тревога.

        «Ко мне станут относиться хуже?»
        «Если мой код плох, не подумают ли, что я недостаточно умен?»
        «О нет! Теперь все знают, что я в седьмом классе завалил тест по истории».


        Не волнуйтесь — такая реакция совершенно естественна!

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

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

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

        Переведено в Alconost
        Читать дальше →
      • Профилирование и трейсинг с perf

        • Перевод
        Учимся дебажить с perf — целых 18 страниц про основные подкоманды, фичи и устройство инструмента. Джулия рекомендует; “Я даже использовала его несколько раз для профилирования Ruby программ!”

        Уровень сложности — для суперпродвинутого администратора.

        Когда нужно отыскать причину сбоя, не имея доступа к исходным кодам. Все логи уже просмотрены, все debug и verbose-ключи включены, а причина проблем так и не обнаружена — используйте perf. Потребуется навык кодинга на языках типа Си.


        Читать дальше →
      • Хабрамегарейтинг: лучшие статьи и статистика Хабра за 12 лет. Часть 2/2

          Привет, Хабр.

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



          Кому интересны результаты, прошу под кат.
          Читать дальше →
        • Concurrency и паттерны ошибок, скрытые в коде: Deadlock

            Наверняка, многие слышали, а кто-то встречал на практике, такие слова, как взаимные блокировки(deadlock) и гонки(race condition). Эти понятия относятся к разряду ошибок в использовании concurrency. Если я задам вам вопрос, что такое дедлок, вы с большой вероятностью без доли сомнения начнете рисовать классическую картинку дедлока или его представление в псевдокоде. Что-то вроде этого:



            Эту информацию мы получаем в институте, можно найти в книжках и статьях на просторах интернета. Такой дедлок с использованием, например, двух мьютексов, во всей своей красе можно встретить в коде. Но в большинстве случаев не все так просто, и не каждый может увидеть классический паттерн ошибки в коде, если он представлен не в привычном виде.
            Читать дальше →
          • Вредные советы: как правильно писать техническую документацию? Часть вторая

              Советы по грамотному написанию технической документации для пользователей.
              Часть 2


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

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

              В этой части мы подробно разберем топики, из которых в основном состоит пользовательская документация (особенно User’s Guide) – а именно task-топики, в которых рассказывается, как решить конкретную задачу.

              image
              Читать дальше →
              • +11
              • 4,5k
              • 4
            • AMA с Хабром (Прямая линия с TM, v 6.0)

                Хабр детям не игрушка, а развлечение, информация и знания для брутальных айтишников и их боевых подруг. В общем, вы поняли, что расположение духа у нас праздничное, и нас тянет на поговорить. Как, впрочем, каждую последнюю пятницу месяца в рамках проекта АМА. А ещё мы вам подарков принесли — по мелочи, но приятных: читайте об изменениях, спрашивайте, рассказывайте и показывайте, что у вас сегодня в офисе творится.


                Читать дальше →
              • Курс MIT «Безопасность компьютерных систем». Лекция 1: «Вступление: модели угроз», часть 1

                • Перевод

                Массачусетский Технологический институт. Курс лекций #6.858. «Безопасность компьютерных систем». Николай Зельдович, Джеймс Микенс. 2014 год


                Computer Systems Security — это курс о разработке и внедрении защищенных компьютерных систем. Лекции охватывают модели угроз, атаки, которые ставят под угрозу безопасность, и методы обеспечения безопасности на основе последних научных работ. Темы включают в себя безопасность операционной системы (ОС), возможности, управление потоками информации, языковую безопасность, сетевые протоколы, аппаратную защиту и безопасность в веб-приложениях.

                Лекция 1: «Вступление: модели угроз» Часть 1 / Часть 2 / Часть 3
                Читать дальше →
              • Пенсия айтишника

                  7 июня в СМИ появилась новость о том, что Правительство определит параметры пенсионной реформы на следующей неделе. За основу взят вариант увеличения пенсионного возраста до 65 лет для мужчин и до 63 — для женщин.



                  Напомню, что сейчас пенсионный возраст для женщин составляет 55 лет, для мужчин – 60. Таким образом, основным вариантом является выход на пенсию мужчинам на 5 лет позже, а женщинам на 8. IT-специалисты как и все работники по законодательству РФ формируют свои будущие пенсии. С выплат работникам работодатели обязаны отчислить страховые взносы, в том числе и на пенсионное страхование. В соответствии со статьями 425-426 Налогового кодекса РФ, до 2020 года общая ставка по страховым взносам равна 30%, из них на пенсионное страхование – 22%.

                  Согласно данным сервиса зарплат «Моего круга» медианная заработная плата IT-специалиста — 90 000 рублей. Давайте попробуем разобраться, как повлияет на нашу пенсию возможные изменения пенсионной системы.
                  Читать дальше →
                • Мониторим активные сессии PostgreSQL 10, как в Oracle

                    image

                    Данный инструмент написан из спортивного интереса, когда мною было обнаружено, что вьюха pg_stat_activity в PostgreSQL 10 имеет поля wait_event_type и wait_event, очень похожие по сути на оракловые wait_class и event из v$session.

                    Активно работая в данный момент с программой ASH-Viewer от akardapolov мне стало любопытно — насколько сложно переписать этот продукт под Postgres. Учитывая, что я не профессиональный разработчик, было не просто, но очень интересно. По ходу дела даже нашёл, как мне кажется, пару значительных багов, которые проявляются и в оригинальной программе для Oracle, по кр.мере для Standard Edition.

                    Принципы работы PASH-Viewer:


                    Читать дальше →
                  • Установка центра сертификации на предприятии. Часть 3

                    • Tutorial
                    А вот и финальная третья часть нашей серии статей о центре сертификации на предприятии. Сегодня рассмотрим развертывание службы сертификатов на примере Windows Server 2016. Поговорим о подготовке контроллера домена, подготовке веб-сервера, установке корневого и издающего центров сертификации и об обновлении сертификатов. Заглядывайте под кат!

                    Читать дальше →
                    • +16
                    • 31,2k
                    • 1
                  • Первая демонстрация TypeScript

                    • Перевод
                    Совсем недавно состоялась пятая годовщина TypeScript, и у меня появилась возможность увидеться с Андерсом и командой разработчиков на еженедельном техническом совещании. Мне хотелось поздравить их с важной вехой в жизни TypeScript, сказать им о том, как много они сделали за те четыре года, которые прошли с даты моего ухода из проекта.



                    Кроме того, я разыскал некоторые старые демки, сделанные на TypeScript в самом начале работы над проектом (тогда он назывался Strada), для того, чтобы посмотреть их вместе с теми, кто работает над TypeScript сейчас.

                    Сегодня я хочу рассказать о том, с чего начинался TypeScript.
                    Читать дальше →
                  • [обновлено] Как нагрузочное тестирование процессинга обошлось нам в €157 000 и почему никого не уволили


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


                      К исследованию побудили два фактора: появление у нас собственного процессинга карт и предстоящая крупная распродажа одного из популярных в РФ онлайн-ритейлеров.


                      Идея выглядела вполне бюджетной – примерно на 125 000 р. (по 1 р. на операцию), но кто же знал, как все обернется. Особая перчинка в том, что вся информация об эксперименте долгое время была закрыта и впервые публикуется в открытом источнике.

                      товсь... пли!
                    • Как найти того самого тестировщика

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

                        Далее пойдет текст от лица Ксюши.


                        В этой статье я расскажу о том, как в компании Devim проводится собеседование на должность QA-инженера, а также поделюсь некоторыми общими мыслями о данном процессе в целом. Для лучшего понимания постараюсь привести достаточно примеров. Речь пойдет о поиске именно ручного тестировщика.

                        Данная статья не претендует на какую-либо научную точность и истину в последней инстанции. Я делюсь своим опытом проведения собеседований и изучении некоторого количества источников по этой теме. Ну что ж, поехали!
                        Читать дальше →
                      • Wannacry — икс-команда, на выезд



                          Мы тут немного поработали ассенизаторами.

                          Около 66% атак первой волны пришлось на российские сети. И здесь есть огромное заблуждение: почему-то все называют механизм поиска определённого домена killswitch'ем. Так вот, возможно, нет. В случае российских сетей госкомпаний, финансов и производств — это механика обхода песочниц. Основные песочницы на входе в защитный периметр имеют множество тестов. В частности, при запросе определённых сайтов изнутри песочницы они умеют отдавать, например, 200 ОК или 404. Если приходит подобный ответ, зловред мгновенно деактивируется — и таким образом проходит динамический анализатор кода. От статического анализа он защищён несколькими свертками сжатия-шифрования. Таким образом, это не killswitch, а одна из новых механик обхода песочниц.

                          Об этом я тоже расскажу, но куда интереснее другой практический вопрос: какого чёрта полегло столько машин от троянца? Точнее, почему все вовремя не запатчились или не отключили SMB 1.0? Это же просто как два байта переслать, правда же?
                          Читать дальше →