• Базовые команды Linux для тестировщиков и не только

    Предисловие


    Всем привет! Меня зовут Саша, и я больше шести лет занимаюсь тестированием бэкенда (сервисы Linux и API). Мысль о статье у меня появилась после очередной просьбы знакомого тестировщика подсказать ему, что можно почитать по командам Linux перед собеседованием. Обычно от кандидата на позицию QA инженера требуют знание основных команд (если, конечно, подразумевается работа с Linux), но как понять, про какие команды стоит почитать во время подготовки к собеседованию, если опыта работы с Linux мало или вовсе нет?

    Поэтому, хоть про это уже и много раз написано, я всё же решился написать ещё одну статью «Linux для новичков» и перечислить здесь базовые команды, которые нужно знать перед любым собеседованием в отдел (или компанию), где используют Linux. Я подумал, какие команды и утилиты и с какими параметрами я использую чаще всего, собрал фидбек от коллег, и скомпоновал это всё в одну статью. Статья условно делится на 3 части: сначала краткая информация об основах ввода-вывода в терминале Linux, затем обзор самых базовых команд, а в третьей части описывается решение типовых задач в Linux.
    Читать дальше →
  • Интервью с Михаилом Чинковым о работе и жизни в Берлине

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


      Читать дальше →
    • Диздок-десятистраничник — шаблон по книге Скота Роджерса с примером на игру от Pixonic

      • Tutorial
      В данной статье я приведу пример составления дизайн-документа для разработки игры в формате десятистраничника. В начале будет приведён общий шаблон документа, предлагаемый Скотом Роджерсом в его книге «Level up. The guid to great video game design» [1].

      Затем будет выложен мой пример этого документа на игру War Robots от компании Pixonic, публикующейся на Хабре [2]. (тут требуется оговорка, что данная статья и диздок не связаны с Pixonic: не выражает их мнения и взглядов; не оплачивалась ими; и они даже не знали о написании данного материала)

      Шаблон с примером составления диздока-десятистраничника по книге Скота Роджерса

      Это тот самый десятистраничник в миниатюре. Удобочитаемый формат в самой статье
      Читать дальше →
    • Как использовать прерывания в Unity Animator на полную

      • Translation


      Вау-эффекта в играх можно достигнуть не только неожиданными механиками или плоттвистом, но и анимацией — в мобильных проектах на последнем часто делается особый акцент. Поэтому решил поделиться интересным переводом материала по Unity Animator. Внутри — про приоритетность переходов анимации и грамотное переключение между состояниями.
      Читать дальше →
      • +22
      • 5.2k
      • 4
    • Умелец растворил банковскую карту в ацетоне, чтобы сделать кольцо для бесконтактных платежей



        Многие находят удобным платить бесконтактной RFID картой: просто поднести её к терминалу без ввода пинкода. Но ещё удобнее избавиться от пластика и платить просто рукой.

        Идея этого DIY-проекта заключается в том, что если у вас есть банковская карта RFID, вы можете запросить у банка ещё одну, затем растворить её в ацетоне, вытащить чип RFID, припаять к нему новую антенну, приклеить эту сборку к внутренней раме, а затем поместить её в форму, сделанную из полноразмерного кольца, залить смолой. В результате у вас будет кольцо, которое позволит расплачиваться в любом учреждении, которое принимает бесконтактные карты (то есть практически везде) без необходимости вынимать кошелёк.
        Читать дальше →
      • Пишем первый микросервис на Node.js с общением через RabbitMQ

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


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

        Читать дальше →
      • [в закладки] Bash для начинающих: 21 полезная команда

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



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

        • Tutorial


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


        Вы настолько хорошо умеете их готовить, что могли бы получить звезду Мишлена (а то и две), будь у вас свой ресторан. Конечно! Никто не останется равнодушным, отведав ваш Буйабес с корутинным соусом.


        Уже целую неделю код в проде не падает! Обертки, callback’и и методы Start/Stop Coroutine — удел холопов. Вам нужно больше контроля и свободы действий. Вы готовы подняться на следующую ступеньку (но не бросить корутины, конечно).


        Если в этих строках вы узнали себя, — добро пожаловать под кат.


        Читать дальше →
        • +15
        • 4.5k
        • 4
      • Профессиональная контейнеризация Node.js-приложений с помощью Docker

        • Translation
        • Tutorial
        Автор материала, перевод которого мы публикуем сегодня, работает DevOps-инженером. Он говорит, что ему приходится пользоваться Docker. В частности, эта платформа для управления контейнерами применяется на разных этапах жизненного цикла Node.js-приложений. Использование Docker, технологии, которая, в последнее время, является чрезвычайно популярной, позволяет оптимизировать процесс разработки и вывода в продакшн Node.js-проектов.

        image

        Сейчас мы публикуем цикл статей о Docker, предназначенных для тех, кто хочет освоить эту платформу для её использования в самых разных ситуациях. Этот же материал сосредоточен, в основном, на профессиональном применении Docker в Node.js-разработке.
        Читать дальше →
      • Морти, мы в UltraHD! Как посмотреть любой фильм в 4K, дорисовав его через малоизвестную нейросеть

          Наверное, вы слышали про технологию Яндекса DeepHD, с помощью которой они как-то раз улучшили качество советских мультфильмов. Увы, в публичном доступе ее еще нет, а у нас, рядовых программистов, вряд ли найдутся силы написать свое решение. Но лично мне, как обладателю Retina-дисплея (2880х1800), недавно очень захотелось посмотреть «Рика и Морти». Какого же было мое разочарование, когда я увидел, как мыльно на этом экране выглядит 1080р, в котором существуют оригиналы этого мультсериала! (это прекрасное качество и обычно его вполне достаточно, но поверьте, ретина так устроена, что анимация с ее четкими линиями в 1080р выглядит мыльновато, словно 480р на FHD-мониторе)

          Я твердо решил, что хочу увидеть этот мультсериал в 4К, хотя и совершенно не умею писать нейросети. Однако решение было найдено! Любопытно, что нам даже не придется писать код, понадобится лишь ~100 ГБ места на диске и немного терпения. А результат — четкое изображение в 4К, которые выглядит достойнее, чем любая интерполяция.

          image
          Читать дальше →
        • Оптимизируем производительность игры параметрами импорта звука Unity

          • Translation
          image

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

          Этот документ разделён на пять частей:

          1. Как звук влияет на производительность
          2. Разбираемся с параметрами импорта
          3. Рекомендуемые мной параметры для PC и консолей
          4. Рекомендуемые мной параметры для мобильных платформ
          5. Предостережения и замечания

          Оптимизация параметров импорта звука Unity — один из простейших способов оптимизации. В случае небольшого проекта у вас может уйти меньше часа для достижения значительных улучшений во времени загрузки, занятой ОЗУ и других аспектах производительности. Надеюсь, это руководство окажется полезным для вас. Информация актуальна для Unity версии 2018.3
          Читать дальше →
          • +28
          • 5.5k
          • 5
        • 42 оператора расширенного поиска Google (полный список)

          • Translation
          • Tutorial
          Те, кто давно занимается поисковой оптимизацией, хорошо знают об операторах расширенного поиска Google. Например, почти все знают об операторе site:, который ограничивает поисковую выдачу одним сайтом.

          Большинство операторов легко запомнить, это короткие команды. Но уметь эффективно их использовать — совсем другая история. Многие специалисты знают основы, но немногие по-настоящему овладели этими командами.

          В этой статье я поделюсь советами, которые помогут освоить поисковые операторы для 15 конкретных задач.
          Читать дальше →
        • Секретные хаки VS Code

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

          image

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

          Улучшаем внешний вид


          1. Material Theme & Icons

          Это прямо зверь в темах VS Code. Я думаю, что материальная тема наиболее близка к написанию ручкой на бумаге в редакторе (особенно при использовании неконтрастной темы). Ваш редактор выглядит практически гладко, переходя от встроенных инструментов к текстовому редактору.

          Представьте себе эпическую тему в сочетании с эпическими иконами. Material Theme Icons — отличная альтернатива для замены значков VSCode по умолчанию. Большой каталог иконок плавно вписывается в тему, делая ее красивее. Это поможет легко найти файлы в проводнике.

          image
          Читать дальше →
        • Продвижение игр на Google Play



            У моих игр довольно много загрузок на Google Play (больше 20 млн.), наверное поэтому, меня часто спрашивают про продвижение. Если кто-то из разработчиков пишет мне в личку или почту, готов поспорить, все сведется к вопросу: «Как ты продвигаешь свои игры, чувак?». Все думают, что у меня есть какой-то секрет (нет). Ладно, давайте я попробую сформулировать то, что знаю и будем надеяться, что это будет кому-то полезно. По крайней мере, я смогу давать ссылку на этот пост.
            Читать дальше →
            • +18
            • 39.4k
            • 6
          • Как обойти SMS-идентификацию при подключении к публичным Wi-Fi сетям?

            В 2014 году начали свое действие постановления правительства РФ №758 №801, обязывающие владельцев публичных WiFi сетей настроить на роутерах идентификацию пользователей через паспортные данные, sms или портал гос. услуг. Нежелание владельцев кафе тратиться за Captive portal'ы поспособствовало некоторым провайдерам в распространении своих точек доступа с платной sms-авторизацией. У меня возникло желание проверить, можно ли подобную sms-авторизацию обойти.

            image
            Читать дальше →
          • Научитесь создавать собственные команды bash менее чем за 4 минуты

            • Translation
            В этой статье я научу вас создавать собственные псевдонимы команд bash, а также как одновременно запускать несколько команд с помощью одной команды bash.

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


            Читать дальше →
          • Сборка билдов Unity3D на Jenkins в Mac OS X. Часть 1

            Предыстория


            Есть проект на Unity3D. Есть уже несколько лет (родился в феврале 2012 года). Через полгода я начала работать на нем программистом, а через два года мне не повезло и я стала ответственной за сборку билдов. В наследство мне достался MacMini с установленным сборщиком Jenkins, минимум документации и отсутствие адекватной сборки для iOS.

            Хочется наконец написать адекватную инструкцию — ибо на первоначальную настройку было убито несколько недель, а при переносе на iMac мои старые наработки уже устарели. Итак…
            Читать дальше →
          • Сборка билдов Unity3D на Jenkins в Mac OS X. Часть 2

            • Tutorial
            Первую часть можно найти здесь.

            Обновление


            Обновлять нужно как сам сборщик, так и его плагины. Страница настроек находится по адресу 127.0.0.1:4242/manage (с поправкой на свои настройки). В случае наличия новой версии на странице будет висеть кнопочка с предложением обновиться. Рекомендую все же скачать свежую версию самим, после чего аккуратно выключить сборщик, заменить jenkins.war файл и перезапустить его.
            При обновлении jenkins.war может возникнуть ошибка, поэтому старый файл на всякий случай бэкапим. Почему? Сначала файлики появляются на японском сервере (автор сборщика — обыкновенный японский инженер, подробнее здесь), потом распространяются по зеркалам. Ссылки:


            Настроить плагины можно на 127.0.0.1:4242/pluginManager/. Подробнее о плагинах будет в соответствующем разделе, однако рекомендую обновить уже имеющиеся.
            Читать дальше →
            • +10
            • 10.3k
            • 7
          • Создание карты пути пользователя для чайников

            • Translation
            Всем привет!

            Продолжаем наши эксперименты с не совсем программерскими курсами и теперь на очереди в запуск «Проектирование UX/UI» и вот интересный материал, которым мы бы хотели поделиться с вами.

            Поехали

            Что такое Карта Пути Пользователя?


            Карта пути пользователя (или иногда карта пользовательского опыта) — зеркало взаимодействия клиента с вашим продуктом/сервисом.

            В прошлом месяце я написала руководство по Google Analytics для UX-дизайнеров. Полезная статья для владельцев сайтов или продуктов, у которых уже есть трафик. Но что делать, если вы начинаете с нуля? Как создать продукт, которым захотят пользоваться?

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

            Читать дальше →
            • +12
            • 12.9k
            • 3
          • SSLH: Прячем SSH/HTTPS/OpenVPN/Telegram за единым портом 443

            • Tutorial
            image

            SSH/HTTPS/OpenVPN/Telegram и всё на одном порту?! Что?!
            — Да!
            • Хотите скрыть наличее у вас некоторых сервисов?
            • В публичной wi-fi сети блокируется всё кроме 443 (https) порта?
            • Настроили Telegram Proxy/OpenVPN и не хотите его «светить» ?
            • SSH подключение к своему серверу из стран с цензурой?

            На все эти вопросы ответ один — Мультиплексирование SSL/TLS соединений, или SSLH.

            В посте мы рассмотрим как в 1 команду спрятать кучу сервисов за 1 портом.
            Читать дальше →