company_banner
  • Анонс: прямой эфир с Пашей Жовнером, создателем Flipper Zero


      Завтра, в 20:00 в наших соцсетях пройдет прямой эфир с любимцем публики Пашей Жовнером zhovner, создателем Flipper Zero, гиком и богомолом.

      Стрим можно будет посмотреть в любых наших соцсетях — где удобно, там и смотрите.





      О чем пойдет речь?


      Мы пробуем новый формат, нечто среднее между Ted Talks, стендапом и подкастом. В эту пятницу будем обсуждать с Пашей:

      • Синдром самозванца.
      • Про честь общаться с крутыми людьми и почему им часто не достается славы.
      • Про флиппер зиро и четвертый миллон долларов, которые ребята нам него собрали.
      • О том, чему Паша научился за этот год.
      • Про отношения Паши с деньгами.
      • Как начать проект без денег вообще: тестировать гипотезы, искать тех кто поверит в проект
      • Почему человеческие качества важнее профессиональных навыков.
      • Что делать, если команда приуныла и начинает охладевать к проекту, где искать новые стимуляторы, чтобы все снова возбуждались.
      • Что делать, если ты сам приуныл.
      Читать дальше →
    • Как создавался бекенд хакерской игры про уничтожение сервера


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

        Всего у бекенда игры было 6 архитектурных единиц, которые мы и разберём в этой статье:

        1. Бекенд игровых сущностей, которые отвечали за игровые механизмы
        2. Шина обмена данных бекенда и площадки на VPS
        3. Транслятор из запросов бекенда (игровых элементов) на ардуино и железо на площадке
        4. Ардуино, которая занималась управлением релешками, получала команды с транслятора и делала фактическую работу
        5. Фактические устройства: вентилятор, гирлянды, торшеры и прочее
        6. Фронтенд — сам сайт Сокола, с которого игроки управляли устройствами

        Давайте пройдёмся по каждой из них.
        Читать дальше →
        • +17
        • 1,4k
        • 2
      • Разработка инструмента командной строки: сравнение Go и Rust

        • Перевод
        Эта статья посвящена разбору моего эксперимента по написанию небольшого инструмента командной строки с использованием двух языков, в программировании на которых у меня не особенно много опыта. Речь идёт о Go и Rust.



        Если вам не терпится увидеть код и самостоятельно сравнить один вариант моей программы с другим — то вот репозиторий Go-варианта проекта, а вот — репозиторий его варианта, написанного на Rust.
        Читать дальше →
      • VPN в домашнюю локалку



          TL;DR: я устанавливаю Wireguard на VPS, подключаюсь к нему с домашнего роутера на OpenWRT, и получаю доступ к домашней подсети с телефона.

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

          Вместо этого я настроил VPN с доступом в домашнюю локалку. Плюсы такого решения:

          • Прозрачность: чувствую себя как дома при любых обстоятельствах.
          • Простота: настроил и забыл, не надо думать о пробросе каждого порта.
          • Цена: у меня уже есть VPS, для таких задач современный VPN почти бесплатен по ресурсам.
          • Безопасность: ничего не торчит наружу, можно оставить MongoDB без пароля и никто не утащит данные.

          Как всегда, есть и минусы. Во-первых, вам придётся настраивать каждый клиент по отдельности, в том числе, на стороне сервера. Может быть неудобно при наличии большого числа устройств, с которых хочется иметь доступ к сервисам. Во-вторых, у вас на работе может оказаться совпадающая по диапазону локалка — придётся разрешать эту проблему.
          Читать дальше →
        • Большая история аргументов функций в Python

          • Перевод
          Ну, на самом деле, история аргументов в Python не такая уж и большая.

          Я всегда удивлялся тому, что для работы с аргументами Python-функций достаточно лишь разобраться с *args и **kwargs. И удивлялся я не зря. Как оказалось, аргументы — это далеко не так просто. В этом материале я хочу дать общий обзор всего того, что связано с аргументами функций в Python. Надеюсь, что в итоге у меня, и правда, получится показать общую картину работы с аргументами, и что эта статья не станет очередной публикацией, в которой читателю не удастся найти ничего нового. А теперь — к делу.



          Большинству читателей этой статьи, полагаю, понятна сущность аргументов функций. Для начинающих поясню, что это — объекты, отправляемые функции инициатором её вызова. При передаче аргументов функции выполняется множество действий, зависящих от того, объекты какого типа отправляют функции (изменяемые или неизменяемые объекты). Инициатор вызова функции — это сущность, которая вызывает функцию и передаёт ей аргументы. Говоря о вызове функций, стоит поразмыслить над некоторыми вещами, которые мы сейчас обсудим.
          Читать дальше →
        • Кто остановил шредер или как нужно было проходить квест с уничтожением сервера

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

            Результаты превзошли все наши ожидания: участники не просто приняли участие, а быстро организовались в слаженное коммьюнити из 620 человек в дискорде, которое буквально штурмом взяло квест за двое суток без перерыва на сон.

            Читать дальше →
          • Исследование CSS-свойства flex

            • Перевод
            Вам когда-нибудь было интересно узнать о том, как работает сокращённое CSS-свойство flex? Оно позволяет задавать значения свойств flex-grow, flex-shrink и flex-basis. Я обратил внимание на то, что данное свойство чаще всего используют в виде flex: 1, что позволяет flex-элементу растягиваться, занимая доступное пространство.



            В этом материале я хочу поговорить о сокращённом свойстве flex и о тех свойствах, значения которых устанавливают с его помощью. Я собираюсь рассказать о том, когда и почему можно пользоваться этими свойствами, приведу практические примеры.
            Читать дальше →
            • +32
            • 6,3k
            • 5
          • Новичкам фондового рынка: честный разговор об облигациях

              Почему люди предпочитают не давать деньги в долг? Потому что сперва даёшь, затем нервничаешь, чтобы вернули в срок, затем, когда не возвращают, как-то неловко намекнуть, а заёмщик и так всеми силами морозится. А если дать в долг государству, крупному банку, любимой ИТ-компании или своему городу? Надёжный заёмщик, гарантированный процент, точные сроки — это заставит задуматься даже самого далёкого от инвестиций человека.

              Если бы я ранжировал инструменты фондового рынка и иные инвестиции по степени их консерватизма, то облигации занимали бы уверенное второе место после банковского депозита. Это популярный консервативный инструмент, который направлен на сохранение средств и получение небольшой доходности (+-значение инфляции, если нет кризиса). Однако если бы всё было так просто, то не стоило посвящать облигациям целую большую статью, всё ограничилось бы инструкцией: облигации РЖД и ОФЗ хорошие, а облигации компаний микрозаймов плохие, выбирайте хорошие, ждите доход. Предлагаю отвлечься от всех дел на 20-30 минут и погрузиться в тему облигаций, тем более что вопрос сохранения денег стоит перед многими нашими читателями. 

              Читать дальше →
            • Ненужные расширения для VS Code

              • Перевод
              Недавно я занялся тщательным исследованием VS Code и сделал несколько интересных находок. Как оказалось, в редакторе есть довольно много возможностей и настроек, позволяющих отлично решать те же задачи, которые решают многие популярные расширения.



              Здесь речь пойдёт о шести сферах применения расширений, в которых эти расширения могут быть заменены стандартными механизмами VS Code.
              Читать дальше →
            • Чек-лист разумной защиты своего ноутбука


                Важный компонент защиты от несанкционированного доступа

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

                Поэтому, я тут подумал и решил собрать в одном месте некий стандартизированный чек-лист по комплексной защите своего ноутбука. Я намеренно отсекаю станционарные ПК, потому что они меньше подвержены угрозам вида «случайно забыл в баре». С 6 килограммами жестких дисков, тепловых трубок и башенным кулером это сделать куда сложнее.

                Я постараюсь пройтись по основным угрозам и методам защиты. Например, люди часто забывают, что вводить пароль под камерой — плохая идея. Буду крайне признателен вашим дополнениям.
                Читать дальше →
              • Структуры данных и алгоритмы, которыми я пользовался, работая в технологических компаниях

                • Перевод
                Пользуетесь ли вы структурами данных и алгоритмами в повседневной работе? Я обратил внимание на то, что всё больше и больше людей считает алгоритмы чем-то таким, чем, без особой связи с реальностью, технические компании, лишь по собственной прихоти, интересуются на собеседованиях. Многие жалуются на то, что задачи на алгоритмы — это нечто из области теории, имеющей слабое отношение к настоящей работе. Такой взгляд на вещи, определённо, распространился после того, как Макс Хауэлл, автор Homebrew, опубликовал твит о том, что произошло с ним на собеседовании в Google:

                Google: 90% наших инженеров пользуются программой, которую вы написали (Homebrew), но вы не можете инвертировать бинарное дерево на доске, поэтому — прощайте.

                Хотя и у меня никогда не возникало нужды в инверсии бинарного дерева, я сталкивался с примерами реального использования структур данных и алгоритмов в повседневной работе, когда трудился в Skype/Microsoft, Skyscanner и Uber. Сюда входило написание кода и принятие решений, основанное на особенностях структур данных и алгоритмов. Но соответствующие знания я, по большей части, использовал для того чтобы понять то, как созданы некие системы, и то, почему они созданы именно так. Знание соответствующих концепций упрощает понимание архитектуры и реализации систем, в которых эти концепции используются.



                В эту статью я включил рассказы о ситуациях, в которых структуры данных, вроде деревьев и графов, а так же различные алгоритмы, были использованы в реальных проектах. Здесь я надеюсь показать читателю то, что базовые знания структур данных и алгоритмов — это не бесполезная теория, нужная только для собеседований, а что-то такое, что, весьма вероятно, по-настоящему понадобится тому, кто работает в быстрорастущих инновационных технологических компаниях.
                Читать дальше →
              • Как нанять 50 синьоров за 43 дня и быстро включить их в процесс разработки?


                  21 июля в наших соцсетях прошел стрим с Андреем Евсюковым, заместителем CTO в Delivery Club. Андрей рассказал, как устроен фреймворк найма в DC и поделился несколькими секретами, как ее оптимизировать, чтобы она работала, как часы. Делимся с вами расшифровкой и записью эфира.
                  Читать дальше →
                • Инвентаризация RAID-массивов LSI в GLPI

                  • Tutorial

                  В своей работе я часто испытываю обсессии по поводу нехватки информации об инфраструктуре, а при увеличении парка обслуживаемых серверов это превращается в настоящую пытку. Даже когда я админил в маленьких организациях, мне всегда хотелось знать, что где стоит, куда воткнуто, кто из людей за какую железку или сервис отвечает, и самое главное — фиксировать изменения в этом всем. Когда приходишь в новое место и сталкиваешься с каким-нибудь инцидентом, уйма времени уходит именно на поиск этой информации. Далее я расскажу, с чем мне пришлось столкнуться в RuVDS, и как решил проблему, обозначенную в заголовке.
                  Читать дальше →
                • Веб-разработчику: 10 полезных инструментов

                  • Перевод
                  Статья, перевод которой мы публикуем сегодня, посвящена 10 полезным инструментам, которые предназначены для веб-разработчиков. Автор материала считает, что это — как раз такие инструменты, которые позволяют, как говорится, «работать с умом, а не до ночи».


                  Читать дальше →
                  • +29
                  • 12,6k
                  • 5
                • Вы просили подсказку? Мы ее вам дадим

                    UPD ЛАЗЕР ВЗЛОМАН!

                    Гиря, летящая в аквариум на сервер, его уничтожение, короткое замыкание и пожар через полтора часа, отсчет пошел. Enjoy the show!



                    Присоединиться к зрителям можно в дискорде.

                    Вы далеко зашли и отгадали почти все загадки, но остановились на самом простом и одновременно самом сложном.
                    Читать дальше →
                  • Отказ от create-react-app и создание собственного шаблона для React-приложений

                    • Перевод
                    Автор статьи, перевод которой мы сегодня публикуем, предлагает React-разработчикам отойти от использования create-react-app (CRA) и создать собственный шаблон для React-приложений. Здесь речь пойдёт о преимуществах и недостатках CRA, а так же будет предложено решение, которое способно заменить create-react-app.


                    Читать дальше →
                  • Заметки Дата Саентиста: маленькие утилиты — большая польза


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

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

                      Tools — learn the tools — все написанное субъективно и основано исключительно на личном опыте: помогло мне может быть поможет и вам.
                      Читать дальше →
                      • +39
                      • 5,5k
                      • 5
                    • 8 ML/AI-проектов, которые украсят ваше портфолио

                      • Перевод
                      Автор материала, перевод которого мы сегодня публикуем, предлагает вниманию читателей 8 идей проектов в сферах машинного обучения и искусственного интеллекта. Описание идей сопровождается ссылками на дополнительные материалы. Реализации этих идей способны украсить портфолио проектов профильного специалиста.


                      Читать дальше →
                    • VPS на Linux с графическим интерфейсом: запускаем сервер X2Go на Ubuntu 18.04


                        Настройку VNC и RDP на виртуальном сервере мы уже освоили, осталось изучить еще один вариант подключения к виртуальному рабочему столу Linux. Возможности созданного компанией NoMachine протокола NX достаточно интересны, к тому же он хорошо работает через медленные каналы. Фирменные серверные решения стоят дорого (клиентские бесплатны), но существует и свободная реализация, о которой пойдет речь в этой статье — система X2Go. Она отпочковалась от проекта с открытым исходным кодом FreeNX, когда NoMachine прекратила его поддерживать и отпустила в свободное плавание.
                        Читать дальше →
                      • Хакните и остановите шредер, в который загружено 200к, устройте короткое замыкание и пожар

                          Сыграем в игру?

                          image

                          Вам наверное интересно, где вы окажетесь, кликнув на ссылку? Мы скажем вам где.

                          Это трансляция из офиса веб-студии Сокол, предоставляющей услуги подкроватного хостинга. Комната наполнена iot-устройствами, которые полностью управляются с сайта компании.

                          Владелец офиса уехал отдыхать на Бали, но успел построить продвинутую систему слежения и защиты от грабителей. Свои деньги, 200 000 рублей, честно заработанные на создании убогих сайтов, он засунул в шредер — только офис попытаются взломать, деньги начнут уничтожаться и не достанутся никому.

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

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

                        Самое читаемое